diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000000..235b8dd0e6 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,14 @@ + +version: 2 +jobs: + build: + machine: + image: ubuntu-2204:edge + steps: + - checkout + - run: + name: Build Docker image for running java tests + command: docker build -t plaid-java . + - run: + name: Run java tests in Docker + command: docker run --rm -e PLAID_CLIENT_ID=$PLAID_CLIENT_ID -e PLAID_SECRET=$PLAID_SECRET plaid-java diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000..46d7b45769 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +.git/ +target/ \ No newline at end of file diff --git a/.github/workflows/add_to_project.yml b/.github/workflows/add_to_project.yml new file mode 100644 index 0000000000..ae7027f57f --- /dev/null +++ b/.github/workflows/add_to_project.yml @@ -0,0 +1,21 @@ +name: Auto Assign to CLIB Project + +on: + issues: + types: [opened] + pull_request: + types: [opened] +env: + MY_GITHUB_TOKEN: ${{ secrets.CLIB_AUTOMATION_TOKEN }} + +jobs: + assign_one_project: + runs-on: ubuntu-latest + name: Assign to One Project + steps: + - name: Assign NEW issues and NEW pull requests to project 1 + uses: srggrs/assign-one-project-github-action@1.2.0 + if: github.event.action == 'opened' + with: + project: 'https://github.com/orgs/plaid/projects/1' + column_name: 'Needs Investigation' diff --git a/.gitignore b/.gitignore index b6c3db0bf8..3ae74e7a7a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ plaid-java.iml *.ipr *.iws - +pom.xml.releaseBackup +release.properties \ No newline at end of file diff --git a/.openapi-generator-ignore b/.openapi-generator-ignore new file mode 100644 index 0000000000..db5fea6b94 --- /dev/null +++ b/.openapi-generator-ignore @@ -0,0 +1,15 @@ +gradle/** +api/** +.gitignore +.travis.yml +build.gradle +build.sbt +git_push.sh +gradle.properties +gradlew +gradlew.bat +README.md +settings.gradle +pom.xml +gradle +api \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b9ea0c476a..9384389e2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5518 @@ +See full changelog for the OpenAPI schema (OAS) [here](https://github.com/plaid/plaid-openapi/blob/master/CHANGELOG.md). + +# 43.0.0 +- Updating to OAS 2020-09-14_1.708.0 + +## OpenAPI Schema Changes +### 2020-09-14_1.708.0 +- [Breaking] Preserve arbitrary JSON value types in `/cra/report/get` product `metadata` and `attributes` maps and scalar values in `/cra/credit_profile/report/get` cash flow and network insight attribute maps generated by client libraries. + +### 2020-09-14_1.707.1 +- Add `increase` to the `processor` enum on `/processor/token/create`, for creating processor tokens for the Increase integration. + +### 2020-09-14_1.707.0 +- Add hidden `user_id` request fields to `/credit/sessions/get` and `/credit/bank_statements/uploads/get`. + +# 42.0.0 +- Updating to OAS 2020-09-14_1.706.1 + +## Breaking changes in this version +- [BREAKING] For `/cra/check_report/create`, replace `CraCheckReportCashflowInsightsGetOptions`, `CraCheckReportIncomeInsightsGetOptions`, `CraCheckReportLendScoreGetOptions`, `CraCheckReportNetworkInsightsGetOptions`, and `CraCheckReportVerificationGetEmploymentRefreshOptions` with the corresponding `CraCheckReportCreate*Options` types. The old types remain available for the deprecated `/get` options, and request JSON is unchanged. (OAS 2020-09-14_1.700.0) +- [BREAKING] Use `ProductsTerminateReasonCode` for `ItemProductsTerminateRequest.reasonCode` and `UserProductsTerminateRequest.reasonCode`; the endpoint-specific wrapper classes were removed. Accepted wire values are unchanged. (OAS 2020-09-14_1.701.1) +- [BREAKING] `FDXInitiatorFiAttribute.value`, its getter, and its setter now use `String` instead of `FDXPartyType`. For example, replace `.value(FDXPartyType.DATA_PROVIDER)` with `.value(FDXPartyType.DATA_PROVIDER.getValue())`. This schema is not referenced by an endpoint. (OAS 2020-09-14_1.703.0) +- [BREAKING] `StudentRepaymentPlan.INTEREST_ONLY` now serializes as `"interest only"` instead of `"interest-only"`, matching the value returned by the API. The Java enum constant is unchanged. (OAS 2020-09-14_1.699.1) + +## OpenAPI Schema Changes +### 2020-09-14_1.706.1 +- Make product `metadata` and `attributes` nullable when unavailable in `/cra/report/get` responses. + +### 2020-09-14_1.706.0 +- Add the `/transfer/return/recover` endpoint, which lets clients report that they have recovered some or all of the loss on a returned guaranteed transfer. +- Add the `guarantee_reimbursed`, `client_return_recovered`, and `plaid_return_recovered` transfer event types, and add a nullable signed `event_amount` field to the transfer event object. + +### 2020-09-14_1.705.4 +- Mark superseded products, endpoints, and fields as `deprecated`: the Beacon product (`/beacon/*` endpoints and webhooks, plus the `beacon_user_id` field on Identity Verification responses); Bank Transfer (except the `/bank_transfer/event/*` endpoints, still used for Auth micro-deposits); `/employers/search`; the legacy Cash Flow Updates webhooks superseded by `CASH_FLOW_INSIGHTS_UPDATED`; and the `PaymentInitiationConsentScope`, `TransferCreditFundsSource`, and `RiskReason` schemas. +- Quote `type: string` certain enum values (Prism version number strings, Freddie Mac "yes/no" API string responses) that YAML parsers were coercing to numbers or booleans. +- Expose `/cra/report/get` and its request/response schemas in generated client libraries. The endpoint remains hidden from public documentation. + +### 2020-09-14_1.705.3 +- Document the `ip_address` field on the `/identity_verification/create` `user` object: accepted only here (not via `/link/token/create`) and captured automatically by the Link SDK, for backend-only integrations that need IP-based risk checks. + +### 2020-09-14_1.705.2 +- Clarified the `/oauth/token` response `token_type` description (it is `Bearer` for OAuth access tokens); dropped the inaccurate "always Bearer" wording. + +### 2020-09-14_1.705.1 +- internal changes only + +### 2020-09-14_1.705.0 +- Type the `product` field of the `CraReportUpdatedWebhook` (`CRA_REPORT`/`CRA_REPORT_UPDATED`) `successful_products`/`failed_products` entries against the `Products` enum instead of a free-form string, matching the sibling `/cra/report/get` product schemas. + +### 2020-09-14_1.704.2 +- internal changes only + +### 2020-09-14_1.704.1 +- internal changes only + +### 2020-09-14_1.704.0 +- internal changes only + +### 2020-09-14_1.703.0 +- Add the `environment` field to the `LinkEventsWebhook` (`LINK`/`EVENTS`) schema, matching actual behavior. +- Change `FDXInitiatorFiAttribute.value` from the `FDXPartyType` enum to a string, matching the sibling `FDXFiAttribute` (this schema is not referenced by any endpoint). +- Fixed a `TransactionsRuleDetails.query` description that referenced a nonexistent `NAME` field (the enum value is `MERCHANT_NAME`), and a `/cra/encompass/get_reports` example whose `report_status` was not a valid value and whose `generated_at` key should be `created_at`. +- Fixed additional example/consistency issues: `/transactions/get` and `/processor/transactions/get` examples now report the correct `total_transactions`; the Identity Verification `Strategy` note references the `watchlist_screening` step; the `US_SDN` watchlist code label is consistent; `SelfieCapture` examples reflect that only one of `image_url`/`video_url` is populated; the `/institutions/get_by_id` example nests `liabilities` correctly; the `/oauth/token` scope description calls `urn:plaid:params:oauth:user-token` a subject token type; and a `/cra/encompass/load/existing` example was corrected to match its schema. + +### 2020-09-14_1.702.4 +- Add `hide_gse_details` to `/cra/check_report/verification/pdf/get`. When `true`, the GSE identifiers (the Report ID and `gse_reference_id`) are omitted from the returned Home Lending Report PDF. Defaults to `false`. These identifiers are always present in the `/cra/check_report/verification/get` JSON response regardless of this field. + +### 2020-09-14_1.702.3 +- Add the `error`, `repairable_items`, and `failed_products` fields to the `CHECK_REPORT_FAILED` and `USER_CHECK_REPORT_FAILED` webhooks. + +### 2020-09-14_1.702.2 +- Add `tax_lots` to the `/investments/holdings/get` sample response, showing both a holding with per-lot detail and a holding with an empty `tax_lots` array. + +### 2020-09-14_1.702.1 +- Update descriptions for the CRA `/get` endpoints. + +### 2020-09-14_1.702.0 +- Add `timestamp` to `/protect/compute` responses to indicate when the Trust Index score and fraud attributes were computed. + +### 2020-09-14_1.701.4 +- Add `ip_address` (optional, nullable) to the `user` object (`IdentityVerificationCreateRequestUser`) on `/identity_verification/create`. Lets backend-only integrations supply the end user's IP address for IP-based risk checks without launching the Link SDK. + +### 2020-09-14_1.701.3 +- Add `exclusion_code` to the `CraPartnerInsightsUltraFicoScoreResult` object, exposing the FICO exclusion code that explains why an UltraFICO® score could not be computed due to consumer-data conditions (e.g. insufficient account history). + +### 2020-09-14_1.701.2 +- Add private-visibility `error`, `repairable_items`, and `failed_products` to the `CHECK_REPORT_FAILED` and `USER_CHECK_REPORT_FAILED` webhooks. + +### 2020-09-14_1.701.1 +- Add the nullable `receiver_details` field to the `BankTransferEvent` schema returned by `/bank_transfer/event/list` and `/bank_transfer/event/sync`, matching what the API already emits. Currently always `null`. +- [Breaking] Change the generated `reason_code` type for `/item/products/terminate` and `/user/products/terminate` from the unusable `ItemProductsTerminateReasonCode` and `UserProductsTerminateReasonCode` wrapper types to `ProductsTerminateReasonCode`. The accepted JSON values are unchanged. +- Make `home_lending_report_options` visible in the docs for `/cra/check_report/create` and `/link/token/create`. + +### 2020-09-14_1.701.0 +- Add `figi` to the `Security` schema: the 12-character OpenFIGI identifier, which stays stable across most corporate actions (ticker/CUSIP/name changes) and is the preferred identifier for tracking a security across its lifecycle. Null until Plaid has enriched the security with FIGI data. + +### 2020-09-14_1.700.1 +- Add the `/sandbox/fdx/consent/seed` endpoint for seeding a test FDX consent grant on Sandbox data partner accounts. Takes `customer_id` and `application_id` (and an optional `consent_id`) and returns the seeded `consent_id`. + +### 2020-09-14_1.700.0 +- [Breaking] Rename the `/cra/check_report/create` request options schemas for `cashflow_insights`, `lend_score`, `network_insights`, `income_insights`, and the Home Lending Report's `employment_refresh_options` to `CraCheckReportCreate*Options`. The JSON request is unchanged. +- Deprecate the request-time generation config on the CRA `/get` endpoints (`options`, `partner_insights`, `employment_refresh_options`); no longer accepted for new clients (created on or after 2026-07-01). + +### 2020-09-14_1.699.6 +- Add `cash advance`, `late fee`, `membership fee`, `returned item fee` to the `transaction_code` enum. + +### 2020-09-14_1.699.5 +- Add `num_i20s_uploaded` to the `document_income_results` object in the `/credit/sessions/get` and `/link/token/get` responses + +### 2020-09-14_1.699.4 +- Add private-visibility scaffolding for the `CRA_REPORT_UPDATED` webhook (`CRA_REPORT` type), fired when a subscribed CRA report is updated; lists the `successful_products` and `failed_products` for the update. Hidden from the public spec/docs until launch (customer-facing entry follows when `x-private-visibility` flips). + +### 2020-09-14_1.699.3 +- Add `kick` to the `processor` enum on `/processor/token/create`, for creating processor tokens for the Kick integration. + +### 2020-09-14_1.699.2 +- Adds `DOCUMENT_TYPE_US_STUDENT_I20` enum value (Form I-20 student document) for document metadata +- Add `/fdx/consents`, `/fdx/consents/{consentId}`, and `/fdx/consents/{consentId}/revocation` for managing FDX consent grants. These endpoints remain hidden from public documentation. + +### 2020-09-14_1.699.1 +- Additions and corrections of enum values returned by API but not mentioned in OpenAPI spec. No actual changes to API behavior. +- `PlaidErrorType`: add 13 error types (`ASSETS_ERROR`, `ENRICH_ERROR`, `STATEMENTS_ERROR`, `RECURRING_TRANSACTIONS_ERROR`, `CRA_MONITORING_ERROR`, `CREDIT_PROFILE_REPORT_ERROR`, `ENCOMPASS_ERROR`, `FRAUD_INSIGHTS_ERROR`, `FREDDIE_MAC_ERROR`, `LINK_DELIVERY_ERROR`, `PROFILE_ERROR`, `TRANSFER_RECURRING_ERROR`, `TRANSFER_REFUND_ERROR` +- Asset Report `warning_code`: add the 5 `BANK_INCOME_INSIGHTS_*` codes +- watchlist `source`: add `retro` enum value +- `TransferNetwork`: add `rfp` enum value (request for payment; closed beta, debit-only) +- `StudentRepaymentPlan.type`: `interest-only` → `interest only` (match the emitted value) + +### 2020-09-14_1.699.0 +- Add support for the Form I-20 US immigration student document on `/credit/payroll_income/get`. This form now returns an `i20` array which extraction data on uploaded I-20 documents. + +# 41.0.0 +- Updating to OAS 2020-09-14_1.698.7 + +## Breaking changes in this version +- [BREAKING] Remove `protect_results` from `LinkSessionResults` in `/link/token/get` responses. The API no longer populates this field. (OAS 2020-09-14_1.697.0) +- [BREAKING] `Recaptcha_RequiredError`: change `http_code` from `string` to `integer`. The API already returns an integer; only the spec was wrong. (OAS 2020-09-14_1.695.0) +- [BREAKING] Replace `report_requested` field with `reports_requested` array field in `/cra/check_report/verification/pdf/get`. (OAS 2020-09-14_1.691.0) +- [BREAKING] Remove `/item/handle_fraud_report` endpoint and its `ItemHandleFraudReportRequest` and `ItemHandleFraudReportResponse` schemas. The endpoint was never wired up for any customer. (OAS 2020-09-14_1.688.9) + +## OpenAPI Schema Changes +### 2020-09-14_1.698.7 +- Add `kanmon` to the `processor` enum on `/processor/token/create`, for creating processor tokens for the Kanmon integration. + +### 2020-09-14_1.698.6 +- Add `natural` to the `processor` enum on `/processor/token/create`, for creating processor tokens for the Natural integration. + +### 2020-09-14_1.698.5 +- Add `pay` to the `processor` enum on `/processor/token/create`, for creating processor tokens for the Pay.com integration. + +### 2020-09-14_1.698.4 +- Remove the 1024-character `maxLength` constraint from `notes` on `/protect/report/create`. + +### 2020-09-14_1.698.3 +- Add `FRAUD_TRANSACTION` to the `reason_code` enum (`ProductsTerminateReasonCode`) accepted by `/item/products/terminate` and `/user/products/terminate`, for terminating an Item due to transaction-level fraud (e.g. unauthorized transactions, card testing, chargebacks, ACH returns, or disputes). +- Add `/cra/report/get` endpoint with CRA report schemas (CraReportGetRequest, CraReportGetResponse, CraReportGetReport, CraReportGetResponseProduct, CraReportGetProductAttributes, CraReportGetProductMetadata). + +### 2020-09-14_1.698.2 +- Correct stylization, acronym expansions, and factual errors in schema descriptions: "Bacs" (was "BACS"), "International Bank Account Number", "Business Identifier Code", "Government-Sponsored Enterprise" (was "Government Sponsored Entity"), "Registered Disability Savings Plan (RDSP)" (was "RSDP"), "FATCA" filing requirement (description only; was "FACTA"), "E.164" phone format (was "E. 164"), and "Social Security". Also clarified that `balances.available` and `balances.current` may both be `null` for limited-purpose checking accounts, and corrected an endpoint reference in a description (`/processor/stripe/bank_account_token/create`), and normalized two endpoint summaries to refer to the product as a singular "Consumer Report", and normalized "realtime" to the hyphenated "real-time" in balance descriptions. No changes to API behavior. + +### 2020-09-14_1.698.1 +- Clarify that `/protect/report/create` requires either `user_id` or at least one supported `incident_event` identifier, and that contextual fields alone do not satisfy this requirement. + +### 2020-09-14_1.698.0 +- Add `guarantee_details` (optional) to `Transfer` and `TransferAuthorization` schemas to surface adaptive guarantee settlement information. Introduces `TransferGuaranteeOutcome` enum, `AuthorizationGuaranteeScheduleItem` and `TransferGuaranteeScheduleItem` objects, `AuthorizationGuaranteeDetails` (outcome + schedule), and `TransferGuaranteeDetails` (guaranteed_amount + schedule). The authorization schedule omits `observation_window_expiration_time`, which is only meaningful on a created transfer. `guarantee_details` is `null` when no guarantee was attempted. The existing `guarantee_decision` and `guarantee_decision_rationale` fields are deprecated in favor of `guarantee_details`. +- Add `requested_amount` to the `proposed_transfer` object on the `/transfer/authorization/create` response. Surfaces the amount the client originally requested, which can differ from the proposed `amount` when only a partial amount is offered for an adaptive guarantee. + +### 2020-09-14_1.697.5 +- Document support for UltraFICO® scores through the CRA Partner Insights product. + +### 2020-09-14_1.697.4 +- Correct spec to reflect two missing enum values: add missing `in_epic` enum value to `IDNumberType` and add missing `IDEMPOTENCY_ERROR` enum value to `ErrorType` schema. No changes to actual API behavior. + +### 2020-09-14_1.697.4 +- Update `Holding.tax_lots` description: remove stale "Absent from the response when the tax lots feature is not yet enabled" clause. + +### 2020-09-14_1.697.3 +- Add `atomicfi` value to the `processor` enum on `/processor/token/create`. + +### 2020-09-14_1.697.2 +- Add `payment` and `refund` values to the `transaction_code` enum, and update the field description to note that `transaction_code` is now populated for certain US institutions, in addition to European institutions. + +### 2020-09-14_1.697.1 +- Add `sub_programs` (`array`) to `WatchlistScreeningHit` and `EntityWatchlistScreeningHit`. Surfaces the sub-program designations published by the issuing authority (for example OFAC SDN program codes like `SDGT`, `SDNTK`, `IRAN`, `RUSSIA-EO14024`). + +### 2020-09-14_1.697.0 +- [Breaking] Remove `protect_results` from `LinkSessionResults` in `/link/token/get` responses. The API no longer populates this field. + +### 2020-09-14_1.696.1 +- Add `tax_lots` array field to `Holding` and introduce `HoldingTaxLot` schema with 7 fields: `institution_lot_id`, `original_purchase_datetime`, `quantity`, `purchase_price`, `cost_basis`, `current_value`, and `position_type`. Introduce `HoldingTaxLotPositionType` enum (`LONG`, `SHORT`). + +### 2020-09-14_1.696.0 +- Add `ACCOUNT_FUNDING` and `AUTO_REFUND` values to the `WalletTransaction.type` enum. These transaction types are already returned for virtual-account unexpected-payment handling and were documented but missing from the spec. + +### 2020-09-14_1.695.0 +- [Breaking] `Recaptcha_RequiredError`: change `http_code` from `string` to `integer`. The API already returns an integer; only the spec was wrong. +- Add `BASE_REPORT_ERROR` to the `error_type` enum (`PlaidErrorType`). +- `IncomeVerificationRiskSignalsStatusWebhook`: fix the `required` list to reference `risk_signals_status` instead of a non-existent `status` field. +- `Recaptcha_RequiredError`: mark `display_message` nullable and remove `link_user_experience`, `common_causes`, and `troubleshooting_steps` from `required`. This schema object is used for documentation only; describing these fields as required is misleading. +- Remove `database_insights_pending` from the `verification_status` description on product-endpoint account schemas — it is only returned in the Link `onSuccess` metadata, not by these endpoints. +- Add `STARTED` and `INTERNAL_ERROR` to the `CreditSessionBankIncomeStatus` enum. +- Add `STARTED` and `INTERNAL_ERROR` to the `CreditSessionBankEmploymentStatus` enum. +- Fix various webhook and error response examples to conform to their schemas. + +### 2020-09-14_1.694.0 +- Add `custom_attributes` field to `TransferAuthorizationCreateRequest`. + +### 2020-09-14_1.693.0 +- Add `reason_codes` array to `CraPartnerInsightsBaseFicoScore` and `negative_reason_codes` / `positive_reason_codes` arrays to `CraPartnerInsightsUltraFicoScore`. The corresponding individual `reason_code_1` through `reason_code_4` and `positive_reason_code_1` through `positive_reason_code_4` fields are now deprecated. + +### 2020-09-14_1.692.7 +- Add `model_version` string field to `PrismInsights` and deprecate the integer `version` field. Required to surface Prism Insights v4.1 and any future non-integeter model versions. + +### 2020-09-14_1.692.6 +- Add private-visibility scaffolding for `POST /fraud_insights/connection_event/send` (501 stub; customer-facing entry follows when `x-private-visibility` flips). + +### 2020-09-14_1.692.5 +- Add `interchecks` value to the `processor` enum on `/processor/token/create`. + +### 2020-09-14_1.692.4 +- Redeclare `name`, `official_name`, `mask`, and `verification_name` on the second `allOf` piece of `InvestmentAccount`, `BusinessAccount`, `AccountIdentity`, and `AccountIdentityMatchScore`. The fields are already declared on `AccountBase`; the redeclaration prevents the `plaid-python` SDK (>= 39.0.0) from routing them through its `additional_properties_type` handler, which upconverts date-shaped string values (e.g. an account literally named `"June - 529"`) into `datetime.date` objects in `to_dict()`. No change to the API response shape. + +### 2020-09-14_1.692.3 +- Add private-visibility scaffolding for `POST /fraud_insights/connection_risk_score/get` (501 stub; customer-facing entry follows when `x-private-visibility` flips). + +### 2020-09-14_1.692.2 +- Update `CraUserCheckReportFailedWebhook` (`USER_CHECK_REPORT_FAILED`) description to document that customers can call `/user/items/get` and inspect non-null `error` objects on the associated Items to retrieve error details, matching the existing guidance on `CraCheckReportFailedWebhook` (`CHECK_REPORT_FAILED`). + +### 2020-09-14_1.692.1 +- Correct the `/statements/download` success response content type from `application/json` to `application/pdf` to match the binary PDF body the endpoint actually returns. + +### 2020-09-14_1.692.0 +- `/cra/check_report/income_insights/get`: `income_streams` is now marked as required on `CraIncomeInsights` and is always present on the response. When there are no income streams for the report, it is returned as an empty array (`[]`) instead of being omitted. + +### 2020-09-14_1.691.2 +- Update `/user/products/terminate` description to clarify which subscription bundles are terminated, the billing impact, and the CRA Monitoring carve-out. +- Restore the `/user/items/remove` description paragraph that points users to `/user/products/terminate` for stopping billing and to the Consumer Service Center for user-initiated data deletion. + +### 2020-09-14_1.691.1 +- Add `frame` value to the `processor` enum on `/processor/token/create`. + +### 2020-09-14_1.691.0 +- [Breaking] Replace `report_requested` field with `reports_requested` array field in `/cra/check_report/verification/pdf/get`. +- Add `income` value to `CraCheckReportVerificationPdfReportType`. + +### 2020-09-14_1.690.1 +- Expose `/user/products/terminate` in the public OpenAPI spec (previously hidden from client libraries). + +### 2020-09-14_1.690.0 +- Add an optional `subscores` object to the `/protect/compute` response and a new `ProtectComputeSubscores` schema. For cash-advance models, exposes per-bucket subscores (`cash_advance_bucket_0_25` through `cash_advance_bucket_400_500`) where each scored bucket is a 0-100 trust index score (higher = lower fraud risk). Both the wrapper `subscores` field and each individual bucket key are omitted from the response when not scored: models that do not produce subscores will not include the `subscores` key in the response at all, and partially-scored responses include only the bucket keys that were scored. + +### 2020-09-14_1.689.0 +- Add optional `user_id` field to `CraCreditProfileReportGetResponse`. + +### 2020-09-14_1.688.10 +- Add `reason_code` enum values to `/item/products/terminate` and `/user/products/terminate` + +### 2020-09-14_1.688.9 +- [Breaking] Remove `/item/handle_fraud_report` endpoint and its `ItemHandleFraudReportRequest` and `ItemHandleFraudReportResponse` schemas. The endpoint was never wired up for any customer. + +### 2020-09-14_1.688.8 +- Expose the `limited_purpose_types` filter on `LinkTokenCreateDepositoryFilter` and `DepositoryFilter`, and the `LimitedPurposeTypes` and `LimitedPurposeType` schemas, in the public OpenAPI spec (previously hidden from client libraries). Used in conjunction with the `limited purpose checking` depository subtype to restrict which kinds of limited purpose checking accounts may be connected in Link. + +### 2020-09-14_1.688.7 +- Add income schema types (`CraVerificationIncome*`) to CRA Home Lending Verification Report +- Add `income` field to `CraVerificationReport` +- Add `INCOME` to `CraCheckReportVerificationGetReportType` enum +- Document that `/sandbox/transactions/create` only applies custom transactions to the depository account on `user_transactions_dynamic` Items + +# 40.2.0 +- Updating to OAS 2020-09-14_1.688.6 + +## OpenAPI Schema Changes +### 2020-09-14_1.688.6 +- Updated `/user_account/session/get` sample response to include `identity_edit_history` + +### 2020-09-14_1.688.5 +- Expose `/cra/credit_profile/report/get` and its request/response schemas in the public OpenAPI spec (previously hidden from client libraries) +- Mark `/credit/bank_income/refresh` as `deprecated: true`. The backend implementation was removed, and the endpoint returns `Unimplemented` at runtime. To refresh Bank Income data, send the user through Link Update Mode, or migrate to CRA Income Insights and call `/cra/check_report/create`. + +### 2020-09-14_1.688.4 +- Document that `/transfer/metrics/get` returns static placeholder values in the Sandbox environment + +### 2020-09-14_1.688.3 +- Mark `/protect/event/send` and `/protect/event/get` as `deprecated: true` + +### 2020-09-14_1.688.2 +- Hide `/protect/event/send` and `/protect/event/get` endpoints from public API docs + +### 2020-09-14_1.688.1 +- Add `/sandbox/item/application/seed` endpoint for seeding connected applications on Permissions Manager sandbox items + +# 40.1.0 +- Updating to OAS 2020-09-14_1.688.0 + +## OpenAPI Schema Changes +### 2020-09-14_1.688.0 +- Add additional fields to CRA Partner Insights UltraFICO response (hidden from docs) + +### 2020-09-14_1.687.1 +- Add `limited purpose checking` to `DepositoryAccountSubtype`, `DepositoryAccount`, and `AccountSubtype` schemas +- Add `limited_purpose_types` filter field to `DepositoryFilter` and `LinkTokenCreateDepositoryFilter` (hidden from docs) +- Add `LimitedPurposeTypes` and `LimitedPurposeType` schemas (hidden from docs) + +### 2020-09-14_1.687.0 +- Add new field `disconnect_time` to `PendingDisconnectWebhook` + +### 2020-09-14_1.686.4 +- Income Insights doc fixes + +### 2020-09-14_1.686.3 +- Update `/cra/check_report/income_insights/get` sample response to V2 schema + +### 2020-09-14_1.686.2 +- Unhide Income Insights V2 fields and hide Income Insights v1 fields + +### 2020-09-14_1.686.1 +- Add `home_lending_report_options` to `CraCheckReportCreateBaseReportOptions` and `LinkTokenCreateRequestCraOptionsBaseReport` for configuring Home Lending Report generation (VOA, Employment Refresh) on base report creation + +# 40.0.0 +- Updating to OAS 2020-09-14_1.686.0 + +## Breaking changes in this version +- [BREAKING] Remove deprecated beta `recurrence` field from `Enrichments` schema in `/transactions/enrich` response and remove `Recurrence` and `RecurringFrequency` schema definitions +- [BREAKING] Update `InvestmentsHoldingsGetResponse`, `InvestmentsTransactionsGetResponse`, `InvestmentsAuthGetResponse`, `ProcessorInvestmentsHoldingsGetResponse`, and `ProcessorInvestmentsTransactionsGetResponse` to use `InvestmentAccount` instead of `AccountBase` +- [Breaking] `CraPartnerInsightsPrism` is now nullable. The `prism` field will be omitted from `/cra/check_report/partner_insights/get` responses when Prism Data was not included in the request. Clients that always expect `prism` to be present should update to handle a null or missing value. +- [Breaking] Remove Plaid Check Score references from the API. Plaid Check Score is not in active use by customers and has been deprecated in favor of the Plaid LendScore. + +## OpenAPI Schema Changes +### 2020-09-14_1.686.0 +- Add Income Insights V2 schemas and fields to client libraries (hidden from docs) +### 2020-09-14_1.685.3 +- Add `cfi_code` field to the Investments `Security` schema. + +### 2020-09-14_1.685.2 +- Add `protect_transactions` to the public `Products` and `UserBasedProducts` enums and expose it in `/link/token/create` product array docs. + +### 2020-09-14_1.685.1 +- Add Item IDs to FAILED CHECK_REPORT webhooks for closed beta + +### 2020-09-14_1.685.0 +- [BREAKING] Remove deprecated beta `recurrence` field from `Enrichments` schema in `/transactions/enrich` response and remove `Recurrence` and `RecurringFrequency` schema definitions + +### 2020-09-14_1.684.1 +- Add missing investment account subtypes to `InvestmentAccountSubtype` and `InvestmentAccountSubtypeStandalone` schemas: `fhsa`, `line of credit`, `roth 403B`, `roth 457b`, `roth pension`, `roth profit sharing plan`, `roth thrift savings plan`, and `thrift savings plan`. Add these subtypes plus `qshr` to the `AccountSubtype` enum. + +### 2020-09-14_1.684.0 +- Add `InvestmentAccountBalance` and `InvestmentAccount` schemas to expose `margin_loan_amount` on investment endpoints +- [BREAKING] Update `InvestmentsHoldingsGetResponse`, `InvestmentsTransactionsGetResponse`, `InvestmentsAuthGetResponse`, `ProcessorInvestmentsHoldingsGetResponse`, and `ProcessorInvestmentsTransactionsGetResponse` to use `InvestmentAccount` instead of `AccountBase` + +### 2020-09-14_1.683.2 + +### 2020-09-14_1.683.1 +- Add version `4.1` to `PrismDetectVersion`, `PrismCashScoreVersion`, `PrismExtendVersion`, and `PrismInsightsVersion` enums for Prism v4.1 support in `/cra/check_report/partner_insights/get`. + +### 2020-09-14_1.683.0 +- Add OpenAPI spec for `/item/products/terminate` and `/item/handle_fraud_report` endpoints + +### 2020-09-14_1.683.0 +- Add `user_id` field to `CreditBankIncomeGetRequest`, `CreditBankIncomePDFGetRequest`, `CreditBankIncomeRefreshRequest`, `CreditBankIncomeWebhookUpdateRequest`, `CreditPayrollIncomeParsingConfigUpdateRequest`, `CreditPayrollIncomeRiskSignalsGetRequest`, `CreditPayrollIncomeGetRequest`, `CreditPayrollIncomePrecheckRequest`, and `CreditPayrollIncomeRefreshRequest`. + +### 2020-09-14_1.682.12 +- Update `with_guarantee` field in `/transfer/authorization/create` with clearer wording + +### 2020-09-14_1.682.11 +- Update `/user/items/remove` description with clearer wording + +### 2020-09-14_1.682.10 +- Add `cfi_code` to the Investments `Security` model. + +### 2020-09-14_1.682.9 +- Make `with_upgraded_user` field in `/user/create` visible in docs + +### 2020-09-14_1.682.8 +- Remove deprecated `prism_products` field from `CraCheckReportCreatePartnerInsightsOptions`, `CraCheckReportPartnerInsightsGetOptions`, `LinkTokenCreateRequestCraOptionsPartnerInsights`, and `LinkTokenCreateRequestCreditPartnerInsights` schemas. Remove deprecated `PrismProduct` enum. Use `prism_versions` instead. + +### 2020-09-14_1.682.7 +[Breaking] `CraPartnerInsightsPrism` is now nullable. The `prism` field will be omitted from `/cra/check_report/partner_insights/get` responses when Prism Data was not included in the request. Clients that always expect `prism` to be present should update to handle a null or missing value. + +### 2020-09-14_1.682.6 + +### 2020-09-14_1.682.5 +Update copy for Layer email availability + +### 2020-09-14_1.682.4 +- Add `link_session_id` field to `ProtectUserEventWebhook` +- + +### 2020-09-14_1.682.3 +[Breaking] Remove Plaid Check Score references from the API. Plaid Check Score is not in active use by customers and has been deprecated in favor of the Plaid LendScore. + +# 39.4.0 +- Updating to OAS 2020-09-14_1.682.2 + +## OpenAPI Schema Changes +### 2020-09-14_1.682.2 +- Add personal_finance_category to BaseReportTransaction model. + +### 2020-09-14_1.682.1 +- Update `ProtectComputeResponse`: promote `score` and `model` to top-level fields, rename `fraud_attributes` to `attributes`, and remove `trust_index` and `subscores` +- Mark `ProtectComputeResponse.score` as nullable so it is omitted from the API response when no trust index score is present, preventing clients from seeing a spurious `"score": 0` + +### 2020-09-14_1.682.0 +- Add `has_null_available_balance` field to `OverrideAccounts` schema. When set to `true`, the Sandbox test account will always return `null` for its available balance. Cannot be set together with `force_available_balance`. + +### 2020-09-14_1.681.9 +- Add `fico` field to `CraCheckReportPartnerInsightsGetPartnerInsights`, `CraCheckReportCreatePartnerInsightsOptions`, and `LinkTokenCreateRequestCraOptionsPartnerInsights` schemas to support UltraFICO score generation; add new `CraPartnerInsightsFicoInput`, `CraPartnerInsightsUltraFicoScoreRequest`, `CraPartnerInsightsBaseFicoScore`, `CraPartnerInsightsUltraFicoScoreVersion`, `CraPartnerInsightsBureau`, and `CraPartnerInsightsBaseFicoScoreVersion` schemas + +### 2020-09-14_1.681.8 +- Update `beta/transactions/rules/v1` endpoints to use `client_user_id` instead of `access_token` +- Split `personal_finance_category` into `pfc_primary_category` and `pfc_detailed_category` on rule request/response schemas; add optional `pfc_version` field +- Rename `TransactionsRuleField` enum value `NAME` to `MERCHANT_NAME` +- Add `updated_at` and `client_user_id` to `TransactionsCategoryRule`; replace `item_id` and `personal_finance_category` + +### 2020-09-14_1.681.7 +- Add `sdk` field to `ProtectModelInputs` on `ProtectComputeRequest`. + +### 2020-09-14_1.681.6 +- Clarify `/protect/compute` `model` field: version suffix is required and must be `major.minor` format; removed references to versionless model names +- Expand `require_extracted_data` field description to document HTTP 400 / `FAILED_PRECONDITION` behavior when set to `true` +- Add readiness error to `/protect/compute` endpoint description: for link-session models, calling the endpoint before the Link session is complete returns HTTP 400 with `error_type` = `INVALID_REQUEST` and `error_code` = `FAILED_PRECONDITION` + +# 39.3.0 +- Updating to OAS 2020-09-14_1.681.5 + +## OpenAPI Schema Changes +### 2020-09-14_1.681.5 +- Add `ELIGIBILITY_FOR_GOVT_BENEFITS` permissible purpose to `ConsumerReportPermissiblePurpose` schema + +# 39.2.0 +- Updating to OAS 2020-09-14_1.681.4 + +## OpenAPI Schema Changes +### 2020-09-14_1.681.4 +- Add `client_user_id` field to `ProtectUserEventWebhook` + +### 2020-09-14_1.681.2 +- Add `edits_current` field to `UserAccountIdentityEditCounts` schema. This field tracks the number of edits made to a specific identity field during the current session. + +### 2020-09-14_1.681.1 +- Add `user_id` field to the following webhook schemas: `SyncUpdatesAvailableWebhook`, `ItemPendingExpirationWebhook`, `ItemErrorWebhook`, `ItemLoginRepairedWebhook`, `InvestmentsTransactionsDefaultUpdateWebhook`, `InvestmentsTransactionsHistoricalUpdateWebhook`, `HoldingsDefaultUpdateWebhook`, `LiabilitiesDefaultUpdateWebhook`, `ItemPendingDisconnectWebhook`, `ItemUserPermissionRevokedWebhook`, `NewAccountsAvailableWebhook`, `UserAccountRevokedWebhook`, `LinkSessionFinishedWebhook` + +### 2020-09-14_1.681.0 +- Add `trust_index_score` field to `risk_check` schema for IDV endpoints. + +### 2020-09-14_1.680.9 +- Add `payee_verification_status` field to `WalletTransaction` schema. This field indicates the result of payee verification checks for EUR payouts. + +# 39.1.0 +- Updating to OAS 2020-09-14_1.680.8 + +## OpenAPI Schema Changes +### 2020-09-14_1.680.8 +- Add `cra_plaid_credit_score` value to Products enum. Note that this value is deprecated and is added only to reflect current API behavior, as it is present in the supported products array returned by insititutions endpoints. `cra_plaid_credit_score` should not be used in any requests to `/link/token/create` and is planned to be removed from the API. + +### 2020-09-14_1.680.7 +- Add `environment` field to `ProtectUserEventWebhook` + +### 2020-09-14_1.680.6 +- Add 'investment_auth' as an available product in the request to `/partner/customer/create` + +### 2020-09-14_1.680.6 +- Add `201` response to `/user/create` + +### 2020-09-14_1.680.5 +- Add `/user/items/remove` endpoint + +### 2020-09-14_1.680.4 +- (hidden) Add `/user/identity/remove` endpoint to allow customers to explicitly purge identity data + +### 2020-09-14_1.680.3 +- Mark `is_investments_fallback_item` as an optional rather than required parameter in the response schema for `/processor/investments/holdings/get` endpoint (not yet currently used in Production by any customers), to achieve consistency with `/investments/holdings/get`. + +### 2020-09-14_1.680.2 +- Add `/user_account/session/event/send` endpoint for Layer customer event tracking + +### 2020-09-14_1.680.1 +- Update /verification/pdf/get endpoint request attribute from `report_type` to `report_requested`. + +# 39.0.0 +- Updating to OAS 2020-09-14_1.680.0 +## Breaking changes in this version +- [Breaking] make user_token not required for `cra/monitoring_insights/get`, `cra/check_report/create` and `cra/monitoring_insights/subscribe` +- [BREAKING] Make Personal Financial Category version fields enums. +- [Breaking] Remove `/user/items/list` endpoint (not used by or exposed to any customers) + +## OpenAPI Schema Changes +### 2020-09-14_1.680.0 +- Add Facial Duplicate data to IDV APIs. + +### 2020-09-14_1.679.1 +- Fix description and summary field for `/user/get` + +### 2020-09-14_1.679.0 +- Fix invalid OpenAPI syntax in `IdentityVerificationListRequest` schema object +- Extensive documentation changes (including field re-ordering) to support new `user_id` and new user APIs + +### 2020-09-14_1.678.3 +- [Breaking] Remove `/user/items/list` endpoint (not used by or exposed to any customers) + +### 2020-09-14_1.678.2 +- Add `required_account_subtypes` and `provided_account_subtypes` to `Error` response object for NO_ACCOUNTS errors (currently only populated when `investments_auth` present in `enabled_products`) + +### 2020-09-14_1.678.1 +- Internal changes only + +### 2020-09-14_1.678.0 +- Add `request_guarantee` to `/transfer/authorization/create` +- Mark `with_guarantee` deprecated in `/transfer/authorization/create` + +### 2020-09-14_1.677.3 +- Add user_id to `/link/token/get` response. +- Remove beta from NewUserID description. + +### 2020-09-14_1.677.2 +- Add user_id to `/sandbox/public_token/create` request object + +### 2020-09-14_1.677.1 +- [BREAKING for Go] Add user_id to `/user/items/get` request object and make user_token optional. + +### 2020-09-14_1.677.0 +- [BREAKING for Go] (beta) Add user_id to `/sandbox/user/reset_login` request object and make user_token optional. + +### 2020-09-14_1.676.0 +- [BREAKING] Make Personal Financial Category version fields enums. + +### 2020-09-14_1.675.0 +- [Breaking for Go] make user_token not required for `sandbox/cra/cashflow_updates/update` + +### 2020-09-14_1.674.1 +- (beta) Add `/user/products/terminate` endpoint + +### 2020-09-14_1.674.0 +- [Breaking] make user_token not required for `cra/monitoring_insights/get`, `cra/check_report/create` and `cra/monitoring_insights/subscribe` + +### 2020-09-14_1.673.4 +- (beta) Remove unused IDENTITY_ERROR error type + +### 2020-09-14_1.673.3 +- Fix validation errors in OpenAPI spec + +### 2020-09-14_1.673.2 +- Add `network_insights` to `cra_options` + +# 38.2.0 +- Updating to OAS 2020-09-14_1.673.1 + +## OpenAPI Schema Changes +### 2020-09-14_1.673.1 +- Add `income_provider` field to `bank_income_sources` objects returned by `/cra/check_report/income_insights/get` + +### 2020-09-14_1.673.0 +- Add `status` field to `/cra/check_report/income_insights/get`'s `bank_income_source` object + +### 2020-09-14_1.672.5 +- Add CRA User webhooks + +### 2020-09-14_1.672.5 +- (beta) Remove references to the `PLAID-NEW-USER-API-ENABLED` header in favor of the `with_upgraded_user` request field + +### 2020-09-14_1.672.4 +- Make `latest_scored_protect_event` visible on `/identity_verification/get`, `/identity_verification/create` and `/identity_verification/retry` response +- Make `user_id` visible on `/link/token/create` response + +### 2020-09-14_1.672.3 +- (beta) removed `IdentityCreationResult` from `/user/create` and `/user/update` + +### 2020-09-14_1.672.2 +- (beta) Add new error type USER_ERROR +- (beta) Add new error type IDENTITY_ERROR + +### 2020-09-14_1.672.1 +- Make `IncomeProvider` nullable in `/cra/check_report/income_insights/get` + +### 2020-09-14_1.672.0 +- Add sub-fields to new Account Insights (Europe only) object: `minimum_balance`, `transfers_in`, `total_income`, and `income_excluding_transfers`. +- Fix `category_details` missing a `type` definition (`type: array`) within the `LoanDisbursementsIndicators` object. +- Add document `issue_date` to Identity Verification endpoints + +### 2020-09-14_1.671.6 +- Add CFU V2 webhook object + +### 2020-09-14_1.671.5 + +### 2020-09-14_1.671.4 + +### 2020-09-14_1.671.4 +- (beta) Rename `require_upgraded_user` boolean field in `/user/create` to `with_upgraded_user` + +### 2020-09-14_1.671.3 +- Add `IncomeProvider` to `/cra/check_report/income_insights/get` + +### 2020-09-14_1.671.2 +- (beta) Add `require_upgraded_user` boolean field to the `/user/create` request + +### 2020-09-14_1.671.1 +- Remove PlaidError schema from irrelevant endpoints + +### 2020-09-14_1.671.0 +- Add missing PlaidError schema to all endpoints + +# 38.1.0 +- Updating to OAS 2020-09-14_1.670.0 + +## OpenAPI Schema Changes +### 2020-09-14_1.670.0 +- Add support for investments to `/cra/check_report/verification/get` + +### 2020-09-14_1.669.0 +- Add `AccountInsights` to `/asset_report/get` + +### 2020-09-14_1.668.3 +- Update `identity_creation_result` to be `null` for V0 `/user/create` routes + +### 2020-09-14_1.668.2 +- (beta) use user_id in `/user/third_party_token/create` + +### 2020-09-14_1.668.1 +- Add `options` for `network_insights` in `link/token/create`, `cra/check_report/create`, and `cra/check_report/network_insights/get` + +### 2020-09-14_1.668.0 + +- Add support for Cashflow Insights and LendScore, including adding `cra_cashflow_insights` and `cra_lend_score` to Products array and creating new `PlaidLendScoreVersion` schema object. +- Documentation-only changes to support a single, shared Signal Rules-based integration path for Balance and Signal Transaction Scores using `/signal/evaluate`. +- Documentation-only changes to support Transfer for Platforms. + +### 2020-09-14_1.667.6 +- (beta) new `/protect/report/create` endpoint + +### 2020-09-14_1.667.5 +- Publish `/transfer/platform/originator/create` to docs +- Publish `/transfer/platform/person/create` to docs +- Publish `/transfer/platform/requirement/submit` to docs + +### 2020-09-14_1.667.4 +- Fixed a broken documentation link + +### 2020-09-14_1.667.3 +- Add cra_partner_insights as possible add_ons for `cra/check_report/pdf/get` + +### 2020-09-14_1.667.2 +- (beta) updated street_1, city, region, and postal_code to no longer be required + +### 2020-09-14_1.667.1 +- (beta) Allow ClientUserIdentityName to be nullable + +# 38.0.0 +- Updating to OAS 2020-09-14_1.667.0 + +## Breaking changes in this version +- (breaking) Remove `cra/check_report/plaid_credit_score/get` +- [BREAKING] Add `item_id` to `/cra/monitoring_insights/subscribe` request + +## OpenAPI Schema Changes +### 2020-09-14_1.667.0 +- Add `errors` field to `institutions` objects in `/partner/customer/oauth_institutions/get` response + +### 2020-09-14_1.666.10 +- Add `cra_update_results` field to `results` objects in `/link/token/get` response + +### 2020-09-14_1.666.9 +- Updated `count` field from `TransferEventSyncRequest` to maximum of 500 and default of 100 + +### 2020-09-14_1.666.8 +- Removed unused `id_numbers` field from `UserCreateRequest` (field was never processed by application logic) +- (beta) updated `ClientUserIdentity.id_numbers` to use `UserIDNumber` from cognito.yml instead of the custom `ClientUserIdentityIdNumber` schema + +### 2020-09-14_1.666.7 +- (beta) remove `ClientUserIdentityAddressType` from `ClientUserIdentityAddress` + +### 2020-09-14_1.666.6 +- (beta) added `primary` boolean to `ClientUserIdentityEmail`, `ClientUserIdentityPhoneNumber`, and `ClientUserIdentityAddress` + +### 2020-09-14_1.666.5 +- (beta) added `SSN` to `ClientUserIdNumberType` + +### 2020-09-14_1.666.4 +- (beta) updated 'IdentityCreationResultType' enums to be capital +- (beta) update `SSN_LAST_4` to `SSN_LAST_FOUR` + +### 2020-09-14_1.666.3 +- Updated `/user/get` `client_user_id` field properties to be nullable +- Removed `/user/get` `updated_at` field nullable property + +### 2020-09-14_1.666.2 +- (beta) Add `cra_lend_score` support to `link/token/create`, `cra/check_report/create`, and `cra/check_report/lend_score/get` +- (breaking) Remove `cra/check_report/plaid_credit_score/get` + +### 2020-09-14_1.666.1 +- (beta) updated `ErrorType` on `IdentityCreationResult` to be optional + +### 2020-09-14_1.666.0 +- (beta) Add `/user/get` endpoint to retrieve user identity and information. + +### 2020-09-14_1.665.6 +- (beta) Add new version of `/user/update` + +### 2020-09-14_1.665.5 +- Mark `expected_settlement_date` deprecated in `transfer` + +### 2020-09-14_1.665.4 +- (beta) updated `UserCreateRequest` to include `identity` +- (beta) updated `UserCreateResponse` to include `identity_creation_result` +- (beta) renamed `UserIdentity` to `ClientUserIdentity` + +### 2020-09-14_1.665.3 +- (beta) created `IdentityCreationResult` shared object + +### 2020-09-14_1.665.2 +- (beta) created `UserIdentity` shared object + +### 2020-09-14_1.665.1 +- Hide `cashflow_insights` references + +### 2020-09-14_1.665.0 +- [BREAKING] Add `item_id` to `/cra/monitoring_insights/subscribe` request + +### 2020-09-14_1.664.1 +- Deprecate baseline values in `/cra/monitoring_insights/get` response + +# 37.1.0 +- Updating to OAS 2020-09-14_1.664.0 + +## OpenAPI Schema Changes +### 2020-09-14_1.664.0 +- Add `investments_auth` to enum values for the `additional_consented_products` array in the `/link/token/create` request schema. + +### 2020-09-14_1.663.3 +- (beta) Add `cra_plaid_credit_score` support to `link/token/create` +- (beta) Add `cra_plaid_credit_score` support to `cra/check_report/create` +- (beta) Add `cra/check_report/plaid_credit_score/get` endpoint + +### 2020-09-14_1.663.2 +- Add `user_id` to `cra/*` endpoints + +### 2020-09-14_1.663.1 +- Add `overdraft` account type to the `LoanAccountSubtype` object, where it was erroneously missing +- Correct missing and incorrect enum values for `ItemConsentedDataScope` object + +### 2020-09-14_1.663.0 +- (beta) Add `/user/items/associate` endpoint + +### 2020-09-14_1.662.1 +- Internal changes only + +### 2020-09-14_1.662.0 +- Add `balance_to_transaction_amount_ratio` to `/signal/evaluate` + +### 2020-09-14_1.661.0 +- Add `personal_finance_category_version` to `/transactions/get`, `/transactions/sync` and `/transactions/enrich` request options as well as version field in response. + +### 2020-09-14_1.660.0 +- Add `gse_options` to `base_report` options in `/link/token/create` and `cra/check_report/create` + +### 2020-09-14_1.659.0 +- Deprecate the `sedol` field in the Investments `Security` object. +- Deprecate the `sedol` field in the Investments `SecurityOverride` object. + +# 37.0.0 +- Updating to OAS 2020-09-14_1.658.0 + +## Breaking changes in this version + +- [BREAKING] To improve consistency and resolve a bug in a third-party client library, changed `MonitoringConsumerReportPermissiblePurpose` schema object title from `ConsumerReportPermissiblePurpose` to `MonitoringConsumerReportPermissiblePurpose`. This may be a breaking change for certain client libraries. + +## OpenAPI Schema Changes +### 2020-09-14_1.658.0 +- (beta) Add `user_id` field to `/session/token/create` request. +- [BREAKING for Go] (beta) Make `user` object optional in `/session/token/create` if `user_id` is included. + +### 2020-09-14_1.657.0 +Add Add `subtype` property to the `Security` model. + +### 2020-09-14_1.656.1 +- Renamed `protect_sdk_session_id` field in the request of `/protect/event/send` to `protect_session_id` for consistency across endpoints. + +### 2020-09-14_1.656.0 +- Added `aamva_verification` object in the responses of `documentary_verification.documents[].analysis`. This impacts the following endpoints: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.655.0 +- Add `max_amount` and `iso_currency_code` to `rfp` in `/transfer/capabilitied/get` response + +### 2020-09-14_1.654.0 +- [BREAKING] To improve consistency and resolve a bug in a third-party client library, changed `MonitoringConsumerReportPermissiblePurpose` schema object title from `ConsumerReportPermissiblePurpose` to `MonitoringConsumerReportPermissiblePurpose`. This may be a breaking change for certain client libraries. + +### 2020-09-14_1.653.0 +- (beta) Add optional `user_id` field to `identity_verification/create` and `identity_verification/list` requests. When `user_id` is present during creation and `client_user_id` is not, the `client_user_id` from the associated user will be set on the created identity verification. If `user_id` is present during creation, the `user` object may not also be present. Modifying user data should be done via the `user/update` endpoint. +- [BREAKING for Go] (beta) Make `client_user_id` optional in `identity_verification/list` if `user_id` is included. +- (beta) Add nullable `user_id` to the response of all of the identity verification endpoints: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.652.3 +- Added support for `cra_monitoring` to `Products` array. + +### 2020-09-14_1.652.2 +- (beta) Add `/user/items/list` endpoint + +### 2020-09-14_1.652.1 +- Add `/transfer/ledger/event/list` endpoint + +# 36.1.0 +- Updating to OAS 2020-09-14_1.652.0 + +## OpenAPI Schema Changes +### 2020-09-14_1.652.0 +- Add optional `cursor` and `count` fields to the `/payment_initiation/recipient/list` request and `next_cursor` to its response + +# 36.0.0 +- Updating to OAS 2020-09-14_1.651.2 + +## Breaking changes in this version +- [BREAKING for Go] (beta) Make `user` object optional in `link/token/create` if `user_id` is included +- [Breaking] Replacing `voe` references to instead be `employment_refresh` in `/cra/check_report/verification/get` and `/cra/check_report/create` + - `/cra/check_report/verification/get`'s `reports_requested` options are now `VOA` and `employment_refresh` + - `voe_options` in the request is now `employment_refresh_options` + - `/cra/check_report/verification/get`'s response now has `report.employment_refresh` instead of `report.voe` + - `gse_options.report_type` in `/cra/check_report/create` are now `VOA` and `employment_refresh` + +## OpenAPI Schema Changes +### 2020-09-14_1.651.2 +- (beta) Add `user_id` field to `link/token/create` request +- [BREAKING for Go] (beta) Make `user` object optional in `link/token/create` if `user_id` is included + +### 2020-09-14_1.651.1 +- Add `error` field to `WALLET_TRANSACTION_STATUS_UPDATE` webhook and to responses of `/wallet/transaction/get` and `/wallet/transaction/list`, containing error details for failed transactions. + +### 2020-09-14_1.651.0 +- Rename all `/verify/client/*` routes to `/protect/client/*` and update request/response body and field names accordingly. + +### 2020-09-14_1.650.1 +- Update description for `days_required` + +### 2020-09-14_1.650.0 +- Add `account_numbers` to `Counterparty` in `/transaction/get` and `/transaction/sync` + +### 2020-09-14_1.649.2 +- Add `InsitutionID` and `InstitutionName` to `/cra/monitoring_insights/get` response + +### 2020-09-14_1.649.1 +- Update max value for `cra_options.days_requested` in `link/token/create` to 731 (2 years + 1 days for leap year) +- Reduce max value for `cra_options.days_required` in `link/token/create` to 184 (most number of days in a 6 month period) from 730 +- Set max value for `days_required` in `cra/check_report/create` to 184 (most number of days in a 6 month period) + +### 2020-09-14_1.649.0 +- Add wire_return_fee to Transfer and Transfer Event objects + +### 2020-09-14_1.648.2 +- Docs-only change to add additional subtypes to the accounts schema + +### 2020-09-14_1.648.1 +- Add `last_successful_update_time` to `/cashflow_report/get` + +### 2020-09-14_1.648.0 +- Add `require_identity` to `cra_options.base_report` in `link/token/create` and `/cra/check_report/create` requests + +### 2020-09-14_1.647.1 +- Update `/transfer/ledger/distribute` summary + +### 2020-09-14_1.647.0 +- Add `webhook_codes` field to `/sandbox/cashflow_updates/update` request + +### 2020-09-14_1.646.0 +- [Breaking] Replacing `voe` references to instead be `employment_refresh` in `/cra/check_report/verification/get` and `/cra/check_report/create` + - `/cra/check_report/verification/get`'s `reports_requested` options are now `VOA` and `employment_refresh` + - `voe_options` in the request is now `employment_refresh_options` + - `/cra/check_report/verification/get`'s response now has `report.employment_refresh` instead of `report.voe` + - `gse_options.report_type` in `/cra/check_report/create` are now `VOA` and `employment_refresh` + +### 2020-09-14_1.645.1 +- Update description of `/transfer/ledger/distribute` + +# 35.0.0 +- Updating to OAS 2020-09-14_1.645.0 + +## OpenAPI Schema Changes +### 2020-09-14_1.645.0 +- Removes the `payment_details` field from `/accounts/balance/get` request +- Removes the `payment_risk_assessment` from `/accounts/balance/get` response + +### 2020-09-14_1.644.1 +- Fixed incorrect event type in example for `ProtectUserEventWebhook`. + +### 2020-09-14_1.644.0 +- [Breaking] For Signal, remove enum values `REAL_TIME_PAYMENTS` and `DEBIT_CARD` as these payment methods are not supported by the Signal product. +- [Breaking] Rename client library `/cra/check_report/create`'s `partner_insights` object to type `CraCheckReportCreatePartnerInsightsOptions` instead of `CraCheckReportPartnerInsightsGetOptions`. All the object fields are identical. +- [Breaking] Rename client library `/cra/check_report/partner_insights/get`'s `option.prism_versions` object to type `PrismVersionsDeprecated` instead of `PrismVersions`. All the object fields' are identical. + +### 2020-09-14_1.642.2 +- Added `ProtectUserEventWebhook`. + +### 2020-09-14_1.642.1 +- Deprecated `/link/token/create`'s `base_report`. Revert erroneous deprecation of `cra_options.base_report`. + +### 2020-09-14_1.642.0 +- Add `error` field to responses of `/payment_initiation/payment/get` and `/payment_initiation/consent/payment/execute` containing error details when the payment fails. + +# 34.0.0 +- Updating to OAS 2020-09-14_1.641.1 + +## Breaking changes in this version +- [Breaking] Add /cashflow_report/transactions/get route, identital to /cashflow_report/get minus days_requested request parameter + +## OpenAPI Schema Changes +### 2020-09-14_1.641.1 +- Fix descriptions for BaseReportAccountMetadata + +### 2020-09-14_1.641.0 +- Deprecated `/link/token/create`'s `cra_options.base_report` object in favor of `cra_options.client_report_id` + +### 2020-09-14_1.640.0 +- [Breaking] Add /cashflow_report/transactions/get route, identital to /cashflow_report/get minus days_requested request parameter +- Remove historical_balances from BusinessAccounts object + +### 2020-09-14_1.639.0 +- Add `webhook` field to `/session/token/create` request + +### 2020-09-14_1.638.6 +- Deprecate Prism Products field from Partner Insights generation and retrieval + +### 2020-09-14_1.638.5 +- Add client report id to partner insights + +### 2020-09-14_1.638.4 +- Remove unused enums for MonitoringInsightsStatus and MonitoringItemStatusCode + +### 2020-09-14_1.638.3 +- Add Prism Detect and Extend cashscores to CRA Partner Insights + +### 2020-09-14_1.638.2 +- (beta) expect a boolean instead of a string in generated client interfaces for PLAID-NEW-USER-API-ENABLED + +# 33.1.0 +- Updating to OAS 2020-09-14_1.638.1 + +## OpenAPI Schema Changes +### 2020-09-14_1.638.1 +- Support for upcoming results in `link/token/get`. + +### 2020-09-14_1.638.0 +- (pre-release) Preparation for upcoming products. + +### 2020-09-14_1.637.6 +- Deprecate `report.items.accounts.account_insights` for `/cra/check_report/base_report/get` + +# 33.0.0 +- Updating to OAS 2020-09-14_1.637.5 + +## Breaking changes in this version +- [BREAKING] (beta) Updated `user_token` field in `UserCreateResponse` to be optional. +- [BREAKING for Go] (beta) Updated `user_token` field in `UserRemoveRequest` to be optional. + +## OpenAPI Schema Changes +### 2020-09-14_1.637.5 +- Fix incorrect placement of `nullable: true` on `AccountBaseNullable` object, making the object actually `nullable`. + +### 2020-09-14_1.637.4 +- Add missing `unsent` value as a possible `verification_status` to reflect actual API behavior. + +### 2020-09-14_1.637.3 +- (beta) Add `PLAID-NEW-USER-API-ENABLED` as a header parameter to `/user/create`. This header is only for the use of customers in the new user API beta; customers should *not* use this parameter unless they have been advised to do so by Plaid. +- (beta) Add `PLAID-NEW-USER-API-ENABLED` as a header parameter to `/user/remove`. This header is only for the use of customers in the new user API beta; customers should *not* use this parameter unless they have been advised to do so by Plaid. + +### 2020-09-14_1.637.2 +- (beta) Add `user_id` to `/session/token/create` response + +### 2020-09-14_1.637.1 +- Add optional `institution_id` to `/item/import` + +### 2020-09-14_1.637.0 +- Add `android_package_name` to `/session/token/create` + +### 2020-09-14_1.636.0 +- Update `average_inflow_amount` to be positive. + +### 2020-09-14_1.635.4 +- [BREAKING] (beta) Updated `user_token` field in `UserCreateResponse` to be optional. +- [BREAKING for Go] (beta) Updated `user_token` field in `UserRemoveRequest` to be optional. +- Other hidden changes. + +### 2020-09-14_1.635.3 +- (beta) Add `user_id` to `/link/token/create` response + +# 32.0.0 +- Updating to OAS 2020-09-14_1.635.2 + +## Breaking changes in this version +- [BREAKING] Move `result` from `triggered_rule_details` to `ruleset` in response of `/signal/evaluate` +- [BREAKING] `client_user_id` is now required for `/session/token/create` + +## OpenAPI Schema Changes +### 2020-09-14_1.635.2 +- Update description of `ruleset.outcome` in `/signal/evaluate` response + +### 2020-09-14_1.635.1 +- Fix description undeprecating `report.items.accounts.attributes` after it was mistakenly deprecated for `/cra/check_report/base_report/get` + +### 2020-09-14_1.635.0 +- Add `expected_funds_available_date` to `transfer` and `sweep` objects in responses for `/transfer/create`, `/transfer/get`, `/transfer/list`, `/transfer/sweep/get`, `/transfer/sweep/list` + +### 2020-09-14_1.634.3 +- Undeprecated `report.items.accounts.attributes` after it was mistakenly deprecated for `/cra/check_report/base_report/get` + +### 2020-09-14_1.634.2 +- Removed `deposit_switch` from the `products` field in the `/link/token/create` request + +### 2020-09-14_1.634.1 +- [BREAKING] Move `result` from `triggered_rule_details` to `ruleset` in response of `/signal/evaluate` + +### 2020-09-14_1.634.0 +- [BREAKING] `client_user_id` is now required for `/session/token/create` + +# 31.0.0 +- Updating to OAS 2020-09-14_1.633.1 + +## Breaking changes in this version +- [BREAKING] Update `account` object to nullable in `/processor/transactions/sync` response +- [BREAKING] Update `webhook` field in `IssuesSubscribeRequest` to be required +- [BREAKING] Correct the schema object returned by `AssetReport` `investments` field -- it is now correctly represented as an `AssetReportInvestments` object, not an `AssetReportInvestmentsTransaction` object, to accurately reflect the API behavior. +- [BREAKING] Date of birth is now required within consumer report user identity for `user/create` and `user/update` +- [BREAKING] Update `posted_date` field on `/statements/list` response to be nullable +- [BREAKING] Updated the `investments` schema returned by `/asset_report/get` (`AssetReportInvestments`) to accurately reflect the actual API behavior, including renaming the schema object +- [BREAKING] Changed `score` in `PlaidCheckScore` from a float to an integer + +## OpenAPI Schema Changes +### 2020-09-14_1.633.1 +- [BREAKING] Update `account` object to nullable in `/processor/transactions/sync` response + +### 2020-09-14_1.633.0 +- Move `user_id` field of `/session/token/create` request to be within `user` + +### 2020-09-14_1.632.6 +- Update descriptions for `CashFlowUpdatesLowBalanceWebhook` and `CashFlowUpdatesLargeDepositWebhook` + +### 2020-09-14_1.632.5 +- Add new `CashFlowUpdatesInsightsWebhook` for Cash Flow Updates + +### 2020-09-14_1.632.4 +- Add `triggered_rule_details` to `/signal/evaluate` response + +### 2020-09-14_1.632.3 +- [BREAKING] Update `webhook` field in `IssuesSubscribeRequest` to be required + +### 2020-09-14_1.632.2 +- Update the `warnings` field in `/cra/check_report/verification/get` response to be required + +### 2020-09-14_1.632.1 +- Add `AT` and `FI` to the list of available countries + +### 2020-09-14_1.632.0 +- Add `user_id` field to `/session/token/create` request + +### 2020-09-14_1.631.0 +- [BREAKING] Correct the schema object returned by `AssetReport` `investments` field -- it is now correctly represented as an `AssetReportInvestments` object, not an `AssetReportInvestmentsTransaction` object, to accurately reflect the API behavior. + +### 2020-09-14_1.630.0 +- Add optional `income_categories` param to `/cra/monitoring_insights/subscribe` request + +### 2020-09-14_1.629.0 +- [Breaking] Date of birth is now required within consumer report user identity for `user/create` and `user/update` + +### 2020-09-14_1.628.4 +- Renamed CRA Cash Flow Updates webhook types + +### 2020-09-14_1.628.3 +- Adde `warnings` to responses for `cra/check_report/income_insights/get`, `cra/check_report/network_insights/get`, `cra/check_report/cashflow_insights/get`, and `cra/check_report/partner_insights/get` + +### 2020-09-14_1.628.2 +- Update description for the `options.add_ons` field in `asset_reports/create` + +### 2020-09-14_1.628.1 +- Add `client_report_id` field to `cra/check_report/create` request and deprecate `base_report.client_report_id` field in `cra/check_report/create`. +- Add `client_report_id` field to `LinkTokenCreateRequestCraOptions` field +- Deprecate `client_report_id` field in `LinkTokenCreateRequestBaseReport` +- Add `client_report_id` field to `CraIncomeInsights` + +### 2020-09-14_1.628.0 +- Add `redirect_uri` field to `/session/token/create` request + +### 2020-09-14_1.627.1 +- Update description of `transfer_id` field on `TransferEvent` schema to be empty string for Plaid Ledger Sweep events + +### 2020-09-14_1.627.0 +- [BREAKING] Update `posted_date` field on `/statements/list` response to be nullable + +### 2020-09-14_1.626.0 +- Add reason_code field to /transfer/cancel request + +### 2020-09-14_1.625.2 +- Add `USER_PERMISSION_REVOKED` and `USER_ACCOUNT_REVOKED` webhook codes to `WebhookCodeEnum` in `SandboxItemFireWebhookRequest` to reflect actual API behavior. + +### 2020-09-14_1.625.1 +- Add new `verification_name` field to `Account` + +### 2020-09-14_1.625.0 +- Add new `posted_date` field to `/statements/list` response + +### 2020-09-14_1.624.0 +- (pre-release) Add `human_review` object to the `analysis` object within each `documentary_verification.documents` object. This change affects the response of all of the identity verification endpoints: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.623.0 + +### 2020-09-14_1.622.0 +- [BREAKING] Updated the `investments` schema returned by `/asset_report/get` (`AssetReportInvestments`) to accurately reflect the actual API behavior, including renaming the schema object +- Updated the Auth descriptions to reflect the fact that the preferred method to enable database and micro-deposit-based Auth verification flows is now the Dashboard, and that Database Insights has been deprecated and replaced by the similar product Database Auth. + +### 2020-09-14_1.621.0 +- [BREAKING] Changed `score` in `PlaidCheckScore` from a float to an integer + +# 30.1.0 +- Updating to OAS 2020-09-14_1.620.0 + +## OpenAPI Schema Changes +### 2020-09-14_1.620.0 +- Add `intent_id` field to `/transfer/event/sync` response + +### 2020-09-14_1.619.1 +- Add new `cashflow_updates` webhook triggers +- Remove `reason` field from `MonitoringInsightsWebhook` + +### 2020-09-14_1.619.0 +- Add `/session/token/create` endpoint + +### 2020-09-14_1.618.2 +- Add `beacon_user_id` to `/beacon/report_syndication/get` and `/beacon/report_syndication/list` response + +### 2020-09-14_1.618.1 +- `/cashflow_report/get` endpoint is added. This includes defining the `CashflowReportGetRequest` and `CashflowReportGetResponse` fields. Adding `access_token` as required field in `CashflowReportRefreshRequest`. + +### 2020-09-14_1.618.0 +- Add `attributes` object to `BaseReport` definition. + +### 2020-09-14_1.617.6 +- `/cashflow_report/refresh` endpoint is added. This includes defining the `CashflowReportRefreshRequest` and `CashflowReportRefreshResponse` fields. + +### 2020-09-14_1.617.5 +- `submitted_at` is added as an optional field to `/signal/decision/report`. + +### 2020-09-14_1.617.4 +- `persistentId` and `isTokenizedAccountNumber` fields now only populated for select institutions in sandbox related to TAN-based institutions (ins_13, ins_56) or the default testing OAuth institution (ins_127287) + +### 2020-09-14_1.617.3 +- Modified how contribution transactions are summed up in `account_details_401k.contribution_details` object in `/investments/auth/get` endpoint. + +### 2020-09-14_1.617.2 +- Updated PrismCashScore and PrismFirstDetect to allow Score in /cra/check_report/partner_insights/get to be nullable + +# 30.0.0 +- Updating to OAS 2020-09-14_1.617.1 + +## Breaking changes in this version +- [Breaking] Removed the deprecated longest_gap_between_transactions, average_inflow_amount, and average_outflow_amount fields from the BaseReportAccountInsights object in the /cra/check_report/base_report/get response. + +## OpenAPI Schema Changes +### 2020-09-14_1.617.1 +- For Plaid Check: `date_of_birth` is now required within the `consumer_report_user_identity` object when creating or updating a user token. + +### 2020-09-14_1.617.0 +- [Breaking] Removed the deprecated longest_gap_between_transactions, average_inflow_amount, and average_outflow_amount fields from the BaseReportAccountInsights object in the /cra/check_report/base_report/get response. + +### 2020-09-14_1.616.0 +- Add `originating_fund_source` to `/wallet/transaction/execute` endpoint. + +### 2020-09-14_1.615.0 +- Add `account_details_401k` objects to `/investments/auth/get` endpoint. + +### 2020-09-14_1.614.1 +- Update `owners` field description for empty case + +### 2020-09-14_1.614.0 +- Add model for the new `retirement_401k` numbers object to the `InvestmentsAuthGetNumbers` schema. + +### 2020-09-14_1.613.0 +- Add `POST /signal/schedule` endpoint + +### 2025-01-27_1.611.0 +- Add `end_to_end_id` to `/payment_initiation/payment/get` + +### 2020-09-14_1.611.0 +- Add RfP to /transfer/capabilities/get + +### 2020-09-14_1.610.2 +- Update `cashflow_updates` docs to reflect proper cadence + +# 29.1.0 +- Updating to OAS 2020-09-14_1.610.1 +- Update versions of okhttp, retrofit2, and gson-fire in pom.xml to address vulnerabilities. + +## OpenAPI Schema Changes +### 2020-09-14_1.610.1 +- Add `funds_available` sweep status and event type + +### 2020-09-14_1.610.0 +- Add `PaymentInitiationConsentStatusUpdateWebhook` definition. + +### 2020-09-14_1.609.0 +- Remove `/profile/get` and `/link/profile/eligibility/check` endpoints + +### 2020-09-14_1.608.0 +- Remove erroneous UserToken object from LinkTokenGetMetadataResponse, as the specification was incorrect and the object was never returned as part of the response. + +### 2020-09-14_1.607.0 +- Add failure_code and description fields to `/transfer/sweep/get` and `transfer/sweep/list` endpoints. Deprecated `ach_return_code` field of the TransferFailure and TransferRefundFailure objects. + +### 2020-09-14_1.606.1 +- Updated description to `funding_account_id` field of `transfer/ledger/deposit` and `transfer/ledger/withdraw` + +### 2020-09-14_1.606.0 +- Add `sandbox/payment/simulate` endpoint to enable testing of payment status transitions. + +### 2020-09-14_1.605.0 +- Add `nsf_overdraft_transactions_count_30d/60d/90d` fields to `attributes` field of `cra/check_report/base_report/get` + +### 2020-09-14_1.604.1 +- Add `account_id` to `/transactions/sync` request `options` object. + +### 2020-09-14_1.603.2 +- Fix incorrect `USER_ACCOUNT_REVOKED` schema and example + +### 2020-09-14_1.603.1 +- Internal changes only + +### 2020-09-14_1.603.0 +- (pre-release) Add `fraud_analysis_details` and `image_quality_details` objects to the `analysis` object within each `documentary_verification.documents` object. These changes affect the response of all of the identity verification endpoints: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.602.1 +- Documentation-only change to `/cra/monitoring_insights/subscribe` for cadence + +### 2020-09-14_1.602.0 +- Added `payer_details` field to `payment_initiation/consent/get` response + +### 2020-09-14_1.601.2 +- Documentation-only change to Investments `Security` object for new Fixed Income fields and sandbox availability + +### 2020-09-14_1.601.1 +- Update descriptions for `/network/status/get` request fields + +### 2020-09-14_1.601.0 +- Clean up legacy `/cra/base_report/*` endpoints from libraries in favor of `/cra/check_report/*` +endpoints. + +### 2020-09-14_1.600.2 +- Update descriptions for `/network/status/get` request and response fields +- Add `nullable: true` to mortgage `account_number` field in the `MortgageLiability` schema to reflect actual behavior. +- Add `transactions_refresh` to `Products` array to reflect actual behavior; this field is not accepted as input to `/link/token/create` but can be part of supported products array in the `Institution` object. + +### 2020-09-14_1.600.1 +- `depository`+`cash management` Accounts are now eligible for Auth data for certain institutions + +### 2020-09-14_1.600.0 +- Added `is_tokenized_account_number` to the `numbers.ach` object + +### 2020-09-14_1.599.0 +- Added `auth_method` field to `Item` object + +### 2020-09-14_1.598.0 +- Add `user_insights_id` to `/cra/monitoring_insights/get` response +- +### 2020-09-14_1.597.0 +- (beta) Add /network/status/get endpoint + +### 2020-09-14_1.596.0 +- Unhide `/sandbox/cra/cashflow_updates/update` + +### 2020-09-14_1.595.0 +- Add `ruleset_key` to `/transfer/authorization/create` request + +### 2020-09-14_1.594.0 +- Deprecated `consumer_dispute_id` field on consumer dispute object + +### 2020-09-14_1.593.0 +- Add `fixed_income` object (which contains the `yield_rate`, `maturity_date`, `issue_date`, and `face_value` fields) to the Security object (Investments) + +### 2020-09-14_1.592.1 + +### 2020-09-14_1.592.0 +- Add `/sandbox/cra/cashflow_updates/update` endpoint + +### 2020-09-14_1.591.1 +- Hide `TransferMigratedFundingAccountIDRequest` from docs + +### 2020-09-14_1.591.0 +- (pre-release) Add overall `risk_level`, and in some cases `factors` to each type of `risk_check` object. Also add `first_party_synthentic_fraud` and `third_party_synthentic_fraud` objects to`risk_check.identity_abuse_signals.synthetic_identity`. These changes affect the response of all of the identity verification endpoints: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.590.0 +- Add `webhook` field to `TransferPlatformOriginatorCreateRequest` + +### 2020-09-14_1.589.0 +- Add `PLATFORM_ONBOARDING_UPDATE` webhook for transfer + +### 2020-09-14_1.588.0 +- Add `/processor/investments/transactions/get` endpoint + +### 2020-09-14_1.587.1 +- Add `institution_name` field in the `Item` object + +### 2020-09-14_1.587.0 +- Add `/processor/investments/holdings/get` endpoint + +# 29.0.0 +- Updating to OAS 2020-09-14_1.586.4 + +## Breaking changes in this version +- [BREAKING] Changed the type returned by `/item/get` from `Item` to `ItemWithConsentFields`. +- [Breaking] Changed `ConsentEventCode` enum values. Replaced `PLAID_END_USER_PRIVACY_POLICY` with `USER_AGREEMENT` +- [Breaking] Created `ItemWithConsentFields`, a new object definition that extends the `Item` object to include 1033-related consent fields. +- [Breaking] Removed the 1033-related consent fields from the `Item` object, ensuring that these fields now only appear in the `ItemWithConsentFields` object within the `/item/get` response. + +## OpenAPI Schema Changes +### 2020-09-14_1.586.4 +- Update `cause` and make it nullable + +### 2020-09-14_1.586.3 +- Update `email` description in `/user_account/session/get` response + +### 2020-09-14_1.586.2 +- Update `event_type` description of `/sandbox/transfer/simulate`. Added `funds_available` to status list + +### 2020-09-14_1.586.1 +- [Breaking] Changed `ConsentEventCode` enum values. Replaced `PLAID_END_USER_PRIVACY_POLICY` with `USER_AGREEMENT` + +### 2020-09-14_1.586.0 +- Add `webhook` field to requests for `/sandbox/transfer/simulate`, `/sandbox/transfer/refund/simulate`, `/sandbox/transfer/ledger/simulate_available` and `/sandbox/transfer/sweep/simulate`. + +### 2020-09-14_1.585.5 +- Correct a typo in /link/token/create description + +### 2020-09-14_1.585.4 +- Updated transition date to move away from deprecated fields in CRA Base Report API + +### 2020-09-14_1.585.3 +- Fixed erroneous missing `last_statement_balance` field in `StudentLoan` object -- field was returned in API but not in specification. + +### 2020-09-14_1.585.2 +- Remove minimum length for `end_customer` in `user/create` + +### 2020-09-14_1.585.1 +- Deprecate `options` in `payment_initiation/consent/create` + +### 2020-09-14_1.585.0 +- [Breaking] Created `ItemWithConsentFields`, a new object definition that extends the `Item` object to include 1033-related consent fields. +- [Breaking] Removed the 1033-related consent fields from the `Item` object, ensuring that these fields now only appear in the `ItemWithConsentFields` object within the `/item/get` response. + +### 2020-09-14_1.584.1 +- Deprecated `version` in `cra/check_report/partner_insights/get` in favor of `model_version` + +### 2020-09-14_1.584.0 +- Made total inflow/outflow amount fields in the `cra/check_report/base_report/get` response nullable + +### 2020-09-14_1.583.1 +- Updated `description` field in `payment_configuration` object in `/link/token/create` to be optional + +### 2020-09-14_1.583.0 +- Added total inflow/outflow amount fields to `attributes` object in the `cra/check_report/base_report/get` response + +### 2020-09-14_1.582.0 +- Added a new field in `/link/token/create` + +### 2020-09-14_1.581.0 +- Update `verify_sms` object in the response of all of the identity verification endpoints to add `redacted_at` timestamp: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.580.4 +- Fixed an incorrect example response in `/user_account/session/get` + +### 2020-09-14_1.580.3 +- Fix wrong nullable annotation in `/signal/evaluate` response + +### 2020-09-14_1.580.2 +- Make `scores` nullable in `/signal/evaluate` and `/processor/signal/evaluate` response + +### 2020-09-14_1.580.1 + - Add new `payer_details` field to `payment_initiation/consent/create` in preparation to new account restrictions + +### 2020-09-14_1.579.1 + - Add new `type` field to `payment_initiation/consent/create` and deprecate the `scopes` field + +### 2020-09-14_1.578.1 +- Update `verify_sms` object in the response of all of the identity verification endpoints to support nullable `verification.phone_number` and expand allowed statuses for `verification.status`: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.578.0 +- Add `verify_sms` object in the response of all of the identity verification endpoints: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.577.1 +- Added support for `signal` to `required_if_supported_products`. +- Added support for `cra_network_insights` to `Products` array. +- Define `MonitoringInsightsWebhook` +- Fix definition for JWTHeader object + +### 2020-09-14_1.577.0 +- Updated description for the `is_primary_account` field of base reports + +### 2020-09-14_1.576.0 +- Expose beacon_user_id in `/identity_verification/*` endpoints +- Added new optional parameter `days_required` to `cra_options` in `/link/token/create` and to `/cra/check_report/create` +- Added new metadata object with `start_date` and `end_date` in the responses for: + - `/cra/check_report/base_report/get` + - `/cra/check_report/income_insights/get` + - `/cra/check_report/partner_insights/get` + +### 2020-09-14_1.575.1 +- Update `date_of_birth` field description in `user/create` + +# 28.0.0 +- Updating to OAS 2020-09-14_1.575.0 + +## Breaking changes in this version +### 2020-09-14_1.567.0 +- [BREAKING] removed `products` field from `cra/check_report/create` request + +## OpenAPI Schema Changes +### 2020-09-14_1.575.0 +- Add `primary_account_score` and `is_primary_account` fields to the `cra/check_report/base_report/get` response + +### 2020-09-14_1.574.1 +- Add `FAILED` enum for Monitoring + +### 2020-09-14_1.574.0 +- Make `MonitoringInsights` nullable + +### 2020-09-14_1.573.2 +- Update session results array fields in `/link/token/get` response to be required + +### 2020-09-14_1.573.1 +- mark `category_id` in BaseReport transaction as nullable +- Update `date_of_birth` description in `user/create` + +### 2020-09-14_1.573.0 +- Removed `is_missing_income` from `/cra/monitoring_insights/get` + +### 2020-09-14_1.572.0 +- Add `uuid` validation for `subscription_id` in `/cra/monitoring_insights/get` +- Add `ConsumerReportPermissiblePurpose` to `CraMonitoringInsightsGetRequest` +- Add `HistoricalAnnualIncome` insight + +### 2020-09-14_1.571.0 +- Add `attributes` and `nsf_overdraft_transactions_count` to `cra/check_report/base_report/get` + +### 2020-09-14_1.570.3 +- Update product list for `/partner/customer/create` + +### 2020-09-14_1.570.2 +- Add `predicted_next_date` field to `/transactions/recurring/get` + +### 2020-09-14_1.570.1 +- Add `end_customer` hidden field to `user/create` for client RealPage + +### 2020-09-14_1.569.5 +- Show `date_of_birth` on the open API doc + +### 2020-09-14_1.569.4 +- Add `ssn_last_4` to ConsumerReportUserIdentity + +### 2020-09-14_1.569.3 +- Add `USER_FRAUD_ALERT` to BaseReportWarningCode + +### 2020-09-14_1.569.2 +- Removed erroneous `required` attribute from `request_id` field in LinkMetadataEvent object. + +### 2020-09-14_1.569.1 +- Add `processing_mode` field to the `PaymentInitiationConsentPaymentExecuteRequest` object for the `/payment_initiation/consent/payment/execute` endpoint + +### 2020-09-14_1.568.1 +- Updated description of CRA Base Report API fields with new deprecation date + +### 2020-09-14_1.568.0 + - Add `name` object to the `extracted_data` within each `documentary_verification.documents` object in the response of all of the identity verification endpoints: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.567.5 +- Add `error_reason` to `/cra/check_report/partner_insights/get` + +### 2020-09-14_1.567.4 +- [internal only] Hiding plaid_check_score_version from docs + +### 2020-09-14_1.567.3 +- Update description for `email` field in `/identity_verification/create` and `/identity_verification/retry` to include link to RFC specification on email format + +### 2020-09-14_1.567.2 +- Publish processor Paynote + +### 2020-09-14_1.567.1 +- Update description for `add_ons` field in `/asset_report/create` + +### 2020-09-14_1.566.0 +- Added `status` to the `MonitoringInsightsWebhook` object +- Changed `webhook_code` to be deterministic + +### 2020-09-14_1.565.1 +- Update `days_available` field description for Asset Reports and CRA Base Reports. + +# 27.0.0 +- Updating to OAS 2020-09-14_1.565.0 + +## Breaking changes in this version +### 2020-09-14_1.156.2 +- [BREAKING] Remove `from_client_id` and `to_client_id` from `/transfer/ledger/distribute` request +- Add `from_ledger_id` and `to_ledger_id` to `/transfer/ledger/distribute` request +- Add `ledger_id` in transfer routes response examples + +### 2020-09-14_1.561.0 +- [BREAKING] Add `authorization_id` to /transfer/get request and make `transfer_id` optional. + +### 2020-09-14_1.559.0 +- Add `name`, `is_default` to /transfer/ledger/get response +- [BREAKING] Move `ledger_id` from nested `balance` struct to top level in /transfer/ledger/get response + +## OpenAPI Schema Changes +### 2020-09-14_1.565.0 +- Removed `deposit_switch` from the `products` field in the `/link/token/create` request +- Deprecated DepositSwitch endpoints, requests and response + +### 2020-09-14_1.564.0 +- add `/issues/get`, `/issues/search`, and `/issues/subscribe` for Support API endpoints. + +### 2020-09-14_1.563.0 +- Update fields on `item` object in `/item/get` response + - Add `consented_use_cases` field + - Add `consented_data_scopes` field + - Add `created_at` field + - Update descriptions for `consented_products` and `consent_expiration_time` fields +- Add `/consent/events/get` endpoint + +### 2020-09-14_1.157.1 +- Internal changes + +### 2020-09-14_1.157.0 + - (pre-release) Add `facial_analysis` to the `analysis` within each `selfie_check.selfies` object in the response of all of the identity verification endpoints: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.156.1 +- Update `account type schema` link to reference the correct URL. + +### 2020-09-14_1.562.0 +- Add `data_sources` object to the `/investments/auth/get` response + - `data_sources` object contains the `numbers`, `owners`, and `holdings` fields + +### 2020-09-14_1.560.0 +- Add `pay_by_bank` to product enum list + +### 2020-09-14_1.558.0 +- Add `liveness_check` to the `analysis` within each `selfie_check.selfies` object in the response of all of the identity verification endpoints: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.557.2 +- Internal changes only + +### 2020-09-14_1.557.1 +- Internal changes only + +### 2020-09-14_1.557.0 +- Add `ledger_id` to /transfer/ledger/get response + +# 26.0.0 +- Updating to OAS 2020-09-14_1.556.0 + +## Breaking changes in this version + +### 2020-09-14_1.548.0 +- [BREAKING] Changed fields of `CraMonitoringGetResponse` to be simple `objects` instead of `arrays` +- [BREAKING] Moved `income_sources` to the `income` module in the response + +### 2020-09-14_1.545.0 +- [BREAKING] Rename network attributes to network insights in the `cra/check_report/network_insights/get` schemas + +### 2020-09-14_1.543.2 +- [Breaking] Added `data_breach` report type to BeaconReport response object + +### 2020-09-14_1.540.2 +- [Breaking] Updated `document_status` field in `identity/document/upload` to include parsing_type + +## OpenAPI Schema Changes +### 2020-09-14_1.556.0 +- Added plural named array fields to `BaseReportAccountInsights` in /cra/base_report/get + +### 2020-09-14_1.555.0 +- Add `require_all_items` field to /asset_report/create + +### 2020-09-14_1.554.0 +- Add `sector` and `industry` properties to the `Security` model. + +### 2020-09-14_1.553.0 +- Add `ISSUE_RESOLVED` webhook + +### 2020-09-14_1.552.0 +- Add `ytd_amount` to `PaystubOverrideEarningsTotal` in /credit/payroll_income/get + +### 2020-09-14_1.551.0 +- Internal changes only + +### 2020-09-14_1.550.0 +- Add `/fdx/recipient` and `/fdx/recipients` endpoints + +### 2020-09-14_1.549.0 +- Made fields required instead of omitempty for CRA Income Insights Transactions + +### 2020-09-14_1.548.4 +- Set CreditAmountWithCurrency fields as required + +### 2020-09-14_1.548.3 +- Added missing `LOGIN_REPAIRED` enum value to possible webhook codes for `/sandbox/item/fire_webhook` request in order to match endpoint description. + +### 2020-09-14_1.548.2 +- [BREAKING] Moved `forecasted_monthly_income` to be a level higher. + +### 2020-09-14_1.548.1 +- Made the fields in account_insights array fields as required. + +### 2020-09-14_1.548.0 +- [BREAKING] Changed fields of `CraMonitoringGetResponse` to be simple `objects` instead of `arrays` +- [BREAKING] Moved `income_sources` to the `income` module in the response + +### 2020-09-14_1.547.2 +- Add `cra_item_add_results` field to `results` object in `/link/token/get` response. + +### 2020-09-14_1.547.1 +- Increase `/wallet/transactions/list` cursor size to 1024 characters. + +### 2020-09-14_1.547.0 +- Add `ledger_id` to the request and response of a number of transfer endpoints. + +### 2020-09-14_1.546.0 +- Added `WalletTransactionRelation` object. +- Added `related_transactions` field to WalletTransaction object. + +### 2020-09-14_1.545.3 +- Some description updates to CRA Base Report fields + +### 2020-09-14_1.545.2 +- Updated phone number examples in Identity Verification endpoints. + +### 2020-09-14_1.545.1 +- Add `update.item_ids` field to `/link/token/create` request. + +### 2020-09-14_1.545.0 +- [BREAKING] Rename network attributes to network insights in the `cra/check_report/network_insights/get` schemas + +### 2020-09-14_1.544.0 +- Added `is_shareable` field to the `/identity_verification/retry` endpoint + +### 2020-09-14_1.543.2 +- [Breaking] Added `data_breach` report type to BeaconReport response object + +### 2020-09-14_1.543.1 +- Added `consumer_statement` field to `Account` in `BaseReport` +- make `warnings` for BaseReportGetResponse required + +### 2020-09-14_1.543.0 +- Add `/network_insights/report/get` + +### 2020-09-14_1.542.0 +- Added `error_code_reason` field to plaidError + +### 2020-09-14_1.541.1 +- Add `update.user` field to `/link/token/create` request. + +### 2020-09-14_1.541.0 +- (pre-release) Add `reauthorization_enabled` field to /link/token/create request + +### 2020-09-14_1.540.2 +- [Breaking] Updated `document_status` field in `identity/document/upload` to include parsing_type + +### 2020-09-14_1.540.1 +- Added `MonitoringInsightsWebhook` +- Added `webhook` field in `cra/monitoring_insights/subscribe` + +### 2020-09-14_1.540.0 +- Added `file_type` field to `/credit/payroll_income/risk_signals/get` + +### 2020-09-14_1.539.0 +- Add `authorization_usage` field to the `transfer/metrics/get` response + +### 2020-09-14_1.538.0 +- Added cra/monitoring_insights/subscribe +- Added cra/monitoring_insights/unsubscribe +- Added cra/monitoring_insights/get + +### 2020-09-14_1.537.0 +- Added depository_accounts to Beacon +- Added event_date to BeaconReports + +### 2020-09-14_1.536.0 +- Internal changes only + +### 2020-09-14_1.535.3 + +- Added missing values to `PlaidErrorType` enum. + +### 2020-09-14_1.535.2 +- Make some `CraBankIncomeSummary` fields visible. +- +### 2020-09-14_1.535.1 + +### 2020-09-14_1.535.0 +- [Breaking for Go] Updated `consumer_report_user_identity` field in `/user/update` to be required to reflect actual API behavior. + +### 2020-09-14_1.534.7 +- Add `stated_account_number_enabled` to `investments_auth` in `LinkTokenCreateRequest` + +### 2020-09-14_1.534.6 +- [Breaking] Updated base report endpoints and objects to include `cra` prefix + +### 2020-09-14_1.534.5 +- Add `enable_multi_item_link` field to `/link/token/create` + +### 2020-09-14_1.534.4 +- Undeprecate `/identity/match`'s `legal_name.is_business_name_detected` + +# 25.0.0 +- Updating to OAS 2020-09-14_1.534.3 + +## Breaking changes in this version +### 2020-09-14_1.532.2 +- [Breaking] Rename `/cra/check_report/network_attributes/get` to `/cra/check_report/network_insights/get` + +### 2020-09-14_1.528.0 +- [Breaking] Renamed `/user_account/session/get` operationId `sessionGet` to `userAccountSessionGet` for consistency with existing API naming scheme. + +### 2020-09-14_1.527.0 +- [Breaking] Removed `development.plaid.com` as a valid server and updated docs to remove references to Development, due to the decomissioning of the Development environment + +### 2020-09-14_1.526.0 +- [Breaking] Renamed `/user_account/session/get` operationId `sessionGet` to `userAccountSessionGet` for consistency with existing API naming scheme. + +## OpenAPI Schema Changes +### 2020-09-14_1.534.3 +- Add 'Beacon' to product enum list and make available in `/link/token/create` products + +### 2020-09-14_1.534.2 +- Mark some `BaseReportAccountInsights` fields as optional. + +### 2020-09-14_1.534.1 + +- Internal changes only + +### 2020-09-14_1.533.1 +- Add `user_action_required` to transfer authorization's `decision` enum. +- Add `authorization_id` to transfer object in `/link/token/create` request. + +### 2020-09-14_1.533.0 +- Made `user` request field optional in `beacon/user/update` + +### 2020-09-14_1.532.4 +- fix `/cra/check_report/pdf/get` external doc url + +### 2020-09-14_1.532.3 +- Docs updates + +### 2020-09-14_1.532.2 +- [Breaking] Rename `/cra/check_report/network_attributes/get` to `/cra/check_report/network_insights/get` + +### 2020-09-14_1.532.1 + +- Internal changes only + +### 2020-09-14_1.531.1 +- Update idempotency key expiration time to 48 hours in `virtual-accounts/#wallet-transaction-execute-request-idempotency-key` + +### 2020-09-14_1.531.0 +- Add `balance_plus` to `products` in `LinkTokenCreateRequest` +- Add `balance_plus` to `additional_consented_products` in `LinkTokenCreateRequest` + +### 2020-09-14_1.530.0 +- Add `/user/remove` endpoint + +### 2020-09-14_1.529.0 +- Added `/sandbox/user/reset_login` endpoint + +### 2020-09-14_1.528.0 +- Added `beacon/user/account_insights/get` endpoint +- Updated `description`field for `access_tokens` in `beacon/user/create` and `beacon/user/update` requests +- [Breaking] Renamed `/user_account/session/get` operationId `sessionGet` to `userAccountSessionGet` for consistency with existing API naming scheme. + +### 2020-09-14_1.527.0 +- [Breaking] Removed `development.plaid.com` as a valid server and updated docs to remove references to Development, due to the decomissioning of the Development environment + +### 2020-09-14_1.526.0 +- [Breaking] Renamed `/user_account/session/get` operationId `sessionGet` to `userAccountSessionGet` for consistency with existing API naming scheme. + +# 24.0.0 +- Updating to OAS 2020-09-14_1.525.1 + +## Breaking changes in this version + +### 2020-09-14_1.525.1 +[Breaking] Renamed `bank_income` to `report` in the `cra/check_report/income_insights/get` response + +### 2020-09-14_1.520.0 + +- [Breaking] Contains fixes to Balance Plus (beta): + - [Breaking] Convert `risk_level` string to an enum object `RiskLevel`. + - [Breaking] Adds missing `required` labels +## OpenAPI Schema Changes +### 2020-09-14_1.525.1 +[Breaking] Renamed `bank_income` to `report` in the `cra/check_report/income_insights/get` response + +### 2020-09-14_1.524.1 + +- Remove `minLength` validations from several attributes. Fixes multiple validation bugs in the ruby client libraries which do not handle `nil` gracefully before this change. + +### 2020-09-14_1.524.0 + +- Add transfer refund event types to TransferEventType enum. + +### 2020-09-14_1.523.0 + +- Added support for the `layer` product. + +### 2020-09-14_1.522.0 + +- Added support for the `/user_account/session/get` API. + +### 2020-09-14_1.521.0 + +- Internal changes only + +### 2020-09-14_1.520.0 + +- [Breaking] Contains fixes to Balance Plus (beta): + - [Breaking] Convert `risk_level` string to an enum object `RiskLevel`. + - [Breaking] Adds missing `required` labels to certain fields within `BalancePlusAttributes`, `AccountsBalanceGetResponsePaymentRiskAssessment`, `AccountsBalanceGetRequestPaymentDetails`, and `RiskReason`. + - Adds missing `additionalProperties` field to `BalancePlusAttributes` + - Fix incorrect response example for Balance Plus + - Docs updates for Balance Plus + +### 2020-09-14_1.519.0 + +- Add `rtp` to network options in `/transfer/intent/create` +- Added `access_tokens` field to `/beacon/user/create` and `/beacon/user/update` requests +- Added `item_ids` to `/beacon/user/*` responses + +### 2020-09-14_1.518.9 + +- Update `description` field for `decision_rationale` in `transfer/authorization/create` response + +### 2020-09-14_1.518.8 + +- Fix incorrect documentation for ENTITY_SCREENING: STATUS_UPDATED webhook which wrongly documented `screening_id` instead of `entity_screening_id` in the payload. + +### 2020-09-14_1.518.7 + +- Internal changes only + +### 2020-09-14_1.518.6 + +- Add `add_ons` in cra/check_report/pdf/get + +### 2020-09-14_1.518.5 + +- Internal changes only + +### 2020-09-14_1.518.4 + +- Add `Recall` as a possible Virtual Account wallet transaction type + +### 2020-09-14_1.518.3 + +- Internal changes only + +### 2020-09-14_1.518.2 + +- Documentation edits to cra endpoints +- Add `income-sensitive repayment` to StudentRepaymentPlan and update description for repayment plan type + +### 2020-09-14_1.518.1 + +- Documentation edits to cra endpoints +- Add item, account, and transaction IDs to `/cra/base_report/get` response + +### 2020-09-14_1.518.0 + +- Add several cra related properties to `/user/create` and `/link/token/create` + +### 2020-09-14_1.517.7 + +- Add `cra/check_report/pdf/get` endpoint + +### 2020-09-14_1.517.6 + +- Add `cra/check_report/base_report/get` endpoint + +### 2020-09-14_1.517.5 + +- Add `error_message` to `document_metadata` object for `credit/payroll_income/get` and `credit/bank_statements/uploads/get` + +### 2020-09-14_1.517.4 + +- Add `production` to the `secrets` object in `/partner/customer/create` response and deprecate `development` + +### 2020-09-14_1.517.3 + +- Add new enums to `canonical_description` in `credit/payroll_income/get`: `RETIREMENT`, `GIG ECONOMY`, and `STOCK COMPENSATION` + +### 2020-09-14_1.517.2 + +- Added `ITEM: EVENTS` webhook and example to documentation + +### 2020-09-14_1.517.1 + +- Added `public_tokens` on `SESSION_FINISHED` webhook +- Deprecated `public_token` on `SESSION_FINISHED` webhook +- Added `ITEM_ADD_RESULT` webhook + +# 23.0.0 +- Updating to OAS 2020-09-14_1.517.0 + +## Breaking changes in this version +### 2020-09-14_1.517.0 +- [Breaking] Update `onExit` field type in `/link/token/get` response from `LinkSessionExit` to `LinkSessionExitDeprecated` + + +## OpenAPI Schema Changes +### 2020-09-14_1.517.0 +- [Breaking] Update `/link/token/get` response structure + +### 2020-09-14_1.516.0 +- Internal changes only + +### 2020-09-14_1.515.0 +- Added `/cra/loans/applications/register` +- Added `/cra/loans/register` +- Added `/cra/loans/update` +- Added `/cra/loans/unregister` + +### 2020-09-14_1.514.2 +- Added `days_since_first_observed transaction` as a field in the Account Risk Insights response. + +### 2020-09-14_1.514.1 +- Update `risk_profile_key`and `RiskProfile` description + +### 2020-09-14_1.514.0 +- Added `transfer/authorization/cancel` endpoint + +### 2020-09-14_1.513.0 +- Added `consumer_report/pdf/get` endpoint + +### 2020-09-14_1.512.0 +- Added support for address and date of birth in `/payment_initiation/payment/reverse` request. + +### 2020-09-14_1.511.0 +- Added `user_token` to `link/token/get` response metadata +- Internal changes + +### 2020-09-14_1.510.2 +- Added `include_insights` to `/credit/relay/get` request +- +### 2020-09-14_1.510.1 +- Add `database_insights_pending` as a potential enum value to `LinkDeliveryVerificationStatus` and `LinkSessionSuccessMetadataAccount.VerificationStatus`. +- Remove `database_insights_pass`, `database_insights_pass_with_caution` and `database_insights_fail` as potential values from `LinkDeliveryVerificationStatus` and `LinkSessionSuccessMetadataAccount.VerificationStatus` + +### 2020-09-14_1.510.0 +- Internal changes only + +### 2020-09-14_1.509.4 +- Internal changes only + +### 2020-09-14_1.509.3 +- Update description of transfer authorization decision code `MANUALLY_VERIFIED_ITEM` + +### 2020-09-14_1.509.2 +- Fixes to `RemovedTransaction` object definition: set `additionalProperties` explicitly to true and list `account_id` and `transaction_id` as `required`. + +### 2020-09-14_1.509.1 +- add `SMS_MICRODEPOSITS_VERIFICATION` to the `webhook_code` field of `/sandbox/item/fire_webhook` + +### 2020-09-14_1.509.0 +- Add `supports_payment_consents` to institution's `payment_initiation_metadata`. + +# 22.0.0 +- Updating to OAS 2020-09-14_1.508.0 + +## Breaking changes in this version +### 2020-09-14_1.504.2 +- [Breaking] Update `network` field type in `/transfer/recurring/create` request from `TransferACHNetwork` to `TransferRecurringNetwork` as recurring now supports rtp. +- [Breaking] Update `network` field type in `RecurringTransfer` and `RecurringTransferNullable` from `TransferACHNetwork` to `TransferRecurringNetwork` as recurring now supports rtp. + +## OpenAPI Schema Changes +### 2020-09-14_1.508.0 +- Add new fields to `/cra/bank_income/get` endpoint + +### 2020-09-14_1.507.3 +- Add `paystub` and `w2` values to custom sandbox configuration schema + +### 2020-09-14_1.507.2 +- Mark `/transfer/balance/get` endpoint deprecated + +### 2020-09-14_1.507.1 +- Update `funds_available` description + +### 2020-09-14_1.507.0 +- Add `funds_available` transfer status and transfer event type + +### 2020-09-14_1.506.0 +- Add `statements` to the `options` field in the request object for `/sandbox/public_token/create` endpoint + +### 2020-09-14_1.505.1 +- Internal changes only + +### 2020-09-14_1.505.0 +- Add `profile` product + +### 2020-09-14_1.504.2 +- [Breaking] Update `network` field type in `/transfer/recurring/create` request from `TransferACHNetwork` to `TransferRecurringNetwork` as recurring now supports rtp. +- [Breaking] Update `network` field type in `RecurringTransfer` and `RecurringTransferNullable` from `TransferACHNetwork` to `TransferRecurringNetwork` as recurring now supports rtp. + +### 2020-09-14_1.504.1 +- Documentation updates for `/transactions/sync` and Database Match / Database Insights (beta). + +### 2020-09-14_1.504.0 +- Add new fields to `/transactions/sync` and `/processor/transactions/sync` endpoints + +### 2020-09-14_1.503.6 +- [Breaking change for Go client library] Make `start_date` and `end_date` required in the `statements` object for the `/link/token/create` endpoint + +# 21.0.0 +- Updating to OAS 2020-09-14_1.503.5 + +### 2020-09-14_1.503.5 +- Improve description for `RiskCheckIdentityAbuseSignals` + +### 2020-09-14_1.503.4 +- Improve description for `TransferNetworkTraceID` + +### 2020-09-14_1.503.3 +- Update description for `TransferNetworkTraceID` + +### 2020-09-14_1.503.2 +- Change `forecasted_average_monthly_income_prediction_intervals` to plural. + +### 2020-09-14_1.503.1 +- Add `has_more` field to /transfer/event/list and /transfer/event/sync to indicate there are more events to be pulled + +### 2020-09-14_1.503.0 +- Add new `/cra/base_report/create` endpoint + +### 2020-09-14_1.502.4 +- Add `sms_microdeposits_verification_enabled` to `auth` object inside `/link/token/create` calls. + +### 2020-09-14_1.502.3 +- Added descriptions for `vested_quantity` and `vested_amount` fields for `investments/holdings/get` +- Removed description for `vested_quantity` and `vested_amount` fields for `HoldingsOverride` object (for sandbox) + +### 2020-09-14_1.502.2 +- [Breaking] Update `network` field type in `/transfer/recurring/create` request from `TransferNetwork` to `TransferACHNetwork` since recurring currently only works for ACH. +- [Breaking] Update `network` field type in `RecurringTransfer` and `RecurringTransferNullable` from `TransferNetwork` to `TransferACHNetwork` since recurring currently only works for ACH. + +### 2020-09-14_1.502.1 +- Update description for `/item/remove` and `/asset_report/remove` + +### 2020-09-14_1.502.0 +- Add `client_report_id` fields to `/link/token/create` and `/cra/base_report/get` + +### 2020-09-14_1.501.2 +- Updating `insights` field in `/cra/partner_insights/get` response to contain both numerical and string values + +### 2020-09-14_1.501.1 +- Enable original description for all customers on `/transactions/get` endpoint + +### 2020-09-14_1.501.0 +[Breaking change for Go client library] Mark `address` field in `/beacon/user/create` as optional + +### 2020-09-14_1.500.0 +- Remove `prime_trust` processor partner + +### 2020-09-14_1.499.2 +- Fix broken link from previous update + +### 2020-09-14_1.499.1 +- Updated doc url for some Transfer and processor endpoints to support documentation reorganization +- Minor documentation updates and clarifications + +# 20.2.0 +- Updating to OAS 2020-09-14_1.499.0 + +## OpenAPI Schema Changes +### 2020-09-14_1.499.0 +- [Breaking change for Go] Make `account_id` optional in `/transactions/recurring/get` endpoint + +### 2020-09-14_1.489.3 +- Update description of `network_trace_id` + +### 2020-09-14_1.489.2 +- Correct documentation to indicate that `assets` is not supported in the `additional_consented_products` field +- Remove `additionalProperties: true` incorrectly applied to `transferIntentGet` object and missed in `2020-09-14_1.352.0`. This will result in more strict type checking for this object, but should not be a breaking change. + +### 2020-09-14_1.498.1 +- Enable original description for all customers + +### 2020-09-14_1.498.0 +- Add `POST /beacon/account_risk/v1/evaluate` endpoint + +### 2020-09-14_1.497.0 +- Add `institution_id` to `processor/account/get` endpoint. + +### 2020-09-14_1.496.5 +- Update the description and enum values for `linked_services` in the response of all of the identity verification endpoints: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.496.4 + Add `POST /beacon/user/history/list` + +### 2020-09-14_1.496.3 +- Add `timestamp` to the beacon user's `audit_trail` object +- Add `version` to the beacon user object. + +# 20.1.0 +- Updating to OAS 2020-09-14_1.496.2 + +## OpenAPI Schema Changes +### 2020-09-14_1.496.2 +- Adds prediction interval to `/cra/bank_income/get` + +### 2020-09-14_1.496.1 +- Update the descriptions for `risk_level` and `score` in `/accounts/balance/get` + +# 20.0.0 +- Updating to OAS 2020-09-14_1.496.0 + +## Breaking changes in this version + +- [Breaking] Introduce a new `AssetReportAccountBalance` object which duplicates the existing `AccountBalance` object with an additional `margin_loan_amount` field. Updated `AccountAssets.balances` to return the new `AssetReportAccountBalance` object instead of the existing `AccountBalance` object. + +## OpenAPI Schema Changes +### 2020-09-14_1.496.0 +- Add `verification_insights` object to `Account` (closed beta feature - Database Insights) +- Add `database_insights_pass`, `database_insights_pass_with_caution`, and `database_insights_fail` as new values for `verification_status` field (closed beta feature - Database Insights) + +### 2020-09-14_1.495.2 +- Add `pending idr` to student loan liability statuses + +### 2020-09-14_1.495.1 +- Add `processor_identity` product + +### 2020-09-14_1.494.1 +- Mark `wire_details` as nullable in the transfer object + +### 2020-09-14_1.494.0 +- Add `vested_quantity` and `vested_value` fields to the `Holding` object. + +### 2020-09-14_1.493.0 +- Add `POST /cra/partner_insights/get` + +### 2020-09-14_1.492.1 +- Added documentation for the `HOSTED_VERIFICATION` webhook. +- Add `wire` to request and response of `/transfer/authorization/create` + +### 2020-09-14_1.492.0 +- Remove `page_count`, `name`, and `status` fields from Identity Document Upload's document metadata. + +### 2020-09-14_1.491.3 +- Increase max length of description field on `/transfer/intent/create` from 8 to 15 + +### 2020-09-14_1.491.2 +- Added documentation for the `securities.type` field in `investments/holdings/get` and `investments/transactions/get` endpoints. + +### 2020-09-14_1.491.1 +- Add new `no_data` type to `name` and `date_of_birth` fields in `documentary_verification.documents[].analysis.extracted_data` in the response of all of the identity verification endpoints: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.491.0 +- Add `identity` object to `link/token/create` request body + +### 2020-09-14_1.490.0 +- Add `events` field to the `sessions` parameter in the `/link/token/get` response + +### 2020-09-14_1.489.1 +- Mark optional `scope` and `reference` fields in `/payment_initiation/consent/payment/execute` as nullable + +### 2020-09-14_1.489.0 +- Add optional `scope` and `reference` fields to `/payment_initiation/consent/payment/execute` + +### 2020-09-14_1.488.0 +- Add optional `item_ids` field to the request of `credit/payroll_income/get` and `credit/bank_statements/uploads/get` + +### 2020-09-14_1.487.2 +- Add `num_1099s_uploaded` to `document_income_results` object in `/credit/sessions/get` response + +### 2020-09-14_1.487.1 +- Correct the Document Income Verification `parsing_config` enum used by `/link/token/create` to contain `risk_signals` instead of `fraud_risk` to match the actual API implementation. +- Dcumentation updates to reflect updates to Signal, including that new Items with Signal should now be created with `signal` in `/link/token/create` instead of using `/signal/prepare`. + +### 2020-09-14_1.487.0 +- [Breaking] Introduce a new `AssetReportAccountBalance` object which duplicates the existing `AccountBalance` object with an additional `margin_loan_amount` field. Updated `AccountAssets.balances` to return the new `AssetReportAccountBalance` object instead of the existing `AccountBalance` object. +- Add `vested_quantity` and `vested_value` fields to the `AssetReportInvestments` object. + +### 2020-09-14_1.486.1 +- Update `bank_income_sources` in CRA Bank Income Get to be required in response since the empty array is being omitted. + +### 2020-09-14_1.486.0 +- Add `requires_real_time_balance_refresh`, `risk_reasons`, `attributes`, `balance_last_updated`, and `score` fields to `/accounts/balance/get` endpoint + +### 2020-09-14_1.485.1 +- Update `legal_name` description in `user` object in `/link/token.create` request + +# 19.3.0 +- Updating to OAS 2020-09-14_1.485.0 + +## OpenAPI Schema Changes +### 2020-09-14_1.485.0 +- Add `/processor/liabilities/get` endpoint + +### 2020-09-14_1.484.1 +- Add `/identity_verification/autofill/create` (closed beta) + +### 2020-09-14_1.484.0 +- Add `/statements/refresh` endpoint + +### 2020-09-14_1.483.2 +- Add `/beacon/duplicate/get` route + +### 2020-09-14_1.483.1 +- Internal changes only + +### 2020-09-14_1.483.0 +- Added net new fields to StatementsAccount object: `account_mask`, `account_subtype`, `account_official_name` + +# 19.2.0 +- Updating to OAS 2020-09-14_1.482.3 + +## OpenAPI Schema Changes +### 2020-09-14_1.482.3 +- Update `description` description for `/transfer/create` + +### 2020-09-14_1.482.2 +- Update /credit/relay/get response example + +### 2020-09-14_1.482.1 +- Update `funding_account_id` description for `/transfer/intent/create` + +### 2020-09-14_1.482.0 +- Adds a new field `payment_details` to `/accounts/balance/get` request +- Adds a new field `payment_risk_assessment` to `/accounts/balance/get` response + +### 2020-09-14_1.481.1 +- Update `USER_ACCOUNT_REVOKED` description and set to visible + +### 2020-09-14_1.481.0 +- Add `available` to balance object in `wallet/get` and `wallet/list` response + +### 2020-09-14_1.480.1 +- Documentation-only change to Investments `Security` object for new fields and sandbox availability + +### 2020-09-14_1.480.0 +- Add `phone_number` to `/transactions/enrich` response + +### 2020-09-14_1.479.0 +- [Breaking change for Go client library] Make `street` and `city` optional in the address attribute of `identity_verification/create` + +### 2020-09-14_1.478.4 +- Add `registration_number` to `/partner/customer/create` request + +### 2020-09-14_1.478.3 + +### 2020-09-14_1.478.2 +- Deprecate `funding_account_id` from `/transfer/recurring/create` request + +### 2020-09-14_1.478.1 +- Description-only changes to support Hosted Link (beta) + +### 2020-09-14_1.478.0 +- Add `market_identifier_code` and `option_contract` fields in the Security (investment) object +- `option_contract` object contains `contract_type`, `expiration_date`, `strike_price`, and `underlying_security_ticker` + +### 2020-09-14_1.477.1 +- Changes `last_user_modified_date` to `last_user_modified_datetime` on transaction stream object. + +### 2020-09-14_1.477.0 +- Bug fix nullability definitions for `/beacon/user/create` and `/beacon/user/update` request payloads + +### 2020-09-14_1.476.1 +- Update Recurring Transaction description + +### 2020-09-14_1.476.0 +- Add `/beacon/user/update` + +### 2020-09-14_1.475.0 +- Add `/beacon/report_syndication/get` route + +### 2020-09-14_1.474.4 +- Add Statements Refresh webhook + +### 2020-09-14_1.474.3 +- Internal changes only + +### 2020-09-14_1.474.2 +- Deprecate `credit_funds_source` in `/transfer/authorization/create` request + +### 2020-09-14_1.474.1 + +- Added `identity_match` to Products schema object + +# 19.1.0 +- Updating to OAS 2020-09-14_1.474.0 + +## OpenAPI Schema Changes +### 2020-09-14_1.474.0 + +- Added `statements/refresh` endpoint + +### 2020-09-14_1.473.0 + +- Add Beacon webhooks + +### 2020-09-14_1.472.0 + +- Change client library visibility of `options.transactions.days_requested` field for `/link/token/create` and `/sandbox/public_token/create` +- Add `options.days_requested` field to `/transactions/get` and `/transactions/sync` + +### 2020-09-14_1.471.0 + +[Breaking change for Go client libraries] Make `products` field in `/institutions/search` request optional to fix https://github.com/plaid/plaid-ruby/issues/476 + +# 19.0.0 +- Updating to OAS 2020-09-14_1.470.0 + +## Breaking changes in this version + +- Update date format in Base reports + +## OpenAPI Schema Changes +### 2020-09-14_1.470.0 +- Add balance insights firleds to CRA Base Reports + +### 2020-09-14_1.469.1 +- Change visibility of `/transactions/recurring/streams/...` endpoints + +### 2020-09-14_1.469.0 +- Update date format in Base reports + +### 2020-09-14_1.468.0 +- [Breaking change for Go client library] Mark `income_verification.access_tokens` and `access_token` nullable in `link/token/create` request, to match the actual behavior of the API. +- Add `other` to `account_filters` in `link/token/create` request + +### 2020-09-14_1.467.0 +- Change `/transactions/recurring/streams/merge` and `/transactions/recurring/streams/update` return type + +### 2020-09-14_1.466.0 +- Add `/transactions/recurring/streams/create`, `/transactions/recurring/streams/merge`, and `/transactions/recurring/streams/update` endpoints + +### 2020-09-14_1.465.0 +- [Breaking change for Go client library] Mark `products`, `required_if_supported_products`, `optional_products`, `additional_consented_products`, and `user.ssn` as nullable in `/link/token/create` request. +- Set `minLength` for `client_name`, `language`, `access_token`, and `user.client_user_id` in `/link/token/create` request, to match actual validation behavior of the API. + +### 2020-09-14_1.464.1 +- Add `webhook_code` to `/sandbox/income/fire_webhook` +- Change `verification_status` to be an optional field in `/sandbox/income/fire_webhook` + +### 2020-09-14_1.464.0 +- Add `/processor/signal/prepare` endpoint. + +### 2020-09-14_1.463.7 +- Internal changes only + +### 2020-09-14_1.463.6 +- Add `database_matched` to `verification_status` for database matched items. + +### 2020-09-14_1.463.5 +- Add `hosted_link.url_lifetime_seconds` to `/link/token/create` request + +### 2020-09-14_1.463.4 +- Add `database_match_enabled` field to `auth` object in `link/token/create` + +### 2020-09-14_1.463.3 +- Mark `RecurringInsightsStream` fields `is_active`, `merchant_name`, and `average_days_apart` as required. + +### 2020-09-14_1.463.2 +- Add `user_id` into the webhook schema for `AssetsProductReadyWebhook` + +### 2020-09-14_1.463.1 +- [Breaking change for Go client library] Mark `access_token` and `account_id` required in `/transfer/create`, to match the actual behavior of the API. + +### 2020-09-14_1.463.0 +- Add is_user_modified and last_user_modified_date to TransactionStream + +### 2020-09-14_1.462.0 +- Update `/beta/transactions/user_insights/v1/get` endpoint with recurring transactions and feature updates. + +### 2020-09-14_1.461.2 +- Clean up description for transfer refund simulate route. + +### 2020-09-14_1.461.1 +- Remove `client_id` and `secret` from required param list of `/transfer/ledger/distribute` + +### 2020-09-14_1.461.0 +- Add `/beacon/user/review` route for updating the status of Beacon Users + +### 2020-09-14_1.460.0 +- Permissions manager API: bug fix: update `date` field in ConnectedApplication schema to `date-time` to match API behavior +- Permissions manager API: add `/item/application/unlink` endpoint + +### 2020-09-14_1.459.2 +- Do not support .docx or .doc file for `/transfer/diligence/document/upload` + +### 2020-09-14_1.459.1 +- Make `products` request parameter for `/partner/customer/create` optional. + +### 2020-09-14_1.459.0 +- Add route `/transfer/ledger/distribute` + +### 2020-09-14_1.458.1 +- Refunds start processing after 4 days (not 3 days). + +### 2020-09-14_1.458.0 +- Remove `account_ids` parameter `/processor/transactions/get` options object +- Change `accounts` response field for `/processor/transactions/get` to `account` + +### 2020-09-14_1.457.4 +Add BASE_REPORT_WARNING warning type + +### 2020-09-14_1.457.3 +Add `BE` to the list of available countries + +### 2020-09-14_1.457.2 +- Add `access_tokens` field to `/link/token/create` request + +### 2020-09-14_1.457.1 +- Clean up description for transfer ledger simulate routes. + +# 18.0.0 + +- Updating to OAS 2020-09-14_1.457.0 + +## Breaking changes in this version + +- Remove `user_token` field from `asset_report/create` request. +- Renamed `TransactionsEnrichGetRequest` and `TransactionsEnrichGetResponse` objects to `TransactionsEnrichRequest` and `TransactionsEnrichResponse`. + +## OpenAPI Schema Changes + +### 2020-09-14_1.457.0 + +- Remove `account_ids` parameter from `/processor/transactions/recurring/get` request + +### 2020-09-14_1.456.0 + +- Add `hosted_link.completion_redirect_uri` to `link/token/create` request + +### 2020-09-14_1.455.2 + +- Deprecate max_single_transfer_amount and max_monthly_amount in /transfer/configuration/get response. +- Deprecate monthly_transfer_volume in /transfer/metrics/get response. + +### 2020-09-14_1.455.1 + +- Update documentation for `/credit/payroll_income/parsing_config/update` + +### 2020-09-14_1.455.0 + +- Add new /sandbox/transfer/refund/simulate route to simulate refund events in sandbox. + +### 2020-09-14_1.454.0 + +- Add `is_investments_fallback_item` field to `/investments/holdings/get` and `/investments/transactions/get` responses + +### 2020-09-14_1.453.0 + +- Add `/credit/payroll_income/parsing_config/update` for updating the parsing configuration for document income verficiations + +### 2020-09-14_1.452.0 + +- Add `warnings` field to `/cra/base_report/get` response + +### 2020-09-14_1.451.0 + +- Add `/beacon/report_syndication/list` for listing `BeaconReportSyndication` objects linked to a specific `BeaconUser` + +### 2020-09-14_1.450.0 + +- [Breaking] Remove `user_token` field from `asset_report/create` request. + +### 2020-09-14_1.449.2 + +- Updates `isin` and `cusip` field descriptions for new call to action. + +### 2020-09-14_1.449.1 + +- Add new refund event types. + +### 2020-09-14_1.449.0 + +- Add `/beacon/report/list` for listing `BeaconReport` objects created for a specific `BeaconUser` + +### 2020-09-14_1.448.0 + +- Make `publisher` field from `FDXNotifications` as optional + +### 2020-09-14_1.447.0 + +- Mark `fraud_amount` as nullable for `BeaconReport` objects in `/beacon/report/create` + +### 2020-09-14_1.446.0 + +- Add `allow_manual_entry` field to `investments` object in `link/token/create` +- Update `/credit/freddie_mac/reports/get` return type data shape to contain one object with both VOA and VOE assets combined + +### 2020-09-14_1.445.0 + +- Add new insights and counterparty fields for Transactions endpoints +- Deprecate legacy category fields for Transactions endpoints + +### 2020-09-14_1.444.0 + +- Add new webhook type `AUTHORIZATION_GRANTED` to `sandbox/item/fire_webhook` + +### 2020-09-14_1.443.0 + +- Add `RETURN` as possible Virtual Account wallet transaction type + +### 2020-09-14_1.442.0 + +- Add `facilitator_fee` field for the Transfers endpoints + +### 2020-09-14_1.441 + +- [Breaking change for Go client library] Update `/transfer/capabilities/get` to no longer accept payment profile token and require an `account_id` and `access_token` +- Update examples for ledger endpoints to be more realistic + +### 2020-09-14_1.440.0 + +- Add `optional_products` parameter to `/link/token/create` request. + +### 2020-09-14_1.439.0 + +- [Breaking] Renamed `TransactionsEnrichGetRequest` and `TransactionsEnrichGetResponse` objects to + `TransactionsEnrichRequest` and `TransactionsEnrichResponse`. + +### 2020-09-14_1.438.1 + +- [Breaking change for Go client library] remove `device`, `user_present` from required request param list of `/transfer/recurring/create` + +### 2020-09-14_1.438.0 + +- Add new `/beta/transactions/user_insights/v1/get` endpoint + +### 2020-09-14_1.437.0 + +- Remove min/max restriction of `days_requested` in OpenAPI. + +### 2020-09-14_1.436.0 + +- Update `days_requested` to be a required field in base reports in `link/token/create` + +### 2020-09-14_1.435.0 + +- Update `/sandbox/transfer/sweep/simulate` to mark `swept` transfers as `swept_settled`. + +### 2020-09-14_1.434.0 + +- Added a new type of webhook for dashboard alerts, `InstitutionStatusAlertWebhook`. + +### 2020-09-14_1.433.0 + +- Update response of `/transfer/authorizarion/create` + +### 2020-09-14_1.432.0 + +- Update `days_requested` in `base_report` in `link/token/create` to enforce a min/max of 1/731 days + +# 17.0.0 + +- Updating to OAS 2020-09-14_1.431.7 + +## Breaking changes in this version + +This version does not contain breaking changes. + +## OpenAPI Schema Changes + +### 2020-09-14_1.431.7 + +- Add processor Zero Hash + +### 2020-09-14_1.431.6 + +- Update response example of `sandbox/transfer/ledger/deposit/simulate` and `sandbox/transfer/ledger/withdraw/simulate` + +### 2020-09-14_1.431.5 + +- Update the description of `sweep.settled` event + +### 2020-09-14_1.431.4 + +- Update description of endpoint `/sandbox/transfer/ledger/simulate_available` + +### 2020-09-14_1.431.3 + +- Deprecate `originator_client_id` in `/transfer/get`, `/transfer/cancel`, and `/transfer/balance/get` + +### 2020-09-14_1.431.2 + +- Docs updates for Statements endpoints + +### 2020-09-14_1.431.1 + +- Remove `balance` field from response of `/sandbox/transfer/ledger/simulate_available` + +### 2020-09-14_1.431.0 + +- Add `/user/update` and update the description for consumer report user identity + +### 2020-09-14_1.430.3 + +- Add `sandbox/transfer/ledger/deposit/simulate` and `sandbox/transfer/ledger/withdraw/simulate` + +### 2020-09-14_1.430.2 + +- Update `transfer/sweep/list` to support filter by `trigger` + +### 2020-09-14_1.430.1 + +- Add `transfer/ledger/withdraw` route + +### 2020-09-14_1.430.0 + +- Add `transfer/originator/funding_account/update` route + +### 2020-09-14_1.429.3 + +- add ledger sweep event types to `TransferEventType` + +### 2020-09-14_1.429.2 + +- Documentation updates for `LOGIN_REPAIRED` webhook and transfer. +- Add `transfer/ledger/deposit` route + +### 2020-09-14_1.429.1 + +- Updated /identity/match's address score threshold recommendation from 80 or above to 70 or above + +### 2020-09-14_1.429.0 + +- [Breaking change for Go client library] For Transfer endpoints that take payment profiles as input, remove `payment_profile` field and make + `account_id` and `access_token` mandatory. The removed field is not in use. +- Mark all payment profile-specific endpoints as `deprecated`. +- Docs updates for Transfer, including clarifying that certain request fields for `/transfer/authorization/create` + are not currently used. +- Propagate Signal docs update from 2020-09-14_1.419.0 to all relevant endpoints. +- Add `institution_not_supported` as a property to `LinkSessionExitMetadata.Status` + +### 2020-09-14_1.428.1 + +- Change `/credit/reports/freddie_mac/get` schema to contain new `ReportingInformationParentIdentifier` field + +### 2020-09-14_1.428.0 + +- Add `verification_report_type` to `asset_report/create` request + +### 2020-09-14_1.427.1 + +- Remove references to the verification `report_type` field in `asset_report/get` and `asset_report/pdf/get` + +### 2020-09-14_1.427.0 + +- Add `/processor/account/get` route + +### 2020-09-14_1.426.0 + +- Add `instant_microdeposits_enabled` field to `auth` object in `link/token/create` + +### 2020-09-14_1.425.0 + +- Add `investments` field to `asset_report/get` response as part of the `items.accounts` object + +### 2020-09-14_1.424.2 + +- Update descriptions of some Transactions endpoint fields + +### 2020-09-14_1.424.1 + +- Add clarification to processor webhook doc that the processor can call it +- Fix `sandbox/transfer/ledger/simulate_available` doc url + +### 2020-09-14_1.424.0 + +- Add `/sandbox/transfer/ledger/simulate_available` route + +### 2020-09-14_1.423.0 + +- Update code of `BaseReportsErrorWebhook` to `ERROR` +- Add new enum to StudentRepaymentPlan and add to description of repayment_plan_type + +### 2020-09-14_1.422.0 + +- Move `BaseReportsProductReadyWebhook` and `BaseReportsErrorWebhook` +- Remove `asset_report_id` and add `user_id` to `BaseReportsErrorWebhook` + +# 16.6.0 + +- Updating to OAS 2020-09-14_1.421.0 + +## OpenAPI Schema Changes + +### 2020-09-14_1.421.0 + +- Update permissible purpose code `LEGITIMATE_BUSINESS_NEED_TENANT_OTHER` to `LEGITIMATE_BUSINESS_NEED_OTHER` + +### 2020-09-14_1.420.1 + +- Add new enums to `canonical_description` in `credit/payroll_income/get` + +### 2020-09-14_1.420.0 + +- Add `database_match_enabled` field to `auth` object in `link/token/create` + +### 2020-09-14_1.419.2 + +- Add `/transfer/ledger/get` route + +### 2020-09-14_1.419.1 + +- Add `submitted` and `not_submitted` to transferDiligenceStatus + +# 16.5.0 + +- Updating to OAS 2020-09-14_1.419.0 + +## OpenAPI Schema Changes + +### 2020-09-14_1.419.0 + +- Update `/signal/decision/report` description + - Overwriting `initiated` field is now supported and no longer returns an `INVALID_FIELD` error + +### 2020-09-14_1.418.0 + +- Add `frequency` to `/transactions/enrich` + +### 2020-09-14_1.417.0 + +- Remove `category`, `category_id`, `transaction_type`, `name`, `payment_meta` fields from Base Report insights + +### 2020-09-14_1.416.0 + +- Add `card_switch` to `/link/token/create` + +### 2020-09-14_1.415.0 + +- Add `consumer_report_permissible_purpose` to `link/token/create` + +### 2020-09-14_1.414.0 + +- Update `currency` on `payment/reverse` and `amount_refunded` on `payment/get` + +# 16.4.0 + +- Updating to OAS 2020-09-14_1.413.0 + +## OpenAPI Schema Changes + +### 2020-09-14_1.413.0 + +- Add `statements` to `/link/token/create` request + +### 2020-09-14_1.412.0 + +- Add `hosted_link_url` to `/link/token/create` response +- Add `hosted_link.delivery_method` to `/link/token/create` + +### 2020-09-14_1.411.0 + +- Add `link_sessions` to `/link/token/get` +- Add `LINK:SESSION_FINISHED` webhook + +# 16.3.0 + +- Updating to OAS 2020-09-14_1.410.1 + +## OpenAPI Schema Changes + +### 2020-09-14_1.410.1 + +- Add `statements` to the list of supported Plaid products in the `/link/token/create` endpoint + +### 2020-09-14_1.410.0 + +- add `/credit/relay/pdf/get` endpoint + +### 2020-09-14_1.409.0 + +- Add `original_client_id` to `/transfer/balance/get` +- Mark `type` optional in `/transfer/balance/get` request + +### 2020-09-14_1.408.0 + +- Add `status` to `document_reference` in `/credit/payroll_income/risk_signals/get` + +### 2020-09-14_1.407.0 + +- Add `consumer_report_user_identity` to `/user/create` + +# 16.2.0 + +- Updating to OAS 2020-09-14_1.406.1 + +## OpenAPI Schema Changes + +### 2020-09-14_1.406.1 + +- Add comment explaining availability of `confidence_level` field for `/transactions/*` endpoints + +### 2020-09-14_1.406.0 + +- Added insights fields to `/cra/base_report/get` + +### 2020-09-14_1.405.0 + +- Update identity/match user.address such that none of the fields are required +- Add `AddressDataNullableNoRequiredFields` + +### 2020-09-14_1.404.1 + +- Allowing null failure_reason for refunds to be displayed +- + +### 2020-09-14_1.404.0 + +- Add `failure_reason` to `/wallet/transaction/get` and `/wallet/transaction/list` endpoint in virtual accounts. + +### 2020-09-14_1.403.1 + +- Add `parsing_config` to `/link/token/create` + +### 2020-09-14_1.403.0 + +- Add `failure_reason` field to refunds for failed and returned refunds + +### 2020-09-14_1.402.0 + +- Add `area_code` match status to the response of the `identity_verification/get` and `identity_verification/list` endpoint + +### 2020-09-14_1.401.0 + +- Add `POST /cra/bank_income/get` + +### 2020-09-14_1.400.0 + +- Add `cra/base_report/get` endpoint + +### 2020-09-14_1.399.0 + +- Add `base_report` field to `/link/token/create` and corresponding Base Report webhooks + +### 2020-09-14_1.398.0 + +- Make CreditBankIncomeWebhookUpdateResponse visible + +### 2020-09-14_1.397.0 + +- Remove extraneous `Item` field from `/processor/transactions/get` response +- Reference new `/processor/token/webhook/update` endpoint in processor Transactions routes. + +### 2020-09-14_1.396.2 + +- Document cash management account support + +### 2020-09-14_1.396.1 + +- Fix document capitalization of `confidence_level` field in `/transactions/enrich` + +### 2020-09-14_1.396.0 + +- Add `/beacon/report/create` + +### 2020-09-14_1.395.0 + +- Add `POST /beacon/user/create` +- Add `POST /beacon/user/get` + +### 2020-09-14_1.394.0 + +- Made `/statements/list` and `/statements/download` APIs for Plaid's Statements PDF beta product available in client SDKs + +### 2020-09-14_1.393.0 + +- Add `date_of_birth` and `address` fields to `documentary_verification.documents[].extracted_data` in the response of all of the identity verification endpoints: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.392.4 + +- Update the following about identity/match name, phone number, email, and address score descriptions: + - Ensure consistent language across all fields + - Include score recommended "match" threshold for all fields. + +### 2020-09-14_1.392.3 + +- Update the `async_update` field description. + +### 2020-09-14_1.392.2 + +- Mark a few response fields as always present in the identity verification API: + - `selfie_check.selfies[].capture.image_url` + - `selfie_check.selfies[].capture.video_url` + - `risk_check.identity_abuse_signals` + - `risk_check.identity_abuse_signals.synthetic_identity.score` + - `risk_check.identity_abuse_signals.stolen_identity.score` + +### 2020-09-14_1.392.1 + +- Documentation updates for the `/link/token/create` endpoint + +### 2020-09-14_1.392.0 + +- Add `confidence_level` field to Counterparty and PersonalFinanceCategory for `/transactions/enrich` + +### 2020-09-14_1.391.3 + +- Remove the `core_attributes` field in `signal_insights` of /transfer/authorization/create + +### 2020-09-14_1.391.2 + +- Update the `pending_manual_verification` field's description in `/auth/get` response + +### 2020-09-14_1.391.1 + +- Update the description of `/investments/transactions/get` + +### 2020-09-14_1.391.0 + +- Update the `async_update` option to be visible in `/investments/transactions/get` + +### 2020-09-14_1.390.1 + +- Update the `signal_insights` field's description in `/transfers/authorization/create` request + +# 16.1.0 + +- Updating to OAS 2020-09-14_1.390.0 + +## OpenAPI Schema Changes + +### 2020-09-14_1.390.0 + +- Add `transfer_id` field to `/transfers/sweep/list` request + +### 2020-09-14_1.389.0 + +- Add `InvestmentsHistoricalUpdateWebhook`, a `HISTORICAL_UPDATE` webhook of type `INVESTMENTS_TRANSACTIONS`. + +### 2020-09-14_1.388.1 + +- Add `status` field to a sweep object. Add `status` field to `/transfers/sweep/list` request + +### 2020-09-14_1.388.0 + +- [Breaking] Remove `asset_report_token` as required field in `/asset_report/get` and mark as nullable + +### 2020-09-14_1.387.1 + +- Allow empty `mask` on the `meta` field of overridden accounts in the sandbox custom user configuration object schema. + +### 2020-09-14_1.387.0 + +- Mark `region` and `postal_code` fields as nullable in `/identity_verification/create`, `/identity_verification/retry`, and `/link/token/create` + +### 2020-09-14_1.386.0 + +- Add payloads for processor Transactions webhooks. + +### 2020-09-14_1.385.2 + +- Mark `next_origination_date` nullable + +# 16.0.0 + +- Updating to OAS 2020-09-14_1.385.1 + +## Breaking changes in this version + +- (Identity Verification) Renamed `IdentityVerificationRequestUser` object to `IdentityVerificationCreateRequestUser` + +## OpenAPI Schema Changes + +### 2020-09-14_1.385.1 + +- Add expiration time description to `transfer/authorization/create` `idempotency_key` parameter + +### 2020-09-14_1.385.0 + +- Add `user` field to `/identity_verification/retry` +- Add `client_user_id` field to `/identity_verification/create` +- Deprecate `user.client_user_id` field in `/identity_verification/create` +- [Breaking] Renamed `IdentityVerificationRequestUser` object to `IdentityVerificationCreateRequestUser` + +### 2020-09-14_1.384.0 + +- Remove `maxLength` constraint from `client_user_id` field for `/processor/signal/evaluate` and `/signal/evaluate` requests + +### 2020-09-14_1.383.3 + +- Add `test_clock_id` to `transfer/authorization/create` request + +### 2020-09-14_1.383.2 + +- Update `InvestmentsAuthOwner` title + +### 2020-09-14_1.383.1 + +- Add `account_id` to `bank_accounts` and `transactions` in `/credit/bank_statements/uploads/get` response + +### 2020-09-14_1.383.0 + +- Add `transfer/diligence/document/upload` endpoint + +### 2020-09-14_1.382.1 + +- Add `amount` to `/transfer/sweep/list` request + +### 2020-09-14_1.382.0 + +- Add `signal_insights` to `/transfer/authorization/create` request + +### 2020-09-14_1.381.0 + +- Add definitions for `/sandbox/bank_income/fire_webhook` + +### 2020-09-14_1.380.0 + +- Update validation `sweep_id` for `/transfers/sweep/get` to allow UUID or 8 character hexadecimal string + +# 15.1.0 + +- Updating to OAS 2020-09-14_1.379.0 + +## OpenAPI Schema Changes + +### 2020-09-14_1.379.0 + +- Add `scheme` to `/wallet/transaction/get` and `/wallet/transaction/list` + +### 2020-09-14_1.378.1 + +- Fix issue in which `request_id` was erroneously not listed as required in `ItemActivityListResponse` + +### 2020-09-14_1.378.0 + +- Add `reroute_to_credentials` to `/link/token/create` auth request + +### 2020-09-14_1.377.0 + +- Add definitions for `/investments/auth/get` + +### 2020-09-14_1.376.0 + +- Add `required_if_supported_products` to `/link/token/create` request + +### 2020-09-14_1.375.0 + +- Add hidden `account_type` to `/transactions/enrich` request and response +- Add hidden `account_subtype` to `/transactions/enrich` request and response + +### 2020-09-14_1.374.3 + +- Add `num_bank_statements_uploaded` to `document_income_results` object in `/credit/sessions/get` response + +### 2020-09-14_1.374.2 + +- Add `income_source` enum to `/transactions/enrich` `counterparty_type` field + +### 2020-09-14_1.374.1 + +- Update `oauth` descriptions for `/institutions/get` and `/institutions/search` + +### 2020-09-14_1.374.0 + +- Add `/credit/bank_statements/uploads/get` endpoint + +### 2020-09-14_1.373.0 + +- Add support for address and date of birth in `virtual-accounts/#wallettransactionexecute` endpoint + +### 2020-09-14_1.372.3 + +- Modify `/transactions/enrich` field `user_id` to `client_user_id` +- Modify `/transactions/enrich` field `account_id` to `client_account_id` + +### 2020-09-14_1.372.2 + +- Update docs for `/transactions/enrich` response to include non-null example values for `lat` and `lon` fields + +### 2020-09-14_1.372.1 + +- Update descriptions for `PAYMENT_STATUS_EXECUTED` and `PAYMENT_STATUS_INITIATED` +- Update description for `PaymentAmountCurrency` + +### 2020-09-14_1.372.0 + +- Add `user_id` and `account_id` fields to `/transactions/enrich` request and resposne + +### 2020-09-14_1.371.4 + +- Update descriptions for `/credit/payroll_income/risk_signals/get` and `INCOME_VERIFICATION_RISK_SIGNALS` webhook + +### 2020-09-14_1.371.3 + +- Add test_clock_id to `/transfer/simulate` +- [Breaking change for Go] Make `virtual_time` optional in `/sandbox/transfer/test_clock/create` + +### 2020-09-14_1.371.2 + +- Add test_clock_id to `/sandbox/transfer/simulate` and `/sandbox/transfer/sweep/simulate` endpoints + +### 2020-09-14_1.371.1 + +- Update `transfer/diligence/submit` copy + +# 15.0.0 + +- Updating to OAS 2020-09-14_1.370.0 + +## Breaking changes in this version + +- Converts some integers that were incorrectly typed as `Double` to `Integer`. For more details, see the changelog notes for 2020-09-14_1.349.0. + +## OpenAPI Schema Changes + +### 2020-09-14_1.370.0 + +- Add `investments/refresh` endpoint + +### 2020-09-14_1.369.3 + +- Update `description` field in `/transfer/create` to have max length of 15 + +### 2020-09-14_1.369.2 + +- Add new `CreditBankIncomeCategory` value + +### 2020-09-14_1.369.1 + +- Fix `/processor/transactions` routes doc links + +### 2020-09-14_1.369.0 + +- Add `/processor/token/permissions/get` endpoint +- Add `/processor/token/permissions/set` endpoint + +### 2020-09-14_1.368.2 + +- Add `transfer/diligence/submit` endpoint + +### 2020-09-14_1.368.1 + +- Update `client_user_id` description for Identity Verification endpoints +- Update `user` description for Identity Match via Identity Verification Data use case + +### 2020-09-14_1.368.0 + +- Add `/transfer/balance/get` endpoint + +### 2020-09-14_1.367.0 + +- Added `LinkEventsWebhook` schema + +### 2020-09-14_1.366.0 + +- Add `credit_funds_source` field for authorizations and transfers +- Make `funding_account_id` nullable in various /transfer API responses + +### 2020-09-14_1.356.0 + +- Update `notificationsPayload.customFields` datatype from an object to an array of objects + +### 2020-09-14_1.355.1 + +- Added `warnings` to `/processor/signal/evaluate` response. + +### 2020-09-14_1.355.0 + +- Added `/processor/identity/match` endpoint. + +### 2020-09-14_1.354.0 + +- Adds a `selfie_check` object to the response schema of all the identity verification endpoints: + - `identity_verification/create` + - `identity_verification/get` + - `identity_verification/list` + - `identity_verification/retry` + +### 2020-09-14_1.353.1 + +- Update `INCOME_VERIFICATION_RISK_SIGNALS` with webhook tag + +### 2020-09-14_1.353.0 + +- Add `ASSETS: PRODUCT_READY` and `ASSETS: ERROR` webhooks to `/sandbox/item/fire_webhook` endpoint + +### 2020-09-14_1.352.0 + +- Removed explicit `additionalProperties: true` marker for request objects and objects used only within request objects, primarily impacting the Payment Initiation API. This will result in more strict type checking for those objects, but should not be a breaking change. + +### 2020-09-14_1.351.1 + +- Update `transfer/authorization/create` copy + +### 2020-09-14_1.351.0 + +- Add new `INCOME_VERIFICATION_RISK_SIGNALS` webhook + +### 2020-09-14_1.350.0 + +- Remove `settled_amount` +- Rename `expected_settlement_schedule` as `expected_sweep_settlement_schedule` + +### 2020-09-14_1.349.0 + +- [Breaking] Converts several types that were incorrectly typed as `number` to `integer`. In some languages, this will change the type used for this field, which may be a breaking change for some Plaid integrations. The following fields are impacted: + +For all products: + +- `PlaidError.status` + +For Liabilities: + +- `PSLFStatus.payments_made` +- `PSLFStatus.payments_remaining` + +For Identity Verification and Monitor: + +- `DocumentaryVerificationDocument.DocumentAnalysis.attempt` +- `EntityScreeningHitAnalysis.search_terms_version` +- `EntityWatchlistScreeningSearchTerms.search_terms_version` +- `IdentityVerificationTemplateReference.version` + +The following client library languages are impacted: + +- Go: Type changes from Float64 to Int32 +- Java: Type changes from Double to Integer +- Python: Type changes from float to int +- Ruby: Type changes from Float to Integer + +### 2020-09-14_1.348.2 + +- Update `/identity/match`'s score description to explicitly mention that null values are returned if input is missing from either the financial institution or the API +- Update `/identity/match` sample response to include `is_business_name_detected` + +### 2020-09-14_1.348.1 + +- Make the `warnings` field in `SignalEvaluateResponse` non-nullable + +### 2020-09-14_1.348.0 + +- Add `STARTED` and `INTERNAL_ERROR` to bank income and employment `/credit/sessions/get` status + +### 2020-09-14_1.347.1 + +- Change invalid format `datetime` to `date` on `initiated_date` field +- Update `SignalWarning` descriptions + +### 2020-09-14_1.347.0 + +Fix npm publish + +### 2020-09-14_1.346.0 + +- Releasing new `/credit/payroll_income/risk_signals/get` endpoint + +### 2020-09-14_1.345.4 + +- Revert `sweep_amount` description + +### 2020-09-14_1.345.3 + +- Update `sweep_amount` description + +### 2020-09-14_1.345.2 + +- Internal changes + +# 14.1.0 + +- Updating to OAS 2020-09-14_1.345.1 + +## OpenAPI Schema Changes + +### 2020-09-14_1.345.1 + +- Update `/transactions/enrich` field `is_recurring` field to be optional.bool + +### 2020-09-14_1.345.0 + +- Fix bug in which `environment` field was incorrectly missing from Assets webhooks. + +### 2020-09-14_1.344.0 + +- Add recurrence and is_recurring fields to `/transactions/enrich` + +### 2020-09-14_1.343.6 + +- Update incorrect required fields for `/watchlist_screening/entity/update` + +### 2020-09-14_1.343.5 + +- Update `owners` description for `/credit/bank_income/get` and `/beta/credit/v1/bank_employment/get` + +### 2020-09-14_1.343.4 + +- Make comment about `webhook` field in `/link/token/create` request more explicit + +### 2020-09-14_1.343.3 + +- Make VOA in /credit/freddie_mac/reports/get optional + +### 2020-09-14_1.343.2 + +- Update `warnings` description for `/credit/bank_income/get` and `/beta/credit/v1/bank_employment/get` + +### 2020-09-14_1.343.1 + +- Updated Asset endpoint descriptions related to Verification of Employment + +# 14.0.0 + +- Updating to OAS 2020-09-14_1.343.0 + +## Breaking changes in this version + +- (Identity Verification) Renamed Identity Verification UserName objects to IdentityVerificationRequestUserName and IdentityVerificationResponseUserName + +## OpenAPI Schema Changes + +### 2020-09-14_1.343.0 + +- Add new `warnings` field to the response of `/signal/evaluate` + +### 2020-09-14_1.342.0 + +- Add `report_type` to assets webhook docs +- Make `add_ons` public in assets docs for /asset_report/create +- Make `fast_report` public in assets docs for /asset_report/get + +### 2020-09-14_1.341.0 + +- Add `risk_check` attribute to all Identity Verification responses + +### 2020-09-14_1.340.1 + +- Update examples for `entity_id` in `/transactions/enrich` + +### 2020-09-14_1.340.0 + +- Create `options` in `/link_delivery/create` +- Create `recipient` within `options` field +- Move `communication_methods` from top level to `recipient` +- Add `first_name` in `recipient` + +### 2020-09-14_1.339.0 + +- Add `callback_type` to link delivery webhooks + +### 2020-09-14_1.338.2 + +- Make `communication_methods` optional in `/link_delivery/create` + +### 2020-09-14_1.338.1 + +- Remove beta description from `/transactions/enrich` endpoint docs + +### 2020-09-14_1.338.0 + +- Add `transaction_id` to `/payment-initiation/#payment_status_update` +- Add `payment_id` and `wallet_id` to `/virtual-accounts/#wallet_transaction_status_update` + +### 2020-09-14_1.337.4 + +- Modify documentation for credit categories in the `/asset_report/get` based on GTM feedback + +### 2020-09-14_1.337.3 + +- Update description for the `address` field in `/payment_initiation/recipient/create`. + +### 2020-09-14_1.337.2 + +- Add annually recurring frequency to `/transactions/recurring/get` + +### 2020-09-14_1.337.1 + +- Make documentation for credit categories in the `/asset_report/get` endpoint public + +### 2020-09-14_1.337.0 + +- Add bank employment results to `/credit/sessions/get` + +### 2020-09-14_1.336.1 + +- Add `signal` to Products array. + +### 2020-09-14_1.336.0 + +- Add options to `/credit/payroll_income/refresh` to allow item-level refresh + +### 2020-09-14_1.335.2 + +- Updated `amount.value` description field with new minimum requirement for `/payment_initiation/payment/reverse` and `/wallet/transaction/execute` + +### 2020-09-14_1.335.1 + +- Add 'employment' as an available product in the request to `/partner/customer/create` + +### 2020-09-14_1.335.0 + +- [Breaking] Renamed Identity Verification UserName objects to IdentityVerificationRequestUserName and IdentityVerificationResponseUserName + +# 13.4.0 + +- Updating to OAS 2020-09-14_1.334.0 + +## OpenAPI Schema Changes + +### 2020-09-14_1.334.0 + +- Add "entity_id" field to /transactions/enrich + +### 2020-09-14_1.333.0 + +- Add "add_ons" field to asset_report/create + +### 2020-09-14_1.332.0 + +- [Breaking] Remove `/wallet/transaction/list` endpoint + - [Note] Determined that `/wallet/transaction/list` is unused + +### 2020-09-14_1.331.0 + +Add `LinkDeliveryCallbackWebhook`, `LinkUserDeliveryStatusWebhook` for Link Delivery. + +### 2020-09-14_1.330.0 + +- [Breaking] Remove `options.wallet_id` field in `/payment_initiation/payment/create` and `/payment_initiation/consent/create` request. + - [Note] Determined that this field is unused. + +### 2020-09-14_1.229.2 + +- Undeprecated the `legal_name` field in the `/link/token/create` request. + +### 2020-09-14_1.229.1 + +- Add `income_verification` as a supported product in the request for `/partner/customer/create`. + +### 2020-09-14_1.229.0 + +- Add `network` field to `/transfer/intent/create` request. +- Updated `reference` minLength for `/wallet/transaction/execute` request and `/payment_initiation/payment/reverse` request. + +### 2020-09-14_1.228.0 + +- Add `access_tokens` and `item_ids` to `/link_delivery/get` response + +### 2020-09-14_1.227.0 + +- Add optional `persistent_account_id` field to account responses + +### 2020-09-14_1.226.0 + +- Add `employment` fields to `/link/token/create` + +### 2020-09-14_1.225.0 + +- Add `redacted_at` field in Identity Verification response and Documentary Verification Document component +- Update `original_front` field in Identity Verification Document Images to be nullable in redacted Identity Verification sessions + +### 2020-09-14_1.224.0 + +- Add `earliest_deposit_date` and change `last_deposit_date` to `latest_deposit_date` for `/beta/credit/v1/bank_employment/get` + +### 2020-09-14_1.223.0 + +- Add `redirect_uris` to `/partner/customer/create` request. + +### 2020-09-14_1.222.0 + +- Add `wallet_id` field to `/wallet/transaction/get` and `/wallet/transaction/list` responses + +### 2020-09-14_1.221.0 + +- Update `link_delivery/get` to remove `public_tokens` from the response + +### 2020-09-14_1.220.0 + +- Update `link_delivery/create` to accept `communication_methods` and deprecate `delivery_method` and `delivery_destination` + +### 2020-09-14_1.219.1 + +- Fix the `refund_id` example. +- Update address objects to reflect that in rare instances, `city` may be `null`. + +### 2020-09-14_1.219.0 + +- Add partner webhook event type + +### 2020-09-14_1.218.1 + +- Mark `phone_number_verified_time` and `email_address_verified_time` as deprecated, since it is no longer required to provide these fields to enable to enable the Returning User Experience. + +### 2020-09-14_1.218.1 + +- Introduce `expected_settlement_date` field in the Transfer object + +### 2020-09-14_1.218.0 + +- Add `/beta/credit/v1/bank_employment/get` endpoint + +### 2020-09-14_1.217.0 + +- Add `updated` field to `/credit/audit_copy_token/update` response +- Add `SchemaVersion` to VOE and VOA schemas for `/credit/freddie_mac/reports/get` + +### 2020-09-14_1.216.0 + +- Introduce `funding_account_id` field in the Transfer API +- Remove deprecated `origination_account_id` field from the Transfer documentation + +### 2020-09-14_1.215.2 + +- Use more strict validation for `payment_id` and `recipient_id` fields in API + +### 2020-09-14_1.215.1 + +- Use more strict validation for payment `consent_id` field in API + +### 2020-09-14_1.215.0 + +- Add `status` to Wallet schema + +# 13.3.0 + +- Updating to OAS 2020-09-14_1.214.0 + +## OpenAPI Schema Changes + +### 2020-09-14_1.214.0 + +- Add `/credit/freddie_mac/reports/get` endpoint + +### 2020-09-14_1.213.1 + +- Reflect that `days_requested` field in Bank Income Verification object in `/link/token/create` request is required when using Bank Income. +- Reflect that `is_update_mode` field in Bank Income Verification object in `/link/token/create` request defaults to `false`. +- Update description to reflect that Document Income object in `/link/token/create` request is not required, even when using Document Income. + +### 2020-09-14_1.213.0 + +- Update `PartnerEndCustomerStatus` enum values. + +### 2020-09-14_1.212.0 + +- Add `/credit/audit_copy_token/update` endpoint +- Add `report_type` to AssetReportCreateRequest + +### 2020-09-14_1.211.1 + +- Fix `US_MBS` list code which was mistakenly documented as `US_MBC` for screening individuals with Monitor +- Document `TR_CMB` list code for screening individuals with Monitor +- Document `IZ_WBK` list code for screening individuals and entities with Monitor + +### 2020-09-14_1.211.0 + +- Add `/partner/customer/oauth_institutions/get` endpoint. + +### 2020-09-14_1.210.8 + +- Update example response for `/credit/bank_income/get` + +### 2020-09-14_1.210.7 + +- Documentation updates for Investments APIs and Bank Transfer APIs. + +### 2020-09-14_1.210.6 + +- Add validation on `originator_client_id` and `redirect_uri` for `/transfer/originator/create` and `transfer/originator/get` request + +### 2020-09-14_1.210.5 + +- Add `company_name` to TransferOriginatorGetResponse + +# 13.2.0 + +- Updating to OAS 2020-09-14_1.210.4 + +## OpenAPI Schema Changes + +### 2020-09-14_1.210.4 + +- Add `recurring_transfer_id` to Transfer + +### 2020-09-14_1.210.3 + +- Make `id_numbers` field hidden in `/user/create` request + +### 2020-09-14_1.210.2 + +- Make `transfer_ids` required in RecurringTransfer + +### 2020-09-14_1.210.1 + +- Change the `/transactions/enrich` `options.include_legacy_categories` field to `options.include_legacy_category` +- Make documentation for the `/transactions/enrich` `options.include_legacy_category` request field visible +- Make documentation for the `/transactions/enrich` `legacy_category` and `legacy_category_id` response fields visible +- Add `direction` to required fields for `ClientProvidedTransaction` + +### 2020-09-14_1.210.0 + +- Add `/transfer/capabilities/get` endpoint to fetch RTP eligibility for a linked plaid item + +### 2020-09-14_1.209.2 + +- Renamed the `NullableRecurringTransfer` type to `RecurringTransferNullable` type + +### 2020-09-14_1.209.1 + +Add `nullable` property to `date_of_birth`, `phone_number_verified_time`, and `email_address_verified_time` fields within `LinkTokenCreateRequestUser` to resolve undesireable client library behavior in certain languages. + +### 2020-09-14_1.209.0 + +- add `NullableRecurringTransfer` field +- replace `RecurringTransfer` with `NullableRecurringTransfer` for `TransferRecurringCreateResponse` +- and `Decision` in required fields for `TransferRecurringCreateResponse` +- add required fields for `TransferRecurringSchedule` + +### 2020-09-14_1.208.0 + +- Add `total_amounts` field to `/credit/bank_income/get` response +- Deprecate `amount`, `iso_currency_code`, and `unofficial_currency_code` at top levels in `/credit/bank_income/get` response + +### 2020-09-14_1.207.0 + +- Add `id_numbers` field to `/user/create` request + +### 2020-09-14_1.206.11 + +- Add `RECURRING_NEW_TRANSFER` webhook event. +- Add `RECURRING_TRANSFER_SKIPPED` webhook event. +- Add `RECURRING_CANCELLED` webhook event. + +### 2020-09-14_1.206.10 + +- make `idempotency_key` field for `/transfer/recurring/create` non-nullable + +### 2020-09-14_1.206.9 + +- Add `description` field for `RecurringTransfer` object +- Make `TransferRecurringStatus` non-nullable + +### 2020-09-14_1.206.8 + +- Make all mentions of relay tokens lowercase + +### 2020-09-14_1.206.7 + +- Updated external URLs for Credit Relay endpoints, and marked them as beta in the summary + +### 2020-09-14_1.206.6 + +- Add more enums values to `pay_rate` field in `/credit/payroll_income/get` response +- Add `pay_basis` field to `/credit/payroll_income/get` + +### 2020-09-14_1.206.5 + +- Updated Credit Relay Token descriptions + +### 2020-09-14_1.206.4 + +- Add `FUNDS_SWEEP` as a `type` enum for the `WalletTransaction` object + +### 2020-09-14_1.206.3 + +- Make `test_clock_id` non-nullable in `test_clock`. + +### 2020-09-14_1.206.2 + +- Update `CounterpartyType` to rename `delivery_marketplace` to `marketplace` +- Update `CounterpartyType` to add `payment_terminal` + +### 2020-09-14_1.206.1 + +- Update the `transactions/enrich` transaction description example to match the request. + +### 2020-09-14_1.206.0 + +- Add `/sandbox/transfer/test_clock/list` for recurring transfer +- rm `decision` and `decision_rationale` from `RecurringTransfer` +- add `decision` and `decision_rationale` in `TransferRecurringCreateResponse` +- rename `frozen_timestamp` to `virtual_time` +- not requiring `client_id` and `secret` for recurring transfer APIs + +### 2020-09-14_1.205.9 + +- Use a nested `options` field for optional request params to `transactions/enrich` +- Make nullable fields required for `transactions/enrich` + +### 2020-09-14_1.205.8 + +- Update supported payment scheme options for `/payment_initiation/payment/create` + – Update description of `/payment_initiation/recipient/create` to mention non-Eurozone countries. + – Update `/payment_initiation/payment/create` mentioning new currencies and non-Eurozone markets. + – Removed `CHF` and `CZK` from the list of supported currencies. + +### 2020-09-14_1.205.7 + +- Add website and logo_url to the `Counterparty` object for the Enrich product. +- Update descriptions for logo_url field in `Counterparty`, `TransactionCounterparty`, `Enrichments` and `Enhancements`. + +### 2020-09-14_1.205.6 + +- Update field descriptions and response examples for `transactions/enrich` + +### 2020-09-14_1.205.5 + +- Add support for optional request parameters in /transactions/enrich +- Add `location` field to `ClientProvidedTransaction` object +- Add `mcc` field to `ClientProvidedTransaction` object +- Add `date_posted` field to `ClientProvidedTransaction` object + +### 2020-09-14_1.205.4 + +- Document partial refunds +- Update description for `/payment_initiation/payment/reverse` endpoint +- Update description for `/payment_initiation/payment/get` endpoint + +# 13.1.0 + +- Updating to OAS 2020-09-14_1.205.3 + +## OpenAPI Schema Changes + +### 2020-09-14_1.205.3 + +- Update description for `/signal/evaluate` endpoint + +### 2020-09-14_1.205.2 + +- Update response examples, descriptions, and formatting for `/transactions/enrich` endpoint + +### 2020-09-14_1.205.1 + +- Update descriptions for `CUSIP` and `ISIN` fields in the investments `Security` type to reflect CGS license requirements + +### 2020-09-14_1.205.0 + +- Add `/transactions/enrich` endpoint, the EA version of `/beta/transactions/v1/enhance`. + +### 2020-09-14_1.204.0 + +- Remove `/income/verification/refresh` endpoint + +### 2020-09-14_1.203.0 + +- Add 7 brand new recurring transfer APIs +- Add `/transfer/recurring/create` +- Add `/transfer/recurring/list` +- Add `/transfer/recurring/get` +- Add `/transfer/recurring/cancel` +- Add `/sandbox/transfer/test_clock/create` +- Add `/sandbox/transfer/test_clock/advance` +- Add `/sandbox/transfer/test_clock/get` + +### 2020-09-14_1.202.6 + +- IdentityMatchResponse `PhoneNumberMatchScore` and `EmailAddressMatchScore` use `score` instead of `scores` + +### 2020-09-14_1.202.5 + +- Add `/partner/customer/remove` endpoint + +### 2020-09-14_1.202.4 + +- Internal changes + +### 2020-09-14_1.202.3 + +- New Transfer API routes for hosted onboarding of TPS end-customers + +### 2020-09-14_1.202.0 + +- Add `refunds` field to `Transfer` object +- Add `refund_id` field to `TransferEvent` object +- Fix typo for `transfer/get` and `transfer/refund/get` + +### 2020-09-14_1.201.0 + +- Add support for partial refunds +- Add `amount` field to `/payment_initiation/payment/reverse` request +- Add `amount_refunded` field to `/payment_initiation/payment/get` and `/payment_initiation/payment/list` responses + +### 2020-09-14_1.200.0 + +- Add `risk_summary` and `page_number` to `/beta/credit/payroll_income/risk_signals/get` + +### 2020-09-14_1.199.0 + +- Renamed `/wallet/transactions/list` into `/wallet/transaction/list` as endpoint + +### 2020-09-14_1.198.8 + +- `/transfer/authorization/create` and `/transfer/create` may not return `account_id` in response. + +### 2020-09-14_1.198.7 + +- Add `SYNC_UPDATES_AVAILABLE` support to `/sandbox/item/fire_webhook` + +### 2020-09-14_1.198.6 + +- Make `ProductStatus` object nullable to reflect Sandbox-specific behavior. +- Clarify documentation for `SYNC_UPDATES_AVAILABLE` webhook. + +### 2020-09-14_1.198.5 + +- Internal changes + +### 2020-09-14_1.198.4 + +- Add `deleted_at` to `/payment_profile/get` response. + +### 2020-09-14_1.198.3 + +- Change `start_date` to `start_time` for `/wallet/transaction/list` response. + +### 2020-09-14_1.198.2 + +- Update list of available products for `/partner/customer/create`. + +### 2020-09-14_1.198.1 + +- Add `institution_name` and `institution_id` fields to `/credit/payroll_income/get` response. + +### 2020-09-14_1.198.0 + +- Add `options.start_date` and `options.end_date` to `/wallet/transaction/list` endpoint. +- Add `last_status_update` and `payment_id` field to `WalletTransaction`. +- Add `transaction_id` field to `PaymentInitiationPayment` + +### 2020-09-14_1.197.6 + +- Add `originator_client_id` to Transfer API endpoints + +### 2020-09-14_1.197.5 + +- Deprecate `origination_account_id` from `/transfer/authorization/create` endpoint. + +### 2020-09-14_1.197.4 + +- Add `asset_under_management` field to `PartnerCustomerCreateRequest`. + +# 13.0.0 + +- Updating to OAS 2020-09-14_1.197.3 + +## Breaking changes in this version + +- Consolidate usages of `Error` into `PlaidError` +- (Identity Verification) Update `IdentityVerificationRequestUser.date_of_birth` to be required to match the existing behavior of the API. +- (Transfer) Rename `LOGIN_REQUIRED` from transfer authorizations `decision_rationale` to `ITEM_LOGIN_REQUIRED` +- (Transfer) Rename `TransferUserInRequest` to `TransferAuthorizationUserInRequest` for `/transfer/authorization/create` + +## OpenAPI Schema Changes + +### 2020-09-14_1.197.3 + +- Update supported `CountryCode`'s in `link/token/create` docs. + +### 2020-09-14_1.197.2 + +- ach_class optional +- add rtp network option + +### 2020-09-14_1.197.1 + +- Add newly supported languages for Link + +### 2020-09-14_1.197.0 + +- Add `PAYMENT_PROFILE_LOGIN_REQUIRED` to transfer authorization `decision_rationale.code`. + +### 2020-09-14_1.196.3 + +- Add `institution_name` field to `payroll_income_result` of `/credit/sessions/get` + +### 2020-09-14_1.196.2 + +- Add requirements for `logo` in `PartnerCustomerCreateRequest`. + +### 2020-09-14_1.196.2 + +- Deprecate webhook status `VERIFICATION_STATUS_PENDING_APPROVAL` in `income_verification` apis. + +### 2020-09-14_1.196.1 + +- Add a note in the description of `/transfer/authorization/create` + +### 2020-09-14_1.196.0 + +- Added endpoint `/sandbox/payment_profile/reset_login` + +### 2020-09-14_1.195.0 + +- Consolidate usages of `Error` into `PlaidError` +- Add a `PlaidErrorType` enum + +### 2020-09-14_1.194.2 + +- Fix typo for `income_verification` in `/sandbox/public_token/create` options + +### 2020-09-14_1.194.1 + +- Update field descriptions in `/partner/customer/*` responses. +- Make `PartnerEndCustomerWithSecrets` extend `PartnerEndCustomer`. +- Fix documentation links in `/partner/customer/*` endpoints. + +### 2020-09-14_1.194.0 + +- Add `/partner/customer/enable` endpoint + +### 2020-09-14_1.193.0 + +- Rename `LOGIN_REQUIRED` from transfer authorizations `decision_rationale` to `ITEM_LOGIN_REQUIRED` + +### 2020-09-14_1.192.3 + +- Add `/fdx/notifications` endpoint. + +### 2020-09-14_1.192.2 + +- Add `USER_REPORTED_NO_INCOME` to CreditSessionBankIncomeStatus + +### 2020-09-14_1.192.1 + +- Update description for `payment_profile_token` field + +### 2020-09-14_1.192.0 + +- Add `income_verfication` field to `/sandbox/public_token/create` + +### 2020-09-14_1.191.1 + +- Add `document_income_result` field to `credit/sessions/get` + +### 2020-09-14_1.191.0 + +- Remove `payment_profile_id` from `/payment_profile/*`, `/transfer/authorization/create`, and `/transfer/create` endpoints and replace with `payment_profile_token` + +### 2020-09-14_1.190.0 + +- Removed auditor_id from /credit/audit_copy/token/create + +### 2020-09-14_1.189.0 + +- Add length boundary for the `client_user_id` field in `user/create` + +### 2020-09-14_1.188.0 + +- Add `SchemaVersion` field to Freddie Mac Verification of Assets Schema + +### 2020-09-14_1.187.0 + +- Add `non-custodial wallet` to account subtypes supported for investments +- Add `trade` investment transaction subtype as a subtype of `transfer` investment transaction type + +### 2020-09-14_1.186.2 + +- Add `errors` field to `credit/sessions/get` + +### 2020-09-14_1.186.1 + +- Add `payroll_income_result` field to `credit/sessions/get` + +### 2020-09-14_1.186.0 + +- Update `IdentityVerificationRequestUser.date_of_birth` to be required to match the existing behavior of the API. + +### 2020-09-14_1.185.0 + +- Add support for `USER_INPUT_TIMEOUT` as a value for `force_error` in the sandbox custom user schema. + +### 2020-09-14_1.184.0 + +- Make `payment_id` not required in `/link/token/create` under the `payment_initiation` field. + +### 2020-09-14_1.183.0 + +- Add `beacon_session_id` field in req of /transfer/authorization/create endpoint. + +### 2020-09-14_1.182.0 + +- Add `/link/oauth/correlation_id/exchange` endpoint. + +# 12.0.0 + +- Updating to OAS 2020-09-14_1.181.1 + +## Breaking changes in this version + +- (Identity Verification and Monitor) Remove `Date` and `DateNullable` types in identity_verification and monitor endpoints. Replace with `ISO8601Date` and `ISO8601DateNullable` + +## OpenAPI Schema Changes + +### 2020-09-14_1.181.1 + +- Update `report_tokens` in `/credit/relay/create` endpoint request to be a list of strings instead a list of objects + +### 2020-09-14_1.181.0 + +- Add `credit/sessions/get` endpoint + +### 2020-09-14_1.180.0 + +- Remove `Date` and `DateNullable` types in identity_verification and monitor endpoints. Replace with `ISO8601Date` and `ISO8601DateNullable` + instead. + +### 2020-09-14_1.179.0 + +- Remove `idempotency_key` field from resp of /transfer/authorization/create endpoint. + +### 2020-09-14_1.178.2 + +- Change `institution_price_as_of` field on the Holdings object to nullable + +### 2020-09-14_1.178.1 + +- Add `AUTHORISING` wallet transaction status + +### 2020-09-14_1.178.0 + +- Add `/partner/customer/get` endpoint. +- Add `status` to the response for `/partner/customer/create`. + +### 2020-09-14_1.177.4 + +- Add `settled` as a valid event type for `/sandbox/transfer/simulate` + +### 2020-09-14_1.177.3 + +- Replace `ASSET_TRANSACTION_DESCRIPTION` with `ASSET_TRANSACTION_DESCRIPTON` in Freddie Mac + Asset Report + +### 2020-09-14_1.177.2 + +- Add `ownership_type` to Asset Report account object, to reflect actual API behavior. +- Update and clarify docs, including update to reflect new Transfers cutoff times. + +### 2020-09-14_1.177.1 + +- Add `settled` as a possible Transfer status and `swept_settled` as a possible Transfer sweep status +- Add `settled` and `swept_settled` as new Transfer event types +- Add `settled` field to Transfer sweep object +- Add `standard_return_window` and `unauthorized_return_window` fields to Transfer object + +### 2020-09-14_1.177.0 + +- Add `options` and `days_to_included` to `AssetReportGetRequest` + +### 2020-09-14_1.176.2 + +- Add `recipient_id` field examples to the `/wallet/create`, `/wallet/get`, and `/wallet/list` responses + +### 2020-09-14_1.176.1 + +- Set `employment_report_token` field in the `/credit/employment/get` endpoint to be not required + +### 2020-09-14_1.176.0 + +- Add `mask` to the `meta` field of overridden accounts in the sandbox custom user configuration object schema. + +### 2020-09-14_1.175.0 + +- Remove `MiddleName` and add `VALIDATION_SOURCES` to Freddie Mac Asset Report + +### 2020-09-14_1.174.1 + +- Add `adyen` as processor partner + +### 2020-09-14_1.174.0 + +- Add `environment` as an attribute to all webhook payloads + +### 2020-09-14_1.173.0 + +- Add `idempotency_key` field in req/resp of /transfer/authorization/create endpoint. + +### 2020-09-14_1.172.1 + +- Removed `/asset_report/relay/` endpoints + +### 2020-09-14_1.172.0 + +- Add payroll institution to /credit/income/precheck endpoint. + +### 2020-09-14_1.171.0 + +- Add `recipient_id` to the `/wallet/create`, `/wallet/get`, and `/wallet/list` responses + +### 2020-09-14_1.170.1 + +- Fix that `client_id` and `secret` were erroneously marked as `required` for the request bodies of some endpoints. (These fields can be sent in the header and thus are not required in bodies). + +### 2020-09-14_1.170.0 + +- Add `with_guarantee` field in request of `/transfer/authorization/create` + +### 2020-09-14_1.169.0 + +- Add `issuing_region` as a field in the extracted data to documentary verification documents `/identity_verification/create`, `/identity_verification/get`, `/identity_verification/list` and `/identity_verification/retry` responses. + +### 2020-09-14_1.168.2 + +- Add `bacs`/`iban` recommendation for `/payment_initiation/recipient/create` + +### 2020-09-14_1.168.1 + +- Update descriptions for `/payment_profile/create`, `/payment_profile/get` and `/payment_profile/remove` + +### 2020-09-14_1.168.0 + +-- Add `counterparties` to `/beta/transactions/v1/enhance` response + +### 2020-09-14_1.167.1 + +- Added `MICRODEPOSIT_ERROR` which was returned by the API but missing from the error type enum. +- Various fixes to typos and descriptions + +### 2020-09-14_1.167.0 + +- Add authorization code `MIGRATED_ACCOUNT_ITEM` for Items created via `/transfer/migrate_account` endpoint + +### 2020-09-14_1.166.0 + +- Add `updated_at` field to Payroll Item entries in `/credit/payroll_income/get` + +### 2020-09-14_1.165.3 + +- removed LoanRoleType, ReportIdentifierType, and ReportDateTime fields from `/credit/asset_report/freddie_mac/get` + +### 2020-09-14_1.165.2 + +- Remove deprecated reverse_swept enum value from documentation + +### 2020-09-14_1.165.1 + +- Update example response for the `wallet/list` endpoint + +### 2020-09-14_1.165.0 + +- Add details for `IdentityMatchResponse` for `/identity/match` endpoint + +### 2020-09-14_1.164.10 + +- Update descriptions for `HOLDINGS: DEFAULT_UPDATE` and `INVESTMENT_TRANSACTIONS: DEFAULT_UPDATE` webhooks + +### 2020-09-14_1.164.9 + +- Removed report_type from the request to `/credit/asset_report/freddie_mae/get` + +# 11.10.0 + +- Updating to OAS 2020-09-14_1.164.8 + +## OpenAPI Schema Changes + +### 2020-09-14_1.164.8 + +- Add documentation for credit categories in the `/asset_report/get` endpoint + +### 2020-09-14_1.164.7 + +- Remove redundant parameters from the `/transfer/create` endpoint from docs and mark them as deprecated + +### 2020-09-14_1.164.6 + +- Add the following new currencies for the `/payment_initiation` API route group: PLN, SEK, DKK, NOK, CHF, CZK + +### 2020-09-14_1.164.5 + +- Update description for `/payment_initiation/payment/reverse` to indicate that this endpoint only works with virtual accounts +- Update description for `/wallet/transaction/execute` to indicate that settlement will take seconds to days + +### 2020-09-14_1.164.4 + +- Remove verification fields from `/credit/payroll_income/get` and `/income/verification/paystubs/get` + +### 2020-09-14_1.164.3 + +- Remove pull_id field from `/credit/payroll_income/get` + +### 2020-09-14_1.164.2 + +- Update external documentation links for the `/wallet/` API route group +- Update `/payment_initiation/payment/reverse` description to cover which payments are eligible for refunds +- Update `/payment_initiation/payment/create` reference field description to indicate that references should be unique and will be adjusted automatically +- Update `PaymentInitiationPaymentStatus` description to indicate that payments may take seconds to days to settle depending on the payment rail used +- Update `WalletTransactionStatus` description to indicate that transactions may take seconds to days to settle depending on the payment rail used + +### 2020-09-14_1.164.1 + +- Make `is_savings_or_money_market_account` field in `SignalEvaluateCoreAttributes` nullable + +### 2020-09-14_1.164.0 + +- Add new endpoint `/credit/asset_report/freddie_mac` + +### 2020-09-14_1.163.0 + +- Add `/link_delivery/create` endpoint +- Add `/link_delivery/get` endpoint + +### 2020-09-14_1.162.2 + +- Fix minimum and maximum values in `/signal/evaluate` scores + +### 2020-09-14_1.162.1 + +- Make holdings `institution_price_as_of` non-nullable + +### 2020-09-14_1.162.0 + +- Add `WalletTransactionStatusUpdateWebhook` object +- Update `WalletTransactionStatus` to include an additional `SETTLED` enum +- Update `PaymentInitiationPaymentStatus` to include an additional `PAYMENT_STATUS_SETTLED` enum + +# 11.9.1 + +- Updated the okhttp3 library version from 3.14.9 to 4.9.2 + +# 11.9.0 + +- Updating to OAS 2020-09-14_1.161.5 + +## OpenAPI Schema Changes + +### 2020-09-14_1.161.5 + +- Reverts the changes made in 2020-09-14_1.157.0 + +### 2020-09-14_1.161.4 + +- Update description for webhook `USER_PERMISSION_REVOKED` + +### 2020-09-14_1.161.3 + +- Bug fix: Put quotes around the '529' account type to prevent generated client libraries from treating it as an integer. +- Add `RECURRING_TRANSACTIONS_UPDATE` to description of sandbox webhook testing endpoint + +### 2020-09-14_1.161.2 + +- Change the Item schema to refer to `PlaidError` rather than `Error` to avoid namespace conflicts in client libraries. + +### 2020-09-14_1.161.1 + +- Add required fields back to AssetReport schema + +### 2020-09-14_1.161.0 + +- Remove `access_token` request parameter from `/beta/partner/v1/customers/create` + +### 2020-09-14_1.160.0 + +- Add `user` fields to the `/link/token/create` `user` object. + +### 2020-09-14_1.159.0 + +- Add `RECURRING_TRANSACTIONS_UPDATE` webhook specification +- Fix typo in `/sandbox/item/fire_webhook` description + +### 2020-09-14_1.158.1 + +- Add x-plaid-validation for Credit Relay Tokens + +### 2020-09-14_1.158.0 + +- Add `address` and `id_number` fields to the `/link/token/create` `user` object. + +### 2020-09-14_1.157.0 + +- Update and add schemas referred by `AssetReportGetResponse` + +### 2020-09-14_1.156.0 + +- Add `payment_profile_id` to `/transfer/authorization/create` and `/transfer/create` +- Make `access_token` and `account_id` optional in `/transfer/authorization/create` and `/transfer/create` + +### 2020-09-14_1.155.0 + +- Add `payment_profile_id` as a field under `transfer` for `/link/token/create` + +### 2020-09-14_1.154.0 + +- Create `/credit/bank_income/pdf/get` to allow customers to retrieve the bank income product as a PDF + +### 2020-09-14_1.153.1 + +-- Add `personal_finance_category_icon_url` to `/beta/transactions/v1/enhance` response + +### 2020-09-14_1.153.0 + +-- Add new endpoint `/beta/partner/v1/customers/create` + +### 2020-09-14_1.152.0 + +- Add `form1099s` as part of the `credit/payroll_income/get` response. +- Add `Credit1099` object and corresponding subtypes. + +### 2020-09-14_1.151.1 + +- Update required fields list for guaranteed ACH customers + +### 2020-09-14_1.151.0 + +- Mark `verification` field under `paystubs` object in `/credit/payroll_income/get` as deprecated + +### 2020-09-14_1.150.0 + +- Make `user_present` under `/transfer/authorization/create` nullable + +### 2020-09-14_1.149.1 + +- Update fields description for guaranteed ACH customers + +### 2020-09-14_1.149.0 + +- Add `gave_consent` as a field under `identity_verification` for `/link/token/create` +- Remove `identity_verification.consent`, which is deprecated, from documentation for `/link/token/create` + +### 2020-09-14_1.148.0 + +- Add `user_present` a an optional field under `/transfer/authorization/create`, update fields description for guaranteed ACH customers + +### 2020-09-14_1.147.1 + +- Remove deprecated `reversed` status from Transfer schema +- Remove deprecated `reverse_swept` status from Transfer Event schema + +### 2020-09-14_1.147.0 + +- Add new endpoints `/credit/relay/get`, `/credit/relay/refresh` and `/credit/relay/remove` + +# 11.8.0 + +- Updating to OAS 2020-09-14_1.146.0 + +## OpenAPI Schema Changes + +### 2020-09-14_1.146.0 + +- make item_logins field not required + +### 2020-09-14_1.145.0 + +- Make changes to IdentityMatchRequest to support options data + +### 2020-09-14_1.144.0 + +- Remove unsupported error_code (`PRODUCTS_NOT_SUPPORTED`) for the `force_error` config in Sandbox + +### 2020-09-14_1.143.0 + +- Make changes to support crypto in Investments product + +### 2020-09-14_1.142.0 + +- Add new endpoints `/payment_profile/get` and `/payment_profile/remove` + +### 2020-09-14_1.141.1 + +- Bug fix: add `identity_verification` to `Products` array + +### 2020-09-14_1.141.0 + +- Add a new endpoint `/payment_profile/create` + +### 2020-09-14_1.140.1 + +- Add `stated_income_sources` as a field under `income_verification` for `/link/token/create` + +### 2020-09-14_1.140.0 + +- Add `bin` as a field under `institution_metadata` for `/link/token/create` + +### 2020-09-14_1.139.0 + +- Add `international` IBAN numbers to `WalletNumbers` field in `/wallet/get` and `/wallet/list` responses. +- Wrap the `iban` field in the `WalletTransactionCounterpartyNumbers` under new field `international`. + +### 2020-09-14_1.138.0 + +- Add new `identity/match` endpoint, and `IdentityMatchRequest` and `IdentityMatchResponse` + +### 2020-09-14_1.137.1 + +- Update comment for the `recipient.name` field with recommendation to avoid long strings and special characters. + +### 2020-09-14_1.137.0 + +- Reverts the changes made in 2020-09-14_1.135.0. ProductAccess and AccountProductAccess once again have all fields explicitly defined. + +# 11.7.0 + +- Updating to OAS 2020-09-14_1.136.0 + +## OpenAPI Schema Changes + +### 2020-09-14_1.136.0 + +- Add `products` in `asset_report/create` endpoint. + +### 2020-09-14_1.135.0 + +- Convert ProductAccess and AccountProductAccess to optional.Map + +### 2020-09-14_1.134.0 + +- Rename `merchant_website` and `merchant_logo_url` in `/beta/transactions/v1/enhance` to `website` and `logo_url` + +### 2020-09-14_1.133.0 + +- Update `/credit/payroll_income/get` response to have a `pull_id` instead of an `income_report_token` and add `pull_id` to `/credit/employment/get` response + +### 2020-09-14_1.132.1 + +- Made several fields nullable for `/signal/evaluate` + +### 2020-09-14_1.132.0 + +- Add `/credit/audit_copy_token/remove` to invalidate Audit Copy tokens + +# 11.6.0 + +- Updating to OAS 2020-09-14_1.131.3 + +## OpenAPI Schema Changes + +### 2020-09-14_1.131.3 + +- Update external URL for `/transfer/migrate_account` endpoint + +### 2020-09-14_1.131.2 + +- Add `TRANSFER_LIMIT_REACHED` to enum `TransferAuthorizationDecisionRationaleCode` + +### 2020-09-14_1.131.1 + +- Update `/payment_initiation/consent/*` external docs URLs + +### 2020-09-14_1.131.0 + +- Add `iban` to `counterparty`'s `numbers` field in `/wallet/transaction/execute` + +### 2020-09-14_1.130.0 + +- Update description of `/user/create` to make it more clear what would happen when a client calls the user creation endpoint with the same client_user_id multiple times. + +### 2020-09-14_1.129.0 + +- Add `signal_description` for each risk signal in `/beta/credit/payroll_income/risk_signals/get` +- Change `DocumentRiskSignalInstitutionMetadata` to be nullable + +### 2020-09-14_1.128.6 + +- Fix category rules formatting + +### 2020-09-14_1.128.5 + +- Change description in `UserCustomPassword` to reflect that only top level fields are optional not all fields + +### 2020-09-14_1.128.4 + +- Move Category Rules description to `include_personal_finance_category` flag + +# 11.5.0 + +- Updating to OAS 2020-09-14_1.128.4 + +## OpenAPI Schema Changes + +### 2020-09-14_1.128.4 + +- Add `identity_verification` as a new optional parameter for `/link/token/create` + +### 2020-09-14_1.128.3 + +- Add category rules beta to `personal_finance_category` field description + in `/transactions/get` + +### 2020-09-14_1.128.2 + +- Update description of `/investments/transactions/get` endpoint +- Update description of `cost_basis` field + +### 2020-09-14_1.128.1 + +- Add `merchant_website` and `merchant_logo_url` to `/beta/transactions/v1/enhance` response + +### 2020-09-14_1.128.0 + +- Add `auth_type_select_enabled`, `automated_microdeposits_enabled`, `instant_match_enabled`, and `same_day_microdeposits_enabled` to `/link/token/create` +- Marked `flow_type` parameter as deprecated + +### 2020-09-14_1.127.0 + +- Add `consent_id` filter to `/payment_initiation/payment/list` +- Add `consent_id` to `/link/token/create` + +### 2020-09-14_1.126.0 + +- Added `/credit/relay/create` endpoint + +### 2020-09-14_1.125.0 + +- Add `accounts` object to `/credit/payroll_income/get` response + +### 2020-09-14_1.124.0 + +- Added `include_fast_report` in `asset_report/create` endpoint. Added `fast_report` in `asset_report/get` endpoint + +### 2020-09-14_1.123.1 + +- Removed `reversed` and `reverse_swept` from possible event_type values in TransferEventListRequest docs + +### 2020-09-14_1.123.0 + +- Change `tokens` to `report_tokens` in `/credit/audit_copy_token/create` request + +### 2020-09-14_1.122.0 + +- Add `request_id` to all Identity Verification and Monitor responses + +### 2020-09-14_1.121.2 + +- Added sample user_id to INCOME_VERIFICATION webhook + +### 2020-09-14_1.121.1 + +- Pre-release API refinements to Monitor and Flow endpoints + +# 11.4.0 + +- Updating to OAS 2020-09-14_1.121.0 + +## OpenAPI Schema Changes + +### 2020-09-14_1.121.0 + +- Add TimestampNullable type + +### 2020-09-14_1.120.0 + +- Removed `Uploaded`, `Created` and `APPROVAL_STATUS_APPROVED` enum strings from `PayrollItemStatus` field. + +### 2020-09-14_1.119.0 + +- Add `returned` to TransferStatus enum +- Add `return_swept` to TransferSweepStatus enum +- Add `returned` and `return_swept` to TransferEventType enum + +### 2020-09-14_1.118.0 + +- Added `employee_type` and `last_paystub_date` to `/credit/employment/get` response + +### 2020-09-14_1.117.1 + +- Make `/payment_initiation/consent/create` API more strict + +### 2020-09-14_1.117.0 + +- Add `/credit/audit_copy_token/create` endpoint + +### 2020-09-14_1.116.0 + +- Add `/wallet/list` endpoint + +# 11.3.0 + +- Updating to OAS 2020-09-14_1.115.2 + +## OpenAPI Schema Changes + +### 2020-09-14_1.115.2 + +- Update description fields to fix formatting errors +- Reflect that `error.suggested_action` is `nullable` + +### 2020-09-14_1.115.1 + +- Update OpenAPI spec + +### 2020-09-14_1.115.0 + +- Added `income_report_token` to `/credit/payroll_income/get` response + +### 2020-09-14_1.114.2 + +- Add `/wallet/create` endpoint + +### 2020-09-14_1.114.1 + +- Add beta `additional_consented_products` field to `/link/token/create` + +### 2020-09-14_1.113.1 + +- Updated `/transactions/recurring/get` description + +### 2020-09-14_1.113.0 + +- Add webhooks for new Monitor and Identity Verification products + +### 2020-09-14_1.112.0 + +- Add endpoints for new Monitor and Identity Verification products + +### 2020-09-14_1.111.15 + +- Remove `emi_recipient_id` from Payment Initiation Recipient + +### 2020-09-14_1.111.14 + +- Add optional `iban` and `bacs` fields to `options` in the `/payment_initiation/consent/create` request + +### 2020-09-14_1.111.13 + +- Updated `/transactions/sync` description + +### 2020-09-14_1.111.12 + +- Add more accurate enum documentations to `/transactions/recurring/get` API doc + +### 2020-09-14_1.111.11 + +- Additional documentation for `/transactions/sync` + +### 2020-09-14_1.111.9 + +- Remove deprecated field `createdAt` from `/application/get` response + +### 2020-09-14_1.111.8 + +- Add field validation to `BankTransferDirection` + +### 2020-09-14_1.111.7 + +- Remove deprecated field `createdAt` from `/application/get` response + +### 2020-09-14_1.111.6 + +- Add external doc link to `transactions/recurring/get` + +### 2020-09-14_1.111.5 + +- Updating the API doc for Recurring Transactions + +### 2020-09-14_1.111.4 + +- Add `DisplayName` in `/application/get` response + +### 2020-09-14_1.111.3 + +- Updated sample responses for all Transfer endpoints + +### 2020-09-14_1.111.2 + +- Changing `beta/transactions/rules/` routes to `beta/transactions/rules/v1` + +### 2020-09-14_1.111.1 + +- Fixing `InsitututionMetadata` typo to `InstitutionMetadata` in private `/beta/credit/payroll_income/risk_signals/get`endpoint response + +### 2020-09-14_1.111.0 + +- Added `require_guarantee`, `guarantee_decision`, and `guarantee_decision_rationale` to `/transfer/intent` in order to support Guarantee when using Transfer UI. + +### 2020-09-14_1.110.2 + +- Add additional supported `type` enums in `WalletTransaction`. + +### 2020-09-14_1.110.1 + +- Add Additional History billing information for /asset_report/create. + +### 2020-09-14_1.110.0 + +- Add `user_id` to income verification webhook payload + +### 2020-09-14_1.109.1 + +- Make `consent_id` field nullable in `PaymentInitiationPayment`. + +### 2020-09-14_1.109.0 + +- Replace `initiated_refunds` with `refund_ids` in the `/payment_initiation/payment/get` and `/payment_initiation/payment/list` responses + +### 2020-09-14_1.108.0 + +- Added `/beta/credit/payroll_income/risk_signals/get` endpoint (currently private) + +### 2020-09-14_1.107.4 + +- Remove unsupported ACH classes from `bank_transfer/` and `transfer/` endpoints. + +### 2020-09-14_1.107.3 + +- Add `enable_multiple_items` parameter for bank income. + +### 2020-09-14_1.107.2 + +- Fix typo in `institution_name` parameter for credit endpoints. + +### 2020-09-14_1.107.0 + +- Added `reference` and `idempotency_key` fields to the `payment_initiation/payment/reverse` request. + +### 2020-09-14_1.106.0 + +- Added `is_update_mode` to `income_verification` in the `/link/token/create` body + +### 2020-09-14_1.105.2 + +- Consolidate item schemas + +### 2020-09-14_1.105.1 + +- Removed `client_id` and `secret` as required fields from `/transfer/intent/{get,create}` to match actual API behavior. + +### 2020-09-14_1.105.0 + +- Add `/credit/payroll_income/refresh` endpoint + +### 2020-09-14_1.104.0 + +- Added `/signal/prepare` + +### 2020-09-14_1.102.0 + +- Added `/watchlist_screening/individual/list` (currently private) +- Added `/watchlist_screening/individual/create` (currently private) +- Added `/watchlist_screening/individual/get` (currently private) +- Added `/watchlist_screening/individual/update` (currently private) +- Added `/watchlist_screening/individual/history/list` (currently private) +- Added `/watchlist_screening/individual/review/list` (currently private) +- Added `/watchlist_screening/individual/review/create` (currently private) +- Added `/watchlist_screening/individual/hit/list` (currently private) +- Added `/watchlist_screening/entity/list` (currently private) +- Added `/watchlist_screening/entity/create` (currently private) +- Added `/watchlist_screening/entity/get` (currently private) +- Added `/watchlist_screening/entity/update` (currently private) +- Added `/watchlist_screening/entity/history/list` (currently private) +- Added `/watchlist_screening/entity/hit/list` (currently private) +- Added `/watchlist_screening/entity/review/list` (currently private) +- Added `/watchlist_screening/entity/review/create` (currently private) +- Added `/watchlist_screening/individual/program/list` (currently private) +- Added `/watchlist_screening/individual/program/get` (currently private) +- Added `/watchlist_screening/entity/program/list` (currently private) +- Added `/watchlist_screening/entity/program/get` (currently private) +- Added `/dashboard_user/list` (currently private) +- Added `/dashboard_user/get` (currently private) +- Added `/identity_verification/list` (currently private) +- Added `/identity_verification/get` (currently private) +- Added `/identity_verification/retry` (currently private) +- Modified `/identity_verification/create` (currently private) + +### 2020-09-14_1.101.0 + +- Add endpoint for `/credit/bank_income/refresh` + +### 2020-09-14_1.100.0 + +- Add `include_original_description`, `include_personal_finance_category` options to `/transactions/sync` request. + +### 2020-09-14_1.99.0 + +- API changes for /credit/employment/get + +### 2020-09-14_1.98.1 + +- Add `gusto` as processor partner + +### 2020-09-14_1.98.0 + +- Add `user_token` as a request parameter for `/sandbox/public_token/create` + +### 2020-09-14_1.97.1 + +- Remove `auth`, `transactions_updates`, `investments_updates`, and `identity` as required fields from Item status to match actual API behavior. + +# 11.2.0 + +- Updating to OAS 2020-09-14_1.97.0 + +## OpenAPI Schema Changes + +### 2020-09-14_1.97.0 + +- [Beta] Rename some `Credit` refs that were preventing client library generation from completing successfully + +### 2020-09-14_1.96.0 + +- remove unused `payroll_income_id` from `/credit/payroll_income/get` field +- add status object to items in `/credit/payroll_income/get` response body + +### 2020-09-14_1.95.1 + +- Add `TransferEventsUpdateWebhook` schema + +### 2020-09-14_1.95.0 + +- Add `institution_data` parameter to `/link/token/create` + +### 2020-09-14_1.94.2 + +- Tidy up YAML + +### 2020-09-14_1.94.1 + +- Add `highnote` processor to `/processor/token/create` + +### 2020-09-14_1.94.0 + +- Add `use_case`, `company_legal_name`, `city`, `region`, `country_code`, `postal_code` as a required response field of `Application` + +### 2020-09-14_1.93.2 + +- Remove `income_verification_id` from income webhook example +- Fix incorrect URL for `/user/create` endpoint + +### 2020-09-14_1.93.1 + +- Remove deprecated `income_verification_id` from income webhooks +- Standardize income webhook casing + +### 2020-09-14_1.93.0 + +- Add several new fields to `/signal/evaluate` response +- + +### 2020-09-14_1.92.4 + +- Add `/sandbox/transfer/fire_webhook` endpoint + +### 2020-09-14_1.91.4 + +- Mark certain Income endpoints as deprecated in favor of the new `/credit/*` endpoints. + +### 2020-09-14_1.91.3 + +- Add `checkout` processor to `/processor/token/create` + +### 2020-09-14_1.91.2 + +- Add `webhook_type` parameter to `/sandbox/item/fire_webhook` +- Support for investments transactions, investments holdings and liabilities `DEFAULT_UPDATE` webhooks + +### 2020-09-14_1.90.2 + +- Add new warning type to `/credit/bank_income/get` response + +### 2020-09-14_1.90.1 + +- Add `marqeta` and `solid` as Auth processor partners +- Fix schema of `cause` parameter for Asset Reports +- Fix some invalid examples + +### 2020-09-14_1.90.0 + +- Add `/credit/employment/get` endpoint +- Add optional `access_tokens` array to `/credit/payroll_income/precheck` request + +### 2020-09-14_1.89.3 + +- Update description of `/sandbox/item/fire_webhook` + +### 2020-09-14_1.89.2 + +- Update description of `accounts/get` + +### 2020-09-14_1.89.1 + +- Added `AUTH_DATA_UPDATE` webhook code as valid input to `/sandbox/item/fire_webhook` +- Update description for `/sandbox/item/fire_webhook` + +### 2020-09-14_1.89.0 + +- Add `/transfer/migrate_account` endpoint + +### 2020-09-14_1.88.2 + +- Fix operationId for `/credit/payroll_income/precheck` + +### 2020-09-14_1.88.1 + +- Remove deprecated fields from `/item/application/list` + +### 2020-09-14_1.88.0 + +- Add `wire_routing_number` parameter to `/bank_transfer/migrate_account` + +### 2020-09-14_1.87.1 + +- Specify minimum length of 1 for `description` on `TransferIntentCreateRequest` + +### 2020-09-14_1.87.0 + +- Add `consent_id` support in the Institutions Search request + +### 2020-09-14_1.86.1 + +- Add `apex_clearing` as a processor partner + +### 2020-09-14_1.86.0 + +- Introduce Credit Payroll Income APIs +- Introduce Credit Precheck API + +### 2020-09-14_1.85.1 + +- Add `/identity_verification/create` endpoint, kept private for now + +### 2020-09-14_1.85.0 + +- Add `status` field to `ConnectedApplication` + +# 11.1.0 + +- Updating to OAS 2020-09-14_1.84.5 + +## OpenAPI Schema Changes + +### 2020-09-14_1.84.5 + +- Added missing `asset_report_id` field to `/asset_report/relay/refresh` + +### 2020-09-14_1.84.4 + +- Change summary description and url for `/credit/bank_income/get` + +### 2020-09-14_1.84.3 + +- Slight wording change for `/credit/bank_income/get` response fields + +### 2020-09-14_1.84.3 + +- Move `user_token` to top level of `link/token/create` request + +### 2020-09-14_1.84.2 + +- Correct typo in enum value for Investment subtypes (`person` -> `pension`) + +### 2020-09-14_1.84.1 + +- Fix schema to properly handle personal finance categories in `/transactions/get` + +### 2020-09-14_1.84.0 + +- Add `user_token` parameter to `link/token/create` + +### 2020-09-14_1.83.1 + +- Add new fields to `/credit/bank_income/get` response + +### 2020-09-14_1.83.0 + +- Remove `permitted` decision for `/transfer/authorization/create` + +### 2020-09-14_1.82.0 + +- Add beta field `consented_products` to `/item/get/` endpoint response + +### 2020-09-14_1.82.0 + +- Revamp LinkTokenCreate.IncomeVerificationOptions for GA + +### 2020-09-14_1.81.0 + +- Add `/transaction/rules/create`, `/transaction/rules/list` and `/transaction/rules/remove` endpoints + +### 2020-09-14_1.80.0 + +- Added `/user/create` endpoint + +# 11.0.0 + +- Updating to OAS 2020-09-14_1.79.0 + +## Breaking changes + +- Many enum fields have been de-anonymized and renamed, new names can be found in the `2020-09-14_1.64.15` change message +- Refactor account subtype enums for greater specificity. This has no changes to the API but is a major semver change for Python, Node, Go, and Java client library interfaces to the AccountSubtype object within account filtering contexts in `/link/token/create`. The `AccountSubtype` namespace in this context is now prefixed with the AccountType. (Example for Node: Old: `AccountSubtype.checking` New: `DepositoryAccountSubtype.checking`) + +## OpenAPI Schema Changes + +### 2020-09-14_1.79.0 + +- Update to include all changes up to `2020-09-14_1.77.4` (Undo revert from `1.78.x` updates) + +### 2020-09-14_1.77.4 + +- Remove the word "Asset" before "Relay" in every asset report relay related responses and request objects + +### 2020-09-14_1.77.3 + +- Add "AssetReport" at the beginning of relay related responses and request objects to match the same pattern as other assets related objects + +### 2020-09-14_1.77.2 + +- Add `ProductAccess` fields for upcoming partner + +# 10.2.0 + +- Updating to OAS 2020-09-14_1.78.2 +- Java library 10.1.0 was erroneously released as a `minor` version; 10.1.0 changes will be re-released as a `major` version shortly. + +# 10.1.0 + +- Updating to OAS 2020-09-14_1.77.1 + +## OpenAPI Schema Changes + +### 2020-09-14_1.77.1 + +- Fix extraneous field in enum that caused issue in code generation +- Added `asset_report_id` to the example for `/asset_report/relay/refresh` + +### 2020-09-14_1.77.0 + +- Explicitly set `format: double` for non-integer numbers so generated fields prefer float64 + +### 2020-09-14_1.76.0 + +- Add three new endpoints for Assets: `/asset_report/relay/create`, `/asset_report/relay/get`, and `/asset_report/relay/rmeove` + +### 2020-09-14_1.75.0 + +- Added `/asset_report/relay/refresh` endpoint + +### 2020-09-14_1.74.0 + +- Add `recurring_transactions` to list of products + +### 2020-09-14_1.73.0 + +- Add new endpoint for `/credit/bank_income/get` + +### 2020-09-14_1.72.0 + +- Updated documentation URLs for all product endpoints. They can now be found + at `/docs/api/products//#endpoint` instead of `/docs/api/products/#endpoint` + +### 2020-09-14_1.71.0 + +- internal changes + +### 2020-09-14_1.70.0 + +- Remove deprecated `income_verification_id` from `/sandbox/income/fire_webhook` + +### 2020-09-14_1.69.1 + +- Reorder processors enum + +### 2020-09-14_1.69.0 + +- Added `/beta/transactions/v1/enhance` endpoint + +### 2020-09-14_1.68.1 + +- Added `status` object to sample responses for `/institutions/get` and `institutions/search` endpoints + +### 2020-09-14_1.68.0 + +- Mark `include_personal_finance_category_beta` property as deprecated. +- Add new argument `include_personal_finance_category` to TransactionsGetRequestOptions. +- Update docs for `/transactions/get` request and response, referencing personal_finance_category taxonomy csv file. + +### 2020-09-14_1.67.1 + +- internal changes + +### 2020-09-14_1.67.0 + +- Removed unused `/income/verification/summary/get` endpoint + +### 2020-09-14_1.66.0 + +- Added Payment Consent endpoints + +### 2020-09-14_1.65.0 + +- Removed unused `/income/verification/paystub/get` endpoint + +### 2020-09-14_1.64.15 + +- De-anonymized enums: + - `PaymentInitiationPaymentReverseResponse.properties.status` => `PaymentInitiationRefundStatus` + - `PaymentInitiationPaymentCreateResponse.properties.status` => `PaymentInitiationPaymentCreateStatus` + - `PaymentInitiationRefund.properties.status` => `PaymentInitiationRefundStatus` + - `PaymentAmount.properties.currency` => `PaymentAmountCurrency` + - `InvestmentTransaction.properties.type` => `InvestmentTransactionType` + - `InvestmentTransaction.properties.subtype` => `InvestmentTransactionSubtype` + - `TransferAuthorizationDecisionRationale.properties.code` => `TransferAuthorizationDecisionRationaleCode` + - `TransferAuthorizationGuaranteeDecisionRationale.properties.code` => `TransferAuthorizationGuaranteeDecisionRationaleCode` + - `TransferAuthorization.properties.decision` => `TransferAuthorizationDecision` + - `TransferEventListRequest.properties.transfer_type` => `TransferEventListTransferType` + - `BankTransferEventListRequest.properties.bank_transfer_type` => `BankTransferEventListBankTransferType` + - `BankTransferEventListRequest.properties.direction` => `BankTransferEventListDirection` + - `TransferIntentCreate.properties.status` => `TransferIntentStatus` + - `TransferIntentGet.properties.status` => `TransferIntentStatus` + - `TransferIntentGet.properties.authorization_decision` => `TransferIntentAuthorizationDecision` +- `IncomeVerificationPrecheckMilitaryInfo.properties.branch` is now a string field (previously enum) + +### 2020-09-14_1.64.15 + +- Made `last_statement_balance` and `minimum_payment_amount` `nullable` for credit card liabilities schema to reflect existing API behavior. + +### 2020-09-14_1.64.14 + +- Made `last_payment_amount` and `last_statement_issue_date` `nullable` for credit card liabilities schema to reflect existing API behavior. +- Fix transfers examples to reflect more consistent usage of `region` field. + +# 10.0.0 + +- Updating to OAS 2020-09-14_1.64.13 + +## Breaking changes in this version + +- Split `AccountSubtype` enums and objects into per-endpoint ones to more accurately represent allowed values. + - `DepositoryFilter`'s account subtypes uses `DepositoryAccountSubtypes` + - `CreditFilter`'s account subtypes uses `CreditAccountSubtypes` + - `LoanFilter`'s account subtypes uses `LoanAccountSubtypes` + - `InvestmentFilter`'s account subtypes uses `InvestmentAccountSubtypes` + +## OpenAPI Schema Changes + +### 2020-09-14_1.64.13 + +- Deprecate `idempotency_key` parameter in transfer/create + +### 2020-09-14_1.64.12 + +- Removed the unused `required_product_access` and `optional_product_access` parameters from `RequestedScopes` + +### 2020-09-14_1.64.11 + +- Fix some examples that were not consistent with their schemas +- Add `adjustments` as an investments transaction type to make OpenAPI file consistent with values returned by the API +- Clarify description field for `marital_status` to reflect possible values + +### 2020-09-14_1.64.10 + +- Updated the external docs URL for Bank Transfers sandbox endpoints + +### 2020-09-14_1.64.9 + +- De-anonymized the object filters under `LinkTokenCreateRequestAccountSubtypes`, as anonymous objects aren't compatible with the generated CLibs. +- De-anonymized some misc. objects + - `PaymentInitiationMetadata/properties/maximum_payment_amount` + - `PaystubOverride/properties/employer` + - `PaystubOverride/properties/employee` + - `PaystubOverride/properties/employee/properties/address` + - `LiabilitiesDefaultUpdateWebhook/properties/account_ids_with_updated_liabilities` + +### 2020-09-14_1.64.8 + +- Updated the description of the historical_balances array + +### 2020-09-14_1.64.7 + +- Add new possible enums for income verification earnings breakdown canonical description + +### 2020-09-14_1.64.6 + +- Hid a few product enum values that are deprecated or no longer valid for certain request fields. This affects the documentation only. + +### 2020-09-14_1.64.5 + +- Make guarantee fields required in Transfer endpoints + +### 2020-09-14_1.64.4 + +- Updated description for `failure_reason` field in Transfer endpoints + +### 2020-09-14_1.64.3 + +- Make `repayment_id` required in `/transfer/repayment/return/list` endpoint + +### 2020-09-14_1.64.2 + +- Update description for legal name field in `BankTransferUser` + +### 2020-09-14_1.64.1 + +- Update descriptions for `/transfer/repayment/list` and `/transfer/repayment/return/list` endpoints + +### 2020-09-14_1.64.0 + +- Remove `scheme_automatic_downgrade` from `/payment_initiation/payment/create` + +### 2020-09-14_1.63.1 + +- Update description for `/sandbox/transfer/sweep/simulate` endpoint + +### 2020-09-14_1.63.0 + +- Refactor account subtype enums for greater specificity. This has no changes to the API but is a major semver change for Python, Node, Go, and Java client library interfaces to the AccountSubtype object within account filtering contexts in `/link/token/create`. The `AccountSubtype` namespace in this context is now prefixed with the AccountType. (Example for Node: Old: `AccountSubtype.checking` New: `DepositoryAccountSubtype.checking`) + +### 2020-09-14_1.62.7 + +- Update description for `datetime` and `authorized_datetime` fields in Transactions endpoints + +### 2020-09-14_1.62.6 + +- Make `sweep_id` / `sweep_amount` fields on Transfer Event nullable + +### 2020-09-14_1.62.6 + +- Set `institution_status` to be nullable in `InstitutionsGetResponse` + +### 2020-09-14_1.62.5 + +- Update external docs URLs for Transfer and Bank Transfer endpoints +- Update description for `ach_return_code` field in Transfer endpoints + +### 2020-09-14_1.62.4 + +- Add `join_date` to `/application/get` and `/item/application/list` +- Remove `created_at` from `/application/get` + +### 2020-09-14_1.62.3 + +- Updated various description fields for Income + +### 2020-09-14_1.62.2 + +- Add `employment` as an available product in Product array. + +### 2020-09-14_1.62.1 + +- Add `minItems` and `minLength` validation to various fields in `/institution/*` request schemas + +### 2020-09-14_1.62.0 + +- Add guarantee_decision and guarantee_decision rationale fields to the transfer API +- Add repayment-related resources to the transfer API + +### 2020-09-14_1.61.7 + +- Remove `receiver_pending` and `receiver_posted` from bank transfer event types. +- Remove `BankTransferReceiverDetails` from bank transfer event types. + +### 2020-09-14_1.61.6 + +- Update description formatting for `sweep` and `amount` fields for sweep endpoints + +### 2020-09-14_1.61.5 + +- Added `NEW_ACCOUNTS_AVAILABLE` webhook code as valid input to `/sandbox/item/fire_webhook` +- Update description for `/sandbox/item/fire_webhook` + +### 2020-09-14_1.61.4 + +- Set the `minimum` for the `count` and `offset` fields in `InstitutionsGetRequest` +- Set `products`, `routing_numbers`, and `oauth` fields to be nullable in `InstitutionsGetRequestOptions` +- Set `products` to be nullable in `InstitutionsSearchRequest` +- Set `oauth`, `include_auth_metadata`, and `include_payment_initiation_metadata` fields to be nullable in `InstitutionsSearchRequestOptions` +- Set `payment_id` field to be nullable in `InstitutionsSearchPaymentInitiationOptions` + +### 2020-09-14_1.61.3 + +- Adds `DOCUMENT_TYPE_NONE` enum value for document metadata + +### 2020-09-14_1.61.2 + +- Relax length restrictions on the `currency` field in the `Pay` schema + +### 2020-09-14_1.61.1 + +- Use new payment statuses in `PaymentStatusUpdateWebhook` + +# 9.11.0 + +- Updating to OAS 2020-09-14_1.61.0 + +# 9.10.0 + +- Updating to OAS 2020-09-14_1.58.1 + +# 9.9.0 + +- Updating to OAS 2020-09-14_1.54.2 + +# 9.8.0 + +- Updating to OAS 2020-09-14_1.46.1 + +# 9.7.0 + +- Updating to OAS 2020-09-14_1.44.0 + +# 9.6.0 + +- Updating to OAS 2020-09-14_1.40.3 + +# 9.5.0 + +- Updating to OAS 2020-09-14_1.36.1 + +# 9.4.0 + +- Updating to OAS 2020-09-14_1.34.1 +- Fixed an issue with enums in this library. The library is supposed to be able to gracefully handle new values being returned from the endpoint. Previously, if there were new enum values this library would crash. Now it coerces it into an `ENUM_UNKNOWN` value. + +# 9.3.0 + +Updating to OAS 2020-09-14_1.33.0. + +# 9.2.0 + +Updating to OAS 2020-09-14_1.31.1. + +# 9.1.0 + +Updating to OAS 2020-09-14_1.26.1. + +# 9.0.0 + +The official release of the `plaid-java` generated library. Refer to the beta migration guide for tips on migrating from older version of the libraries. + +This particular version is pinned to OpenAPI version `2020-09-14_1.20.6`. + +# 9.0.0-beta-2 + +Type fixes, see full changelog [here](https://github.com/plaid/plaid-openapi/blob/master/CHANGELOG.md). + +# 9.0.0-beta-1 + +This version represents a transition in how we maintain our external client libraries. We are now using an [API spec](https://github.com/plaid/plaid-openapi) written in `OpenAPI 3.0.0` and running our definition file through [OpenAPITool's `java` generator](https://github.com/OpenAPITools/openapi-generator). All tests have been rewritten to support the new format. See the [migration guide](https://github.com/plaid/plaid-java#migration-guide) for instructions on migrating to this version. + +# 8.5.0 + +- Add deposit switch support for `/link/token/create` + +# 8.4.0 + +- Add support for `options` to `/payment_initiation/payment/create` + +# 8.3.0 + +- Add `last_updated_datetime` to `/accounts/balance/get` + +# 8.2.0 + +- Add mortgage object to Liabilities +- Add Standing Orders support to Payment Initiation + +# 8.1.0 + +- Add [Bank Transfers](https://plaid.com/docs/bank-transfers/) endpoints to the library + +# 8.0.0 + +- The library has been pinned to the '2020-09-14' API release. Visit the [docs](https://plaid.com/docs/api/versioning/) to see what changed. +- the `/item/public_token/create` endpoint has been disabled in favor of the /link/token/create + endpoint +- The `/item/add_token/create endpoint` has been disabled in favor of the /link/token/create +- The `/payment_initiation/payment/token/create` endpoint has been disabled in favor of the /link/token/create + endpoint +- The `/item/remove` endpoint will no longer return a `removed` boolean. +- The `/institutions/get`, `/institutions/get_by_id`, and `/institutions/search` now require + `country_codes` to be passed in. + +# 7.1.0 + +- Add support for Link Token get endpoint ([#239](https://github.com/plaid/plaid-java/pull/239)) + - `/link/token/get` + +# 7.0.1 + +- expose Gson builder on Plaid Client. + +# 7.0.0 + +- [BREAKING] Add BACS support to `/recipient/create` +- Remove unnecessary `final`s from classes +- Adds support for `routingNumbers` field on `Institution` + +# 6.0.1 + +- Alter required fields for `link/token/create` endpoint. +- Downgrade okhttp3 version due to dependency management issue. +- Add support for the `merchantName` field on `Transaction` + +# 6.0.0 + +- [BREAKING] Remove `publicKey` from the library, because it is no longer needed by the API +- Add support for the `/link/token/create` endpoint + +# 5.7.0 + +- Add remaining per-product `InstitutionStatus` fields +- Add support for the `paymentChannel` field on `Transaction` +- Add support for the `/sandbox/item/set_verification_status` endpoint + +# 5.6.0 + +- Add optional fields to the /item/add_token/create User object + +# 5.5.0 + +- Add support for /item/add_token/create endpoint + +# 5.4.0 + +- Add item status for the investment product. +- Add transaction_code field to the Transaction object. + +# 5.3.0 + +- Add support for [Transactions Refresh](https://plaid.com/docs/api/#transactions-refresh) endpoint: `/transactions/refresh` + +# 5.2.0 + +- Add authorized_date field to Transactions object +- Add support for webhook_verification +- Add support for deposit switch endpoints + +# 5.1.5 + +- Add support for UK Payment Initiation +- Add VerificationStatus to Account object +- Add consent expiration time to ItemStatus + +# 5.1.4 + +- Add support for [Credit liabilities](https://plaid.com/docs/api/#liabilities). +- Add support for Account subtype filtering in [Institution Search](https://plaid.com/docs/#institution-search). +- Remove support for deprecated endpoint `/item/access_token/update_version`. + +# 5.1.2 + +- Add support for [Student loan liabilities](https://plaid.com/docs/api/#liabilities). + +# 5.1.0 + +- Add support for [Investments](https://plaid.com/docs/api/#investments). + +# 5.0.0 + +- Add support for 2019-05-29 API version + +# 4.0.3 + +- Allow more robust customization of underlying OkHttpClient used by PlaidClient. + +# 4.0.2 + +- Add support for [`/sandbox/item/fire_webhook`][sandbox-item-fire-webhook] endpoint ([#140](https://github.com/plaid/plaid-java/pull/140)) + +# 4.0.1 + +- Deprecate direct integration as it is no longer supported +- Replace `/item/delete` with `/item/remove` +- Add support for include_institution_data for /institutions/search, /institutions/get, /institutions/get_by_id ([#134](https://github.com/plaid/plaid-java/pull/134)) + +# 3.0.7 + +- Fix transaction get request handling. ([#132](https://github.com/plaid/plaid-java/pull/132)) + +# 3.0.6 + +- Add support for Asset Reports with Insights ([#130](https://github.com/plaid/plaid-java/pull/130)) + +# 3.0.5 + +- Add support for filtering asset reports ([#125](https://github.com/plaid/plaid-java/pull/125)) +- Add support for asset report refresh ([#126](https://github.com/plaid/plaid-java/pull/126)) +- Add support for /asset_report/audit_copy/get ([#127](https://github.com/plaid/plaid-java/pull/127)) + # 2.2.2 - Allow `TransactionGetRequest.Options` to be subclassed ([#110](https://github.com/plaid/plaid-java/pull/110)) @@ -41,3 +5556,5 @@ # 2.1.0 - Initial release for [Plaid's updated API](https://blog.plaid.com/improving-our-api) + +[sandbox-item-fire-webhook]: https://plaid.com/docs/#firing-webhooks diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..2615cedaef --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,25 @@ +# Contributing + +Instructions for contributing to [plaid-java][1]. A java client library for the [Plaid API][2]. This library is fully generated from the [Plaid OpenAPI spec](3). + +This library cannot directly accept PRs from the public as it is generated from internal Plaid sources on the internal Plaid GitHub instance and any changes made directly to this repo will be overwritten. If you submit a PR and it is accepted, a member of Plaid engineering will copy and paste your change into the upstream, internal version of this repo rather than merging your PR. + +Plaid employees should make any changes on the internal Plaid GitHub and not on the public repo. + +## Setup + +If you find an issue, please investigate whether it is a type problem with [OpenAPI](3) or a problem with the [java](https://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators/java.md) generator. Then open an issue and Plaid will investigate further. + +## Running Tests + +1. To build the docker image for the client tests, run `docker build -t plaid-java .`. +2. Go to the [Plaid Dashboard](https://dashboard.plaid.com/) and copy and paste your `client_id` and sandbox `secret` into the following command. +3. Run `docker run --rm -e PLAID_CLIENT_ID=$CLIENT_ID -e PLAID_SECRET=$SECRET plaid-java`. + +If you wish to run a single test, edit the `Dockerfile` CMD and add a parmeter like so: `CMD ["mvn", "-Dit.test=IdentityGet*", "-Dmaven.javadoc.skip=true", "verify", "-e"]` + +Then rebuild the docker image using the command from step 1. + +[1]: https://github.com/plaid/plaid-java +[2]: https://plaid.com +[3]: https://github.com/plaid/plaid-openapi diff --git a/DEPLOY.md b/DEPLOY.md deleted file mode 100644 index 34e776faa1..0000000000 --- a/DEPLOY.md +++ /dev/null @@ -1,111 +0,0 @@ -# Releasing a new version to Maven Central Repository - -Plaid-java is available at [Maven Central](https://search.maven.org/#search%7Cga%7C1%7Cplaid-java) - -## Setting up your Sonatype account - -To deploy a new version, you need a Sonatype account. -Sign up for an account [here](https://issues.sonatype.org/secure/Signup!default.jspa) with your plaid.com email. - -Afterwards, ask someone (mkelly@) to file a ticket like [OSSRH-39496](https://issues.sonatype.org/browse/OSSRH-39496) for you. - -This may take some time as we rely on folks at Sonatype to do this for us, so please be patient. - -## Setting up ~/.m2/settings.xml -We need to take your credentials from Sonatype and add it to your `~/.m2/settings.xml`. Maven reads `~/.m2/settings.xml` for user-specific configuration. - -Using the editor of your choice, paste this into your `~/.m2/settings.xml` file, replacing the username and password. - -``` - - - - ossrh - sonatypeusername - >>iLoveHotPot123!@HenrysHunan - - - - - ossrh - - true - - - gpg2 - true - - - - -``` - -## Installing maven - -If you haven't, you need to install maven. Maven is a build and dependency management system. - -``` -brew install maven -``` - -Even though the system is commonly known as maven, the binary is `mvn`. - -## Setting up a GPG key -As part of the maven artifact signing process, you need a gpg key set up locally. If you have not done this, run the following command - -``` -gpg --gen-key -``` - -Fill out the prompts and you'll have a new gpg key generated locally. You can confirm this by running `gpg --list-keys`. Your new key should appear at the bottom. - -You may see something like this. - -``` -pub rsa2048 2018-05-01 [SC] [expires: 2020-04-30] - 464ADCDE06A6F2D4BCCBCD601B8EB73128C3987A -uid [ultimate] First Last -sub rsa2048 2018-05-01 [E] [expires: 2020-04-30] -``` - -In the above example, `464ADCDE06A6F2D4BCCBCD610B8EB73128C3987A` is the identifier for the key. - -Later on in the process, your public key will be verified against one of several online key repos. To upload yours, run this - -`gpg --send-keys `. - -## Publishing the new version -`cd` to `plaid-java` and run the following. - -```bash -PLAID_PUBLIC_KEY=insertpublickeyhere \ -PLAID_SECRET=insertsecrethere \ -PLAID_CLIENT_ID=insertclientidhere \ -mvn release:prepare - -PLAID_PUBLIC_KEY=insertpublickey\ -PLAID_SECRET=insertsecrethere \ -PLAID_CLIENT_ID=insertclientidhere \ -mvn release:perform -``` - -This will release a new artifact with a bumped patch version to the Sonatype staging maven repository. After it's pushed to staging, you need to do some mucking around in the UI to push it to production. - -## Releasing the artifiact - -Login [here](https://oss.sonatype.org/#welcome) using your credentials from [above](#setting-up-your-sonatype-account). After logging in, click on "Staging Repositories" under "Build Promotion". On the top right corner there is a search bar. -Search for plaid. If you ran [publishing the new version](#publishing-the-new-version) properly, you'll see something like this. - -[Screenshot](../assets/ss1.png?raw=true) - -This process goes. -1. Artifact goes into a staging repo -1. The staging repo is "closed" -1. The staging repo is "released" (to the central repository) - -Once you click on the staging repo, you'll be able to "Close" it. Closing it does some checks, verifies some things, but once it finishes successfully (it may take a few minutes), you can then "Release" it. Once it's Released, the artifact is successfully released as a new version. It'll show up under "Artifact Search" within Sonatype "Nexus Repository Manager" right away. It may take a couple of hours to propagate to other Maven repositories. - -## Updating the documentation (don't forget these steps). - -1. Update README.md with the latest version. -1. Update the CHANGELOG. diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..6bc577511e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +# Note: This image is also built in CircleCI, so limit references to internal repositories. +FROM maven:3.6.3-jdk-8 +# If on Apple Silicon and running into build issues, Use arm64v8/maven:3.6.3-jdk-11 +# For context: https://jira.plaid.com/browse/DEVBUILD-106 + +# Create app directory +WORKDIR /usr/src/app + +# Copy app to directory +COPY . /usr/src/app + +CMD ["mvn", "-Dmaven.javadoc.skip=true", "verify", "-e"] diff --git a/LICENSE b/LICENSE index c76b7263b3..7aa9f41c1a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License -Copyright (c) 2014-2017 Plaid Technologies, Inc. +Copyright (c) 2021 Plaid Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/README.md b/README.md index e77cc8d9ec..46bb8f01a8 100644 --- a/README.md +++ b/README.md @@ -1,56 +1,75 @@ -plaid-java [![Circle CI](https://circleci.com/gh/plaid/plaid-java.svg?style=svg&circle-token=4ed876775bc0ac7fba18124bc835a9e82dab0c53)](https://circleci.com/gh/plaid/plaid-java) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.plaid/plaid-java/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.plaid/plaid-java) -========== +# plaid-java [![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.plaid/plaid-java/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.plaid/plaid-java) -Java Bindings for the Plaid API (https://www.plaid.com/docs). +Java Bindings for the Plaid API (https://www.plaid.com/docs). This library is generated from the [Plaid OpenAPI spec](https://github.com/plaid/plaid-openapi). -The whole available Plaid API is defined in the `PlaidApiService` interface. - -Check the Junit test classes for examples of more use cases. Every API endpoint has at -least one integration test against the sandbox environment. +Plaid API is defined in the `PlaidApi` interface. Uses [Retrofit](https://github.com/square/retrofit) and [OkHttp](https://github.com/square/okhttp) under the hood. You may want to take a look at those libraries if you need to do anything out of the ordinary. +## Table of Contents + +- [Installation](#installation) +- [Versioning](#versioning) +- [Basic Usage Examples](#basic-usage-examples) + - [Initialization, API call, and error handling](#initialization-api-call-and-error-handling) + - [Dates](#dates) +- [Migration Guide](#migration-guide) +- [Contributing](#contributing) +- [License](#license) + ### Installation -Plaid-java is available at [Maven Central](https://search.maven.org/#search%7Cga%7C1%7Cplaid-java) +Plaid-java is available at [Maven Central](https://central.sonatype.com/artifact/com.plaid/plaid-java). ```xml - com.plaid plaid-java - 3.0.4 + + 41.0.0 ``` ### Versioning +As of `9.0.0`, the library is generated from the OpenAPI spec. + Each major version of `plaid-java` targets a specific version of the Plaid API: -| API version | plaid-java release | -| ----------- | ------------------ | -| [`2018-05-22`][api-version-2018-05-22] (**latest**) | `3.x.x` | -| `2017-03-08` | `2.x.x` | +| API version | plaid-java release | +| ----------------------- | ------------------ | +| 2020-09-14 (**latest**) | 8.x.x and higher | +| 2019-05-29 | 7.x.x | +| 2018-05-22 | 4.x.x (and 3.x.x) | +| 2017-03-08 | 2.x.x | + +The plaid-java client library is typically updated on a monthly basis. The canonical source for the latest version number is the [client library changelog](https://github.com/plaid/plaid-java/blob/master/CHANGELOG.md). New versions are published as [GitHub tags](https://github.com/plaid/plaid-java/tags), not as Releases. New versions can also be found on [Maven Central](https://central.sonatype.com/artifact/com.plaid/plaid-java). -For information about what has changed between versions and how to update your integration, head to the [version changelog][version-changelog]. +All users are strongly recommended to use a recent version of the library, as older versions do not contain support for new endpoints and fields. For more details, see the [Migration Guide](#migration-guide). -### Basic Usage +### Basic Usage Examples + +For more examples of basic usage, see the [test suites](https://github.com/plaid/plaid-java/tree/master/src/test/java/com/plaid/client/integration), [Quickstart](https://github.com/plaid/quickstart/tree/master/java/src/main/java/com/plaid/quickstart), or [API Reference documentation](https://plaid.com/docs/api/). + +#### Initialization, API call, and error handling ```java -// Use builder to create a client -PlaidClient plaidClient = PlaidClient.newBuilder() - .clientIdAndSecret("your_client_id", "your_secret") - .publicKey("your_public_key") // optional. only needed to call endpoints that require a public key - .sandboxBaseUrl() // or equivalent, depending on which environment you're calling into - .build(); +private PlaidApi plaidClient; +HashMap apiKeys = new HashMap(); +apiKeys.put("clientId", plaidClientId); +apiKeys.put("secret", plaidSecret); +apiClient = new ApiClient(apiKeys); +apiClient.setPlaidAdapter(ApiClient.Sandbox); // or equivalent, depending on which environment you're calling into +plaidClient = apiClient.createService(PlaidApi.class); // Synchronously exchange a Link public_token for an API access_token // Required request parameters are always Request object constructor arguments -Response response = plaidClient.service() - .itemPublicTokenExchange(new ItemPublicTokenExchangeRequest("the_link_public_token")).execute(); +ItemPublicTokenExchangeRequest request = new ItemPublicTokenExchangeRequest().publicToken("the_link_public_token"); +Response response = plaidClient + .itemPublicTokenExchange(request).execute(); if (response.isSuccessful()) { accessToken = response.body().getAccessToken(); @@ -58,34 +77,218 @@ if (response.isSuccessful()) { // Asynchronously do the same thing. Useful for potentially long-lived calls. -plaidClient.service() - .itemPublicTokenExchange(new ItemPublicTokenExchangeRequest(publicToken)) +ItemPublicTokenExchangeRequest request = new ItemPublicTokenExchangeRequest().publicToken(publicToken); +plaidClient + .itemPublicTokenExchange(request) .enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()) { - accessToken = response.body.getAccessToken(); + accessToken = response.body().getAccessToken(); } } - + @Override public void onFailure(Call call, Throwable t) { // handle the failure as needed } }); - // Decoding an unsuccessful response try { - ErrorResponse errorResponse = plaidClient.parseError(response); + Gson gson = new Gson(); + PlaidError error = gson.fromJson(response.errorBody().string(), PlaidError.class); } catch (Exception e) { - // deal with it. you didn't even receive a well-formed JSON error response. + throw new Exception( + String.format( + "Failed converting from API Response Error Body to Error %s", + response.errorBody().string() + ) + ); } ``` -### Legacy API -If you're looking for a Java client that works with the legacy Plaid API, use -versions of `plaid-java` before `2.1.0`. The API and client are not backwards-compatible. +#### Dates + +Dates and datetimes in requests, which are represented as strings in the API, are represented in this version of the Java client library as `LocalDate` or `OffsetDateTime` objects. + +Time zone information is required for request fields that accept datetimes. Failing to include time zone information (or specifying a string, instead of an `OffsetDateTime` object) will result in an error. + +If the API reference documentation for a request field specifies `format: date`, the following is acceptable: + +```java +import java.time.LocalDate; + +LocalDate myDate = LocalDate.parse("2019-12-06"); +``` + +If the API reference documentation for a request field specifies `format: date-time`, the following is acceptable: + +```java +import java.time.OffsetDateTime; + +OffsetDateTime myDateTime = OffsetDateTime.parse("2019-12-06T22:35:49+00:00"); +``` + +## Migration guide + +### 9.0.0 or later to latest + +Migrating from a version released on or after August 2021 to a recent version should involve very minor integration changes. Many customers will not need to make changes to their integrations at all. To see a list of all potentially-breaking changes since your current version, see the [client library changelog](https://github.com/plaid/plaid-java/blob/master/CHANGELOG.md) and search for "Breaking changes in this version". Breaking changes are annotated at the top of each major version header. + +### Pre-9.0.0 to latest + +Version 9.0.0 of the client library was released in August 2021 and contains multiple interface changes, as described below. + +#### Major changes + +**Change CountryCodes to enum:** + +- from: `Arrays.asList("US")` +- to: `Arrays.asList(CountryCode.US)` + +**Rename model imports:** + +- from: `com.plaid.request.ModelName` and `com.plaid.response.ModelName` +- to: `com.plaid.model.ModelName` + +**Rename products:** + +- from: `com.plaid.client.request.common.Product` +- to: `com.plaid.model.Products` + +**Rename Error model:** + +- from: `com.plaid.client.model.ErrorResponse` +- to: `com.plaid.client.model.Error` +- from: `ErrorResponse.ErrorType` +- to: `Error.ErrorTypeEnum` + +**Rename Account model:** + +- from: `import com.plaid.client.model.Account` +- to: `import com.plaid.client.model.AccountBase` + +**Rename Payment Initiation Models**: + +- from: `import com.plaid.client.model.paymentinitiation.` +- to: `import com.plaid.client.model.PaymentInitiation${Model}` + +**Request Model Structure:** + +- All request models changed from having their options passed as function arguments `new AuthGetRequest(accessToken)` to now having builder syntax `new AuthGetRequest().accessToken(accessToken)`. +- All `with$VARNAME` chained setters have been converted to `${}options`. E.g. `.withEndDate(endDate)` -> `.endDate(endDate)` See [Optional Parameters](#optional-parameters) for an example. + +**Response Model Structure:** + +- Model response properties are no longer connected to their parent response. +- Most other getters/setters have stayed the same outside of a few capitalization changes. + +**Plaid Client changes:** + +- Remove all occurrences of `service()` attached to `client()` endpoint queries. +- Endpoints that start with `get` are now ${Model}Get. + +#### Date format changes + +The date and date-time format has changed in this client library. See [Dates](#dates) for information on the new date format. + +#### Enum changes + +While the API represents enums using strings, and previous library versions used singletons, this current library uses enum types. + +Old: + +``` +LinkTokenCreateRequest request = new LinkTokenCreateRequest( + Collections.singletonList("auth")) + .withCountryCodes(Collections.singletonList("US")) +... +``` + +Current: + +``` +LinkTokenCreateRequest request = new LinkTokenCreateRequest() + .products(Arrays.asList(Products.AUTH)) + .countryCodes(Arrays.asList(CountryCode.US)) + ... +``` + +#### Initialization and error handling + +See [basic usage](#basic-usage-examples) for examples of new-style initialization and error handling. + +#### Method calling examples + +Old: + +``` +// Pull real-time balance information for each account associated +// with the Item +Response response = client().service().accountsBalanceGet( + new AccountsBalanceGetRequest(accessToken)) + .execute(); +List accounts = response.body().getAccounts(); +``` + +New: + +``` +// Pull real-time balance information for each account associated +// with the Item +AccountsBalanceGetRequest request = new AccountsBalanceGetRequest() + .accessToken(accessToken); +Response response = client() + .accountsBalanceGet(request) + .execute(); +List accounts = response.body().getAccounts(); +``` + +#### Optional parameters + +Using `/link/token/create` as an example, required parameters move from constructor arguments to builder setters, and optional parameters (such as `webhook`, `linkCustomizationName`, and `redirectUri`) switch from `with*` setters to plain builder setters. + +Old: + +```java +// Required parameters are constructor arguments; optional parameters use with* setters +LinkTokenCreateRequest request = new LinkTokenCreateRequest( + new LinkTokenCreateRequest.User("user-id-from-your-db"), + "Plaid Test", + Arrays.asList("auth"), + Arrays.asList("US"), + "en") + .withWebhook("https://webhook-uri.com") + .withLinkCustomizationName("default") + .withRedirectUri("https://domainname.com/oauth-page.html"); +Response response = client().service() + .linkTokenCreate(request) + .execute(); +``` + +New: + +```java +// Required and optional parameters are all builder setters +LinkTokenCreateRequest request = new LinkTokenCreateRequest() + .user(new LinkTokenCreateRequestUser().clientUserId("user-id-from-your-db")) + .clientName("Plaid Test") + .products(Arrays.asList(Products.AUTH)) + .countryCodes(Arrays.asList(CountryCode.US)) + .language("en") + .webhook("https://webhook-uri.com") + .linkCustomizationName("default") + .redirectUri("https://domainname.com/oauth-page.html"); +Response response = plaidClient + .linkTokenCreate(request) + .execute(); +``` + +## Contributing + +Please see [Contributing](CONTRIBUTING.md) for guidelines and instructions for local development. + +## License -[version-changelog]: https://plaid.com/docs/version-changelog -[api-version-2018-05-22]: https://plaid.com/docs/api-upgrades#2018-05-22 +[MIT](LICENSE). diff --git a/circle.yml b/circle.yml deleted file mode 100644 index 92eb5818cb..0000000000 --- a/circle.yml +++ /dev/null @@ -1,6 +0,0 @@ -machine: - java: - version: oraclejdk8 -test: - override: - - mvn verify diff --git a/plaid_checks.xml b/plaid_checks.xml deleted file mode 100644 index 184f340174..0000000000 --- a/plaid_checks.xml +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pom.xml b/pom.xml index f1d7ad2cc7..d362c12d29 100644 --- a/pom.xml +++ b/pom.xml @@ -1,9 +1,10 @@ - + 4.0.0 com.plaid plaid-java - 3.0.5-SNAPSHOT + 43.0.0-SNAPSHOT org.sonatype.oss @@ -23,10 +24,20 @@ - Plaid Technologies, Inc. - http://plaid.com + Plaid Inc. + https://plaid.com + + + plaid-engineering + Plaid Engineering + support@plaid.com + Plaid Inc. + https://plaid.com + + + 2017 @@ -38,8 +49,13 @@ UTF-8 UTF-8 - 1.7 - 1.7 + 1.8 + 1.8 + + 1.5.22 + 1.0.1 + 1.9.0 + 1.3.2 jar @@ -135,13 +151,17 @@ org.apache.maven.plugins maven-javadoc-plugin - 2.9.1 + 3.1.1 attach-javadocs jar + + false + 8 + @@ -160,24 +180,6 @@ - - org.apache.maven.plugins - maven-checkstyle-plugin - 3.0.0 - - - process-sources - - check - - - - - plaid_checks.xml - warning - - - org.sonatype.plugins nexus-staging-maven-plugin @@ -185,7 +187,7 @@ true ossrh - https://oss.sonatype.org/ + https://ossrh-staging-api.central.sonatype.com/ true @@ -196,29 +198,75 @@ com.squareup.retrofit2 retrofit - 2.1.0 + 2.11.0 com.squareup.retrofit2 converter-gson - 2.1.0 + 2.11.0 com.squareup.okhttp3 okhttp - 3.6.0 + 4.12.0 com.squareup.okhttp3 logging-interceptor - 3.6.0 + 4.12.0 + + + + + com.squareup.retrofit2 + converter-scalars + 2.11.0 + + + io.swagger + swagger-annotations + ${swagger-annotations-version} + + + org.apache.oltu.oauth2 + org.apache.oltu.oauth2.client + ${oltu-version} + + + org.apache.oltu.oauth2 + common + + + + + io.gsonfire + gson-fire + ${gson-fire-version} + + + javax.annotation + javax.annotation-api + ${javax-annotation-version} + provided + + + + com.google.code.findbugs + jsr305 + 3.0.2 junit junit - 4.12 + 4.13.1 + test + + + net.jcip + jcip-annotations + 1.0 test @@ -227,12 +275,12 @@ ossrh Sonatype Nexus snapshot repository - https://oss.sonatype.org/content/repositories/snapshots + https://ossrh-staging-api.central.sonatype.com/content/repositories/snapshots ossrh Sonatype Nexus release repository - https://oss.sonatype.org/service/local/staging/deploy/maven2/ + https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/ diff --git a/src/main/java-templates/com/plaid/client/PlaidVersion.java b/src/main/java-templates/com/plaid/client/PlaidVersion.java deleted file mode 100644 index b00760cd2b..0000000000 --- a/src/main/java-templates/com/plaid/client/PlaidVersion.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.plaid.client; - -public class PlaidVersion { - public static final String PLAID_VERSION = "${project.version}"; -} diff --git a/src/main/java/com/plaid/client/ApiClient.java b/src/main/java/com/plaid/client/ApiClient.java new file mode 100644 index 0000000000..1db92715b0 --- /dev/null +++ b/src/main/java/com/plaid/client/ApiClient.java @@ -0,0 +1,490 @@ +package com.plaid.client; + +import com.google.gson.Gson; +import com.google.gson.JsonParseException; +import com.google.gson.JsonElement; +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; +import okhttp3.RequestBody; +import okhttp3.ResponseBody; +import okhttp3.Request; +import okhttp3.Response; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest.AuthenticationRequestBuilder; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder; +import retrofit2.Converter; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; +import retrofit2.converter.scalars.ScalarsConverterFactory; +import com.plaid.client.auth.HttpBasicAuth; +import com.plaid.client.auth.HttpBearerAuth; +import com.plaid.client.auth.ApiKeyAuth; +import com.plaid.client.auth.OAuth; +import com.plaid.client.auth.OAuth.AccessTokenListener; +import com.plaid.client.auth.OAuthFlow; + +import java.io.IOException; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; +import java.text.DateFormat; +import java.time.format.DateTimeFormatter; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.HashMap; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.TimeUnit; + +public class ApiClient { + + private Map apiAuthorizations; + private OkHttpClient.Builder okBuilder; + private Retrofit.Builder adapterBuilder; + private JSON json; + private OkHttpClient okHttpClient; + public static final String Production = "https://production.plaid.com"; + public static final String Sandbox = "https://sandbox.plaid.com"; + + public ApiClient() { + apiAuthorizations = new LinkedHashMap(); + createDefaultAdapter(); + okBuilder = new OkHttpClient.Builder() + .readTimeout(60, TimeUnit.SECONDS).connectTimeout(60, TimeUnit.SECONDS) + .addInterceptor(new Interceptor() { + @Override + public Response intercept(Chain chain) throws IOException { + Request originalRequest = chain.request(); + Request requestWithUserAgent = originalRequest.newBuilder() + .header("User-Agent", "Plaid Java v43.0.0") + .header("Plaid-Version", "2020-09-14") + .build(); + return chain.proceed(requestWithUserAgent); + } + }); + } + + public ApiClient(OkHttpClient client){ + apiAuthorizations = new LinkedHashMap(); + createDefaultAdapter(); + okHttpClient = client; + } + + public ApiClient(String[] authNames) { + this(); + for(String authName : authNames) { + Interceptor auth; + if ("clientId".equals(authName)) { + + auth = new ApiKeyAuth("header", "PLAID-CLIENT-ID"); + } else if ("oauth2".equals(authName)) { + + auth = new OAuth(OAuthFlow.application, "", "https://api.plaid.com/oauth2/apiv2/token", "cra:report:read, user:write"); + } else if ("plaidVersion".equals(authName)) { + + auth = new ApiKeyAuth("header", "Plaid-Version"); + } else if ("secret".equals(authName)) { + + auth = new ApiKeyAuth("header", "PLAID-SECRET"); + } else { + throw new RuntimeException("auth name \"" + authName + "\" not found in available auth names"); + } + + addAuthorization(authName, auth); + } + } + + /** + * Helper constructor for multiple api keys. Preferred constructor + */ + public ApiClient(Map apiKeys) { + this(); + for(String authName : apiKeys.keySet()) { + Interceptor auth; + if ("clientId".equals(authName)) { + + ApiKeyAuth apiKeyAuth = new ApiKeyAuth("header", "PLAID-CLIENT-ID"); + apiKeyAuth.setApiKey(apiKeys.get(authName)); + auth = (Interceptor) apiKeyAuth; + } else if ("oauth2".equals(authName)) { + + auth = new OAuth(OAuthFlow.application, "", "https://api.plaid.com/oauth2/apiv2/token", "cra:report:read, user:write"); + } else if ("plaidVersion".equals(authName)) { + + ApiKeyAuth apiKeyAuth = new ApiKeyAuth("header", "Plaid-Version"); + apiKeyAuth.setApiKey(apiKeys.get(authName)); + auth = (Interceptor) apiKeyAuth; + } else if ("secret".equals(authName)) { + + ApiKeyAuth apiKeyAuth = new ApiKeyAuth("header", "PLAID-SECRET"); + apiKeyAuth.setApiKey(apiKeys.get(authName)); + auth = (Interceptor) apiKeyAuth; + } else { + throw new RuntimeException("auth name \"" + authName + "\" not found in available auth names"); + } + + addAuthorization(authName, auth); + } + } + + /** + * Basic constructor for single auth name + * @param authName Authentication name + */ + public ApiClient(String authName) { + this(new String[]{authName}); + } + + /** + * Helper constructor for single api key + * @param authName Authentication name + * @param apiKey API key + */ + public ApiClient(String authName, String apiKey) { + this(authName); + this.setApiKey(apiKey); + } + + /** + * Helper constructor for single basic auth or password oauth2 + * @param authName Authentication name + * @param username Username + * @param password Password + */ + public ApiClient(String authName, String username, String password) { + this(authName); + this.setCredentials(username, password); + } + + /** + * Helper constructor for single password oauth2 + * @param authName Authentication name + * @param clientId Client ID + * @param secret Client Secret + * @param username Username + * @param password Password + */ + public ApiClient(String authName, String clientId, String secret, String username, String password) { + this(authName); + this.getTokenEndPoint() + .setClientId(clientId) + .setClientSecret(secret) + .setUsername(username) + .setPassword(password); + } + + public void createDefaultAdapter() { + json = new JSON(); + + String baseUrl = "https://production.plaid.com"; + if (!baseUrl.endsWith("/")) + baseUrl = baseUrl + "/"; + + adapterBuilder = new Retrofit + .Builder() + .baseUrl(baseUrl) + .addConverterFactory(ScalarsConverterFactory.create()) + .addConverterFactory(GsonCustomConverterFactory.create(json.getGson())); + } + public void setPlaidAdapter(String baseUrl) { + json = new JSON(); + + List PLAID_ENVS = Arrays.asList("https://sandbox.plaid.com", "https://production.plaid.com"); + + if(!PLAID_ENVS.contains(baseUrl)) { + System.out.println("baseUrl not found in PLAID_ENVS, must be one of the following: https://sandbox.plaid.com, https://production.plaid.com"); + } + + if (!baseUrl.endsWith("/")) + baseUrl = baseUrl + "/"; + + adapterBuilder = new Retrofit + .Builder() + .baseUrl(baseUrl) + .addConverterFactory(ScalarsConverterFactory.create()) + .addConverterFactory(GsonCustomConverterFactory.create(json.getGson())); + } + + /** + * Helper to set a specific timeout for read and connect + * @param overrideTimeout timeout in seconds + */ + public void setTimeout(int overrideTimeout) { + okBuilder.readTimeout(overrideTimeout, TimeUnit.SECONDS).connectTimeout(overrideTimeout, TimeUnit.SECONDS); + } + + public S createService(Class serviceClass) { + if (okHttpClient != null) { + return adapterBuilder.client(okHttpClient).build().create(serviceClass); + } else { + return adapterBuilder.client(okBuilder.build()).build().create(serviceClass); + } + } + + public ApiClient setDateFormat(DateFormat dateFormat) { + this.json.setDateFormat(dateFormat); + return this; + } + + public ApiClient setSqlDateFormat(DateFormat dateFormat) { + this.json.setSqlDateFormat(dateFormat); + return this; + } + + public ApiClient setOffsetDateTimeFormat(DateTimeFormatter dateFormat) { + this.json.setOffsetDateTimeFormat(dateFormat); + return this; + } + + public ApiClient setLocalDateFormat(DateTimeFormatter dateFormat) { + this.json.setLocalDateFormat(dateFormat); + return this; + } + + + /** + * Helper method to configure the first api key found + * @param apiKey API key + * @return ApiClient + */ + public ApiClient setApiKey(String apiKey) { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof ApiKeyAuth) { + ApiKeyAuth keyAuth = (ApiKeyAuth) apiAuthorization; + keyAuth.setApiKey(apiKey); + return this; + } + } + return this; + } + + /** + * Helper method to set token for the first Http Bearer authentication found. + * @param bearerToken Bearer token + * @return ApiClient + */ + public ApiClient setBearerToken(String bearerToken) { + for (Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof HttpBearerAuth) { + ((HttpBearerAuth) apiAuthorization).setBearerToken(bearerToken); + return this; + } + } + return this; + } + + /** + * Helper method to configure the username/password for basic auth or password oauth + * @param username Username + * @param password Password + * @return ApiClient + */ + public ApiClient setCredentials(String username, String password) { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof HttpBasicAuth) { + HttpBasicAuth basicAuth = (HttpBasicAuth) apiAuthorization; + basicAuth.setCredentials(username, password); + return this; + } + if (apiAuthorization instanceof OAuth) { + OAuth oauth = (OAuth) apiAuthorization; + oauth.getTokenRequestBuilder().setUsername(username).setPassword(password); + return this; + } + } + return this; + } + + /** + * Helper method to configure the token endpoint of the first oauth found in the apiAuthorizations (there should be only one) + * @return Token request builder + */ + public TokenRequestBuilder getTokenEndPoint() { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof OAuth) { + OAuth oauth = (OAuth) apiAuthorization; + return oauth.getTokenRequestBuilder(); + } + } + return null; + } + + /** + * Helper method to configure authorization endpoint of the first oauth found in the apiAuthorizations (there should be only one) + * @return Authentication request builder + */ + public AuthenticationRequestBuilder getAuthorizationEndPoint() { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof OAuth) { + OAuth oauth = (OAuth) apiAuthorization; + return oauth.getAuthenticationRequestBuilder(); + } + } + return null; + } + + /** + * Helper method to pre-set the oauth access token of the first oauth found in the apiAuthorizations (there should be only one) + * @param accessToken Access token + * @return ApiClient + */ + public ApiClient setAccessToken(String accessToken) { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof OAuth) { + OAuth oauth = (OAuth) apiAuthorization; + oauth.setAccessToken(accessToken); + return this; + } + } + return this; + } + + /** + * Helper method to configure the oauth accessCode/implicit flow parameters + * @param clientId Client ID + * @param clientSecret Client secret + * @param redirectURI Redirect URI + * @return ApiClient + */ + public ApiClient configureAuthorizationFlow(String clientId, String clientSecret, String redirectURI) { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof OAuth) { + OAuth oauth = (OAuth) apiAuthorization; + oauth.getTokenRequestBuilder() + .setClientId(clientId) + .setClientSecret(clientSecret) + .setRedirectURI(redirectURI); + oauth.getAuthenticationRequestBuilder() + .setClientId(clientId) + .setRedirectURI(redirectURI); + return this; + } + } + return this; + } + + /** + * Configures a listener which is notified when a new access token is received. + * @param accessTokenListener Access token listener + * @return ApiClient + */ + public ApiClient registerAccessTokenListener(AccessTokenListener accessTokenListener) { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof OAuth) { + OAuth oauth = (OAuth) apiAuthorization; + oauth.registerAccessTokenListener(accessTokenListener); + return this; + } + } + return this; + } + + /** + * Adds an authorization to be used by the client + * @param authName Authentication name + * @param authorization Authorization interceptor + * @return ApiClient + */ + public ApiClient addAuthorization(String authName, Interceptor authorization) { + if (apiAuthorizations.containsKey(authName)) { + throw new RuntimeException("auth name \"" + authName + "\" already in api authorizations"); + } + apiAuthorizations.put(authName, authorization); + if(okBuilder == null){ + throw new RuntimeException("The ApiClient was created with a built OkHttpClient so it's not possible to add an authorization interceptor to it"); + } + okBuilder.addInterceptor(authorization); + + return this; + } + + public Map getApiAuthorizations() { + return apiAuthorizations; + } + + public ApiClient setApiAuthorizations(Map apiAuthorizations) { + this.apiAuthorizations = apiAuthorizations; + return this; + } + + public Retrofit.Builder getAdapterBuilder() { + return adapterBuilder; + } + + public ApiClient setAdapterBuilder(Retrofit.Builder adapterBuilder) { + this.adapterBuilder = adapterBuilder; + return this; + } + + public OkHttpClient.Builder getOkBuilder() { + return okBuilder; + } + + public void addAuthsToOkBuilder(OkHttpClient.Builder okBuilder) { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + okBuilder.addInterceptor(apiAuthorization); + } + } + + /** + * Clones the okBuilder given in parameter, adds the auth interceptors and uses it to configure the Retrofit + * @param okClient An instance of OK HTTP client + */ + public void configureFromOkclient(OkHttpClient okClient) { + this.okBuilder = okClient.newBuilder(); + addAuthsToOkBuilder(this.okBuilder); + } +} + +/** + * This wrapper is to take care of this case: + * when the deserialization fails due to JsonParseException and the + * expected type is String, then just return the body string. + */ +class GsonResponseBodyConverterToString implements Converter { + private final Gson gson; + private final Type type; + + GsonResponseBodyConverterToString(Gson gson, Type type) { + this.gson = gson; + this.type = type; + } + + @Override public T convert(ResponseBody value) throws IOException { + String returned = value.string(); + try { + return gson.fromJson(returned, type); + } + catch (JsonParseException e) { + return (T) returned; + } + } +} + +class GsonCustomConverterFactory extends Converter.Factory +{ + private final Gson gson; + private final GsonConverterFactory gsonConverterFactory; + + public static GsonCustomConverterFactory create(Gson gson) { + return new GsonCustomConverterFactory(gson); + } + + private GsonCustomConverterFactory(Gson gson) { + if (gson == null) + throw new NullPointerException("gson == null"); + this.gson = gson; + this.gsonConverterFactory = GsonConverterFactory.create(gson); + } + + @Override + public Converter responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) { + if (type.equals(String.class)) + return new GsonResponseBodyConverterToString(gson, type); + else + return gsonConverterFactory.responseBodyConverter(type, annotations, retrofit); + } + + @Override + public Converter requestBodyConverter(Type type, Annotation[] parameterAnnotations, Annotation[] methodAnnotations, Retrofit retrofit) { + return gsonConverterFactory.requestBodyConverter(type, parameterAnnotations, methodAnnotations, retrofit); + } +} diff --git a/src/main/java/com/plaid/client/CollectionFormats.java b/src/main/java/com/plaid/client/CollectionFormats.java new file mode 100644 index 0000000000..0a6c7b0049 --- /dev/null +++ b/src/main/java/com/plaid/client/CollectionFormats.java @@ -0,0 +1,99 @@ +package com.plaid.client; + +import java.util.Arrays; +import java.util.List; + +public class CollectionFormats { + + public static class CSVParams { + + protected List params; + + public CSVParams() { + } + + public CSVParams(List params) { + this.params = params; + } + + public CSVParams(String... params) { + this.params = Arrays.asList(params); + } + + public List getParams() { + return params; + } + + public void setParams(List params) { + this.params = params; + } + + @Override + public String toString() { + return StringUtil.join(params.toArray(new String[0]), ","); + } + + } + + public static class SPACEParams extends SSVParams { + + } + + public static class SSVParams extends CSVParams { + + public SSVParams() { + } + + public SSVParams(List params) { + super(params); + } + + public SSVParams(String... params) { + super(params); + } + + @Override + public String toString() { + return StringUtil.join(params.toArray(new String[0]), " "); + } + } + + public static class TSVParams extends CSVParams { + + public TSVParams() { + } + + public TSVParams(List params) { + super(params); + } + + public TSVParams(String... params) { + super(params); + } + + @Override + public String toString() { + return StringUtil.join( params.toArray(new String[0]), "\t"); + } + } + + public static class PIPESParams extends CSVParams { + + public PIPESParams() { + } + + public PIPESParams(List params) { + super(params); + } + + public PIPESParams(String... params) { + super(params); + } + + @Override + public String toString() { + return StringUtil.join(params.toArray(new String[0]), "|"); + } + } + +} diff --git a/src/main/java/com/plaid/client/JSON.java b/src/main/java/com/plaid/client/JSON.java new file mode 100644 index 0000000000..f33f1e002a --- /dev/null +++ b/src/main/java/com/plaid/client/JSON.java @@ -0,0 +1,320 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapter; +import com.google.gson.internal.bind.util.ISO8601Utils; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.google.gson.JsonElement; +import io.gsonfire.GsonFireBuilder; +import io.gsonfire.TypeSelector; + +import com.plaid.client.model.*; + +import java.io.IOException; +import java.io.StringReader; +import java.lang.reflect.Type; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.ParsePosition; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.Locale; +import java.util.Map; +import java.util.HashMap; + +public class JSON { + private Gson gson; + private DateTypeAdapter dateTypeAdapter = new DateTypeAdapter(); + private SqlDateTypeAdapter sqlDateTypeAdapter = new SqlDateTypeAdapter(); + private OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter(); + private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter(); + + public static GsonBuilder createGson() { + GsonFireBuilder fireBuilder = new GsonFireBuilder() + + ; + return fireBuilder.createGsonBuilder(); + } + + private static String getDiscriminatorValue(JsonElement readElement, String discriminatorField) { + JsonElement element = readElement.getAsJsonObject().get(discriminatorField); + if(null == element) { + throw new IllegalArgumentException("missing discriminator field: <" + discriminatorField + ">"); + } + return element.getAsString(); + } + + private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) { + Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase(Locale.ROOT)); + if(null == clazz) { + throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">"); + } + return clazz; + } + + public JSON() { + gson = createGson() + .registerTypeAdapter(Date.class, dateTypeAdapter) + .registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter) + .registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter) + .registerTypeAdapter(LocalDate.class, localDateTypeAdapter) + .create(); + } + + /** + * Get Gson. + * + * @return Gson + */ + public Gson getGson() { + return gson; + } + + /** + * Set Gson. + * + * @param gson Gson + * @return JSON + */ + public JSON setGson(Gson gson) { + this.gson = gson; + return this; + } + + /** + * Gson TypeAdapter for JSR310 OffsetDateTime type + */ + public static class OffsetDateTimeTypeAdapter extends TypeAdapter { + + private DateTimeFormatter formatter; + + public OffsetDateTimeTypeAdapter() { + this(DateTimeFormatter.ISO_OFFSET_DATE_TIME); + } + + public OffsetDateTimeTypeAdapter(DateTimeFormatter formatter) { + this.formatter = formatter; + } + + public void setFormat(DateTimeFormatter dateFormat) { + this.formatter = dateFormat; + } + + @Override + public void write(JsonWriter out, OffsetDateTime date) throws IOException { + if (date == null) { + out.nullValue(); + } else { + out.value(formatter.format(date)); + } + } + + @Override + public OffsetDateTime read(JsonReader in) throws IOException { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + if (date.endsWith("+0000")) { + date = date.substring(0, date.length()-5) + "Z"; + } + return OffsetDateTime.parse(date, formatter); + } + } + } + + /** + * Gson TypeAdapter for JSR310 LocalDate type + */ + public class LocalDateTypeAdapter extends TypeAdapter { + + private DateTimeFormatter formatter; + + public LocalDateTypeAdapter() { + this(DateTimeFormatter.ISO_LOCAL_DATE); + } + + public LocalDateTypeAdapter(DateTimeFormatter formatter) { + this.formatter = formatter; + } + + public void setFormat(DateTimeFormatter dateFormat) { + this.formatter = dateFormat; + } + + @Override + public void write(JsonWriter out, LocalDate date) throws IOException { + if (date == null) { + out.nullValue(); + } else { + out.value(formatter.format(date)); + } + } + + @Override + public LocalDate read(JsonReader in) throws IOException { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + return LocalDate.parse(date, formatter); + } + } + } + + public JSON setOffsetDateTimeFormat(DateTimeFormatter dateFormat) { + offsetDateTimeTypeAdapter.setFormat(dateFormat); + return this; + } + + public JSON setLocalDateFormat(DateTimeFormatter dateFormat) { + localDateTypeAdapter.setFormat(dateFormat); + return this; + } + + /** + * Gson TypeAdapter for java.sql.Date type + * If the dateFormat is null, a simple "yyyy-MM-dd" format will be used + * (more efficient than SimpleDateFormat). + */ + public static class SqlDateTypeAdapter extends TypeAdapter { + + private DateFormat dateFormat; + + public SqlDateTypeAdapter() { + } + + public SqlDateTypeAdapter(DateFormat dateFormat) { + this.dateFormat = dateFormat; + } + + public void setFormat(DateFormat dateFormat) { + this.dateFormat = dateFormat; + } + + @Override + public void write(JsonWriter out, java.sql.Date date) throws IOException { + if (date == null) { + out.nullValue(); + } else { + String value; + if (dateFormat != null) { + value = dateFormat.format(date); + } else { + value = date.toString(); + } + out.value(value); + } + } + + @Override + public java.sql.Date read(JsonReader in) throws IOException { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + try { + if (dateFormat != null) { + return new java.sql.Date(dateFormat.parse(date).getTime()); + } + return new java.sql.Date(ISO8601Utils.parse(date, new ParsePosition(0)).getTime()); + } catch (ParseException e) { + throw new JsonParseException(e); + } + } + } + } + + /** + * Gson TypeAdapter for java.util.Date type + * If the dateFormat is null, ISO8601Utils will be used. + */ + public static class DateTypeAdapter extends TypeAdapter { + + private DateFormat dateFormat; + + public DateTypeAdapter() { + } + + public DateTypeAdapter(DateFormat dateFormat) { + this.dateFormat = dateFormat; + } + + public void setFormat(DateFormat dateFormat) { + this.dateFormat = dateFormat; + } + + @Override + public void write(JsonWriter out, Date date) throws IOException { + if (date == null) { + out.nullValue(); + } else { + String value; + if (dateFormat != null) { + value = dateFormat.format(date); + } else { + value = ISO8601Utils.format(date, true); + } + out.value(value); + } + } + + @Override + public Date read(JsonReader in) throws IOException { + try { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + try { + if (dateFormat != null) { + return dateFormat.parse(date); + } + return ISO8601Utils.parse(date, new ParsePosition(0)); + } catch (ParseException e) { + throw new JsonParseException(e); + } + } + } catch (IllegalArgumentException e) { + throw new JsonParseException(e); + } + } + } + + public JSON setDateFormat(DateFormat dateFormat) { + dateTypeAdapter.setFormat(dateFormat); + return this; + } + + public JSON setSqlDateFormat(DateFormat dateFormat) { + sqlDateTypeAdapter.setFormat(dateFormat); + return this; + } + +} diff --git a/src/main/java/com/plaid/client/PlaidApiService.java b/src/main/java/com/plaid/client/PlaidApiService.java deleted file mode 100644 index 1d5f109559..0000000000 --- a/src/main/java/com/plaid/client/PlaidApiService.java +++ /dev/null @@ -1,197 +0,0 @@ -package com.plaid.client; - -import com.plaid.client.request.AccountsBalanceGetRequest; -import com.plaid.client.request.AccountsGetRequest; -import com.plaid.client.request.AssetReportAuditCopyCreateRequest; -import com.plaid.client.request.AssetReportAuditCopyRemoveRequest; -import com.plaid.client.request.AssetReportCreateRequest; -import com.plaid.client.request.AssetReportGetRequest; -import com.plaid.client.request.AssetReportPdfGetRequest; -import com.plaid.client.request.AssetReportRemoveRequest; -import com.plaid.client.request.AuthGetRequest; -import com.plaid.client.request.CategoriesGetRequest; -import com.plaid.client.request.CreditDetailsGetRequest; -import com.plaid.client.request.IdentityGetRequest; -import com.plaid.client.request.IncomeGetRequest; -import com.plaid.client.request.InstitutionsGetByIdRequest; -import com.plaid.client.request.InstitutionsGetRequest; -import com.plaid.client.request.InstitutionsSearchRequest; -import com.plaid.client.request.ItemAccessTokenInvalidateRequest; -import com.plaid.client.request.ItemAccessTokenUpdateVersionRequest; -import com.plaid.client.request.ItemApexProcessorTokenCreateRequest; -import com.plaid.client.request.ItemCreateRequest; -import com.plaid.client.request.ItemCredentialsEncryptRequest; -import com.plaid.client.request.ItemCredentialsUpdateRequest; -import com.plaid.client.request.ItemDeleteRequest; -import com.plaid.client.request.ItemDwollaProcessorTokenCreateRequest; -import com.plaid.client.request.ItemGetRequest; -import com.plaid.client.request.ItemMfaEncryptRequest; -import com.plaid.client.request.ItemMfaRequest; -import com.plaid.client.request.ItemPublicTokenCreateRequest; -import com.plaid.client.request.ItemPublicTokenExchangeRequest; -import com.plaid.client.request.ItemRemoveRequest; -import com.plaid.client.request.ItemStripeTokenCreateRequest; -import com.plaid.client.request.ItemWebhookUpdateRequest; -import com.plaid.client.request.SandboxItemResetLoginRequest; -import com.plaid.client.request.SandboxPublicTokenCreateRequest; -import com.plaid.client.request.TransactionsGetRequest; -import com.plaid.client.response.AccountsBalanceGetResponse; -import com.plaid.client.response.AccountsGetResponse; -import com.plaid.client.response.AssetReportAuditCopyCreateResponse; -import com.plaid.client.response.AssetReportAuditCopyRemoveResponse; -import com.plaid.client.response.AssetReportCreateResponse; -import com.plaid.client.response.AssetReportGetResponse; -import com.plaid.client.response.AssetReportRemoveResponse; -import com.plaid.client.response.AuthGetResponse; -import com.plaid.client.response.CategoriesGetResponse; -import com.plaid.client.response.CreditDetailsGetResponse; -import com.plaid.client.response.IdentityGetResponse; -import com.plaid.client.response.IncomeGetResponse; -import com.plaid.client.response.InstitutionsGetByIdResponse; -import com.plaid.client.response.InstitutionsGetResponse; -import com.plaid.client.response.InstitutionsSearchResponse; -import com.plaid.client.response.ItemAccessTokenInvalidateResponse; -import com.plaid.client.response.ItemAccessTokenUpdateVersionResponse; -import com.plaid.client.response.ItemApexProcessorTokenCreateResponse; -import com.plaid.client.response.ItemCreateResponse; -import com.plaid.client.response.ItemCredentialsEncryptResponse; -import com.plaid.client.response.ItemCredentialsUpdateResponse; -import com.plaid.client.response.ItemDeleteResponse; -import com.plaid.client.response.ItemDwollaProcessorTokenCreateResponse; -import com.plaid.client.response.ItemGetResponse; -import com.plaid.client.response.ItemMfaEncryptResponse; -import com.plaid.client.response.ItemMfaResponse; -import com.plaid.client.response.ItemPublicTokenCreateResponse; -import com.plaid.client.response.ItemPublicTokenExchangeResponse; -import com.plaid.client.response.ItemRemoveResponse; -import com.plaid.client.response.ItemStripeTokenCreateResponse; -import com.plaid.client.response.ItemWebhookUpdateResponse; -import com.plaid.client.response.SandboxItemResetLoginResponse; -import com.plaid.client.response.SandboxPublicTokenCreateResponse; -import com.plaid.client.response.TransactionsGetResponse; -import okhttp3.ResponseBody; -import retrofit2.Call; -import retrofit2.Response; -import retrofit2.http.Body; -import retrofit2.http.POST; - -public interface PlaidApiService { - - // item, link, and credentials calls - //////////////////////////////////////////////////////// - //////////////////////////////////////////////////////// - @POST("/item/create") - Call itemCreate(@Body ItemCreateRequest request); - - @POST("/item/mfa") - Call itemMfa(@Body ItemMfaRequest request); - - @POST("/item/get") - Call itemGet(@Body ItemGetRequest request); - - @POST("/item/credentials/update") - Call itemCredentialsUpdate(@Body ItemCredentialsUpdateRequest request); - - @POST("/item/credentials/encrypt") - Call itemCredentialsEncrypt(@Body ItemCredentialsEncryptRequest request); - - @POST("/item/mfa/encrypt") - Call itemMfaEncrypt(@Body ItemMfaEncryptRequest request); - - @POST("/item/public_token/exchange") - Call itemPublicTokenExchange(@Body ItemPublicTokenExchangeRequest request); - - @POST("/item/public_token/create") - Call itemPublicTokenCreate(@Body ItemPublicTokenCreateRequest request); - - @POST("/processor/stripe/bank_account_token/create") - Call itemStripeTokenCreate(@Body ItemStripeTokenCreateRequest request); - - @POST("/processor/apex/processor_token/create") - Call itemApexProcessorTokenCreate(@Body ItemApexProcessorTokenCreateRequest request); - - @POST("/processor/dwolla/processor_token/create") - Call itemDwollaProcessorTokenCreate(@Body ItemDwollaProcessorTokenCreateRequest request); - - @POST("/item/access_token/invalidate") - Call itemAccessTokenInvalidate(@Body ItemAccessTokenInvalidateRequest request); - - @POST("/item/access_token/update_version") - Call itemAccessTokenUpdateVersion(@Body ItemAccessTokenUpdateVersionRequest request); - - @POST("/item/delete") - Call itemDelete(@Body ItemDeleteRequest request); - - @POST("/item/remove") - Call itemRemove(@Body ItemRemoveRequest request); - - @POST("/item/webhook/update") - Call itemWebhookUpdate(@Body ItemWebhookUpdateRequest request); - - // sandbox-only endpoints - //////////////////////////////////////////////////////// - //////////////////////////////////////////////////////// - @POST("/sandbox/item/reset_login") - Call sandboxItemResetLogin(@Body SandboxItemResetLoginRequest request); - - @POST("/sandbox/public_token/create") - Call sandboxPublicTokenCreate(@Body SandboxPublicTokenCreateRequest request); - - // products - //////////////////////////////////////////////////////// - //////////////////////////////////////////////////////// - @POST("/accounts/get") - Call accountsGet(@Body AccountsGetRequest request); - - @POST("/accounts/balance/get") - Call accountsBalanceGet(@Body AccountsBalanceGetRequest request); - - @POST("/asset_report/create") - Call assetReportCreate(@Body AssetReportCreateRequest request); - - @POST("/asset_report/get") - Call assetReportGet(@Body AssetReportGetRequest request); - - // This returns raw bytes so we don't have a wrapper class - @POST("/asset_report/pdf/get") - Call assetReportPdfGet(@Body AssetReportPdfGetRequest request); - - @POST("/asset_report/remove") - Call assetReportRemove(@Body AssetReportRemoveRequest request); - - @POST("/asset_report/audit_copy/create") - Call assetReportAuditCopyCreate(@Body AssetReportAuditCopyCreateRequest request); - - @POST("/asset_report/audit_copy/remove") - Call assetReportAuditCopyRemove(@Body AssetReportAuditCopyRemoveRequest request); - - @POST("/auth/get") - Call authGet(@Body AuthGetRequest request); - - @POST("/identity/get") - Call identityGet(@Body IdentityGetRequest request); - - @POST("/income/get") - Call incomeGet(@Body IncomeGetRequest request); - - @POST("/transactions/get") - Call transactionsGet(@Body TransactionsGetRequest request); - - @POST("/credit_details/get") - Call creditDetailsGet(@Body CreditDetailsGetRequest request); - - @POST("/categories/get") - Call categoriesGet(@Body CategoriesGetRequest request); - - // institutions - //////////////////////////////////////////////////////// - //////////////////////////////////////////////////////// - @POST("/institutions/get") - Call institutionsGet(@Body InstitutionsGetRequest request); - - @POST("/institutions/get_by_id") - Call institutionsGetById(@Body InstitutionsGetByIdRequest request); - - @POST("/institutions/search") - Call institutionsSearch(@Body InstitutionsSearchRequest request); -} diff --git a/src/main/java/com/plaid/client/PlaidClient.java b/src/main/java/com/plaid/client/PlaidClient.java deleted file mode 100644 index 24f17ddd37..0000000000 --- a/src/main/java/com/plaid/client/PlaidClient.java +++ /dev/null @@ -1,366 +0,0 @@ -package com.plaid.client; - -import com.google.gson.FieldNamingPolicy; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.plaid.client.internal.Util; -import com.plaid.client.internal.gson.CredentialInjectingTypeAdapterFactory; -import com.plaid.client.internal.gson.ImmutableListTypeAdapterFactory; -import com.plaid.client.internal.gson.BaseOptionsSerializer; -import com.plaid.client.internal.gson.OptionalTypeAdapterFactory; -import com.plaid.client.internal.gson.RequiredFieldTypeAdapterFactory; -import com.plaid.client.request.TransactionsGetRequest; -import com.plaid.client.response.ErrorResponse; -import java.io.IOException; -import java.lang.annotation.Annotation; -import java.security.KeyStore; -import java.util.Arrays; -import java.util.Collections; -import java.util.concurrent.TimeUnit; -import javax.net.ssl.SSLContext; -import javax.net.ssl.SSLSocket; -import javax.net.ssl.SSLSocketFactory; -import javax.net.ssl.TrustManager; -import javax.net.ssl.TrustManagerFactory; -import javax.net.ssl.X509TrustManager; -import okhttp3.ConnectionSpec; -import okhttp3.Interceptor; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.ResponseBody; -import okhttp3.TlsVersion; -import okhttp3.logging.HttpLoggingInterceptor; -import retrofit2.Converter; -import retrofit2.Response; -import retrofit2.Retrofit; -import retrofit2.converter.gson.GsonConverterFactory; - -public final class PlaidClient { - // a more restrictive connection spec based on the MODERN_TLS spec already present in OkHttp - private static final ConnectionSpec CONNECTION_SPEC = - new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS) - .tlsVersions(TlsVersion.TLS_1_2) - .build(); - private static String headerVersion; - - private final PlaidApiService plaidApiService; - private final Retrofit retrofit; - - private PlaidClient(PlaidApiService plaidApiService, Retrofit retrofit) { - this.plaidApiService = plaidApiService; - this.retrofit = retrofit; - } - - /** - * Get the Retrofit {@link PlaidApiService} which backs this client. - * - * All Plaid API calls are called on this service object. - * - * @return the {@link PlaidApiService} - */ - public PlaidApiService service() { - return plaidApiService; - } - - /** - * A helper to assist with decoding unsuccessful responses. - * - * This is not done automatically, because an unsuccessful result may have many causes - * such as network issues, intervening HTTP proxies, load balancers, partial responses, etc, - * which means that a response can easily be incomplete, or not even the expected well-formed - * JSON error. - * - * Therefore, even when using this helper, be prepared for it to throw an exception instead of - * successfully decoding every error response! - * - * @param response the unsuccessful response object to deserialize. - * @return the resulting {@link ErrorResponse}, assuming deserialization succeeded. - * @throws RuntimeException if the response cannot be deserialized - */ - public ErrorResponse parseError(Response response) { - if (response.isSuccessful()) { - throw new IllegalArgumentException("Response must be unsuccessful."); - } - - Converter responseBodyObjectConverter = - retrofit.responseBodyConverter(ErrorResponse.class, new Annotation[0]); - - try { - return responseBodyObjectConverter.convert(response.errorBody()); - } catch (IOException ex) { - throw new RuntimeException("Could not parse error response", ex); - } - } - - /** - * Visible for testing. - * - * @return the underlying Retrofit client. - */ - public Retrofit getRetrofit() { - return retrofit; - } - - /** - * Start here! Creates a new {@link Builder} so you can make a {@link PlaidClient}. - * - * @return A brand new {@link Builder} - */ - public static Builder newBuilder() { - return new Builder(); - } - - public static class PlaidApiHeadersInterceptor implements Interceptor { - @Override public okhttp3.Response intercept(Interceptor.Chain chain) throws IOException { - Request originalRequest = chain.request(); - Request transformedRequest = originalRequest.newBuilder() - .addHeader(PlaidHeaders.PLAID_API_VERSION_OVERRIDE_HEADER, - PlaidHeaders.PLAID_API_VERSION) - .addHeader(PlaidHeaders.PLAID_API_USER_AGENT_HEADER, getUserAgentHeader()) - .build(); - return chain.proceed(transformedRequest); - } - } - - private static String getUserAgentHeader() { - return String.format("Plaid Java v%s", PlaidVersion.PLAID_VERSION); - } - - public static class Builder { - public static String DEFAULT_PRODUCTION_BASE_URL = "https://production.plaid.com"; - public static String DEFAULT_DEVELOPMENT_BASE_URL = "https://development.plaid.com"; - public static String DEFAULT_SANDBOX_BASE_URL = "https://sandbox.plaid.com"; - public static long DEFAULT_READ_TIMEOUT_SECONDS = 300; - public static long DEFAULT_CONNECT_TIMEOUT_SECONDS = 5; - - private final OkHttpClient.Builder okHttpClientBuilder; - private String baseUrl; - private HttpLoggingInterceptor.Level httpLogLevel; - private long readTimeoutSeconds; - private long connectTimeoutSeconds; - private String publicKey; - private String clientId; - private String secret; - - private Builder() { - this.okHttpClientBuilder = new OkHttpClient.Builder(); - this.readTimeoutSeconds = DEFAULT_READ_TIMEOUT_SECONDS; - this.connectTimeoutSeconds = DEFAULT_CONNECT_TIMEOUT_SECONDS; - } - - /** - * Validate builder parameters, create, and return a new {@link PlaidClient}. - * - * @return A brand new {@link PlaidClient} - */ - public PlaidClient build() { - if (baseUrl == null) { - throw new IllegalArgumentException( - "must set baseUrl. You probably want to call productionBaseUrl(), developmentBaseUrl(), or sandboxBaseUrl()."); - } - - if (publicKey == null && (clientId == null || secret == null)) { - throw new IllegalArgumentException("must set a publicKey, clientIdAndSecret, or both!"); - } - - Retrofit retrofit = new Retrofit.Builder() - .baseUrl(baseUrl) - .validateEagerly(true) - .addConverterFactory(GsonConverterFactory.create(buildGson())) - .client(buildOkHttpClient()) - .build(); - - return new PlaidClient(retrofit.create(PlaidApiService.class), retrofit); - } - - private Gson buildGson() { - return new GsonBuilder() - .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) - .registerTypeAdapterFactory( - new CredentialInjectingTypeAdapterFactory(publicKey, clientId, secret)) - .registerTypeAdapterFactory(new RequiredFieldTypeAdapterFactory()) - .registerTypeAdapterFactory(new OptionalTypeAdapterFactory()) - .registerTypeAdapterFactory(new ImmutableListTypeAdapterFactory()) - .registerTypeAdapter(TransactionsGetRequest.Options.class, new BaseOptionsSerializer()) - .create(); - } - - private OkHttpClient buildOkHttpClient() { - okHttpClientBuilder - .readTimeout(readTimeoutSeconds, TimeUnit.SECONDS) - .connectTimeout(connectTimeoutSeconds, TimeUnit.SECONDS) - .followSslRedirects(false) - .addInterceptor(new PlaidApiHeadersInterceptor()) - .connectionSpecs(Collections.singletonList(CONNECTION_SPEC)); - - if (httpLogLevel != null) { - okHttpClientBuilder.addInterceptor(new HttpLoggingInterceptor().setLevel(httpLogLevel)); - } - - checkRuntimeSupportsTls12(okHttpClientBuilder); - - return okHttpClientBuilder.build(); - } - - /** - * Plaid's API requires TLSv1.2, which is well-supported - * on JDK 8, but spotty on JDK 7 and below. - * - * This attempts to detect whether TLSv1.2 is already enabled by default, - * and if not, enable it, or failing that throw an error early. - * - * @param okHttpClientBuilder the OkHttpClient builder - */ - private void checkRuntimeSupportsTls12(OkHttpClient.Builder okHttpClientBuilder) { - SSLSocket testSslSocket = null; - - try { - // create a temporary client and test socket to check for desired cipher and protocol support - OkHttpClient testOkHttpClient = okHttpClientBuilder.build(); - testSslSocket = (SSLSocket) testOkHttpClient.sslSocketFactory().createSocket(); - - // does the test socket work with our connection spec's cipher suite and tls version as-is? - if (CONNECTION_SPEC.isCompatible(testSslSocket)) { - return; // no further questions! - } - - // perhaps TLSv1.2 is supported, just not enabled by default (some versions of Java 7) - if (!Arrays.asList(testSslSocket.getSupportedProtocols()) - .contains(TlsVersion.TLS_1_2.javaName())) { - throw new RuntimeException( - "This JRE's SSL implementation does not support TLSv1.2. Bailing out."); - } - - // supported but not enabled by default. In this case, we'll have our OkHTTP - // client use an SSLSocketFactory which does enable it. - - // The following SSLSocketFactory setup code is from - // OkHttpClient.Builder#sslSocketFactory()'s javadocs - TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance( - TrustManagerFactory.getDefaultAlgorithm()); - trustManagerFactory.init((KeyStore) null); - TrustManager[] trustManagers = trustManagerFactory.getTrustManagers(); - if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) { - throw new IllegalStateException("Unexpected default trust managers:" - + Arrays.toString(trustManagers)); - } - X509TrustManager trustManager = (X509TrustManager) trustManagers[0]; - - SSLContext sslContext = SSLContext.getInstance(TlsVersion.TLS_1_2.javaName()); - sslContext.init(null, new TrustManager[] {trustManager}, null); - SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory(); - okHttpClientBuilder.sslSocketFactory(sslSocketFactory, trustManager); - } catch (Exception ex) { - throw new RuntimeException(ex); - } finally { - if (testSslSocket != null) { - try { - testSslSocket.close(); - } catch (IOException ex) { - // oh well - } - } - } - } - - /** - * Generally, you should not need this! - *

- * Direct access to the underlying OkHTTP client builder for advanced settings - * like SSL, proxy, logging, and timeout options if needed. - * - * @return the underlying builder. - */ - public OkHttpClient.Builder okHttpClientBuilder() { - return okHttpClientBuilder; - } - - /** - * Convenience method to set the HTTP client's logging level. - * - * @param level Desired logging level. - * @return this. To satisfy the builder pattern. - */ - public Builder logLevel(HttpLoggingInterceptor.Level level) { - this.httpLogLevel = level; - return this; - } - - /** - * Set a custom base API url, if {@link #productionBaseUrl()} or {@link #sandboxBaseUrl()} aren't sufficient. - * - * @param baseUrl The base URL you wish to use. - * @return this. To satisfy the builder pattern. - */ - public Builder baseUrl(String baseUrl) { - this.baseUrl = baseUrl; - return this; - } - - /** - * Configure the client to use the default {@link #DEFAULT_PRODUCTION_BASE_URL production URL}. - * - * @return this. To satisfy the builder pattern. - */ - public Builder productionBaseUrl() { - return baseUrl(DEFAULT_PRODUCTION_BASE_URL); - } - - /** - * Configure the client to use the default {@link #DEFAULT_SANDBOX_BASE_URL sandbox URL}. - * - * @return this. To satisfy the builder pattern. - */ - public Builder sandboxBaseUrl() { - return baseUrl(DEFAULT_SANDBOX_BASE_URL); - } - - /** - * Configure the client to use the default {@link #DEFAULT_DEVELOPMENT_BASE_URL sandbox URL}. - * - * @return this. To satisfy the builder pattern. - */ - public Builder developmentBaseUrl() { - return baseUrl(DEFAULT_DEVELOPMENT_BASE_URL); - } - - /** - * Set the public key credential. - * - * Only required if this client will be used to call API endpoints - * that need a public key. - * - * Can be found in your Account Dashboard. See documentation for details. - * - * @param publicKey Your Plaid API Public key. - * @return This {@link Builder} to satisfy the builder pattern. - */ - public Builder publicKey(String publicKey) { - Util.notNull(publicKey, "publicKey"); - - this.publicKey = publicKey; - return this; - } - - /** - * Set the client ID and secret credentials. - * - * Most API calls require these, you'll almost always want to set them. - * - * Can be found in your Account Dashboard. - * - * @param clientId Your Plaid API Client ID - * @param secret Your Plaid API Secret - * @return This {@link Builder} to satisfy the builder pattern. - */ - public Builder clientIdAndSecret(String clientId, String secret) { - Util.notNull(clientId, "clientId"); - Util.notNull(secret, "secret"); - - this.clientId = clientId; - this.secret = secret; - - return this; - } - } -} diff --git a/src/main/java/com/plaid/client/PlaidHeaders.java b/src/main/java/com/plaid/client/PlaidHeaders.java deleted file mode 100644 index 40f11fd974..0000000000 --- a/src/main/java/com/plaid/client/PlaidHeaders.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.plaid.client; - -class PlaidHeaders { - static final String PLAID_API_VERSION = "2018-05-22"; - static final String PLAID_API_VERSION_OVERRIDE_HEADER = "Plaid-Version"; - static final String PLAID_API_USER_AGENT_HEADER = "User-Agent"; -} diff --git a/src/main/java/com/plaid/client/ServerConfiguration.java b/src/main/java/com/plaid/client/ServerConfiguration.java new file mode 100644 index 0000000000..246db3513a --- /dev/null +++ b/src/main/java/com/plaid/client/ServerConfiguration.java @@ -0,0 +1,58 @@ +package com.plaid.client; + +import java.util.Map; + +/** + * Representing a Server configuration. + */ +public class ServerConfiguration { + public String URL; + public String description; + public Map variables; + + /** + * @param URL A URL to the target host. + * @param description A describtion of the host designated by the URL. + * @param variables A map between a variable name and its value. The value is used for substitution in the server's URL template. + */ + public ServerConfiguration(String URL, String description, Map variables) { + this.URL = URL; + this.description = description; + this.variables = variables; + } + + /** + * Format URL template using given variables. + * + * @param variables A map between a variable name and its value. + * @return Formatted URL. + */ + public String URL(Map variables) { + String url = this.URL; + + // go through variables and replace placeholders + for (Map.Entry variable: this.variables.entrySet()) { + String name = variable.getKey(); + ServerVariable serverVariable = variable.getValue(); + String value = serverVariable.defaultValue; + + if (variables != null && variables.containsKey(name)) { + value = variables.get(name); + if (serverVariable.enumValues.size() > 0 && !serverVariable.enumValues.contains(value)) { + throw new RuntimeException("The variable " + name + " in the server URL has invalid value " + value + "."); + } + } + url = url.replaceAll("\\{" + name + "\\}", value); + } + return url; + } + + /** + * Format URL template using default server variables. + * + * @return Formatted URL. + */ + public String URL() { + return URL(null); + } +} diff --git a/src/main/java/com/plaid/client/ServerVariable.java b/src/main/java/com/plaid/client/ServerVariable.java new file mode 100644 index 0000000000..4dfba2dfb8 --- /dev/null +++ b/src/main/java/com/plaid/client/ServerVariable.java @@ -0,0 +1,23 @@ +package com.plaid.client; + +import java.util.HashSet; + +/** + * Representing a Server Variable for server URL template substitution. + */ +public class ServerVariable { + public String description; + public String defaultValue; + public HashSet enumValues = null; + + /** + * @param description A description for the server variable. + * @param defaultValue The default value to use for substitution. + * @param enumValues An enumeration of string values to be used if the substitution options are from a limited set. + */ + public ServerVariable(String description, String defaultValue, HashSet enumValues) { + this.description = description; + this.defaultValue = defaultValue; + this.enumValues = enumValues; + } +} diff --git a/src/main/java/com/plaid/client/StringUtil.java b/src/main/java/com/plaid/client/StringUtil.java new file mode 100644 index 0000000000..48ff238b19 --- /dev/null +++ b/src/main/java/com/plaid/client/StringUtil.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client; + +import java.util.Collection; +import java.util.Iterator; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StringUtil { + /** + * Check if the given array contains the given value (with case-insensitive comparison). + * + * @param array The array + * @param value The value to search + * @return true if the array contains the value + */ + public static boolean containsIgnoreCase(String[] array, String value) { + for (String str : array) { + if (value == null && str == null) { + return true; + } + if (value != null && value.equalsIgnoreCase(str)) { + return true; + } + } + return false; + } + + /** + * Join an array of strings with the given separator. + *

+ * Note: This might be replaced by utility method from commons-lang or guava someday + * if one of those libraries is added as dependency. + *

+ * + * @param array The array of strings + * @param separator The separator + * @return the resulting string + */ + public static String join(String[] array, String separator) { + int len = array.length; + if (len == 0) { + return ""; + } + + StringBuilder out = new StringBuilder(); + out.append(array[0]); + for (int i = 1; i < len; i++) { + out.append(separator).append(array[i]); + } + return out.toString(); + } + + /** + * Join a list of strings with the given separator. + * + * @param list The list of strings + * @param separator The separator + * @return the resulting string + */ + public static String join(Collection list, String separator) { + Iterator iterator = list.iterator(); + StringBuilder out = new StringBuilder(); + if (iterator.hasNext()) { + out.append(iterator.next()); + } + while (iterator.hasNext()) { + out.append(separator).append(iterator.next()); + } + return out.toString(); + } +} diff --git a/src/main/java/com/plaid/client/auth/ApiKeyAuth.java b/src/main/java/com/plaid/client/auth/ApiKeyAuth.java new file mode 100644 index 0000000000..d16a08f3c2 --- /dev/null +++ b/src/main/java/com/plaid/client/auth/ApiKeyAuth.java @@ -0,0 +1,72 @@ +package com.plaid.client.auth; + +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; + +import okhttp3.Interceptor; +import okhttp3.Request; +import okhttp3.Response; + +public class ApiKeyAuth implements Interceptor { + private final String location; + private final String paramName; + + private String apiKey; + + public ApiKeyAuth(String location, String paramName) { + this.location = location; + this.paramName = paramName; + } + + public String getLocation() { + return location; + } + + public String getParamName() { + return paramName; + } + + public String getApiKey() { + return apiKey; + } + + public void setApiKey(String apiKey) { + this.apiKey = apiKey; + } + + @Override + public Response intercept(Chain chain) throws IOException { + String paramValue; + Request request = chain.request(); + + if ("query".equals(location)) { + String newQuery = request.url().uri().getQuery(); + paramValue = paramName + "=" + apiKey; + if (newQuery == null) { + newQuery = paramValue; + } else { + newQuery += "&" + paramValue; + } + + URI newUri; + try { + newUri = new URI(request.url().uri().getScheme(), request.url().uri().getAuthority(), + request.url().uri().getPath(), newQuery, request.url().uri().getFragment()); + } catch (URISyntaxException e) { + throw new IOException(e); + } + + request = request.newBuilder().url(newUri.toURL()).build(); + } else if ("header".equals(location)) { + request = request.newBuilder() + .addHeader(paramName, apiKey) + .build(); + } else if ("cookie".equals(location)) { + request = request.newBuilder() + .addHeader("Cookie", String.format("%s=%s", paramName, apiKey)) + .build(); + } + return chain.proceed(request); + } +} diff --git a/src/main/java/com/plaid/client/auth/HttpBasicAuth.java b/src/main/java/com/plaid/client/auth/HttpBasicAuth.java new file mode 100644 index 0000000000..e3bf6bf967 --- /dev/null +++ b/src/main/java/com/plaid/client/auth/HttpBasicAuth.java @@ -0,0 +1,50 @@ +package com.plaid.client.auth; + +import java.io.IOException; + +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import okhttp3.Credentials; + +public class HttpBasicAuth implements Interceptor { + + private String username; + private String password; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public void setCredentials(String username, String password) { + this.username = username; + this.password = password; + } + + @Override + public Response intercept(Chain chain) throws IOException { + Request request = chain.request(); + + // If the request already have an authorization (eg. Basic auth), do nothing + if (request.header("Authorization") == null) { + String credentials = Credentials.basic(username, password); + request = request.newBuilder() + .addHeader("Authorization", credentials) + .build(); + } + return chain.proceed(request); + } +} diff --git a/src/main/java/com/plaid/client/auth/HttpBearerAuth.java b/src/main/java/com/plaid/client/auth/HttpBearerAuth.java new file mode 100644 index 0000000000..ac503f678b --- /dev/null +++ b/src/main/java/com/plaid/client/auth/HttpBearerAuth.java @@ -0,0 +1,42 @@ +package com.plaid.client.auth; + +import java.io.IOException; + +import okhttp3.Interceptor; +import okhttp3.Request; +import okhttp3.Response; + +public class HttpBearerAuth implements Interceptor { + private final String scheme; + private String bearerToken; + + public HttpBearerAuth(String scheme) { + this.scheme = scheme; + } + + public String getBearerToken() { + return bearerToken; + } + + public void setBearerToken(String bearerToken) { + this.bearerToken = bearerToken; + } + + @Override + public Response intercept(Chain chain) throws IOException { + Request request = chain.request(); + + // If the request already have an authorization (eg. Basic auth), do nothing + if (request.header("Authorization") == null && bearerToken != null) { + request = request.newBuilder() + .addHeader("Authorization", (scheme != null ? upperCaseBearer(scheme) + " " : "") + bearerToken) + .build(); + } + return chain.proceed(request); + } + + private static String upperCaseBearer(String scheme) { + return ("bearer".equalsIgnoreCase(scheme)) ? "Bearer" : scheme; + } + +} diff --git a/src/main/java/com/plaid/client/auth/OAuth.java b/src/main/java/com/plaid/client/auth/OAuth.java new file mode 100644 index 0000000000..5f91011459 --- /dev/null +++ b/src/main/java/com/plaid/client/auth/OAuth.java @@ -0,0 +1,185 @@ +package com.plaid.client.auth; + +import static java.net.HttpURLConnection.HTTP_UNAUTHORIZED; +import static java.net.HttpURLConnection.HTTP_FORBIDDEN; + +import java.io.IOException; +import java.util.Map; + +import org.apache.oltu.oauth2.client.OAuthClient; +import org.apache.oltu.oauth2.client.request.OAuthBearerClientRequest; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest.AuthenticationRequestBuilder; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder; +import org.apache.oltu.oauth2.client.response.OAuthJSONAccessTokenResponse; +import org.apache.oltu.oauth2.common.exception.OAuthProblemException; +import org.apache.oltu.oauth2.common.exception.OAuthSystemException; +import org.apache.oltu.oauth2.common.message.types.GrantType; +import org.apache.oltu.oauth2.common.token.BasicOAuthToken; + +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Request.Builder; +import okhttp3.Response; + +public class OAuth implements Interceptor { + + public interface AccessTokenListener { + public void notify(BasicOAuthToken token); + } + + private volatile String accessToken; + private OAuthClient oauthClient; + + private TokenRequestBuilder tokenRequestBuilder; + private AuthenticationRequestBuilder authenticationRequestBuilder; + + private AccessTokenListener accessTokenListener; + + public OAuth( OkHttpClient client, TokenRequestBuilder requestBuilder ) { + this.oauthClient = new OAuthClient(new OAuthOkHttpClient(client)); + this.tokenRequestBuilder = requestBuilder; + } + + public OAuth(TokenRequestBuilder requestBuilder ) { + this(new OkHttpClient(), requestBuilder); + } + + public OAuth(OAuthFlow flow, String authorizationUrl, String tokenUrl, String scopes) { + this(OAuthClientRequest.tokenLocation(tokenUrl).setScope(scopes)); + setFlow(flow); + authenticationRequestBuilder = OAuthClientRequest.authorizationLocation(authorizationUrl); + } + + public void setFlow(OAuthFlow flow) { + switch(flow) { + case accessCode: + case implicit: + tokenRequestBuilder.setGrantType(GrantType.AUTHORIZATION_CODE); + break; + case password: + tokenRequestBuilder.setGrantType(GrantType.PASSWORD); + break; + case application: + tokenRequestBuilder.setGrantType(GrantType.CLIENT_CREDENTIALS); + break; + default: + break; + } + } + + @Override + public Response intercept(Chain chain) + throws IOException { + + return retryingIntercept(chain, true); + } + + private Response retryingIntercept(Chain chain, boolean updateTokenAndRetryOnAuthorizationFailure) throws IOException { + Request request = chain.request(); + + // If the request already have an authorization (eg. Basic auth), do nothing + if (request.header("Authorization") != null) { + return chain.proceed(request); + } + + // If first time, get the token + OAuthClientRequest oAuthRequest; + if (getAccessToken() == null) { + updateAccessToken(null); + } + + if (getAccessToken() != null) { + // Build the request + Builder rb = request.newBuilder(); + + String requestAccessToken = new String(getAccessToken()); + try { + oAuthRequest = new OAuthBearerClientRequest(request.url().toString()) + .setAccessToken(requestAccessToken) + .buildHeaderMessage(); + } catch (OAuthSystemException e) { + throw new IOException(e); + } + + for ( Map.Entry header : oAuthRequest.getHeaders().entrySet() ) { + rb.addHeader(header.getKey(), header.getValue()); + } + rb.url( oAuthRequest.getLocationUri()); + + //Execute the request + Response response = chain.proceed(rb.build()); + + // 401/403 most likely indicates that access token has expired. Unless it happens two times in a row. + if ( response != null && (response.code() == HTTP_UNAUTHORIZED || response.code() == HTTP_FORBIDDEN) && updateTokenAndRetryOnAuthorizationFailure ) { + try { + if (updateAccessToken(requestAccessToken)) { + response.body().close(); + return retryingIntercept( chain, false ); + } + } catch (Exception e) { + response.body().close(); + throw e; + } + } + return response; + } else { + return chain.proceed(chain.request()); + } + } + + /* + * Returns true if the access token has been updated + */ + public synchronized boolean updateAccessToken(String requestAccessToken) throws IOException { + if (getAccessToken() == null || getAccessToken().equals(requestAccessToken)) { + try { + OAuthJSONAccessTokenResponse accessTokenResponse = oauthClient.accessToken(this.tokenRequestBuilder.buildBodyMessage()); + if (accessTokenResponse != null && accessTokenResponse.getAccessToken() != null) { + setAccessToken(accessTokenResponse.getAccessToken()); + if (accessTokenListener != null) { + accessTokenListener.notify((BasicOAuthToken) accessTokenResponse.getOAuthToken()); + } + return !getAccessToken().equals(requestAccessToken); + } else { + return false; + } + } catch (OAuthSystemException e) { + throw new IOException(e); + } catch (OAuthProblemException e) { + throw new IOException(e); + } + } + return true; + } + + public void registerAccessTokenListener(AccessTokenListener accessTokenListener) { + this.accessTokenListener = accessTokenListener; + } + + public synchronized String getAccessToken() { + return accessToken; + } + + public synchronized void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + public TokenRequestBuilder getTokenRequestBuilder() { + return tokenRequestBuilder; + } + + public void setTokenRequestBuilder(TokenRequestBuilder tokenRequestBuilder) { + this.tokenRequestBuilder = tokenRequestBuilder; + } + + public AuthenticationRequestBuilder getAuthenticationRequestBuilder() { + return authenticationRequestBuilder; + } + + public void setAuthenticationRequestBuilder(AuthenticationRequestBuilder authenticationRequestBuilder) { + this.authenticationRequestBuilder = authenticationRequestBuilder; + } + +} diff --git a/src/main/java/com/plaid/client/auth/OAuthFlow.java b/src/main/java/com/plaid/client/auth/OAuthFlow.java new file mode 100644 index 0000000000..daaab53ca1 --- /dev/null +++ b/src/main/java/com/plaid/client/auth/OAuthFlow.java @@ -0,0 +1,22 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.auth; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public enum OAuthFlow { + accessCode, //called authorizationCode in OpenAPI 3.0 + implicit, + password, + application //called clientCredentials in OpenAPI 3.0 +} diff --git a/src/main/java/com/plaid/client/auth/OAuthOkHttpClient.java b/src/main/java/com/plaid/client/auth/OAuthOkHttpClient.java new file mode 100644 index 0000000000..4a38d5666b --- /dev/null +++ b/src/main/java/com/plaid/client/auth/OAuthOkHttpClient.java @@ -0,0 +1,72 @@ +package com.plaid.client.auth; + +import java.io.IOException; +import java.util.Map; +import java.util.Map.Entry; + +import org.apache.oltu.oauth2.client.HttpClient; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest; +import org.apache.oltu.oauth2.client.response.OAuthClientResponse; +import org.apache.oltu.oauth2.client.response.OAuthClientResponseFactory; +import org.apache.oltu.oauth2.common.exception.OAuthProblemException; +import org.apache.oltu.oauth2.common.exception.OAuthSystemException; + + +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Request.Builder; +import okhttp3.Response; +import okhttp3.MediaType; +import okhttp3.RequestBody; + + +public class OAuthOkHttpClient implements HttpClient { + + private OkHttpClient client; + + public OAuthOkHttpClient() { + this.client = new OkHttpClient(); + } + + public OAuthOkHttpClient(OkHttpClient client) { + this.client = client; + } + + public T execute(OAuthClientRequest request, Map headers, + String requestMethod, Class responseClass) + throws OAuthSystemException, OAuthProblemException { + + MediaType mediaType = MediaType.parse("application/json"); + Request.Builder requestBuilder = new Request.Builder().url(request.getLocationUri()); + + if(headers != null) { + for (Entry entry : headers.entrySet()) { + if (entry.getKey().equalsIgnoreCase("Content-Type")) { + mediaType = MediaType.parse(entry.getValue()); + } else { + requestBuilder.addHeader(entry.getKey(), entry.getValue()); + } + } + } + + RequestBody body = request.getBody() != null ? RequestBody.create(mediaType, request.getBody()) : null; + requestBuilder.method(requestMethod, body); + + try { + Response response = client.newCall(requestBuilder.build()).execute(); + return OAuthClientResponseFactory.createCustomResponse( + response.body().string(), + response.body().contentType().toString(), + response.code(), + responseClass); + } catch (IOException e) { + throw new OAuthSystemException(e); + } + } + + public void shutdown() { + // Nothing to do here + } + +} diff --git a/src/main/java/com/plaid/client/internal/Util.java b/src/main/java/com/plaid/client/internal/Util.java deleted file mode 100644 index e093f942f3..0000000000 --- a/src/main/java/com/plaid/client/internal/Util.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.plaid.client.internal; - -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -/** - * Internal utility class for request and response model validation. - */ -public final class Util { - /** - * Throws {@link IllegalArgumentException} if provided object is null. - * - * @param obj The object to null check. - * @param name The name of the field, used to generate an appropriate error message. - */ - public static void notNull(Object obj, String name) { - if (obj == null) { - throw new IllegalArgumentException(name + " == null"); - } - } - - /** - * Checks that a given collection is not null and not empty. - * - * @param collection The collection to check - * @param name The name of the collection to use when raising an error. - * @throws IllegalArgumentException If the collection was null or empty. - */ - public static void notEmpty(Collection collection, String name) { - notNull(collection, name); - - if (collection.isEmpty()) { - throw new IllegalArgumentException(name + " must not be empty"); - } - } - - /** - * Checks that a given array is not null and not empty. - * - * @param arr The array to check - * @param name The name of the array to use when raising an error. - * @throws IllegalArgumentException If the collection was null or empty. - */ - public static void notEmpty(Object[] arr, String name) { - notNull(arr, name); - - if (arr.length == 0) { - throw new IllegalArgumentException(name + "must not be empty"); - } - } - - /** - * Checks that a given map is not null and not empty. - * - * @param map The map to check - * @param name The name of the collection to use when raising an error. - * @throws IllegalArgumentException If the collection was null or empty. - */ - public static void notEmpty(Map map, String name) { - notNull(map, name); - - if (map.isEmpty()) { - throw new IllegalArgumentException(name + " must not be empty"); - } - } - - /** - * Checks that i is not null and is in the range min <= i <= max. - * - * @param value The integer value to check. - * @param min The minimum bound, inclusive. - * @param max The maximum bound, inclusive. - * @param name The name of the variable being checked, included when an error is raised. - * @throws IllegalArgumentException If i is null or outside the range. - */ - public static void isBetween(Integer value, int min, int max, String name) { - notNull(value, name); - - if (value < min || value > max) { - throw new IllegalArgumentException(name + "(" + value + ") out of range: " + min + " <= " + name + " <= " + max); - } - } - - /** - * Checks that i is not null and is a positive number - * - * @param value The integer value to check. - * @param name The name of the variable being checked, included when an error is raised. - * @throws IllegalArgumentException If i is null or less than 0 - */ - public static void isPositive(Integer value, String name) { - notNull(value, name); - - if (value < 0) { - throw new IllegalArgumentException(name + "must be a positive number."); - } - } - - /** - * Helper to convert an alternating key1,value1,key2,value2,... - * array into a map. - * - * @param args Alternating arguments. - * @return Resulting map. - */ - public static Map arrayToMap(String[] args) { - if (args.length % 2 != 0) { - throw new IllegalArgumentException("Must pass in an even number of args, one key per value."); - } - - Map ret = new HashMap<>(); - - for (int i = 0; i < args.length; i += 2) { - ret.put(args[i], args[i + 1]); - } - - return ret; - } -} diff --git a/src/main/java/com/plaid/client/internal/gson/BaseOptionsSerializer.java b/src/main/java/com/plaid/client/internal/gson/BaseOptionsSerializer.java deleted file mode 100644 index c3324e3c48..0000000000 --- a/src/main/java/com/plaid/client/internal/gson/BaseOptionsSerializer.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.plaid.client.internal.gson; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonSerializationContext; -import com.google.gson.JsonSerializer; -import com.plaid.client.request.TransactionsGetRequest; -import java.lang.reflect.Type; - -// By default Gson serialization takes the field base class and iterates through those fields. -// However by serializing the field as an Object type it automatically picks up member variables -// of child classes. -public class BaseOptionsSerializer implements JsonSerializer { - @Override public JsonElement serialize(TransactionsGetRequest.BaseOptions options, Type type, - JsonSerializationContext ctx) { - return ctx.serialize(options); - } -} diff --git a/src/main/java/com/plaid/client/internal/gson/CredentialInjectingTypeAdapterFactory.java b/src/main/java/com/plaid/client/internal/gson/CredentialInjectingTypeAdapterFactory.java deleted file mode 100644 index 095c1aac92..0000000000 --- a/src/main/java/com/plaid/client/internal/gson/CredentialInjectingTypeAdapterFactory.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.plaid.client.internal.gson; - -import com.google.gson.Gson; -import com.google.gson.TypeAdapter; -import com.google.gson.TypeAdapterFactory; -import com.google.gson.reflect.TypeToken; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import com.plaid.client.request.common.BaseClientRequest; -import com.plaid.client.request.common.BasePublicRequest; - -import java.io.IOException; - -/** - * Creates custom {@link TypeAdapter} which inject credentials into request objects - * during serialization. - */ -public class CredentialInjectingTypeAdapterFactory implements TypeAdapterFactory { - private final String clientId; - private final String publicKey; - private final String secret; - - public CredentialInjectingTypeAdapterFactory(String publicKey, String clientId, String secret) { - this.publicKey = publicKey; - this.clientId = clientId; - this.secret = secret; - } - - @Override - public TypeAdapter create(Gson gson, TypeToken type) { - final TypeAdapter defaultAdapter = gson.getDelegateAdapter(this, type); - - if (BasePublicRequest.class.isAssignableFrom(type.getRawType())) { - return new TypeAdapter() { - @Override - public void write(JsonWriter out, T value) throws IOException { - if (publicKey == null) { - throw new RuntimeException("publicKey was not provided, can't serialize!"); - } - - // inject credentials - ((BasePublicRequest) value).publicKey = publicKey; - - defaultAdapter.write(out, value); - } - - @Override - public T read(JsonReader in) throws IOException { - return defaultAdapter.read(in); - } - }; - } else if (BaseClientRequest.class.isAssignableFrom(type.getRawType())) { - return new TypeAdapter() { - @Override - public void write(JsonWriter out, T value) throws IOException { - if (clientId == null) { - throw new RuntimeException("clientId was not provided, can't serialize!"); - } - - if (secret == null) { - throw new RuntimeException("secret was not provided, can't serialize!"); - } - - // inject credentials - ((BaseClientRequest) value).clientId = clientId; - ((BaseClientRequest) value).secret = secret; - - defaultAdapter.write(out, value); - } - - @Override - public T read(JsonReader in) throws IOException { - return defaultAdapter.read(in); - } - }; - } else { - return null; - } - } -} diff --git a/src/main/java/com/plaid/client/internal/gson/DateOnlyTypeAdapterFactory.java b/src/main/java/com/plaid/client/internal/gson/DateOnlyTypeAdapterFactory.java deleted file mode 100644 index 25156eaef9..0000000000 --- a/src/main/java/com/plaid/client/internal/gson/DateOnlyTypeAdapterFactory.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.plaid.client.internal.gson; - -import com.google.gson.Gson; -import com.google.gson.TypeAdapter; -import com.google.gson.TypeAdapterFactory; -import com.google.gson.reflect.TypeToken; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; - -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.Date; - -public class DateOnlyTypeAdapterFactory implements TypeAdapterFactory { - private static final String DATE_FORMAT = "yyyy-MM-dd"; - private final SimpleDateFormat simpleDateFormat; - - public DateOnlyTypeAdapterFactory() { - this.simpleDateFormat = new SimpleDateFormat(DATE_FORMAT); - } - - @Override - public TypeAdapter create(Gson gson, TypeToken type) { - if (!Date.class.isAssignableFrom(type.getRawType())) { - return null; - } - - return new TypeAdapter() { - @Override - public void write(JsonWriter out, T value) throws IOException { - // date formatters not thread safe :'( - synchronized (simpleDateFormat) { - out.value(simpleDateFormat.format((Date) value)); - } - } - - @Override - public T read(JsonReader in) throws IOException { - throw new UnsupportedOperationException("read() is not implemented"); - } - }; - } -} diff --git a/src/main/java/com/plaid/client/internal/gson/ImmutableListTypeAdapterFactory.java b/src/main/java/com/plaid/client/internal/gson/ImmutableListTypeAdapterFactory.java deleted file mode 100644 index 7e067ab94f..0000000000 --- a/src/main/java/com/plaid/client/internal/gson/ImmutableListTypeAdapterFactory.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.plaid.client.internal.gson; - -import com.google.gson.Gson; -import com.google.gson.TypeAdapter; -import com.google.gson.TypeAdapterFactory; -import com.google.gson.reflect.TypeToken; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; - -import java.io.IOException; -import java.util.Collections; -import java.util.List; - -/** - * Deserializes all {@link List} types as unmodifiable lists to - * preserve immutability. - */ -public class ImmutableListTypeAdapterFactory implements TypeAdapterFactory { - @Override - public TypeAdapter create(Gson gson, TypeToken type) { - if (!List.class.isAssignableFrom(type.getRawType())) { - return null; - } - - final TypeAdapter delegate = gson.getDelegateAdapter(this, type); - - return new TypeAdapter() { - @Override - public void write(JsonWriter out, T value) throws IOException { - // no-op. just pass through to the delegate. - delegate.write(out, value); - } - - @Override - @SuppressWarnings({"unchecked", "rawtypes"}) - public T read(JsonReader in) throws IOException { - T value = delegate.read(in); - - if (value == null) { - return null; - } - - return (T) Collections.unmodifiableList((List) value); - } - }; - } -} diff --git a/src/main/java/com/plaid/client/internal/gson/Optional.java b/src/main/java/com/plaid/client/internal/gson/Optional.java deleted file mode 100644 index 15f613f711..0000000000 --- a/src/main/java/com/plaid/client/internal/gson/Optional.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.plaid.client.internal.gson; - -import java.util.NoSuchElementException; - -/** - * Our own simple implementation of an Optional wrapper. - * - * Java 8 has this built in, and Guava would provide one too, - * but we want to target Java 7 and avoid external dependencies, - * so for now we're using our own. - */ -public final class Optional { - private static Optional EMPTY = new Optional<>(null); - private final T value; - - private Optional(T value) { - this.value = value; - } - - /** - * Create a new Optional containing value. - * - * @param value The value contained. - * @return The value wrapped in an Optional. - */ - public static Optional of(S value) { - if (value == null) { - throw new IllegalArgumentException("Optional does not support NULL, use Optional.empty() instead."); - } - - return new Optional(value); - } - - /** - * Get an empty Optional object. - * - * @return The Optional object representing no value. - */ - @SuppressWarnings("unchecked") - public static Optional empty() { - return (Optional) EMPTY; - } - - /** - * Get the contained value, or if this Optional is empty, throws {@link NoSuchElementException}. - * - * @return Contained value, if present. - */ - public T get() { - if (!isPresent()) { - throw new NoSuchElementException(); - } - - return value; - } - - /** - * Whether there is a value present in this Optional. - * - * @return true if this present contains a value, false otherwise. - */ - public boolean isPresent() { - return value != null; - } - - /** - * Return the Optional value if present, otherwise return other wrapped in an Optional. - * - * @param other The replacement value if one was not present. - * @return The contained value if one was present, otherwise other. - */ - public Optional orElse(T other) { - if (isPresent()) { - return this; - } else { - return Optional.of(other); - } - } -} diff --git a/src/main/java/com/plaid/client/internal/gson/OptionalTypeAdapterFactory.java b/src/main/java/com/plaid/client/internal/gson/OptionalTypeAdapterFactory.java deleted file mode 100644 index f1c642acfd..0000000000 --- a/src/main/java/com/plaid/client/internal/gson/OptionalTypeAdapterFactory.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.plaid.client.internal.gson; - -import com.google.gson.Gson; -import com.google.gson.TypeAdapter; -import com.google.gson.TypeAdapterFactory; -import com.google.gson.reflect.TypeToken; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; - -import java.io.IOException; -import java.lang.reflect.ParameterizedType; - -/** - * GSON TypeAdapter for the Optional type. - */ -public class OptionalTypeAdapterFactory implements TypeAdapterFactory { - @Override - public TypeAdapter create(Gson gson, TypeToken type) { - if (!Optional.class.isAssignableFrom(type.getRawType())) { - return null; - } - - final TypeAdapter delegateAdapter = gson.getAdapter(TypeToken.get(((ParameterizedType) type.getType()).getActualTypeArguments()[0])); - - return new TypeAdapter() { - @Override - @SuppressWarnings({"unchecked", "rawtypes"}) - public void write(JsonWriter out, T value) throws IOException { - if (((Optional) value).isPresent()) { - delegateAdapter.write(out, ((Optional) value).get()); - } else { - out.nullValue(); - } - } - - @Override - @SuppressWarnings("unchecked") - public T read(JsonReader in) throws IOException { - Object readObject = delegateAdapter.read(in); - if (readObject == null) { - return (T) Optional.empty(); - } else { - return (T) Optional.of(readObject); - } - } - }; - } -} diff --git a/src/main/java/com/plaid/client/internal/gson/RequiredField.java b/src/main/java/com/plaid/client/internal/gson/RequiredField.java deleted file mode 100644 index 16c86ed414..0000000000 --- a/src/main/java/com/plaid/client/internal/gson/RequiredField.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.plaid.client.internal.gson; - -/** - * Simple wrapper class for JSON fields that must always - * be present in serialized output (that is, if not present, - * null must always be emitted as its value). - *

- * Basically the same thing as Optional which is in Java 1.8, - * but we reimplement our own to support lower java versions. - * - * @param the type being wrapped - */ -public final class RequiredField { - private final T value; - - private static final RequiredField EMPTY = new RequiredField<>(null); - - private RequiredField(T value) { - this.value = value; - } - - @SuppressWarnings("unchecked") - public static RequiredField empty() { - return (RequiredField) EMPTY; - } - - public static RequiredField of(S value) { - return new RequiredField(value); - } - - public boolean isPresent() { - return value != null; - } - - public T get() { - return value; - } -} diff --git a/src/main/java/com/plaid/client/internal/gson/RequiredFieldTypeAdapterFactory.java b/src/main/java/com/plaid/client/internal/gson/RequiredFieldTypeAdapterFactory.java deleted file mode 100644 index 99dead9002..0000000000 --- a/src/main/java/com/plaid/client/internal/gson/RequiredFieldTypeAdapterFactory.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.plaid.client.internal.gson; - -import com.google.gson.Gson; -import com.google.gson.TypeAdapter; -import com.google.gson.TypeAdapterFactory; -import com.google.gson.reflect.TypeToken; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; - -import java.io.IOException; -import java.lang.reflect.ParameterizedType; - -public class RequiredFieldTypeAdapterFactory implements TypeAdapterFactory { - @Override - public TypeAdapter create(Gson gson, TypeToken type) { - if (!type.getRawType().isAssignableFrom(RequiredField.class)) { - return null; - } - - final TypeAdapter delegateAdapter = gson.getAdapter(TypeToken.get(((ParameterizedType) type.getType()).getActualTypeArguments()[0])); - - return new TypeAdapter() { - @Override - @SuppressWarnings({"unchecked", "rawtypes"}) - public void write(JsonWriter out, T value) throws IOException { - RequiredField requiredField = (RequiredField) value; - - if (requiredField == null || !requiredField.isPresent()) { - boolean oldSerializeNulls = out.getSerializeNulls(); - out.setSerializeNulls(true); - out.nullValue(); - out.setSerializeNulls(oldSerializeNulls); - } else { - delegateAdapter.write(out, requiredField.get()); - } - } - - @Override - @SuppressWarnings("unchecked") - public T read(JsonReader reader) throws IOException { - return (T) RequiredField.of(delegateAdapter.read(reader)); - } - }; - } -} diff --git a/src/main/java/com/plaid/client/model/AAMVAAnalysis.java b/src/main/java/com/plaid/client/model/AAMVAAnalysis.java new file mode 100644 index 0000000000..751fbfe489 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AAMVAAnalysis.java @@ -0,0 +1,464 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AAMVADetailedMatchResult; +import com.plaid.client.model.AAMVAMatchResult; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analyzed AAMVA data for the associated hit. Note: This field is only available for U.S. driver's licenses issued by participating states. + */ +@ApiModel(description = "Analyzed AAMVA data for the associated hit. Note: This field is only available for U.S. driver's licenses issued by participating states.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AAMVAAnalysis { + public static final String SERIALIZED_NAME_IS_VERIFIED = "is_verified"; + @SerializedName(SERIALIZED_NAME_IS_VERIFIED) + private Boolean isVerified; + + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private AAMVAMatchResult idNumber; + + public static final String SERIALIZED_NAME_ID_ISSUE_DATE = "id_issue_date"; + @SerializedName(SERIALIZED_NAME_ID_ISSUE_DATE) + private AAMVAMatchResult idIssueDate; + + public static final String SERIALIZED_NAME_ID_EXPIRATION_DATE = "id_expiration_date"; + @SerializedName(SERIALIZED_NAME_ID_EXPIRATION_DATE) + private AAMVAMatchResult idExpirationDate; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private AAMVADetailedMatchResult street; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private AAMVAMatchResult city; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private AAMVADetailedMatchResult postalCode; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private AAMVAMatchResult dateOfBirth; + + public static final String SERIALIZED_NAME_GENDER = "gender"; + @SerializedName(SERIALIZED_NAME_GENDER) + private AAMVAMatchResult gender; + + public static final String SERIALIZED_NAME_HEIGHT = "height"; + @SerializedName(SERIALIZED_NAME_HEIGHT) + private AAMVAMatchResult height; + + public static final String SERIALIZED_NAME_EYE_COLOR = "eye_color"; + @SerializedName(SERIALIZED_NAME_EYE_COLOR) + private AAMVAMatchResult eyeColor; + + public static final String SERIALIZED_NAME_FIRST_NAME = "first_name"; + @SerializedName(SERIALIZED_NAME_FIRST_NAME) + private AAMVADetailedMatchResult firstName; + + public static final String SERIALIZED_NAME_MIDDLE_NAME = "middle_name"; + @SerializedName(SERIALIZED_NAME_MIDDLE_NAME) + private AAMVADetailedMatchResult middleName; + + public static final String SERIALIZED_NAME_LAST_NAME = "last_name"; + @SerializedName(SERIALIZED_NAME_LAST_NAME) + private AAMVADetailedMatchResult lastName; + + + public AAMVAAnalysis isVerified(Boolean isVerified) { + + this.isVerified = isVerified; + return this; + } + + /** + * The overall outcome of checking the associated hit against the issuing state database. + * @return isVerified + **/ + @ApiModelProperty(example = "true", required = true, value = "The overall outcome of checking the associated hit against the issuing state database.") + + public Boolean getIsVerified() { + return isVerified; + } + + + public void setIsVerified(Boolean isVerified) { + this.isVerified = isVerified; + } + + + public AAMVAAnalysis idNumber(AAMVAMatchResult idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Get idNumber + * @return idNumber + **/ + @ApiModelProperty(required = true, value = "") + + public AAMVAMatchResult getIdNumber() { + return idNumber; + } + + + public void setIdNumber(AAMVAMatchResult idNumber) { + this.idNumber = idNumber; + } + + + public AAMVAAnalysis idIssueDate(AAMVAMatchResult idIssueDate) { + + this.idIssueDate = idIssueDate; + return this; + } + + /** + * Get idIssueDate + * @return idIssueDate + **/ + @ApiModelProperty(required = true, value = "") + + public AAMVAMatchResult getIdIssueDate() { + return idIssueDate; + } + + + public void setIdIssueDate(AAMVAMatchResult idIssueDate) { + this.idIssueDate = idIssueDate; + } + + + public AAMVAAnalysis idExpirationDate(AAMVAMatchResult idExpirationDate) { + + this.idExpirationDate = idExpirationDate; + return this; + } + + /** + * Get idExpirationDate + * @return idExpirationDate + **/ + @ApiModelProperty(required = true, value = "") + + public AAMVAMatchResult getIdExpirationDate() { + return idExpirationDate; + } + + + public void setIdExpirationDate(AAMVAMatchResult idExpirationDate) { + this.idExpirationDate = idExpirationDate; + } + + + public AAMVAAnalysis street(AAMVADetailedMatchResult street) { + + this.street = street; + return this; + } + + /** + * Get street + * @return street + **/ + @ApiModelProperty(required = true, value = "") + + public AAMVADetailedMatchResult getStreet() { + return street; + } + + + public void setStreet(AAMVADetailedMatchResult street) { + this.street = street; + } + + + public AAMVAAnalysis city(AAMVAMatchResult city) { + + this.city = city; + return this; + } + + /** + * Get city + * @return city + **/ + @ApiModelProperty(required = true, value = "") + + public AAMVAMatchResult getCity() { + return city; + } + + + public void setCity(AAMVAMatchResult city) { + this.city = city; + } + + + public AAMVAAnalysis postalCode(AAMVADetailedMatchResult postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * Get postalCode + * @return postalCode + **/ + @ApiModelProperty(required = true, value = "") + + public AAMVADetailedMatchResult getPostalCode() { + return postalCode; + } + + + public void setPostalCode(AAMVADetailedMatchResult postalCode) { + this.postalCode = postalCode; + } + + + public AAMVAAnalysis dateOfBirth(AAMVAMatchResult dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * Get dateOfBirth + * @return dateOfBirth + **/ + @ApiModelProperty(required = true, value = "") + + public AAMVAMatchResult getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(AAMVAMatchResult dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public AAMVAAnalysis gender(AAMVAMatchResult gender) { + + this.gender = gender; + return this; + } + + /** + * Get gender + * @return gender + **/ + @ApiModelProperty(required = true, value = "") + + public AAMVAMatchResult getGender() { + return gender; + } + + + public void setGender(AAMVAMatchResult gender) { + this.gender = gender; + } + + + public AAMVAAnalysis height(AAMVAMatchResult height) { + + this.height = height; + return this; + } + + /** + * Get height + * @return height + **/ + @ApiModelProperty(required = true, value = "") + + public AAMVAMatchResult getHeight() { + return height; + } + + + public void setHeight(AAMVAMatchResult height) { + this.height = height; + } + + + public AAMVAAnalysis eyeColor(AAMVAMatchResult eyeColor) { + + this.eyeColor = eyeColor; + return this; + } + + /** + * Get eyeColor + * @return eyeColor + **/ + @ApiModelProperty(required = true, value = "") + + public AAMVAMatchResult getEyeColor() { + return eyeColor; + } + + + public void setEyeColor(AAMVAMatchResult eyeColor) { + this.eyeColor = eyeColor; + } + + + public AAMVAAnalysis firstName(AAMVADetailedMatchResult firstName) { + + this.firstName = firstName; + return this; + } + + /** + * Get firstName + * @return firstName + **/ + @ApiModelProperty(required = true, value = "") + + public AAMVADetailedMatchResult getFirstName() { + return firstName; + } + + + public void setFirstName(AAMVADetailedMatchResult firstName) { + this.firstName = firstName; + } + + + public AAMVAAnalysis middleName(AAMVADetailedMatchResult middleName) { + + this.middleName = middleName; + return this; + } + + /** + * Get middleName + * @return middleName + **/ + @ApiModelProperty(required = true, value = "") + + public AAMVADetailedMatchResult getMiddleName() { + return middleName; + } + + + public void setMiddleName(AAMVADetailedMatchResult middleName) { + this.middleName = middleName; + } + + + public AAMVAAnalysis lastName(AAMVADetailedMatchResult lastName) { + + this.lastName = lastName; + return this; + } + + /** + * Get lastName + * @return lastName + **/ + @ApiModelProperty(required = true, value = "") + + public AAMVADetailedMatchResult getLastName() { + return lastName; + } + + + public void setLastName(AAMVADetailedMatchResult lastName) { + this.lastName = lastName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AAMVAAnalysis aaMVAAnalysis = (AAMVAAnalysis) o; + return Objects.equals(this.isVerified, aaMVAAnalysis.isVerified) && + Objects.equals(this.idNumber, aaMVAAnalysis.idNumber) && + Objects.equals(this.idIssueDate, aaMVAAnalysis.idIssueDate) && + Objects.equals(this.idExpirationDate, aaMVAAnalysis.idExpirationDate) && + Objects.equals(this.street, aaMVAAnalysis.street) && + Objects.equals(this.city, aaMVAAnalysis.city) && + Objects.equals(this.postalCode, aaMVAAnalysis.postalCode) && + Objects.equals(this.dateOfBirth, aaMVAAnalysis.dateOfBirth) && + Objects.equals(this.gender, aaMVAAnalysis.gender) && + Objects.equals(this.height, aaMVAAnalysis.height) && + Objects.equals(this.eyeColor, aaMVAAnalysis.eyeColor) && + Objects.equals(this.firstName, aaMVAAnalysis.firstName) && + Objects.equals(this.middleName, aaMVAAnalysis.middleName) && + Objects.equals(this.lastName, aaMVAAnalysis.lastName); + } + + @Override + public int hashCode() { + return Objects.hash(isVerified, idNumber, idIssueDate, idExpirationDate, street, city, postalCode, dateOfBirth, gender, height, eyeColor, firstName, middleName, lastName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AAMVAAnalysis {\n"); + sb.append(" isVerified: ").append(toIndentedString(isVerified)).append("\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append(" idIssueDate: ").append(toIndentedString(idIssueDate)).append("\n"); + sb.append(" idExpirationDate: ").append(toIndentedString(idExpirationDate)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" gender: ").append(toIndentedString(gender)).append("\n"); + sb.append(" height: ").append(toIndentedString(height)).append("\n"); + sb.append(" eyeColor: ").append(toIndentedString(eyeColor)).append("\n"); + sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); + sb.append(" middleName: ").append(toIndentedString(middleName)).append("\n"); + sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AAMVADetailedMatchResult.java b/src/main/java/com/plaid/client/model/AAMVADetailedMatchResult.java new file mode 100644 index 0000000000..952bcf5e5b --- /dev/null +++ b/src/main/java/com/plaid/client/model/AAMVADetailedMatchResult.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The outcome of checking the associated hit against state databases. `match` - The field is an exact match with the state database. `partial_match` - The field is a partial match with the state database. `no_match` - The field is not an exact match with the state database. `no_data` - The field was unable to be checked against state databases. + */ +@JsonAdapter(AAMVADetailedMatchResult.Adapter.class) +public enum AAMVADetailedMatchResult { + + MATCH("match"), + + PARTIAL_MATCH("partial_match"), + + NO_MATCH("no_match"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AAMVADetailedMatchResult(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AAMVADetailedMatchResult fromValue(String value) { + for (AAMVADetailedMatchResult b : AAMVADetailedMatchResult.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return AAMVADetailedMatchResult.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AAMVADetailedMatchResult enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AAMVADetailedMatchResult read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AAMVADetailedMatchResult.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AAMVAMatchResult.java b/src/main/java/com/plaid/client/model/AAMVAMatchResult.java new file mode 100644 index 0000000000..b6f9b0952a --- /dev/null +++ b/src/main/java/com/plaid/client/model/AAMVAMatchResult.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The outcome of checking the particular field against state databases. `match` - The field is an exact match with the state database. `no_match` - The field is not an exact match with the state database. `no_data` - The field was unable to be checked against state databases. + */ +@JsonAdapter(AAMVAMatchResult.Adapter.class) +public enum AAMVAMatchResult { + + MATCH("match"), + + NO_MATCH("no_match"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AAMVAMatchResult(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AAMVAMatchResult fromValue(String value) { + for (AAMVAMatchResult b : AAMVAMatchResult.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return AAMVAMatchResult.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AAMVAMatchResult enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AAMVAMatchResult read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AAMVAMatchResult.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ACHClass.java b/src/main/java/com/plaid/client/model/ACHClass.java new file mode 100644 index 0000000000..4e9f6f0650 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ACHClass.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Specifies the use case of the transfer. Required for transfers on an ACH network. For more details, see [ACH SEC codes](https://plaid.com/docs/transfer/creating-transfers/#ach-sec-codes). Codes supported for credits: `ccd`, `ppd` Codes supported for debits: `ccd`, `ppd`, `tel`, `web` `\"ccd\"` - Corporate Credit or Debit - fund transfer between two corporate bank accounts `\"ppd\"` - Prearranged Payment or Deposit - The transfer is part of a pre-existing relationship with a consumer. Authorization was obtained in writing either in person or via an electronic document signing, e.g. Docusign, by the consumer. Can be used for credits or debits. `\"web\"` - Internet-Initiated Entry. The transfer debits a consumer's bank account. Authorization from the consumer is obtained over the Internet (e.g. a web or mobile application). Can be used for single debits or recurring debits. `\"tel\"` - Telephone-Initiated Entry. The transfer debits a consumer. Debit authorization has been received orally over the telephone via a recorded call. + */ +@JsonAdapter(ACHClass.Adapter.class) +public enum ACHClass { + + CCD("ccd"), + + PPD("ppd"), + + TEL("tel"), + + WEB("web"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ACHClass(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ACHClass fromValue(String value) { + for (ACHClass b : ACHClass.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ACHClass.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ACHClass enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ACHClass read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ACHClass.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/APR.java b/src/main/java/com/plaid/client/model/APR.java new file mode 100644 index 0000000000..62818d9149 --- /dev/null +++ b/src/main/java/com/plaid/client/model/APR.java @@ -0,0 +1,235 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the APR on the account. + */ +@ApiModel(description = "Information about the APR on the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class APR { + public static final String SERIALIZED_NAME_APR_PERCENTAGE = "apr_percentage"; + @SerializedName(SERIALIZED_NAME_APR_PERCENTAGE) + private Double aprPercentage; + + /** + * The type of balance to which the APR applies. + */ + @JsonAdapter(AprTypeEnum.Adapter.class) + public enum AprTypeEnum { + BALANCE_TRANSFER_APR("balance_transfer_apr"), + + CASH_APR("cash_apr"), + + PURCHASE_APR("purchase_apr"), + + SPECIAL("special"); + + private String value; + + AprTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AprTypeEnum fromValue(String value) { + for (AprTypeEnum b : AprTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AprTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AprTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AprTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_APR_TYPE = "apr_type"; + @SerializedName(SERIALIZED_NAME_APR_TYPE) + private AprTypeEnum aprType; + + public static final String SERIALIZED_NAME_BALANCE_SUBJECT_TO_APR = "balance_subject_to_apr"; + @SerializedName(SERIALIZED_NAME_BALANCE_SUBJECT_TO_APR) + private Double balanceSubjectToApr; + + public static final String SERIALIZED_NAME_INTEREST_CHARGE_AMOUNT = "interest_charge_amount"; + @SerializedName(SERIALIZED_NAME_INTEREST_CHARGE_AMOUNT) + private Double interestChargeAmount; + + + public APR aprPercentage(Double aprPercentage) { + + this.aprPercentage = aprPercentage; + return this; + } + + /** + * Annual Percentage Rate applied. + * @return aprPercentage + **/ + @ApiModelProperty(required = true, value = "Annual Percentage Rate applied. ") + + public Double getAprPercentage() { + return aprPercentage; + } + + + public void setAprPercentage(Double aprPercentage) { + this.aprPercentage = aprPercentage; + } + + + public APR aprType(AprTypeEnum aprType) { + + this.aprType = aprType; + return this; + } + + /** + * The type of balance to which the APR applies. + * @return aprType + **/ + @ApiModelProperty(required = true, value = "The type of balance to which the APR applies.") + + public AprTypeEnum getAprType() { + return aprType; + } + + + public void setAprType(AprTypeEnum aprType) { + this.aprType = aprType; + } + + + public APR balanceSubjectToApr(Double balanceSubjectToApr) { + + this.balanceSubjectToApr = balanceSubjectToApr; + return this; + } + + /** + * Amount of money that is subjected to the APR if a balance was carried beyond payment due date. How it is calculated can vary by card issuer. It is often calculated as an average daily balance. + * @return balanceSubjectToApr + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Amount of money that is subjected to the APR if a balance was carried beyond payment due date. How it is calculated can vary by card issuer. It is often calculated as an average daily balance.") + + public Double getBalanceSubjectToApr() { + return balanceSubjectToApr; + } + + + public void setBalanceSubjectToApr(Double balanceSubjectToApr) { + this.balanceSubjectToApr = balanceSubjectToApr; + } + + + public APR interestChargeAmount(Double interestChargeAmount) { + + this.interestChargeAmount = interestChargeAmount; + return this; + } + + /** + * Amount of money charged due to interest from last statement. + * @return interestChargeAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Amount of money charged due to interest from last statement.") + + public Double getInterestChargeAmount() { + return interestChargeAmount; + } + + + public void setInterestChargeAmount(Double interestChargeAmount) { + this.interestChargeAmount = interestChargeAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + APR APR = (APR) o; + return Objects.equals(this.aprPercentage, APR.aprPercentage) && + Objects.equals(this.aprType, APR.aprType) && + Objects.equals(this.balanceSubjectToApr, APR.balanceSubjectToApr) && + Objects.equals(this.interestChargeAmount, APR.interestChargeAmount); + } + + @Override + public int hashCode() { + return Objects.hash(aprPercentage, aprType, balanceSubjectToApr, interestChargeAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class APR {\n"); + sb.append(" aprPercentage: ").append(toIndentedString(aprPercentage)).append("\n"); + sb.append(" aprType: ").append(toIndentedString(aprType)).append("\n"); + sb.append(" balanceSubjectToApr: ").append(toIndentedString(balanceSubjectToApr)).append("\n"); + sb.append(" interestChargeAmount: ").append(toIndentedString(interestChargeAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountAccess.java b/src/main/java/com/plaid/client/model/AccountAccess.java new file mode 100644 index 0000000000..3c3b1cba48 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountAccess.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountProductAccessNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allow or disallow product access by account. Unlisted (e.g. missing) accounts will be considered `new_accounts`. + */ +@ApiModel(description = "Allow or disallow product access by account. Unlisted (e.g. missing) accounts will be considered `new_accounts`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountAccess { + public static final String SERIALIZED_NAME_UNIQUE_ID = "unique_id"; + @SerializedName(SERIALIZED_NAME_UNIQUE_ID) + private String uniqueId; + + public static final String SERIALIZED_NAME_AUTHORIZED = "authorized"; + @SerializedName(SERIALIZED_NAME_AUTHORIZED) + private Boolean authorized = true; + + public static final String SERIALIZED_NAME_ACCOUNT_PRODUCT_ACCESS = "account_product_access"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_PRODUCT_ACCESS) + private AccountProductAccessNullable accountProductAccess; + + + public AccountAccess uniqueId(String uniqueId) { + + this.uniqueId = uniqueId; + return this; + } + + /** + * The unique account identifier for this account. This value must match that returned by the data access API for this account. + * @return uniqueId + **/ + @ApiModelProperty(required = true, value = "The unique account identifier for this account. This value must match that returned by the data access API for this account.") + + public String getUniqueId() { + return uniqueId; + } + + + public void setUniqueId(String uniqueId) { + this.uniqueId = uniqueId; + } + + + public AccountAccess authorized(Boolean authorized) { + + this.authorized = authorized; + return this; + } + + /** + * Allow the application to see this account (and associated details, including balance) in the list of accounts. If unset, defaults to `true`. + * @return authorized + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow the application to see this account (and associated details, including balance) in the list of accounts. If unset, defaults to `true`.") + + public Boolean getAuthorized() { + return authorized; + } + + + public void setAuthorized(Boolean authorized) { + this.authorized = authorized; + } + + + public AccountAccess accountProductAccess(AccountProductAccessNullable accountProductAccess) { + + this.accountProductAccess = accountProductAccess; + return this; + } + + /** + * Get accountProductAccess + * @return accountProductAccess + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountProductAccessNullable getAccountProductAccess() { + return accountProductAccess; + } + + + public void setAccountProductAccess(AccountProductAccessNullable accountProductAccess) { + this.accountProductAccess = accountProductAccess; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountAccess accountAccess = (AccountAccess) o; + return Objects.equals(this.uniqueId, accountAccess.uniqueId) && + Objects.equals(this.authorized, accountAccess.authorized) && + Objects.equals(this.accountProductAccess, accountAccess.accountProductAccess); + } + + @Override + public int hashCode() { + return Objects.hash(uniqueId, authorized, accountProductAccess); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountAccess {\n"); + sb.append(" uniqueId: ").append(toIndentedString(uniqueId)).append("\n"); + sb.append(" authorized: ").append(toIndentedString(authorized)).append("\n"); + sb.append(" accountProductAccess: ").append(toIndentedString(accountProductAccess)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountAssets.java b/src/main/java/com/plaid/client/model/AccountAssets.java new file mode 100644 index 0000000000..5c582aa099 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountAssets.java @@ -0,0 +1,610 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountInsights; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.AssetReportAccountBalance; +import com.plaid.client.model.AssetReportInvestments; +import com.plaid.client.model.AssetReportTransaction; +import com.plaid.client.model.HistoricalBalance; +import com.plaid.client.model.Owner; +import com.plaid.client.model.OwnershipType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +/** + * Asset information about an account + */ +@ApiModel(description = "Asset information about an account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountAssets { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_BALANCES = "balances"; + @SerializedName(SERIALIZED_NAME_BALANCES) + private AssetReportAccountBalance balances; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + /** + * The current verification status of an Auth Item initiated through Automated or Manual micro-deposits. Returned for Auth Items only. `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the micro-deposit. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. + */ + @JsonAdapter(VerificationStatusEnum.Adapter.class) + public enum VerificationStatusEnum { + AUTOMATICALLY_VERIFIED("automatically_verified"), + + PENDING_AUTOMATIC_VERIFICATION("pending_automatic_verification"), + + PENDING_MANUAL_VERIFICATION("pending_manual_verification"), + + MANUALLY_VERIFIED("manually_verified"), + + VERIFICATION_EXPIRED("verification_expired"), + + VERIFICATION_FAILED("verification_failed"), + + DATABASE_MATCHED("database_matched"); + + private String value; + + VerificationStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static VerificationStatusEnum fromValue(String value) { + for (VerificationStatusEnum b : VerificationStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final VerificationStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public VerificationStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return VerificationStatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatusEnum verificationStatus; + + public static final String SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID = "persistent_account_id"; + @SerializedName(SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID) + private String persistentAccountId; + + public static final String SERIALIZED_NAME_DAYS_AVAILABLE = "days_available"; + @SerializedName(SERIALIZED_NAME_DAYS_AVAILABLE) + private Double daysAvailable; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_INVESTMENTS = "investments"; + @SerializedName(SERIALIZED_NAME_INVESTMENTS) + private AssetReportInvestments investments; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OWNERSHIP_TYPE = "ownership_type"; + @SerializedName(SERIALIZED_NAME_OWNERSHIP_TYPE) + private OwnershipType ownershipType; + + public static final String SERIALIZED_NAME_HISTORICAL_BALANCES = "historical_balances"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_BALANCES) + private List historicalBalances = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ACCOUNT_INSIGHTS = "account_insights"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_INSIGHTS) + private AccountInsights accountInsights; + + + public AccountAssets accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public AccountAssets balances(AssetReportAccountBalance balances) { + + this.balances = balances; + return this; + } + + /** + * Get balances + * @return balances + **/ + @ApiModelProperty(required = true, value = "") + + public AssetReportAccountBalance getBalances() { + return balances; + } + + + public void setBalances(AssetReportAccountBalance balances) { + this.balances = balances; + } + + + public AccountAssets mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public AccountAssets name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the account, either assigned by the user or by the financial institution itself + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the account, either assigned by the user or by the financial institution itself") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public AccountAssets officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * The official name of the account as given by the financial institution + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The official name of the account as given by the financial institution") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public AccountAssets type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public AccountAssets subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public AccountAssets verificationStatus(VerificationStatusEnum verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * The current verification status of an Auth Item initiated through Automated or Manual micro-deposits. Returned for Auth Items only. `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the micro-deposit. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. + * @return verificationStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The current verification status of an Auth Item initiated through Automated or Manual micro-deposits. Returned for Auth Items only. `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the micro-deposit. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match.") + + public VerificationStatusEnum getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatusEnum verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + public AccountAssets persistentAccountId(String persistentAccountId) { + + this.persistentAccountId = persistentAccountId; + return this; + } + + /** + * A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This is currently an opt-in field and only supported for Chase Items. + * @return persistentAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This is currently an opt-in field and only supported for Chase Items.") + + public String getPersistentAccountId() { + return persistentAccountId; + } + + + public void setPersistentAccountId(String persistentAccountId) { + this.persistentAccountId = persistentAccountId; + } + + + public AccountAssets daysAvailable(Double daysAvailable) { + + this.daysAvailable = daysAvailable; + return this; + } + + /** + * The duration of transaction history available within this report for this Item, typically defined as the time since the date of the earliest transaction in that account. + * @return daysAvailable + **/ + @ApiModelProperty(required = true, value = "The duration of transaction history available within this report for this Item, typically defined as the time since the date of the earliest transaction in that account.") + + public Double getDaysAvailable() { + return daysAvailable; + } + + + public void setDaysAvailable(Double daysAvailable) { + this.daysAvailable = daysAvailable; + } + + + public AccountAssets transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public AccountAssets addTransactionsItem(AssetReportTransaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * Transaction history associated with the account. + * @return transactions + **/ + @ApiModelProperty(required = true, value = "Transaction history associated with the account.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + public AccountAssets investments(AssetReportInvestments investments) { + + this.investments = investments; + return this; + } + + /** + * Get investments + * @return investments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AssetReportInvestments getInvestments() { + return investments; + } + + + public void setInvestments(AssetReportInvestments investments) { + this.investments = investments; + } + + + public AccountAssets owners(List owners) { + + this.owners = owners; + return this; + } + + public AccountAssets addOwnersItem(Owner ownersItem) { + this.owners.add(ownersItem); + return this; + } + + /** + * Data returned by the financial institution about the account owner or owners. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29) + * @return owners + **/ + @ApiModelProperty(required = true, value = "Data returned by the financial institution about the account owner or owners. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29)") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + public AccountAssets ownershipType(OwnershipType ownershipType) { + + this.ownershipType = ownershipType; + return this; + } + + /** + * Get ownershipType + * @return ownershipType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public OwnershipType getOwnershipType() { + return ownershipType; + } + + + public void setOwnershipType(OwnershipType ownershipType) { + this.ownershipType = ownershipType; + } + + + public AccountAssets historicalBalances(List historicalBalances) { + + this.historicalBalances = historicalBalances; + return this; + } + + public AccountAssets addHistoricalBalancesItem(HistoricalBalance historicalBalancesItem) { + this.historicalBalances.add(historicalBalancesItem); + return this; + } + + /** + * Calculated data about the historical balances on the account. Available for `credit` and `depository` type accounts. + * @return historicalBalances + **/ + @ApiModelProperty(required = true, value = "Calculated data about the historical balances on the account. Available for `credit` and `depository` type accounts.") + + public List getHistoricalBalances() { + return historicalBalances; + } + + + public void setHistoricalBalances(List historicalBalances) { + this.historicalBalances = historicalBalances; + } + + + public AccountAssets accountInsights(AccountInsights accountInsights) { + + this.accountInsights = accountInsights; + return this; + } + + /** + * Get accountInsights + * @return accountInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountInsights getAccountInsights() { + return accountInsights; + } + + + public void setAccountInsights(AccountInsights accountInsights) { + this.accountInsights = accountInsights; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountAssets accountAssets = (AccountAssets) o; + return Objects.equals(this.accountId, accountAssets.accountId) && + Objects.equals(this.balances, accountAssets.balances) && + Objects.equals(this.mask, accountAssets.mask) && + Objects.equals(this.name, accountAssets.name) && + Objects.equals(this.officialName, accountAssets.officialName) && + Objects.equals(this.type, accountAssets.type) && + Objects.equals(this.subtype, accountAssets.subtype) && + Objects.equals(this.verificationStatus, accountAssets.verificationStatus) && + Objects.equals(this.persistentAccountId, accountAssets.persistentAccountId) && + Objects.equals(this.daysAvailable, accountAssets.daysAvailable) && + Objects.equals(this.transactions, accountAssets.transactions) && + Objects.equals(this.investments, accountAssets.investments) && + Objects.equals(this.owners, accountAssets.owners) && + Objects.equals(this.ownershipType, accountAssets.ownershipType) && + Objects.equals(this.historicalBalances, accountAssets.historicalBalances) && + Objects.equals(this.accountInsights, accountAssets.accountInsights); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, balances, mask, name, officialName, type, subtype, verificationStatus, persistentAccountId, daysAvailable, transactions, investments, owners, ownershipType, historicalBalances, accountInsights); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountAssets {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" balances: ").append(toIndentedString(balances)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append(" persistentAccountId: ").append(toIndentedString(persistentAccountId)).append("\n"); + sb.append(" daysAvailable: ").append(toIndentedString(daysAvailable)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" investments: ").append(toIndentedString(investments)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append(" ownershipType: ").append(toIndentedString(ownershipType)).append("\n"); + sb.append(" historicalBalances: ").append(toIndentedString(historicalBalances)).append("\n"); + sb.append(" accountInsights: ").append(toIndentedString(accountInsights)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountBalance.java b/src/main/java/com/plaid/client/model/AccountBalance.java new file mode 100644 index 0000000000..fd6e4e95ea --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountBalance.java @@ -0,0 +1,245 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * A set of fields describing the balance for an account. For real-time values, use `/accounts/balance/get` or `/signal/evaluate` (with a Balance-only ruleset), which are fetched live from the institution at request time. Values returned by other endpoints may be cached, or adjusted by Plaid to reflect transaction activity received since the last refresh. + */ +@ApiModel(description = "A set of fields describing the balance for an account. For real-time values, use `/accounts/balance/get` or `/signal/evaluate` (with a Balance-only ruleset), which are fetched live from the institution at request time. Values returned by other endpoints may be cached, or adjusted by Plaid to reflect transaction activity received since the last refresh.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountBalance { + public static final String SERIALIZED_NAME_AVAILABLE = "available"; + @SerializedName(SERIALIZED_NAME_AVAILABLE) + private Double available; + + public static final String SERIALIZED_NAME_CURRENT = "current"; + @SerializedName(SERIALIZED_NAME_CURRENT) + private Double current; + + public static final String SERIALIZED_NAME_LIMIT = "limit"; + @SerializedName(SERIALIZED_NAME_LIMIT) + private Double limit; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_LAST_UPDATED_DATETIME = "last_updated_datetime"; + @SerializedName(SERIALIZED_NAME_LAST_UPDATED_DATETIME) + private OffsetDateTime lastUpdatedDatetime; + + + public AccountBalance available(Double available) { + + this.available = available; + return this; + } + + /** + * The amount of funds available to be withdrawn from the account, as determined by the financial institution. For `credit`-type accounts, the `available` balance typically equals the `limit` less the `current` balance, less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance typically equals the `current` balance less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance does not include the overdraft limit. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the `available` balance is the total cash available to withdraw as presented by the institution. Note that not all institutions calculate the `available` balance. In the event that `available` balance is unavailable, Plaid will return an `available` balance value of `null`. Available balance may be cached and is not guaranteed to be up-to-date in real-time unless the value was returned by `/accounts/balance/get`, or by `/signal/evaluate` with a Balance-only ruleset. If `current` is `null` this field is guaranteed not to be `null`, unless you have opted into enabling [limited-purpose checking accounts](https://plaid.com/docs/auth/#enabling-limited-purpose-checking-accounts-for-rent-or-mortgage), which always have `null` values for both `available` and `current` balance. + * @return available + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The amount of funds available to be withdrawn from the account, as determined by the financial institution. For `credit`-type accounts, the `available` balance typically equals the `limit` less the `current` balance, less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance typically equals the `current` balance less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance does not include the overdraft limit. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the `available` balance is the total cash available to withdraw as presented by the institution. Note that not all institutions calculate the `available` balance. In the event that `available` balance is unavailable, Plaid will return an `available` balance value of `null`. Available balance may be cached and is not guaranteed to be up-to-date in real-time unless the value was returned by `/accounts/balance/get`, or by `/signal/evaluate` with a Balance-only ruleset. If `current` is `null` this field is guaranteed not to be `null`, unless you have opted into enabling [limited-purpose checking accounts](https://plaid.com/docs/auth/#enabling-limited-purpose-checking-accounts-for-rent-or-mortgage), which always have `null` values for both `available` and `current` balance.") + + public Double getAvailable() { + return available; + } + + + public void setAvailable(Double available) { + this.available = available; + } + + + public AccountBalance current(Double current) { + + this.current = current; + return this; + } + + /** + * The total amount of funds in or owed by the account. For `credit`-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder. For `loan`-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (`ins_116944`). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest. Similar to `credit`-type accounts, a positive balance is typically expected, while a negative amount indicates the lender owing the account holder. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the current balance is the total value of assets as presented by the institution. Note that balance information may be cached unless the value was returned by `/accounts/balance/get` or by `/signal/evaluate` with a Balance-only ruleset; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require real-time balance information, use the `available` balance as provided by `/accounts/balance/get` or `/signal/evaluate` called with a Balance-only `ruleset_key`. When returned by `/accounts/balance/get`, this field may be `null`. When this happens, `available` is guaranteed not to be `null`, unless you have opted into enabling [limited-purpose checking accounts](https://plaid.com/docs/auth/#enabling-limited-purpose-checking-accounts-for-rent-or-mortgage), which always have `null` values for both `available` and `current` balance. + * @return current + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total amount of funds in or owed by the account. For `credit`-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder. For `loan`-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (`ins_116944`). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest. Similar to `credit`-type accounts, a positive balance is typically expected, while a negative amount indicates the lender owing the account holder. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the current balance is the total value of assets as presented by the institution. Note that balance information may be cached unless the value was returned by `/accounts/balance/get` or by `/signal/evaluate` with a Balance-only ruleset; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require real-time balance information, use the `available` balance as provided by `/accounts/balance/get` or `/signal/evaluate` called with a Balance-only `ruleset_key`. When returned by `/accounts/balance/get`, this field may be `null`. When this happens, `available` is guaranteed not to be `null`, unless you have opted into enabling [limited-purpose checking accounts](https://plaid.com/docs/auth/#enabling-limited-purpose-checking-accounts-for-rent-or-mortgage), which always have `null` values for both `available` and `current` balance.") + + public Double getCurrent() { + return current; + } + + + public void setCurrent(Double current) { + this.current = current; + } + + + public AccountBalance limit(Double limit) { + + this.limit = limit; + return this; + } + + /** + * For `credit`-type accounts, this represents the credit limit. For `depository`-type accounts, this represents the pre-arranged overdraft limit, which is common for current (checking) accounts in Europe. In North America, this field is typically only available for `credit`-type accounts. + * @return limit + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "For `credit`-type accounts, this represents the credit limit. For `depository`-type accounts, this represents the pre-arranged overdraft limit, which is common for current (checking) accounts in Europe. In North America, this field is typically only available for `credit`-type accounts.") + + public Double getLimit() { + return limit; + } + + + public void setLimit(Double limit) { + this.limit = limit; + } + + + public AccountBalance isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public AccountBalance unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the balance. Always null if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the balance. Always null if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public AccountBalance lastUpdatedDatetime(OffsetDateTime lastUpdatedDatetime) { + + this.lastUpdatedDatetime = lastUpdatedDatetime; + return this; + } + + /** + * Timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the last time the balance was updated. This field is returned only when the institution is `ins_128026` (Capital One). + * @return lastUpdatedDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the last time the balance was updated. This field is returned only when the institution is `ins_128026` (Capital One).") + + public OffsetDateTime getLastUpdatedDatetime() { + return lastUpdatedDatetime; + } + + + public void setLastUpdatedDatetime(OffsetDateTime lastUpdatedDatetime) { + this.lastUpdatedDatetime = lastUpdatedDatetime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountBalance accountBalance = (AccountBalance) o; + return Objects.equals(this.available, accountBalance.available) && + Objects.equals(this.current, accountBalance.current) && + Objects.equals(this.limit, accountBalance.limit) && + Objects.equals(this.isoCurrencyCode, accountBalance.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, accountBalance.unofficialCurrencyCode) && + Objects.equals(this.lastUpdatedDatetime, accountBalance.lastUpdatedDatetime); + } + + @Override + public int hashCode() { + return Objects.hash(available, current, limit, isoCurrencyCode, unofficialCurrencyCode, lastUpdatedDatetime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountBalance {\n"); + sb.append(" available: ").append(toIndentedString(available)).append("\n"); + sb.append(" current: ").append(toIndentedString(current)).append("\n"); + sb.append(" limit: ").append(toIndentedString(limit)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" lastUpdatedDatetime: ").append(toIndentedString(lastUpdatedDatetime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountBase.java b/src/main/java/com/plaid/client/model/AccountBase.java new file mode 100644 index 0000000000..317fd9e72d --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountBase.java @@ -0,0 +1,484 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBalance; +import com.plaid.client.model.AccountHolderCategory; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.AccountVerificationInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A single account at a financial institution. + */ +@ApiModel(description = "A single account at a financial institution.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountBase { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_BALANCES = "balances"; + @SerializedName(SERIALIZED_NAME_BALANCES) + private AccountBalance balances; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + */ + @JsonAdapter(VerificationStatusEnum.Adapter.class) + public enum VerificationStatusEnum { + AUTOMATICALLY_VERIFIED("automatically_verified"), + + PENDING_AUTOMATIC_VERIFICATION("pending_automatic_verification"), + + PENDING_MANUAL_VERIFICATION("pending_manual_verification"), + + UNSENT("unsent"), + + MANUALLY_VERIFIED("manually_verified"), + + VERIFICATION_EXPIRED("verification_expired"), + + VERIFICATION_FAILED("verification_failed"), + + DATABASE_MATCHED("database_matched"), + + DATABASE_INSIGHTS_PASS("database_insights_pass"), + + DATABASE_INSIGHTS_PASS_WITH_CAUTION("database_insights_pass_with_caution"), + + DATABASE_INSIGHTS_FAIL("database_insights_fail"); + + private String value; + + VerificationStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static VerificationStatusEnum fromValue(String value) { + for (VerificationStatusEnum b : VerificationStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final VerificationStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public VerificationStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return VerificationStatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatusEnum verificationStatus; + + public static final String SERIALIZED_NAME_VERIFICATION_NAME = "verification_name"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_NAME) + private String verificationName; + + public static final String SERIALIZED_NAME_VERIFICATION_INSIGHTS = "verification_insights"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_INSIGHTS) + private AccountVerificationInsights verificationInsights; + + public static final String SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID = "persistent_account_id"; + @SerializedName(SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID) + private String persistentAccountId; + + public static final String SERIALIZED_NAME_HOLDER_CATEGORY = "holder_category"; + @SerializedName(SERIALIZED_NAME_HOLDER_CATEGORY) + private AccountHolderCategory holderCategory; + + + public AccountBase accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public AccountBase balances(AccountBalance balances) { + + this.balances = balances; + return this; + } + + /** + * Get balances + * @return balances + **/ + @ApiModelProperty(required = true, value = "") + + public AccountBalance getBalances() { + return balances; + } + + + public void setBalances(AccountBalance balances) { + this.balances = balances; + } + + + public AccountBase mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of either the account's displayed mask or the account's official account number. Note that the mask may be non-unique between an Item's accounts. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The last 2-4 alphanumeric characters of either the account's displayed mask or the account's official account number. Note that the mask may be non-unique between an Item's accounts.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public AccountBase name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the account, either assigned by the user or by the financial institution itself + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the account, either assigned by the user or by the financial institution itself") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public AccountBase officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * The official name of the account as given by the financial institution + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The official name of the account as given by the financial institution") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public AccountBase type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public AccountBase subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public AccountBase verificationStatus(VerificationStatusEnum verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + * @return verificationStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item.") + + public VerificationStatusEnum getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatusEnum verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + public AccountBase verificationName(String verificationName) { + + this.verificationName = verificationName; + return this; + } + + /** + * The account holder name that was used for micro-deposit and/or database verification. Only returned for Auth Items created via micro-deposit or database verification. This name was manually-entered by the user during Link, unless it was otherwise provided via the `user.legal_name` request field in `/link/token/create` for the Link session that created the Item. + * @return verificationName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account holder name that was used for micro-deposit and/or database verification. Only returned for Auth Items created via micro-deposit or database verification. This name was manually-entered by the user during Link, unless it was otherwise provided via the `user.legal_name` request field in `/link/token/create` for the Link session that created the Item.") + + public String getVerificationName() { + return verificationName; + } + + + public void setVerificationName(String verificationName) { + this.verificationName = verificationName; + } + + + public AccountBase verificationInsights(AccountVerificationInsights verificationInsights) { + + this.verificationInsights = verificationInsights; + return this; + } + + /** + * Get verificationInsights + * @return verificationInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountVerificationInsights getVerificationInsights() { + return verificationInsights; + } + + + public void setVerificationInsights(AccountVerificationInsights verificationInsights) { + this.verificationInsights = verificationInsights; + } + + + public AccountBase persistentAccountId(String persistentAccountId) { + + this.persistentAccountId = persistentAccountId; + return this; + } + + /** + * A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions. + * @return persistentAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions.") + + public String getPersistentAccountId() { + return persistentAccountId; + } + + + public void setPersistentAccountId(String persistentAccountId) { + this.persistentAccountId = persistentAccountId; + } + + + public AccountBase holderCategory(AccountHolderCategory holderCategory) { + + this.holderCategory = holderCategory; + return this; + } + + /** + * Get holderCategory + * @return holderCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountHolderCategory getHolderCategory() { + return holderCategory; + } + + + public void setHolderCategory(AccountHolderCategory holderCategory) { + this.holderCategory = holderCategory; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountBase accountBase = (AccountBase) o; + return Objects.equals(this.accountId, accountBase.accountId) && + Objects.equals(this.balances, accountBase.balances) && + Objects.equals(this.mask, accountBase.mask) && + Objects.equals(this.name, accountBase.name) && + Objects.equals(this.officialName, accountBase.officialName) && + Objects.equals(this.type, accountBase.type) && + Objects.equals(this.subtype, accountBase.subtype) && + Objects.equals(this.verificationStatus, accountBase.verificationStatus) && + Objects.equals(this.verificationName, accountBase.verificationName) && + Objects.equals(this.verificationInsights, accountBase.verificationInsights) && + Objects.equals(this.persistentAccountId, accountBase.persistentAccountId) && + Objects.equals(this.holderCategory, accountBase.holderCategory); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, balances, mask, name, officialName, type, subtype, verificationStatus, verificationName, verificationInsights, persistentAccountId, holderCategory); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountBase {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" balances: ").append(toIndentedString(balances)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append(" verificationName: ").append(toIndentedString(verificationName)).append("\n"); + sb.append(" verificationInsights: ").append(toIndentedString(verificationInsights)).append("\n"); + sb.append(" persistentAccountId: ").append(toIndentedString(persistentAccountId)).append("\n"); + sb.append(" holderCategory: ").append(toIndentedString(holderCategory)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountBaseNullable.java b/src/main/java/com/plaid/client/model/AccountBaseNullable.java new file mode 100644 index 0000000000..86be73056d --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountBaseNullable.java @@ -0,0 +1,485 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBalance; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.AccountHolderCategory; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.AccountVerificationInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A single account at a financial institution. + */ +@ApiModel(description = "A single account at a financial institution.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountBaseNullable { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_BALANCES = "balances"; + @SerializedName(SERIALIZED_NAME_BALANCES) + private AccountBalance balances; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + */ + @JsonAdapter(VerificationStatusEnum.Adapter.class) + public enum VerificationStatusEnum { + AUTOMATICALLY_VERIFIED("automatically_verified"), + + PENDING_AUTOMATIC_VERIFICATION("pending_automatic_verification"), + + PENDING_MANUAL_VERIFICATION("pending_manual_verification"), + + UNSENT("unsent"), + + MANUALLY_VERIFIED("manually_verified"), + + VERIFICATION_EXPIRED("verification_expired"), + + VERIFICATION_FAILED("verification_failed"), + + DATABASE_MATCHED("database_matched"), + + DATABASE_INSIGHTS_PASS("database_insights_pass"), + + DATABASE_INSIGHTS_PASS_WITH_CAUTION("database_insights_pass_with_caution"), + + DATABASE_INSIGHTS_FAIL("database_insights_fail"); + + private String value; + + VerificationStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static VerificationStatusEnum fromValue(String value) { + for (VerificationStatusEnum b : VerificationStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final VerificationStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public VerificationStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return VerificationStatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatusEnum verificationStatus; + + public static final String SERIALIZED_NAME_VERIFICATION_NAME = "verification_name"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_NAME) + private String verificationName; + + public static final String SERIALIZED_NAME_VERIFICATION_INSIGHTS = "verification_insights"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_INSIGHTS) + private AccountVerificationInsights verificationInsights; + + public static final String SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID = "persistent_account_id"; + @SerializedName(SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID) + private String persistentAccountId; + + public static final String SERIALIZED_NAME_HOLDER_CATEGORY = "holder_category"; + @SerializedName(SERIALIZED_NAME_HOLDER_CATEGORY) + private AccountHolderCategory holderCategory; + + + public AccountBaseNullable accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public AccountBaseNullable balances(AccountBalance balances) { + + this.balances = balances; + return this; + } + + /** + * Get balances + * @return balances + **/ + @ApiModelProperty(required = true, value = "") + + public AccountBalance getBalances() { + return balances; + } + + + public void setBalances(AccountBalance balances) { + this.balances = balances; + } + + + public AccountBaseNullable mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of either the account's displayed mask or the account's official account number. Note that the mask may be non-unique between an Item's accounts. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The last 2-4 alphanumeric characters of either the account's displayed mask or the account's official account number. Note that the mask may be non-unique between an Item's accounts.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public AccountBaseNullable name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the account, either assigned by the user or by the financial institution itself + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the account, either assigned by the user or by the financial institution itself") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public AccountBaseNullable officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * The official name of the account as given by the financial institution + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The official name of the account as given by the financial institution") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public AccountBaseNullable type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public AccountBaseNullable subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public AccountBaseNullable verificationStatus(VerificationStatusEnum verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + * @return verificationStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item.") + + public VerificationStatusEnum getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatusEnum verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + public AccountBaseNullable verificationName(String verificationName) { + + this.verificationName = verificationName; + return this; + } + + /** + * The account holder name that was used for micro-deposit and/or database verification. Only returned for Auth Items created via micro-deposit or database verification. This name was manually-entered by the user during Link, unless it was otherwise provided via the `user.legal_name` request field in `/link/token/create` for the Link session that created the Item. + * @return verificationName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account holder name that was used for micro-deposit and/or database verification. Only returned for Auth Items created via micro-deposit or database verification. This name was manually-entered by the user during Link, unless it was otherwise provided via the `user.legal_name` request field in `/link/token/create` for the Link session that created the Item.") + + public String getVerificationName() { + return verificationName; + } + + + public void setVerificationName(String verificationName) { + this.verificationName = verificationName; + } + + + public AccountBaseNullable verificationInsights(AccountVerificationInsights verificationInsights) { + + this.verificationInsights = verificationInsights; + return this; + } + + /** + * Get verificationInsights + * @return verificationInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountVerificationInsights getVerificationInsights() { + return verificationInsights; + } + + + public void setVerificationInsights(AccountVerificationInsights verificationInsights) { + this.verificationInsights = verificationInsights; + } + + + public AccountBaseNullable persistentAccountId(String persistentAccountId) { + + this.persistentAccountId = persistentAccountId; + return this; + } + + /** + * A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions. + * @return persistentAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions.") + + public String getPersistentAccountId() { + return persistentAccountId; + } + + + public void setPersistentAccountId(String persistentAccountId) { + this.persistentAccountId = persistentAccountId; + } + + + public AccountBaseNullable holderCategory(AccountHolderCategory holderCategory) { + + this.holderCategory = holderCategory; + return this; + } + + /** + * Get holderCategory + * @return holderCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountHolderCategory getHolderCategory() { + return holderCategory; + } + + + public void setHolderCategory(AccountHolderCategory holderCategory) { + this.holderCategory = holderCategory; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountBaseNullable accountBaseNullable = (AccountBaseNullable) o; + return Objects.equals(this.accountId, accountBaseNullable.accountId) && + Objects.equals(this.balances, accountBaseNullable.balances) && + Objects.equals(this.mask, accountBaseNullable.mask) && + Objects.equals(this.name, accountBaseNullable.name) && + Objects.equals(this.officialName, accountBaseNullable.officialName) && + Objects.equals(this.type, accountBaseNullable.type) && + Objects.equals(this.subtype, accountBaseNullable.subtype) && + Objects.equals(this.verificationStatus, accountBaseNullable.verificationStatus) && + Objects.equals(this.verificationName, accountBaseNullable.verificationName) && + Objects.equals(this.verificationInsights, accountBaseNullable.verificationInsights) && + Objects.equals(this.persistentAccountId, accountBaseNullable.persistentAccountId) && + Objects.equals(this.holderCategory, accountBaseNullable.holderCategory); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, balances, mask, name, officialName, type, subtype, verificationStatus, verificationName, verificationInsights, persistentAccountId, holderCategory); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountBaseNullable {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" balances: ").append(toIndentedString(balances)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append(" verificationName: ").append(toIndentedString(verificationName)).append("\n"); + sb.append(" verificationInsights: ").append(toIndentedString(verificationInsights)).append("\n"); + sb.append(" persistentAccountId: ").append(toIndentedString(persistentAccountId)).append("\n"); + sb.append(" holderCategory: ").append(toIndentedString(holderCategory)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountFilter.java b/src/main/java/com/plaid/client/model/AccountFilter.java new file mode 100644 index 0000000000..9b08ef0786 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountFilter.java @@ -0,0 +1,220 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Enumerates the account subtypes that the application wishes for the user to be able to select from. For more details refer to Plaid documentation on account filters. + */ +@ApiModel(description = "Enumerates the account subtypes that the application wishes for the user to be able to select from. For more details refer to Plaid documentation on account filters.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountFilter { + public static final String SERIALIZED_NAME_DEPOSITORY = "depository"; + @SerializedName(SERIALIZED_NAME_DEPOSITORY) + private List depository = null; + + public static final String SERIALIZED_NAME_CREDIT = "credit"; + @SerializedName(SERIALIZED_NAME_CREDIT) + private List credit = null; + + public static final String SERIALIZED_NAME_LOAN = "loan"; + @SerializedName(SERIALIZED_NAME_LOAN) + private List loan = null; + + public static final String SERIALIZED_NAME_INVESTMENT = "investment"; + @SerializedName(SERIALIZED_NAME_INVESTMENT) + private List investment = null; + + + public AccountFilter depository(List depository) { + + this.depository = depository; + return this; + } + + public AccountFilter addDepositoryItem(String depositoryItem) { + if (this.depository == null) { + this.depository = new ArrayList<>(); + } + this.depository.add(depositoryItem); + return this; + } + + /** + * A list of account subtypes to be filtered. + * @return depository + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of account subtypes to be filtered.") + + public List getDepository() { + return depository; + } + + + public void setDepository(List depository) { + this.depository = depository; + } + + + public AccountFilter credit(List credit) { + + this.credit = credit; + return this; + } + + public AccountFilter addCreditItem(String creditItem) { + if (this.credit == null) { + this.credit = new ArrayList<>(); + } + this.credit.add(creditItem); + return this; + } + + /** + * A list of account subtypes to be filtered. + * @return credit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of account subtypes to be filtered.") + + public List getCredit() { + return credit; + } + + + public void setCredit(List credit) { + this.credit = credit; + } + + + public AccountFilter loan(List loan) { + + this.loan = loan; + return this; + } + + public AccountFilter addLoanItem(String loanItem) { + if (this.loan == null) { + this.loan = new ArrayList<>(); + } + this.loan.add(loanItem); + return this; + } + + /** + * A list of account subtypes to be filtered. + * @return loan + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of account subtypes to be filtered.") + + public List getLoan() { + return loan; + } + + + public void setLoan(List loan) { + this.loan = loan; + } + + + public AccountFilter investment(List investment) { + + this.investment = investment; + return this; + } + + public AccountFilter addInvestmentItem(String investmentItem) { + if (this.investment == null) { + this.investment = new ArrayList<>(); + } + this.investment.add(investmentItem); + return this; + } + + /** + * A list of account subtypes to be filtered. + * @return investment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of account subtypes to be filtered.") + + public List getInvestment() { + return investment; + } + + + public void setInvestment(List investment) { + this.investment = investment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountFilter accountFilter = (AccountFilter) o; + return Objects.equals(this.depository, accountFilter.depository) && + Objects.equals(this.credit, accountFilter.credit) && + Objects.equals(this.loan, accountFilter.loan) && + Objects.equals(this.investment, accountFilter.investment); + } + + @Override + public int hashCode() { + return Objects.hash(depository, credit, loan, investment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountFilter {\n"); + sb.append(" depository: ").append(toIndentedString(depository)).append("\n"); + sb.append(" credit: ").append(toIndentedString(credit)).append("\n"); + sb.append(" loan: ").append(toIndentedString(loan)).append("\n"); + sb.append(" investment: ").append(toIndentedString(investment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountFiltersResponse.java b/src/main/java/com/plaid/client/model/AccountFiltersResponse.java new file mode 100644 index 0000000000..9dd6a3458e --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountFiltersResponse.java @@ -0,0 +1,190 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFilter; +import com.plaid.client.model.DepositoryFilter; +import com.plaid.client.model.InvestmentFilter; +import com.plaid.client.model.LoanFilter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The `account_filters` specified in the original call to `/link/token/create`. + */ +@ApiModel(description = "The `account_filters` specified in the original call to `/link/token/create`. ") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountFiltersResponse { + public static final String SERIALIZED_NAME_DEPOSITORY = "depository"; + @SerializedName(SERIALIZED_NAME_DEPOSITORY) + private DepositoryFilter depository; + + public static final String SERIALIZED_NAME_CREDIT = "credit"; + @SerializedName(SERIALIZED_NAME_CREDIT) + private CreditFilter credit; + + public static final String SERIALIZED_NAME_LOAN = "loan"; + @SerializedName(SERIALIZED_NAME_LOAN) + private LoanFilter loan; + + public static final String SERIALIZED_NAME_INVESTMENT = "investment"; + @SerializedName(SERIALIZED_NAME_INVESTMENT) + private InvestmentFilter investment; + + + public AccountFiltersResponse depository(DepositoryFilter depository) { + + this.depository = depository; + return this; + } + + /** + * Get depository + * @return depository + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public DepositoryFilter getDepository() { + return depository; + } + + + public void setDepository(DepositoryFilter depository) { + this.depository = depository; + } + + + public AccountFiltersResponse credit(CreditFilter credit) { + + this.credit = credit; + return this; + } + + /** + * Get credit + * @return credit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditFilter getCredit() { + return credit; + } + + + public void setCredit(CreditFilter credit) { + this.credit = credit; + } + + + public AccountFiltersResponse loan(LoanFilter loan) { + + this.loan = loan; + return this; + } + + /** + * Get loan + * @return loan + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LoanFilter getLoan() { + return loan; + } + + + public void setLoan(LoanFilter loan) { + this.loan = loan; + } + + + public AccountFiltersResponse investment(InvestmentFilter investment) { + + this.investment = investment; + return this; + } + + /** + * Get investment + * @return investment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InvestmentFilter getInvestment() { + return investment; + } + + + public void setInvestment(InvestmentFilter investment) { + this.investment = investment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountFiltersResponse accountFiltersResponse = (AccountFiltersResponse) o; + return Objects.equals(this.depository, accountFiltersResponse.depository) && + Objects.equals(this.credit, accountFiltersResponse.credit) && + Objects.equals(this.loan, accountFiltersResponse.loan) && + Objects.equals(this.investment, accountFiltersResponse.investment); + } + + @Override + public int hashCode() { + return Objects.hash(depository, credit, loan, investment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountFiltersResponse {\n"); + sb.append(" depository: ").append(toIndentedString(depository)).append("\n"); + sb.append(" credit: ").append(toIndentedString(credit)).append("\n"); + sb.append(" loan: ").append(toIndentedString(loan)).append("\n"); + sb.append(" investment: ").append(toIndentedString(investment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountHolderCategory.java b/src/main/java/com/plaid/client/model/AccountHolderCategory.java new file mode 100644 index 0000000000..0af6c42bb6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountHolderCategory.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates the account's categorization as either a personal or a business account. This field is currently in beta; to request access, contact your account manager. + */ +@JsonAdapter(AccountHolderCategory.Adapter.class) +public enum AccountHolderCategory { + + BUSINESS("business"), + + PERSONAL("personal"), + + UNRECOGNIZED("unrecognized"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AccountHolderCategory(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AccountHolderCategory fromValue(String value) { + for (AccountHolderCategory b : AccountHolderCategory.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AccountHolderCategory enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AccountHolderCategory read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AccountHolderCategory.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AccountIdentity.java b/src/main/java/com/plaid/client/model/AccountIdentity.java new file mode 100644 index 0000000000..fd3d2b4ca9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountIdentity.java @@ -0,0 +1,522 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBalance; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.AccountHolderCategory; +import com.plaid.client.model.AccountIdentityAllOf; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.AccountVerificationInsights; +import com.plaid.client.model.Owner; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Identity information about an account + */ +@ApiModel(description = "Identity information about an account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountIdentity { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_BALANCES = "balances"; + @SerializedName(SERIALIZED_NAME_BALANCES) + private AccountBalance balances; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + */ + @JsonAdapter(VerificationStatusEnum.Adapter.class) + public enum VerificationStatusEnum { + AUTOMATICALLY_VERIFIED("automatically_verified"), + + PENDING_AUTOMATIC_VERIFICATION("pending_automatic_verification"), + + PENDING_MANUAL_VERIFICATION("pending_manual_verification"), + + UNSENT("unsent"), + + MANUALLY_VERIFIED("manually_verified"), + + VERIFICATION_EXPIRED("verification_expired"), + + VERIFICATION_FAILED("verification_failed"), + + DATABASE_MATCHED("database_matched"), + + DATABASE_INSIGHTS_PASS("database_insights_pass"), + + DATABASE_INSIGHTS_PASS_WITH_CAUTION("database_insights_pass_with_caution"), + + DATABASE_INSIGHTS_FAIL("database_insights_fail"); + + private String value; + + VerificationStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static VerificationStatusEnum fromValue(String value) { + for (VerificationStatusEnum b : VerificationStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final VerificationStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public VerificationStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return VerificationStatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatusEnum verificationStatus; + + public static final String SERIALIZED_NAME_VERIFICATION_NAME = "verification_name"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_NAME) + private String verificationName; + + public static final String SERIALIZED_NAME_VERIFICATION_INSIGHTS = "verification_insights"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_INSIGHTS) + private AccountVerificationInsights verificationInsights; + + public static final String SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID = "persistent_account_id"; + @SerializedName(SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID) + private String persistentAccountId; + + public static final String SERIALIZED_NAME_HOLDER_CATEGORY = "holder_category"; + @SerializedName(SERIALIZED_NAME_HOLDER_CATEGORY) + private AccountHolderCategory holderCategory; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = new ArrayList<>(); + + + public AccountIdentity accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public AccountIdentity balances(AccountBalance balances) { + + this.balances = balances; + return this; + } + + /** + * Get balances + * @return balances + **/ + @ApiModelProperty(required = true, value = "") + + public AccountBalance getBalances() { + return balances; + } + + + public void setBalances(AccountBalance balances) { + this.balances = balances; + } + + + public AccountIdentity mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * Get mask + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public AccountIdentity name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public AccountIdentity officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * Get officialName + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public AccountIdentity type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public AccountIdentity subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public AccountIdentity verificationStatus(VerificationStatusEnum verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + * @return verificationStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item.") + + public VerificationStatusEnum getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatusEnum verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + public AccountIdentity verificationName(String verificationName) { + + this.verificationName = verificationName; + return this; + } + + /** + * Get verificationName + * @return verificationName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getVerificationName() { + return verificationName; + } + + + public void setVerificationName(String verificationName) { + this.verificationName = verificationName; + } + + + public AccountIdentity verificationInsights(AccountVerificationInsights verificationInsights) { + + this.verificationInsights = verificationInsights; + return this; + } + + /** + * Get verificationInsights + * @return verificationInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountVerificationInsights getVerificationInsights() { + return verificationInsights; + } + + + public void setVerificationInsights(AccountVerificationInsights verificationInsights) { + this.verificationInsights = verificationInsights; + } + + + public AccountIdentity persistentAccountId(String persistentAccountId) { + + this.persistentAccountId = persistentAccountId; + return this; + } + + /** + * A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions. + * @return persistentAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions.") + + public String getPersistentAccountId() { + return persistentAccountId; + } + + + public void setPersistentAccountId(String persistentAccountId) { + this.persistentAccountId = persistentAccountId; + } + + + public AccountIdentity holderCategory(AccountHolderCategory holderCategory) { + + this.holderCategory = holderCategory; + return this; + } + + /** + * Get holderCategory + * @return holderCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountHolderCategory getHolderCategory() { + return holderCategory; + } + + + public void setHolderCategory(AccountHolderCategory holderCategory) { + this.holderCategory = holderCategory; + } + + + public AccountIdentity owners(List owners) { + + this.owners = owners; + return this; + } + + public AccountIdentity addOwnersItem(Owner ownersItem) { + this.owners.add(ownersItem); + return this; + } + + /** + * Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution; detecting whether the linked account is a business account is not currently supported. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29) + * @return owners + **/ + @ApiModelProperty(required = true, value = "Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution; detecting whether the linked account is a business account is not currently supported. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29)") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountIdentity accountIdentity = (AccountIdentity) o; + return Objects.equals(this.accountId, accountIdentity.accountId) && + Objects.equals(this.balances, accountIdentity.balances) && + Objects.equals(this.mask, accountIdentity.mask) && + Objects.equals(this.name, accountIdentity.name) && + Objects.equals(this.officialName, accountIdentity.officialName) && + Objects.equals(this.type, accountIdentity.type) && + Objects.equals(this.subtype, accountIdentity.subtype) && + Objects.equals(this.verificationStatus, accountIdentity.verificationStatus) && + Objects.equals(this.verificationName, accountIdentity.verificationName) && + Objects.equals(this.verificationInsights, accountIdentity.verificationInsights) && + Objects.equals(this.persistentAccountId, accountIdentity.persistentAccountId) && + Objects.equals(this.holderCategory, accountIdentity.holderCategory) && + Objects.equals(this.owners, accountIdentity.owners); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, balances, mask, name, officialName, type, subtype, verificationStatus, verificationName, verificationInsights, persistentAccountId, holderCategory, owners); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountIdentity {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" balances: ").append(toIndentedString(balances)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append(" verificationName: ").append(toIndentedString(verificationName)).append("\n"); + sb.append(" verificationInsights: ").append(toIndentedString(verificationInsights)).append("\n"); + sb.append(" persistentAccountId: ").append(toIndentedString(persistentAccountId)).append("\n"); + sb.append(" holderCategory: ").append(toIndentedString(holderCategory)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountIdentityAllOf.java b/src/main/java/com/plaid/client/model/AccountIdentityAllOf.java new file mode 100644 index 0000000000..56ef1eeb1e --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountIdentityAllOf.java @@ -0,0 +1,221 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Owner; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * AccountIdentityAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountIdentityAllOf { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_VERIFICATION_NAME = "verification_name"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_NAME) + private String verificationName; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = new ArrayList<>(); + + + public AccountIdentityAllOf name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public AccountIdentityAllOf officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * Get officialName + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public AccountIdentityAllOf mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * Get mask + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public AccountIdentityAllOf verificationName(String verificationName) { + + this.verificationName = verificationName; + return this; + } + + /** + * Get verificationName + * @return verificationName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getVerificationName() { + return verificationName; + } + + + public void setVerificationName(String verificationName) { + this.verificationName = verificationName; + } + + + public AccountIdentityAllOf owners(List owners) { + + this.owners = owners; + return this; + } + + public AccountIdentityAllOf addOwnersItem(Owner ownersItem) { + this.owners.add(ownersItem); + return this; + } + + /** + * Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution; detecting whether the linked account is a business account is not currently supported. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29) + * @return owners + **/ + @ApiModelProperty(required = true, value = "Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution; detecting whether the linked account is a business account is not currently supported. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29)") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountIdentityAllOf accountIdentityAllOf = (AccountIdentityAllOf) o; + return Objects.equals(this.name, accountIdentityAllOf.name) && + Objects.equals(this.officialName, accountIdentityAllOf.officialName) && + Objects.equals(this.mask, accountIdentityAllOf.mask) && + Objects.equals(this.verificationName, accountIdentityAllOf.verificationName) && + Objects.equals(this.owners, accountIdentityAllOf.owners); + } + + @Override + public int hashCode() { + return Objects.hash(name, officialName, mask, verificationName, owners); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountIdentityAllOf {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" verificationName: ").append(toIndentedString(verificationName)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountIdentityDocumentUpload.java b/src/main/java/com/plaid/client/model/AccountIdentityDocumentUpload.java new file mode 100644 index 0000000000..d5a33c9385 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountIdentityDocumentUpload.java @@ -0,0 +1,560 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBalance; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.AccountHolderCategory; +import com.plaid.client.model.AccountIdentityDocumentUploadAllOf; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.AccountVerificationInsights; +import com.plaid.client.model.IdentityDocumentUpload; +import com.plaid.client.model.Owner; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Identity information about an account + */ +@ApiModel(description = "Identity information about an account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountIdentityDocumentUpload { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_BALANCES = "balances"; + @SerializedName(SERIALIZED_NAME_BALANCES) + private AccountBalance balances; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + */ + @JsonAdapter(VerificationStatusEnum.Adapter.class) + public enum VerificationStatusEnum { + AUTOMATICALLY_VERIFIED("automatically_verified"), + + PENDING_AUTOMATIC_VERIFICATION("pending_automatic_verification"), + + PENDING_MANUAL_VERIFICATION("pending_manual_verification"), + + UNSENT("unsent"), + + MANUALLY_VERIFIED("manually_verified"), + + VERIFICATION_EXPIRED("verification_expired"), + + VERIFICATION_FAILED("verification_failed"), + + DATABASE_MATCHED("database_matched"), + + DATABASE_INSIGHTS_PASS("database_insights_pass"), + + DATABASE_INSIGHTS_PASS_WITH_CAUTION("database_insights_pass_with_caution"), + + DATABASE_INSIGHTS_FAIL("database_insights_fail"); + + private String value; + + VerificationStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static VerificationStatusEnum fromValue(String value) { + for (VerificationStatusEnum b : VerificationStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final VerificationStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public VerificationStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return VerificationStatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatusEnum verificationStatus; + + public static final String SERIALIZED_NAME_VERIFICATION_NAME = "verification_name"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_NAME) + private String verificationName; + + public static final String SERIALIZED_NAME_VERIFICATION_INSIGHTS = "verification_insights"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_INSIGHTS) + private AccountVerificationInsights verificationInsights; + + public static final String SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID = "persistent_account_id"; + @SerializedName(SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID) + private String persistentAccountId; + + public static final String SERIALIZED_NAME_HOLDER_CATEGORY = "holder_category"; + @SerializedName(SERIALIZED_NAME_HOLDER_CATEGORY) + private AccountHolderCategory holderCategory; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DOCUMENTS = "documents"; + @SerializedName(SERIALIZED_NAME_DOCUMENTS) + private List documents = null; + + + public AccountIdentityDocumentUpload accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public AccountIdentityDocumentUpload balances(AccountBalance balances) { + + this.balances = balances; + return this; + } + + /** + * Get balances + * @return balances + **/ + @ApiModelProperty(required = true, value = "") + + public AccountBalance getBalances() { + return balances; + } + + + public void setBalances(AccountBalance balances) { + this.balances = balances; + } + + + public AccountIdentityDocumentUpload mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of either the account's displayed mask or the account's official account number. Note that the mask may be non-unique between an Item's accounts. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The last 2-4 alphanumeric characters of either the account's displayed mask or the account's official account number. Note that the mask may be non-unique between an Item's accounts.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public AccountIdentityDocumentUpload name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the account, either assigned by the user or by the financial institution itself + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the account, either assigned by the user or by the financial institution itself") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public AccountIdentityDocumentUpload officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * The official name of the account as given by the financial institution + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The official name of the account as given by the financial institution") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public AccountIdentityDocumentUpload type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public AccountIdentityDocumentUpload subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public AccountIdentityDocumentUpload verificationStatus(VerificationStatusEnum verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + * @return verificationStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item.") + + public VerificationStatusEnum getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatusEnum verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + public AccountIdentityDocumentUpload verificationName(String verificationName) { + + this.verificationName = verificationName; + return this; + } + + /** + * The account holder name that was used for micro-deposit and/or database verification. Only returned for Auth Items created via micro-deposit or database verification. This name was manually-entered by the user during Link, unless it was otherwise provided via the `user.legal_name` request field in `/link/token/create` for the Link session that created the Item. + * @return verificationName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account holder name that was used for micro-deposit and/or database verification. Only returned for Auth Items created via micro-deposit or database verification. This name was manually-entered by the user during Link, unless it was otherwise provided via the `user.legal_name` request field in `/link/token/create` for the Link session that created the Item.") + + public String getVerificationName() { + return verificationName; + } + + + public void setVerificationName(String verificationName) { + this.verificationName = verificationName; + } + + + public AccountIdentityDocumentUpload verificationInsights(AccountVerificationInsights verificationInsights) { + + this.verificationInsights = verificationInsights; + return this; + } + + /** + * Get verificationInsights + * @return verificationInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountVerificationInsights getVerificationInsights() { + return verificationInsights; + } + + + public void setVerificationInsights(AccountVerificationInsights verificationInsights) { + this.verificationInsights = verificationInsights; + } + + + public AccountIdentityDocumentUpload persistentAccountId(String persistentAccountId) { + + this.persistentAccountId = persistentAccountId; + return this; + } + + /** + * A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions. + * @return persistentAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions.") + + public String getPersistentAccountId() { + return persistentAccountId; + } + + + public void setPersistentAccountId(String persistentAccountId) { + this.persistentAccountId = persistentAccountId; + } + + + public AccountIdentityDocumentUpload holderCategory(AccountHolderCategory holderCategory) { + + this.holderCategory = holderCategory; + return this; + } + + /** + * Get holderCategory + * @return holderCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountHolderCategory getHolderCategory() { + return holderCategory; + } + + + public void setHolderCategory(AccountHolderCategory holderCategory) { + this.holderCategory = holderCategory; + } + + + public AccountIdentityDocumentUpload owners(List owners) { + + this.owners = owners; + return this; + } + + public AccountIdentityDocumentUpload addOwnersItem(Owner ownersItem) { + this.owners.add(ownersItem); + return this; + } + + /** + * Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution; detecting whether the linked account is a business account is not currently supported. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29) + * @return owners + **/ + @ApiModelProperty(required = true, value = "Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution; detecting whether the linked account is a business account is not currently supported. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29)") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + public AccountIdentityDocumentUpload documents(List documents) { + + this.documents = documents; + return this; + } + + public AccountIdentityDocumentUpload addDocumentsItem(IdentityDocumentUpload documentsItem) { + if (this.documents == null) { + this.documents = new ArrayList<>(); + } + this.documents.add(documentsItem); + return this; + } + + /** + * Data about the documents that were uploaded as proof of account ownership. + * @return documents + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Data about the documents that were uploaded as proof of account ownership.") + + public List getDocuments() { + return documents; + } + + + public void setDocuments(List documents) { + this.documents = documents; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountIdentityDocumentUpload accountIdentityDocumentUpload = (AccountIdentityDocumentUpload) o; + return Objects.equals(this.accountId, accountIdentityDocumentUpload.accountId) && + Objects.equals(this.balances, accountIdentityDocumentUpload.balances) && + Objects.equals(this.mask, accountIdentityDocumentUpload.mask) && + Objects.equals(this.name, accountIdentityDocumentUpload.name) && + Objects.equals(this.officialName, accountIdentityDocumentUpload.officialName) && + Objects.equals(this.type, accountIdentityDocumentUpload.type) && + Objects.equals(this.subtype, accountIdentityDocumentUpload.subtype) && + Objects.equals(this.verificationStatus, accountIdentityDocumentUpload.verificationStatus) && + Objects.equals(this.verificationName, accountIdentityDocumentUpload.verificationName) && + Objects.equals(this.verificationInsights, accountIdentityDocumentUpload.verificationInsights) && + Objects.equals(this.persistentAccountId, accountIdentityDocumentUpload.persistentAccountId) && + Objects.equals(this.holderCategory, accountIdentityDocumentUpload.holderCategory) && + Objects.equals(this.owners, accountIdentityDocumentUpload.owners) && + Objects.equals(this.documents, accountIdentityDocumentUpload.documents); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, balances, mask, name, officialName, type, subtype, verificationStatus, verificationName, verificationInsights, persistentAccountId, holderCategory, owners, documents); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountIdentityDocumentUpload {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" balances: ").append(toIndentedString(balances)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append(" verificationName: ").append(toIndentedString(verificationName)).append("\n"); + sb.append(" verificationInsights: ").append(toIndentedString(verificationInsights)).append("\n"); + sb.append(" persistentAccountId: ").append(toIndentedString(persistentAccountId)).append("\n"); + sb.append(" holderCategory: ").append(toIndentedString(holderCategory)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append(" documents: ").append(toIndentedString(documents)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountIdentityDocumentUploadAllOf.java b/src/main/java/com/plaid/client/model/AccountIdentityDocumentUploadAllOf.java new file mode 100644 index 0000000000..483be696a1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountIdentityDocumentUploadAllOf.java @@ -0,0 +1,143 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityDocumentUpload; +import com.plaid.client.model.Owner; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * AccountIdentityDocumentUploadAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountIdentityDocumentUploadAllOf { + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DOCUMENTS = "documents"; + @SerializedName(SERIALIZED_NAME_DOCUMENTS) + private List documents = null; + + + public AccountIdentityDocumentUploadAllOf owners(List owners) { + + this.owners = owners; + return this; + } + + public AccountIdentityDocumentUploadAllOf addOwnersItem(Owner ownersItem) { + this.owners.add(ownersItem); + return this; + } + + /** + * Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution; detecting whether the linked account is a business account is not currently supported. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29) + * @return owners + **/ + @ApiModelProperty(required = true, value = "Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution; detecting whether the linked account is a business account is not currently supported. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29)") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + public AccountIdentityDocumentUploadAllOf documents(List documents) { + + this.documents = documents; + return this; + } + + public AccountIdentityDocumentUploadAllOf addDocumentsItem(IdentityDocumentUpload documentsItem) { + if (this.documents == null) { + this.documents = new ArrayList<>(); + } + this.documents.add(documentsItem); + return this; + } + + /** + * Data about the documents that were uploaded as proof of account ownership. + * @return documents + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Data about the documents that were uploaded as proof of account ownership.") + + public List getDocuments() { + return documents; + } + + + public void setDocuments(List documents) { + this.documents = documents; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountIdentityDocumentUploadAllOf accountIdentityDocumentUploadAllOf = (AccountIdentityDocumentUploadAllOf) o; + return Objects.equals(this.owners, accountIdentityDocumentUploadAllOf.owners) && + Objects.equals(this.documents, accountIdentityDocumentUploadAllOf.documents); + } + + @Override + public int hashCode() { + return Objects.hash(owners, documents); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountIdentityDocumentUploadAllOf {\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append(" documents: ").append(toIndentedString(documents)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountIdentityMatchScore.java b/src/main/java/com/plaid/client/model/AccountIdentityMatchScore.java new file mode 100644 index 0000000000..cf4651a885 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountIdentityMatchScore.java @@ -0,0 +1,606 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBalance; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.AccountHolderCategory; +import com.plaid.client.model.AccountIdentityMatchScoreAllOf; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.AccountVerificationInsights; +import com.plaid.client.model.AddressMatchScore; +import com.plaid.client.model.EmailAddressMatchScore; +import com.plaid.client.model.NameMatchScore; +import com.plaid.client.model.PhoneNumberMatchScore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Identity match scores for an account + */ +@ApiModel(description = "Identity match scores for an account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountIdentityMatchScore { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_BALANCES = "balances"; + @SerializedName(SERIALIZED_NAME_BALANCES) + private AccountBalance balances; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + */ + @JsonAdapter(VerificationStatusEnum.Adapter.class) + public enum VerificationStatusEnum { + AUTOMATICALLY_VERIFIED("automatically_verified"), + + PENDING_AUTOMATIC_VERIFICATION("pending_automatic_verification"), + + PENDING_MANUAL_VERIFICATION("pending_manual_verification"), + + UNSENT("unsent"), + + MANUALLY_VERIFIED("manually_verified"), + + VERIFICATION_EXPIRED("verification_expired"), + + VERIFICATION_FAILED("verification_failed"), + + DATABASE_MATCHED("database_matched"), + + DATABASE_INSIGHTS_PASS("database_insights_pass"), + + DATABASE_INSIGHTS_PASS_WITH_CAUTION("database_insights_pass_with_caution"), + + DATABASE_INSIGHTS_FAIL("database_insights_fail"); + + private String value; + + VerificationStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static VerificationStatusEnum fromValue(String value) { + for (VerificationStatusEnum b : VerificationStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final VerificationStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public VerificationStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return VerificationStatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatusEnum verificationStatus; + + public static final String SERIALIZED_NAME_VERIFICATION_NAME = "verification_name"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_NAME) + private String verificationName; + + public static final String SERIALIZED_NAME_VERIFICATION_INSIGHTS = "verification_insights"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_INSIGHTS) + private AccountVerificationInsights verificationInsights; + + public static final String SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID = "persistent_account_id"; + @SerializedName(SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID) + private String persistentAccountId; + + public static final String SERIALIZED_NAME_HOLDER_CATEGORY = "holder_category"; + @SerializedName(SERIALIZED_NAME_HOLDER_CATEGORY) + private AccountHolderCategory holderCategory; + + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private NameMatchScore legalName; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private PhoneNumberMatchScore phoneNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private EmailAddressMatchScore emailAddress; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private AddressMatchScore address; + + + public AccountIdentityMatchScore accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public AccountIdentityMatchScore balances(AccountBalance balances) { + + this.balances = balances; + return this; + } + + /** + * Get balances + * @return balances + **/ + @ApiModelProperty(required = true, value = "") + + public AccountBalance getBalances() { + return balances; + } + + + public void setBalances(AccountBalance balances) { + this.balances = balances; + } + + + public AccountIdentityMatchScore mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * Get mask + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public AccountIdentityMatchScore name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public AccountIdentityMatchScore officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * Get officialName + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public AccountIdentityMatchScore type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public AccountIdentityMatchScore subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public AccountIdentityMatchScore verificationStatus(VerificationStatusEnum verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + * @return verificationStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item.") + + public VerificationStatusEnum getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatusEnum verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + public AccountIdentityMatchScore verificationName(String verificationName) { + + this.verificationName = verificationName; + return this; + } + + /** + * Get verificationName + * @return verificationName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getVerificationName() { + return verificationName; + } + + + public void setVerificationName(String verificationName) { + this.verificationName = verificationName; + } + + + public AccountIdentityMatchScore verificationInsights(AccountVerificationInsights verificationInsights) { + + this.verificationInsights = verificationInsights; + return this; + } + + /** + * Get verificationInsights + * @return verificationInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountVerificationInsights getVerificationInsights() { + return verificationInsights; + } + + + public void setVerificationInsights(AccountVerificationInsights verificationInsights) { + this.verificationInsights = verificationInsights; + } + + + public AccountIdentityMatchScore persistentAccountId(String persistentAccountId) { + + this.persistentAccountId = persistentAccountId; + return this; + } + + /** + * A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions. + * @return persistentAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions.") + + public String getPersistentAccountId() { + return persistentAccountId; + } + + + public void setPersistentAccountId(String persistentAccountId) { + this.persistentAccountId = persistentAccountId; + } + + + public AccountIdentityMatchScore holderCategory(AccountHolderCategory holderCategory) { + + this.holderCategory = holderCategory; + return this; + } + + /** + * Get holderCategory + * @return holderCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountHolderCategory getHolderCategory() { + return holderCategory; + } + + + public void setHolderCategory(AccountHolderCategory holderCategory) { + this.holderCategory = holderCategory; + } + + + public AccountIdentityMatchScore legalName(NameMatchScore legalName) { + + this.legalName = legalName; + return this; + } + + /** + * Get legalName + * @return legalName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NameMatchScore getLegalName() { + return legalName; + } + + + public void setLegalName(NameMatchScore legalName) { + this.legalName = legalName; + } + + + public AccountIdentityMatchScore phoneNumber(PhoneNumberMatchScore phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * Get phoneNumber + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PhoneNumberMatchScore getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(PhoneNumberMatchScore phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public AccountIdentityMatchScore emailAddress(EmailAddressMatchScore emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * Get emailAddress + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EmailAddressMatchScore getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(EmailAddressMatchScore emailAddress) { + this.emailAddress = emailAddress; + } + + + public AccountIdentityMatchScore address(AddressMatchScore address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AddressMatchScore getAddress() { + return address; + } + + + public void setAddress(AddressMatchScore address) { + this.address = address; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountIdentityMatchScore accountIdentityMatchScore = (AccountIdentityMatchScore) o; + return Objects.equals(this.accountId, accountIdentityMatchScore.accountId) && + Objects.equals(this.balances, accountIdentityMatchScore.balances) && + Objects.equals(this.mask, accountIdentityMatchScore.mask) && + Objects.equals(this.name, accountIdentityMatchScore.name) && + Objects.equals(this.officialName, accountIdentityMatchScore.officialName) && + Objects.equals(this.type, accountIdentityMatchScore.type) && + Objects.equals(this.subtype, accountIdentityMatchScore.subtype) && + Objects.equals(this.verificationStatus, accountIdentityMatchScore.verificationStatus) && + Objects.equals(this.verificationName, accountIdentityMatchScore.verificationName) && + Objects.equals(this.verificationInsights, accountIdentityMatchScore.verificationInsights) && + Objects.equals(this.persistentAccountId, accountIdentityMatchScore.persistentAccountId) && + Objects.equals(this.holderCategory, accountIdentityMatchScore.holderCategory) && + Objects.equals(this.legalName, accountIdentityMatchScore.legalName) && + Objects.equals(this.phoneNumber, accountIdentityMatchScore.phoneNumber) && + Objects.equals(this.emailAddress, accountIdentityMatchScore.emailAddress) && + Objects.equals(this.address, accountIdentityMatchScore.address); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, balances, mask, name, officialName, type, subtype, verificationStatus, verificationName, verificationInsights, persistentAccountId, holderCategory, legalName, phoneNumber, emailAddress, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountIdentityMatchScore {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" balances: ").append(toIndentedString(balances)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append(" verificationName: ").append(toIndentedString(verificationName)).append("\n"); + sb.append(" verificationInsights: ").append(toIndentedString(verificationInsights)).append("\n"); + sb.append(" persistentAccountId: ").append(toIndentedString(persistentAccountId)).append("\n"); + sb.append(" holderCategory: ").append(toIndentedString(holderCategory)).append("\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountIdentityMatchScoreAllOf.java b/src/main/java/com/plaid/client/model/AccountIdentityMatchScoreAllOf.java new file mode 100644 index 0000000000..327d964d44 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountIdentityMatchScoreAllOf.java @@ -0,0 +1,305 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AddressMatchScore; +import com.plaid.client.model.EmailAddressMatchScore; +import com.plaid.client.model.NameMatchScore; +import com.plaid.client.model.PhoneNumberMatchScore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AccountIdentityMatchScoreAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountIdentityMatchScoreAllOf { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_VERIFICATION_NAME = "verification_name"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_NAME) + private String verificationName; + + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private NameMatchScore legalName; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private PhoneNumberMatchScore phoneNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private EmailAddressMatchScore emailAddress; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private AddressMatchScore address; + + + public AccountIdentityMatchScoreAllOf name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public AccountIdentityMatchScoreAllOf officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * Get officialName + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public AccountIdentityMatchScoreAllOf mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * Get mask + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public AccountIdentityMatchScoreAllOf verificationName(String verificationName) { + + this.verificationName = verificationName; + return this; + } + + /** + * Get verificationName + * @return verificationName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getVerificationName() { + return verificationName; + } + + + public void setVerificationName(String verificationName) { + this.verificationName = verificationName; + } + + + public AccountIdentityMatchScoreAllOf legalName(NameMatchScore legalName) { + + this.legalName = legalName; + return this; + } + + /** + * Get legalName + * @return legalName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NameMatchScore getLegalName() { + return legalName; + } + + + public void setLegalName(NameMatchScore legalName) { + this.legalName = legalName; + } + + + public AccountIdentityMatchScoreAllOf phoneNumber(PhoneNumberMatchScore phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * Get phoneNumber + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PhoneNumberMatchScore getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(PhoneNumberMatchScore phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public AccountIdentityMatchScoreAllOf emailAddress(EmailAddressMatchScore emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * Get emailAddress + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EmailAddressMatchScore getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(EmailAddressMatchScore emailAddress) { + this.emailAddress = emailAddress; + } + + + public AccountIdentityMatchScoreAllOf address(AddressMatchScore address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AddressMatchScore getAddress() { + return address; + } + + + public void setAddress(AddressMatchScore address) { + this.address = address; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountIdentityMatchScoreAllOf accountIdentityMatchScoreAllOf = (AccountIdentityMatchScoreAllOf) o; + return Objects.equals(this.name, accountIdentityMatchScoreAllOf.name) && + Objects.equals(this.officialName, accountIdentityMatchScoreAllOf.officialName) && + Objects.equals(this.mask, accountIdentityMatchScoreAllOf.mask) && + Objects.equals(this.verificationName, accountIdentityMatchScoreAllOf.verificationName) && + Objects.equals(this.legalName, accountIdentityMatchScoreAllOf.legalName) && + Objects.equals(this.phoneNumber, accountIdentityMatchScoreAllOf.phoneNumber) && + Objects.equals(this.emailAddress, accountIdentityMatchScoreAllOf.emailAddress) && + Objects.equals(this.address, accountIdentityMatchScoreAllOf.address); + } + + @Override + public int hashCode() { + return Objects.hash(name, officialName, mask, verificationName, legalName, phoneNumber, emailAddress, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountIdentityMatchScoreAllOf {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" verificationName: ").append(toIndentedString(verificationName)).append("\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountInsights.java b/src/main/java/com/plaid/client/model/AccountInsights.java new file mode 100644 index 0000000000..2980746e49 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountInsights.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AffordabilityInsights; +import com.plaid.client.model.RiskIndicators; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * This is a container object for all lending-related insights. This field will be returned only for European customers. + */ +@ApiModel(description = "This is a container object for all lending-related insights. This field will be returned only for European customers.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountInsights { + public static final String SERIALIZED_NAME_RISK = "risk"; + @SerializedName(SERIALIZED_NAME_RISK) + private RiskIndicators risk; + + public static final String SERIALIZED_NAME_AFFORDABILITY = "affordability"; + @SerializedName(SERIALIZED_NAME_AFFORDABILITY) + private AffordabilityInsights affordability; + + + public AccountInsights risk(RiskIndicators risk) { + + this.risk = risk; + return this; + } + + /** + * Get risk + * @return risk + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RiskIndicators getRisk() { + return risk; + } + + + public void setRisk(RiskIndicators risk) { + this.risk = risk; + } + + + public AccountInsights affordability(AffordabilityInsights affordability) { + + this.affordability = affordability; + return this; + } + + /** + * Get affordability + * @return affordability + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AffordabilityInsights getAffordability() { + return affordability; + } + + + public void setAffordability(AffordabilityInsights affordability) { + this.affordability = affordability; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountInsights accountInsights = (AccountInsights) o; + return Objects.equals(this.risk, accountInsights.risk) && + Objects.equals(this.affordability, accountInsights.affordability); + } + + @Override + public int hashCode() { + return Objects.hash(risk, affordability); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountInsights {\n"); + sb.append(" risk: ").append(toIndentedString(risk)).append("\n"); + sb.append(" affordability: ").append(toIndentedString(affordability)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountProductAccess.java b/src/main/java/com/plaid/client/model/AccountProductAccess.java new file mode 100644 index 0000000000..0c51d97291 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountProductAccess.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allow the application to access specific products on this account + */ +@ApiModel(description = "Allow the application to access specific products on this account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountProductAccess { + public static final String SERIALIZED_NAME_ACCOUNT_DATA = "account_data"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_DATA) + private Boolean accountData = true; + + public static final String SERIALIZED_NAME_STATEMENTS = "statements"; + @SerializedName(SERIALIZED_NAME_STATEMENTS) + private Boolean statements = true; + + public static final String SERIALIZED_NAME_TAX_DOCUMENTS = "tax_documents"; + @SerializedName(SERIALIZED_NAME_TAX_DOCUMENTS) + private Boolean taxDocuments = true; + + + public AccountProductAccess accountData(Boolean accountData) { + + this.accountData = accountData; + return this; + } + + /** + * Allow the application to access account data. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return accountData + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow the application to access account data. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getAccountData() { + return accountData; + } + + + public void setAccountData(Boolean accountData) { + this.accountData = accountData; + } + + + public AccountProductAccess statements(Boolean statements) { + + this.statements = statements; + return this; + } + + /** + * Allow the application to access bank statements. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return statements + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow the application to access bank statements. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getStatements() { + return statements; + } + + + public void setStatements(Boolean statements) { + this.statements = statements; + } + + + public AccountProductAccess taxDocuments(Boolean taxDocuments) { + + this.taxDocuments = taxDocuments; + return this; + } + + /** + * Allow the application to access tax documents. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return taxDocuments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow the application to access tax documents. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getTaxDocuments() { + return taxDocuments; + } + + + public void setTaxDocuments(Boolean taxDocuments) { + this.taxDocuments = taxDocuments; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountProductAccess accountProductAccess = (AccountProductAccess) o; + return Objects.equals(this.accountData, accountProductAccess.accountData) && + Objects.equals(this.statements, accountProductAccess.statements) && + Objects.equals(this.taxDocuments, accountProductAccess.taxDocuments); + } + + @Override + public int hashCode() { + return Objects.hash(accountData, statements, taxDocuments); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountProductAccess {\n"); + sb.append(" accountData: ").append(toIndentedString(accountData)).append("\n"); + sb.append(" statements: ").append(toIndentedString(statements)).append("\n"); + sb.append(" taxDocuments: ").append(toIndentedString(taxDocuments)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountProductAccessNullable.java b/src/main/java/com/plaid/client/model/AccountProductAccessNullable.java new file mode 100644 index 0000000000..f3ee1ea173 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountProductAccessNullable.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountProductAccess; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allow the application to access specific products on this account + */ +@ApiModel(description = "Allow the application to access specific products on this account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountProductAccessNullable { + public static final String SERIALIZED_NAME_ACCOUNT_DATA = "account_data"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_DATA) + private Boolean accountData = true; + + public static final String SERIALIZED_NAME_STATEMENTS = "statements"; + @SerializedName(SERIALIZED_NAME_STATEMENTS) + private Boolean statements = true; + + public static final String SERIALIZED_NAME_TAX_DOCUMENTS = "tax_documents"; + @SerializedName(SERIALIZED_NAME_TAX_DOCUMENTS) + private Boolean taxDocuments = true; + + + public AccountProductAccessNullable accountData(Boolean accountData) { + + this.accountData = accountData; + return this; + } + + /** + * Allow the application to access account data. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return accountData + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow the application to access account data. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getAccountData() { + return accountData; + } + + + public void setAccountData(Boolean accountData) { + this.accountData = accountData; + } + + + public AccountProductAccessNullable statements(Boolean statements) { + + this.statements = statements; + return this; + } + + /** + * Allow the application to access bank statements. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return statements + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow the application to access bank statements. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getStatements() { + return statements; + } + + + public void setStatements(Boolean statements) { + this.statements = statements; + } + + + public AccountProductAccessNullable taxDocuments(Boolean taxDocuments) { + + this.taxDocuments = taxDocuments; + return this; + } + + /** + * Allow the application to access tax documents. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return taxDocuments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow the application to access tax documents. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getTaxDocuments() { + return taxDocuments; + } + + + public void setTaxDocuments(Boolean taxDocuments) { + this.taxDocuments = taxDocuments; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountProductAccessNullable accountProductAccessNullable = (AccountProductAccessNullable) o; + return Objects.equals(this.accountData, accountProductAccessNullable.accountData) && + Objects.equals(this.statements, accountProductAccessNullable.statements) && + Objects.equals(this.taxDocuments, accountProductAccessNullable.taxDocuments); + } + + @Override + public int hashCode() { + return Objects.hash(accountData, statements, taxDocuments); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountProductAccessNullable {\n"); + sb.append(" accountData: ").append(toIndentedString(accountData)).append("\n"); + sb.append(" statements: ").append(toIndentedString(statements)).append("\n"); + sb.append(" taxDocuments: ").append(toIndentedString(taxDocuments)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountSelectionCardinality.java b/src/main/java/com/plaid/client/model/AccountSelectionCardinality.java new file mode 100644 index 0000000000..a4f48444cc --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountSelectionCardinality.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The application requires that accounts be limited to a specific cardinality. `MULTI_SELECT`: indicates that the user should be allowed to pick multiple accounts. `SINGLE_SELECT`: indicates that the user should be allowed to pick only a single account. `ALL`: indicates that the user must share all of their accounts and should not be given the opportunity to de-select + */ +@JsonAdapter(AccountSelectionCardinality.Adapter.class) +public enum AccountSelectionCardinality { + + SINGLE_SELECT("SINGLE_SELECT"), + + MULTI_SELECT("MULTI_SELECT"), + + ALL("ALL"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AccountSelectionCardinality(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AccountSelectionCardinality fromValue(String value) { + for (AccountSelectionCardinality b : AccountSelectionCardinality.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return AccountSelectionCardinality.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AccountSelectionCardinality enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AccountSelectionCardinality read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AccountSelectionCardinality.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AccountSubtype.java b/src/main/java/com/plaid/client/model/AccountSubtype.java new file mode 100644 index 0000000000..72a3f52f69 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountSubtype.java @@ -0,0 +1,229 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * See the [Account type schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full listing of account types and corresponding subtypes. + */ +@JsonAdapter(AccountSubtype.Adapter.class) +public enum AccountSubtype { + + _401A("401a"), + + _401K("401k"), + + _403B("403B"), + + _457B("457b"), + + _529("529"), + + AUTO("auto"), + + BROKERAGE("brokerage"), + + BUSINESS("business"), + + CASH_ISA("cash isa"), + + CASH_MANAGEMENT("cash management"), + + CD("cd"), + + CHECKING("checking"), + + COMMERCIAL("commercial"), + + CONSTRUCTION("construction"), + + CONSUMER("consumer"), + + CREDIT_CARD("credit card"), + + CRYPTO_EXCHANGE("crypto exchange"), + + EBT("ebt"), + + EDUCATION_SAVINGS_ACCOUNT("education savings account"), + + FHSA("fhsa"), + + FIXED_ANNUITY("fixed annuity"), + + GIC("gic"), + + HEALTH_REIMBURSEMENT_ARRANGEMENT("health reimbursement arrangement"), + + HOME_EQUITY("home equity"), + + HSA("hsa"), + + ISA("isa"), + + IRA("ira"), + + KEOGH("keogh"), + + LIF("lif"), + + LIFE_INSURANCE("life insurance"), + + LIMITED_PURPOSE_CHECKING("limited purpose checking"), + + LINE_OF_CREDIT("line of credit"), + + LIRA("lira"), + + LOAN("loan"), + + LRIF("lrif"), + + LRSP("lrsp"), + + MONEY_MARKET("money market"), + + MORTGAGE("mortgage"), + + MUTUAL_FUND("mutual fund"), + + NON_CUSTODIAL_WALLET("non-custodial wallet"), + + NON_TAXABLE_BROKERAGE_ACCOUNT("non-taxable brokerage account"), + + OTHER("other"), + + OTHER_INSURANCE("other insurance"), + + OTHER_ANNUITY("other annuity"), + + OVERDRAFT("overdraft"), + + PAYPAL("paypal"), + + PAYROLL("payroll"), + + PENSION("pension"), + + PREPAID("prepaid"), + + PRIF("prif"), + + PROFIT_SHARING_PLAN("profit sharing plan"), + + QSHR("qshr"), + + RDSP("rdsp"), + + RESP("resp"), + + RETIREMENT("retirement"), + + RLIF("rlif"), + + ROTH("roth"), + + ROTH_401K("roth 401k"), + + ROTH_403B("roth 403B"), + + ROTH_457B("roth 457b"), + + ROTH_PENSION("roth pension"), + + ROTH_PROFIT_SHARING_PLAN("roth profit sharing plan"), + + ROTH_THRIFT_SAVINGS_PLAN("roth thrift savings plan"), + + RRIF("rrif"), + + RRSP("rrsp"), + + SARSEP("sarsep"), + + SAVINGS("savings"), + + SEP_IRA("sep ira"), + + SIMPLE_IRA("simple ira"), + + SIPP("sipp"), + + STOCK_PLAN("stock plan"), + + STUDENT("student"), + + THRIFT_SAVINGS_PLAN("thrift savings plan"), + + TFSA("tfsa"), + + TRUST("trust"), + + UGMA("ugma"), + + UTMA("utma"), + + VARIABLE_ANNUITY("variable annuity"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AccountSubtype(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AccountSubtype fromValue(String value) { + for (AccountSubtype b : AccountSubtype.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AccountSubtype enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AccountSubtype read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AccountSubtype.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AccountType.java b/src/main/java/com/plaid/client/model/AccountType.java new file mode 100644 index 0000000000..2e5b91c195 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountType.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * `investment:` Investment account. In API versions 2018-05-22 and earlier, this type is called `brokerage` instead. `credit:` Credit card `depository:` Depository account `loan:` Loan account `other:` Non-specified account type See the [Account type schema](https://plaid.com/docs/api/accounts#account-type-schema) for a full listing of account types and corresponding subtypes. + */ +@JsonAdapter(AccountType.Adapter.class) +public enum AccountType { + + INVESTMENT("investment"), + + CREDIT("credit"), + + DEPOSITORY("depository"), + + LOAN("loan"), + + BROKERAGE("brokerage"), + + OTHER("other"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AccountType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AccountType fromValue(String value) { + for (AccountType b : AccountType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return AccountType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AccountType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AccountType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AccountType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AccountVerificationInsights.java b/src/main/java/com/plaid/client/model/AccountVerificationInsights.java new file mode 100644 index 0000000000..475ba35ba1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountVerificationInsights.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountVerificationInsightsAccountNumberFormat; +import com.plaid.client.model.AccountVerificationInsightsNetworkStatus; +import com.plaid.client.model.AccountVerificationInsightsPreviousReturns; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Insights from performing database verification for the account. Only returned for Auth Items using Database Auth. + */ +@ApiModel(description = "Insights from performing database verification for the account. Only returned for Auth Items using Database Auth.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountVerificationInsights { + public static final String SERIALIZED_NAME_NAME_MATCH_SCORE = "name_match_score"; + @SerializedName(SERIALIZED_NAME_NAME_MATCH_SCORE) + private Integer nameMatchScore; + + public static final String SERIALIZED_NAME_NETWORK_STATUS = "network_status"; + @SerializedName(SERIALIZED_NAME_NETWORK_STATUS) + private AccountVerificationInsightsNetworkStatus networkStatus; + + public static final String SERIALIZED_NAME_PREVIOUS_RETURNS = "previous_returns"; + @SerializedName(SERIALIZED_NAME_PREVIOUS_RETURNS) + private AccountVerificationInsightsPreviousReturns previousReturns; + + public static final String SERIALIZED_NAME_ACCOUNT_NUMBER_FORMAT = "account_number_format"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBER_FORMAT) + private AccountVerificationInsightsAccountNumberFormat accountNumberFormat; + + + public AccountVerificationInsights nameMatchScore(Integer nameMatchScore) { + + this.nameMatchScore = nameMatchScore; + return this; + } + + /** + * Indicates the score of the name match between the given name provided during database verification (available in the [`verification_name`](https://plaid.com/docs/api/products/auth/#auth-get-response-accounts-verification-name) field if using standard Database Auth, or provided in the request if using `/auth/verify`) and matched Plaid network accounts. If defined, will be a value between 0 and 100. Will be undefined if name matching was not enabled for the database verification session or if there were no eligible Plaid network matches to compare the given name with. + * @return nameMatchScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates the score of the name match between the given name provided during database verification (available in the [`verification_name`](https://plaid.com/docs/api/products/auth/#auth-get-response-accounts-verification-name) field if using standard Database Auth, or provided in the request if using `/auth/verify`) and matched Plaid network accounts. If defined, will be a value between 0 and 100. Will be undefined if name matching was not enabled for the database verification session or if there were no eligible Plaid network matches to compare the given name with.") + + public Integer getNameMatchScore() { + return nameMatchScore; + } + + + public void setNameMatchScore(Integer nameMatchScore) { + this.nameMatchScore = nameMatchScore; + } + + + public AccountVerificationInsights networkStatus(AccountVerificationInsightsNetworkStatus networkStatus) { + + this.networkStatus = networkStatus; + return this; + } + + /** + * Get networkStatus + * @return networkStatus + **/ + @ApiModelProperty(required = true, value = "") + + public AccountVerificationInsightsNetworkStatus getNetworkStatus() { + return networkStatus; + } + + + public void setNetworkStatus(AccountVerificationInsightsNetworkStatus networkStatus) { + this.networkStatus = networkStatus; + } + + + public AccountVerificationInsights previousReturns(AccountVerificationInsightsPreviousReturns previousReturns) { + + this.previousReturns = previousReturns; + return this; + } + + /** + * Get previousReturns + * @return previousReturns + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountVerificationInsightsPreviousReturns getPreviousReturns() { + return previousReturns; + } + + + public void setPreviousReturns(AccountVerificationInsightsPreviousReturns previousReturns) { + this.previousReturns = previousReturns; + } + + + public AccountVerificationInsights accountNumberFormat(AccountVerificationInsightsAccountNumberFormat accountNumberFormat) { + + this.accountNumberFormat = accountNumberFormat; + return this; + } + + /** + * Get accountNumberFormat + * @return accountNumberFormat + **/ + @ApiModelProperty(required = true, value = "") + + public AccountVerificationInsightsAccountNumberFormat getAccountNumberFormat() { + return accountNumberFormat; + } + + + public void setAccountNumberFormat(AccountVerificationInsightsAccountNumberFormat accountNumberFormat) { + this.accountNumberFormat = accountNumberFormat; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountVerificationInsights accountVerificationInsights = (AccountVerificationInsights) o; + return Objects.equals(this.nameMatchScore, accountVerificationInsights.nameMatchScore) && + Objects.equals(this.networkStatus, accountVerificationInsights.networkStatus) && + Objects.equals(this.previousReturns, accountVerificationInsights.previousReturns) && + Objects.equals(this.accountNumberFormat, accountVerificationInsights.accountNumberFormat); + } + + @Override + public int hashCode() { + return Objects.hash(nameMatchScore, networkStatus, previousReturns, accountNumberFormat); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountVerificationInsights {\n"); + sb.append(" nameMatchScore: ").append(toIndentedString(nameMatchScore)).append("\n"); + sb.append(" networkStatus: ").append(toIndentedString(networkStatus)).append("\n"); + sb.append(" previousReturns: ").append(toIndentedString(previousReturns)).append("\n"); + sb.append(" accountNumberFormat: ").append(toIndentedString(accountNumberFormat)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountVerificationInsightsAccountNumberFormat.java b/src/main/java/com/plaid/client/model/AccountVerificationInsightsAccountNumberFormat.java new file mode 100644 index 0000000000..8858145a25 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountVerificationInsightsAccountNumberFormat.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicator of account number format validity for institution. `valid`: indicates that the account number has a correct format for the institution. `invalid`: indicates that the account number has an incorrect format for the institution. `unknown`: indicates that there was not enough information to determine whether the format is correct for the institution. + */ +@JsonAdapter(AccountVerificationInsightsAccountNumberFormat.Adapter.class) +public enum AccountVerificationInsightsAccountNumberFormat { + + VALID("valid"), + + INVALID("invalid"), + + UNKNOWN("unknown"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AccountVerificationInsightsAccountNumberFormat(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AccountVerificationInsightsAccountNumberFormat fromValue(String value) { + for (AccountVerificationInsightsAccountNumberFormat b : AccountVerificationInsightsAccountNumberFormat.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return AccountVerificationInsightsAccountNumberFormat.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AccountVerificationInsightsAccountNumberFormat enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AccountVerificationInsightsAccountNumberFormat read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AccountVerificationInsightsAccountNumberFormat.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AccountVerificationInsightsNetworkStatus.java b/src/main/java/com/plaid/client/model/AccountVerificationInsightsNetworkStatus.java new file mode 100644 index 0000000000..37d9dec6b7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountVerificationInsightsNetworkStatus.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Status information about the account and routing number in the Plaid network. + */ +@ApiModel(description = "Status information about the account and routing number in the Plaid network.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountVerificationInsightsNetworkStatus { + public static final String SERIALIZED_NAME_HAS_NUMBERS_MATCH = "has_numbers_match"; + @SerializedName(SERIALIZED_NAME_HAS_NUMBERS_MATCH) + private Boolean hasNumbersMatch; + + public static final String SERIALIZED_NAME_IS_NUMBERS_MATCH_VERIFIED = "is_numbers_match_verified"; + @SerializedName(SERIALIZED_NAME_IS_NUMBERS_MATCH_VERIFIED) + private Boolean isNumbersMatchVerified; + + + public AccountVerificationInsightsNetworkStatus hasNumbersMatch(Boolean hasNumbersMatch) { + + this.hasNumbersMatch = hasNumbersMatch; + return this; + } + + /** + * Indicates whether we found at least one matching account for the ACH account and routing number. + * @return hasNumbersMatch + **/ + @ApiModelProperty(required = true, value = "Indicates whether we found at least one matching account for the ACH account and routing number.") + + public Boolean getHasNumbersMatch() { + return hasNumbersMatch; + } + + + public void setHasNumbersMatch(Boolean hasNumbersMatch) { + this.hasNumbersMatch = hasNumbersMatch; + } + + + public AccountVerificationInsightsNetworkStatus isNumbersMatchVerified(Boolean isNumbersMatchVerified) { + + this.isNumbersMatchVerified = isNumbersMatchVerified; + return this; + } + + /** + * Indicates if at least one matching account for the ACH account and routing number is already verified. + * @return isNumbersMatchVerified + **/ + @ApiModelProperty(required = true, value = "Indicates if at least one matching account for the ACH account and routing number is already verified.") + + public Boolean getIsNumbersMatchVerified() { + return isNumbersMatchVerified; + } + + + public void setIsNumbersMatchVerified(Boolean isNumbersMatchVerified) { + this.isNumbersMatchVerified = isNumbersMatchVerified; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountVerificationInsightsNetworkStatus accountVerificationInsightsNetworkStatus = (AccountVerificationInsightsNetworkStatus) o; + return Objects.equals(this.hasNumbersMatch, accountVerificationInsightsNetworkStatus.hasNumbersMatch) && + Objects.equals(this.isNumbersMatchVerified, accountVerificationInsightsNetworkStatus.isNumbersMatchVerified); + } + + @Override + public int hashCode() { + return Objects.hash(hasNumbersMatch, isNumbersMatchVerified); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountVerificationInsightsNetworkStatus {\n"); + sb.append(" hasNumbersMatch: ").append(toIndentedString(hasNumbersMatch)).append("\n"); + sb.append(" isNumbersMatchVerified: ").append(toIndentedString(isNumbersMatchVerified)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountVerificationInsightsPreviousReturns.java b/src/main/java/com/plaid/client/model/AccountVerificationInsightsPreviousReturns.java new file mode 100644 index 0000000000..c13be72879 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountVerificationInsightsPreviousReturns.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about known ACH returns for the account and routing number. + */ +@ApiModel(description = "Information about known ACH returns for the account and routing number.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountVerificationInsightsPreviousReturns { + public static final String SERIALIZED_NAME_HAS_PREVIOUS_ADMINISTRATIVE_RETURN = "has_previous_administrative_return"; + @SerializedName(SERIALIZED_NAME_HAS_PREVIOUS_ADMINISTRATIVE_RETURN) + private Boolean hasPreviousAdministrativeReturn; + + + public AccountVerificationInsightsPreviousReturns hasPreviousAdministrativeReturn(Boolean hasPreviousAdministrativeReturn) { + + this.hasPreviousAdministrativeReturn = hasPreviousAdministrativeReturn; + return this; + } + + /** + * Indicates whether Plaid's data sources include a known administrative ACH return for this account and routing number. + * @return hasPreviousAdministrativeReturn + **/ + @ApiModelProperty(required = true, value = "Indicates whether Plaid's data sources include a known administrative ACH return for this account and routing number.") + + public Boolean getHasPreviousAdministrativeReturn() { + return hasPreviousAdministrativeReturn; + } + + + public void setHasPreviousAdministrativeReturn(Boolean hasPreviousAdministrativeReturn) { + this.hasPreviousAdministrativeReturn = hasPreviousAdministrativeReturn; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountVerificationInsightsPreviousReturns accountVerificationInsightsPreviousReturns = (AccountVerificationInsightsPreviousReturns) o; + return Objects.equals(this.hasPreviousAdministrativeReturn, accountVerificationInsightsPreviousReturns.hasPreviousAdministrativeReturn); + } + + @Override + public int hashCode() { + return Objects.hash(hasPreviousAdministrativeReturn); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountVerificationInsightsPreviousReturns {\n"); + sb.append(" hasPreviousAdministrativeReturn: ").append(toIndentedString(hasPreviousAdministrativeReturn)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountsBalanceGetRequest.java b/src/main/java/com/plaid/client/model/AccountsBalanceGetRequest.java new file mode 100644 index 0000000000..392c38d43e --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountsBalanceGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountsBalanceGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AccountsBalanceGetRequest defines the request schema for `/accounts/balance/get` + */ +@ApiModel(description = "AccountsBalanceGetRequest defines the request schema for `/accounts/balance/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountsBalanceGetRequest { + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private AccountsBalanceGetRequestOptions options; + + + public AccountsBalanceGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public AccountsBalanceGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AccountsBalanceGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AccountsBalanceGetRequest options(AccountsBalanceGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountsBalanceGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(AccountsBalanceGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountsBalanceGetRequest accountsBalanceGetRequest = (AccountsBalanceGetRequest) o; + return Objects.equals(this.accessToken, accountsBalanceGetRequest.accessToken) && + Objects.equals(this.secret, accountsBalanceGetRequest.secret) && + Objects.equals(this.clientId, accountsBalanceGetRequest.clientId) && + Objects.equals(this.options, accountsBalanceGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(accessToken, secret, clientId, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountsBalanceGetRequest {\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountsBalanceGetRequestOptions.java b/src/main/java/com/plaid/client/model/AccountsBalanceGetRequestOptions.java new file mode 100644 index 0000000000..e8a7070e26 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountsBalanceGetRequestOptions.java @@ -0,0 +1,139 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Optional parameters to `/accounts/balance/get`. + */ +@ApiModel(description = "Optional parameters to `/accounts/balance/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountsBalanceGetRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + public static final String SERIALIZED_NAME_MIN_LAST_UPDATED_DATETIME = "min_last_updated_datetime"; + @SerializedName(SERIALIZED_NAME_MIN_LAST_UPDATED_DATETIME) + private OffsetDateTime minLastUpdatedDatetime; + + + public AccountsBalanceGetRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public AccountsBalanceGetRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * A list of `account_ids` to retrieve for the Item. The default value is `null`. Note: An error will be returned if a provided `account_id` is not associated with the Item. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of `account_ids` to retrieve for the Item. The default value is `null`. Note: An error will be returned if a provided `account_id` is not associated with the Item.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + public AccountsBalanceGetRequestOptions minLastUpdatedDatetime(OffsetDateTime minLastUpdatedDatetime) { + + this.minLastUpdatedDatetime = minLastUpdatedDatetime; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the oldest acceptable balance when making a request to `/accounts/balance/get`. This field is only necessary when the institution is `ins_128026` (Capital One), *and* one or more account types being requested is a non-depository account (such as a credit card) as Capital One does not provide real-time balance for non-depository accounts. In this case, a value must be provided or an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned. For all other institutions, as well as for depository accounts at Capital One (including all checking and savings accounts) this field is ignored and real-time balance information will be fetched. If this field is not ignored, and no acceptable balance is available, an `INVALID_RESULT` error with the code `LAST_UPDATED_DATETIME_OUT_OF_RANGE` will be returned. + * @return minLastUpdatedDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the oldest acceptable balance when making a request to `/accounts/balance/get`. This field is only necessary when the institution is `ins_128026` (Capital One), *and* one or more account types being requested is a non-depository account (such as a credit card) as Capital One does not provide real-time balance for non-depository accounts. In this case, a value must be provided or an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned. For all other institutions, as well as for depository accounts at Capital One (including all checking and savings accounts) this field is ignored and real-time balance information will be fetched. If this field is not ignored, and no acceptable balance is available, an `INVALID_RESULT` error with the code `LAST_UPDATED_DATETIME_OUT_OF_RANGE` will be returned.") + + public OffsetDateTime getMinLastUpdatedDatetime() { + return minLastUpdatedDatetime; + } + + + public void setMinLastUpdatedDatetime(OffsetDateTime minLastUpdatedDatetime) { + this.minLastUpdatedDatetime = minLastUpdatedDatetime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountsBalanceGetRequestOptions accountsBalanceGetRequestOptions = (AccountsBalanceGetRequestOptions) o; + return Objects.equals(this.accountIds, accountsBalanceGetRequestOptions.accountIds) && + Objects.equals(this.minLastUpdatedDatetime, accountsBalanceGetRequestOptions.minLastUpdatedDatetime); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds, minLastUpdatedDatetime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountsBalanceGetRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append(" minLastUpdatedDatetime: ").append(toIndentedString(minLastUpdatedDatetime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountsGetRequest.java b/src/main/java/com/plaid/client/model/AccountsGetRequest.java new file mode 100644 index 0000000000..24d0373726 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountsGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountsGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AccountsGetRequest defines the request schema for `/accounts/get` + */ +@ApiModel(description = "AccountsGetRequest defines the request schema for `/accounts/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private AccountsGetRequestOptions options; + + + public AccountsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AccountsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AccountsGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public AccountsGetRequest options(AccountsGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountsGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(AccountsGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountsGetRequest accountsGetRequest = (AccountsGetRequest) o; + return Objects.equals(this.clientId, accountsGetRequest.clientId) && + Objects.equals(this.secret, accountsGetRequest.secret) && + Objects.equals(this.accessToken, accountsGetRequest.accessToken) && + Objects.equals(this.options, accountsGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountsGetRequestOptions.java b/src/main/java/com/plaid/client/model/AccountsGetRequestOptions.java new file mode 100644 index 0000000000..22e3c454f5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountsGetRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to filter `/accounts/get` results. + */ +@ApiModel(description = "An optional object to filter `/accounts/get` results.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountsGetRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + + public AccountsGetRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public AccountsGetRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * An array of `account_ids` to retrieve for the Account. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of `account_ids` to retrieve for the Account.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountsGetRequestOptions accountsGetRequestOptions = (AccountsGetRequestOptions) o; + return Objects.equals(this.accountIds, accountsGetRequestOptions.accountIds); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountsGetRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AccountsGetResponse.java b/src/main/java/com/plaid/client/model/AccountsGetResponse.java new file mode 100644 index 0000000000..77b217b76f --- /dev/null +++ b/src/main/java/com/plaid/client/model/AccountsGetResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.Item; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * AccountsGetResponse defines the response schema for `/accounts/get` and `/accounts/balance/get`. + */ +@ApiModel(description = "AccountsGetResponse defines the response schema for `/accounts/get` and `/accounts/balance/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AccountsGetResponse { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public AccountsGetResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public AccountsGetResponse addAccountsItem(AccountBase accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * An array of financial institution accounts associated with the Item. If `/accounts/balance/get` was called, each account will include real-time balance information. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "An array of financial institution accounts associated with the Item. If `/accounts/balance/get` was called, each account will include real-time balance information.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public AccountsGetResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public AccountsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountsGetResponse accountsGetResponse = (AccountsGetResponse) o; + return Objects.equals(this.accounts, accountsGetResponse.accounts) && + Objects.equals(this.item, accountsGetResponse.item) && + Objects.equals(this.requestId, accountsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, item, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AccountsGetResponse {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ActionState.java b/src/main/java/com/plaid/client/model/ActionState.java new file mode 100644 index 0000000000..4a6d53f8ec --- /dev/null +++ b/src/main/java/com/plaid/client/model/ActionState.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Enum representing the state of the action/activity. + */ +@JsonAdapter(ActionState.Adapter.class) +public enum ActionState { + + UNKNOWN("UNKNOWN"), + + ATTEMPT("ATTEMPT"), + + SUCCESS("SUCCESS"), + + FAILURE("FAILURE"), + + SKIPPED("SKIPPED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ActionState(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ActionState fromValue(String value) { + for (ActionState b : ActionState.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ActionState.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ActionState enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ActionState read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ActionState.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/Activity.java b/src/main/java/com/plaid/client/model/Activity.java new file mode 100644 index 0000000000..032650f56e --- /dev/null +++ b/src/main/java/com/plaid/client/model/Activity.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ActionState; +import com.plaid.client.model.ActivityType; +import com.plaid.client.model.ItemCreateAuthentication; +import com.plaid.client.model.ScopesNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Describes a consent activity. + */ +@ApiModel(description = "Describes a consent activity.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Activity { + public static final String SERIALIZED_NAME_ACTIVITY = "activity"; + @SerializedName(SERIALIZED_NAME_ACTIVITY) + private ActivityType activity; + + public static final String SERIALIZED_NAME_INITIATED_DATE = "initiated_date"; + @SerializedName(SERIALIZED_NAME_INITIATED_DATE) + private LocalDate initiatedDate; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_INITIATOR = "initiator"; + @SerializedName(SERIALIZED_NAME_INITIATOR) + private String initiator; + + public static final String SERIALIZED_NAME_STATE = "state"; + @SerializedName(SERIALIZED_NAME_STATE) + private ActionState state; + + public static final String SERIALIZED_NAME_TARGET_APPLICATION_ID = "target_application_id"; + @SerializedName(SERIALIZED_NAME_TARGET_APPLICATION_ID) + private String targetApplicationId; + + public static final String SERIALIZED_NAME_SCOPES = "scopes"; + @SerializedName(SERIALIZED_NAME_SCOPES) + private ScopesNullable scopes; + + public static final String SERIALIZED_NAME_AUTHENTICATION = "authentication"; + @SerializedName(SERIALIZED_NAME_AUTHENTICATION) + private ItemCreateAuthentication authentication; + + + public Activity activity(ActivityType activity) { + + this.activity = activity; + return this; + } + + /** + * Get activity + * @return activity + **/ + @ApiModelProperty(required = true, value = "") + + public ActivityType getActivity() { + return activity; + } + + + public void setActivity(ActivityType activity) { + this.activity = activity; + } + + + public Activity initiatedDate(LocalDate initiatedDate) { + + this.initiatedDate = initiatedDate; + return this; + } + + /** + * The date this activity was initiated [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format in UTC. + * @return initiatedDate + **/ + @ApiModelProperty(example = "Wed Jan 01 00:00:00 UTC 2020", required = true, value = "The date this activity was initiated [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format in UTC.") + + public LocalDate getInitiatedDate() { + return initiatedDate; + } + + + public void setInitiatedDate(LocalDate initiatedDate) { + this.initiatedDate = initiatedDate; + } + + + public Activity id(String id) { + + this.id = id; + return this; + } + + /** + * A unique identifier for the activity + * @return id + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the activity") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public Activity initiator(String initiator) { + + this.initiator = initiator; + return this; + } + + /** + * Application ID of the client who initiated the activity. + * @return initiator + **/ + @ApiModelProperty(required = true, value = "Application ID of the client who initiated the activity.") + + public String getInitiator() { + return initiator; + } + + + public void setInitiator(String initiator) { + this.initiator = initiator; + } + + + public Activity state(ActionState state) { + + this.state = state; + return this; + } + + /** + * Get state + * @return state + **/ + @ApiModelProperty(required = true, value = "") + + public ActionState getState() { + return state; + } + + + public void setState(ActionState state) { + this.state = state; + } + + + public Activity targetApplicationId(String targetApplicationId) { + + this.targetApplicationId = targetApplicationId; + return this; + } + + /** + * This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect. + * @return targetApplicationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect.") + + public String getTargetApplicationId() { + return targetApplicationId; + } + + + public void setTargetApplicationId(String targetApplicationId) { + this.targetApplicationId = targetApplicationId; + } + + + public Activity scopes(ScopesNullable scopes) { + + this.scopes = scopes; + return this; + } + + /** + * Get scopes + * @return scopes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ScopesNullable getScopes() { + return scopes; + } + + + public void setScopes(ScopesNullable scopes) { + this.scopes = scopes; + } + + + public Activity authentication(ItemCreateAuthentication authentication) { + + this.authentication = authentication; + return this; + } + + /** + * Get authentication + * @return authentication + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ItemCreateAuthentication getAuthentication() { + return authentication; + } + + + public void setAuthentication(ItemCreateAuthentication authentication) { + this.authentication = authentication; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Activity activity = (Activity) o; + return Objects.equals(this.activity, activity.activity) && + Objects.equals(this.initiatedDate, activity.initiatedDate) && + Objects.equals(this.id, activity.id) && + Objects.equals(this.initiator, activity.initiator) && + Objects.equals(this.state, activity.state) && + Objects.equals(this.targetApplicationId, activity.targetApplicationId) && + Objects.equals(this.scopes, activity.scopes) && + Objects.equals(this.authentication, activity.authentication); + } + + @Override + public int hashCode() { + return Objects.hash(activity, initiatedDate, id, initiator, state, targetApplicationId, scopes, authentication); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Activity {\n"); + sb.append(" activity: ").append(toIndentedString(activity)).append("\n"); + sb.append(" initiatedDate: ").append(toIndentedString(initiatedDate)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" initiator: ").append(toIndentedString(initiator)).append("\n"); + sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append(" targetApplicationId: ").append(toIndentedString(targetApplicationId)).append("\n"); + sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); + sb.append(" authentication: ").append(toIndentedString(authentication)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ActivityType.java b/src/main/java/com/plaid/client/model/ActivityType.java new file mode 100644 index 0000000000..901580e1c1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ActivityType.java @@ -0,0 +1,95 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Types of consent activities + */ +@JsonAdapter(ActivityType.Adapter.class) +public enum ActivityType { + + UNKNOWN("UNKNOWN"), + + ITEM_CREATE("ITEM_CREATE"), + + ITEM_IMPORT("ITEM_IMPORT"), + + ITEM_UPDATE("ITEM_UPDATE"), + + ITEM_UNLINK("ITEM_UNLINK"), + + PORTAL_UNLINK("PORTAL_UNLINK"), + + PORTAL_ITEMS_DELETE("PORTAL_ITEMS_DELETE"), + + ITEM_REMOVE("ITEM_REMOVE"), + + INVARIANT_CHECKER_DELETION("INVARIANT_CHECKER_DELETION"), + + SCOPES_UPDATE("SCOPES_UPDATE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ActivityType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ActivityType fromValue(String value) { + for (ActivityType b : ActivityType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ActivityType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ActivityType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ActivityType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ActivityType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/Address.java b/src/main/java/com/plaid/client/model/Address.java new file mode 100644 index 0000000000..c1fb64bf64 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Address.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AddressData; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A physical mailing address. + */ +@ApiModel(description = "A physical mailing address.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Address { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private AddressData data; + + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + private Boolean primary; + + + public Address data(AddressData data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @ApiModelProperty(required = true, value = "") + + public AddressData getData() { + return data; + } + + + public void setData(AddressData data) { + this.data = data; + } + + + public Address primary(Boolean primary) { + + this.primary = primary; + return this; + } + + /** + * When `true`, identifies the address as the primary address on an account. + * @return primary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, identifies the address as the primary address on an account.") + + public Boolean getPrimary() { + return primary; + } + + + public void setPrimary(Boolean primary) { + this.primary = primary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Address address = (Address) o; + return Objects.equals(this.data, address.data) && + Objects.equals(this.primary, address.primary); + } + + @Override + public int hashCode() { + return Objects.hash(data, primary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Address {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" primary: ").append(toIndentedString(primary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AddressData.java b/src/main/java/com/plaid/client/model/AddressData.java new file mode 100644 index 0000000000..3522e5e5b1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AddressData.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data about the components comprising an address. + */ +@ApiModel(description = "Data about the components comprising an address.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AddressData { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public AddressData city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The full city name") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public AddressData region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public AddressData street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address Example: `\"564 Main Street, APT 15\"` + * @return street + **/ + @ApiModelProperty(required = true, value = "The full street address Example: `\"564 Main Street, APT 15\"`") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public AddressData postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public AddressData country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 3166-1 alpha-2 country code") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AddressData addressData = (AddressData) o; + return Objects.equals(this.city, addressData.city) && + Objects.equals(this.region, addressData.region) && + Objects.equals(this.street, addressData.street) && + Objects.equals(this.postalCode, addressData.postalCode) && + Objects.equals(this.country, addressData.country); + } + + @Override + public int hashCode() { + return Objects.hash(city, region, street, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AddressData {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AddressDataNotRequired.java b/src/main/java/com/plaid/client/model/AddressDataNotRequired.java new file mode 100644 index 0000000000..5ae1f23d32 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AddressDataNotRequired.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data about the components comprising an address. + */ +@ApiModel(description = "Data about the components comprising an address.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AddressDataNotRequired { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public AddressDataNotRequired city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full city name") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public AddressDataNotRequired region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public AddressDataNotRequired street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address Example: `\"564 Main Street, APT 15\"` + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full street address Example: `\"564 Main Street, APT 15\"`") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public AddressDataNotRequired postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public AddressDataNotRequired country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO 3166-1 alpha-2 country code") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AddressDataNotRequired addressDataNotRequired = (AddressDataNotRequired) o; + return Objects.equals(this.city, addressDataNotRequired.city) && + Objects.equals(this.region, addressDataNotRequired.region) && + Objects.equals(this.street, addressDataNotRequired.street) && + Objects.equals(this.postalCode, addressDataNotRequired.postalCode) && + Objects.equals(this.country, addressDataNotRequired.country); + } + + @Override + public int hashCode() { + return Objects.hash(city, region, street, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AddressDataNotRequired {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AddressDataNullable.java b/src/main/java/com/plaid/client/model/AddressDataNullable.java new file mode 100644 index 0000000000..a849e518f4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AddressDataNullable.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AddressData; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data about the components comprising an address. + */ +@ApiModel(description = "Data about the components comprising an address.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AddressDataNullable { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public AddressDataNullable city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The full city name") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public AddressDataNullable region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public AddressDataNullable street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address Example: `\"564 Main Street, APT 15\"` + * @return street + **/ + @ApiModelProperty(required = true, value = "The full street address Example: `\"564 Main Street, APT 15\"`") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public AddressDataNullable postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public AddressDataNullable country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 3166-1 alpha-2 country code") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AddressDataNullable addressDataNullable = (AddressDataNullable) o; + return Objects.equals(this.city, addressDataNullable.city) && + Objects.equals(this.region, addressDataNullable.region) && + Objects.equals(this.street, addressDataNullable.street) && + Objects.equals(this.postalCode, addressDataNullable.postalCode) && + Objects.equals(this.country, addressDataNullable.country); + } + + @Override + public int hashCode() { + return Objects.hash(city, region, street, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AddressDataNullable {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AddressDataNullableNoRequiredFields.java b/src/main/java/com/plaid/client/model/AddressDataNullableNoRequiredFields.java new file mode 100644 index 0000000000..6d1bd591a7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AddressDataNullableNoRequiredFields.java @@ -0,0 +1,216 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AddressDataNotRequired; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data about the components comprising an address. + */ +@ApiModel(description = "Data about the components comprising an address.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AddressDataNullableNoRequiredFields { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public AddressDataNullableNoRequiredFields city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full city name") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public AddressDataNullableNoRequiredFields region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public AddressDataNullableNoRequiredFields street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address Example: `\"564 Main Street, APT 15\"` + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full street address Example: `\"564 Main Street, APT 15\"`") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public AddressDataNullableNoRequiredFields postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public AddressDataNullableNoRequiredFields country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO 3166-1 alpha-2 country code") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AddressDataNullableNoRequiredFields addressDataNullableNoRequiredFields = (AddressDataNullableNoRequiredFields) o; + return Objects.equals(this.city, addressDataNullableNoRequiredFields.city) && + Objects.equals(this.region, addressDataNullableNoRequiredFields.region) && + Objects.equals(this.street, addressDataNullableNoRequiredFields.street) && + Objects.equals(this.postalCode, addressDataNullableNoRequiredFields.postalCode) && + Objects.equals(this.country, addressDataNullableNoRequiredFields.country); + } + + @Override + public int hashCode() { + return Objects.hash(city, region, street, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AddressDataNullableNoRequiredFields {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AddressMatchScore.java b/src/main/java/com/plaid/client/model/AddressMatchScore.java new file mode 100644 index 0000000000..d77e7d8a81 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AddressMatchScore.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Score found by matching address provided by the API with the address on the account at the financial institution. The score can range from 0 to 100 where 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled. + */ +@ApiModel(description = "Score found by matching address provided by the API with the address on the account at the financial institution. The score can range from 0 to 100 where 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AddressMatchScore { + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_IS_POSTAL_CODE_MATCH = "is_postal_code_match"; + @SerializedName(SERIALIZED_NAME_IS_POSTAL_CODE_MATCH) + private Boolean isPostalCodeMatch; + + + public AddressMatchScore score(Integer score) { + + this.score = score; + return this; + } + + /** + * Match score for address. 100 is a perfect match, 99-90 is a strong match, 89-70 is a partial match, anything below 70 is considered a weak match. Typically, the match threshold should be set to a score of 70 or higher. If the address is missing from either the API or financial institution, this is null. + * @return score + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Match score for address. 100 is a perfect match, 99-90 is a strong match, 89-70 is a partial match, anything below 70 is considered a weak match. Typically, the match threshold should be set to a score of 70 or higher. If the address is missing from either the API or financial institution, this is null.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public AddressMatchScore isPostalCodeMatch(Boolean isPostalCodeMatch) { + + this.isPostalCodeMatch = isPostalCodeMatch; + return this; + } + + /** + * postal code was provided for both and was a match + * @return isPostalCodeMatch + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "postal code was provided for both and was a match") + + public Boolean getIsPostalCodeMatch() { + return isPostalCodeMatch; + } + + + public void setIsPostalCodeMatch(Boolean isPostalCodeMatch) { + this.isPostalCodeMatch = isPostalCodeMatch; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AddressMatchScore addressMatchScore = (AddressMatchScore) o; + return Objects.equals(this.score, addressMatchScore.score) && + Objects.equals(this.isPostalCodeMatch, addressMatchScore.isPostalCodeMatch); + } + + @Override + public int hashCode() { + return Objects.hash(score, isPostalCodeMatch); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AddressMatchScore {\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" isPostalCodeMatch: ").append(toIndentedString(isPostalCodeMatch)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AddressNullable.java b/src/main/java/com/plaid/client/model/AddressNullable.java new file mode 100644 index 0000000000..e7578d5d6f --- /dev/null +++ b/src/main/java/com/plaid/client/model/AddressNullable.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Address; +import com.plaid.client.model.AddressData; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A physical mailing address. + */ +@ApiModel(description = "A physical mailing address.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AddressNullable { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private AddressData data; + + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + private Boolean primary; + + + public AddressNullable data(AddressData data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @ApiModelProperty(required = true, value = "") + + public AddressData getData() { + return data; + } + + + public void setData(AddressData data) { + this.data = data; + } + + + public AddressNullable primary(Boolean primary) { + + this.primary = primary; + return this; + } + + /** + * When `true`, identifies the address as the primary address on an account. + * @return primary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, identifies the address as the primary address on an account.") + + public Boolean getPrimary() { + return primary; + } + + + public void setPrimary(Boolean primary) { + this.primary = primary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AddressNullable addressNullable = (AddressNullable) o; + return Objects.equals(this.data, addressNullable.data) && + Objects.equals(this.primary, addressNullable.primary); + } + + @Override + public int hashCode() { + return Objects.hash(data, primary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AddressNullable {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" primary: ").append(toIndentedString(primary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AddressPurposeLabel.java b/src/main/java/com/plaid/client/model/AddressPurposeLabel.java new file mode 100644 index 0000000000..641a9cd4e7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AddressPurposeLabel.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Field describing whether the associated address is being used for commercial or residential purposes. Note: This value will be `no_data` when Plaid does not have sufficient data to determine the address's use. + */ +@JsonAdapter(AddressPurposeLabel.Adapter.class) +public enum AddressPurposeLabel { + + RESIDENTIAL("residential"), + + COMMERCIAL("commercial"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AddressPurposeLabel(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AddressPurposeLabel fromValue(String value) { + for (AddressPurposeLabel b : AddressPurposeLabel.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return AddressPurposeLabel.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AddressPurposeLabel enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AddressPurposeLabel read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AddressPurposeLabel.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AffordabilityInsights.java b/src/main/java/com/plaid/client/model/AffordabilityInsights.java new file mode 100644 index 0000000000..a8173cb9cb --- /dev/null +++ b/src/main/java/com/plaid/client/model/AffordabilityInsights.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ExpenditureInsights; +import com.plaid.client.model.IncomeInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Affordability insights focus on providing signal on the ability of a borrower to repay their loan without experiencing financial strain. It provides insights on factors such as a user's monthly income and expenses, disposable income, average expenditure, etc., helping lenders gauge the level of affordability of a borrower. + */ +@ApiModel(description = "Affordability insights focus on providing signal on the ability of a borrower to repay their loan without experiencing financial strain. It provides insights on factors such as a user's monthly income and expenses, disposable income, average expenditure, etc., helping lenders gauge the level of affordability of a borrower.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AffordabilityInsights { + public static final String SERIALIZED_NAME_EXPENDITURE = "expenditure"; + @SerializedName(SERIALIZED_NAME_EXPENDITURE) + private ExpenditureInsights expenditure; + + public static final String SERIALIZED_NAME_INCOME = "income"; + @SerializedName(SERIALIZED_NAME_INCOME) + private IncomeInsights income; + + + public AffordabilityInsights expenditure(ExpenditureInsights expenditure) { + + this.expenditure = expenditure; + return this; + } + + /** + * Get expenditure + * @return expenditure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExpenditureInsights getExpenditure() { + return expenditure; + } + + + public void setExpenditure(ExpenditureInsights expenditure) { + this.expenditure = expenditure; + } + + + public AffordabilityInsights income(IncomeInsights income) { + + this.income = income; + return this; + } + + /** + * Get income + * @return income + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeInsights getIncome() { + return income; + } + + + public void setIncome(IncomeInsights income) { + this.income = income; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AffordabilityInsights affordabilityInsights = (AffordabilityInsights) o; + return Objects.equals(this.expenditure, affordabilityInsights.expenditure) && + Objects.equals(this.income, affordabilityInsights.income); + } + + @Override + public int hashCode() { + return Objects.hash(expenditure, income); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AffordabilityInsights {\n"); + sb.append(" expenditure: ").append(toIndentedString(expenditure)).append("\n"); + sb.append(" income: ").append(toIndentedString(income)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AmountWithCurrency.java b/src/main/java/com/plaid/client/model/AmountWithCurrency.java new file mode 100644 index 0000000000..e7af9f08e4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AmountWithCurrency.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A monetary amount with its associated currency information, supporting both official and unofficial currency codes. + */ +@ApiModel(description = "A monetary amount with its associated currency information, supporting both official and unofficial currency codes.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AmountWithCurrency { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public AmountWithCurrency amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * If the parent object represents a category of transactions, such as `total_amount`, `transfers_in`, `total_income`, etc. the `amount` represents the sum of all of the transactions in the group. If the parent object is `cash_flow`, the `amount` represents the total value of all the inflows minus all the outflows across all the accounts in the report in the given time window. If the parent object is `minimum_balance`, the `amount` represents the lowest balance of the account during the given time window. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If the parent object represents a category of transactions, such as `total_amount`, `transfers_in`, `total_income`, etc. the `amount` represents the sum of all of the transactions in the group. If the parent object is `cash_flow`, the `amount` represents the total value of all the inflows minus all the outflows across all the accounts in the report in the given time window. If the parent object is `minimum_balance`, the `amount` represents the lowest balance of the account during the given time window.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public AmountWithCurrency isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public AmountWithCurrency unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AmountWithCurrency amountWithCurrency = (AmountWithCurrency) o; + return Objects.equals(this.amount, amountWithCurrency.amount) && + Objects.equals(this.isoCurrencyCode, amountWithCurrency.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, amountWithCurrency.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AmountWithCurrency {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AmountWithCurrencyWithMonthlyAverage.java b/src/main/java/com/plaid/client/model/AmountWithCurrencyWithMonthlyAverage.java new file mode 100644 index 0000000000..54cda53501 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AmountWithCurrencyWithMonthlyAverage.java @@ -0,0 +1,159 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AmountWithCurrency; +import com.plaid.client.model.MonthlyAverage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Represents an amount and a monthly average + */ +@ApiModel(description = "Represents an amount and a monthly average") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AmountWithCurrencyWithMonthlyAverage { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public AmountWithCurrencyWithMonthlyAverage amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The monthly average amount of all the aggregated transactions of the given category, across all the accounts for the given time window. The average is calculated by dividing the total amount of the transactions by the number of calendar months in the given time window. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The monthly average amount of all the aggregated transactions of the given category, across all the accounts for the given time window. The average is calculated by dividing the total amount of the transactions by the number of calendar months in the given time window.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public AmountWithCurrencyWithMonthlyAverage isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public AmountWithCurrencyWithMonthlyAverage unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AmountWithCurrencyWithMonthlyAverage amountWithCurrencyWithMonthlyAverage = (AmountWithCurrencyWithMonthlyAverage) o; + return Objects.equals(this.amount, amountWithCurrencyWithMonthlyAverage.amount) && + Objects.equals(this.isoCurrencyCode, amountWithCurrencyWithMonthlyAverage.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, amountWithCurrencyWithMonthlyAverage.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AmountWithCurrencyWithMonthlyAverage {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Application.java b/src/main/java/com/plaid/client/model/Application.java new file mode 100644 index 0000000000..2bfdd0c988 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Application.java @@ -0,0 +1,445 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Metadata about the application + */ +@ApiModel(description = "Metadata about the application") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Application { + public static final String SERIALIZED_NAME_APPLICATION_ID = "application_id"; + @SerializedName(SERIALIZED_NAME_APPLICATION_ID) + private String applicationId; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_DISPLAY_NAME = "display_name"; + @SerializedName(SERIALIZED_NAME_DISPLAY_NAME) + private String displayName; + + public static final String SERIALIZED_NAME_JOIN_DATE = "join_date"; + @SerializedName(SERIALIZED_NAME_JOIN_DATE) + private LocalDate joinDate; + + public static final String SERIALIZED_NAME_LOGO_URL = "logo_url"; + @SerializedName(SERIALIZED_NAME_LOGO_URL) + private String logoUrl; + + public static final String SERIALIZED_NAME_APPLICATION_URL = "application_url"; + @SerializedName(SERIALIZED_NAME_APPLICATION_URL) + private String applicationUrl; + + public static final String SERIALIZED_NAME_REASON_FOR_ACCESS = "reason_for_access"; + @SerializedName(SERIALIZED_NAME_REASON_FOR_ACCESS) + private String reasonForAccess; + + public static final String SERIALIZED_NAME_USE_CASE = "use_case"; + @SerializedName(SERIALIZED_NAME_USE_CASE) + private String useCase; + + public static final String SERIALIZED_NAME_COMPANY_LEGAL_NAME = "company_legal_name"; + @SerializedName(SERIALIZED_NAME_COMPANY_LEGAL_NAME) + private String companyLegalName; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY_CODE = "country_code"; + @SerializedName(SERIALIZED_NAME_COUNTRY_CODE) + private String countryCode; + + + public Application applicationId(String applicationId) { + + this.applicationId = applicationId; + return this; + } + + /** + * This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect. + * @return applicationId + **/ + @ApiModelProperty(required = true, value = "This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect.") + + public String getApplicationId() { + return applicationId; + } + + + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + + public Application name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the application + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the application") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public Application displayName(String displayName) { + + this.displayName = displayName; + return this; + } + + /** + * A human-readable name of the application for display purposes + * @return displayName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A human-readable name of the application for display purposes") + + public String getDisplayName() { + return displayName; + } + + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + + public Application joinDate(LocalDate joinDate) { + + this.joinDate = joinDate; + return this; + } + + /** + * The date this application was granted production access at Plaid in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format in UTC. + * @return joinDate + **/ + @ApiModelProperty(required = true, value = "The date this application was granted production access at Plaid in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format in UTC.") + + public LocalDate getJoinDate() { + return joinDate; + } + + + public void setJoinDate(LocalDate joinDate) { + this.joinDate = joinDate; + } + + + public Application logoUrl(String logoUrl) { + + this.logoUrl = logoUrl; + return this; + } + + /** + * A URL that links to the application logo image. + * @return logoUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A URL that links to the application logo image.") + + public String getLogoUrl() { + return logoUrl; + } + + + public void setLogoUrl(String logoUrl) { + this.logoUrl = logoUrl; + } + + + public Application applicationUrl(String applicationUrl) { + + this.applicationUrl = applicationUrl; + return this; + } + + /** + * The URL for the application's website + * @return applicationUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The URL for the application's website") + + public String getApplicationUrl() { + return applicationUrl; + } + + + public void setApplicationUrl(String applicationUrl) { + this.applicationUrl = applicationUrl; + } + + + public Application reasonForAccess(String reasonForAccess) { + + this.reasonForAccess = reasonForAccess; + return this; + } + + /** + * A string provided by the connected app stating why they use their respective enabled products. + * @return reasonForAccess + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A string provided by the connected app stating why they use their respective enabled products.") + + public String getReasonForAccess() { + return reasonForAccess; + } + + + public void setReasonForAccess(String reasonForAccess) { + this.reasonForAccess = reasonForAccess; + } + + + public Application useCase(String useCase) { + + this.useCase = useCase; + return this; + } + + /** + * A string representing client's broad use case as assessed by Plaid. + * @return useCase + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A string representing client's broad use case as assessed by Plaid.") + + public String getUseCase() { + return useCase; + } + + + public void setUseCase(String useCase) { + this.useCase = useCase; + } + + + public Application companyLegalName(String companyLegalName) { + + this.companyLegalName = companyLegalName; + return this; + } + + /** + * A string representing the name of client's legal entity. + * @return companyLegalName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A string representing the name of client's legal entity.") + + public String getCompanyLegalName() { + return companyLegalName; + } + + + public void setCompanyLegalName(String companyLegalName) { + this.companyLegalName = companyLegalName; + } + + + public Application city(String city) { + + this.city = city; + return this; + } + + /** + * A string representing the city of the client's headquarters. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A string representing the city of the client's headquarters.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public Application region(String region) { + + this.region = region; + return this; + } + + /** + * A string representing the region of the client's headquarters. + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A string representing the region of the client's headquarters.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public Application postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * A string representing the postal code of the client's headquarters. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A string representing the postal code of the client's headquarters.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public Application countryCode(String countryCode) { + + this.countryCode = countryCode; + return this; + } + + /** + * A string representing the country code of the client's headquarters. + * @return countryCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A string representing the country code of the client's headquarters.") + + public String getCountryCode() { + return countryCode; + } + + + public void setCountryCode(String countryCode) { + this.countryCode = countryCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Application application = (Application) o; + return Objects.equals(this.applicationId, application.applicationId) && + Objects.equals(this.name, application.name) && + Objects.equals(this.displayName, application.displayName) && + Objects.equals(this.joinDate, application.joinDate) && + Objects.equals(this.logoUrl, application.logoUrl) && + Objects.equals(this.applicationUrl, application.applicationUrl) && + Objects.equals(this.reasonForAccess, application.reasonForAccess) && + Objects.equals(this.useCase, application.useCase) && + Objects.equals(this.companyLegalName, application.companyLegalName) && + Objects.equals(this.city, application.city) && + Objects.equals(this.region, application.region) && + Objects.equals(this.postalCode, application.postalCode) && + Objects.equals(this.countryCode, application.countryCode); + } + + @Override + public int hashCode() { + return Objects.hash(applicationId, name, displayName, joinDate, logoUrl, applicationUrl, reasonForAccess, useCase, companyLegalName, city, region, postalCode, countryCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Application {\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); + sb.append(" joinDate: ").append(toIndentedString(joinDate)).append("\n"); + sb.append(" logoUrl: ").append(toIndentedString(logoUrl)).append("\n"); + sb.append(" applicationUrl: ").append(toIndentedString(applicationUrl)).append("\n"); + sb.append(" reasonForAccess: ").append(toIndentedString(reasonForAccess)).append("\n"); + sb.append(" useCase: ").append(toIndentedString(useCase)).append("\n"); + sb.append(" companyLegalName: ").append(toIndentedString(companyLegalName)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" countryCode: ").append(toIndentedString(countryCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ApplicationGetRequest.java b/src/main/java/com/plaid/client/model/ApplicationGetRequest.java new file mode 100644 index 0000000000..d82e677dec --- /dev/null +++ b/src/main/java/com/plaid/client/model/ApplicationGetRequest.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ApplicationGetRequest defines the schema for `/application/get` + */ +@ApiModel(description = "ApplicationGetRequest defines the schema for `/application/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ApplicationGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_APPLICATION_ID = "application_id"; + @SerializedName(SERIALIZED_NAME_APPLICATION_ID) + private String applicationId; + + + public ApplicationGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @ApiModelProperty(required = true, value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ApplicationGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @ApiModelProperty(required = true, value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ApplicationGetRequest applicationId(String applicationId) { + + this.applicationId = applicationId; + return this; + } + + /** + * This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect. + * @return applicationId + **/ + @ApiModelProperty(required = true, value = "This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect.") + + public String getApplicationId() { + return applicationId; + } + + + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ApplicationGetRequest applicationGetRequest = (ApplicationGetRequest) o; + return Objects.equals(this.clientId, applicationGetRequest.clientId) && + Objects.equals(this.secret, applicationGetRequest.secret) && + Objects.equals(this.applicationId, applicationGetRequest.applicationId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, applicationId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ApplicationGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ApplicationGetResponse.java b/src/main/java/com/plaid/client/model/ApplicationGetResponse.java new file mode 100644 index 0000000000..0fd140d97c --- /dev/null +++ b/src/main/java/com/plaid/client/model/ApplicationGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Application; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ApplicationGetResponse defines the response schema for `/application/get` + */ +@ApiModel(description = "ApplicationGetResponse defines the response schema for `/application/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ApplicationGetResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_APPLICATION = "application"; + @SerializedName(SERIALIZED_NAME_APPLICATION) + private Application application; + + + public ApplicationGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public ApplicationGetResponse application(Application application) { + + this.application = application; + return this; + } + + /** + * Get application + * @return application + **/ + @ApiModelProperty(required = true, value = "") + + public Application getApplication() { + return application; + } + + + public void setApplication(Application application) { + this.application = application; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ApplicationGetResponse applicationGetResponse = (ApplicationGetResponse) o; + return Objects.equals(this.requestId, applicationGetResponse.requestId) && + Objects.equals(this.application, applicationGetResponse.application); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, application); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ApplicationGetResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" application: ").append(toIndentedString(application)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Asset.java b/src/main/java/com/plaid/client/model/Asset.java new file mode 100644 index 0000000000..341aa85a58 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Asset.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetDetail; +import com.plaid.client.model.AssetHolder; +import com.plaid.client.model.AssetOwners; +import com.plaid.client.model.AssetTransactions; +import com.plaid.client.model.ValidationSources; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Asset { + public static final String SERIALIZED_NAME_A_S_S_E_T_D_E_T_A_I_L = "ASSET_DETAIL"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_D_E_T_A_I_L) + private AssetDetail ASSET_DETAIL; + + public static final String SERIALIZED_NAME_A_S_S_E_T_O_W_N_E_R_S = "ASSET_OWNERS"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_O_W_N_E_R_S) + private AssetOwners ASSET_OWNERS; + + public static final String SERIALIZED_NAME_A_S_S_E_T_H_O_L_D_E_R = "ASSET_HOLDER"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_H_O_L_D_E_R) + private AssetHolder ASSET_HOLDER; + + public static final String SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N_S = "ASSET_TRANSACTIONS"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N_S) + private AssetTransactions ASSET_TRANSACTIONS; + + public static final String SERIALIZED_NAME_V_A_L_I_D_A_T_I_O_N_S_O_U_R_C_E_S = "VALIDATION_SOURCES"; + @SerializedName(SERIALIZED_NAME_V_A_L_I_D_A_T_I_O_N_S_O_U_R_C_E_S) + private ValidationSources VALIDATION_SOURCES; + + + public Asset ASSET_DETAIL(AssetDetail ASSET_DETAIL) { + + this.ASSET_DETAIL = ASSET_DETAIL; + return this; + } + + /** + * Get ASSET_DETAIL + * @return ASSET_DETAIL + **/ + @ApiModelProperty(required = true, value = "") + + public AssetDetail getASSETDETAIL() { + return ASSET_DETAIL; + } + + + public void setASSETDETAIL(AssetDetail ASSET_DETAIL) { + this.ASSET_DETAIL = ASSET_DETAIL; + } + + + public Asset ASSET_OWNERS(AssetOwners ASSET_OWNERS) { + + this.ASSET_OWNERS = ASSET_OWNERS; + return this; + } + + /** + * Get ASSET_OWNERS + * @return ASSET_OWNERS + **/ + @ApiModelProperty(required = true, value = "") + + public AssetOwners getASSETOWNERS() { + return ASSET_OWNERS; + } + + + public void setASSETOWNERS(AssetOwners ASSET_OWNERS) { + this.ASSET_OWNERS = ASSET_OWNERS; + } + + + public Asset ASSET_HOLDER(AssetHolder ASSET_HOLDER) { + + this.ASSET_HOLDER = ASSET_HOLDER; + return this; + } + + /** + * Get ASSET_HOLDER + * @return ASSET_HOLDER + **/ + @ApiModelProperty(required = true, value = "") + + public AssetHolder getASSETHOLDER() { + return ASSET_HOLDER; + } + + + public void setASSETHOLDER(AssetHolder ASSET_HOLDER) { + this.ASSET_HOLDER = ASSET_HOLDER; + } + + + public Asset ASSET_TRANSACTIONS(AssetTransactions ASSET_TRANSACTIONS) { + + this.ASSET_TRANSACTIONS = ASSET_TRANSACTIONS; + return this; + } + + /** + * Get ASSET_TRANSACTIONS + * @return ASSET_TRANSACTIONS + **/ + @ApiModelProperty(required = true, value = "") + + public AssetTransactions getASSETTRANSACTIONS() { + return ASSET_TRANSACTIONS; + } + + + public void setASSETTRANSACTIONS(AssetTransactions ASSET_TRANSACTIONS) { + this.ASSET_TRANSACTIONS = ASSET_TRANSACTIONS; + } + + + public Asset VALIDATION_SOURCES(ValidationSources VALIDATION_SOURCES) { + + this.VALIDATION_SOURCES = VALIDATION_SOURCES; + return this; + } + + /** + * Get VALIDATION_SOURCES + * @return VALIDATION_SOURCES + **/ + @ApiModelProperty(required = true, value = "") + + public ValidationSources getVALIDATIONSOURCES() { + return VALIDATION_SOURCES; + } + + + public void setVALIDATIONSOURCES(ValidationSources VALIDATION_SOURCES) { + this.VALIDATION_SOURCES = VALIDATION_SOURCES; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Asset asset = (Asset) o; + return Objects.equals(this.ASSET_DETAIL, asset.ASSET_DETAIL) && + Objects.equals(this.ASSET_OWNERS, asset.ASSET_OWNERS) && + Objects.equals(this.ASSET_HOLDER, asset.ASSET_HOLDER) && + Objects.equals(this.ASSET_TRANSACTIONS, asset.ASSET_TRANSACTIONS) && + Objects.equals(this.VALIDATION_SOURCES, asset.VALIDATION_SOURCES); + } + + @Override + public int hashCode() { + return Objects.hash(ASSET_DETAIL, ASSET_OWNERS, ASSET_HOLDER, ASSET_TRANSACTIONS, VALIDATION_SOURCES); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Asset {\n"); + sb.append(" ASSET_DETAIL: ").append(toIndentedString(ASSET_DETAIL)).append("\n"); + sb.append(" ASSET_OWNERS: ").append(toIndentedString(ASSET_OWNERS)).append("\n"); + sb.append(" ASSET_HOLDER: ").append(toIndentedString(ASSET_HOLDER)).append("\n"); + sb.append(" ASSET_TRANSACTIONS: ").append(toIndentedString(ASSET_TRANSACTIONS)).append("\n"); + sb.append(" VALIDATION_SOURCES: ").append(toIndentedString(VALIDATION_SOURCES)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetDetail.java b/src/main/java/com/plaid/client/model/AssetDetail.java new file mode 100644 index 0000000000..21f4d7281f --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetDetail.java @@ -0,0 +1,767 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details about an asset. + */ +@ApiModel(description = "Details about an asset.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetDetail { + public static final String SERIALIZED_NAME_ASSET_UNIQUE_IDENTIFIER = "AssetUniqueIdentifier"; + @SerializedName(SERIALIZED_NAME_ASSET_UNIQUE_IDENTIFIER) + private String assetUniqueIdentifier; + + public static final String SERIALIZED_NAME_ASSET_ACCOUNT_IDENTIFIER = "AssetAccountIdentifier"; + @SerializedName(SERIALIZED_NAME_ASSET_ACCOUNT_IDENTIFIER) + private String assetAccountIdentifier; + + public static final String SERIALIZED_NAME_ASSET_AS_OF_DATE = "AssetAsOfDate"; + @SerializedName(SERIALIZED_NAME_ASSET_AS_OF_DATE) + private String assetAsOfDate; + + public static final String SERIALIZED_NAME_ASSET_DESCRIPTION = "AssetDescription"; + @SerializedName(SERIALIZED_NAME_ASSET_DESCRIPTION) + private String assetDescription; + + public static final String SERIALIZED_NAME_ASSET_AVAILABLE_BALANCE_AMOUNT = "AssetAvailableBalanceAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_AVAILABLE_BALANCE_AMOUNT) + private Double assetAvailableBalanceAmount; + + public static final String SERIALIZED_NAME_ASSET_CURRENT_BALANCE_AMOUNT = "AssetCurrentBalanceAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_CURRENT_BALANCE_AMOUNT) + private Double assetCurrentBalanceAmount; + + public static final String SERIALIZED_NAME_ASSET_HOLDING_BALANCE_AMOUNT = "AssetHoldingBalanceAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_HOLDING_BALANCE_AMOUNT) + private Double assetHoldingBalanceAmount; + + public static final String SERIALIZED_NAME_ASSET_HOLDING_BALANCE_NET_MARGIN_AMOUNT = "AssetHoldingBalanceNetMarginAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_HOLDING_BALANCE_NET_MARGIN_AMOUNT) + private Double assetHoldingBalanceNetMarginAmount; + + public static final String SERIALIZED_NAME_ASSET_BONDS_BALANCE_AMOUNT = "AssetBondsBalanceAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_BONDS_BALANCE_AMOUNT) + private Double assetBondsBalanceAmount; + + public static final String SERIALIZED_NAME_ASSET_STOCKS_BALANCE_AMOUNT = "AssetStocksBalanceAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_STOCKS_BALANCE_AMOUNT) + private Double assetStocksBalanceAmount; + + public static final String SERIALIZED_NAME_ASSET_CRYPTO_BALANCE_AMOUNT = "AssetCryptoBalanceAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_CRYPTO_BALANCE_AMOUNT) + private Double assetCryptoBalanceAmount; + + public static final String SERIALIZED_NAME_ASSET_OTHER_BALANCE_AMOUNT = "AssetOtherBalanceAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_OTHER_BALANCE_AMOUNT) + private Double assetOtherBalanceAmount; + + public static final String SERIALIZED_NAME_ASSET_MARGIN_AMOUNT_BALANCE = "AssetMarginAmountBalance"; + @SerializedName(SERIALIZED_NAME_ASSET_MARGIN_AMOUNT_BALANCE) + private Double assetMarginAmountBalance; + + public static final String SERIALIZED_NAME_ASSET_AVAILABLE_CASH_BALANCE_AMOUNT = "AssetAvailableCashBalanceAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_AVAILABLE_CASH_BALANCE_AMOUNT) + private Double assetAvailableCashBalanceAmount; + + public static final String SERIALIZED_NAME_ASSET_CASH_BALANCE_AMOUNT = "AssetCashBalanceAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_CASH_BALANCE_AMOUNT) + private Double assetCashBalanceAmount; + + public static final String SERIALIZED_NAME_ASSET_TYPE = "AssetType"; + @SerializedName(SERIALIZED_NAME_ASSET_TYPE) + private AssetType assetType; + + public static final String SERIALIZED_NAME_ASSET_TYPE_ADDITIONAL_DESCRIPTION = "AssetTypeAdditionalDescription"; + @SerializedName(SERIALIZED_NAME_ASSET_TYPE_ADDITIONAL_DESCRIPTION) + private String assetTypeAdditionalDescription; + + public static final String SERIALIZED_NAME_ASSET_DAYS_REQUESTED_COUNT = "AssetDaysRequestedCount"; + @SerializedName(SERIALIZED_NAME_ASSET_DAYS_REQUESTED_COUNT) + private Integer assetDaysRequestedCount; + + public static final String SERIALIZED_NAME_ASSET_OWNERSHIP_TYPE = "AssetOwnershipType"; + @SerializedName(SERIALIZED_NAME_ASSET_OWNERSHIP_TYPE) + private String assetOwnershipType; + + /** + * Whether or not the account is a retirement account (e.g., 401K, 403b, 457, thrift savings plans, traditional and Roth, IRAs, SEP-IRA, SIMPLE-IRA, KEOGH, state retirement savings plans, other independent and IRS-qualified employer retirement plans) + */ + @JsonAdapter(AssetRetirementIndicatorEnum.Adapter.class) + public enum AssetRetirementIndicatorEnum { + YES("Yes"), + + NO("No"); + + private String value; + + AssetRetirementIndicatorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssetRetirementIndicatorEnum fromValue(String value) { + for (AssetRetirementIndicatorEnum b : AssetRetirementIndicatorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AssetRetirementIndicatorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssetRetirementIndicatorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AssetRetirementIndicatorEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_ASSET_RETIREMENT_INDICATOR = "AssetRetirementIndicator"; + @SerializedName(SERIALIZED_NAME_ASSET_RETIREMENT_INDICATOR) + private AssetRetirementIndicatorEnum assetRetirementIndicator; + + /** + * Whether the account is employer sponsored retirement account or not (e.g., 401K, 403b, 457, thrift savings plan) + */ + @JsonAdapter(AssetEmployerSponsoredIndicatorEnum.Adapter.class) + public enum AssetEmployerSponsoredIndicatorEnum { + YES("Yes"), + + NO("No"); + + private String value; + + AssetEmployerSponsoredIndicatorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssetEmployerSponsoredIndicatorEnum fromValue(String value) { + for (AssetEmployerSponsoredIndicatorEnum b : AssetEmployerSponsoredIndicatorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AssetEmployerSponsoredIndicatorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssetEmployerSponsoredIndicatorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AssetEmployerSponsoredIndicatorEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_ASSET_EMPLOYER_SPONSORED_INDICATOR = "AssetEmployerSponsoredIndicator"; + @SerializedName(SERIALIZED_NAME_ASSET_EMPLOYER_SPONSORED_INDICATOR) + private AssetEmployerSponsoredIndicatorEnum assetEmployerSponsoredIndicator; + + + public AssetDetail assetUniqueIdentifier(String assetUniqueIdentifier) { + + this.assetUniqueIdentifier = assetUniqueIdentifier; + return this; + } + + /** + * A vendor created unique Identifier. + * @return assetUniqueIdentifier + **/ + @ApiModelProperty(required = true, value = "A vendor created unique Identifier.") + + public String getAssetUniqueIdentifier() { + return assetUniqueIdentifier; + } + + + public void setAssetUniqueIdentifier(String assetUniqueIdentifier) { + this.assetUniqueIdentifier = assetUniqueIdentifier; + } + + + public AssetDetail assetAccountIdentifier(String assetAccountIdentifier) { + + this.assetAccountIdentifier = assetAccountIdentifier; + return this; + } + + /** + * A unique alphanumeric string identifying an asset. + * @return assetAccountIdentifier + **/ + @ApiModelProperty(required = true, value = "A unique alphanumeric string identifying an asset.") + + public String getAssetAccountIdentifier() { + return assetAccountIdentifier; + } + + + public void setAssetAccountIdentifier(String assetAccountIdentifier) { + this.assetAccountIdentifier = assetAccountIdentifier; + } + + + public AssetDetail assetAsOfDate(String assetAsOfDate) { + + this.assetAsOfDate = assetAsOfDate; + return this; + } + + /** + * Account Report As of Date / Create Date. Format YYYY-MM-DD + * @return assetAsOfDate + **/ + @ApiModelProperty(required = true, value = "Account Report As of Date / Create Date. Format YYYY-MM-DD") + + public String getAssetAsOfDate() { + return assetAsOfDate; + } + + + public void setAssetAsOfDate(String assetAsOfDate) { + this.assetAsOfDate = assetAsOfDate; + } + + + public AssetDetail assetDescription(String assetDescription) { + + this.assetDescription = assetDescription; + return this; + } + + /** + * A text description that further defines the Asset. This could be used to describe the shares associated with the stocks, bonds or mutual funds, retirement funds or business owned that the borrower has disclosed (named) as an asset. + * @return assetDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A text description that further defines the Asset. This could be used to describe the shares associated with the stocks, bonds or mutual funds, retirement funds or business owned that the borrower has disclosed (named) as an asset.") + + public String getAssetDescription() { + return assetDescription; + } + + + public void setAssetDescription(String assetDescription) { + this.assetDescription = assetDescription; + } + + + public AssetDetail assetAvailableBalanceAmount(Double assetAvailableBalanceAmount) { + + this.assetAvailableBalanceAmount = assetAvailableBalanceAmount; + return this; + } + + /** + * Asset Account Available Balance. + * @return assetAvailableBalanceAmount + **/ + @ApiModelProperty(required = true, value = "Asset Account Available Balance.") + + public Double getAssetAvailableBalanceAmount() { + return assetAvailableBalanceAmount; + } + + + public void setAssetAvailableBalanceAmount(Double assetAvailableBalanceAmount) { + this.assetAvailableBalanceAmount = assetAvailableBalanceAmount; + } + + + public AssetDetail assetCurrentBalanceAmount(Double assetCurrentBalanceAmount) { + + this.assetCurrentBalanceAmount = assetCurrentBalanceAmount; + return this; + } + + /** + * Asset Account Current Balance. + * @return assetCurrentBalanceAmount + **/ + @ApiModelProperty(required = true, value = "Asset Account Current Balance.") + + public Double getAssetCurrentBalanceAmount() { + return assetCurrentBalanceAmount; + } + + + public void setAssetCurrentBalanceAmount(Double assetCurrentBalanceAmount) { + this.assetCurrentBalanceAmount = assetCurrentBalanceAmount; + } + + + public AssetDetail assetHoldingBalanceAmount(Double assetHoldingBalanceAmount) { + + this.assetHoldingBalanceAmount = assetHoldingBalanceAmount; + return this; + } + + /** + * Total market value of holdings (non-restricted, vested, not crypto, not other, not cash) Note: Any employer stock plan balance must be excluded from the total account balance (identification is 'stock plan') + * @return assetHoldingBalanceAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total market value of holdings (non-restricted, vested, not crypto, not other, not cash) Note: Any employer stock plan balance must be excluded from the total account balance (identification is 'stock plan')") + + public Double getAssetHoldingBalanceAmount() { + return assetHoldingBalanceAmount; + } + + + public void setAssetHoldingBalanceAmount(Double assetHoldingBalanceAmount) { + this.assetHoldingBalanceAmount = assetHoldingBalanceAmount; + } + + + public AssetDetail assetHoldingBalanceNetMarginAmount(Double assetHoldingBalanceNetMarginAmount) { + + this.assetHoldingBalanceNetMarginAmount = assetHoldingBalanceNetMarginAmount; + return this; + } + + /** + * HoldingsBalance net MarginAmount + * @return assetHoldingBalanceNetMarginAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "HoldingsBalance net MarginAmount") + + public Double getAssetHoldingBalanceNetMarginAmount() { + return assetHoldingBalanceNetMarginAmount; + } + + + public void setAssetHoldingBalanceNetMarginAmount(Double assetHoldingBalanceNetMarginAmount) { + this.assetHoldingBalanceNetMarginAmount = assetHoldingBalanceNetMarginAmount; + } + + + public AssetDetail assetBondsBalanceAmount(Double assetBondsBalanceAmount) { + + this.assetBondsBalanceAmount = assetBondsBalanceAmount; + return this; + } + + /** + * Total market value of all bonds held (non-restricted, vested) + * @return assetBondsBalanceAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total market value of all bonds held (non-restricted, vested)") + + public Double getAssetBondsBalanceAmount() { + return assetBondsBalanceAmount; + } + + + public void setAssetBondsBalanceAmount(Double assetBondsBalanceAmount) { + this.assetBondsBalanceAmount = assetBondsBalanceAmount; + } + + + public AssetDetail assetStocksBalanceAmount(Double assetStocksBalanceAmount) { + + this.assetStocksBalanceAmount = assetStocksBalanceAmount; + return this; + } + + /** + * Total market value of all stocks held (non-restricted, vested, not employer sponsored stock plan) + * @return assetStocksBalanceAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total market value of all stocks held (non-restricted, vested, not employer sponsored stock plan)") + + public Double getAssetStocksBalanceAmount() { + return assetStocksBalanceAmount; + } + + + public void setAssetStocksBalanceAmount(Double assetStocksBalanceAmount) { + this.assetStocksBalanceAmount = assetStocksBalanceAmount; + } + + + public AssetDetail assetCryptoBalanceAmount(Double assetCryptoBalanceAmount) { + + this.assetCryptoBalanceAmount = assetCryptoBalanceAmount; + return this; + } + + /** + * Total balance of all cryptocurrency held (non-restricted, vested) + * @return assetCryptoBalanceAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total balance of all cryptocurrency held (non-restricted, vested)") + + public Double getAssetCryptoBalanceAmount() { + return assetCryptoBalanceAmount; + } + + + public void setAssetCryptoBalanceAmount(Double assetCryptoBalanceAmount) { + this.assetCryptoBalanceAmount = assetCryptoBalanceAmount; + } + + + public AssetDetail assetOtherBalanceAmount(Double assetOtherBalanceAmount) { + + this.assetOtherBalanceAmount = assetOtherBalanceAmount; + return this; + } + + /** + * Total balance of all other holding types (non-restricted, vested) + * @return assetOtherBalanceAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total balance of all other holding types (non-restricted, vested)") + + public Double getAssetOtherBalanceAmount() { + return assetOtherBalanceAmount; + } + + + public void setAssetOtherBalanceAmount(Double assetOtherBalanceAmount) { + this.assetOtherBalanceAmount = assetOtherBalanceAmount; + } + + + public AssetDetail assetMarginAmountBalance(Double assetMarginAmountBalance) { + + this.assetMarginAmountBalance = assetMarginAmountBalance; + return this; + } + + /** + * loan balance (amount owed by account owner) + * @return assetMarginAmountBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "loan balance (amount owed by account owner)") + + public Double getAssetMarginAmountBalance() { + return assetMarginAmountBalance; + } + + + public void setAssetMarginAmountBalance(Double assetMarginAmountBalance) { + this.assetMarginAmountBalance = assetMarginAmountBalance; + } + + + public AssetDetail assetAvailableCashBalanceAmount(Double assetAvailableCashBalanceAmount) { + + this.assetAvailableCashBalanceAmount = assetAvailableCashBalanceAmount; + return this; + } + + /** + * amount available for cash withdrawal + * @return assetAvailableCashBalanceAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "amount available for cash withdrawal") + + public Double getAssetAvailableCashBalanceAmount() { + return assetAvailableCashBalanceAmount; + } + + + public void setAssetAvailableCashBalanceAmount(Double assetAvailableCashBalanceAmount) { + this.assetAvailableCashBalanceAmount = assetAvailableCashBalanceAmount; + } + + + public AssetDetail assetCashBalanceAmount(Double assetCashBalanceAmount) { + + this.assetCashBalanceAmount = assetCashBalanceAmount; + return this; + } + + /** + * cash balance of the account + * @return assetCashBalanceAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "cash balance of the account") + + public Double getAssetCashBalanceAmount() { + return assetCashBalanceAmount; + } + + + public void setAssetCashBalanceAmount(Double assetCashBalanceAmount) { + this.assetCashBalanceAmount = assetCashBalanceAmount; + } + + + public AssetDetail assetType(AssetType assetType) { + + this.assetType = assetType; + return this; + } + + /** + * Get assetType + * @return assetType + **/ + @ApiModelProperty(required = true, value = "") + + public AssetType getAssetType() { + return assetType; + } + + + public void setAssetType(AssetType assetType) { + this.assetType = assetType; + } + + + public AssetDetail assetTypeAdditionalDescription(String assetTypeAdditionalDescription) { + + this.assetTypeAdditionalDescription = assetTypeAdditionalDescription; + return this; + } + + /** + * Additional Asset Description. Some examples are Investment Tax-Deferred, Loan, 401K, 403B, Checking, Money Market, Credit Card, ROTH, 529, Biller, ROLLOVER, CD, Savings, Investment Taxable, IRA, Mortgage, Line Of Credit. + * @return assetTypeAdditionalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Additional Asset Description. Some examples are Investment Tax-Deferred, Loan, 401K, 403B, Checking, Money Market, Credit Card, ROTH, 529, Biller, ROLLOVER, CD, Savings, Investment Taxable, IRA, Mortgage, Line Of Credit.") + + public String getAssetTypeAdditionalDescription() { + return assetTypeAdditionalDescription; + } + + + public void setAssetTypeAdditionalDescription(String assetTypeAdditionalDescription) { + this.assetTypeAdditionalDescription = assetTypeAdditionalDescription; + } + + + public AssetDetail assetDaysRequestedCount(Integer assetDaysRequestedCount) { + + this.assetDaysRequestedCount = assetDaysRequestedCount; + return this; + } + + /** + * The number of days requested from the Financial Institution. Example: When looking for 3 months of data from the FI, pass in 90 days. + * @return assetDaysRequestedCount + **/ + @ApiModelProperty(required = true, value = "The number of days requested from the Financial Institution. Example: When looking for 3 months of data from the FI, pass in 90 days.") + + public Integer getAssetDaysRequestedCount() { + return assetDaysRequestedCount; + } + + + public void setAssetDaysRequestedCount(Integer assetDaysRequestedCount) { + this.assetDaysRequestedCount = assetDaysRequestedCount; + } + + + public AssetDetail assetOwnershipType(String assetOwnershipType) { + + this.assetOwnershipType = assetOwnershipType; + return this; + } + + /** + * Ownership type of the asset account. + * @return assetOwnershipType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Ownership type of the asset account.") + + public String getAssetOwnershipType() { + return assetOwnershipType; + } + + + public void setAssetOwnershipType(String assetOwnershipType) { + this.assetOwnershipType = assetOwnershipType; + } + + + public AssetDetail assetRetirementIndicator(AssetRetirementIndicatorEnum assetRetirementIndicator) { + + this.assetRetirementIndicator = assetRetirementIndicator; + return this; + } + + /** + * Whether or not the account is a retirement account (e.g., 401K, 403b, 457, thrift savings plans, traditional and Roth, IRAs, SEP-IRA, SIMPLE-IRA, KEOGH, state retirement savings plans, other independent and IRS-qualified employer retirement plans) + * @return assetRetirementIndicator + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether or not the account is a retirement account (e.g., 401K, 403b, 457, thrift savings plans, traditional and Roth, IRAs, SEP-IRA, SIMPLE-IRA, KEOGH, state retirement savings plans, other independent and IRS-qualified employer retirement plans)") + + public AssetRetirementIndicatorEnum getAssetRetirementIndicator() { + return assetRetirementIndicator; + } + + + public void setAssetRetirementIndicator(AssetRetirementIndicatorEnum assetRetirementIndicator) { + this.assetRetirementIndicator = assetRetirementIndicator; + } + + + public AssetDetail assetEmployerSponsoredIndicator(AssetEmployerSponsoredIndicatorEnum assetEmployerSponsoredIndicator) { + + this.assetEmployerSponsoredIndicator = assetEmployerSponsoredIndicator; + return this; + } + + /** + * Whether the account is employer sponsored retirement account or not (e.g., 401K, 403b, 457, thrift savings plan) + * @return assetEmployerSponsoredIndicator + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the account is employer sponsored retirement account or not (e.g., 401K, 403b, 457, thrift savings plan)") + + public AssetEmployerSponsoredIndicatorEnum getAssetEmployerSponsoredIndicator() { + return assetEmployerSponsoredIndicator; + } + + + public void setAssetEmployerSponsoredIndicator(AssetEmployerSponsoredIndicatorEnum assetEmployerSponsoredIndicator) { + this.assetEmployerSponsoredIndicator = assetEmployerSponsoredIndicator; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetDetail assetDetail = (AssetDetail) o; + return Objects.equals(this.assetUniqueIdentifier, assetDetail.assetUniqueIdentifier) && + Objects.equals(this.assetAccountIdentifier, assetDetail.assetAccountIdentifier) && + Objects.equals(this.assetAsOfDate, assetDetail.assetAsOfDate) && + Objects.equals(this.assetDescription, assetDetail.assetDescription) && + Objects.equals(this.assetAvailableBalanceAmount, assetDetail.assetAvailableBalanceAmount) && + Objects.equals(this.assetCurrentBalanceAmount, assetDetail.assetCurrentBalanceAmount) && + Objects.equals(this.assetHoldingBalanceAmount, assetDetail.assetHoldingBalanceAmount) && + Objects.equals(this.assetHoldingBalanceNetMarginAmount, assetDetail.assetHoldingBalanceNetMarginAmount) && + Objects.equals(this.assetBondsBalanceAmount, assetDetail.assetBondsBalanceAmount) && + Objects.equals(this.assetStocksBalanceAmount, assetDetail.assetStocksBalanceAmount) && + Objects.equals(this.assetCryptoBalanceAmount, assetDetail.assetCryptoBalanceAmount) && + Objects.equals(this.assetOtherBalanceAmount, assetDetail.assetOtherBalanceAmount) && + Objects.equals(this.assetMarginAmountBalance, assetDetail.assetMarginAmountBalance) && + Objects.equals(this.assetAvailableCashBalanceAmount, assetDetail.assetAvailableCashBalanceAmount) && + Objects.equals(this.assetCashBalanceAmount, assetDetail.assetCashBalanceAmount) && + Objects.equals(this.assetType, assetDetail.assetType) && + Objects.equals(this.assetTypeAdditionalDescription, assetDetail.assetTypeAdditionalDescription) && + Objects.equals(this.assetDaysRequestedCount, assetDetail.assetDaysRequestedCount) && + Objects.equals(this.assetOwnershipType, assetDetail.assetOwnershipType) && + Objects.equals(this.assetRetirementIndicator, assetDetail.assetRetirementIndicator) && + Objects.equals(this.assetEmployerSponsoredIndicator, assetDetail.assetEmployerSponsoredIndicator); + } + + @Override + public int hashCode() { + return Objects.hash(assetUniqueIdentifier, assetAccountIdentifier, assetAsOfDate, assetDescription, assetAvailableBalanceAmount, assetCurrentBalanceAmount, assetHoldingBalanceAmount, assetHoldingBalanceNetMarginAmount, assetBondsBalanceAmount, assetStocksBalanceAmount, assetCryptoBalanceAmount, assetOtherBalanceAmount, assetMarginAmountBalance, assetAvailableCashBalanceAmount, assetCashBalanceAmount, assetType, assetTypeAdditionalDescription, assetDaysRequestedCount, assetOwnershipType, assetRetirementIndicator, assetEmployerSponsoredIndicator); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetDetail {\n"); + sb.append(" assetUniqueIdentifier: ").append(toIndentedString(assetUniqueIdentifier)).append("\n"); + sb.append(" assetAccountIdentifier: ").append(toIndentedString(assetAccountIdentifier)).append("\n"); + sb.append(" assetAsOfDate: ").append(toIndentedString(assetAsOfDate)).append("\n"); + sb.append(" assetDescription: ").append(toIndentedString(assetDescription)).append("\n"); + sb.append(" assetAvailableBalanceAmount: ").append(toIndentedString(assetAvailableBalanceAmount)).append("\n"); + sb.append(" assetCurrentBalanceAmount: ").append(toIndentedString(assetCurrentBalanceAmount)).append("\n"); + sb.append(" assetHoldingBalanceAmount: ").append(toIndentedString(assetHoldingBalanceAmount)).append("\n"); + sb.append(" assetHoldingBalanceNetMarginAmount: ").append(toIndentedString(assetHoldingBalanceNetMarginAmount)).append("\n"); + sb.append(" assetBondsBalanceAmount: ").append(toIndentedString(assetBondsBalanceAmount)).append("\n"); + sb.append(" assetStocksBalanceAmount: ").append(toIndentedString(assetStocksBalanceAmount)).append("\n"); + sb.append(" assetCryptoBalanceAmount: ").append(toIndentedString(assetCryptoBalanceAmount)).append("\n"); + sb.append(" assetOtherBalanceAmount: ").append(toIndentedString(assetOtherBalanceAmount)).append("\n"); + sb.append(" assetMarginAmountBalance: ").append(toIndentedString(assetMarginAmountBalance)).append("\n"); + sb.append(" assetAvailableCashBalanceAmount: ").append(toIndentedString(assetAvailableCashBalanceAmount)).append("\n"); + sb.append(" assetCashBalanceAmount: ").append(toIndentedString(assetCashBalanceAmount)).append("\n"); + sb.append(" assetType: ").append(toIndentedString(assetType)).append("\n"); + sb.append(" assetTypeAdditionalDescription: ").append(toIndentedString(assetTypeAdditionalDescription)).append("\n"); + sb.append(" assetDaysRequestedCount: ").append(toIndentedString(assetDaysRequestedCount)).append("\n"); + sb.append(" assetOwnershipType: ").append(toIndentedString(assetOwnershipType)).append("\n"); + sb.append(" assetRetirementIndicator: ").append(toIndentedString(assetRetirementIndicator)).append("\n"); + sb.append(" assetEmployerSponsoredIndicator: ").append(toIndentedString(assetEmployerSponsoredIndicator)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetHolder.java b/src/main/java/com/plaid/client/model/AssetHolder.java new file mode 100644 index 0000000000..e4a489b3ce --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetHolder.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetHolderName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetHolder { + public static final String SERIALIZED_NAME_N_A_M_E = "NAME"; + @SerializedName(SERIALIZED_NAME_N_A_M_E) + private AssetHolderName NAME; + + + public AssetHolder NAME(AssetHolderName NAME) { + + this.NAME = NAME; + return this; + } + + /** + * Get NAME + * @return NAME + **/ + @ApiModelProperty(required = true, value = "") + + public AssetHolderName getNAME() { + return NAME; + } + + + public void setNAME(AssetHolderName NAME) { + this.NAME = NAME; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetHolder assetHolder = (AssetHolder) o; + return Objects.equals(this.NAME, assetHolder.NAME); + } + + @Override + public int hashCode() { + return Objects.hash(NAME); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetHolder {\n"); + sb.append(" NAME: ").append(toIndentedString(NAME)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetHolderName.java b/src/main/java/com/plaid/client/model/AssetHolderName.java new file mode 100644 index 0000000000..9953a4a0f8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetHolderName.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetHolderName { + public static final String SERIALIZED_NAME_FULL_NAME = "FullName"; + @SerializedName(SERIALIZED_NAME_FULL_NAME) + private String fullName; + + + public AssetHolderName fullName(String fullName) { + + this.fullName = fullName; + return this; + } + + /** + * The unparsed name of either an individual or a legal entity. + * @return fullName + **/ + @ApiModelProperty(required = true, value = "The unparsed name of either an individual or a legal entity.") + + public String getFullName() { + return fullName; + } + + + public void setFullName(String fullName) { + this.fullName = fullName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetHolderName assetHolderName = (AssetHolderName) o; + return Objects.equals(this.fullName, assetHolderName.fullName); + } + + @Override + public int hashCode() { + return Objects.hash(fullName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetHolderName {\n"); + sb.append(" fullName: ").append(toIndentedString(fullName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetHolding.java b/src/main/java/com/plaid/client/model/AssetHolding.java new file mode 100644 index 0000000000..baf370a5de --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetHolding.java @@ -0,0 +1,488 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetHolding { + public static final String SERIALIZED_NAME_ASSET_HOLDING_I_D = "AssetHoldingID"; + @SerializedName(SERIALIZED_NAME_ASSET_HOLDING_I_D) + private String assetHoldingID; + + public static final String SERIALIZED_NAME_CURRENCY = "Currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private String currency; + + public static final String SERIALIZED_NAME_ASSET_HOLDING_DESCRIPTION = "AssetHoldingDescription"; + @SerializedName(SERIALIZED_NAME_ASSET_HOLDING_DESCRIPTION) + private String assetHoldingDescription; + + public static final String SERIALIZED_NAME_ASSET_HOLDING_SYMBOL = "AssetHoldingSymbol"; + @SerializedName(SERIALIZED_NAME_ASSET_HOLDING_SYMBOL) + private String assetHoldingSymbol; + + public static final String SERIALIZED_NAME_ASSET_HOLDING_SECURITY_NAME = "AssetHoldingSecurityName"; + @SerializedName(SERIALIZED_NAME_ASSET_HOLDING_SECURITY_NAME) + private String assetHoldingSecurityName; + + public static final String SERIALIZED_NAME_ASSET_HOLDING_UNITS = "AssetHoldingUnits"; + @SerializedName(SERIALIZED_NAME_ASSET_HOLDING_UNITS) + private Double assetHoldingUnits; + + public static final String SERIALIZED_NAME_ASSET_HOLDING_MARKET_VALUE_AMOUNT = "AssetHoldingMarketValueAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_HOLDING_MARKET_VALUE_AMOUNT) + private Double assetHoldingMarketValueAmount; + + public static final String SERIALIZED_NAME_ASSET_HOLDING_CURRENT_PRICE_AMOUNT = "AssetHoldingCurrentPriceAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_HOLDING_CURRENT_PRICE_AMOUNT) + private Double assetHoldingCurrentPriceAmount; + + /** + * Type of holding (e.g. bond, stock, crypto, other) + */ + @JsonAdapter(AssetHoldingTypeEnum.Adapter.class) + public enum AssetHoldingTypeEnum { + BOND("Bond"), + + STOCK("Stock"), + + CRYPTO("Crypto"), + + OTHER("Other"); + + private String value; + + AssetHoldingTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssetHoldingTypeEnum fromValue(String value) { + for (AssetHoldingTypeEnum b : AssetHoldingTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AssetHoldingTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssetHoldingTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AssetHoldingTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_ASSET_HOLDING_TYPE = "AssetHoldingType"; + @SerializedName(SERIALIZED_NAME_ASSET_HOLDING_TYPE) + private AssetHoldingTypeEnum assetHoldingType; + + /** + * Whether or not the stock is restricted, i.e. \"Restricted\" or \"Not Restricted\" + */ + @JsonAdapter(AssetHoldingRestrictedIndicatorEnum.Adapter.class) + public enum AssetHoldingRestrictedIndicatorEnum { + YES("Yes"), + + NO("No"); + + private String value; + + AssetHoldingRestrictedIndicatorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssetHoldingRestrictedIndicatorEnum fromValue(String value) { + for (AssetHoldingRestrictedIndicatorEnum b : AssetHoldingRestrictedIndicatorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AssetHoldingRestrictedIndicatorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssetHoldingRestrictedIndicatorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AssetHoldingRestrictedIndicatorEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_ASSET_HOLDING_RESTRICTED_INDICATOR = "AssetHoldingRestrictedIndicator"; + @SerializedName(SERIALIZED_NAME_ASSET_HOLDING_RESTRICTED_INDICATOR) + private AssetHoldingRestrictedIndicatorEnum assetHoldingRestrictedIndicator; + + public static final String SERIALIZED_NAME_ASSET_HOLDING_VESTED_AMOUNT = "AssetHoldingVestedAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_HOLDING_VESTED_AMOUNT) + private Double assetHoldingVestedAmount; + + + public AssetHolding assetHoldingID(String assetHoldingID) { + + this.assetHoldingID = assetHoldingID; + return this; + } + + /** + * Unique id of investment position + * @return assetHoldingID + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Unique id of investment position") + + public String getAssetHoldingID() { + return assetHoldingID; + } + + + public void setAssetHoldingID(String assetHoldingID) { + this.assetHoldingID = assetHoldingID; + } + + + public AssetHolding currency(String currency) { + + this.currency = currency; + return this; + } + + /** + * US Dollar + * @return currency + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "US Dollar") + + public String getCurrency() { + return currency; + } + + + public void setCurrency(String currency) { + this.currency = currency; + } + + + public AssetHolding assetHoldingDescription(String assetHoldingDescription) { + + this.assetHoldingDescription = assetHoldingDescription; + return this; + } + + /** + * Description of holding + * @return assetHoldingDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Description of holding") + + public String getAssetHoldingDescription() { + return assetHoldingDescription; + } + + + public void setAssetHoldingDescription(String assetHoldingDescription) { + this.assetHoldingDescription = assetHoldingDescription; + } + + + public AssetHolding assetHoldingSymbol(String assetHoldingSymbol) { + + this.assetHoldingSymbol = assetHoldingSymbol; + return this; + } + + /** + * Investment position's market ticker symbol + * @return assetHoldingSymbol + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Investment position's market ticker symbol") + + public String getAssetHoldingSymbol() { + return assetHoldingSymbol; + } + + + public void setAssetHoldingSymbol(String assetHoldingSymbol) { + this.assetHoldingSymbol = assetHoldingSymbol; + } + + + public AssetHolding assetHoldingSecurityName(String assetHoldingSecurityName) { + + this.assetHoldingSecurityName = assetHoldingSecurityName; + return this; + } + + /** + * Security name of investment holding + * @return assetHoldingSecurityName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Security name of investment holding") + + public String getAssetHoldingSecurityName() { + return assetHoldingSecurityName; + } + + + public void setAssetHoldingSecurityName(String assetHoldingSecurityName) { + this.assetHoldingSecurityName = assetHoldingSecurityName; + } + + + public AssetHolding assetHoldingUnits(Double assetHoldingUnits) { + + this.assetHoldingUnits = assetHoldingUnits; + return this; + } + + /** + * Number of units of holding + * @return assetHoldingUnits + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Number of units of holding") + + public Double getAssetHoldingUnits() { + return assetHoldingUnits; + } + + + public void setAssetHoldingUnits(Double assetHoldingUnits) { + this.assetHoldingUnits = assetHoldingUnits; + } + + + public AssetHolding assetHoldingMarketValueAmount(Double assetHoldingMarketValueAmount) { + + this.assetHoldingMarketValueAmount = assetHoldingMarketValueAmount; + return this; + } + + /** + * market value of investment position + * @return assetHoldingMarketValueAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "market value of investment position") + + public Double getAssetHoldingMarketValueAmount() { + return assetHoldingMarketValueAmount; + } + + + public void setAssetHoldingMarketValueAmount(Double assetHoldingMarketValueAmount) { + this.assetHoldingMarketValueAmount = assetHoldingMarketValueAmount; + } + + + public AssetHolding assetHoldingCurrentPriceAmount(Double assetHoldingCurrentPriceAmount) { + + this.assetHoldingCurrentPriceAmount = assetHoldingCurrentPriceAmount; + return this; + } + + /** + * current price of investment holding + * @return assetHoldingCurrentPriceAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "current price of investment holding") + + public Double getAssetHoldingCurrentPriceAmount() { + return assetHoldingCurrentPriceAmount; + } + + + public void setAssetHoldingCurrentPriceAmount(Double assetHoldingCurrentPriceAmount) { + this.assetHoldingCurrentPriceAmount = assetHoldingCurrentPriceAmount; + } + + + public AssetHolding assetHoldingType(AssetHoldingTypeEnum assetHoldingType) { + + this.assetHoldingType = assetHoldingType; + return this; + } + + /** + * Type of holding (e.g. bond, stock, crypto, other) + * @return assetHoldingType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Type of holding (e.g. bond, stock, crypto, other)") + + public AssetHoldingTypeEnum getAssetHoldingType() { + return assetHoldingType; + } + + + public void setAssetHoldingType(AssetHoldingTypeEnum assetHoldingType) { + this.assetHoldingType = assetHoldingType; + } + + + public AssetHolding assetHoldingRestrictedIndicator(AssetHoldingRestrictedIndicatorEnum assetHoldingRestrictedIndicator) { + + this.assetHoldingRestrictedIndicator = assetHoldingRestrictedIndicator; + return this; + } + + /** + * Whether or not the stock is restricted, i.e. \"Restricted\" or \"Not Restricted\" + * @return assetHoldingRestrictedIndicator + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Whether or not the stock is restricted, i.e. \"Restricted\" or \"Not Restricted\"") + + public AssetHoldingRestrictedIndicatorEnum getAssetHoldingRestrictedIndicator() { + return assetHoldingRestrictedIndicator; + } + + + public void setAssetHoldingRestrictedIndicator(AssetHoldingRestrictedIndicatorEnum assetHoldingRestrictedIndicator) { + this.assetHoldingRestrictedIndicator = assetHoldingRestrictedIndicator; + } + + + public AssetHolding assetHoldingVestedAmount(Double assetHoldingVestedAmount) { + + this.assetHoldingVestedAmount = assetHoldingVestedAmount; + return this; + } + + /** + * Amount of holding vested + * @return assetHoldingVestedAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Amount of holding vested") + + public Double getAssetHoldingVestedAmount() { + return assetHoldingVestedAmount; + } + + + public void setAssetHoldingVestedAmount(Double assetHoldingVestedAmount) { + this.assetHoldingVestedAmount = assetHoldingVestedAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetHolding assetHolding = (AssetHolding) o; + return Objects.equals(this.assetHoldingID, assetHolding.assetHoldingID) && + Objects.equals(this.currency, assetHolding.currency) && + Objects.equals(this.assetHoldingDescription, assetHolding.assetHoldingDescription) && + Objects.equals(this.assetHoldingSymbol, assetHolding.assetHoldingSymbol) && + Objects.equals(this.assetHoldingSecurityName, assetHolding.assetHoldingSecurityName) && + Objects.equals(this.assetHoldingUnits, assetHolding.assetHoldingUnits) && + Objects.equals(this.assetHoldingMarketValueAmount, assetHolding.assetHoldingMarketValueAmount) && + Objects.equals(this.assetHoldingCurrentPriceAmount, assetHolding.assetHoldingCurrentPriceAmount) && + Objects.equals(this.assetHoldingType, assetHolding.assetHoldingType) && + Objects.equals(this.assetHoldingRestrictedIndicator, assetHolding.assetHoldingRestrictedIndicator) && + Objects.equals(this.assetHoldingVestedAmount, assetHolding.assetHoldingVestedAmount); + } + + @Override + public int hashCode() { + return Objects.hash(assetHoldingID, currency, assetHoldingDescription, assetHoldingSymbol, assetHoldingSecurityName, assetHoldingUnits, assetHoldingMarketValueAmount, assetHoldingCurrentPriceAmount, assetHoldingType, assetHoldingRestrictedIndicator, assetHoldingVestedAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetHolding {\n"); + sb.append(" assetHoldingID: ").append(toIndentedString(assetHoldingID)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" assetHoldingDescription: ").append(toIndentedString(assetHoldingDescription)).append("\n"); + sb.append(" assetHoldingSymbol: ").append(toIndentedString(assetHoldingSymbol)).append("\n"); + sb.append(" assetHoldingSecurityName: ").append(toIndentedString(assetHoldingSecurityName)).append("\n"); + sb.append(" assetHoldingUnits: ").append(toIndentedString(assetHoldingUnits)).append("\n"); + sb.append(" assetHoldingMarketValueAmount: ").append(toIndentedString(assetHoldingMarketValueAmount)).append("\n"); + sb.append(" assetHoldingCurrentPriceAmount: ").append(toIndentedString(assetHoldingCurrentPriceAmount)).append("\n"); + sb.append(" assetHoldingType: ").append(toIndentedString(assetHoldingType)).append("\n"); + sb.append(" assetHoldingRestrictedIndicator: ").append(toIndentedString(assetHoldingRestrictedIndicator)).append("\n"); + sb.append(" assetHoldingVestedAmount: ").append(toIndentedString(assetHoldingVestedAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetHoldings.java b/src/main/java/com/plaid/client/model/AssetHoldings.java new file mode 100644 index 0000000000..5e3cf60020 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetHoldings.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetHolding; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetHoldings { + public static final String SERIALIZED_NAME_A_S_S_E_T_H_O_L_D_I_N_G = "ASSET_HOLDING"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_H_O_L_D_I_N_G) + private List ASSET_HOLDING = new ArrayList<>(); + + + public AssetHoldings ASSET_HOLDING(List ASSET_HOLDING) { + + this.ASSET_HOLDING = ASSET_HOLDING; + return this; + } + + public AssetHoldings addASSETHOLDINGItem(AssetHolding ASSET_HOLDINGItem) { + this.ASSET_HOLDING.add(ASSET_HOLDINGItem); + return this; + } + + /** + * Get ASSET_HOLDING + * @return ASSET_HOLDING + **/ + @ApiModelProperty(required = true, value = "") + + public List getASSETHOLDING() { + return ASSET_HOLDING; + } + + + public void setASSETHOLDING(List ASSET_HOLDING) { + this.ASSET_HOLDING = ASSET_HOLDING; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetHoldings assetHoldings = (AssetHoldings) o; + return Objects.equals(this.ASSET_HOLDING, assetHoldings.ASSET_HOLDING); + } + + @Override + public int hashCode() { + return Objects.hash(ASSET_HOLDING); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetHoldings {\n"); + sb.append(" ASSET_HOLDING: ").append(toIndentedString(ASSET_HOLDING)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetInvestmentTransactionType.java b/src/main/java/com/plaid/client/model/AssetInvestmentTransactionType.java new file mode 100644 index 0000000000..629f0412b2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetInvestmentTransactionType.java @@ -0,0 +1,89 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Asset Investment Transaction Type Enumerated derived by Vendor. + */ +@JsonAdapter(AssetInvestmentTransactionType.Adapter.class) +public enum AssetInvestmentTransactionType { + + BUY("Buy"), + + SELL("Sell"), + + DIVIDENDS("Dividends"), + + INTEREST("Interest"), + + TRANSFERS("Transfers"), + + REINVESTMENTS("Reinvestments"), + + FUNDSRECEIVED("FundsReceived"), + + OTHER("Other"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AssetInvestmentTransactionType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssetInvestmentTransactionType fromValue(String value) { + for (AssetInvestmentTransactionType b : AssetInvestmentTransactionType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AssetInvestmentTransactionType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssetInvestmentTransactionType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AssetInvestmentTransactionType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AssetOwner.java b/src/main/java/com/plaid/client/model/AssetOwner.java new file mode 100644 index 0000000000..96055ac6f9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetOwner.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetOwner { + public static final String SERIALIZED_NAME_ASSET_OWNER_TEXT = "AssetOwnerText"; + @SerializedName(SERIALIZED_NAME_ASSET_OWNER_TEXT) + private String assetOwnerText; + + + public AssetOwner assetOwnerText(String assetOwnerText) { + + this.assetOwnerText = assetOwnerText; + return this; + } + + /** + * Account Owner Full Name. + * @return assetOwnerText + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Account Owner Full Name.") + + public String getAssetOwnerText() { + return assetOwnerText; + } + + + public void setAssetOwnerText(String assetOwnerText) { + this.assetOwnerText = assetOwnerText; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetOwner assetOwner = (AssetOwner) o; + return Objects.equals(this.assetOwnerText, assetOwner.assetOwnerText); + } + + @Override + public int hashCode() { + return Objects.hash(assetOwnerText); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetOwner {\n"); + sb.append(" assetOwnerText: ").append(toIndentedString(assetOwnerText)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetOwners.java b/src/main/java/com/plaid/client/model/AssetOwners.java new file mode 100644 index 0000000000..d0a453ff03 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetOwners.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetOwner; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetOwners { + public static final String SERIALIZED_NAME_A_S_S_E_T_O_W_N_E_R = "ASSET_OWNER"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_O_W_N_E_R) + private List ASSET_OWNER = new ArrayList<>(); + + + public AssetOwners ASSET_OWNER(List ASSET_OWNER) { + + this.ASSET_OWNER = ASSET_OWNER; + return this; + } + + public AssetOwners addASSETOWNERItem(AssetOwner ASSET_OWNERItem) { + this.ASSET_OWNER.add(ASSET_OWNERItem); + return this; + } + + /** + * A list of up to 4 account owners' full names. + * @return ASSET_OWNER + **/ + @ApiModelProperty(required = true, value = "A list of up to 4 account owners' full names.") + + public List getASSETOWNER() { + return ASSET_OWNER; + } + + + public void setASSETOWNER(List ASSET_OWNER) { + this.ASSET_OWNER = ASSET_OWNER; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetOwners assetOwners = (AssetOwners) o; + return Objects.equals(this.ASSET_OWNER, assetOwners.ASSET_OWNER); + } + + @Override + public int hashCode() { + return Objects.hash(ASSET_OWNER); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetOwners {\n"); + sb.append(" ASSET_OWNER: ").append(toIndentedString(ASSET_OWNER)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReport.java b/src/main/java/com/plaid/client/model/AssetReport.java new file mode 100644 index 0000000000..f47cf30660 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReport.java @@ -0,0 +1,280 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountInsights; +import com.plaid.client.model.AssetReportItem; +import com.plaid.client.model.AssetReportUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing an Asset Report + */ +@ApiModel(description = "An object representing an Asset Report") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReport { + public static final String SERIALIZED_NAME_ASSET_REPORT_ID = "asset_report_id"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_ID) + private String assetReportId; + + public static final String SERIALIZED_NAME_INSIGHTS = "insights"; + @SerializedName(SERIALIZED_NAME_INSIGHTS) + private AccountInsights insights; + + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + public static final String SERIALIZED_NAME_DATE_GENERATED = "date_generated"; + @SerializedName(SERIALIZED_NAME_DATE_GENERATED) + private OffsetDateTime dateGenerated; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Double daysRequested; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private AssetReportUser user; + + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + + public AssetReport assetReportId(String assetReportId) { + + this.assetReportId = assetReportId; + return this; + } + + /** + * A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive. + * @return assetReportId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive.") + + public String getAssetReportId() { + return assetReportId; + } + + + public void setAssetReportId(String assetReportId) { + this.assetReportId = assetReportId; + } + + + public AssetReport insights(AccountInsights insights) { + + this.insights = insights; + return this; + } + + /** + * Get insights + * @return insights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountInsights getInsights() { + return insights; + } + + + public void setInsights(AccountInsights insights) { + this.insights = insights; + } + + + public AssetReport clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * An identifier you determine and submit for the Asset Report. + * @return clientReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "An identifier you determine and submit for the Asset Report.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + public AssetReport dateGenerated(OffsetDateTime dateGenerated) { + + this.dateGenerated = dateGenerated; + return this; + } + + /** + * The date and time when the Asset Report was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\"). + * @return dateGenerated + **/ + @ApiModelProperty(required = true, value = "The date and time when the Asset Report was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\").") + + public OffsetDateTime getDateGenerated() { + return dateGenerated; + } + + + public void setDateGenerated(OffsetDateTime dateGenerated) { + this.dateGenerated = dateGenerated; + } + + + public AssetReport daysRequested(Double daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The duration of transaction history you requested + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The duration of transaction history you requested") + + public Double getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Double daysRequested) { + this.daysRequested = daysRequested; + } + + + public AssetReport user(AssetReportUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public AssetReportUser getUser() { + return user; + } + + + public void setUser(AssetReportUser user) { + this.user = user; + } + + + public AssetReport items(List items) { + + this.items = items; + return this; + } + + public AssetReport addItemsItem(AssetReportItem itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * Data returned by Plaid about each of the Items included in the Asset Report. + * @return items + **/ + @ApiModelProperty(required = true, value = "Data returned by Plaid about each of the Items included in the Asset Report.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReport assetReport = (AssetReport) o; + return Objects.equals(this.assetReportId, assetReport.assetReportId) && + Objects.equals(this.insights, assetReport.insights) && + Objects.equals(this.clientReportId, assetReport.clientReportId) && + Objects.equals(this.dateGenerated, assetReport.dateGenerated) && + Objects.equals(this.daysRequested, assetReport.daysRequested) && + Objects.equals(this.user, assetReport.user) && + Objects.equals(this.items, assetReport.items); + } + + @Override + public int hashCode() { + return Objects.hash(assetReportId, insights, clientReportId, dateGenerated, daysRequested, user, items); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReport {\n"); + sb.append(" assetReportId: ").append(toIndentedString(assetReportId)).append("\n"); + sb.append(" insights: ").append(toIndentedString(insights)).append("\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append(" dateGenerated: ").append(toIndentedString(dateGenerated)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportAccountBalance.java b/src/main/java/com/plaid/client/model/AssetReportAccountBalance.java new file mode 100644 index 0000000000..e318e96ee4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportAccountBalance.java @@ -0,0 +1,274 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * A set of fields describing the balance for an account. Balance information may be cached unless the balance object was returned by `/accounts/balance/get`. + */ +@ApiModel(description = "A set of fields describing the balance for an account. Balance information may be cached unless the balance object was returned by `/accounts/balance/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportAccountBalance { + public static final String SERIALIZED_NAME_AVAILABLE = "available"; + @SerializedName(SERIALIZED_NAME_AVAILABLE) + private Double available; + + public static final String SERIALIZED_NAME_CURRENT = "current"; + @SerializedName(SERIALIZED_NAME_CURRENT) + private Double current; + + public static final String SERIALIZED_NAME_LIMIT = "limit"; + @SerializedName(SERIALIZED_NAME_LIMIT) + private Double limit; + + public static final String SERIALIZED_NAME_MARGIN_LOAN_AMOUNT = "margin_loan_amount"; + @SerializedName(SERIALIZED_NAME_MARGIN_LOAN_AMOUNT) + private Double marginLoanAmount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_LAST_UPDATED_DATETIME = "last_updated_datetime"; + @SerializedName(SERIALIZED_NAME_LAST_UPDATED_DATETIME) + private OffsetDateTime lastUpdatedDatetime; + + + public AssetReportAccountBalance available(Double available) { + + this.available = available; + return this; + } + + /** + * The amount of funds available to be withdrawn from the account, as determined by the financial institution. For `credit`-type accounts, the `available` balance typically equals the `limit` less the `current` balance, less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance typically equals the `current` balance less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance does not include the overdraft limit. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the `available` balance is the total cash available to withdraw as presented by the institution. Note that not all institutions calculate the `available` balance. In the event that `available` balance is unavailable, Plaid will return an `available` balance value of `null`. Available balance may be cached and is not guaranteed to be up-to-date in real-time unless the value was returned by `/accounts/balance/get`. If `current` is `null` this field is guaranteed not to be `null`. + * @return available + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The amount of funds available to be withdrawn from the account, as determined by the financial institution. For `credit`-type accounts, the `available` balance typically equals the `limit` less the `current` balance, less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance typically equals the `current` balance less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance does not include the overdraft limit. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the `available` balance is the total cash available to withdraw as presented by the institution. Note that not all institutions calculate the `available` balance. In the event that `available` balance is unavailable, Plaid will return an `available` balance value of `null`. Available balance may be cached and is not guaranteed to be up-to-date in real-time unless the value was returned by `/accounts/balance/get`. If `current` is `null` this field is guaranteed not to be `null`.") + + public Double getAvailable() { + return available; + } + + + public void setAvailable(Double available) { + this.available = available; + } + + + public AssetReportAccountBalance current(Double current) { + + this.current = current; + return this; + } + + /** + * The total amount of funds in or owed by the account. For `credit`-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder. For `loan`-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (`ins_116944`). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the current balance is the total value of assets as presented by the institution. Note that balance information may be cached unless the value was returned by `/accounts/balance/get`; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require real-time balance information, use the `available` balance as provided by `/accounts/balance/get`. When returned by `/accounts/balance/get`, this field may be `null`. When this happens, `available` is guaranteed not to be `null`. + * @return current + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total amount of funds in or owed by the account. For `credit`-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder. For `loan`-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (`ins_116944`). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the current balance is the total value of assets as presented by the institution. Note that balance information may be cached unless the value was returned by `/accounts/balance/get`; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require real-time balance information, use the `available` balance as provided by `/accounts/balance/get`. When returned by `/accounts/balance/get`, this field may be `null`. When this happens, `available` is guaranteed not to be `null`.") + + public Double getCurrent() { + return current; + } + + + public void setCurrent(Double current) { + this.current = current; + } + + + public AssetReportAccountBalance limit(Double limit) { + + this.limit = limit; + return this; + } + + /** + * For `credit`-type accounts, this represents the credit limit. For `depository`-type accounts, this represents the pre-arranged overdraft limit, which is common for current (checking) accounts in Europe. In North America, this field is typically only available for `credit`-type accounts. + * @return limit + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "For `credit`-type accounts, this represents the credit limit. For `depository`-type accounts, this represents the pre-arranged overdraft limit, which is common for current (checking) accounts in Europe. In North America, this field is typically only available for `credit`-type accounts.") + + public Double getLimit() { + return limit; + } + + + public void setLimit(Double limit) { + this.limit = limit; + } + + + public AssetReportAccountBalance marginLoanAmount(Double marginLoanAmount) { + + this.marginLoanAmount = marginLoanAmount; + return this; + } + + /** + * The total amount of borrowed funds in the account, as determined by the financial institution. For investment-type accounts, the margin balance is the total value of borrowed assets in the account, as presented by the institution. This is commonly referred to as margin or a loan. + * @return marginLoanAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total amount of borrowed funds in the account, as determined by the financial institution. For investment-type accounts, the margin balance is the total value of borrowed assets in the account, as presented by the institution. This is commonly referred to as margin or a loan.") + + public Double getMarginLoanAmount() { + return marginLoanAmount; + } + + + public void setMarginLoanAmount(Double marginLoanAmount) { + this.marginLoanAmount = marginLoanAmount; + } + + + public AssetReportAccountBalance isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public AssetReportAccountBalance unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the balance. Always null if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the balance. Always null if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public AssetReportAccountBalance lastUpdatedDatetime(OffsetDateTime lastUpdatedDatetime) { + + this.lastUpdatedDatetime = lastUpdatedDatetime; + return this; + } + + /** + * Timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the oldest acceptable balance when making a request to `/accounts/balance/get`. This field is only used and expected when the institution is `ins_128026` (Capital One) and the Item contains one or more accounts with a non-depository account type, in which case a value must be provided or an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned. For Capital One depository accounts as well as all other account types on all other institutions, this field is ignored. See [account type schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full list of account types. If the balance that is pulled is older than the given timestamp for Items with this field required, an `INVALID_REQUEST` error with the code of `LAST_UPDATED_DATETIME_OUT_OF_RANGE` will be returned with the most recent timestamp for the requested account contained in the response. + * @return lastUpdatedDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the oldest acceptable balance when making a request to `/accounts/balance/get`. This field is only used and expected when the institution is `ins_128026` (Capital One) and the Item contains one or more accounts with a non-depository account type, in which case a value must be provided or an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned. For Capital One depository accounts as well as all other account types on all other institutions, this field is ignored. See [account type schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full list of account types. If the balance that is pulled is older than the given timestamp for Items with this field required, an `INVALID_REQUEST` error with the code of `LAST_UPDATED_DATETIME_OUT_OF_RANGE` will be returned with the most recent timestamp for the requested account contained in the response.") + + public OffsetDateTime getLastUpdatedDatetime() { + return lastUpdatedDatetime; + } + + + public void setLastUpdatedDatetime(OffsetDateTime lastUpdatedDatetime) { + this.lastUpdatedDatetime = lastUpdatedDatetime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportAccountBalance assetReportAccountBalance = (AssetReportAccountBalance) o; + return Objects.equals(this.available, assetReportAccountBalance.available) && + Objects.equals(this.current, assetReportAccountBalance.current) && + Objects.equals(this.limit, assetReportAccountBalance.limit) && + Objects.equals(this.marginLoanAmount, assetReportAccountBalance.marginLoanAmount) && + Objects.equals(this.isoCurrencyCode, assetReportAccountBalance.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, assetReportAccountBalance.unofficialCurrencyCode) && + Objects.equals(this.lastUpdatedDatetime, assetReportAccountBalance.lastUpdatedDatetime); + } + + @Override + public int hashCode() { + return Objects.hash(available, current, limit, marginLoanAmount, isoCurrencyCode, unofficialCurrencyCode, lastUpdatedDatetime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportAccountBalance {\n"); + sb.append(" available: ").append(toIndentedString(available)).append("\n"); + sb.append(" current: ").append(toIndentedString(current)).append("\n"); + sb.append(" limit: ").append(toIndentedString(limit)).append("\n"); + sb.append(" marginLoanAmount: ").append(toIndentedString(marginLoanAmount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" lastUpdatedDatetime: ").append(toIndentedString(lastUpdatedDatetime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportAddOns.java b/src/main/java/com/plaid/client/model/AssetReportAddOns.java new file mode 100644 index 0000000000..501acfb287 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportAddOns.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Add-ons that should be included in the Asset Report. `investments`: The Investments add-on `fast_assets`: The Fast Assets add-on + */ +@JsonAdapter(AssetReportAddOns.Adapter.class) +public enum AssetReportAddOns { + + INVESTMENTS("investments"), + + FAST_ASSETS("fast_assets"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AssetReportAddOns(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssetReportAddOns fromValue(String value) { + for (AssetReportAddOns b : AssetReportAddOns.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return AssetReportAddOns.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AssetReportAddOns enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssetReportAddOns read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AssetReportAddOns.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportAuditCopyCreateRequest.java b/src/main/java/com/plaid/client/model/AssetReportAuditCopyCreateRequest.java new file mode 100644 index 0000000000..a6cbd72ab2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportAuditCopyCreateRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportAuditCopyCreateRequest defines the request schema for `/asset_report/audit_copy/create` + */ +@ApiModel(description = "AssetReportAuditCopyCreateRequest defines the request schema for `/asset_report/audit_copy/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportAuditCopyCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ASSET_REPORT_TOKEN = "asset_report_token"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_TOKEN) + private String assetReportToken; + + public static final String SERIALIZED_NAME_AUDITOR_ID = "auditor_id"; + @SerializedName(SERIALIZED_NAME_AUDITOR_ID) + private String auditorId; + + + public AssetReportAuditCopyCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AssetReportAuditCopyCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AssetReportAuditCopyCreateRequest assetReportToken(String assetReportToken) { + + this.assetReportToken = assetReportToken; + return this; + } + + /** + * A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report. + * @return assetReportToken + **/ + @ApiModelProperty(required = true, value = "A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report.") + + public String getAssetReportToken() { + return assetReportToken; + } + + + public void setAssetReportToken(String assetReportToken) { + this.assetReportToken = assetReportToken; + } + + + public AssetReportAuditCopyCreateRequest auditorId(String auditorId) { + + this.auditorId = auditorId; + return this; + } + + /** + * The `auditor_id` of the third party with whom you would like to share the Asset Report. + * @return auditorId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `auditor_id` of the third party with whom you would like to share the Asset Report.") + + public String getAuditorId() { + return auditorId; + } + + + public void setAuditorId(String auditorId) { + this.auditorId = auditorId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportAuditCopyCreateRequest assetReportAuditCopyCreateRequest = (AssetReportAuditCopyCreateRequest) o; + return Objects.equals(this.clientId, assetReportAuditCopyCreateRequest.clientId) && + Objects.equals(this.secret, assetReportAuditCopyCreateRequest.secret) && + Objects.equals(this.assetReportToken, assetReportAuditCopyCreateRequest.assetReportToken) && + Objects.equals(this.auditorId, assetReportAuditCopyCreateRequest.auditorId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, assetReportToken, auditorId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportAuditCopyCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" assetReportToken: ").append(toIndentedString(assetReportToken)).append("\n"); + sb.append(" auditorId: ").append(toIndentedString(auditorId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportAuditCopyCreateResponse.java b/src/main/java/com/plaid/client/model/AssetReportAuditCopyCreateResponse.java new file mode 100644 index 0000000000..a0c6e4e750 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportAuditCopyCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportAuditCopyCreateResponse defines the response schema for `/asset_report/audit_copy/create` + */ +@ApiModel(description = "AssetReportAuditCopyCreateResponse defines the response schema for `/asset_report/audit_copy/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportAuditCopyCreateResponse { + public static final String SERIALIZED_NAME_AUDIT_COPY_TOKEN = "audit_copy_token"; + @SerializedName(SERIALIZED_NAME_AUDIT_COPY_TOKEN) + private String auditCopyToken; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public AssetReportAuditCopyCreateResponse auditCopyToken(String auditCopyToken) { + + this.auditCopyToken = auditCopyToken; + return this; + } + + /** + * A token that can be shared with a third party auditor to allow them to obtain access to the Asset Report. This token should be stored securely. + * @return auditCopyToken + **/ + @ApiModelProperty(required = true, value = "A token that can be shared with a third party auditor to allow them to obtain access to the Asset Report. This token should be stored securely.") + + public String getAuditCopyToken() { + return auditCopyToken; + } + + + public void setAuditCopyToken(String auditCopyToken) { + this.auditCopyToken = auditCopyToken; + } + + + public AssetReportAuditCopyCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportAuditCopyCreateResponse assetReportAuditCopyCreateResponse = (AssetReportAuditCopyCreateResponse) o; + return Objects.equals(this.auditCopyToken, assetReportAuditCopyCreateResponse.auditCopyToken) && + Objects.equals(this.requestId, assetReportAuditCopyCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(auditCopyToken, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportAuditCopyCreateResponse {\n"); + sb.append(" auditCopyToken: ").append(toIndentedString(auditCopyToken)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportAuditCopyGetRequest.java b/src/main/java/com/plaid/client/model/AssetReportAuditCopyGetRequest.java new file mode 100644 index 0000000000..b0a80a7e00 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportAuditCopyGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportAuditCopyGetRequest defines the request schema for `/asset_report/audit_copy/get` + */ +@ApiModel(description = "AssetReportAuditCopyGetRequest defines the request schema for `/asset_report/audit_copy/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportAuditCopyGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_AUDIT_COPY_TOKEN = "audit_copy_token"; + @SerializedName(SERIALIZED_NAME_AUDIT_COPY_TOKEN) + private String auditCopyToken; + + + public AssetReportAuditCopyGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AssetReportAuditCopyGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AssetReportAuditCopyGetRequest auditCopyToken(String auditCopyToken) { + + this.auditCopyToken = auditCopyToken; + return this; + } + + /** + * The `audit_copy_token` granting access to the Audit Copy you would like to get. + * @return auditCopyToken + **/ + @ApiModelProperty(required = true, value = "The `audit_copy_token` granting access to the Audit Copy you would like to get.") + + public String getAuditCopyToken() { + return auditCopyToken; + } + + + public void setAuditCopyToken(String auditCopyToken) { + this.auditCopyToken = auditCopyToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportAuditCopyGetRequest assetReportAuditCopyGetRequest = (AssetReportAuditCopyGetRequest) o; + return Objects.equals(this.clientId, assetReportAuditCopyGetRequest.clientId) && + Objects.equals(this.secret, assetReportAuditCopyGetRequest.secret) && + Objects.equals(this.auditCopyToken, assetReportAuditCopyGetRequest.auditCopyToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, auditCopyToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportAuditCopyGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" auditCopyToken: ").append(toIndentedString(auditCopyToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportAuditCopyPdfGetRequest.java b/src/main/java/com/plaid/client/model/AssetReportAuditCopyPdfGetRequest.java new file mode 100644 index 0000000000..6a364b3894 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportAuditCopyPdfGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetReportPDFGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportAuditCopyPDFGetRequest defines the request schema for `/asset_report/audit_copy/pdf/get` + */ +@ApiModel(description = "AssetReportAuditCopyPDFGetRequest defines the request schema for `/asset_report/audit_copy/pdf/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportAuditCopyPdfGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_AUDIT_COPY_TOKEN = "audit_copy_token"; + @SerializedName(SERIALIZED_NAME_AUDIT_COPY_TOKEN) + private String auditCopyToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private AssetReportPDFGetRequestOptions options; + + + public AssetReportAuditCopyPdfGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AssetReportAuditCopyPdfGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AssetReportAuditCopyPdfGetRequest auditCopyToken(String auditCopyToken) { + + this.auditCopyToken = auditCopyToken; + return this; + } + + /** + * The `audit_copy_token` granting access to the Audit Copy you would like to get as a PDF. + * @return auditCopyToken + **/ + @ApiModelProperty(required = true, value = "The `audit_copy_token` granting access to the Audit Copy you would like to get as a PDF.") + + public String getAuditCopyToken() { + return auditCopyToken; + } + + + public void setAuditCopyToken(String auditCopyToken) { + this.auditCopyToken = auditCopyToken; + } + + + public AssetReportAuditCopyPdfGetRequest options(AssetReportPDFGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AssetReportPDFGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(AssetReportPDFGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportAuditCopyPdfGetRequest assetReportAuditCopyPdfGetRequest = (AssetReportAuditCopyPdfGetRequest) o; + return Objects.equals(this.clientId, assetReportAuditCopyPdfGetRequest.clientId) && + Objects.equals(this.secret, assetReportAuditCopyPdfGetRequest.secret) && + Objects.equals(this.auditCopyToken, assetReportAuditCopyPdfGetRequest.auditCopyToken) && + Objects.equals(this.options, assetReportAuditCopyPdfGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, auditCopyToken, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportAuditCopyPdfGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" auditCopyToken: ").append(toIndentedString(auditCopyToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportAuditCopyRemoveRequest.java b/src/main/java/com/plaid/client/model/AssetReportAuditCopyRemoveRequest.java new file mode 100644 index 0000000000..c319a9b3b2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportAuditCopyRemoveRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportAuditCopyRemoveRequest defines the request schema for `/asset_report/audit_copy/remove` + */ +@ApiModel(description = "AssetReportAuditCopyRemoveRequest defines the request schema for `/asset_report/audit_copy/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportAuditCopyRemoveRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_AUDIT_COPY_TOKEN = "audit_copy_token"; + @SerializedName(SERIALIZED_NAME_AUDIT_COPY_TOKEN) + private String auditCopyToken; + + + public AssetReportAuditCopyRemoveRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AssetReportAuditCopyRemoveRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AssetReportAuditCopyRemoveRequest auditCopyToken(String auditCopyToken) { + + this.auditCopyToken = auditCopyToken; + return this; + } + + /** + * The `audit_copy_token` granting access to the Audit Copy you would like to revoke. + * @return auditCopyToken + **/ + @ApiModelProperty(required = true, value = "The `audit_copy_token` granting access to the Audit Copy you would like to revoke.") + + public String getAuditCopyToken() { + return auditCopyToken; + } + + + public void setAuditCopyToken(String auditCopyToken) { + this.auditCopyToken = auditCopyToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportAuditCopyRemoveRequest assetReportAuditCopyRemoveRequest = (AssetReportAuditCopyRemoveRequest) o; + return Objects.equals(this.clientId, assetReportAuditCopyRemoveRequest.clientId) && + Objects.equals(this.secret, assetReportAuditCopyRemoveRequest.secret) && + Objects.equals(this.auditCopyToken, assetReportAuditCopyRemoveRequest.auditCopyToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, auditCopyToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportAuditCopyRemoveRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" auditCopyToken: ").append(toIndentedString(auditCopyToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportAuditCopyRemoveResponse.java b/src/main/java/com/plaid/client/model/AssetReportAuditCopyRemoveResponse.java new file mode 100644 index 0000000000..3a7c7ba227 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportAuditCopyRemoveResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportAuditCopyRemoveResponse defines the response schema for `/asset_report/audit_copy/remove` + */ +@ApiModel(description = "AssetReportAuditCopyRemoveResponse defines the response schema for `/asset_report/audit_copy/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportAuditCopyRemoveResponse { + public static final String SERIALIZED_NAME_REMOVED = "removed"; + @SerializedName(SERIALIZED_NAME_REMOVED) + private Boolean removed; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public AssetReportAuditCopyRemoveResponse removed(Boolean removed) { + + this.removed = removed; + return this; + } + + /** + * `true` if the Audit Copy was successfully removed. + * @return removed + **/ + @ApiModelProperty(required = true, value = "`true` if the Audit Copy was successfully removed.") + + public Boolean getRemoved() { + return removed; + } + + + public void setRemoved(Boolean removed) { + this.removed = removed; + } + + + public AssetReportAuditCopyRemoveResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportAuditCopyRemoveResponse assetReportAuditCopyRemoveResponse = (AssetReportAuditCopyRemoveResponse) o; + return Objects.equals(this.removed, assetReportAuditCopyRemoveResponse.removed) && + Objects.equals(this.requestId, assetReportAuditCopyRemoveResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(removed, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportAuditCopyRemoveResponse {\n"); + sb.append(" removed: ").append(toIndentedString(removed)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportCreateRequest.java b/src/main/java/com/plaid/client/model/AssetReportCreateRequest.java new file mode 100644 index 0000000000..1605b3cebf --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportCreateRequest.java @@ -0,0 +1,227 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetReportCreateRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * AssetReportCreateRequest defines the request schema for `/asset_report/create` + */ +@ApiModel(description = "AssetReportCreateRequest defines the request schema for `/asset_report/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKENS = "access_tokens"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKENS) + private List accessTokens = null; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private AssetReportCreateRequestOptions options; + + + public AssetReportCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AssetReportCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AssetReportCreateRequest accessTokens(List accessTokens) { + + this.accessTokens = accessTokens; + return this; + } + + public AssetReportCreateRequest addAccessTokensItem(String accessTokensItem) { + if (this.accessTokens == null) { + this.accessTokens = new ArrayList<>(); + } + this.accessTokens.add(accessTokensItem); + return this; + } + + /** + * An array of access tokens corresponding to the Items that will be included in the report. The `assets` product must have been initialized for the Items during Link; the Assets product cannot be added after initialization. + * @return accessTokens + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of access tokens corresponding to the Items that will be included in the report. The `assets` product must have been initialized for the Items during Link; the Assets product cannot be added after initialization.") + + public List getAccessTokens() { + return accessTokens; + } + + + public void setAccessTokens(List accessTokens) { + this.accessTokens = accessTokens; + } + + + public AssetReportCreateRequest daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The maximum integer number of days of history to include in the Asset Report. If using Fannie Mae Day 1 Certainty, `days_requested` must be at least 61 for new originations or at least 31 for refinancings. An Asset Report requested with \"Additional History\" (that is, with more than 61 days of transaction history) will incur an Additional History fee. + * minimum: 0 + * maximum: 731 + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The maximum integer number of days of history to include in the Asset Report. If using Fannie Mae Day 1 Certainty, `days_requested` must be at least 61 for new originations or at least 31 for refinancings. An Asset Report requested with \"Additional History\" (that is, with more than 61 days of transaction history) will incur an Additional History fee.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + public AssetReportCreateRequest options(AssetReportCreateRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AssetReportCreateRequestOptions getOptions() { + return options; + } + + + public void setOptions(AssetReportCreateRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportCreateRequest assetReportCreateRequest = (AssetReportCreateRequest) o; + return Objects.equals(this.clientId, assetReportCreateRequest.clientId) && + Objects.equals(this.secret, assetReportCreateRequest.secret) && + Objects.equals(this.accessTokens, assetReportCreateRequest.accessTokens) && + Objects.equals(this.daysRequested, assetReportCreateRequest.daysRequested) && + Objects.equals(this.options, assetReportCreateRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessTokens, daysRequested, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessTokens: ").append(toIndentedString(accessTokens)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportCreateRequestOptions.java b/src/main/java/com/plaid/client/model/AssetReportCreateRequestOptions.java new file mode 100644 index 0000000000..5782165e15 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportCreateRequestOptions.java @@ -0,0 +1,293 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetReportAddOns; +import com.plaid.client.model.AssetReportUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to filter `/asset_report/create` results. If provided, must be non-`null`. The optional `user` object is required for the report to be eligible for Fannie Mae's Day 1 Certainty program. + */ +@ApiModel(description = "An optional object to filter `/asset_report/create` results. If provided, must be non-`null`. The optional `user` object is required for the report to be eligible for Fannie Mae's Day 1 Certainty program.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportCreateRequestOptions { + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + public static final String SERIALIZED_NAME_INCLUDE_FAST_REPORT = "include_fast_report"; + @SerializedName(SERIALIZED_NAME_INCLUDE_FAST_REPORT) + private Boolean includeFastReport; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = null; + + public static final String SERIALIZED_NAME_ADD_ONS = "add_ons"; + @SerializedName(SERIALIZED_NAME_ADD_ONS) + private List addOns = null; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private AssetReportUser user; + + public static final String SERIALIZED_NAME_REQUIRE_ALL_ITEMS = "require_all_items"; + @SerializedName(SERIALIZED_NAME_REQUIRE_ALL_ITEMS) + private Boolean requireAllItems = true; + + + public AssetReportCreateRequestOptions clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * Client-generated identifier, which can be used by lenders to track loan applications. + * @return clientReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client-generated identifier, which can be used by lenders to track loan applications.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + public AssetReportCreateRequestOptions webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * URL to which Plaid will send Assets webhooks, for example when the requested Asset Report is ready. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URL to which Plaid will send Assets webhooks, for example when the requested Asset Report is ready.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + public AssetReportCreateRequestOptions includeFastReport(Boolean includeFastReport) { + + this.includeFastReport = includeFastReport; + return this; + } + + /** + * true to return balance and identity earlier as a fast report. Defaults to false if omitted. + * @return includeFastReport + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "true to return balance and identity earlier as a fast report. Defaults to false if omitted.") + + public Boolean getIncludeFastReport() { + return includeFastReport; + } + + + public void setIncludeFastReport(Boolean includeFastReport) { + this.includeFastReport = includeFastReport; + } + + + public AssetReportCreateRequestOptions products(List products) { + + this.products = products; + return this; + } + + public AssetReportCreateRequestOptions addProductsItem(String productsItem) { + if (this.products == null) { + this.products = new ArrayList<>(); + } + this.products.add(productsItem); + return this; + } + + /** + * Additional information that can be included in the asset report. Possible values: `\"investments\"` + * @return products + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Additional information that can be included in the asset report. Possible values: `\"investments\"`") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + public AssetReportCreateRequestOptions addOns(List addOns) { + + this.addOns = addOns; + return this; + } + + public AssetReportCreateRequestOptions addAddOnsItem(AssetReportAddOns addOnsItem) { + if (this.addOns == null) { + this.addOns = new ArrayList<>(); + } + this.addOns.add(addOnsItem); + return this; + } + + /** + * A list of add-ons that should be included in the Asset Report. When Fast Assets is requested, Plaid will create two versions of the Asset Report: the Fast Asset Report, which will contain only Identity and Balance information, and the Full Asset Report, which will also contain Transactions information. A `PRODUCT_READY` webhook will be fired for each Asset Report when it is ready, and the `report_type` field will indicate whether the webhook is firing for the `FULL` or `FAST` Asset Report. To retrieve the Fast Asset Report, call `/asset_report/get` with `fast_report` set to `true`. There is no additional charge for using Fast Assets. To create a Fast Asset Report, Plaid must successfully retrieve both Identity and Balance data; if Plaid encounters an error obtaining this data, the Fast Asset Report will not be created. However, as long as Plaid can obtain Transactions data, the Full Asset Report will still be available. When Investments is requested, `investments` must be specified in the `optional_products` array when initializing Link. + * @return addOns + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of add-ons that should be included in the Asset Report. When Fast Assets is requested, Plaid will create two versions of the Asset Report: the Fast Asset Report, which will contain only Identity and Balance information, and the Full Asset Report, which will also contain Transactions information. A `PRODUCT_READY` webhook will be fired for each Asset Report when it is ready, and the `report_type` field will indicate whether the webhook is firing for the `FULL` or `FAST` Asset Report. To retrieve the Fast Asset Report, call `/asset_report/get` with `fast_report` set to `true`. There is no additional charge for using Fast Assets. To create a Fast Asset Report, Plaid must successfully retrieve both Identity and Balance data; if Plaid encounters an error obtaining this data, the Fast Asset Report will not be created. However, as long as Plaid can obtain Transactions data, the Full Asset Report will still be available. When Investments is requested, `investments` must be specified in the `optional_products` array when initializing Link.") + + public List getAddOns() { + return addOns; + } + + + public void setAddOns(List addOns) { + this.addOns = addOns; + } + + + public AssetReportCreateRequestOptions user(AssetReportUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AssetReportUser getUser() { + return user; + } + + + public void setUser(AssetReportUser user) { + this.user = user; + } + + + public AssetReportCreateRequestOptions requireAllItems(Boolean requireAllItems) { + + this.requireAllItems = requireAllItems; + return this; + } + + /** + * By default (`true`), the asynchronous report generation fails unless all Items extract successfully. If set to `false`, the report will still be generated as long as at least one Item extracts successfully; extraction failures on the remaining Items are tolerated. This setting applies only to failures that occur during asynchronous extraction. It does not relax the synchronous check at call time: if any Item is already unhealthy when `/asset_report/create` is invoked, the request fails immediately regardless of this value. + * @return requireAllItems + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "By default (`true`), the asynchronous report generation fails unless all Items extract successfully. If set to `false`, the report will still be generated as long as at least one Item extracts successfully; extraction failures on the remaining Items are tolerated. This setting applies only to failures that occur during asynchronous extraction. It does not relax the synchronous check at call time: if any Item is already unhealthy when `/asset_report/create` is invoked, the request fails immediately regardless of this value.") + + public Boolean getRequireAllItems() { + return requireAllItems; + } + + + public void setRequireAllItems(Boolean requireAllItems) { + this.requireAllItems = requireAllItems; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportCreateRequestOptions assetReportCreateRequestOptions = (AssetReportCreateRequestOptions) o; + return Objects.equals(this.clientReportId, assetReportCreateRequestOptions.clientReportId) && + Objects.equals(this.webhook, assetReportCreateRequestOptions.webhook) && + Objects.equals(this.includeFastReport, assetReportCreateRequestOptions.includeFastReport) && + Objects.equals(this.products, assetReportCreateRequestOptions.products) && + Objects.equals(this.addOns, assetReportCreateRequestOptions.addOns) && + Objects.equals(this.user, assetReportCreateRequestOptions.user) && + Objects.equals(this.requireAllItems, assetReportCreateRequestOptions.requireAllItems); + } + + @Override + public int hashCode() { + return Objects.hash(clientReportId, webhook, includeFastReport, products, addOns, user, requireAllItems); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportCreateRequestOptions {\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append(" includeFastReport: ").append(toIndentedString(includeFastReport)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append(" addOns: ").append(toIndentedString(addOns)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" requireAllItems: ").append(toIndentedString(requireAllItems)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportCreateResponse.java b/src/main/java/com/plaid/client/model/AssetReportCreateResponse.java new file mode 100644 index 0000000000..282b5ac96f --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportCreateResponse.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportCreateResponse defines the response schema for `/asset_report/create` + */ +@ApiModel(description = "AssetReportCreateResponse defines the response schema for `/asset_report/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportCreateResponse { + public static final String SERIALIZED_NAME_ASSET_REPORT_TOKEN = "asset_report_token"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_TOKEN) + private String assetReportToken; + + public static final String SERIALIZED_NAME_ASSET_REPORT_ID = "asset_report_id"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_ID) + private String assetReportId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public AssetReportCreateResponse assetReportToken(String assetReportToken) { + + this.assetReportToken = assetReportToken; + return this; + } + + /** + * A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report. + * @return assetReportToken + **/ + @ApiModelProperty(required = true, value = "A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report.") + + public String getAssetReportToken() { + return assetReportToken; + } + + + public void setAssetReportToken(String assetReportToken) { + this.assetReportToken = assetReportToken; + } + + + public AssetReportCreateResponse assetReportId(String assetReportId) { + + this.assetReportId = assetReportId; + return this; + } + + /** + * A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive. + * @return assetReportId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive.") + + public String getAssetReportId() { + return assetReportId; + } + + + public void setAssetReportId(String assetReportId) { + this.assetReportId = assetReportId; + } + + + public AssetReportCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportCreateResponse assetReportCreateResponse = (AssetReportCreateResponse) o; + return Objects.equals(this.assetReportToken, assetReportCreateResponse.assetReportToken) && + Objects.equals(this.assetReportId, assetReportCreateResponse.assetReportId) && + Objects.equals(this.requestId, assetReportCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(assetReportToken, assetReportId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportCreateResponse {\n"); + sb.append(" assetReportToken: ").append(toIndentedString(assetReportToken)).append("\n"); + sb.append(" assetReportId: ").append(toIndentedString(assetReportId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportFilterRequest.java b/src/main/java/com/plaid/client/model/AssetReportFilterRequest.java new file mode 100644 index 0000000000..476442d7de --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportFilterRequest.java @@ -0,0 +1,191 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * AssetReportFilterRequest defines the request schema for `/asset_report/filter` + */ +@ApiModel(description = "AssetReportFilterRequest defines the request schema for `/asset_report/filter`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportFilterRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ASSET_REPORT_TOKEN = "asset_report_token"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_TOKEN) + private String assetReportToken; + + public static final String SERIALIZED_NAME_ACCOUNT_IDS_TO_EXCLUDE = "account_ids_to_exclude"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS_TO_EXCLUDE) + private List accountIdsToExclude = new ArrayList<>(); + + + public AssetReportFilterRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AssetReportFilterRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AssetReportFilterRequest assetReportToken(String assetReportToken) { + + this.assetReportToken = assetReportToken; + return this; + } + + /** + * A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report. + * @return assetReportToken + **/ + @ApiModelProperty(required = true, value = "A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report.") + + public String getAssetReportToken() { + return assetReportToken; + } + + + public void setAssetReportToken(String assetReportToken) { + this.assetReportToken = assetReportToken; + } + + + public AssetReportFilterRequest accountIdsToExclude(List accountIdsToExclude) { + + this.accountIdsToExclude = accountIdsToExclude; + return this; + } + + public AssetReportFilterRequest addAccountIdsToExcludeItem(String accountIdsToExcludeItem) { + this.accountIdsToExclude.add(accountIdsToExcludeItem); + return this; + } + + /** + * The accounts to exclude from the Asset Report, identified by `account_id`. + * @return accountIdsToExclude + **/ + @ApiModelProperty(required = true, value = "The accounts to exclude from the Asset Report, identified by `account_id`.") + + public List getAccountIdsToExclude() { + return accountIdsToExclude; + } + + + public void setAccountIdsToExclude(List accountIdsToExclude) { + this.accountIdsToExclude = accountIdsToExclude; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportFilterRequest assetReportFilterRequest = (AssetReportFilterRequest) o; + return Objects.equals(this.clientId, assetReportFilterRequest.clientId) && + Objects.equals(this.secret, assetReportFilterRequest.secret) && + Objects.equals(this.assetReportToken, assetReportFilterRequest.assetReportToken) && + Objects.equals(this.accountIdsToExclude, assetReportFilterRequest.accountIdsToExclude); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, assetReportToken, accountIdsToExclude); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportFilterRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" assetReportToken: ").append(toIndentedString(assetReportToken)).append("\n"); + sb.append(" accountIdsToExclude: ").append(toIndentedString(accountIdsToExclude)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportFilterResponse.java b/src/main/java/com/plaid/client/model/AssetReportFilterResponse.java new file mode 100644 index 0000000000..b1634d0fbb --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportFilterResponse.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportFilterResponse defines the response schema for `/asset_report/filter` + */ +@ApiModel(description = "AssetReportFilterResponse defines the response schema for `/asset_report/filter`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportFilterResponse { + public static final String SERIALIZED_NAME_ASSET_REPORT_TOKEN = "asset_report_token"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_TOKEN) + private String assetReportToken; + + public static final String SERIALIZED_NAME_ASSET_REPORT_ID = "asset_report_id"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_ID) + private String assetReportId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public AssetReportFilterResponse assetReportToken(String assetReportToken) { + + this.assetReportToken = assetReportToken; + return this; + } + + /** + * A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report. + * @return assetReportToken + **/ + @ApiModelProperty(required = true, value = "A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report.") + + public String getAssetReportToken() { + return assetReportToken; + } + + + public void setAssetReportToken(String assetReportToken) { + this.assetReportToken = assetReportToken; + } + + + public AssetReportFilterResponse assetReportId(String assetReportId) { + + this.assetReportId = assetReportId; + return this; + } + + /** + * A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive. + * @return assetReportId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive.") + + public String getAssetReportId() { + return assetReportId; + } + + + public void setAssetReportId(String assetReportId) { + this.assetReportId = assetReportId; + } + + + public AssetReportFilterResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportFilterResponse assetReportFilterResponse = (AssetReportFilterResponse) o; + return Objects.equals(this.assetReportToken, assetReportFilterResponse.assetReportToken) && + Objects.equals(this.assetReportId, assetReportFilterResponse.assetReportId) && + Objects.equals(this.requestId, assetReportFilterResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(assetReportToken, assetReportId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportFilterResponse {\n"); + sb.append(" assetReportToken: ").append(toIndentedString(assetReportToken)).append("\n"); + sb.append(" assetReportId: ").append(toIndentedString(assetReportId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportFreddie.java b/src/main/java/com/plaid/client/model/AssetReportFreddie.java new file mode 100644 index 0000000000..8fe465de8b --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportFreddie.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Loans; +import com.plaid.client.model.Parties; +import com.plaid.client.model.Services; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing an Asset Report with Freddie Mac schema. + */ +@ApiModel(description = "An object representing an Asset Report with Freddie Mac schema.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportFreddie { + public static final String SERIALIZED_NAME_L_O_A_N_S = "LOANS"; + @SerializedName(SERIALIZED_NAME_L_O_A_N_S) + private Loans LOANS; + + public static final String SERIALIZED_NAME_P_A_R_T_I_E_S = "PARTIES"; + @SerializedName(SERIALIZED_NAME_P_A_R_T_I_E_S) + private Parties PARTIES; + + public static final String SERIALIZED_NAME_S_E_R_V_I_C_E_S = "SERVICES"; + @SerializedName(SERIALIZED_NAME_S_E_R_V_I_C_E_S) + private Services SERVICES; + + + public AssetReportFreddie LOANS(Loans LOANS) { + + this.LOANS = LOANS; + return this; + } + + /** + * Get LOANS + * @return LOANS + **/ + @ApiModelProperty(required = true, value = "") + + public Loans getLOANS() { + return LOANS; + } + + + public void setLOANS(Loans LOANS) { + this.LOANS = LOANS; + } + + + public AssetReportFreddie PARTIES(Parties PARTIES) { + + this.PARTIES = PARTIES; + return this; + } + + /** + * Get PARTIES + * @return PARTIES + **/ + @ApiModelProperty(required = true, value = "") + + public Parties getPARTIES() { + return PARTIES; + } + + + public void setPARTIES(Parties PARTIES) { + this.PARTIES = PARTIES; + } + + + public AssetReportFreddie SERVICES(Services SERVICES) { + + this.SERVICES = SERVICES; + return this; + } + + /** + * Get SERVICES + * @return SERVICES + **/ + @ApiModelProperty(required = true, value = "") + + public Services getSERVICES() { + return SERVICES; + } + + + public void setSERVICES(Services SERVICES) { + this.SERVICES = SERVICES; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportFreddie assetReportFreddie = (AssetReportFreddie) o; + return Objects.equals(this.LOANS, assetReportFreddie.LOANS) && + Objects.equals(this.PARTIES, assetReportFreddie.PARTIES) && + Objects.equals(this.SERVICES, assetReportFreddie.SERVICES); + } + + @Override + public int hashCode() { + return Objects.hash(LOANS, PARTIES, SERVICES); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportFreddie {\n"); + sb.append(" LOANS: ").append(toIndentedString(LOANS)).append("\n"); + sb.append(" PARTIES: ").append(toIndentedString(PARTIES)).append("\n"); + sb.append(" SERVICES: ").append(toIndentedString(SERVICES)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportFreddieGetRequest.java b/src/main/java/com/plaid/client/model/AssetReportFreddieGetRequest.java new file mode 100644 index 0000000000..d27913cc91 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportFreddieGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportFreddieGetRequest defines the request schema for `/credit/asset_report/freddie_mac/get` + */ +@ApiModel(description = "AssetReportFreddieGetRequest defines the request schema for `/credit/asset_report/freddie_mac/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportFreddieGetRequest { + public static final String SERIALIZED_NAME_AUDIT_COPY_TOKEN = "audit_copy_token"; + @SerializedName(SERIALIZED_NAME_AUDIT_COPY_TOKEN) + private String auditCopyToken; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public AssetReportFreddieGetRequest auditCopyToken(String auditCopyToken) { + + this.auditCopyToken = auditCopyToken; + return this; + } + + /** + * A token that can be shared with a third party auditor to allow them to obtain access to the Asset Report. This token should be stored securely. + * @return auditCopyToken + **/ + @ApiModelProperty(required = true, value = "A token that can be shared with a third party auditor to allow them to obtain access to the Asset Report. This token should be stored securely.") + + public String getAuditCopyToken() { + return auditCopyToken; + } + + + public void setAuditCopyToken(String auditCopyToken) { + this.auditCopyToken = auditCopyToken; + } + + + public AssetReportFreddieGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AssetReportFreddieGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportFreddieGetRequest assetReportFreddieGetRequest = (AssetReportFreddieGetRequest) o; + return Objects.equals(this.auditCopyToken, assetReportFreddieGetRequest.auditCopyToken) && + Objects.equals(this.clientId, assetReportFreddieGetRequest.clientId) && + Objects.equals(this.secret, assetReportFreddieGetRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(auditCopyToken, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportFreddieGetRequest {\n"); + sb.append(" auditCopyToken: ").append(toIndentedString(auditCopyToken)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportFreddieGetResponse.java b/src/main/java/com/plaid/client/model/AssetReportFreddieGetResponse.java new file mode 100644 index 0000000000..3aef450666 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportFreddieGetResponse.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetReportFreddie; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * AssetReportFreddieGetResponse defines the response schema for `/credit/asset_report/freddie_mac/get` + */ +@ApiModel(description = "AssetReportFreddieGetResponse defines the response schema for `/credit/asset_report/freddie_mac/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportFreddieGetResponse { + public static final String SERIALIZED_NAME_D_E_A_L = "DEAL"; + @SerializedName(SERIALIZED_NAME_D_E_A_L) + private AssetReportFreddie DEAL; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_SCHEMA_VERSION = "SchemaVersion"; + @SerializedName(SERIALIZED_NAME_SCHEMA_VERSION) + private Double schemaVersion; + + + public AssetReportFreddieGetResponse DEAL(AssetReportFreddie DEAL) { + + this.DEAL = DEAL; + return this; + } + + /** + * Get DEAL + * @return DEAL + **/ + @ApiModelProperty(required = true, value = "") + + public AssetReportFreddie getDEAL() { + return DEAL; + } + + + public void setDEAL(AssetReportFreddie DEAL) { + this.DEAL = DEAL; + } + + + public AssetReportFreddieGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public AssetReportFreddieGetResponse schemaVersion(Double schemaVersion) { + + this.schemaVersion = schemaVersion; + return this; + } + + /** + * The Verification Of Assets (aka VOA or Freddie Mac Schema) schema version. + * @return schemaVersion + **/ + @ApiModelProperty(required = true, value = "The Verification Of Assets (aka VOA or Freddie Mac Schema) schema version.") + + public Double getSchemaVersion() { + return schemaVersion; + } + + + public void setSchemaVersion(Double schemaVersion) { + this.schemaVersion = schemaVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportFreddieGetResponse assetReportFreddieGetResponse = (AssetReportFreddieGetResponse) o; + return Objects.equals(this.DEAL, assetReportFreddieGetResponse.DEAL) && + Objects.equals(this.requestId, assetReportFreddieGetResponse.requestId) && + Objects.equals(this.schemaVersion, assetReportFreddieGetResponse.schemaVersion); + } + + @Override + public int hashCode() { + return Objects.hash(DEAL, requestId, schemaVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportFreddieGetResponse {\n"); + sb.append(" DEAL: ").append(toIndentedString(DEAL)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" schemaVersion: ").append(toIndentedString(schemaVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportGetRequest.java b/src/main/java/com/plaid/client/model/AssetReportGetRequest.java new file mode 100644 index 0000000000..6eb9d25481 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportGetRequest.java @@ -0,0 +1,274 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetReportGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportGetRequest defines the request schema for `/asset_report/get` + */ +@ApiModel(description = "AssetReportGetRequest defines the request schema for `/asset_report/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ASSET_REPORT_TOKEN = "asset_report_token"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_TOKEN) + private String assetReportToken; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_INCLUDE_INSIGHTS = "include_insights"; + @SerializedName(SERIALIZED_NAME_INCLUDE_INSIGHTS) + private Boolean includeInsights = false; + + public static final String SERIALIZED_NAME_FAST_REPORT = "fast_report"; + @SerializedName(SERIALIZED_NAME_FAST_REPORT) + private Boolean fastReport = false; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private AssetReportGetRequestOptions options; + + + public AssetReportGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AssetReportGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AssetReportGetRequest assetReportToken(String assetReportToken) { + + this.assetReportToken = assetReportToken; + return this; + } + + /** + * A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report. + * @return assetReportToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report.") + + public String getAssetReportToken() { + return assetReportToken; + } + + + public void setAssetReportToken(String assetReportToken) { + this.assetReportToken = assetReportToken; + } + + + public AssetReportGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the User for which to create an asset report for. The latest asset report associated with the User will be returned + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the User for which to create an asset report for. The latest asset report associated with the User will be returned") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public AssetReportGetRequest includeInsights(Boolean includeInsights) { + + this.includeInsights = includeInsights; + return this; + } + + /** + * `true` if you would like to retrieve the Asset Report with Insights, `false` otherwise. This field defaults to `false` if omitted. + * @return includeInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "`true` if you would like to retrieve the Asset Report with Insights, `false` otherwise. This field defaults to `false` if omitted.") + + public Boolean getIncludeInsights() { + return includeInsights; + } + + + public void setIncludeInsights(Boolean includeInsights) { + this.includeInsights = includeInsights; + } + + + public AssetReportGetRequest fastReport(Boolean fastReport) { + + this.fastReport = fastReport; + return this; + } + + /** + * `true` to fetch \"fast\" version of asset report. Defaults to false if omitted. Can only be used if `/asset_report/create` was called with `options.add_ons` set to `[\"fast_assets\"]`. + * @return fastReport + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "`true` to fetch \"fast\" version of asset report. Defaults to false if omitted. Can only be used if `/asset_report/create` was called with `options.add_ons` set to `[\"fast_assets\"]`.") + + public Boolean getFastReport() { + return fastReport; + } + + + public void setFastReport(Boolean fastReport) { + this.fastReport = fastReport; + } + + + public AssetReportGetRequest options(AssetReportGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AssetReportGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(AssetReportGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportGetRequest assetReportGetRequest = (AssetReportGetRequest) o; + return Objects.equals(this.clientId, assetReportGetRequest.clientId) && + Objects.equals(this.secret, assetReportGetRequest.secret) && + Objects.equals(this.assetReportToken, assetReportGetRequest.assetReportToken) && + Objects.equals(this.userToken, assetReportGetRequest.userToken) && + Objects.equals(this.includeInsights, assetReportGetRequest.includeInsights) && + Objects.equals(this.fastReport, assetReportGetRequest.fastReport) && + Objects.equals(this.options, assetReportGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, assetReportToken, userToken, includeInsights, fastReport, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" assetReportToken: ").append(toIndentedString(assetReportToken)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" includeInsights: ").append(toIndentedString(includeInsights)).append("\n"); + sb.append(" fastReport: ").append(toIndentedString(fastReport)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportGetRequestOptions.java b/src/main/java/com/plaid/client/model/AssetReportGetRequestOptions.java new file mode 100644 index 0000000000..09eaee0208 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportGetRequestOptions.java @@ -0,0 +1,101 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional object to filter or add data to `/asset_report/get` results. If provided, must be non-`null`. + */ +@ApiModel(description = "An optional object to filter or add data to `/asset_report/get` results. If provided, must be non-`null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportGetRequestOptions { + public static final String SERIALIZED_NAME_DAYS_TO_INCLUDE = "days_to_include"; + @SerializedName(SERIALIZED_NAME_DAYS_TO_INCLUDE) + private Integer daysToInclude; + + + public AssetReportGetRequestOptions daysToInclude(Integer daysToInclude) { + + this.daysToInclude = daysToInclude; + return this; + } + + /** + * The maximum number of days of history to include in the Asset Report. + * minimum: 0 + * maximum: 731 + * @return daysToInclude + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of days of history to include in the Asset Report.") + + public Integer getDaysToInclude() { + return daysToInclude; + } + + + public void setDaysToInclude(Integer daysToInclude) { + this.daysToInclude = daysToInclude; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportGetRequestOptions assetReportGetRequestOptions = (AssetReportGetRequestOptions) o; + return Objects.equals(this.daysToInclude, assetReportGetRequestOptions.daysToInclude); + } + + @Override + public int hashCode() { + return Objects.hash(daysToInclude); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportGetRequestOptions {\n"); + sb.append(" daysToInclude: ").append(toIndentedString(daysToInclude)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportGetResponse.java b/src/main/java/com/plaid/client/model/AssetReportGetResponse.java new file mode 100644 index 0000000000..e8f5b19d33 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportGetResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetReport; +import com.plaid.client.model.Warning; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * AssetReportGetResponse defines the response schema for `/asset_report/get` + */ +@ApiModel(description = "AssetReportGetResponse defines the response schema for `/asset_report/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportGetResponse { + public static final String SERIALIZED_NAME_REPORT = "report"; + @SerializedName(SERIALIZED_NAME_REPORT) + private AssetReport report; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public AssetReportGetResponse report(AssetReport report) { + + this.report = report; + return this; + } + + /** + * Get report + * @return report + **/ + @ApiModelProperty(required = true, value = "") + + public AssetReport getReport() { + return report; + } + + + public void setReport(AssetReport report) { + this.report = report; + } + + + public AssetReportGetResponse warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public AssetReportGetResponse addWarningsItem(Warning warningsItem) { + this.warnings.add(warningsItem); + return this; + } + + /** + * If the Asset Report generation was successful but identity information cannot be returned, this array will contain information about the errors causing identity information to be missing + * @return warnings + **/ + @ApiModelProperty(required = true, value = "If the Asset Report generation was successful but identity information cannot be returned, this array will contain information about the errors causing identity information to be missing") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + public AssetReportGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportGetResponse assetReportGetResponse = (AssetReportGetResponse) o; + return Objects.equals(this.report, assetReportGetResponse.report) && + Objects.equals(this.warnings, assetReportGetResponse.warnings) && + Objects.equals(this.requestId, assetReportGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(report, warnings, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportGetResponse {\n"); + sb.append(" report: ").append(toIndentedString(report)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportInvestmentHolding.java b/src/main/java/com/plaid/client/model/AssetReportInvestmentHolding.java new file mode 100644 index 0000000000..c50e625684 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportInvestmentHolding.java @@ -0,0 +1,356 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * A securities holding at an institution. + */ +@ApiModel(description = "A securities holding at an institution.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportInvestmentHolding { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_SECURITY_ID = "security_id"; + @SerializedName(SERIALIZED_NAME_SECURITY_ID) + private String securityId; + + public static final String SERIALIZED_NAME_TICKER_SYMBOL = "ticker_symbol"; + @SerializedName(SERIALIZED_NAME_TICKER_SYMBOL) + private String tickerSymbol; + + public static final String SERIALIZED_NAME_INSTITUTION_PRICE = "institution_price"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_PRICE) + private Double institutionPrice; + + public static final String SERIALIZED_NAME_INSTITUTION_PRICE_AS_OF = "institution_price_as_of"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_PRICE_AS_OF) + private LocalDate institutionPriceAsOf; + + public static final String SERIALIZED_NAME_INSTITUTION_VALUE = "institution_value"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_VALUE) + private Double institutionValue; + + public static final String SERIALIZED_NAME_COST_BASIS = "cost_basis"; + @SerializedName(SERIALIZED_NAME_COST_BASIS) + private Double costBasis; + + public static final String SERIALIZED_NAME_QUANTITY = "quantity"; + @SerializedName(SERIALIZED_NAME_QUANTITY) + private Double quantity; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public AssetReportInvestmentHolding accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` associated with the holding. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` associated with the holding.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public AssetReportInvestmentHolding securityId(String securityId) { + + this.securityId = securityId; + return this; + } + + /** + * The Plaid `security_id` associated with the holding. Security data is not specific to a user's account; any user who held the same security at the same financial institution at the same time would have identical security data. The `security_id` for the same security will typically be the same across different institutions, but this is not guaranteed. The `security_id` does not typically change, but may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change. + * @return securityId + **/ + @ApiModelProperty(required = true, value = "The Plaid `security_id` associated with the holding. Security data is not specific to a user's account; any user who held the same security at the same financial institution at the same time would have identical security data. The `security_id` for the same security will typically be the same across different institutions, but this is not guaranteed. The `security_id` does not typically change, but may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change.") + + public String getSecurityId() { + return securityId; + } + + + public void setSecurityId(String securityId) { + this.securityId = securityId; + } + + + public AssetReportInvestmentHolding tickerSymbol(String tickerSymbol) { + + this.tickerSymbol = tickerSymbol; + return this; + } + + /** + * The holding's trading symbol for publicly traded holdings, and otherwise a short identifier if available. + * @return tickerSymbol + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The holding's trading symbol for publicly traded holdings, and otherwise a short identifier if available.") + + public String getTickerSymbol() { + return tickerSymbol; + } + + + public void setTickerSymbol(String tickerSymbol) { + this.tickerSymbol = tickerSymbol; + } + + + public AssetReportInvestmentHolding institutionPrice(Double institutionPrice) { + + this.institutionPrice = institutionPrice; + return this; + } + + /** + * The last price given by the institution for this security. + * @return institutionPrice + **/ + @ApiModelProperty(required = true, value = "The last price given by the institution for this security.") + + public Double getInstitutionPrice() { + return institutionPrice; + } + + + public void setInstitutionPrice(Double institutionPrice) { + this.institutionPrice = institutionPrice; + } + + + public AssetReportInvestmentHolding institutionPriceAsOf(LocalDate institutionPriceAsOf) { + + this.institutionPriceAsOf = institutionPriceAsOf; + return this; + } + + /** + * The date at which `institution_price` was current. + * @return institutionPriceAsOf + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date at which `institution_price` was current.") + + public LocalDate getInstitutionPriceAsOf() { + return institutionPriceAsOf; + } + + + public void setInstitutionPriceAsOf(LocalDate institutionPriceAsOf) { + this.institutionPriceAsOf = institutionPriceAsOf; + } + + + public AssetReportInvestmentHolding institutionValue(Double institutionValue) { + + this.institutionValue = institutionValue; + return this; + } + + /** + * The value of the holding, as reported by the institution. + * @return institutionValue + **/ + @ApiModelProperty(required = true, value = "The value of the holding, as reported by the institution.") + + public Double getInstitutionValue() { + return institutionValue; + } + + + public void setInstitutionValue(Double institutionValue) { + this.institutionValue = institutionValue; + } + + + public AssetReportInvestmentHolding costBasis(Double costBasis) { + + this.costBasis = costBasis; + return this; + } + + /** + * The original total value of the holding. This field is calculated by Plaid as the sum of the purchase price of all of the shares in the holding. + * @return costBasis + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The original total value of the holding. This field is calculated by Plaid as the sum of the purchase price of all of the shares in the holding.") + + public Double getCostBasis() { + return costBasis; + } + + + public void setCostBasis(Double costBasis) { + this.costBasis = costBasis; + } + + + public AssetReportInvestmentHolding quantity(Double quantity) { + + this.quantity = quantity; + return this; + } + + /** + * The total quantity of the asset held, as reported by the financial institution. If the security is an option, `quantity` will reflect the total number of options (typically the number of contracts multiplied by 100), not the number of contracts. + * @return quantity + **/ + @ApiModelProperty(required = true, value = "The total quantity of the asset held, as reported by the financial institution. If the security is an option, `quantity` will reflect the total number of options (typically the number of contracts multiplied by 100), not the number of contracts.") + + public Double getQuantity() { + return quantity; + } + + + public void setQuantity(Double quantity) { + this.quantity = quantity; + } + + + public AssetReportInvestmentHolding isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the holding. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the holding. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public AssetReportInvestmentHolding unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the holding. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the holding. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. ") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportInvestmentHolding assetReportInvestmentHolding = (AssetReportInvestmentHolding) o; + return Objects.equals(this.accountId, assetReportInvestmentHolding.accountId) && + Objects.equals(this.securityId, assetReportInvestmentHolding.securityId) && + Objects.equals(this.tickerSymbol, assetReportInvestmentHolding.tickerSymbol) && + Objects.equals(this.institutionPrice, assetReportInvestmentHolding.institutionPrice) && + Objects.equals(this.institutionPriceAsOf, assetReportInvestmentHolding.institutionPriceAsOf) && + Objects.equals(this.institutionValue, assetReportInvestmentHolding.institutionValue) && + Objects.equals(this.costBasis, assetReportInvestmentHolding.costBasis) && + Objects.equals(this.quantity, assetReportInvestmentHolding.quantity) && + Objects.equals(this.isoCurrencyCode, assetReportInvestmentHolding.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, assetReportInvestmentHolding.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, securityId, tickerSymbol, institutionPrice, institutionPriceAsOf, institutionValue, costBasis, quantity, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportInvestmentHolding {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" securityId: ").append(toIndentedString(securityId)).append("\n"); + sb.append(" tickerSymbol: ").append(toIndentedString(tickerSymbol)).append("\n"); + sb.append(" institutionPrice: ").append(toIndentedString(institutionPrice)).append("\n"); + sb.append(" institutionPriceAsOf: ").append(toIndentedString(institutionPriceAsOf)).append("\n"); + sb.append(" institutionValue: ").append(toIndentedString(institutionValue)).append("\n"); + sb.append(" costBasis: ").append(toIndentedString(costBasis)).append("\n"); + sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportInvestmentSecurity.java b/src/main/java/com/plaid/client/model/AssetReportInvestmentSecurity.java new file mode 100644 index 0000000000..3930c46d7f --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportInvestmentSecurity.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Investment security associated with the account. + */ +@ApiModel(description = "Investment security associated with the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportInvestmentSecurity { + public static final String SERIALIZED_NAME_SECURITY_ID = "security_id"; + @SerializedName(SERIALIZED_NAME_SECURITY_ID) + private String securityId; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_TICKER_SYMBOL = "ticker_symbol"; + @SerializedName(SERIALIZED_NAME_TICKER_SYMBOL) + private String tickerSymbol; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + + public AssetReportInvestmentSecurity securityId(String securityId) { + + this.securityId = securityId; + return this; + } + + /** + * A unique, Plaid-specific identifier for the security, used to associate securities with holdings. Like all Plaid identifiers, the `security_id` is case sensitive. The `security_id` may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change. + * @return securityId + **/ + @ApiModelProperty(required = true, value = "A unique, Plaid-specific identifier for the security, used to associate securities with holdings. Like all Plaid identifiers, the `security_id` is case sensitive. The `security_id` may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change.") + + public String getSecurityId() { + return securityId; + } + + + public void setSecurityId(String securityId) { + this.securityId = securityId; + } + + + public AssetReportInvestmentSecurity name(String name) { + + this.name = name; + return this; + } + + /** + * A descriptive name for the security, suitable for display. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A descriptive name for the security, suitable for display.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public AssetReportInvestmentSecurity tickerSymbol(String tickerSymbol) { + + this.tickerSymbol = tickerSymbol; + return this; + } + + /** + * The security's trading symbol for publicly traded securities, and otherwise a short identifier if available. + * @return tickerSymbol + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The security's trading symbol for publicly traded securities, and otherwise a short identifier if available.") + + public String getTickerSymbol() { + return tickerSymbol; + } + + + public void setTickerSymbol(String tickerSymbol) { + this.tickerSymbol = tickerSymbol; + } + + + public AssetReportInvestmentSecurity type(String type) { + + this.type = type; + return this; + } + + /** + * The security type of the holding. Valid security types are: `cash`: Cash, currency, and money market funds `cryptocurrency`: Digital or virtual currencies `derivative`: Options, warrants, and other derivative instruments `equity`: Domestic and foreign equities `etf`: Multi-asset exchange-traded investment funds `fixed income`: Bonds and certificates of deposit (CDs) `loan`: Loans and loan receivables `mutual fund`: Open- and closed-end vehicles pooling funds of multiple investors `other`: Unknown or other investment types + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The security type of the holding. Valid security types are: `cash`: Cash, currency, and money market funds `cryptocurrency`: Digital or virtual currencies `derivative`: Options, warrants, and other derivative instruments `equity`: Domestic and foreign equities `etf`: Multi-asset exchange-traded investment funds `fixed income`: Bonds and certificates of deposit (CDs) `loan`: Loans and loan receivables `mutual fund`: Open- and closed-end vehicles pooling funds of multiple investors `other`: Unknown or other investment types") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportInvestmentSecurity assetReportInvestmentSecurity = (AssetReportInvestmentSecurity) o; + return Objects.equals(this.securityId, assetReportInvestmentSecurity.securityId) && + Objects.equals(this.name, assetReportInvestmentSecurity.name) && + Objects.equals(this.tickerSymbol, assetReportInvestmentSecurity.tickerSymbol) && + Objects.equals(this.type, assetReportInvestmentSecurity.type); + } + + @Override + public int hashCode() { + return Objects.hash(securityId, name, tickerSymbol, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportInvestmentSecurity {\n"); + sb.append(" securityId: ").append(toIndentedString(securityId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" tickerSymbol: ").append(toIndentedString(tickerSymbol)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportInvestmentTransaction.java b/src/main/java/com/plaid/client/model/AssetReportInvestmentTransaction.java new file mode 100644 index 0000000000..4bac41eb5f --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportInvestmentTransaction.java @@ -0,0 +1,497 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentTransactionSubtype; +import com.plaid.client.model.InvestmentTransactionType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * A transaction within an investment account. + */ +@ApiModel(description = "A transaction within an investment account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportInvestmentTransaction { + public static final String SERIALIZED_NAME_INVESTMENT_TRANSACTION_ID = "investment_transaction_id"; + @SerializedName(SERIALIZED_NAME_INVESTMENT_TRANSACTION_ID) + private String investmentTransactionId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_SECURITY_ID = "security_id"; + @SerializedName(SERIALIZED_NAME_SECURITY_ID) + private String securityId; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_QUANTITY = "quantity"; + @SerializedName(SERIALIZED_NAME_QUANTITY) + private Double quantity; + + public static final String SERIALIZED_NAME_VESTED_QUANTITY = "vested_quantity"; + @SerializedName(SERIALIZED_NAME_VESTED_QUANTITY) + private Double vestedQuantity; + + public static final String SERIALIZED_NAME_VESTED_VALUE = "vested_value"; + @SerializedName(SERIALIZED_NAME_VESTED_VALUE) + private Double vestedValue; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_PRICE = "price"; + @SerializedName(SERIALIZED_NAME_PRICE) + private Double price; + + public static final String SERIALIZED_NAME_FEES = "fees"; + @SerializedName(SERIALIZED_NAME_FEES) + private Double fees; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private InvestmentTransactionType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private InvestmentTransactionSubtype subtype; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public AssetReportInvestmentTransaction investmentTransactionId(String investmentTransactionId) { + + this.investmentTransactionId = investmentTransactionId; + return this; + } + + /** + * The ID of the Investment transaction, unique across all Plaid transactions. Like all Plaid identifiers, the `investment_transaction_id` is case sensitive. + * @return investmentTransactionId + **/ + @ApiModelProperty(required = true, value = "The ID of the Investment transaction, unique across all Plaid transactions. Like all Plaid identifiers, the `investment_transaction_id` is case sensitive.") + + public String getInvestmentTransactionId() { + return investmentTransactionId; + } + + + public void setInvestmentTransactionId(String investmentTransactionId) { + this.investmentTransactionId = investmentTransactionId; + } + + + public AssetReportInvestmentTransaction accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The `account_id` of the account against which this transaction posted. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The `account_id` of the account against which this transaction posted.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public AssetReportInvestmentTransaction securityId(String securityId) { + + this.securityId = securityId; + return this; + } + + /** + * The `security_id` to which this transaction is related. + * @return securityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The `security_id` to which this transaction is related.") + + public String getSecurityId() { + return securityId; + } + + + public void setSecurityId(String securityId) { + this.securityId = securityId; + } + + + public AssetReportInvestmentTransaction date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The [ISO 8601](https://wikipedia.org/wiki/ISO_8601) posting date for the transaction. + * @return date + **/ + @ApiModelProperty(required = true, value = "The [ISO 8601](https://wikipedia.org/wiki/ISO_8601) posting date for the transaction.") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public AssetReportInvestmentTransaction name(String name) { + + this.name = name; + return this; + } + + /** + * The institution's description of the transaction. + * @return name + **/ + @ApiModelProperty(required = true, value = "The institution's description of the transaction.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public AssetReportInvestmentTransaction quantity(Double quantity) { + + this.quantity = quantity; + return this; + } + + /** + * The number of units of the security involved in this transaction. Positive for buy transactions; negative for sell transactions. + * @return quantity + **/ + @ApiModelProperty(required = true, value = "The number of units of the security involved in this transaction. Positive for buy transactions; negative for sell transactions.") + + public Double getQuantity() { + return quantity; + } + + + public void setQuantity(Double quantity) { + this.quantity = quantity; + } + + + public AssetReportInvestmentTransaction vestedQuantity(Double vestedQuantity) { + + this.vestedQuantity = vestedQuantity; + return this; + } + + /** + * The total quantity of vested assets held, as reported by the financial institution. Vested assets are only associated with [equities](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-type). + * @return vestedQuantity + **/ + @ApiModelProperty(required = true, value = "The total quantity of vested assets held, as reported by the financial institution. Vested assets are only associated with [equities](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-type).") + + public Double getVestedQuantity() { + return vestedQuantity; + } + + + public void setVestedQuantity(Double vestedQuantity) { + this.vestedQuantity = vestedQuantity; + } + + + public AssetReportInvestmentTransaction vestedValue(Double vestedValue) { + + this.vestedValue = vestedValue; + return this; + } + + /** + * The value of the vested holdings as reported by the institution. + * @return vestedValue + **/ + @ApiModelProperty(required = true, value = "The value of the vested holdings as reported by the institution.") + + public Double getVestedValue() { + return vestedValue; + } + + + public void setVestedValue(Double vestedValue) { + this.vestedValue = vestedValue; + } + + + public AssetReportInvestmentTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The complete value of the transaction. Positive values when cash is debited, e.g. purchases of stock; negative values when cash is credited, e.g. sales of stock. Treatment remains the same for cash-only movements unassociated with securities. For transactions representing a simultaneous cash contribution and purchase of a security, the portion of the transaction representing the purchase takes precedence, and the `amount` is represented as positive. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The complete value of the transaction. Positive values when cash is debited, e.g. purchases of stock; negative values when cash is credited, e.g. sales of stock. Treatment remains the same for cash-only movements unassociated with securities. For transactions representing a simultaneous cash contribution and purchase of a security, the portion of the transaction representing the purchase takes precedence, and the `amount` is represented as positive.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public AssetReportInvestmentTransaction price(Double price) { + + this.price = price; + return this; + } + + /** + * The price of the security at which this transaction occurred. + * @return price + **/ + @ApiModelProperty(required = true, value = "The price of the security at which this transaction occurred.") + + public Double getPrice() { + return price; + } + + + public void setPrice(Double price) { + this.price = price; + } + + + public AssetReportInvestmentTransaction fees(Double fees) { + + this.fees = fees; + return this; + } + + /** + * The combined value of all fees applied to this transaction + * @return fees + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The combined value of all fees applied to this transaction") + + public Double getFees() { + return fees; + } + + + public void setFees(Double fees) { + this.fees = fees; + } + + + public AssetReportInvestmentTransaction type(InvestmentTransactionType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentTransactionType getType() { + return type; + } + + + public void setType(InvestmentTransactionType type) { + this.type = type; + } + + + public AssetReportInvestmentTransaction subtype(InvestmentTransactionSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentTransactionSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(InvestmentTransactionSubtype subtype) { + this.subtype = subtype; + } + + + public AssetReportInvestmentTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public AssetReportInvestmentTransaction unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportInvestmentTransaction assetReportInvestmentTransaction = (AssetReportInvestmentTransaction) o; + return Objects.equals(this.investmentTransactionId, assetReportInvestmentTransaction.investmentTransactionId) && + Objects.equals(this.accountId, assetReportInvestmentTransaction.accountId) && + Objects.equals(this.securityId, assetReportInvestmentTransaction.securityId) && + Objects.equals(this.date, assetReportInvestmentTransaction.date) && + Objects.equals(this.name, assetReportInvestmentTransaction.name) && + Objects.equals(this.quantity, assetReportInvestmentTransaction.quantity) && + Objects.equals(this.vestedQuantity, assetReportInvestmentTransaction.vestedQuantity) && + Objects.equals(this.vestedValue, assetReportInvestmentTransaction.vestedValue) && + Objects.equals(this.amount, assetReportInvestmentTransaction.amount) && + Objects.equals(this.price, assetReportInvestmentTransaction.price) && + Objects.equals(this.fees, assetReportInvestmentTransaction.fees) && + Objects.equals(this.type, assetReportInvestmentTransaction.type) && + Objects.equals(this.subtype, assetReportInvestmentTransaction.subtype) && + Objects.equals(this.isoCurrencyCode, assetReportInvestmentTransaction.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, assetReportInvestmentTransaction.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(investmentTransactionId, accountId, securityId, date, name, quantity, vestedQuantity, vestedValue, amount, price, fees, type, subtype, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportInvestmentTransaction {\n"); + sb.append(" investmentTransactionId: ").append(toIndentedString(investmentTransactionId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" securityId: ").append(toIndentedString(securityId)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); + sb.append(" vestedQuantity: ").append(toIndentedString(vestedQuantity)).append("\n"); + sb.append(" vestedValue: ").append(toIndentedString(vestedValue)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" price: ").append(toIndentedString(price)).append("\n"); + sb.append(" fees: ").append(toIndentedString(fees)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportInvestments.java b/src/main/java/com/plaid/client/model/AssetReportInvestments.java new file mode 100644 index 0000000000..12c549f69f --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportInvestments.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetReportInvestmentHolding; +import com.plaid.client.model.AssetReportInvestmentSecurity; +import com.plaid.client.model.AssetReportInvestmentTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A set of fields describing the investments data on an account. + */ +@ApiModel(description = "A set of fields describing the investments data on an account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportInvestments { + public static final String SERIALIZED_NAME_HOLDINGS = "holdings"; + @SerializedName(SERIALIZED_NAME_HOLDINGS) + private List holdings = null; + + public static final String SERIALIZED_NAME_SECURITIES = "securities"; + @SerializedName(SERIALIZED_NAME_SECURITIES) + private List securities = null; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = null; + + + public AssetReportInvestments holdings(List holdings) { + + this.holdings = holdings; + return this; + } + + public AssetReportInvestments addHoldingsItem(AssetReportInvestmentHolding holdingsItem) { + if (this.holdings == null) { + this.holdings = new ArrayList<>(); + } + this.holdings.add(holdingsItem); + return this; + } + + /** + * Quantities and values of securities held in the investment account. Map to the `securities` array for security details. + * @return holdings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Quantities and values of securities held in the investment account. Map to the `securities` array for security details.") + + public List getHoldings() { + return holdings; + } + + + public void setHoldings(List holdings) { + this.holdings = holdings; + } + + + public AssetReportInvestments securities(List securities) { + + this.securities = securities; + return this; + } + + public AssetReportInvestments addSecuritiesItem(AssetReportInvestmentSecurity securitiesItem) { + if (this.securities == null) { + this.securities = new ArrayList<>(); + } + this.securities.add(securitiesItem); + return this; + } + + /** + * Details of specific securities held in on the investment account. + * @return securities + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Details of specific securities held in on the investment account.") + + public List getSecurities() { + return securities; + } + + + public void setSecurities(List securities) { + this.securities = securities; + } + + + public AssetReportInvestments transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public AssetReportInvestments addTransactionsItem(AssetReportInvestmentTransaction transactionsItem) { + if (this.transactions == null) { + this.transactions = new ArrayList<>(); + } + this.transactions.add(transactionsItem); + return this; + } + + /** + * Transaction history on the investment account. + * @return transactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Transaction history on the investment account.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportInvestments assetReportInvestments = (AssetReportInvestments) o; + return Objects.equals(this.holdings, assetReportInvestments.holdings) && + Objects.equals(this.securities, assetReportInvestments.securities) && + Objects.equals(this.transactions, assetReportInvestments.transactions); + } + + @Override + public int hashCode() { + return Objects.hash(holdings, securities, transactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportInvestments {\n"); + sb.append(" holdings: ").append(toIndentedString(holdings)).append("\n"); + sb.append(" securities: ").append(toIndentedString(securities)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportItem.java b/src/main/java/com/plaid/client/model/AssetReportItem.java new file mode 100644 index 0000000000..2c1a9005bf --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportItem.java @@ -0,0 +1,219 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountAssets; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * A representation of an Item within an Asset Report. + */ +@ApiModel(description = "A representation of an Item within an Asset Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportItem { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_DATE_LAST_UPDATED = "date_last_updated"; + @SerializedName(SERIALIZED_NAME_DATE_LAST_UPDATED) + private OffsetDateTime dateLastUpdated; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + + public AssetReportItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public AssetReportItem institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The full financial institution name associated with the Item. + * @return institutionName + **/ + @ApiModelProperty(required = true, value = "The full financial institution name associated with the Item.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public AssetReportItem institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The id of the financial institution associated with the Item. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The id of the financial institution associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public AssetReportItem dateLastUpdated(OffsetDateTime dateLastUpdated) { + + this.dateLastUpdated = dateLastUpdated; + return this; + } + + /** + * The date and time when this Item's data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return dateLastUpdated + **/ + @ApiModelProperty(required = true, value = "The date and time when this Item's data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getDateLastUpdated() { + return dateLastUpdated; + } + + + public void setDateLastUpdated(OffsetDateTime dateLastUpdated) { + this.dateLastUpdated = dateLastUpdated; + } + + + public AssetReportItem accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public AssetReportItem addAccountsItem(AccountAssets accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * Data about each of the accounts open on the Item. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "Data about each of the accounts open on the Item.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportItem assetReportItem = (AssetReportItem) o; + return Objects.equals(this.itemId, assetReportItem.itemId) && + Objects.equals(this.institutionName, assetReportItem.institutionName) && + Objects.equals(this.institutionId, assetReportItem.institutionId) && + Objects.equals(this.dateLastUpdated, assetReportItem.dateLastUpdated) && + Objects.equals(this.accounts, assetReportItem.accounts); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, institutionName, institutionId, dateLastUpdated, accounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportItem {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" dateLastUpdated: ").append(toIndentedString(dateLastUpdated)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportPDFGetRequest.java b/src/main/java/com/plaid/client/model/AssetReportPDFGetRequest.java new file mode 100644 index 0000000000..b4f7fb618f --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportPDFGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetReportPDFGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportPDFGetRequest defines the request schema for `/asset_report/pdf/get` + */ +@ApiModel(description = "AssetReportPDFGetRequest defines the request schema for `/asset_report/pdf/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportPDFGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ASSET_REPORT_TOKEN = "asset_report_token"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_TOKEN) + private String assetReportToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private AssetReportPDFGetRequestOptions options; + + + public AssetReportPDFGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AssetReportPDFGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AssetReportPDFGetRequest assetReportToken(String assetReportToken) { + + this.assetReportToken = assetReportToken; + return this; + } + + /** + * A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report. + * @return assetReportToken + **/ + @ApiModelProperty(required = true, value = "A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report.") + + public String getAssetReportToken() { + return assetReportToken; + } + + + public void setAssetReportToken(String assetReportToken) { + this.assetReportToken = assetReportToken; + } + + + public AssetReportPDFGetRequest options(AssetReportPDFGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AssetReportPDFGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(AssetReportPDFGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportPDFGetRequest assetReportPDFGetRequest = (AssetReportPDFGetRequest) o; + return Objects.equals(this.clientId, assetReportPDFGetRequest.clientId) && + Objects.equals(this.secret, assetReportPDFGetRequest.secret) && + Objects.equals(this.assetReportToken, assetReportPDFGetRequest.assetReportToken) && + Objects.equals(this.options, assetReportPDFGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, assetReportToken, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportPDFGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" assetReportToken: ").append(toIndentedString(assetReportToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportPDFGetRequestOptions.java b/src/main/java/com/plaid/client/model/AssetReportPDFGetRequestOptions.java new file mode 100644 index 0000000000..438751c6dc --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportPDFGetRequestOptions.java @@ -0,0 +1,101 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional object to filter or add data to `/asset_report/get` results. If provided, must be non-`null`. + */ +@ApiModel(description = "An optional object to filter or add data to `/asset_report/get` results. If provided, must be non-`null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportPDFGetRequestOptions { + public static final String SERIALIZED_NAME_DAYS_TO_INCLUDE = "days_to_include"; + @SerializedName(SERIALIZED_NAME_DAYS_TO_INCLUDE) + private Integer daysToInclude; + + + public AssetReportPDFGetRequestOptions daysToInclude(Integer daysToInclude) { + + this.daysToInclude = daysToInclude; + return this; + } + + /** + * The maximum integer number of days of history to include in the Asset Report. + * minimum: 0 + * maximum: 731 + * @return daysToInclude + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum integer number of days of history to include in the Asset Report.") + + public Integer getDaysToInclude() { + return daysToInclude; + } + + + public void setDaysToInclude(Integer daysToInclude) { + this.daysToInclude = daysToInclude; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportPDFGetRequestOptions assetReportPDFGetRequestOptions = (AssetReportPDFGetRequestOptions) o; + return Objects.equals(this.daysToInclude, assetReportPDFGetRequestOptions.daysToInclude); + } + + @Override + public int hashCode() { + return Objects.hash(daysToInclude); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportPDFGetRequestOptions {\n"); + sb.append(" daysToInclude: ").append(toIndentedString(daysToInclude)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportRefreshRequest.java b/src/main/java/com/plaid/client/model/AssetReportRefreshRequest.java new file mode 100644 index 0000000000..71f0c0a3ec --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportRefreshRequest.java @@ -0,0 +1,217 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetReportRefreshRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportRefreshRequest defines the request schema for `/asset_report/refresh` + */ +@ApiModel(description = "AssetReportRefreshRequest defines the request schema for `/asset_report/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportRefreshRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ASSET_REPORT_TOKEN = "asset_report_token"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_TOKEN) + private String assetReportToken; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private AssetReportRefreshRequestOptions options; + + + public AssetReportRefreshRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AssetReportRefreshRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AssetReportRefreshRequest assetReportToken(String assetReportToken) { + + this.assetReportToken = assetReportToken; + return this; + } + + /** + * The `asset_report_token` returned by the original call to `/asset_report/create` + * @return assetReportToken + **/ + @ApiModelProperty(required = true, value = "The `asset_report_token` returned by the original call to `/asset_report/create`") + + public String getAssetReportToken() { + return assetReportToken; + } + + + public void setAssetReportToken(String assetReportToken) { + this.assetReportToken = assetReportToken; + } + + + public AssetReportRefreshRequest daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The maximum number of days of history to include in the Asset Report. Must be an integer. If not specified, the value from the original call to `/asset_report/create` will be used. + * minimum: 0 + * maximum: 731 + * @return daysRequested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of days of history to include in the Asset Report. Must be an integer. If not specified, the value from the original call to `/asset_report/create` will be used.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + public AssetReportRefreshRequest options(AssetReportRefreshRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AssetReportRefreshRequestOptions getOptions() { + return options; + } + + + public void setOptions(AssetReportRefreshRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportRefreshRequest assetReportRefreshRequest = (AssetReportRefreshRequest) o; + return Objects.equals(this.clientId, assetReportRefreshRequest.clientId) && + Objects.equals(this.secret, assetReportRefreshRequest.secret) && + Objects.equals(this.assetReportToken, assetReportRefreshRequest.assetReportToken) && + Objects.equals(this.daysRequested, assetReportRefreshRequest.daysRequested) && + Objects.equals(this.options, assetReportRefreshRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, assetReportToken, daysRequested, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportRefreshRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" assetReportToken: ").append(toIndentedString(assetReportToken)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportRefreshRequestOptions.java b/src/main/java/com/plaid/client/model/AssetReportRefreshRequestOptions.java new file mode 100644 index 0000000000..33b41b6d96 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportRefreshRequestOptions.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetReportUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional object to filter `/asset_report/refresh` results. If provided, cannot be `null`. If not specified, the `options` from the original call to `/asset_report/create` will be used. + */ +@ApiModel(description = "An optional object to filter `/asset_report/refresh` results. If provided, cannot be `null`. If not specified, the `options` from the original call to `/asset_report/create` will be used.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportRefreshRequestOptions { + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private AssetReportUser user; + + + public AssetReportRefreshRequestOptions clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * Client-generated identifier, which can be used by lenders to track loan applications. + * @return clientReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client-generated identifier, which can be used by lenders to track loan applications.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + public AssetReportRefreshRequestOptions webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * URL to which Plaid will send Assets webhooks, for example when the requested Asset Report is ready. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URL to which Plaid will send Assets webhooks, for example when the requested Asset Report is ready.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + public AssetReportRefreshRequestOptions user(AssetReportUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AssetReportUser getUser() { + return user; + } + + + public void setUser(AssetReportUser user) { + this.user = user; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportRefreshRequestOptions assetReportRefreshRequestOptions = (AssetReportRefreshRequestOptions) o; + return Objects.equals(this.clientReportId, assetReportRefreshRequestOptions.clientReportId) && + Objects.equals(this.webhook, assetReportRefreshRequestOptions.webhook) && + Objects.equals(this.user, assetReportRefreshRequestOptions.user); + } + + @Override + public int hashCode() { + return Objects.hash(clientReportId, webhook, user); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportRefreshRequestOptions {\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportRefreshResponse.java b/src/main/java/com/plaid/client/model/AssetReportRefreshResponse.java new file mode 100644 index 0000000000..84a7cfe448 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportRefreshResponse.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportRefreshResponse defines the response schema for `/asset_report/refresh` + */ +@ApiModel(description = "AssetReportRefreshResponse defines the response schema for `/asset_report/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportRefreshResponse { + public static final String SERIALIZED_NAME_ASSET_REPORT_ID = "asset_report_id"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_ID) + private String assetReportId; + + public static final String SERIALIZED_NAME_ASSET_REPORT_TOKEN = "asset_report_token"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_TOKEN) + private String assetReportToken; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public AssetReportRefreshResponse assetReportId(String assetReportId) { + + this.assetReportId = assetReportId; + return this; + } + + /** + * A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive. + * @return assetReportId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive.") + + public String getAssetReportId() { + return assetReportId; + } + + + public void setAssetReportId(String assetReportId) { + this.assetReportId = assetReportId; + } + + + public AssetReportRefreshResponse assetReportToken(String assetReportToken) { + + this.assetReportToken = assetReportToken; + return this; + } + + /** + * A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report. + * @return assetReportToken + **/ + @ApiModelProperty(required = true, value = "A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report.") + + public String getAssetReportToken() { + return assetReportToken; + } + + + public void setAssetReportToken(String assetReportToken) { + this.assetReportToken = assetReportToken; + } + + + public AssetReportRefreshResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportRefreshResponse assetReportRefreshResponse = (AssetReportRefreshResponse) o; + return Objects.equals(this.assetReportId, assetReportRefreshResponse.assetReportId) && + Objects.equals(this.assetReportToken, assetReportRefreshResponse.assetReportToken) && + Objects.equals(this.requestId, assetReportRefreshResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(assetReportId, assetReportToken, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportRefreshResponse {\n"); + sb.append(" assetReportId: ").append(toIndentedString(assetReportId)).append("\n"); + sb.append(" assetReportToken: ").append(toIndentedString(assetReportToken)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportRemoveRequest.java b/src/main/java/com/plaid/client/model/AssetReportRemoveRequest.java new file mode 100644 index 0000000000..d46b945aec --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportRemoveRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportRemoveRequest defines the request schema for `/asset_report/remove` + */ +@ApiModel(description = "AssetReportRemoveRequest defines the request schema for `/asset_report/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportRemoveRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ASSET_REPORT_TOKEN = "asset_report_token"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_TOKEN) + private String assetReportToken; + + + public AssetReportRemoveRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AssetReportRemoveRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AssetReportRemoveRequest assetReportToken(String assetReportToken) { + + this.assetReportToken = assetReportToken; + return this; + } + + /** + * A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report. + * @return assetReportToken + **/ + @ApiModelProperty(required = true, value = "A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report.") + + public String getAssetReportToken() { + return assetReportToken; + } + + + public void setAssetReportToken(String assetReportToken) { + this.assetReportToken = assetReportToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportRemoveRequest assetReportRemoveRequest = (AssetReportRemoveRequest) o; + return Objects.equals(this.clientId, assetReportRemoveRequest.clientId) && + Objects.equals(this.secret, assetReportRemoveRequest.secret) && + Objects.equals(this.assetReportToken, assetReportRemoveRequest.assetReportToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, assetReportToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportRemoveRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" assetReportToken: ").append(toIndentedString(assetReportToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportRemoveResponse.java b/src/main/java/com/plaid/client/model/AssetReportRemoveResponse.java new file mode 100644 index 0000000000..2c15bba078 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportRemoveResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AssetReportRemoveResponse defines the response schema for `/asset_report/remove` + */ +@ApiModel(description = "AssetReportRemoveResponse defines the response schema for `/asset_report/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportRemoveResponse { + public static final String SERIALIZED_NAME_REMOVED = "removed"; + @SerializedName(SERIALIZED_NAME_REMOVED) + private Boolean removed; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public AssetReportRemoveResponse removed(Boolean removed) { + + this.removed = removed; + return this; + } + + /** + * `true` if the Asset Report was successfully removed. + * @return removed + **/ + @ApiModelProperty(required = true, value = "`true` if the Asset Report was successfully removed.") + + public Boolean getRemoved() { + return removed; + } + + + public void setRemoved(Boolean removed) { + this.removed = removed; + } + + + public AssetReportRemoveResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportRemoveResponse assetReportRemoveResponse = (AssetReportRemoveResponse) o; + return Objects.equals(this.removed, assetReportRemoveResponse.removed) && + Objects.equals(this.requestId, assetReportRemoveResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(removed, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportRemoveResponse {\n"); + sb.append(" removed: ").append(toIndentedString(removed)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportTransaction.java b/src/main/java/com/plaid/client/model/AssetReportTransaction.java new file mode 100644 index 0000000000..f913150fce --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportTransaction.java @@ -0,0 +1,689 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetReportTransactionType; +import com.plaid.client.model.CreditCategory; +import com.plaid.client.model.Location; +import com.plaid.client.model.PaymentMeta; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * A transaction on the asset report + */ +@ApiModel(description = "A transaction on the asset report") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportTransaction { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_ORIGINAL_DESCRIPTION = "original_description"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_DESCRIPTION) + private String originalDescription; + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private List category = null; + + public static final String SERIALIZED_NAME_CATEGORY_ID = "category_id"; + @SerializedName(SERIALIZED_NAME_CATEGORY_ID) + private String categoryId; + + public static final String SERIALIZED_NAME_CREDIT_CATEGORY = "credit_category"; + @SerializedName(SERIALIZED_NAME_CREDIT_CATEGORY) + private CreditCategory creditCategory; + + public static final String SERIALIZED_NAME_CHECK_NUMBER = "check_number"; + @SerializedName(SERIALIZED_NAME_CHECK_NUMBER) + private String checkNumber; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_DATE_TRANSACTED = "date_transacted"; + @SerializedName(SERIALIZED_NAME_DATE_TRANSACTED) + private String dateTransacted; + + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private Location location; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_MERCHANT_NAME = "merchant_name"; + @SerializedName(SERIALIZED_NAME_MERCHANT_NAME) + private String merchantName; + + public static final String SERIALIZED_NAME_PAYMENT_META = "payment_meta"; + @SerializedName(SERIALIZED_NAME_PAYMENT_META) + private PaymentMeta paymentMeta; + + public static final String SERIALIZED_NAME_PENDING = "pending"; + @SerializedName(SERIALIZED_NAME_PENDING) + private Boolean pending; + + public static final String SERIALIZED_NAME_PENDING_TRANSACTION_ID = "pending_transaction_id"; + @SerializedName(SERIALIZED_NAME_PENDING_TRANSACTION_ID) + private String pendingTransactionId; + + public static final String SERIALIZED_NAME_ACCOUNT_OWNER = "account_owner"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_OWNER) + private String accountOwner; + + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_TRANSACTION_TYPE = "transaction_type"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_TYPE) + private AssetReportTransactionType transactionType; + + public static final String SERIALIZED_NAME_INCOME_SOURCE_ID = "income_source_id"; + @SerializedName(SERIALIZED_NAME_INCOME_SOURCE_ID) + private String incomeSourceId; + + + public AssetReportTransaction accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account in which this transaction occurred. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account in which this transaction occurred.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public AssetReportTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The settled value of the transaction, denominated in the transaction's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The settled value of the transaction, denominated in the transaction's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public AssetReportTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public AssetReportTransaction unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public AssetReportTransaction originalDescription(String originalDescription) { + + this.originalDescription = originalDescription; + return this; + } + + /** + * The string returned by the financial institution to describe the transaction. + * @return originalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The string returned by the financial institution to describe the transaction.") + + public String getOriginalDescription() { + return originalDescription; + } + + + public void setOriginalDescription(String originalDescription) { + this.originalDescription = originalDescription; + } + + + public AssetReportTransaction category(List category) { + + this.category = category; + return this; + } + + public AssetReportTransaction addCategoryItem(String categoryItem) { + if (this.category == null) { + this.category = new ArrayList<>(); + } + this.category.add(categoryItem); + return this; + } + + /** + * A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). This field will only appear in an Asset Report with Insights. + * @return category + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). This field will only appear in an Asset Report with Insights.") + + public List getCategory() { + return category; + } + + + public void setCategory(List category) { + this.category = category; + } + + + public AssetReportTransaction categoryId(String categoryId) { + + this.categoryId = categoryId; + return this; + } + + /** + * The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). This field will only appear in an Asset Report with Insights. + * @return categoryId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). This field will only appear in an Asset Report with Insights.") + + public String getCategoryId() { + return categoryId; + } + + + public void setCategoryId(String categoryId) { + this.categoryId = categoryId; + } + + + public AssetReportTransaction creditCategory(CreditCategory creditCategory) { + + this.creditCategory = creditCategory; + return this; + } + + /** + * Get creditCategory + * @return creditCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditCategory getCreditCategory() { + return creditCategory; + } + + + public void setCreditCategory(CreditCategory creditCategory) { + this.creditCategory = creditCategory; + } + + + public AssetReportTransaction checkNumber(String checkNumber) { + + this.checkNumber = checkNumber; + return this; + } + + /** + * The check number of the transaction. This field is only populated for check transactions. + * @return checkNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The check number of the transaction. This field is only populated for check transactions.") + + public String getCheckNumber() { + return checkNumber; + } + + + public void setCheckNumber(String checkNumber) { + this.checkNumber = checkNumber; + } + + + public AssetReportTransaction date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ). + * @return date + **/ + @ApiModelProperty(required = true, value = "For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public AssetReportTransaction dateTransacted(String dateTransacted) { + + this.dateTransacted = dateTransacted; + return this; + } + + /** + * The date on which the transaction took place, in ISO 8601 format. + * @return dateTransacted + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date on which the transaction took place, in ISO 8601 format.") + + public String getDateTransacted() { + return dateTransacted; + } + + + public void setDateTransacted(String dateTransacted) { + this.dateTransacted = dateTransacted; + } + + + public AssetReportTransaction location(Location location) { + + this.location = location; + return this; + } + + /** + * Get location + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Location getLocation() { + return location; + } + + + public void setLocation(Location location) { + this.location = location; + } + + + public AssetReportTransaction name(String name) { + + this.name = name; + return this; + } + + /** + * The merchant name or transaction description. This is a legacy field that is no longer maintained. For merchant name, use the `merchant_name` field. For description, use the `original_description` field. This field will only appear in an Asset Report with Insights. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The merchant name or transaction description. This is a legacy field that is no longer maintained. For merchant name, use the `merchant_name` field. For description, use the `original_description` field. This field will only appear in an Asset Report with Insights.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public AssetReportTransaction merchantName(String merchantName) { + + this.merchantName = merchantName; + return this; + } + + /** + * The merchant name, as enriched by Plaid. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be `null`. + * @return merchantName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The merchant name, as enriched by Plaid. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be `null`.") + + public String getMerchantName() { + return merchantName; + } + + + public void setMerchantName(String merchantName) { + this.merchantName = merchantName; + } + + + public AssetReportTransaction paymentMeta(PaymentMeta paymentMeta) { + + this.paymentMeta = paymentMeta; + return this; + } + + /** + * Get paymentMeta + * @return paymentMeta + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentMeta getPaymentMeta() { + return paymentMeta; + } + + + public void setPaymentMeta(PaymentMeta paymentMeta) { + this.paymentMeta = paymentMeta; + } + + + public AssetReportTransaction pending(Boolean pending) { + + this.pending = pending; + return this; + } + + /** + * When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled. + * @return pending + **/ + @ApiModelProperty(required = true, value = "When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.") + + public Boolean getPending() { + return pending; + } + + + public void setPending(Boolean pending) { + this.pending = pending; + } + + + public AssetReportTransaction pendingTransactionId(String pendingTransactionId) { + + this.pendingTransactionId = pendingTransactionId; + return this; + } + + /** + * The ID of a posted transaction's associated pending transaction, where applicable. + * @return pendingTransactionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of a posted transaction's associated pending transaction, where applicable.") + + public String getPendingTransactionId() { + return pendingTransactionId; + } + + + public void setPendingTransactionId(String pendingTransactionId) { + this.pendingTransactionId = pendingTransactionId; + } + + + public AssetReportTransaction accountOwner(String accountOwner) { + + this.accountOwner = accountOwner; + return this; + } + + /** + * The name of the account owner. This field is not typically populated and only relevant when dealing with sub-accounts. + * @return accountOwner + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the account owner. This field is not typically populated and only relevant when dealing with sub-accounts.") + + public String getAccountOwner() { + return accountOwner; + } + + + public void setAccountOwner(String accountOwner) { + this.accountOwner = accountOwner; + } + + + public AssetReportTransaction transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive. + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public AssetReportTransaction transactionType(AssetReportTransactionType transactionType) { + + this.transactionType = transactionType; + return this; + } + + /** + * Get transactionType + * @return transactionType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AssetReportTransactionType getTransactionType() { + return transactionType; + } + + + public void setTransactionType(AssetReportTransactionType transactionType) { + this.transactionType = transactionType; + } + + + public AssetReportTransaction incomeSourceId(String incomeSourceId) { + + this.incomeSourceId = incomeSourceId; + return this; + } + + /** + * A unique identifier for an income source. + * @return incomeSourceId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for an income source.") + + public String getIncomeSourceId() { + return incomeSourceId; + } + + + public void setIncomeSourceId(String incomeSourceId) { + this.incomeSourceId = incomeSourceId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportTransaction assetReportTransaction = (AssetReportTransaction) o; + return Objects.equals(this.accountId, assetReportTransaction.accountId) && + Objects.equals(this.amount, assetReportTransaction.amount) && + Objects.equals(this.isoCurrencyCode, assetReportTransaction.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, assetReportTransaction.unofficialCurrencyCode) && + Objects.equals(this.originalDescription, assetReportTransaction.originalDescription) && + Objects.equals(this.category, assetReportTransaction.category) && + Objects.equals(this.categoryId, assetReportTransaction.categoryId) && + Objects.equals(this.creditCategory, assetReportTransaction.creditCategory) && + Objects.equals(this.checkNumber, assetReportTransaction.checkNumber) && + Objects.equals(this.date, assetReportTransaction.date) && + Objects.equals(this.dateTransacted, assetReportTransaction.dateTransacted) && + Objects.equals(this.location, assetReportTransaction.location) && + Objects.equals(this.name, assetReportTransaction.name) && + Objects.equals(this.merchantName, assetReportTransaction.merchantName) && + Objects.equals(this.paymentMeta, assetReportTransaction.paymentMeta) && + Objects.equals(this.pending, assetReportTransaction.pending) && + Objects.equals(this.pendingTransactionId, assetReportTransaction.pendingTransactionId) && + Objects.equals(this.accountOwner, assetReportTransaction.accountOwner) && + Objects.equals(this.transactionId, assetReportTransaction.transactionId) && + Objects.equals(this.transactionType, assetReportTransaction.transactionType) && + Objects.equals(this.incomeSourceId, assetReportTransaction.incomeSourceId); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, amount, isoCurrencyCode, unofficialCurrencyCode, originalDescription, category, categoryId, creditCategory, checkNumber, date, dateTransacted, location, name, merchantName, paymentMeta, pending, pendingTransactionId, accountOwner, transactionId, transactionType, incomeSourceId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportTransaction {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" originalDescription: ").append(toIndentedString(originalDescription)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" categoryId: ").append(toIndentedString(categoryId)).append("\n"); + sb.append(" creditCategory: ").append(toIndentedString(creditCategory)).append("\n"); + sb.append(" checkNumber: ").append(toIndentedString(checkNumber)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" dateTransacted: ").append(toIndentedString(dateTransacted)).append("\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" merchantName: ").append(toIndentedString(merchantName)).append("\n"); + sb.append(" paymentMeta: ").append(toIndentedString(paymentMeta)).append("\n"); + sb.append(" pending: ").append(toIndentedString(pending)).append("\n"); + sb.append(" pendingTransactionId: ").append(toIndentedString(pendingTransactionId)).append("\n"); + sb.append(" accountOwner: ").append(toIndentedString(accountOwner)).append("\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" transactionType: ").append(toIndentedString(transactionType)).append("\n"); + sb.append(" incomeSourceId: ").append(toIndentedString(incomeSourceId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportTransactionType.java b/src/main/java/com/plaid/client/model/AssetReportTransactionType.java new file mode 100644 index 0000000000..cb424e6707 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportTransactionType.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * `digital:` transactions that took place online. `place:` transactions that were made at a physical location. `special:` transactions that relate to banks, e.g. fees or deposits. `unresolved:` transactions that do not fit into the other three types. + */ +@JsonAdapter(AssetReportTransactionType.Adapter.class) +public enum AssetReportTransactionType { + + DIGITAL("digital"), + + PLACE("place"), + + SPECIAL("special"), + + UNRESOLVED("unresolved"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AssetReportTransactionType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssetReportTransactionType fromValue(String value) { + for (AssetReportTransactionType b : AssetReportTransactionType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return AssetReportTransactionType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AssetReportTransactionType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssetReportTransactionType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AssetReportTransactionType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportType.java b/src/main/java/com/plaid/client/model/AssetReportType.java new file mode 100644 index 0000000000..c99e0936c4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates either a Fast Asset Report, which will contain only current identity and balance information, or a Full Asset Report, which will also contain historical balance information and transaction data. + */ +@JsonAdapter(AssetReportType.Adapter.class) +public enum AssetReportType { + + FULL("FULL"), + + FAST("FAST"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AssetReportType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssetReportType fromValue(String value) { + for (AssetReportType b : AssetReportType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return AssetReportType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AssetReportType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssetReportType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AssetReportType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AssetReportUser.java b/src/main/java/com/plaid/client/model/AssetReportUser.java new file mode 100644 index 0000000000..fe212934d1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetReportUser.java @@ -0,0 +1,273 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The user object allows you to provide additional information about the user to be appended to the Asset Report. All fields are optional. The `first_name`, `last_name`, and `ssn` fields are required if you would like the Report to be eligible for Fannie Mae's Day 1 Certainty™ program. + */ +@ApiModel(description = "The user object allows you to provide additional information about the user to be appended to the Asset Report. All fields are optional. The `first_name`, `last_name`, and `ssn` fields are required if you would like the Report to be eligible for Fannie Mae's Day 1 Certainty™ program.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetReportUser { + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_FIRST_NAME = "first_name"; + @SerializedName(SERIALIZED_NAME_FIRST_NAME) + private String firstName; + + public static final String SERIALIZED_NAME_MIDDLE_NAME = "middle_name"; + @SerializedName(SERIALIZED_NAME_MIDDLE_NAME) + private String middleName; + + public static final String SERIALIZED_NAME_LAST_NAME = "last_name"; + @SerializedName(SERIALIZED_NAME_LAST_NAME) + private String lastName; + + public static final String SERIALIZED_NAME_SSN = "ssn"; + @SerializedName(SERIALIZED_NAME_SSN) + private String ssn; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + private String email; + + + public AssetReportUser clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * An identifier you determine and submit for the user. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An identifier you determine and submit for the user.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public AssetReportUser firstName(String firstName) { + + this.firstName = firstName; + return this; + } + + /** + * The user's first name. Required for the Fannie Mae Day 1 Certainty™ program. + * @return firstName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's first name. Required for the Fannie Mae Day 1 Certainty™ program.") + + public String getFirstName() { + return firstName; + } + + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + + public AssetReportUser middleName(String middleName) { + + this.middleName = middleName; + return this; + } + + /** + * The user's middle name + * @return middleName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's middle name") + + public String getMiddleName() { + return middleName; + } + + + public void setMiddleName(String middleName) { + this.middleName = middleName; + } + + + public AssetReportUser lastName(String lastName) { + + this.lastName = lastName; + return this; + } + + /** + * The user's last name. Required for the Fannie Mae Day 1 Certainty™ program. + * @return lastName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's last name. Required for the Fannie Mae Day 1 Certainty™ program.") + + public String getLastName() { + return lastName; + } + + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + + public AssetReportUser ssn(String ssn) { + + this.ssn = ssn; + return this; + } + + /** + * The user's Social Security Number. Required for the Fannie Mae Day 1 Certainty™ program. Format: \"ddd-dd-dddd\" + * @return ssn + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's Social Security Number. Required for the Fannie Mae Day 1 Certainty™ program. Format: \"ddd-dd-dddd\"") + + public String getSsn() { + return ssn; + } + + + public void setSsn(String ssn) { + this.ssn = ssn; + } + + + public AssetReportUser phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * The user's phone number, in E.164 format: +{countrycode}{number}. For example: \"+14151234567\". Phone numbers provided in other formats will be parsed on a best-effort basis. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's phone number, in E.164 format: +{countrycode}{number}. For example: \"+14151234567\". Phone numbers provided in other formats will be parsed on a best-effort basis.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public AssetReportUser email(String email) { + + this.email = email; + return this; + } + + /** + * The user's email address. + * @return email + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's email address.") + + public String getEmail() { + return email; + } + + + public void setEmail(String email) { + this.email = email; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetReportUser assetReportUser = (AssetReportUser) o; + return Objects.equals(this.clientUserId, assetReportUser.clientUserId) && + Objects.equals(this.firstName, assetReportUser.firstName) && + Objects.equals(this.middleName, assetReportUser.middleName) && + Objects.equals(this.lastName, assetReportUser.lastName) && + Objects.equals(this.ssn, assetReportUser.ssn) && + Objects.equals(this.phoneNumber, assetReportUser.phoneNumber) && + Objects.equals(this.email, assetReportUser.email); + } + + @Override + public int hashCode() { + return Objects.hash(clientUserId, firstName, middleName, lastName, ssn, phoneNumber, email); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetReportUser {\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); + sb.append(" middleName: ").append(toIndentedString(middleName)).append("\n"); + sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); + sb.append(" ssn: ").append(toIndentedString(ssn)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetTransaction.java b/src/main/java/com/plaid/client/model/AssetTransaction.java new file mode 100644 index 0000000000..dcf59e05d0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetTransaction.java @@ -0,0 +1,135 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetTransactionDescription; +import com.plaid.client.model.AssetTransactionDetail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing... + */ +@ApiModel(description = "An object representing...") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetTransaction { + public static final String SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N_D_E_T_A_I_L = "ASSET_TRANSACTION_DETAIL"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N_D_E_T_A_I_L) + private AssetTransactionDetail ASSET_TRANSACTION_DETAIL; + + public static final String SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N_D_E_S_C_R_I_P_T_O_N = "ASSET_TRANSACTION_DESCRIPTON"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N_D_E_S_C_R_I_P_T_O_N) + private List ASSET_TRANSACTION_DESCRIPTON = new ArrayList<>(); + + + public AssetTransaction ASSET_TRANSACTION_DETAIL(AssetTransactionDetail ASSET_TRANSACTION_DETAIL) { + + this.ASSET_TRANSACTION_DETAIL = ASSET_TRANSACTION_DETAIL; + return this; + } + + /** + * Get ASSET_TRANSACTION_DETAIL + * @return ASSET_TRANSACTION_DETAIL + **/ + @ApiModelProperty(required = true, value = "") + + public AssetTransactionDetail getASSETTRANSACTIONDETAIL() { + return ASSET_TRANSACTION_DETAIL; + } + + + public void setASSETTRANSACTIONDETAIL(AssetTransactionDetail ASSET_TRANSACTION_DETAIL) { + this.ASSET_TRANSACTION_DETAIL = ASSET_TRANSACTION_DETAIL; + } + + + public AssetTransaction ASSET_TRANSACTION_DESCRIPTON(List ASSET_TRANSACTION_DESCRIPTON) { + + this.ASSET_TRANSACTION_DESCRIPTON = ASSET_TRANSACTION_DESCRIPTON; + return this; + } + + public AssetTransaction addASSETTRANSACTIONDESCRIPTONItem(AssetTransactionDescription ASSET_TRANSACTION_DESCRIPTONItem) { + this.ASSET_TRANSACTION_DESCRIPTON.add(ASSET_TRANSACTION_DESCRIPTONItem); + return this; + } + + /** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. Note that \"DESCRIPTON\" is an intentional misspelling matching the upstream MISMO field name. + * @return ASSET_TRANSACTION_DESCRIPTON + **/ + @ApiModelProperty(required = true, value = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac. Note that \"DESCRIPTON\" is an intentional misspelling matching the upstream MISMO field name.") + + public List getASSETTRANSACTIONDESCRIPTON() { + return ASSET_TRANSACTION_DESCRIPTON; + } + + + public void setASSETTRANSACTIONDESCRIPTON(List ASSET_TRANSACTION_DESCRIPTON) { + this.ASSET_TRANSACTION_DESCRIPTON = ASSET_TRANSACTION_DESCRIPTON; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetTransaction assetTransaction = (AssetTransaction) o; + return Objects.equals(this.ASSET_TRANSACTION_DETAIL, assetTransaction.ASSET_TRANSACTION_DETAIL) && + Objects.equals(this.ASSET_TRANSACTION_DESCRIPTON, assetTransaction.ASSET_TRANSACTION_DESCRIPTON); + } + + @Override + public int hashCode() { + return Objects.hash(ASSET_TRANSACTION_DETAIL, ASSET_TRANSACTION_DESCRIPTON); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetTransaction {\n"); + sb.append(" ASSET_TRANSACTION_DETAIL: ").append(toIndentedString(ASSET_TRANSACTION_DETAIL)).append("\n"); + sb.append(" ASSET_TRANSACTION_DESCRIPTON: ").append(toIndentedString(ASSET_TRANSACTION_DESCRIPTON)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetTransactionCategoryType.java b/src/main/java/com/plaid/client/model/AssetTransactionCategoryType.java new file mode 100644 index 0000000000..064b72f49f --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetTransactionCategoryType.java @@ -0,0 +1,287 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Asset Transaction Category Type Enumerated derived by Vendor. + */ +@JsonAdapter(AssetTransactionCategoryType.Adapter.class) +public enum AssetTransactionCategoryType { + + ATMFEE("ATMFee"), + + ADVERTISING("Advertising"), + + AIRTRAVEL("AirTravel"), + + ALCOHOLBARS("AlcoholBars"), + + ALLOWANCE("Allowance"), + + AMUSEMENT("Amusement"), + + ARTS("Arts"), + + AUTOTRANSPORT("AutoTransport"), + + AUTOINSURANCE("AutoInsurance"), + + AUTOPAYMENT("AutoPayment"), + + BABYSUPPLIES("BabySupplies"), + + BABYSITTERDAYCARE("BabysitterDaycare"), + + BANKFEE("BankFee"), + + BILLSUTILITIES("BillsUtilities"), + + BONUS("Bonus"), + + BOOKSSUPPLIES("BooksSupplies"), + + BUSINESS_SERVICES("Business Services"), + + BUY("Buy"), + + CASHATM("CashATM"), + + CHARITY("Charity"), + + CHECK("Check"), + + CHILDSUPPORT("ChildSupport"), + + CLOTHING("Clothing"), + + COFFEESHOPS("CoffeeShops"), + + CREDITCARDPAYMENT("CreditCardPayment"), + + DENTIST("Dentist"), + + DOCTOR("Doctor"), + + EDUCATION("Education"), + + ELECTRONICSSOFTWARE("ElectronicsSoftware"), + + ENTERTAINMENT("Entertainment"), + + EYECARE("Eyecare"), + + FASTFOOD("FastFood"), + + FEDERALTAX("FederalTax"), + + FEESCHARGES("FeesCharges"), + + FINANCECHARGE("FinanceCharge"), + + FINANCIAL("Financial"), + + FINANCIALADVISOR("FinancialAdvisor"), + + FOODDINING("FoodDining"), + + FURNISHINGS("Furnishings"), + + GASFUEL("GasFuel"), + + GIFTSDONATIONS("GiftsDonations"), + + GROCERIES("Groceries"), + + GYM("Gym"), + + HAIR("Hair"), + + HEALTHFITNESS("HealthFitness"), + + HEALTHINSURANCE("HealthInsurance"), + + HOBBIES("Hobbies"), + + HOME("Home"), + + HOMEIMPROVEMENT("HomeImprovement"), + + HOMEINSURANCE("HomeInsurance"), + + HOMEPHONE("HomePhone"), + + HOMESERVICES("HomeServices"), + + HOMESUPPLIES("HomeSupplies"), + + HOTEL("Hotel"), + + INCOME("Income"), + + INTERESTINCOME("InterestIncome"), + + INTERNET("Internet"), + + INVESTMENTS("Investments"), + + KIDS("Kids"), + + KIDSACTIVITIES("KidsActivities"), + + LATEFEE("LateFee"), + + LAUNDRY("Laundry"), + + LAWNGARDEN("LawnGarden"), + + LEGAL("Legal"), + + LIFEINSURANCE("LifeInsurance"), + + LOANINSURANCE("LoanInsurance"), + + LOANPAYMENT("LoanPayment"), + + LOANS("Loans"), + + MOBILEPHONE("MobilePhone"), + + MORTGAGERENT("MortgageRent"), + + MOVIESDVDS("MoviesDVDs"), + + MUSIC("Music"), + + NEWSPAPERSMAGAZINES("NewspapersMagazines"), + + OFFICESUPPLIES("OfficeSupplies"), + + PARKING("Parking"), + + PAYCHECK("Paycheck"), + + PERSONALCARE("PersonalCare"), + + PETFOODSUPPLIES("PetFoodSupplies"), + + PETGROOMING("PetGrooming"), + + PETS("Pets"), + + PHARMACY("Pharmacy"), + + PRINTING("Printing"), + + PROPERTY_TAX("Property Tax"), + + PUBLIC_TRANSPORTATION("Public Transportation"), + + REIMBURSEMENT("Reimbursement"), + + RENTALCARTAXI("RentalCarTaxi"), + + RESTAURANTS("Restaurants"), + + SALESTAX("SalesTax"), + + SERVICEPARTS("ServiceParts"), + + SERVICEFEE("ServiceFee"), + + SHIPPING("Shipping"), + + SHOPPING("Shopping"), + + SPAMASSAGE("SpaMassage"), + + SPORTINGGOODS("SportingGoods"), + + SPORTS("Sports"), + + STATETAX("StateTax"), + + STUDENT_LOAN("Student Loan"), + + TAXES("Taxes"), + + TELEVISION("Television"), + + TOYS("Toys"), + + TRANSFER("Transfer"), + + TRAVEL("Travel"), + + TUITION("Tuition"), + + UNCATEGORIZED("Uncategorized"), + + UTILITIES("Utilities"), + + VACATION("Vacation"), + + VETERINARY("Veterinary"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AssetTransactionCategoryType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssetTransactionCategoryType fromValue(String value) { + for (AssetTransactionCategoryType b : AssetTransactionCategoryType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AssetTransactionCategoryType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssetTransactionCategoryType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AssetTransactionCategoryType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AssetTransactionDescription.java b/src/main/java/com/plaid/client/model/AssetTransactionDescription.java new file mode 100644 index 0000000000..1ca3de2868 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetTransactionDescription.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetTransactionDescription { + public static final String SERIALIZED_NAME_ASSET_TRANSACTION_DESCRIPTION = "AssetTransactionDescription"; + @SerializedName(SERIALIZED_NAME_ASSET_TRANSACTION_DESCRIPTION) + private String assetTransactionDescription; + + + public AssetTransactionDescription assetTransactionDescription(String assetTransactionDescription) { + + this.assetTransactionDescription = assetTransactionDescription; + return this; + } + + /** + * Asset Transaction Description String up to 3 occurrences 1 required. + * @return assetTransactionDescription + **/ + @ApiModelProperty(required = true, value = "Asset Transaction Description String up to 3 occurrences 1 required.") + + public String getAssetTransactionDescription() { + return assetTransactionDescription; + } + + + public void setAssetTransactionDescription(String assetTransactionDescription) { + this.assetTransactionDescription = assetTransactionDescription; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetTransactionDescription assetTransactionDescription = (AssetTransactionDescription) o; + return Objects.equals(this.assetTransactionDescription, assetTransactionDescription.assetTransactionDescription); + } + + @Override + public int hashCode() { + return Objects.hash(assetTransactionDescription); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetTransactionDescription {\n"); + sb.append(" assetTransactionDescription: ").append(toIndentedString(assetTransactionDescription)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetTransactionDetail.java b/src/main/java/com/plaid/client/model/AssetTransactionDetail.java new file mode 100644 index 0000000000..d461e05b5c --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetTransactionDetail.java @@ -0,0 +1,418 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetInvestmentTransactionType; +import com.plaid.client.model.AssetTransactionCategoryType; +import com.plaid.client.model.AssetTransactionType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetTransactionDetail { + public static final String SERIALIZED_NAME_ASSET_TRANSACTION_UNIQUE_IDENTIFIER = "AssetTransactionUniqueIdentifier"; + @SerializedName(SERIALIZED_NAME_ASSET_TRANSACTION_UNIQUE_IDENTIFIER) + private String assetTransactionUniqueIdentifier; + + public static final String SERIALIZED_NAME_ASSET_TRANSACTION_AMOUNT = "AssetTransactionAmount"; + @SerializedName(SERIALIZED_NAME_ASSET_TRANSACTION_AMOUNT) + private Double assetTransactionAmount; + + public static final String SERIALIZED_NAME_ASSET_TRANSACTION_DATE = "AssetTransactionDate"; + @SerializedName(SERIALIZED_NAME_ASSET_TRANSACTION_DATE) + private LocalDate assetTransactionDate; + + public static final String SERIALIZED_NAME_ASSET_TRANSACTION_POST_DATE = "AssetTransactionPostDate"; + @SerializedName(SERIALIZED_NAME_ASSET_TRANSACTION_POST_DATE) + private LocalDate assetTransactionPostDate; + + public static final String SERIALIZED_NAME_ASSET_TRANSACTION_TYPE = "AssetTransactionType"; + @SerializedName(SERIALIZED_NAME_ASSET_TRANSACTION_TYPE) + private AssetTransactionType assetTransactionType; + + public static final String SERIALIZED_NAME_ASSET_INVESTMENT_TRANSACTION_TYPE = "AssetInvestmentTransactionType"; + @SerializedName(SERIALIZED_NAME_ASSET_INVESTMENT_TRANSACTION_TYPE) + private AssetInvestmentTransactionType assetInvestmentTransactionType; + + public static final String SERIALIZED_NAME_ASSET_TRANSACTION_PAID_BY_NAME = "AssetTransactionPaidByName"; + @SerializedName(SERIALIZED_NAME_ASSET_TRANSACTION_PAID_BY_NAME) + private String assetTransactionPaidByName; + + public static final String SERIALIZED_NAME_ASSET_TRANSACTION_PAID_TO_NAME = "AssetTransactionPaidToName"; + @SerializedName(SERIALIZED_NAME_ASSET_TRANSACTION_PAID_TO_NAME) + private String assetTransactionPaidToName; + + public static final String SERIALIZED_NAME_ASSET_TRANSACTION_TYPE_ADDITIONAL_DESCRIPTION = "AssetTransactionTypeAdditionalDescription"; + @SerializedName(SERIALIZED_NAME_ASSET_TRANSACTION_TYPE_ADDITIONAL_DESCRIPTION) + private String assetTransactionTypeAdditionalDescription; + + public static final String SERIALIZED_NAME_ASSET_INVESTMENT_TRANSACTION_TYPE_DESCRIPTION = "AssetInvestmentTransactionTypeDescription"; + @SerializedName(SERIALIZED_NAME_ASSET_INVESTMENT_TRANSACTION_TYPE_DESCRIPTION) + private String assetInvestmentTransactionTypeDescription; + + public static final String SERIALIZED_NAME_ASSET_TRANSACTION_CATEGORY_TYPE = "AssetTransactionCategoryType"; + @SerializedName(SERIALIZED_NAME_ASSET_TRANSACTION_CATEGORY_TYPE) + private AssetTransactionCategoryType assetTransactionCategoryType; + + public static final String SERIALIZED_NAME_FINANCIAL_INSTITUTION_TRANSACTION_IDENTIFIER = "FinancialInstitutionTransactionIdentifier"; + @SerializedName(SERIALIZED_NAME_FINANCIAL_INSTITUTION_TRANSACTION_IDENTIFIER) + private String financialInstitutionTransactionIdentifier; + + + public AssetTransactionDetail assetTransactionUniqueIdentifier(String assetTransactionUniqueIdentifier) { + + this.assetTransactionUniqueIdentifier = assetTransactionUniqueIdentifier; + return this; + } + + /** + * A vendor created unique Identifier. + * @return assetTransactionUniqueIdentifier + **/ + @ApiModelProperty(required = true, value = "A vendor created unique Identifier.") + + public String getAssetTransactionUniqueIdentifier() { + return assetTransactionUniqueIdentifier; + } + + + public void setAssetTransactionUniqueIdentifier(String assetTransactionUniqueIdentifier) { + this.assetTransactionUniqueIdentifier = assetTransactionUniqueIdentifier; + } + + + public AssetTransactionDetail assetTransactionAmount(Double assetTransactionAmount) { + + this.assetTransactionAmount = assetTransactionAmount; + return this; + } + + /** + * Asset Transaction Amount. + * @return assetTransactionAmount + **/ + @ApiModelProperty(required = true, value = "Asset Transaction Amount.") + + public Double getAssetTransactionAmount() { + return assetTransactionAmount; + } + + + public void setAssetTransactionAmount(Double assetTransactionAmount) { + this.assetTransactionAmount = assetTransactionAmount; + } + + + public AssetTransactionDetail assetTransactionDate(LocalDate assetTransactionDate) { + + this.assetTransactionDate = assetTransactionDate; + return this; + } + + /** + * Asset Transaction Date. + * @return assetTransactionDate + **/ + @ApiModelProperty(required = true, value = "Asset Transaction Date.") + + public LocalDate getAssetTransactionDate() { + return assetTransactionDate; + } + + + public void setAssetTransactionDate(LocalDate assetTransactionDate) { + this.assetTransactionDate = assetTransactionDate; + } + + + public AssetTransactionDetail assetTransactionPostDate(LocalDate assetTransactionPostDate) { + + this.assetTransactionPostDate = assetTransactionPostDate; + return this; + } + + /** + * Asset Transaction Post Date. + * @return assetTransactionPostDate + **/ + @ApiModelProperty(required = true, value = "Asset Transaction Post Date.") + + public LocalDate getAssetTransactionPostDate() { + return assetTransactionPostDate; + } + + + public void setAssetTransactionPostDate(LocalDate assetTransactionPostDate) { + this.assetTransactionPostDate = assetTransactionPostDate; + } + + + public AssetTransactionDetail assetTransactionType(AssetTransactionType assetTransactionType) { + + this.assetTransactionType = assetTransactionType; + return this; + } + + /** + * Get assetTransactionType + * @return assetTransactionType + **/ + @ApiModelProperty(required = true, value = "") + + public AssetTransactionType getAssetTransactionType() { + return assetTransactionType; + } + + + public void setAssetTransactionType(AssetTransactionType assetTransactionType) { + this.assetTransactionType = assetTransactionType; + } + + + public AssetTransactionDetail assetInvestmentTransactionType(AssetInvestmentTransactionType assetInvestmentTransactionType) { + + this.assetInvestmentTransactionType = assetInvestmentTransactionType; + return this; + } + + /** + * Get assetInvestmentTransactionType + * @return assetInvestmentTransactionType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AssetInvestmentTransactionType getAssetInvestmentTransactionType() { + return assetInvestmentTransactionType; + } + + + public void setAssetInvestmentTransactionType(AssetInvestmentTransactionType assetInvestmentTransactionType) { + this.assetInvestmentTransactionType = assetInvestmentTransactionType; + } + + + public AssetTransactionDetail assetTransactionPaidByName(String assetTransactionPaidByName) { + + this.assetTransactionPaidByName = assetTransactionPaidByName; + return this; + } + + /** + * Populate with who did the transaction. + * @return assetTransactionPaidByName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Populate with who did the transaction.") + + public String getAssetTransactionPaidByName() { + return assetTransactionPaidByName; + } + + + public void setAssetTransactionPaidByName(String assetTransactionPaidByName) { + this.assetTransactionPaidByName = assetTransactionPaidByName; + } + + + public AssetTransactionDetail assetTransactionPaidToName(String assetTransactionPaidToName) { + + this.assetTransactionPaidToName = assetTransactionPaidToName; + return this; + } + + /** + * Populate with for whom the transaction is done + * @return assetTransactionPaidToName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Populate with for whom the transaction is done") + + public String getAssetTransactionPaidToName() { + return assetTransactionPaidToName; + } + + + public void setAssetTransactionPaidToName(String assetTransactionPaidToName) { + this.assetTransactionPaidToName = assetTransactionPaidToName; + } + + + public AssetTransactionDetail assetTransactionTypeAdditionalDescription(String assetTransactionTypeAdditionalDescription) { + + this.assetTransactionTypeAdditionalDescription = assetTransactionTypeAdditionalDescription; + return this; + } + + /** + * FI Provided - examples are atm, cash, check, credit, debit, deposit, directDebit, directDeposit, dividend, fee, interest, other, payment, pointOfSale, repeatPayment, serviceCharge, transfer. + * @return assetTransactionTypeAdditionalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "FI Provided - examples are atm, cash, check, credit, debit, deposit, directDebit, directDeposit, dividend, fee, interest, other, payment, pointOfSale, repeatPayment, serviceCharge, transfer.") + + public String getAssetTransactionTypeAdditionalDescription() { + return assetTransactionTypeAdditionalDescription; + } + + + public void setAssetTransactionTypeAdditionalDescription(String assetTransactionTypeAdditionalDescription) { + this.assetTransactionTypeAdditionalDescription = assetTransactionTypeAdditionalDescription; + } + + + public AssetTransactionDetail assetInvestmentTransactionTypeDescription(String assetInvestmentTransactionTypeDescription) { + + this.assetInvestmentTransactionTypeDescription = assetInvestmentTransactionTypeDescription; + return this; + } + + /** + * Asset Investment Transaction Type Description. + * @return assetInvestmentTransactionTypeDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Asset Investment Transaction Type Description.") + + public String getAssetInvestmentTransactionTypeDescription() { + return assetInvestmentTransactionTypeDescription; + } + + + public void setAssetInvestmentTransactionTypeDescription(String assetInvestmentTransactionTypeDescription) { + this.assetInvestmentTransactionTypeDescription = assetInvestmentTransactionTypeDescription; + } + + + public AssetTransactionDetail assetTransactionCategoryType(AssetTransactionCategoryType assetTransactionCategoryType) { + + this.assetTransactionCategoryType = assetTransactionCategoryType; + return this; + } + + /** + * Get assetTransactionCategoryType + * @return assetTransactionCategoryType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AssetTransactionCategoryType getAssetTransactionCategoryType() { + return assetTransactionCategoryType; + } + + + public void setAssetTransactionCategoryType(AssetTransactionCategoryType assetTransactionCategoryType) { + this.assetTransactionCategoryType = assetTransactionCategoryType; + } + + + public AssetTransactionDetail financialInstitutionTransactionIdentifier(String financialInstitutionTransactionIdentifier) { + + this.financialInstitutionTransactionIdentifier = financialInstitutionTransactionIdentifier; + return this; + } + + /** + * FI provided Transaction Identifier. + * @return financialInstitutionTransactionIdentifier + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "FI provided Transaction Identifier.") + + public String getFinancialInstitutionTransactionIdentifier() { + return financialInstitutionTransactionIdentifier; + } + + + public void setFinancialInstitutionTransactionIdentifier(String financialInstitutionTransactionIdentifier) { + this.financialInstitutionTransactionIdentifier = financialInstitutionTransactionIdentifier; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetTransactionDetail assetTransactionDetail = (AssetTransactionDetail) o; + return Objects.equals(this.assetTransactionUniqueIdentifier, assetTransactionDetail.assetTransactionUniqueIdentifier) && + Objects.equals(this.assetTransactionAmount, assetTransactionDetail.assetTransactionAmount) && + Objects.equals(this.assetTransactionDate, assetTransactionDetail.assetTransactionDate) && + Objects.equals(this.assetTransactionPostDate, assetTransactionDetail.assetTransactionPostDate) && + Objects.equals(this.assetTransactionType, assetTransactionDetail.assetTransactionType) && + Objects.equals(this.assetInvestmentTransactionType, assetTransactionDetail.assetInvestmentTransactionType) && + Objects.equals(this.assetTransactionPaidByName, assetTransactionDetail.assetTransactionPaidByName) && + Objects.equals(this.assetTransactionPaidToName, assetTransactionDetail.assetTransactionPaidToName) && + Objects.equals(this.assetTransactionTypeAdditionalDescription, assetTransactionDetail.assetTransactionTypeAdditionalDescription) && + Objects.equals(this.assetInvestmentTransactionTypeDescription, assetTransactionDetail.assetInvestmentTransactionTypeDescription) && + Objects.equals(this.assetTransactionCategoryType, assetTransactionDetail.assetTransactionCategoryType) && + Objects.equals(this.financialInstitutionTransactionIdentifier, assetTransactionDetail.financialInstitutionTransactionIdentifier); + } + + @Override + public int hashCode() { + return Objects.hash(assetTransactionUniqueIdentifier, assetTransactionAmount, assetTransactionDate, assetTransactionPostDate, assetTransactionType, assetInvestmentTransactionType, assetTransactionPaidByName, assetTransactionPaidToName, assetTransactionTypeAdditionalDescription, assetInvestmentTransactionTypeDescription, assetTransactionCategoryType, financialInstitutionTransactionIdentifier); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetTransactionDetail {\n"); + sb.append(" assetTransactionUniqueIdentifier: ").append(toIndentedString(assetTransactionUniqueIdentifier)).append("\n"); + sb.append(" assetTransactionAmount: ").append(toIndentedString(assetTransactionAmount)).append("\n"); + sb.append(" assetTransactionDate: ").append(toIndentedString(assetTransactionDate)).append("\n"); + sb.append(" assetTransactionPostDate: ").append(toIndentedString(assetTransactionPostDate)).append("\n"); + sb.append(" assetTransactionType: ").append(toIndentedString(assetTransactionType)).append("\n"); + sb.append(" assetInvestmentTransactionType: ").append(toIndentedString(assetInvestmentTransactionType)).append("\n"); + sb.append(" assetTransactionPaidByName: ").append(toIndentedString(assetTransactionPaidByName)).append("\n"); + sb.append(" assetTransactionPaidToName: ").append(toIndentedString(assetTransactionPaidToName)).append("\n"); + sb.append(" assetTransactionTypeAdditionalDescription: ").append(toIndentedString(assetTransactionTypeAdditionalDescription)).append("\n"); + sb.append(" assetInvestmentTransactionTypeDescription: ").append(toIndentedString(assetInvestmentTransactionTypeDescription)).append("\n"); + sb.append(" assetTransactionCategoryType: ").append(toIndentedString(assetTransactionCategoryType)).append("\n"); + sb.append(" financialInstitutionTransactionIdentifier: ").append(toIndentedString(financialInstitutionTransactionIdentifier)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetTransactionType.java b/src/main/java/com/plaid/client/model/AssetTransactionType.java new file mode 100644 index 0000000000..3fcc487dc2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetTransactionType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Asset Transaction Type. + */ +@JsonAdapter(AssetTransactionType.Adapter.class) +public enum AssetTransactionType { + + CREDIT("Credit"), + + DEBIT("Debit"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AssetTransactionType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssetTransactionType fromValue(String value) { + for (AssetTransactionType b : AssetTransactionType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return AssetTransactionType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AssetTransactionType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssetTransactionType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AssetTransactionType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AssetTransactions.java b/src/main/java/com/plaid/client/model/AssetTransactions.java new file mode 100644 index 0000000000..fe2dd19762 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetTransactions.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetTransactions { + public static final String SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N = "ASSET_TRANSACTION"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N) + private List ASSET_TRANSACTION = new ArrayList<>(); + + + public AssetTransactions ASSET_TRANSACTION(List ASSET_TRANSACTION) { + + this.ASSET_TRANSACTION = ASSET_TRANSACTION; + return this; + } + + public AssetTransactions addASSETTRANSACTIONItem(AssetTransaction ASSET_TRANSACTIONItem) { + this.ASSET_TRANSACTION.add(ASSET_TRANSACTIONItem); + return this; + } + + /** + * Get ASSET_TRANSACTION + * @return ASSET_TRANSACTION + **/ + @ApiModelProperty(required = true, value = "") + + public List getASSETTRANSACTION() { + return ASSET_TRANSACTION; + } + + + public void setASSETTRANSACTION(List ASSET_TRANSACTION) { + this.ASSET_TRANSACTION = ASSET_TRANSACTION; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetTransactions assetTransactions = (AssetTransactions) o; + return Objects.equals(this.ASSET_TRANSACTION, assetTransactions.ASSET_TRANSACTION); + } + + @Override + public int hashCode() { + return Objects.hash(ASSET_TRANSACTION); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetTransactions {\n"); + sb.append(" ASSET_TRANSACTION: ").append(toIndentedString(ASSET_TRANSACTION)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetType.java b/src/main/java/com/plaid/client/model/AssetType.java new file mode 100644 index 0000000000..744cd9068e --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetType.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A value from a MISMO prescribed list that specifies financial assets in a mortgage loan transaction. Assets may be either liquid or fixed and are associated with a corresponding asset amount. + */ +@JsonAdapter(AssetType.Adapter.class) +public enum AssetType { + + CHECKINGACCOUNT("CheckingAccount"), + + SAVINGSACCOUNT("SavingsAccount"), + + INVESTMENT("Investment"), + + MONEYMARKETFUND("MoneyMarketFund"), + + OTHER("Other"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AssetType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssetType fromValue(String value) { + for (AssetType b : AssetType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return AssetType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AssetType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssetType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AssetType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/Assets.java b/src/main/java/com/plaid/client/model/Assets.java new file mode 100644 index 0000000000..bf5dacf1ca --- /dev/null +++ b/src/main/java/com/plaid/client/model/Assets.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Asset; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Assets { + public static final String SERIALIZED_NAME_A_S_S_E_T = "ASSET"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T) + private List ASSET = new ArrayList<>(); + + + public Assets ASSET(List ASSET) { + + this.ASSET = ASSET; + return this; + } + + public Assets addASSETItem(Asset ASSETItem) { + this.ASSET.add(ASSETItem); + return this; + } + + /** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + * @return ASSET + **/ + @ApiModelProperty(required = true, value = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") + + public List getASSET() { + return ASSET; + } + + + public void setASSET(List ASSET) { + this.ASSET = ASSET; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Assets assets = (Assets) o; + return Objects.equals(this.ASSET, assets.ASSET); + } + + @Override + public int hashCode() { + return Objects.hash(ASSET); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Assets {\n"); + sb.append(" ASSET: ").append(toIndentedString(ASSET)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetsErrorWebhook.java b/src/main/java/com/plaid/client/model/AssetsErrorWebhook.java new file mode 100644 index 0000000000..c69cd3e001 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetsErrorWebhook.java @@ -0,0 +1,242 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when Asset Report generation has failed. The resulting `error` will have an `error_type` of `ASSET_REPORT_ERROR`. + */ +@ApiModel(description = "Fired when Asset Report generation has failed. The resulting `error` will have an `error_type` of `ASSET_REPORT_ERROR`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetsErrorWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_ASSET_REPORT_ID = "asset_report_id"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_ID) + private String assetReportId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public AssetsErrorWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `ASSETS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`ASSETS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public AssetsErrorWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `ERROR` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`ERROR`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public AssetsErrorWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public AssetsErrorWebhook assetReportId(String assetReportId) { + + this.assetReportId = assetReportId; + return this; + } + + /** + * The ID associated with the Asset Report. + * @return assetReportId + **/ + @ApiModelProperty(required = true, value = "The ID associated with the Asset Report.") + + public String getAssetReportId() { + return assetReportId; + } + + + public void setAssetReportId(String assetReportId) { + this.assetReportId = assetReportId; + } + + + public AssetsErrorWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the User ID the webhook has fired for. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `user_id` corresponding to the User ID the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public AssetsErrorWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetsErrorWebhook assetsErrorWebhook = (AssetsErrorWebhook) o; + return Objects.equals(this.webhookType, assetsErrorWebhook.webhookType) && + Objects.equals(this.webhookCode, assetsErrorWebhook.webhookCode) && + Objects.equals(this.error, assetsErrorWebhook.error) && + Objects.equals(this.assetReportId, assetsErrorWebhook.assetReportId) && + Objects.equals(this.userId, assetsErrorWebhook.userId) && + Objects.equals(this.environment, assetsErrorWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, error, assetReportId, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetsErrorWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" assetReportId: ").append(toIndentedString(assetReportId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AssetsProductReadyWebhook.java b/src/main/java/com/plaid/client/model/AssetsProductReadyWebhook.java new file mode 100644 index 0000000000..3124da3705 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AssetsProductReadyWebhook.java @@ -0,0 +1,242 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetReportType; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when the Asset Report has been generated and `/asset_report/get` is ready to be called. If you attempt to retrieve an Asset Report before this webhook has fired, you'll receive a response with the HTTP status code 400 and a Plaid error code of `PRODUCT_NOT_READY`. + */ +@ApiModel(description = "Fired when the Asset Report has been generated and `/asset_report/get` is ready to be called. If you attempt to retrieve an Asset Report before this webhook has fired, you'll receive a response with the HTTP status code 400 and a Plaid error code of `PRODUCT_NOT_READY`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AssetsProductReadyWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ASSET_REPORT_ID = "asset_report_id"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_ID) + private String assetReportId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_REPORT_TYPE = "report_type"; + @SerializedName(SERIALIZED_NAME_REPORT_TYPE) + private AssetReportType reportType; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public AssetsProductReadyWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `ASSETS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`ASSETS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public AssetsProductReadyWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `PRODUCT_READY` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`PRODUCT_READY`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public AssetsProductReadyWebhook assetReportId(String assetReportId) { + + this.assetReportId = assetReportId; + return this; + } + + /** + * The `asset_report_id` corresponding to the Asset Report the webhook has fired for. + * @return assetReportId + **/ + @ApiModelProperty(required = true, value = "The `asset_report_id` corresponding to the Asset Report the webhook has fired for.") + + public String getAssetReportId() { + return assetReportId; + } + + + public void setAssetReportId(String assetReportId) { + this.assetReportId = assetReportId; + } + + + public AssetsProductReadyWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the User ID the webhook has fired for. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `user_id` corresponding to the User ID the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public AssetsProductReadyWebhook reportType(AssetReportType reportType) { + + this.reportType = reportType; + return this; + } + + /** + * Get reportType + * @return reportType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AssetReportType getReportType() { + return reportType; + } + + + public void setReportType(AssetReportType reportType) { + this.reportType = reportType; + } + + + public AssetsProductReadyWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssetsProductReadyWebhook assetsProductReadyWebhook = (AssetsProductReadyWebhook) o; + return Objects.equals(this.webhookType, assetsProductReadyWebhook.webhookType) && + Objects.equals(this.webhookCode, assetsProductReadyWebhook.webhookCode) && + Objects.equals(this.assetReportId, assetsProductReadyWebhook.assetReportId) && + Objects.equals(this.userId, assetsProductReadyWebhook.userId) && + Objects.equals(this.reportType, assetsProductReadyWebhook.reportType) && + Objects.equals(this.environment, assetsProductReadyWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, assetReportId, userId, reportType, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssetsProductReadyWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" assetReportId: ").append(toIndentedString(assetReportId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" reportType: ").append(toIndentedString(reportType)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AuthDefaultUpdateWebhook.java b/src/main/java/com/plaid/client/model/AuthDefaultUpdateWebhook.java new file mode 100644 index 0000000000..ec999b84e4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthDefaultUpdateWebhook.java @@ -0,0 +1,284 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AuthUpdateTypes; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Plaid will trigger a `DEFAULT_UPDATE` webhook for Items that undergo a change in Auth data. This is generally caused by data partners notifying Plaid of a change in their account numbering system or to their routing numbers. To avoid returned transactions, customers that receive a `DEFAULT_UPDATE` webhook with the `account_ids_with_updated_auth` object populated should immediately discontinue all usages of existing Auth data for those accounts and call `/auth/get` or `/processor/auth/get` to obtain updated account and routing numbers. + */ +@ApiModel(description = "Plaid will trigger a `DEFAULT_UPDATE` webhook for Items that undergo a change in Auth data. This is generally caused by data partners notifying Plaid of a change in their account numbering system or to their routing numbers. To avoid returned transactions, customers that receive a `DEFAULT_UPDATE` webhook with the `account_ids_with_updated_auth` object populated should immediately discontinue all usages of existing Auth data for those accounts and call `/auth/get` or `/processor/auth/get` to obtain updated account and routing numbers.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AuthDefaultUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNT_IDS_WITH_NEW_AUTH = "account_ids_with_new_auth"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS_WITH_NEW_AUTH) + private List accountIdsWithNewAuth = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ACCOUNT_IDS_WITH_UPDATED_AUTH = "account_ids_with_updated_auth"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS_WITH_UPDATED_AUTH) + private Map> accountIdsWithUpdatedAuth = new HashMap<>(); + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public AuthDefaultUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `AUTH` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`AUTH`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public AuthDefaultUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `DEFAULT_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`DEFAULT_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public AuthDefaultUpdateWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public AuthDefaultUpdateWebhook accountIdsWithNewAuth(List accountIdsWithNewAuth) { + + this.accountIdsWithNewAuth = accountIdsWithNewAuth; + return this; + } + + public AuthDefaultUpdateWebhook addAccountIdsWithNewAuthItem(String accountIdsWithNewAuthItem) { + this.accountIdsWithNewAuth.add(accountIdsWithNewAuthItem); + return this; + } + + /** + * An array of `account_id`'s for accounts that contain new auth. + * @return accountIdsWithNewAuth + **/ + @ApiModelProperty(required = true, value = "An array of `account_id`'s for accounts that contain new auth.") + + public List getAccountIdsWithNewAuth() { + return accountIdsWithNewAuth; + } + + + public void setAccountIdsWithNewAuth(List accountIdsWithNewAuth) { + this.accountIdsWithNewAuth = accountIdsWithNewAuth; + } + + + public AuthDefaultUpdateWebhook accountIdsWithUpdatedAuth(Map> accountIdsWithUpdatedAuth) { + + this.accountIdsWithUpdatedAuth = accountIdsWithUpdatedAuth; + return this; + } + + public AuthDefaultUpdateWebhook putAccountIdsWithUpdatedAuthItem(String key, List accountIdsWithUpdatedAuthItem) { + this.accountIdsWithUpdatedAuth.put(key, accountIdsWithUpdatedAuthItem); + return this; + } + + /** + * An object with keys of `account_id`'s that are mapped to their respective auth attributes that changed. `ACCOUNT_NUMBER` and `ROUTING_NUMBER` are the two potential values that can be flagged as updated. Example: `{ \"XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58\": [\"ACCOUNT_NUMBER\"] }` + * @return accountIdsWithUpdatedAuth + **/ + @ApiModelProperty(required = true, value = "An object with keys of `account_id`'s that are mapped to their respective auth attributes that changed. `ACCOUNT_NUMBER` and `ROUTING_NUMBER` are the two potential values that can be flagged as updated. Example: `{ \"XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58\": [\"ACCOUNT_NUMBER\"] }` ") + + public Map> getAccountIdsWithUpdatedAuth() { + return accountIdsWithUpdatedAuth; + } + + + public void setAccountIdsWithUpdatedAuth(Map> accountIdsWithUpdatedAuth) { + this.accountIdsWithUpdatedAuth = accountIdsWithUpdatedAuth; + } + + + public AuthDefaultUpdateWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public AuthDefaultUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthDefaultUpdateWebhook authDefaultUpdateWebhook = (AuthDefaultUpdateWebhook) o; + return Objects.equals(this.webhookType, authDefaultUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, authDefaultUpdateWebhook.webhookCode) && + Objects.equals(this.itemId, authDefaultUpdateWebhook.itemId) && + Objects.equals(this.accountIdsWithNewAuth, authDefaultUpdateWebhook.accountIdsWithNewAuth) && + Objects.equals(this.accountIdsWithUpdatedAuth, authDefaultUpdateWebhook.accountIdsWithUpdatedAuth) && + Objects.equals(this.error, authDefaultUpdateWebhook.error) && + Objects.equals(this.environment, authDefaultUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, accountIdsWithNewAuth, accountIdsWithUpdatedAuth, error, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AuthDefaultUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accountIdsWithNewAuth: ").append(toIndentedString(accountIdsWithNewAuth)).append("\n"); + sb.append(" accountIdsWithUpdatedAuth: ").append(toIndentedString(accountIdsWithUpdatedAuth)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AuthGetNumbers.java b/src/main/java/com/plaid/client/model/AuthGetNumbers.java new file mode 100644 index 0000000000..77a9415904 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthGetNumbers.java @@ -0,0 +1,208 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NumbersACH; +import com.plaid.client.model.NumbersBACS; +import com.plaid.client.model.NumbersEFT; +import com.plaid.client.model.NumbersInternational; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object containing identifying numbers used for making electronic transfers to and from the `accounts`. The identifying number type (ACH, EFT, IBAN, or Bacs) used will depend on the country of the account. An account may have more than one number type. If a particular identifying number type is not used by any `accounts` for which data has been requested, the array for that type will be empty. + */ +@ApiModel(description = "An object containing identifying numbers used for making electronic transfers to and from the `accounts`. The identifying number type (ACH, EFT, IBAN, or Bacs) used will depend on the country of the account. An account may have more than one number type. If a particular identifying number type is not used by any `accounts` for which data has been requested, the array for that type will be empty.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AuthGetNumbers { + public static final String SERIALIZED_NAME_ACH = "ach"; + @SerializedName(SERIALIZED_NAME_ACH) + private List ach = new ArrayList<>(); + + public static final String SERIALIZED_NAME_EFT = "eft"; + @SerializedName(SERIALIZED_NAME_EFT) + private List eft = new ArrayList<>(); + + public static final String SERIALIZED_NAME_INTERNATIONAL = "international"; + @SerializedName(SERIALIZED_NAME_INTERNATIONAL) + private List international = new ArrayList<>(); + + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private List bacs = new ArrayList<>(); + + + public AuthGetNumbers ach(List ach) { + + this.ach = ach; + return this; + } + + public AuthGetNumbers addAchItem(NumbersACH achItem) { + this.ach.add(achItem); + return this; + } + + /** + * An array of ACH numbers identifying accounts. + * @return ach + **/ + @ApiModelProperty(required = true, value = "An array of ACH numbers identifying accounts.") + + public List getAch() { + return ach; + } + + + public void setAch(List ach) { + this.ach = ach; + } + + + public AuthGetNumbers eft(List eft) { + + this.eft = eft; + return this; + } + + public AuthGetNumbers addEftItem(NumbersEFT eftItem) { + this.eft.add(eftItem); + return this; + } + + /** + * An array of EFT numbers identifying accounts. + * @return eft + **/ + @ApiModelProperty(required = true, value = "An array of EFT numbers identifying accounts.") + + public List getEft() { + return eft; + } + + + public void setEft(List eft) { + this.eft = eft; + } + + + public AuthGetNumbers international(List international) { + + this.international = international; + return this; + } + + public AuthGetNumbers addInternationalItem(NumbersInternational internationalItem) { + this.international.add(internationalItem); + return this; + } + + /** + * An array of IBAN numbers identifying accounts. + * @return international + **/ + @ApiModelProperty(required = true, value = "An array of IBAN numbers identifying accounts.") + + public List getInternational() { + return international; + } + + + public void setInternational(List international) { + this.international = international; + } + + + public AuthGetNumbers bacs(List bacs) { + + this.bacs = bacs; + return this; + } + + public AuthGetNumbers addBacsItem(NumbersBACS bacsItem) { + this.bacs.add(bacsItem); + return this; + } + + /** + * An array of Bacs numbers identifying accounts. + * @return bacs + **/ + @ApiModelProperty(required = true, value = "An array of Bacs numbers identifying accounts.") + + public List getBacs() { + return bacs; + } + + + public void setBacs(List bacs) { + this.bacs = bacs; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthGetNumbers authGetNumbers = (AuthGetNumbers) o; + return Objects.equals(this.ach, authGetNumbers.ach) && + Objects.equals(this.eft, authGetNumbers.eft) && + Objects.equals(this.international, authGetNumbers.international) && + Objects.equals(this.bacs, authGetNumbers.bacs); + } + + @Override + public int hashCode() { + return Objects.hash(ach, eft, international, bacs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AuthGetNumbers {\n"); + sb.append(" ach: ").append(toIndentedString(ach)).append("\n"); + sb.append(" eft: ").append(toIndentedString(eft)).append("\n"); + sb.append(" international: ").append(toIndentedString(international)).append("\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AuthGetRequest.java b/src/main/java/com/plaid/client/model/AuthGetRequest.java new file mode 100644 index 0000000000..eb299808e4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AuthGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AuthGetRequest defines the request schema for `/auth/get` + */ +@ApiModel(description = "AuthGetRequest defines the request schema for `/auth/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AuthGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private AuthGetRequestOptions options; + + + public AuthGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AuthGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AuthGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public AuthGetRequest options(AuthGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AuthGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(AuthGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthGetRequest authGetRequest = (AuthGetRequest) o; + return Objects.equals(this.clientId, authGetRequest.clientId) && + Objects.equals(this.secret, authGetRequest.secret) && + Objects.equals(this.accessToken, authGetRequest.accessToken) && + Objects.equals(this.options, authGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AuthGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AuthGetRequestOptions.java b/src/main/java/com/plaid/client/model/AuthGetRequestOptions.java new file mode 100644 index 0000000000..2bf261a373 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthGetRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to filter `/auth/get` results. + */ +@ApiModel(description = "An optional object to filter `/auth/get` results.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AuthGetRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + + public AuthGetRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public AuthGetRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * A list of `account_ids` to retrieve for the Item. Note: An error will be returned if a provided `account_id` is not associated with the Item. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of `account_ids` to retrieve for the Item. Note: An error will be returned if a provided `account_id` is not associated with the Item.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthGetRequestOptions authGetRequestOptions = (AuthGetRequestOptions) o; + return Objects.equals(this.accountIds, authGetRequestOptions.accountIds); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AuthGetRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AuthGetResponse.java b/src/main/java/com/plaid/client/model/AuthGetResponse.java new file mode 100644 index 0000000000..82b8a1a326 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthGetResponse.java @@ -0,0 +1,192 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.AuthGetNumbers; +import com.plaid.client.model.Item; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * AuthGetResponse defines the response schema for `/auth/get` + */ +@ApiModel(description = "AuthGetResponse defines the response schema for `/auth/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AuthGetResponse { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NUMBERS = "numbers"; + @SerializedName(SERIALIZED_NAME_NUMBERS) + private AuthGetNumbers numbers; + + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public AuthGetResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public AuthGetResponse addAccountsItem(AccountBase accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * The `accounts` for which numbers are being retrieved. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "The `accounts` for which numbers are being retrieved.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public AuthGetResponse numbers(AuthGetNumbers numbers) { + + this.numbers = numbers; + return this; + } + + /** + * Get numbers + * @return numbers + **/ + @ApiModelProperty(required = true, value = "") + + public AuthGetNumbers getNumbers() { + return numbers; + } + + + public void setNumbers(AuthGetNumbers numbers) { + this.numbers = numbers; + } + + + public AuthGetResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public AuthGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthGetResponse authGetResponse = (AuthGetResponse) o; + return Objects.equals(this.accounts, authGetResponse.accounts) && + Objects.equals(this.numbers, authGetResponse.numbers) && + Objects.equals(this.item, authGetResponse.item) && + Objects.equals(this.requestId, authGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, numbers, item, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AuthGetResponse {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" numbers: ").append(toIndentedString(numbers)).append("\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AuthMetadata.java b/src/main/java/com/plaid/client/model/AuthMetadata.java new file mode 100644 index 0000000000..8c832b7338 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthMetadata.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AuthSupportedMethods; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Metadata that captures information about the Auth features of an institution. + */ +@ApiModel(description = "Metadata that captures information about the Auth features of an institution.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AuthMetadata { + public static final String SERIALIZED_NAME_SUPPORTED_METHODS = "supported_methods"; + @SerializedName(SERIALIZED_NAME_SUPPORTED_METHODS) + private AuthSupportedMethods supportedMethods; + + + public AuthMetadata supportedMethods(AuthSupportedMethods supportedMethods) { + + this.supportedMethods = supportedMethods; + return this; + } + + /** + * Get supportedMethods + * @return supportedMethods + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AuthSupportedMethods getSupportedMethods() { + return supportedMethods; + } + + + public void setSupportedMethods(AuthSupportedMethods supportedMethods) { + this.supportedMethods = supportedMethods; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthMetadata authMetadata = (AuthMetadata) o; + return Objects.equals(this.supportedMethods, authMetadata.supportedMethods); + } + + @Override + public int hashCode() { + return Objects.hash(supportedMethods); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AuthMetadata {\n"); + sb.append(" supportedMethods: ").append(toIndentedString(supportedMethods)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AuthSupportedMethods.java b/src/main/java/com/plaid/client/model/AuthSupportedMethods.java new file mode 100644 index 0000000000..0bc4d12296 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthSupportedMethods.java @@ -0,0 +1,182 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Metadata specifically related to which auth methods an institution supports. + */ +@ApiModel(description = "Metadata specifically related to which auth methods an institution supports.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AuthSupportedMethods { + public static final String SERIALIZED_NAME_INSTANT_AUTH = "instant_auth"; + @SerializedName(SERIALIZED_NAME_INSTANT_AUTH) + private Boolean instantAuth; + + public static final String SERIALIZED_NAME_INSTANT_MATCH = "instant_match"; + @SerializedName(SERIALIZED_NAME_INSTANT_MATCH) + private Boolean instantMatch; + + public static final String SERIALIZED_NAME_AUTOMATED_MICRO_DEPOSITS = "automated_micro_deposits"; + @SerializedName(SERIALIZED_NAME_AUTOMATED_MICRO_DEPOSITS) + private Boolean automatedMicroDeposits; + + public static final String SERIALIZED_NAME_INSTANT_MICRO_DEPOSITS = "instant_micro_deposits"; + @SerializedName(SERIALIZED_NAME_INSTANT_MICRO_DEPOSITS) + private Boolean instantMicroDeposits; + + + public AuthSupportedMethods instantAuth(Boolean instantAuth) { + + this.instantAuth = instantAuth; + return this; + } + + /** + * Indicates if instant auth is supported. + * @return instantAuth + **/ + @ApiModelProperty(required = true, value = "Indicates if instant auth is supported.") + + public Boolean getInstantAuth() { + return instantAuth; + } + + + public void setInstantAuth(Boolean instantAuth) { + this.instantAuth = instantAuth; + } + + + public AuthSupportedMethods instantMatch(Boolean instantMatch) { + + this.instantMatch = instantMatch; + return this; + } + + /** + * Indicates if instant match is supported. + * @return instantMatch + **/ + @ApiModelProperty(required = true, value = "Indicates if instant match is supported.") + + public Boolean getInstantMatch() { + return instantMatch; + } + + + public void setInstantMatch(Boolean instantMatch) { + this.instantMatch = instantMatch; + } + + + public AuthSupportedMethods automatedMicroDeposits(Boolean automatedMicroDeposits) { + + this.automatedMicroDeposits = automatedMicroDeposits; + return this; + } + + /** + * Indicates if automated micro-deposits are supported. + * @return automatedMicroDeposits + **/ + @ApiModelProperty(required = true, value = "Indicates if automated micro-deposits are supported.") + + public Boolean getAutomatedMicroDeposits() { + return automatedMicroDeposits; + } + + + public void setAutomatedMicroDeposits(Boolean automatedMicroDeposits) { + this.automatedMicroDeposits = automatedMicroDeposits; + } + + + public AuthSupportedMethods instantMicroDeposits(Boolean instantMicroDeposits) { + + this.instantMicroDeposits = instantMicroDeposits; + return this; + } + + /** + * Indicates if instant micro-deposits are supported. + * @return instantMicroDeposits + **/ + @ApiModelProperty(required = true, value = "Indicates if instant micro-deposits are supported.") + + public Boolean getInstantMicroDeposits() { + return instantMicroDeposits; + } + + + public void setInstantMicroDeposits(Boolean instantMicroDeposits) { + this.instantMicroDeposits = instantMicroDeposits; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthSupportedMethods authSupportedMethods = (AuthSupportedMethods) o; + return Objects.equals(this.instantAuth, authSupportedMethods.instantAuth) && + Objects.equals(this.instantMatch, authSupportedMethods.instantMatch) && + Objects.equals(this.automatedMicroDeposits, authSupportedMethods.automatedMicroDeposits) && + Objects.equals(this.instantMicroDeposits, authSupportedMethods.instantMicroDeposits); + } + + @Override + public int hashCode() { + return Objects.hash(instantAuth, instantMatch, automatedMicroDeposits, instantMicroDeposits); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AuthSupportedMethods {\n"); + sb.append(" instantAuth: ").append(toIndentedString(instantAuth)).append("\n"); + sb.append(" instantMatch: ").append(toIndentedString(instantMatch)).append("\n"); + sb.append(" automatedMicroDeposits: ").append(toIndentedString(automatedMicroDeposits)).append("\n"); + sb.append(" instantMicroDeposits: ").append(toIndentedString(instantMicroDeposits)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AuthUpdateTypes.java b/src/main/java/com/plaid/client/model/AuthUpdateTypes.java new file mode 100644 index 0000000000..5b10ace330 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthUpdateTypes.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The possible types of auth data that may have changed. + */ +@JsonAdapter(AuthUpdateTypes.Adapter.class) +public enum AuthUpdateTypes { + + ACCOUNT_NUMBER("ACCOUNT_NUMBER"), + + ROUTING_NUMBER("ROUTING_NUMBER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + AuthUpdateTypes(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AuthUpdateTypes fromValue(String value) { + for (AuthUpdateTypes b : AuthUpdateTypes.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return AuthUpdateTypes.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AuthUpdateTypes enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AuthUpdateTypes read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AuthUpdateTypes.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/AuthVerifyNumbersACH.java b/src/main/java/com/plaid/client/model/AuthVerifyNumbersACH.java new file mode 100644 index 0000000000..31a1ba5029 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthVerifyNumbersACH.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ACH numbers for verification via Database Auth + */ +@ApiModel(description = "ACH numbers for verification via Database Auth") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AuthVerifyNumbersACH { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_ROUTING = "routing"; + @SerializedName(SERIALIZED_NAME_ROUTING) + private String routing; + + + public AuthVerifyNumbersACH account(String account) { + + this.account = account; + return this; + } + + /** + * Account's account number + * @return account + **/ + @ApiModelProperty(required = true, value = "Account's account number") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public AuthVerifyNumbersACH routing(String routing) { + + this.routing = routing; + return this; + } + + /** + * Account's routing number + * @return routing + **/ + @ApiModelProperty(required = true, value = "Account's routing number") + + public String getRouting() { + return routing; + } + + + public void setRouting(String routing) { + this.routing = routing; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthVerifyNumbersACH authVerifyNumbersACH = (AuthVerifyNumbersACH) o; + return Objects.equals(this.account, authVerifyNumbersACH.account) && + Objects.equals(this.routing, authVerifyNumbersACH.routing); + } + + @Override + public int hashCode() { + return Objects.hash(account, routing); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AuthVerifyNumbersACH {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" routing: ").append(toIndentedString(routing)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AuthVerifyRequest.java b/src/main/java/com/plaid/client/model/AuthVerifyRequest.java new file mode 100644 index 0000000000..cb9f824dfa --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthVerifyRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AuthVerifyRequestNumbers; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AuthVerifyRequest defines the request schema for `/auth/verify` + */ +@ApiModel(description = "AuthVerifyRequest defines the request schema for `/auth/verify`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AuthVerifyRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_NUMBERS = "numbers"; + @SerializedName(SERIALIZED_NAME_NUMBERS) + private AuthVerifyRequestNumbers numbers; + + + public AuthVerifyRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public AuthVerifyRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public AuthVerifyRequest legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * Account owner's legal name + * @return legalName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Account owner's legal name") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public AuthVerifyRequest numbers(AuthVerifyRequestNumbers numbers) { + + this.numbers = numbers; + return this; + } + + /** + * Get numbers + * @return numbers + **/ + @ApiModelProperty(required = true, value = "") + + public AuthVerifyRequestNumbers getNumbers() { + return numbers; + } + + + public void setNumbers(AuthVerifyRequestNumbers numbers) { + this.numbers = numbers; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthVerifyRequest authVerifyRequest = (AuthVerifyRequest) o; + return Objects.equals(this.clientId, authVerifyRequest.clientId) && + Objects.equals(this.secret, authVerifyRequest.secret) && + Objects.equals(this.legalName, authVerifyRequest.legalName) && + Objects.equals(this.numbers, authVerifyRequest.numbers); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, legalName, numbers); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AuthVerifyRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" numbers: ").append(toIndentedString(numbers)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AuthVerifyRequestNumbers.java b/src/main/java/com/plaid/client/model/AuthVerifyRequestNumbers.java new file mode 100644 index 0000000000..0f51fa5385 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthVerifyRequestNumbers.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AuthVerifyNumbersACH; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object containing identifying account numbers for verification via Database Auth + */ +@ApiModel(description = "An object containing identifying account numbers for verification via Database Auth") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AuthVerifyRequestNumbers { + public static final String SERIALIZED_NAME_ACH = "ach"; + @SerializedName(SERIALIZED_NAME_ACH) + private AuthVerifyNumbersACH ach; + + + public AuthVerifyRequestNumbers ach(AuthVerifyNumbersACH ach) { + + this.ach = ach; + return this; + } + + /** + * Get ach + * @return ach + **/ + @ApiModelProperty(required = true, value = "") + + public AuthVerifyNumbersACH getAch() { + return ach; + } + + + public void setAch(AuthVerifyNumbersACH ach) { + this.ach = ach; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthVerifyRequestNumbers authVerifyRequestNumbers = (AuthVerifyRequestNumbers) o; + return Objects.equals(this.ach, authVerifyRequestNumbers.ach); + } + + @Override + public int hashCode() { + return Objects.hash(ach); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AuthVerifyRequestNumbers {\n"); + sb.append(" ach: ").append(toIndentedString(ach)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AuthVerifyResponse.java b/src/main/java/com/plaid/client/model/AuthVerifyResponse.java new file mode 100644 index 0000000000..52c1845cdf --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthVerifyResponse.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountVerificationInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AuthVerifyResponse defines the response schema for `/auth/verify` + */ +@ApiModel(description = "AuthVerifyResponse defines the response schema for `/auth/verify`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AuthVerifyResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private String verificationStatus; + + public static final String SERIALIZED_NAME_VERIFICATION_INSIGHTS = "verification_insights"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_INSIGHTS) + private AccountVerificationInsights verificationInsights; + + + public AuthVerifyResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public AuthVerifyResponse itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` value of the Item created for verification. If numbers data provided is invalid, an Item may not be created. + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `item_id` value of the Item created for verification. If numbers data provided is invalid, an Item may not be created.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public AuthVerifyResponse verificationStatus(String verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Indicates the Item's database verification status. Possible values are: `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. + * @return verificationStatus + **/ + @ApiModelProperty(required = true, value = "Indicates the Item's database verification status. Possible values are: `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. ") + + public String getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(String verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + public AuthVerifyResponse verificationInsights(AccountVerificationInsights verificationInsights) { + + this.verificationInsights = verificationInsights; + return this; + } + + /** + * Get verificationInsights + * @return verificationInsights + **/ + @ApiModelProperty(required = true, value = "") + + public AccountVerificationInsights getVerificationInsights() { + return verificationInsights; + } + + + public void setVerificationInsights(AccountVerificationInsights verificationInsights) { + this.verificationInsights = verificationInsights; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthVerifyResponse authVerifyResponse = (AuthVerifyResponse) o; + return Objects.equals(this.requestId, authVerifyResponse.requestId) && + Objects.equals(this.itemId, authVerifyResponse.itemId) && + Objects.equals(this.verificationStatus, authVerifyResponse.verificationStatus) && + Objects.equals(this.verificationInsights, authVerifyResponse.verificationInsights); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, itemId, verificationStatus, verificationInsights); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AuthVerifyResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append(" verificationInsights: ").append(toIndentedString(verificationInsights)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AuthorizationGuaranteeDetails.java b/src/main/java/com/plaid/client/model/AuthorizationGuaranteeDetails.java new file mode 100644 index 0000000000..1133c68832 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthorizationGuaranteeDetails.java @@ -0,0 +1,135 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AuthorizationGuaranteeScheduleItem; +import com.plaid.client.model.TransferGuaranteeOutcome; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Adaptive guarantee details for a transfer authorization, including the guarantee outcome and settlement schedule. Omitted when no guarantee was attempted. + */ +@ApiModel(description = "Adaptive guarantee details for a transfer authorization, including the guarantee outcome and settlement schedule. Omitted when no guarantee was attempted.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AuthorizationGuaranteeDetails { + public static final String SERIALIZED_NAME_OUTCOME = "outcome"; + @SerializedName(SERIALIZED_NAME_OUTCOME) + private TransferGuaranteeOutcome outcome; + + public static final String SERIALIZED_NAME_SCHEDULE = "schedule"; + @SerializedName(SERIALIZED_NAME_SCHEDULE) + private List schedule = new ArrayList<>(); + + + public AuthorizationGuaranteeDetails outcome(TransferGuaranteeOutcome outcome) { + + this.outcome = outcome; + return this; + } + + /** + * Get outcome + * @return outcome + **/ + @ApiModelProperty(required = true, value = "") + + public TransferGuaranteeOutcome getOutcome() { + return outcome; + } + + + public void setOutcome(TransferGuaranteeOutcome outcome) { + this.outcome = outcome; + } + + + public AuthorizationGuaranteeDetails schedule(List schedule) { + + this.schedule = schedule; + return this; + } + + public AuthorizationGuaranteeDetails addScheduleItem(AuthorizationGuaranteeScheduleItem scheduleItem) { + this.schedule.add(scheduleItem); + return this; + } + + /** + * The adaptive guarantee settlement schedule for this authorization. + * @return schedule + **/ + @ApiModelProperty(required = true, value = "The adaptive guarantee settlement schedule for this authorization.") + + public List getSchedule() { + return schedule; + } + + + public void setSchedule(List schedule) { + this.schedule = schedule; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthorizationGuaranteeDetails authorizationGuaranteeDetails = (AuthorizationGuaranteeDetails) o; + return Objects.equals(this.outcome, authorizationGuaranteeDetails.outcome) && + Objects.equals(this.schedule, authorizationGuaranteeDetails.schedule); + } + + @Override + public int hashCode() { + return Objects.hash(outcome, schedule); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AuthorizationGuaranteeDetails {\n"); + sb.append(" outcome: ").append(toIndentedString(outcome)).append("\n"); + sb.append(" schedule: ").append(toIndentedString(schedule)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AuthorizationGuaranteeScheduleItem.java b/src/main/java/com/plaid/client/model/AuthorizationGuaranteeScheduleItem.java new file mode 100644 index 0000000000..72084beea4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AuthorizationGuaranteeScheduleItem.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A single entry in an authorization's adaptive guarantee settlement schedule, describing one tranche of guaranteed funds. + */ +@ApiModel(description = "A single entry in an authorization's adaptive guarantee settlement schedule, describing one tranche of guaranteed funds.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AuthorizationGuaranteeScheduleItem { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_OBSERVATION_WINDOW_BUSINESS_DAYS = "observation_window_business_days"; + @SerializedName(SERIALIZED_NAME_OBSERVATION_WINDOW_BUSINESS_DAYS) + private Integer observationWindowBusinessDays; + + + public AuthorizationGuaranteeScheduleItem amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The guaranteed amount for this schedule entry (decimal string with two digits of precision e.g. \"10.00\"). + * @return amount + **/ + @ApiModelProperty(required = true, value = "The guaranteed amount for this schedule entry (decimal string with two digits of precision e.g. \"10.00\").") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public AuthorizationGuaranteeScheduleItem observationWindowBusinessDays(Integer observationWindowBusinessDays) { + + this.observationWindowBusinessDays = observationWindowBusinessDays; + return this; + } + + /** + * The number of business days in the observation window for this tranche. `0` when the tranche is not subject to an observation window. + * @return observationWindowBusinessDays + **/ + @ApiModelProperty(required = true, value = "The number of business days in the observation window for this tranche. `0` when the tranche is not subject to an observation window.") + + public Integer getObservationWindowBusinessDays() { + return observationWindowBusinessDays; + } + + + public void setObservationWindowBusinessDays(Integer observationWindowBusinessDays) { + this.observationWindowBusinessDays = observationWindowBusinessDays; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthorizationGuaranteeScheduleItem authorizationGuaranteeScheduleItem = (AuthorizationGuaranteeScheduleItem) o; + return Objects.equals(this.amount, authorizationGuaranteeScheduleItem.amount) && + Objects.equals(this.observationWindowBusinessDays, authorizationGuaranteeScheduleItem.observationWindowBusinessDays); + } + + @Override + public int hashCode() { + return Objects.hash(amount, observationWindowBusinessDays); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AuthorizationGuaranteeScheduleItem {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" observationWindowBusinessDays: ").append(toIndentedString(observationWindowBusinessDays)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/AutomaticallyVerifiedWebhook.java b/src/main/java/com/plaid/client/model/AutomaticallyVerifiedWebhook.java new file mode 100644 index 0000000000..3f2352f304 --- /dev/null +++ b/src/main/java/com/plaid/client/model/AutomaticallyVerifiedWebhook.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when an Item is verified via automated micro-deposits. We recommend communicating to your users when this event is received to notify them that their account is verified and ready for use. + */ +@ApiModel(description = "Fired when an Item is verified via automated micro-deposits. We recommend communicating to your users when this event is received to notify them that their account is verified and ready for use.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class AutomaticallyVerifiedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + + public AutomaticallyVerifiedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `AUTH` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`AUTH`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public AutomaticallyVerifiedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `AUTOMATICALLY_VERIFIED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`AUTOMATICALLY_VERIFIED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public AutomaticallyVerifiedWebhook accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The `account_id` of the account associated with the webhook + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The `account_id` of the account associated with the webhook") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public AutomaticallyVerifiedWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public AutomaticallyVerifiedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + public AutomaticallyVerifiedWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AutomaticallyVerifiedWebhook automaticallyVerifiedWebhook = (AutomaticallyVerifiedWebhook) o; + return Objects.equals(this.webhookType, automaticallyVerifiedWebhook.webhookType) && + Objects.equals(this.webhookCode, automaticallyVerifiedWebhook.webhookCode) && + Objects.equals(this.accountId, automaticallyVerifiedWebhook.accountId) && + Objects.equals(this.itemId, automaticallyVerifiedWebhook.itemId) && + Objects.equals(this.environment, automaticallyVerifiedWebhook.environment) && + Objects.equals(this.error, automaticallyVerifiedWebhook.error); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, accountId, itemId, environment, error); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AutomaticallyVerifiedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankIncomeCompleteResult.java b/src/main/java/com/plaid/client/model/BankIncomeCompleteResult.java new file mode 100644 index 0000000000..70e9c07a6c --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankIncomeCompleteResult.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The result of the bank income report generation `SUCCESS`: The bank income report was successfully generated and can be retrieved via `/credit/bank_income/get`. `FAILURE`: The bank income report failed to be generated + */ +@JsonAdapter(BankIncomeCompleteResult.Adapter.class) +public enum BankIncomeCompleteResult { + + SUCCESS("SUCCESS"), + + FAILURE("FAILURE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BankIncomeCompleteResult(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BankIncomeCompleteResult fromValue(String value) { + for (BankIncomeCompleteResult b : BankIncomeCompleteResult.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BankIncomeCompleteResult.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BankIncomeCompleteResult enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BankIncomeCompleteResult read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BankIncomeCompleteResult.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BankIncomeCompleteWebhook.java b/src/main/java/com/plaid/client/model/BankIncomeCompleteWebhook.java new file mode 100644 index 0000000000..5200c739c6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankIncomeCompleteWebhook.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankIncomeCompleteResult; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when a bank income report has finished generating or failed to generate, triggered by calling `/credit/bank_income/get` in CRA enabled client. + */ +@ApiModel(description = "Fired when a bank income report has finished generating or failed to generate, triggered by calling `/credit/bank_income/get` in CRA enabled client.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankIncomeCompleteWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_RESULT = "result"; + @SerializedName(SERIALIZED_NAME_RESULT) + private BankIncomeCompleteResult result; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public BankIncomeCompleteWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `INCOME` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`INCOME`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public BankIncomeCompleteWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `BANK_INCOME_COMPLETE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`BANK_INCOME_COMPLETE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public BankIncomeCompleteWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the user the webhook has fired for. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` corresponding to the user the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public BankIncomeCompleteWebhook result(BankIncomeCompleteResult result) { + + this.result = result; + return this; + } + + /** + * Get result + * @return result + **/ + @ApiModelProperty(required = true, value = "") + + public BankIncomeCompleteResult getResult() { + return result; + } + + + public void setResult(BankIncomeCompleteResult result) { + this.result = result; + } + + + public BankIncomeCompleteWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankIncomeCompleteWebhook bankIncomeCompleteWebhook = (BankIncomeCompleteWebhook) o; + return Objects.equals(this.webhookType, bankIncomeCompleteWebhook.webhookType) && + Objects.equals(this.webhookCode, bankIncomeCompleteWebhook.webhookCode) && + Objects.equals(this.userId, bankIncomeCompleteWebhook.userId) && + Objects.equals(this.result, bankIncomeCompleteWebhook.result) && + Objects.equals(this.environment, bankIncomeCompleteWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, userId, result, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankIncomeCompleteWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" result: ").append(toIndentedString(result)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankIncomeRefreshCompleteResult.java b/src/main/java/com/plaid/client/model/BankIncomeRefreshCompleteResult.java new file mode 100644 index 0000000000..fd54bc2dd6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankIncomeRefreshCompleteResult.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The result of the bank income refresh report generation `SUCCESS`: The refreshed report was successfully generated and can be retrieved via `/credit/bank_income/get`. `FAILURE`: The refreshed report failed to be generated + */ +@JsonAdapter(BankIncomeRefreshCompleteResult.Adapter.class) +public enum BankIncomeRefreshCompleteResult { + + SUCCESS("SUCCESS"), + + FAILURE("FAILURE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BankIncomeRefreshCompleteResult(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BankIncomeRefreshCompleteResult fromValue(String value) { + for (BankIncomeRefreshCompleteResult b : BankIncomeRefreshCompleteResult.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BankIncomeRefreshCompleteResult.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BankIncomeRefreshCompleteResult enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BankIncomeRefreshCompleteResult read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BankIncomeRefreshCompleteResult.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BankIncomeRefreshCompleteWebhook.java b/src/main/java/com/plaid/client/model/BankIncomeRefreshCompleteWebhook.java new file mode 100644 index 0000000000..0bdd68f539 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankIncomeRefreshCompleteWebhook.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankIncomeRefreshCompleteResult; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when a refreshed bank income report has finished generating or failed to generate. To obtain refreshed Bank Income data, send the user through Link's update mode, or migrate to CRA Income Insights and call `/cra/check_report/create` for a backend refresh. To get this webhook, subscribe via the [Dashboard](https://dashboard.plaid.com/developers/webhooks). + */ +@ApiModel(description = "Fired when a refreshed bank income report has finished generating or failed to generate. To obtain refreshed Bank Income data, send the user through Link's update mode, or migrate to CRA Income Insights and call `/cra/check_report/create` for a backend refresh. To get this webhook, subscribe via the [Dashboard](https://dashboard.plaid.com/developers/webhooks).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankIncomeRefreshCompleteWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_RESULT = "result"; + @SerializedName(SERIALIZED_NAME_RESULT) + private BankIncomeRefreshCompleteResult result; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public BankIncomeRefreshCompleteWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `INCOME` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`INCOME`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public BankIncomeRefreshCompleteWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `BANK_INCOME_REFRESH_COMPLETE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`BANK_INCOME_REFRESH_COMPLETE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public BankIncomeRefreshCompleteWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the user the webhook has fired for. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` corresponding to the user the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public BankIncomeRefreshCompleteWebhook result(BankIncomeRefreshCompleteResult result) { + + this.result = result; + return this; + } + + /** + * Get result + * @return result + **/ + @ApiModelProperty(required = true, value = "") + + public BankIncomeRefreshCompleteResult getResult() { + return result; + } + + + public void setResult(BankIncomeRefreshCompleteResult result) { + this.result = result; + } + + + public BankIncomeRefreshCompleteWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankIncomeRefreshCompleteWebhook bankIncomeRefreshCompleteWebhook = (BankIncomeRefreshCompleteWebhook) o; + return Objects.equals(this.webhookType, bankIncomeRefreshCompleteWebhook.webhookType) && + Objects.equals(this.webhookCode, bankIncomeRefreshCompleteWebhook.webhookCode) && + Objects.equals(this.userId, bankIncomeRefreshCompleteWebhook.userId) && + Objects.equals(this.result, bankIncomeRefreshCompleteWebhook.result) && + Objects.equals(this.environment, bankIncomeRefreshCompleteWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, userId, result, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankIncomeRefreshCompleteWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" result: ").append(toIndentedString(result)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankIncomeRefreshUpdateWebhook.java b/src/main/java/com/plaid/client/model/BankIncomeRefreshUpdateWebhook.java new file mode 100644 index 0000000000..3296179386 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankIncomeRefreshUpdateWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when a change to the user's income is detected. To obtain refreshed Bank Income data, send the user through Link's update mode so they can confirm their income sources, or migrate to CRA Income Insights and call `/cra/check_report/create` for a backend refresh. To receive this webhook, subscribe in the [Dashboard](https://dashboard.plaid.com/developers/webhooks). + */ +@ApiModel(description = "Fired when a change to the user's income is detected. To obtain refreshed Bank Income data, send the user through Link's update mode so they can confirm their income sources, or migrate to CRA Income Insights and call `/cra/check_report/create` for a backend refresh. To receive this webhook, subscribe in the [Dashboard](https://dashboard.plaid.com/developers/webhooks).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankIncomeRefreshUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public BankIncomeRefreshUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `INCOME` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`INCOME`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public BankIncomeRefreshUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `BANK_INCOME_REFRESH_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`BANK_INCOME_REFRESH_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public BankIncomeRefreshUpdateWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the user the webhook has fired for. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` corresponding to the user the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public BankIncomeRefreshUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankIncomeRefreshUpdateWebhook bankIncomeRefreshUpdateWebhook = (BankIncomeRefreshUpdateWebhook) o; + return Objects.equals(this.webhookType, bankIncomeRefreshUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, bankIncomeRefreshUpdateWebhook.webhookCode) && + Objects.equals(this.userId, bankIncomeRefreshUpdateWebhook.userId) && + Objects.equals(this.environment, bankIncomeRefreshUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankIncomeRefreshUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankInitiatedReturnRisk.java b/src/main/java/com/plaid/client/model/BankInitiatedReturnRisk.java new file mode 100644 index 0000000000..d38531a962 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankInitiatedReturnRisk.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The object contains a risk score and a risk tier that evaluate the transaction return risk because an account is overdrawn or because an ineligible account is used. Common return codes in this category include: \"R01\", \"R02\", \"R03\", \"R04\", \"R06\", \"R08\", \"R09\", \"R13\", \"R16\", \"R17\", \"R20\", \"R23\". These returns have a turnaround time of 2 banking days. + */ +@ApiModel(description = "The object contains a risk score and a risk tier that evaluate the transaction return risk because an account is overdrawn or because an ineligible account is used. Common return codes in this category include: \"R01\", \"R02\", \"R03\", \"R04\", \"R06\", \"R08\", \"R09\", \"R13\", \"R16\", \"R17\", \"R20\", \"R23\". These returns have a turnaround time of 2 banking days.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankInitiatedReturnRisk { + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_RISK_TIER = "risk_tier"; + @SerializedName(SERIALIZED_NAME_RISK_TIER) + private Integer riskTier; + + + public BankInitiatedReturnRisk score(Integer score) { + + this.score = score; + return this; + } + + /** + * A score from 1-99 that indicates the transaction return risk: a higher risk score suggests a higher return likelihood. + * minimum: 1 + * maximum: 99 + * @return score + **/ + @ApiModelProperty(required = true, value = "A score from 1-99 that indicates the transaction return risk: a higher risk score suggests a higher return likelihood.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public BankInitiatedReturnRisk riskTier(Integer riskTier) { + + this.riskTier = riskTier; + return this; + } + + /** + * DEPRECATED. Use Signal Rules instead to transform the `score` into a useful action. In the `bank_initiated_return_risk` object, there are eight risk tiers corresponding to the scores: 1: Predicted bank-initiated return incidence rate between 0.0% - 0.5% 2: Predicted bank-initiated return incidence rate between 0.5% - 1.5% 3: Predicted bank-initiated return incidence rate between 1.5% - 3% 4: Predicted bank-initiated return incidence rate between 3% - 5% 5: Predicted bank-initiated return incidence rate between 5% - 10% 6: Predicted bank-initiated return incidence rate between 10% - 15% 7: Predicted bank-initiated return incidence rate between 15% and 50% 8: Predicted bank-initiated return incidence rate greater than 50% + * minimum: 1 + * maximum: 8 + * @return riskTier + **/ + @ApiModelProperty(required = true, value = "DEPRECATED. Use Signal Rules instead to transform the `score` into a useful action. In the `bank_initiated_return_risk` object, there are eight risk tiers corresponding to the scores: 1: Predicted bank-initiated return incidence rate between 0.0% - 0.5% 2: Predicted bank-initiated return incidence rate between 0.5% - 1.5% 3: Predicted bank-initiated return incidence rate between 1.5% - 3% 4: Predicted bank-initiated return incidence rate between 3% - 5% 5: Predicted bank-initiated return incidence rate between 5% - 10% 6: Predicted bank-initiated return incidence rate between 10% - 15% 7: Predicted bank-initiated return incidence rate between 15% and 50% 8: Predicted bank-initiated return incidence rate greater than 50% ") + + public Integer getRiskTier() { + return riskTier; + } + + + public void setRiskTier(Integer riskTier) { + this.riskTier = riskTier; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankInitiatedReturnRisk bankInitiatedReturnRisk = (BankInitiatedReturnRisk) o; + return Objects.equals(this.score, bankInitiatedReturnRisk.score) && + Objects.equals(this.riskTier, bankInitiatedReturnRisk.riskTier); + } + + @Override + public int hashCode() { + return Objects.hash(score, riskTier); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankInitiatedReturnRisk {\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" riskTier: ").append(toIndentedString(riskTier)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankPenaltiesIndicators.java b/src/main/java/com/plaid/client/model/BankPenaltiesIndicators.java new file mode 100644 index 0000000000..054f3d4f2e --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankPenaltiesIndicators.java @@ -0,0 +1,352 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CategoryExpenses; +import com.plaid.client.model.MonthlyAverage; +import com.plaid.client.model.MonthlySummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Insights into bank penalties and fees, including overdraft fees, NSF fees, and other bank-imposed charges. + */ +@ApiModel(description = "Insights into bank penalties and fees, including overdraft fees, NSF fees, and other bank-imposed charges.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankPenaltiesIndicators { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_MONTHLY_AVERAGE = "monthly_average"; + @SerializedName(SERIALIZED_NAME_MONTHLY_AVERAGE) + private MonthlyAverage monthlyAverage; + + public static final String SERIALIZED_NAME_CATEGORY_DETAILS = "category_details"; + @SerializedName(SERIALIZED_NAME_CATEGORY_DETAILS) + private List categoryDetails = null; + + public static final String SERIALIZED_NAME_TRANSACTIONS_COUNT = "transactions_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_COUNT) + private Integer transactionsCount; + + public static final String SERIALIZED_NAME_MONTHLY_SUMMARIES = "monthly_summaries"; + @SerializedName(SERIALIZED_NAME_MONTHLY_SUMMARIES) + private List monthlySummaries = null; + + public static final String SERIALIZED_NAME_DAYS_SINCE_LAST_OCCURRENCE = "days_since_last_occurrence"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_LAST_OCCURRENCE) + private Integer daysSinceLastOccurrence; + + public static final String SERIALIZED_NAME_PERCENTAGE_OF_INCOME = "percentage_of_income"; + @SerializedName(SERIALIZED_NAME_PERCENTAGE_OF_INCOME) + private Double percentageOfIncome; + + + public BankPenaltiesIndicators amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The total value of outflow transactions categorized as `BANK_PENALTIES`, across all the accounts in the report within the requested time window. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total value of outflow transactions categorized as `BANK_PENALTIES`, across all the accounts in the report within the requested time window.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public BankPenaltiesIndicators isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public BankPenaltiesIndicators unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public BankPenaltiesIndicators monthlyAverage(MonthlyAverage monthlyAverage) { + + this.monthlyAverage = monthlyAverage; + return this; + } + + /** + * Get monthlyAverage + * @return monthlyAverage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MonthlyAverage getMonthlyAverage() { + return monthlyAverage; + } + + + public void setMonthlyAverage(MonthlyAverage monthlyAverage) { + this.monthlyAverage = monthlyAverage; + } + + + public BankPenaltiesIndicators categoryDetails(List categoryDetails) { + + this.categoryDetails = categoryDetails; + return this; + } + + public BankPenaltiesIndicators addCategoryDetailsItem(CategoryExpenses categoryDetailsItem) { + if (this.categoryDetails == null) { + this.categoryDetails = new ArrayList<>(); + } + this.categoryDetails.add(categoryDetailsItem); + return this; + } + + /** + * Detailed categories view of all the transactions that fall into the `BANK_PENALTIES` credit category within the given time window, across all the accounts in the report. + * @return categoryDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Detailed categories view of all the transactions that fall into the `BANK_PENALTIES` credit category within the given time window, across all the accounts in the report.") + + public List getCategoryDetails() { + return categoryDetails; + } + + + public void setCategoryDetails(List categoryDetails) { + this.categoryDetails = categoryDetails; + } + + + public BankPenaltiesIndicators transactionsCount(Integer transactionsCount) { + + this.transactionsCount = transactionsCount; + return this; + } + + /** + * The total number of transactions that fall into the `BANK_PENALTIES` credit category, across all the accounts in the report. + * @return transactionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of transactions that fall into the `BANK_PENALTIES` credit category, across all the accounts in the report.") + + public Integer getTransactionsCount() { + return transactionsCount; + } + + + public void setTransactionsCount(Integer transactionsCount) { + this.transactionsCount = transactionsCount; + } + + + public BankPenaltiesIndicators monthlySummaries(List monthlySummaries) { + + this.monthlySummaries = monthlySummaries; + return this; + } + + public BankPenaltiesIndicators addMonthlySummariesItem(MonthlySummary monthlySummariesItem) { + if (this.monthlySummaries == null) { + this.monthlySummaries = new ArrayList<>(); + } + this.monthlySummaries.add(monthlySummariesItem); + return this; + } + + /** + * The monthly summaries of the transactions that fall into the `BANK_PENALTIES` credit category within the given time window, across all the accounts in the report. + * @return monthlySummaries + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The monthly summaries of the transactions that fall into the `BANK_PENALTIES` credit category within the given time window, across all the accounts in the report.") + + public List getMonthlySummaries() { + return monthlySummaries; + } + + + public void setMonthlySummaries(List monthlySummaries) { + this.monthlySummaries = monthlySummaries; + } + + + public BankPenaltiesIndicators daysSinceLastOccurrence(Integer daysSinceLastOccurrence) { + + this.daysSinceLastOccurrence = daysSinceLastOccurrence; + return this; + } + + /** + * The number of days since the last transaction that falls into the `BANK_PENALTIES` credit category, across all the accounts in the report. + * @return daysSinceLastOccurrence + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days since the last transaction that falls into the `BANK_PENALTIES` credit category, across all the accounts in the report.") + + public Integer getDaysSinceLastOccurrence() { + return daysSinceLastOccurrence; + } + + + public void setDaysSinceLastOccurrence(Integer daysSinceLastOccurrence) { + this.daysSinceLastOccurrence = daysSinceLastOccurrence; + } + + + public BankPenaltiesIndicators percentageOfIncome(Double percentageOfIncome) { + + this.percentageOfIncome = percentageOfIncome; + return this; + } + + /** + * The percentage of the user's monthly inflows that was spent on transactions that fall into the `BANK_PENALTIES` credit category within the given time window, across all the accounts in the report. For example, a value of 100 represents that 100% of the inflows were spent on transactions that fall into the `BANK_PENALTIES` credit category. If there's no available income for the given time period, this field value will be `-1`. + * @return percentageOfIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The percentage of the user's monthly inflows that was spent on transactions that fall into the `BANK_PENALTIES` credit category within the given time window, across all the accounts in the report. For example, a value of 100 represents that 100% of the inflows were spent on transactions that fall into the `BANK_PENALTIES` credit category. If there's no available income for the given time period, this field value will be `-1`.") + + public Double getPercentageOfIncome() { + return percentageOfIncome; + } + + + public void setPercentageOfIncome(Double percentageOfIncome) { + this.percentageOfIncome = percentageOfIncome; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankPenaltiesIndicators bankPenaltiesIndicators = (BankPenaltiesIndicators) o; + return Objects.equals(this.amount, bankPenaltiesIndicators.amount) && + Objects.equals(this.isoCurrencyCode, bankPenaltiesIndicators.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, bankPenaltiesIndicators.unofficialCurrencyCode) && + Objects.equals(this.monthlyAverage, bankPenaltiesIndicators.monthlyAverage) && + Objects.equals(this.categoryDetails, bankPenaltiesIndicators.categoryDetails) && + Objects.equals(this.transactionsCount, bankPenaltiesIndicators.transactionsCount) && + Objects.equals(this.monthlySummaries, bankPenaltiesIndicators.monthlySummaries) && + Objects.equals(this.daysSinceLastOccurrence, bankPenaltiesIndicators.daysSinceLastOccurrence) && + Objects.equals(this.percentageOfIncome, bankPenaltiesIndicators.percentageOfIncome); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode, monthlyAverage, categoryDetails, transactionsCount, monthlySummaries, daysSinceLastOccurrence, percentageOfIncome); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankPenaltiesIndicators {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" monthlyAverage: ").append(toIndentedString(monthlyAverage)).append("\n"); + sb.append(" categoryDetails: ").append(toIndentedString(categoryDetails)).append("\n"); + sb.append(" transactionsCount: ").append(toIndentedString(transactionsCount)).append("\n"); + sb.append(" monthlySummaries: ").append(toIndentedString(monthlySummaries)).append("\n"); + sb.append(" daysSinceLastOccurrence: ").append(toIndentedString(daysSinceLastOccurrence)).append("\n"); + sb.append(" percentageOfIncome: ").append(toIndentedString(percentageOfIncome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransfer.java b/src/main/java/com/plaid/client/model/BankTransfer.java new file mode 100644 index 0000000000..e65e4df1df --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransfer.java @@ -0,0 +1,566 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.BankTransferDirection; +import com.plaid.client.model.BankTransferFailure; +import com.plaid.client.model.BankTransferNetwork; +import com.plaid.client.model.BankTransferStatus; +import com.plaid.client.model.BankTransferType; +import com.plaid.client.model.BankTransferUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Represents a bank transfer within the Bank Transfers API. + */ +@ApiModel(description = "Represents a bank transfer within the Bank Transfers API.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransfer { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_ACH_CLASS = "ach_class"; + @SerializedName(SERIALIZED_NAME_ACH_CLASS) + private ACHClass achClass; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private BankTransferType type; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private BankTransferUser user; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private BankTransferStatus status; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private BankTransferNetwork network; + + public static final String SERIALIZED_NAME_CANCELLABLE = "cancellable"; + @SerializedName(SERIALIZED_NAME_CANCELLABLE) + private Boolean cancellable; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private BankTransferFailure failureReason; + + public static final String SERIALIZED_NAME_CUSTOM_TAG = "custom_tag"; + @SerializedName(SERIALIZED_NAME_CUSTOM_TAG) + private String customTag; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private Map metadata = new HashMap<>(); + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_DIRECTION = "direction"; + @SerializedName(SERIALIZED_NAME_DIRECTION) + private BankTransferDirection direction; + + + public BankTransfer id(String id) { + + this.id = id; + return this; + } + + /** + * Plaid's unique identifier for a bank transfer. + * @return id + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a bank transfer.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BankTransfer achClass(ACHClass achClass) { + + this.achClass = achClass; + return this; + } + + /** + * Get achClass + * @return achClass + **/ + @ApiModelProperty(required = true, value = "") + + public ACHClass getAchClass() { + return achClass; + } + + + public void setAchClass(ACHClass achClass) { + this.achClass = achClass; + } + + + public BankTransfer accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The account ID that should be credited/debited for this bank transfer. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The account ID that should be credited/debited for this bank transfer.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public BankTransfer type(BankTransferType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferType getType() { + return type; + } + + + public void setType(BankTransferType type) { + this.type = type; + } + + + public BankTransfer user(BankTransferUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferUser getUser() { + return user; + } + + + public void setUser(BankTransferUser user) { + this.user = user; + } + + + public BankTransfer amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the bank transfer (decimal string with two digits of precision e.g. \"10.00\"). + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the bank transfer (decimal string with two digits of precision e.g. \"10.00\").") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public BankTransfer isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the transfer amount, e.g. \"USD\" + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the transfer amount, e.g. \"USD\"") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public BankTransfer description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the transfer. + * @return description + **/ + @ApiModelProperty(required = true, value = "The description of the transfer.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public BankTransfer created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The datetime when this bank transfer was created. This will be of the form `2006-01-02T15:04:05Z` + * @return created + **/ + @ApiModelProperty(required = true, value = "The datetime when this bank transfer was created. This will be of the form `2006-01-02T15:04:05Z`") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public BankTransfer status(BankTransferStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferStatus getStatus() { + return status; + } + + + public void setStatus(BankTransferStatus status) { + this.status = status; + } + + + public BankTransfer network(BankTransferNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferNetwork getNetwork() { + return network; + } + + + public void setNetwork(BankTransferNetwork network) { + this.network = network; + } + + + public BankTransfer cancellable(Boolean cancellable) { + + this.cancellable = cancellable; + return this; + } + + /** + * When `true`, you can still cancel this bank transfer. + * @return cancellable + **/ + @ApiModelProperty(required = true, value = "When `true`, you can still cancel this bank transfer.") + + public Boolean getCancellable() { + return cancellable; + } + + + public void setCancellable(Boolean cancellable) { + this.cancellable = cancellable; + } + + + public BankTransfer failureReason(BankTransferFailure failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BankTransferFailure getFailureReason() { + return failureReason; + } + + + public void setFailureReason(BankTransferFailure failureReason) { + this.failureReason = failureReason; + } + + + public BankTransfer customTag(String customTag) { + + this.customTag = customTag; + return this; + } + + /** + * A string containing the custom tag provided by the client in the create request. Will be null if not provided. + * @return customTag + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A string containing the custom tag provided by the client in the create request. Will be null if not provided.") + + public String getCustomTag() { + return customTag; + } + + + public void setCustomTag(String customTag) { + this.customTag = customTag; + } + + + public BankTransfer metadata(Map metadata) { + + this.metadata = metadata; + return this; + } + + public BankTransfer putMetadataItem(String key, String metadataItem) { + this.metadata.put(key, metadataItem); + return this; + } + + /** + * The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters ") + + public Map getMetadata() { + return metadata; + } + + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + + public BankTransfer originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Plaid's unique identifier for the origination account that was used for this transfer. + * @return originationAccountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the origination account that was used for this transfer.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public BankTransfer direction(BankTransferDirection direction) { + + this.direction = direction; + return this; + } + + /** + * Get direction + * @return direction + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BankTransferDirection getDirection() { + return direction; + } + + + public void setDirection(BankTransferDirection direction) { + this.direction = direction; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransfer bankTransfer = (BankTransfer) o; + return Objects.equals(this.id, bankTransfer.id) && + Objects.equals(this.achClass, bankTransfer.achClass) && + Objects.equals(this.accountId, bankTransfer.accountId) && + Objects.equals(this.type, bankTransfer.type) && + Objects.equals(this.user, bankTransfer.user) && + Objects.equals(this.amount, bankTransfer.amount) && + Objects.equals(this.isoCurrencyCode, bankTransfer.isoCurrencyCode) && + Objects.equals(this.description, bankTransfer.description) && + Objects.equals(this.created, bankTransfer.created) && + Objects.equals(this.status, bankTransfer.status) && + Objects.equals(this.network, bankTransfer.network) && + Objects.equals(this.cancellable, bankTransfer.cancellable) && + Objects.equals(this.failureReason, bankTransfer.failureReason) && + Objects.equals(this.customTag, bankTransfer.customTag) && + Objects.equals(this.metadata, bankTransfer.metadata) && + Objects.equals(this.originationAccountId, bankTransfer.originationAccountId) && + Objects.equals(this.direction, bankTransfer.direction); + } + + @Override + public int hashCode() { + return Objects.hash(id, achClass, accountId, type, user, amount, isoCurrencyCode, description, created, status, network, cancellable, failureReason, customTag, metadata, originationAccountId, direction); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransfer {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" achClass: ").append(toIndentedString(achClass)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" cancellable: ").append(toIndentedString(cancellable)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append(" customTag: ").append(toIndentedString(customTag)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" direction: ").append(toIndentedString(direction)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferBalance.java b/src/main/java/com/plaid/client/model/BankTransferBalance.java new file mode 100644 index 0000000000..e27ea30781 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferBalance.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the balance of a bank transfer + */ +@ApiModel(description = "Information about the balance of a bank transfer") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferBalance { + public static final String SERIALIZED_NAME_AVAILABLE = "available"; + @SerializedName(SERIALIZED_NAME_AVAILABLE) + private String available; + + public static final String SERIALIZED_NAME_TRANSACTABLE = "transactable"; + @SerializedName(SERIALIZED_NAME_TRANSACTABLE) + private String transactable; + + + public BankTransferBalance available(String available) { + + this.available = available; + return this; + } + + /** + * The total available balance - the sum of all successful debit transfer amounts minus all credit transfer amounts. + * @return available + **/ + @ApiModelProperty(required = true, value = "The total available balance - the sum of all successful debit transfer amounts minus all credit transfer amounts.") + + public String getAvailable() { + return available; + } + + + public void setAvailable(String available) { + this.available = available; + } + + + public BankTransferBalance transactable(String transactable) { + + this.transactable = transactable; + return this; + } + + /** + * The transactable balance shows the amount in your account that you are able to use for transfers, and is essentially your available balance minus your minimum balance. + * @return transactable + **/ + @ApiModelProperty(required = true, value = "The transactable balance shows the amount in your account that you are able to use for transfers, and is essentially your available balance minus your minimum balance.") + + public String getTransactable() { + return transactable; + } + + + public void setTransactable(String transactable) { + this.transactable = transactable; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferBalance bankTransferBalance = (BankTransferBalance) o; + return Objects.equals(this.available, bankTransferBalance.available) && + Objects.equals(this.transactable, bankTransferBalance.transactable); + } + + @Override + public int hashCode() { + return Objects.hash(available, transactable); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferBalance {\n"); + sb.append(" available: ").append(toIndentedString(available)).append("\n"); + sb.append(" transactable: ").append(toIndentedString(transactable)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferBalanceGetRequest.java b/src/main/java/com/plaid/client/model/BankTransferBalanceGetRequest.java new file mode 100644 index 0000000000..1bd9158a77 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferBalanceGetRequest.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/bank_transfer/balance/get` + */ +@ApiModel(description = "Defines the request schema for `/bank_transfer/balance/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferBalanceGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + + public BankTransferBalanceGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BankTransferBalanceGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BankTransferBalanceGetRequest originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * If multiple origination accounts are available, `origination_account_id` must be used to specify the account for which balance will be returned. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If multiple origination accounts are available, `origination_account_id` must be used to specify the account for which balance will be returned.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferBalanceGetRequest bankTransferBalanceGetRequest = (BankTransferBalanceGetRequest) o; + return Objects.equals(this.clientId, bankTransferBalanceGetRequest.clientId) && + Objects.equals(this.secret, bankTransferBalanceGetRequest.secret) && + Objects.equals(this.originationAccountId, bankTransferBalanceGetRequest.originationAccountId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originationAccountId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferBalanceGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferBalanceGetResponse.java b/src/main/java/com/plaid/client/model/BankTransferBalanceGetResponse.java new file mode 100644 index 0000000000..b3e95c9b5c --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferBalanceGetResponse.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankTransferBalance; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/bank_transfer/balance/get` + */ +@ApiModel(description = "Defines the response schema for `/bank_transfer/balance/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferBalanceGetResponse { + public static final String SERIALIZED_NAME_BALANCE = "balance"; + @SerializedName(SERIALIZED_NAME_BALANCE) + private BankTransferBalance balance; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BankTransferBalanceGetResponse balance(BankTransferBalance balance) { + + this.balance = balance; + return this; + } + + /** + * Get balance + * @return balance + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferBalance getBalance() { + return balance; + } + + + public void setBalance(BankTransferBalance balance) { + this.balance = balance; + } + + + public BankTransferBalanceGetResponse originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * The ID of the origination account that this balance belongs to. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ID of the origination account that this balance belongs to.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public BankTransferBalanceGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferBalanceGetResponse bankTransferBalanceGetResponse = (BankTransferBalanceGetResponse) o; + return Objects.equals(this.balance, bankTransferBalanceGetResponse.balance) && + Objects.equals(this.originationAccountId, bankTransferBalanceGetResponse.originationAccountId) && + Objects.equals(this.requestId, bankTransferBalanceGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(balance, originationAccountId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferBalanceGetResponse {\n"); + sb.append(" balance: ").append(toIndentedString(balance)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferCancelRequest.java b/src/main/java/com/plaid/client/model/BankTransferCancelRequest.java new file mode 100644 index 0000000000..b19d733155 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferCancelRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/bank_transfer/cancel` + */ +@ApiModel(description = "Defines the request schema for `/bank_transfer/cancel`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferCancelRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_BANK_TRANSFER_ID = "bank_transfer_id"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER_ID) + private String bankTransferId; + + + public BankTransferCancelRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BankTransferCancelRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BankTransferCancelRequest bankTransferId(String bankTransferId) { + + this.bankTransferId = bankTransferId; + return this; + } + + /** + * Plaid's unique identifier for a bank transfer. + * @return bankTransferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a bank transfer.") + + public String getBankTransferId() { + return bankTransferId; + } + + + public void setBankTransferId(String bankTransferId) { + this.bankTransferId = bankTransferId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferCancelRequest bankTransferCancelRequest = (BankTransferCancelRequest) o; + return Objects.equals(this.clientId, bankTransferCancelRequest.clientId) && + Objects.equals(this.secret, bankTransferCancelRequest.secret) && + Objects.equals(this.bankTransferId, bankTransferCancelRequest.bankTransferId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, bankTransferId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferCancelRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" bankTransferId: ").append(toIndentedString(bankTransferId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferCancelResponse.java b/src/main/java/com/plaid/client/model/BankTransferCancelResponse.java new file mode 100644 index 0000000000..854afc793b --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferCancelResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/bank_transfer/cancel` + */ +@ApiModel(description = "Defines the response schema for `/bank_transfer/cancel`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferCancelResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BankTransferCancelResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferCancelResponse bankTransferCancelResponse = (BankTransferCancelResponse) o; + return Objects.equals(this.requestId, bankTransferCancelResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferCancelResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferCreateRequest.java b/src/main/java/com/plaid/client/model/BankTransferCreateRequest.java new file mode 100644 index 0000000000..9f71d1448a --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferCreateRequest.java @@ -0,0 +1,511 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.BankTransferNetwork; +import com.plaid.client.model.BankTransferType; +import com.plaid.client.model.BankTransferUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Defines the request schema for `/bank_transfer/create` + */ +@ApiModel(description = "Defines the request schema for `/bank_transfer/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_IDEMPOTENCY_KEY = "idempotency_key"; + @SerializedName(SERIALIZED_NAME_IDEMPOTENCY_KEY) + private String idempotencyKey; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private BankTransferType type; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private BankTransferNetwork network; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_ACH_CLASS = "ach_class"; + @SerializedName(SERIALIZED_NAME_ACH_CLASS) + private ACHClass achClass; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private BankTransferUser user; + + public static final String SERIALIZED_NAME_CUSTOM_TAG = "custom_tag"; + @SerializedName(SERIALIZED_NAME_CUSTOM_TAG) + private String customTag; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private Map metadata = null; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + + public BankTransferCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BankTransferCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BankTransferCreateRequest idempotencyKey(String idempotencyKey) { + + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * A random key provided by the client, per unique bank transfer. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a bank transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single bank transfer is created. + * @return idempotencyKey + **/ + @ApiModelProperty(required = true, value = "A random key provided by the client, per unique bank transfer. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a bank transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single bank transfer is created.") + + public String getIdempotencyKey() { + return idempotencyKey; + } + + + public void setIdempotencyKey(String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + } + + + public BankTransferCreateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The Plaid `access_token` for the account that will be debited or credited. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The Plaid `access_token` for the account that will be debited or credited.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public BankTransferCreateRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` for the account that will be debited or credited. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` for the account that will be debited or credited.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public BankTransferCreateRequest type(BankTransferType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferType getType() { + return type; + } + + + public void setType(BankTransferType type) { + this.type = type; + } + + + public BankTransferCreateRequest network(BankTransferNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferNetwork getNetwork() { + return network; + } + + + public void setNetwork(BankTransferNetwork network) { + this.network = network; + } + + + public BankTransferCreateRequest amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the bank transfer (decimal string with two digits of precision e.g. \"10.00\"). + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the bank transfer (decimal string with two digits of precision e.g. \"10.00\").") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public BankTransferCreateRequest isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the transfer amount - should be set to \"USD\". + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the transfer amount - should be set to \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public BankTransferCreateRequest description(String description) { + + this.description = description; + return this; + } + + /** + * The transfer description. Maximum of 10 characters. + * @return description + **/ + @ApiModelProperty(required = true, value = "The transfer description. Maximum of 10 characters.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public BankTransferCreateRequest achClass(ACHClass achClass) { + + this.achClass = achClass; + return this; + } + + /** + * Get achClass + * @return achClass + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ACHClass getAchClass() { + return achClass; + } + + + public void setAchClass(ACHClass achClass) { + this.achClass = achClass; + } + + + public BankTransferCreateRequest user(BankTransferUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferUser getUser() { + return user; + } + + + public void setUser(BankTransferUser user) { + this.user = user; + } + + + public BankTransferCreateRequest customTag(String customTag) { + + this.customTag = customTag; + return this; + } + + /** + * An arbitrary string provided by the client for storage with the bank transfer. May be up to 100 characters. + * @return customTag + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An arbitrary string provided by the client for storage with the bank transfer. May be up to 100 characters.") + + public String getCustomTag() { + return customTag; + } + + + public void setCustomTag(String customTag) { + this.customTag = customTag; + } + + + public BankTransferCreateRequest metadata(Map metadata) { + + this.metadata = metadata; + return this; + } + + public BankTransferCreateRequest putMetadataItem(String key, String metadataItem) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, metadataItem); + return this; + } + + /** + * The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters ") + + public Map getMetadata() { + return metadata; + } + + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + + public BankTransferCreateRequest originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Plaid's unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified. Otherwise, this field should be left blank. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified. Otherwise, this field should be left blank.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferCreateRequest bankTransferCreateRequest = (BankTransferCreateRequest) o; + return Objects.equals(this.clientId, bankTransferCreateRequest.clientId) && + Objects.equals(this.secret, bankTransferCreateRequest.secret) && + Objects.equals(this.idempotencyKey, bankTransferCreateRequest.idempotencyKey) && + Objects.equals(this.accessToken, bankTransferCreateRequest.accessToken) && + Objects.equals(this.accountId, bankTransferCreateRequest.accountId) && + Objects.equals(this.type, bankTransferCreateRequest.type) && + Objects.equals(this.network, bankTransferCreateRequest.network) && + Objects.equals(this.amount, bankTransferCreateRequest.amount) && + Objects.equals(this.isoCurrencyCode, bankTransferCreateRequest.isoCurrencyCode) && + Objects.equals(this.description, bankTransferCreateRequest.description) && + Objects.equals(this.achClass, bankTransferCreateRequest.achClass) && + Objects.equals(this.user, bankTransferCreateRequest.user) && + Objects.equals(this.customTag, bankTransferCreateRequest.customTag) && + Objects.equals(this.metadata, bankTransferCreateRequest.metadata) && + Objects.equals(this.originationAccountId, bankTransferCreateRequest.originationAccountId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, idempotencyKey, accessToken, accountId, type, network, amount, isoCurrencyCode, description, achClass, user, customTag, metadata, originationAccountId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" idempotencyKey: ").append(toIndentedString(idempotencyKey)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" achClass: ").append(toIndentedString(achClass)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" customTag: ").append(toIndentedString(customTag)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferCreateResponse.java b/src/main/java/com/plaid/client/model/BankTransferCreateResponse.java new file mode 100644 index 0000000000..29e4cc512b --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferCreateResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankTransfer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/bank_transfer/create` + */ +@ApiModel(description = "Defines the response schema for `/bank_transfer/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferCreateResponse { + public static final String SERIALIZED_NAME_BANK_TRANSFER = "bank_transfer"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER) + private BankTransfer bankTransfer; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BankTransferCreateResponse bankTransfer(BankTransfer bankTransfer) { + + this.bankTransfer = bankTransfer; + return this; + } + + /** + * Get bankTransfer + * @return bankTransfer + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransfer getBankTransfer() { + return bankTransfer; + } + + + public void setBankTransfer(BankTransfer bankTransfer) { + this.bankTransfer = bankTransfer; + } + + + public BankTransferCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferCreateResponse bankTransferCreateResponse = (BankTransferCreateResponse) o; + return Objects.equals(this.bankTransfer, bankTransferCreateResponse.bankTransfer) && + Objects.equals(this.requestId, bankTransferCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(bankTransfer, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferCreateResponse {\n"); + sb.append(" bankTransfer: ").append(toIndentedString(bankTransfer)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferDirection.java b/src/main/java/com/plaid/client/model/BankTransferDirection.java new file mode 100644 index 0000000000..d50303e263 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferDirection.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates the direction of the transfer: `outbound` for API-initiated transfers, or `inbound` for payments received by the FBO account. + */ +@JsonAdapter(BankTransferDirection.Adapter.class) +public enum BankTransferDirection { + + OUTBOUND("outbound"), + + INBOUND("inbound"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BankTransferDirection(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BankTransferDirection fromValue(String value) { + for (BankTransferDirection b : BankTransferDirection.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BankTransferDirection enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BankTransferDirection read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BankTransferDirection.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferEvent.java b/src/main/java/com/plaid/client/model/BankTransferEvent.java new file mode 100644 index 0000000000..58b0e7affe --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferEvent.java @@ -0,0 +1,417 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankTransferDirection; +import com.plaid.client.model.BankTransferEventType; +import com.plaid.client.model.BankTransferFailure; +import com.plaid.client.model.BankTransferType; +import com.plaid.client.model.ReceiverDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Represents an event in the Bank Transfers API. + */ +@ApiModel(description = "Represents an event in the Bank Transfers API.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferEvent { + public static final String SERIALIZED_NAME_EVENT_ID = "event_id"; + @SerializedName(SERIALIZED_NAME_EVENT_ID) + private Integer eventId; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + public static final String SERIALIZED_NAME_EVENT_TYPE = "event_type"; + @SerializedName(SERIALIZED_NAME_EVENT_TYPE) + private BankTransferEventType eventType; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_BANK_TRANSFER_ID = "bank_transfer_id"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER_ID) + private String bankTransferId; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_BANK_TRANSFER_TYPE = "bank_transfer_type"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER_TYPE) + private BankTransferType bankTransferType; + + public static final String SERIALIZED_NAME_BANK_TRANSFER_AMOUNT = "bank_transfer_amount"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER_AMOUNT) + private String bankTransferAmount; + + public static final String SERIALIZED_NAME_BANK_TRANSFER_ISO_CURRENCY_CODE = "bank_transfer_iso_currency_code"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER_ISO_CURRENCY_CODE) + private String bankTransferIsoCurrencyCode; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private BankTransferFailure failureReason; + + public static final String SERIALIZED_NAME_DIRECTION = "direction"; + @SerializedName(SERIALIZED_NAME_DIRECTION) + private BankTransferDirection direction; + + public static final String SERIALIZED_NAME_RECEIVER_DETAILS = "receiver_details"; + @SerializedName(SERIALIZED_NAME_RECEIVER_DETAILS) + private ReceiverDetails receiverDetails; + + + public BankTransferEvent eventId(Integer eventId) { + + this.eventId = eventId; + return this; + } + + /** + * Plaid's unique identifier for this event. IDs are sequential unsigned 64-bit integers. + * minimum: 0 + * @return eventId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for this event. IDs are sequential unsigned 64-bit integers.") + + public Integer getEventId() { + return eventId; + } + + + public void setEventId(Integer eventId) { + this.eventId = eventId; + } + + + public BankTransferEvent timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * The datetime when this event occurred. This will be of the form `2006-01-02T15:04:05Z`. + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "The datetime when this event occurred. This will be of the form `2006-01-02T15:04:05Z`.") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + public BankTransferEvent eventType(BankTransferEventType eventType) { + + this.eventType = eventType; + return this; + } + + /** + * Get eventType + * @return eventType + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferEventType getEventType() { + return eventType; + } + + + public void setEventType(BankTransferEventType eventType) { + this.eventType = eventType; + } + + + public BankTransferEvent accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The account ID associated with the bank transfer. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The account ID associated with the bank transfer.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public BankTransferEvent bankTransferId(String bankTransferId) { + + this.bankTransferId = bankTransferId; + return this; + } + + /** + * Plaid's unique identifier for a bank transfer. + * @return bankTransferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a bank transfer.") + + public String getBankTransferId() { + return bankTransferId; + } + + + public void setBankTransferId(String bankTransferId) { + this.bankTransferId = bankTransferId; + } + + + public BankTransferEvent originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * The ID of the origination account that this balance belongs to. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ID of the origination account that this balance belongs to.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public BankTransferEvent bankTransferType(BankTransferType bankTransferType) { + + this.bankTransferType = bankTransferType; + return this; + } + + /** + * Get bankTransferType + * @return bankTransferType + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferType getBankTransferType() { + return bankTransferType; + } + + + public void setBankTransferType(BankTransferType bankTransferType) { + this.bankTransferType = bankTransferType; + } + + + public BankTransferEvent bankTransferAmount(String bankTransferAmount) { + + this.bankTransferAmount = bankTransferAmount; + return this; + } + + /** + * The bank transfer amount. + * @return bankTransferAmount + **/ + @ApiModelProperty(required = true, value = "The bank transfer amount.") + + public String getBankTransferAmount() { + return bankTransferAmount; + } + + + public void setBankTransferAmount(String bankTransferAmount) { + this.bankTransferAmount = bankTransferAmount; + } + + + public BankTransferEvent bankTransferIsoCurrencyCode(String bankTransferIsoCurrencyCode) { + + this.bankTransferIsoCurrencyCode = bankTransferIsoCurrencyCode; + return this; + } + + /** + * The currency of the bank transfer amount. + * @return bankTransferIsoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the bank transfer amount.") + + public String getBankTransferIsoCurrencyCode() { + return bankTransferIsoCurrencyCode; + } + + + public void setBankTransferIsoCurrencyCode(String bankTransferIsoCurrencyCode) { + this.bankTransferIsoCurrencyCode = bankTransferIsoCurrencyCode; + } + + + public BankTransferEvent failureReason(BankTransferFailure failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BankTransferFailure getFailureReason() { + return failureReason; + } + + + public void setFailureReason(BankTransferFailure failureReason) { + this.failureReason = failureReason; + } + + + public BankTransferEvent direction(BankTransferDirection direction) { + + this.direction = direction; + return this; + } + + /** + * Get direction + * @return direction + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BankTransferDirection getDirection() { + return direction; + } + + + public void setDirection(BankTransferDirection direction) { + this.direction = direction; + } + + + public BankTransferEvent receiverDetails(ReceiverDetails receiverDetails) { + + this.receiverDetails = receiverDetails; + return this; + } + + /** + * Get receiverDetails + * @return receiverDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public ReceiverDetails getReceiverDetails() { + return receiverDetails; + } + + + public void setReceiverDetails(ReceiverDetails receiverDetails) { + this.receiverDetails = receiverDetails; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferEvent bankTransferEvent = (BankTransferEvent) o; + return Objects.equals(this.eventId, bankTransferEvent.eventId) && + Objects.equals(this.timestamp, bankTransferEvent.timestamp) && + Objects.equals(this.eventType, bankTransferEvent.eventType) && + Objects.equals(this.accountId, bankTransferEvent.accountId) && + Objects.equals(this.bankTransferId, bankTransferEvent.bankTransferId) && + Objects.equals(this.originationAccountId, bankTransferEvent.originationAccountId) && + Objects.equals(this.bankTransferType, bankTransferEvent.bankTransferType) && + Objects.equals(this.bankTransferAmount, bankTransferEvent.bankTransferAmount) && + Objects.equals(this.bankTransferIsoCurrencyCode, bankTransferEvent.bankTransferIsoCurrencyCode) && + Objects.equals(this.failureReason, bankTransferEvent.failureReason) && + Objects.equals(this.direction, bankTransferEvent.direction) && + Objects.equals(this.receiverDetails, bankTransferEvent.receiverDetails); + } + + @Override + public int hashCode() { + return Objects.hash(eventId, timestamp, eventType, accountId, bankTransferId, originationAccountId, bankTransferType, bankTransferAmount, bankTransferIsoCurrencyCode, failureReason, direction, receiverDetails); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferEvent {\n"); + sb.append(" eventId: ").append(toIndentedString(eventId)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" bankTransferId: ").append(toIndentedString(bankTransferId)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" bankTransferType: ").append(toIndentedString(bankTransferType)).append("\n"); + sb.append(" bankTransferAmount: ").append(toIndentedString(bankTransferAmount)).append("\n"); + sb.append(" bankTransferIsoCurrencyCode: ").append(toIndentedString(bankTransferIsoCurrencyCode)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append(" direction: ").append(toIndentedString(direction)).append("\n"); + sb.append(" receiverDetails: ").append(toIndentedString(receiverDetails)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferEventListBankTransferType.java b/src/main/java/com/plaid/client/model/BankTransferEventListBankTransferType.java new file mode 100644 index 0000000000..b6b3c1d239 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferEventListBankTransferType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of bank transfer. This will be either `debit` or `credit`. A `debit` indicates a transfer of money into your origination account; a `credit` indicates a transfer of money out of your origination account. + */ +@JsonAdapter(BankTransferEventListBankTransferType.Adapter.class) +public enum BankTransferEventListBankTransferType { + + DEBIT("debit"), + + CREDIT("credit"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BankTransferEventListBankTransferType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BankTransferEventListBankTransferType fromValue(String value) { + for (BankTransferEventListBankTransferType b : BankTransferEventListBankTransferType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BankTransferEventListBankTransferType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BankTransferEventListBankTransferType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BankTransferEventListBankTransferType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferEventListDirection.java b/src/main/java/com/plaid/client/model/BankTransferEventListDirection.java new file mode 100644 index 0000000000..034d3c22ec --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferEventListDirection.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates the direction of the transfer: `outbound`: for API-initiated transfers `inbound`: for payments received by the FBO account. + */ +@JsonAdapter(BankTransferEventListDirection.Adapter.class) +public enum BankTransferEventListDirection { + + INBOUND("inbound"), + + OUTBOUND("outbound"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BankTransferEventListDirection(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BankTransferEventListDirection fromValue(String value) { + for (BankTransferEventListDirection b : BankTransferEventListDirection.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BankTransferEventListDirection enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BankTransferEventListDirection read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BankTransferEventListDirection.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferEventListRequest.java b/src/main/java/com/plaid/client/model/BankTransferEventListRequest.java new file mode 100644 index 0000000000..44a554f15c --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferEventListRequest.java @@ -0,0 +1,435 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankTransferEventListBankTransferType; +import com.plaid.client.model.BankTransferEventListDirection; +import com.plaid.client.model.BankTransferEventType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the request schema for `/bank_transfer/event/list` + */ +@ApiModel(description = "Defines the request schema for `/bank_transfer/event/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferEventListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private OffsetDateTime startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private OffsetDateTime endDate; + + public static final String SERIALIZED_NAME_BANK_TRANSFER_ID = "bank_transfer_id"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER_ID) + private String bankTransferId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_BANK_TRANSFER_TYPE = "bank_transfer_type"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER_TYPE) + private BankTransferEventListBankTransferType bankTransferType; + + public static final String SERIALIZED_NAME_EVENT_TYPES = "event_types"; + @SerializedName(SERIALIZED_NAME_EVENT_TYPES) + private List eventTypes = null; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 25; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_DIRECTION = "direction"; + @SerializedName(SERIALIZED_NAME_DIRECTION) + private BankTransferEventListDirection direction; + + + public BankTransferEventListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BankTransferEventListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BankTransferEventListRequest startDate(OffsetDateTime startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)") + + public OffsetDateTime getStartDate() { + return startDate; + } + + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + + public BankTransferEventListRequest endDate(OffsetDateTime endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)") + + public OffsetDateTime getEndDate() { + return endDate; + } + + + public void setEndDate(OffsetDateTime endDate) { + this.endDate = endDate; + } + + + public BankTransferEventListRequest bankTransferId(String bankTransferId) { + + this.bankTransferId = bankTransferId; + return this; + } + + /** + * Plaid's unique identifier for a bank transfer. + * @return bankTransferId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a bank transfer.") + + public String getBankTransferId() { + return bankTransferId; + } + + + public void setBankTransferId(String bankTransferId) { + this.bankTransferId = bankTransferId; + } + + + public BankTransferEventListRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The account ID to get events for all transactions to/from an account. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account ID to get events for all transactions to/from an account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public BankTransferEventListRequest bankTransferType(BankTransferEventListBankTransferType bankTransferType) { + + this.bankTransferType = bankTransferType; + return this; + } + + /** + * Get bankTransferType + * @return bankTransferType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BankTransferEventListBankTransferType getBankTransferType() { + return bankTransferType; + } + + + public void setBankTransferType(BankTransferEventListBankTransferType bankTransferType) { + this.bankTransferType = bankTransferType; + } + + + public BankTransferEventListRequest eventTypes(List eventTypes) { + + this.eventTypes = eventTypes; + return this; + } + + public BankTransferEventListRequest addEventTypesItem(BankTransferEventType eventTypesItem) { + if (this.eventTypes == null) { + this.eventTypes = new ArrayList<>(); + } + this.eventTypes.add(eventTypesItem); + return this; + } + + /** + * Filter events by event type. + * @return eventTypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter events by event type.") + + public List getEventTypes() { + return eventTypes; + } + + + public void setEventTypes(List eventTypes) { + this.eventTypes = eventTypes; + } + + + public BankTransferEventListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of bank transfer events to return. If the number of events matching the above parameters is greater than `count`, the most recent events will be returned. + * minimum: 1 + * maximum: 25 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of bank transfer events to return. If the number of events matching the above parameters is greater than `count`, the most recent events will be returned.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public BankTransferEventListRequest offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The offset into the list of bank transfer events. When `count`=25 and `offset`=0, the first 25 events will be returned. When `count`=25 and `offset`=25, the next 25 bank transfer events will be returned. + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The offset into the list of bank transfer events. When `count`=25 and `offset`=0, the first 25 events will be returned. When `count`=25 and `offset`=25, the next 25 bank transfer events will be returned.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + public BankTransferEventListRequest originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * The origination account ID to get events for transfers from a specific origination account. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The origination account ID to get events for transfers from a specific origination account.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public BankTransferEventListRequest direction(BankTransferEventListDirection direction) { + + this.direction = direction; + return this; + } + + /** + * Get direction + * @return direction + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BankTransferEventListDirection getDirection() { + return direction; + } + + + public void setDirection(BankTransferEventListDirection direction) { + this.direction = direction; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferEventListRequest bankTransferEventListRequest = (BankTransferEventListRequest) o; + return Objects.equals(this.clientId, bankTransferEventListRequest.clientId) && + Objects.equals(this.secret, bankTransferEventListRequest.secret) && + Objects.equals(this.startDate, bankTransferEventListRequest.startDate) && + Objects.equals(this.endDate, bankTransferEventListRequest.endDate) && + Objects.equals(this.bankTransferId, bankTransferEventListRequest.bankTransferId) && + Objects.equals(this.accountId, bankTransferEventListRequest.accountId) && + Objects.equals(this.bankTransferType, bankTransferEventListRequest.bankTransferType) && + Objects.equals(this.eventTypes, bankTransferEventListRequest.eventTypes) && + Objects.equals(this.count, bankTransferEventListRequest.count) && + Objects.equals(this.offset, bankTransferEventListRequest.offset) && + Objects.equals(this.originationAccountId, bankTransferEventListRequest.originationAccountId) && + Objects.equals(this.direction, bankTransferEventListRequest.direction); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, startDate, endDate, bankTransferId, accountId, bankTransferType, eventTypes, count, offset, originationAccountId, direction); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferEventListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" bankTransferId: ").append(toIndentedString(bankTransferId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" bankTransferType: ").append(toIndentedString(bankTransferType)).append("\n"); + sb.append(" eventTypes: ").append(toIndentedString(eventTypes)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" direction: ").append(toIndentedString(direction)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferEventListResponse.java b/src/main/java/com/plaid/client/model/BankTransferEventListResponse.java new file mode 100644 index 0000000000..1a453476bc --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferEventListResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankTransferEvent; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response schema for `/bank_transfer/event/list` + */ +@ApiModel(description = "Defines the response schema for `/bank_transfer/event/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferEventListResponse { + public static final String SERIALIZED_NAME_BANK_TRANSFER_EVENTS = "bank_transfer_events"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER_EVENTS) + private List bankTransferEvents = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BankTransferEventListResponse bankTransferEvents(List bankTransferEvents) { + + this.bankTransferEvents = bankTransferEvents; + return this; + } + + public BankTransferEventListResponse addBankTransferEventsItem(BankTransferEvent bankTransferEventsItem) { + this.bankTransferEvents.add(bankTransferEventsItem); + return this; + } + + /** + * Get bankTransferEvents + * @return bankTransferEvents + **/ + @ApiModelProperty(required = true, value = "") + + public List getBankTransferEvents() { + return bankTransferEvents; + } + + + public void setBankTransferEvents(List bankTransferEvents) { + this.bankTransferEvents = bankTransferEvents; + } + + + public BankTransferEventListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferEventListResponse bankTransferEventListResponse = (BankTransferEventListResponse) o; + return Objects.equals(this.bankTransferEvents, bankTransferEventListResponse.bankTransferEvents) && + Objects.equals(this.requestId, bankTransferEventListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(bankTransferEvents, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferEventListResponse {\n"); + sb.append(" bankTransferEvents: ").append(toIndentedString(bankTransferEvents)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferEventSyncRequest.java b/src/main/java/com/plaid/client/model/BankTransferEventSyncRequest.java new file mode 100644 index 0000000000..b115b69fa7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferEventSyncRequest.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/bank_transfer/event/sync` + */ +@ApiModel(description = "Defines the request schema for `/bank_transfer/event/sync`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferEventSyncRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_AFTER_ID = "after_id"; + @SerializedName(SERIALIZED_NAME_AFTER_ID) + private Integer afterId; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 25; + + + public BankTransferEventSyncRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BankTransferEventSyncRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BankTransferEventSyncRequest afterId(Integer afterId) { + + this.afterId = afterId; + return this; + } + + /** + * The latest (largest) `event_id` fetched via the sync endpoint, or 0 initially. + * minimum: 0 + * @return afterId + **/ + @ApiModelProperty(required = true, value = "The latest (largest) `event_id` fetched via the sync endpoint, or 0 initially.") + + public Integer getAfterId() { + return afterId; + } + + + public void setAfterId(Integer afterId) { + this.afterId = afterId; + } + + + public BankTransferEventSyncRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of bank transfer events to return. + * minimum: 1 + * maximum: 25 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of bank transfer events to return.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferEventSyncRequest bankTransferEventSyncRequest = (BankTransferEventSyncRequest) o; + return Objects.equals(this.clientId, bankTransferEventSyncRequest.clientId) && + Objects.equals(this.secret, bankTransferEventSyncRequest.secret) && + Objects.equals(this.afterId, bankTransferEventSyncRequest.afterId) && + Objects.equals(this.count, bankTransferEventSyncRequest.count); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, afterId, count); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferEventSyncRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" afterId: ").append(toIndentedString(afterId)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferEventSyncResponse.java b/src/main/java/com/plaid/client/model/BankTransferEventSyncResponse.java new file mode 100644 index 0000000000..8ebb5c30b6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferEventSyncResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankTransferEvent; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response schema for `/bank_transfer/event/sync` + */ +@ApiModel(description = "Defines the response schema for `/bank_transfer/event/sync`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferEventSyncResponse { + public static final String SERIALIZED_NAME_BANK_TRANSFER_EVENTS = "bank_transfer_events"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER_EVENTS) + private List bankTransferEvents = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BankTransferEventSyncResponse bankTransferEvents(List bankTransferEvents) { + + this.bankTransferEvents = bankTransferEvents; + return this; + } + + public BankTransferEventSyncResponse addBankTransferEventsItem(BankTransferEvent bankTransferEventsItem) { + this.bankTransferEvents.add(bankTransferEventsItem); + return this; + } + + /** + * Get bankTransferEvents + * @return bankTransferEvents + **/ + @ApiModelProperty(required = true, value = "") + + public List getBankTransferEvents() { + return bankTransferEvents; + } + + + public void setBankTransferEvents(List bankTransferEvents) { + this.bankTransferEvents = bankTransferEvents; + } + + + public BankTransferEventSyncResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferEventSyncResponse bankTransferEventSyncResponse = (BankTransferEventSyncResponse) o; + return Objects.equals(this.bankTransferEvents, bankTransferEventSyncResponse.bankTransferEvents) && + Objects.equals(this.requestId, bankTransferEventSyncResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(bankTransferEvents, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferEventSyncResponse {\n"); + sb.append(" bankTransferEvents: ").append(toIndentedString(bankTransferEvents)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferEventType.java b/src/main/java/com/plaid/client/model/BankTransferEventType.java new file mode 100644 index 0000000000..83004f150b --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferEventType.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of event that this bank transfer represents. `pending`: A new transfer was created; it is in the pending state. `cancelled`: The transfer was cancelled by the client. `failed`: The transfer failed, no funds were moved. `posted`: The transfer has been successfully submitted to the payment network. `reversed`: A posted transfer was reversed. + */ +@JsonAdapter(BankTransferEventType.Adapter.class) +public enum BankTransferEventType { + + PENDING("pending"), + + CANCELLED("cancelled"), + + FAILED("failed"), + + POSTED("posted"), + + REVERSED("reversed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BankTransferEventType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BankTransferEventType fromValue(String value) { + for (BankTransferEventType b : BankTransferEventType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BankTransferEventType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BankTransferEventType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BankTransferEventType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BankTransferEventType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferFailure.java b/src/main/java/com/plaid/client/model/BankTransferFailure.java new file mode 100644 index 0000000000..2207c7eb91 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferFailure.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The failure reason if the type of this transfer is `\"failed\"` or `\"reversed\"`. Null value otherwise. + */ +@ApiModel(description = "The failure reason if the type of this transfer is `\"failed\"` or `\"reversed\"`. Null value otherwise.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferFailure { + public static final String SERIALIZED_NAME_ACH_RETURN_CODE = "ach_return_code"; + @SerializedName(SERIALIZED_NAME_ACH_RETURN_CODE) + private String achReturnCode; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + + public BankTransferFailure achReturnCode(String achReturnCode) { + + this.achReturnCode = achReturnCode; + return this; + } + + /** + * The ACH return code, e.g. `R01`. A return code will be provided if and only if the transfer status is `reversed`. For a full listing of ACH return codes, see [Bank Transfers errors](https://plaid.com/docs/errors/bank-transfers/#ach-return-codes). + * @return achReturnCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ACH return code, e.g. `R01`. A return code will be provided if and only if the transfer status is `reversed`. For a full listing of ACH return codes, see [Bank Transfers errors](https://plaid.com/docs/errors/bank-transfers/#ach-return-codes).") + + public String getAchReturnCode() { + return achReturnCode; + } + + + public void setAchReturnCode(String achReturnCode) { + this.achReturnCode = achReturnCode; + } + + + public BankTransferFailure description(String description) { + + this.description = description; + return this; + } + + /** + * A human-readable description of the reason for the failure or reversal. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A human-readable description of the reason for the failure or reversal.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferFailure bankTransferFailure = (BankTransferFailure) o; + return Objects.equals(this.achReturnCode, bankTransferFailure.achReturnCode) && + Objects.equals(this.description, bankTransferFailure.description); + } + + @Override + public int hashCode() { + return Objects.hash(achReturnCode, description); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferFailure {\n"); + sb.append(" achReturnCode: ").append(toIndentedString(achReturnCode)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferGetRequest.java b/src/main/java/com/plaid/client/model/BankTransferGetRequest.java new file mode 100644 index 0000000000..2c3b09cb7e --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/bank_transfer/get` + */ +@ApiModel(description = "Defines the request schema for `/bank_transfer/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_BANK_TRANSFER_ID = "bank_transfer_id"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER_ID) + private String bankTransferId; + + + public BankTransferGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BankTransferGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BankTransferGetRequest bankTransferId(String bankTransferId) { + + this.bankTransferId = bankTransferId; + return this; + } + + /** + * Plaid's unique identifier for a bank transfer. + * @return bankTransferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a bank transfer.") + + public String getBankTransferId() { + return bankTransferId; + } + + + public void setBankTransferId(String bankTransferId) { + this.bankTransferId = bankTransferId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferGetRequest bankTransferGetRequest = (BankTransferGetRequest) o; + return Objects.equals(this.clientId, bankTransferGetRequest.clientId) && + Objects.equals(this.secret, bankTransferGetRequest.secret) && + Objects.equals(this.bankTransferId, bankTransferGetRequest.bankTransferId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, bankTransferId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" bankTransferId: ").append(toIndentedString(bankTransferId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferGetResponse.java b/src/main/java/com/plaid/client/model/BankTransferGetResponse.java new file mode 100644 index 0000000000..733669629d --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankTransfer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/bank_transfer/get` + */ +@ApiModel(description = "Defines the response schema for `/bank_transfer/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferGetResponse { + public static final String SERIALIZED_NAME_BANK_TRANSFER = "bank_transfer"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER) + private BankTransfer bankTransfer; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BankTransferGetResponse bankTransfer(BankTransfer bankTransfer) { + + this.bankTransfer = bankTransfer; + return this; + } + + /** + * Get bankTransfer + * @return bankTransfer + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransfer getBankTransfer() { + return bankTransfer; + } + + + public void setBankTransfer(BankTransfer bankTransfer) { + this.bankTransfer = bankTransfer; + } + + + public BankTransferGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferGetResponse bankTransferGetResponse = (BankTransferGetResponse) o; + return Objects.equals(this.bankTransfer, bankTransferGetResponse.bankTransfer) && + Objects.equals(this.requestId, bankTransferGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(bankTransfer, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferGetResponse {\n"); + sb.append(" bankTransfer: ").append(toIndentedString(bankTransfer)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferListRequest.java b/src/main/java/com/plaid/client/model/BankTransferListRequest.java new file mode 100644 index 0000000000..00780e8c3d --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferListRequest.java @@ -0,0 +1,307 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankTransferDirection; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Defines the request schema for `/bank_transfer/list` + */ +@ApiModel(description = "Defines the request schema for `/bank_transfer/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private OffsetDateTime startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private OffsetDateTime endDate; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 25; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_DIRECTION = "direction"; + @SerializedName(SERIALIZED_NAME_DIRECTION) + private BankTransferDirection direction; + + + public BankTransferListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BankTransferListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BankTransferListRequest startDate(OffsetDateTime startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)") + + public OffsetDateTime getStartDate() { + return startDate; + } + + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + + public BankTransferListRequest endDate(OffsetDateTime endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)") + + public OffsetDateTime getEndDate() { + return endDate; + } + + + public void setEndDate(OffsetDateTime endDate) { + this.endDate = endDate; + } + + + public BankTransferListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of bank transfers to return. + * minimum: 1 + * maximum: 25 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of bank transfers to return.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public BankTransferListRequest offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The number of bank transfers to skip before returning results. + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of bank transfers to skip before returning results.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + public BankTransferListRequest originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Filter bank transfers to only those originated through the specified origination account. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter bank transfers to only those originated through the specified origination account.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public BankTransferListRequest direction(BankTransferDirection direction) { + + this.direction = direction; + return this; + } + + /** + * Get direction + * @return direction + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BankTransferDirection getDirection() { + return direction; + } + + + public void setDirection(BankTransferDirection direction) { + this.direction = direction; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferListRequest bankTransferListRequest = (BankTransferListRequest) o; + return Objects.equals(this.clientId, bankTransferListRequest.clientId) && + Objects.equals(this.secret, bankTransferListRequest.secret) && + Objects.equals(this.startDate, bankTransferListRequest.startDate) && + Objects.equals(this.endDate, bankTransferListRequest.endDate) && + Objects.equals(this.count, bankTransferListRequest.count) && + Objects.equals(this.offset, bankTransferListRequest.offset) && + Objects.equals(this.originationAccountId, bankTransferListRequest.originationAccountId) && + Objects.equals(this.direction, bankTransferListRequest.direction); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, startDate, endDate, count, offset, originationAccountId, direction); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" direction: ").append(toIndentedString(direction)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferListResponse.java b/src/main/java/com/plaid/client/model/BankTransferListResponse.java new file mode 100644 index 0000000000..4667058e48 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferListResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankTransfer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response schema for `/bank_transfer/list` + */ +@ApiModel(description = "Defines the response schema for `/bank_transfer/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferListResponse { + public static final String SERIALIZED_NAME_BANK_TRANSFERS = "bank_transfers"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFERS) + private List bankTransfers = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BankTransferListResponse bankTransfers(List bankTransfers) { + + this.bankTransfers = bankTransfers; + return this; + } + + public BankTransferListResponse addBankTransfersItem(BankTransfer bankTransfersItem) { + this.bankTransfers.add(bankTransfersItem); + return this; + } + + /** + * Get bankTransfers + * @return bankTransfers + **/ + @ApiModelProperty(required = true, value = "") + + public List getBankTransfers() { + return bankTransfers; + } + + + public void setBankTransfers(List bankTransfers) { + this.bankTransfers = bankTransfers; + } + + + public BankTransferListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferListResponse bankTransferListResponse = (BankTransferListResponse) o; + return Objects.equals(this.bankTransfers, bankTransferListResponse.bankTransfers) && + Objects.equals(this.requestId, bankTransferListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(bankTransfers, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferListResponse {\n"); + sb.append(" bankTransfers: ").append(toIndentedString(bankTransfers)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferMigrateAccountRequest.java b/src/main/java/com/plaid/client/model/BankTransferMigrateAccountRequest.java new file mode 100644 index 0000000000..8fe988e48b --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferMigrateAccountRequest.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/bank_transfer/migrate_account` + */ +@ApiModel(description = "Defines the request schema for `/bank_transfer/migrate_account`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferMigrateAccountRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCOUNT_NUMBER = "account_number"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBER) + private String accountNumber; + + public static final String SERIALIZED_NAME_ROUTING_NUMBER = "routing_number"; + @SerializedName(SERIALIZED_NAME_ROUTING_NUMBER) + private String routingNumber; + + public static final String SERIALIZED_NAME_WIRE_ROUTING_NUMBER = "wire_routing_number"; + @SerializedName(SERIALIZED_NAME_WIRE_ROUTING_NUMBER) + private String wireRoutingNumber; + + public static final String SERIALIZED_NAME_ACCOUNT_TYPE = "account_type"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_TYPE) + private String accountType; + + + public BankTransferMigrateAccountRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BankTransferMigrateAccountRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BankTransferMigrateAccountRequest accountNumber(String accountNumber) { + + this.accountNumber = accountNumber; + return this; + } + + /** + * The user's account number. + * @return accountNumber + **/ + @ApiModelProperty(required = true, value = "The user's account number.") + + public String getAccountNumber() { + return accountNumber; + } + + + public void setAccountNumber(String accountNumber) { + this.accountNumber = accountNumber; + } + + + public BankTransferMigrateAccountRequest routingNumber(String routingNumber) { + + this.routingNumber = routingNumber; + return this; + } + + /** + * The user's routing number. + * @return routingNumber + **/ + @ApiModelProperty(required = true, value = "The user's routing number.") + + public String getRoutingNumber() { + return routingNumber; + } + + + public void setRoutingNumber(String routingNumber) { + this.routingNumber = routingNumber; + } + + + public BankTransferMigrateAccountRequest wireRoutingNumber(String wireRoutingNumber) { + + this.wireRoutingNumber = wireRoutingNumber; + return this; + } + + /** + * The user's wire transfer routing number. This is the ABA number; for some institutions, this may differ from the ACH number used in `routing_number`. + * @return wireRoutingNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's wire transfer routing number. This is the ABA number; for some institutions, this may differ from the ACH number used in `routing_number`.") + + public String getWireRoutingNumber() { + return wireRoutingNumber; + } + + + public void setWireRoutingNumber(String wireRoutingNumber) { + this.wireRoutingNumber = wireRoutingNumber; + } + + + public BankTransferMigrateAccountRequest accountType(String accountType) { + + this.accountType = accountType; + return this; + } + + /** + * The type of the bank account (`checking` or `savings`). + * @return accountType + **/ + @ApiModelProperty(required = true, value = "The type of the bank account (`checking` or `savings`).") + + public String getAccountType() { + return accountType; + } + + + public void setAccountType(String accountType) { + this.accountType = accountType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferMigrateAccountRequest bankTransferMigrateAccountRequest = (BankTransferMigrateAccountRequest) o; + return Objects.equals(this.clientId, bankTransferMigrateAccountRequest.clientId) && + Objects.equals(this.secret, bankTransferMigrateAccountRequest.secret) && + Objects.equals(this.accountNumber, bankTransferMigrateAccountRequest.accountNumber) && + Objects.equals(this.routingNumber, bankTransferMigrateAccountRequest.routingNumber) && + Objects.equals(this.wireRoutingNumber, bankTransferMigrateAccountRequest.wireRoutingNumber) && + Objects.equals(this.accountType, bankTransferMigrateAccountRequest.accountType); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accountNumber, routingNumber, wireRoutingNumber, accountType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferMigrateAccountRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).append("\n"); + sb.append(" routingNumber: ").append(toIndentedString(routingNumber)).append("\n"); + sb.append(" wireRoutingNumber: ").append(toIndentedString(wireRoutingNumber)).append("\n"); + sb.append(" accountType: ").append(toIndentedString(accountType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferMigrateAccountResponse.java b/src/main/java/com/plaid/client/model/BankTransferMigrateAccountResponse.java new file mode 100644 index 0000000000..82eb4c4b2f --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferMigrateAccountResponse.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/bank_transfer/migrate_account` + */ +@ApiModel(description = "Defines the response schema for `/bank_transfer/migrate_account`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferMigrateAccountResponse { + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BankTransferMigrateAccountResponse accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The Plaid `access_token` for the newly created Item. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The Plaid `access_token` for the newly created Item.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public BankTransferMigrateAccountResponse accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` for the newly created Item. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` for the newly created Item.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public BankTransferMigrateAccountResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferMigrateAccountResponse bankTransferMigrateAccountResponse = (BankTransferMigrateAccountResponse) o; + return Objects.equals(this.accessToken, bankTransferMigrateAccountResponse.accessToken) && + Objects.equals(this.accountId, bankTransferMigrateAccountResponse.accountId) && + Objects.equals(this.requestId, bankTransferMigrateAccountResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accessToken, accountId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferMigrateAccountResponse {\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferNetwork.java b/src/main/java/com/plaid/client/model/BankTransferNetwork.java new file mode 100644 index 0000000000..1599586704 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferNetwork.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The network or rails used for the transfer. Valid options are `ach`, `same-day-ach`, or `wire`. + */ +@JsonAdapter(BankTransferNetwork.Adapter.class) +public enum BankTransferNetwork { + + ACH("ach"), + + SAME_DAY_ACH("same-day-ach"), + + WIRE("wire"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BankTransferNetwork(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BankTransferNetwork fromValue(String value) { + for (BankTransferNetwork b : BankTransferNetwork.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BankTransferNetwork.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BankTransferNetwork enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BankTransferNetwork read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BankTransferNetwork.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferStatus.java b/src/main/java/com/plaid/client/model/BankTransferStatus.java new file mode 100644 index 0000000000..8056879ef3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferStatus.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the transfer. + */ +@JsonAdapter(BankTransferStatus.Adapter.class) +public enum BankTransferStatus { + + PENDING("pending"), + + POSTED("posted"), + + CANCELLED("cancelled"), + + FAILED("failed"), + + REVERSED("reversed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BankTransferStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BankTransferStatus fromValue(String value) { + for (BankTransferStatus b : BankTransferStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BankTransferStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BankTransferStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BankTransferStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BankTransferStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferSweep.java b/src/main/java/com/plaid/client/model/BankTransferSweep.java new file mode 100644 index 0000000000..2e32900847 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferSweep.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * BankTransferSweep describes a sweep transfer. + */ +@ApiModel(description = "BankTransferSweep describes a sweep transfer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferSweep { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + + public BankTransferSweep id(String id) { + + this.id = id; + return this; + } + + /** + * Identifier of the sweep. + * @return id + **/ + @ApiModelProperty(required = true, value = "Identifier of the sweep.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BankTransferSweep createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * The datetime when the sweep occurred, in RFC 3339 format. + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "The datetime when the sweep occurred, in RFC 3339 format.") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public BankTransferSweep amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the sweep. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the sweep.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public BankTransferSweep isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the sweep, e.g. \"USD\". + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the sweep, e.g. \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferSweep bankTransferSweep = (BankTransferSweep) o; + return Objects.equals(this.id, bankTransferSweep.id) && + Objects.equals(this.createdAt, bankTransferSweep.createdAt) && + Objects.equals(this.amount, bankTransferSweep.amount) && + Objects.equals(this.isoCurrencyCode, bankTransferSweep.isoCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdAt, amount, isoCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferSweep {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferSweepGetRequest.java b/src/main/java/com/plaid/client/model/BankTransferSweepGetRequest.java new file mode 100644 index 0000000000..dfbde9ad9b --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferSweepGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/bank_transfer/sweep/get` + */ +@ApiModel(description = "Defines the request schema for `/bank_transfer/sweep/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferSweepGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_SWEEP_ID = "sweep_id"; + @SerializedName(SERIALIZED_NAME_SWEEP_ID) + private String sweepId; + + + public BankTransferSweepGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BankTransferSweepGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BankTransferSweepGetRequest sweepId(String sweepId) { + + this.sweepId = sweepId; + return this; + } + + /** + * Identifier of the sweep. + * @return sweepId + **/ + @ApiModelProperty(required = true, value = "Identifier of the sweep.") + + public String getSweepId() { + return sweepId; + } + + + public void setSweepId(String sweepId) { + this.sweepId = sweepId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferSweepGetRequest bankTransferSweepGetRequest = (BankTransferSweepGetRequest) o; + return Objects.equals(this.clientId, bankTransferSweepGetRequest.clientId) && + Objects.equals(this.secret, bankTransferSweepGetRequest.secret) && + Objects.equals(this.sweepId, bankTransferSweepGetRequest.sweepId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, sweepId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferSweepGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" sweepId: ").append(toIndentedString(sweepId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferSweepGetResponse.java b/src/main/java/com/plaid/client/model/BankTransferSweepGetResponse.java new file mode 100644 index 0000000000..0eca7d465c --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferSweepGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankTransferSweep; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * BankTransferSweepGetResponse defines the response schema for `/bank_transfer/sweep/get` + */ +@ApiModel(description = "BankTransferSweepGetResponse defines the response schema for `/bank_transfer/sweep/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferSweepGetResponse { + public static final String SERIALIZED_NAME_SWEEP = "sweep"; + @SerializedName(SERIALIZED_NAME_SWEEP) + private BankTransferSweep sweep; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BankTransferSweepGetResponse sweep(BankTransferSweep sweep) { + + this.sweep = sweep; + return this; + } + + /** + * Get sweep + * @return sweep + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferSweep getSweep() { + return sweep; + } + + + public void setSweep(BankTransferSweep sweep) { + this.sweep = sweep; + } + + + public BankTransferSweepGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferSweepGetResponse bankTransferSweepGetResponse = (BankTransferSweepGetResponse) o; + return Objects.equals(this.sweep, bankTransferSweepGetResponse.sweep) && + Objects.equals(this.requestId, bankTransferSweepGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(sweep, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferSweepGetResponse {\n"); + sb.append(" sweep: ").append(toIndentedString(sweep)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferSweepListRequest.java b/src/main/java/com/plaid/client/model/BankTransferSweepListRequest.java new file mode 100644 index 0000000000..842fc85ee5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferSweepListRequest.java @@ -0,0 +1,247 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * BankTransferSweepListRequest defines the request schema for `/bank_transfer/sweep/list` + */ +@ApiModel(description = "BankTransferSweepListRequest defines the request schema for `/bank_transfer/sweep/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferSweepListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + private OffsetDateTime startTime; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + private OffsetDateTime endTime; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 25; + + + public BankTransferSweepListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BankTransferSweepListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BankTransferSweepListRequest originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * If multiple origination accounts are available, `origination_account_id` must be used to specify the account that the sweeps belong to. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If multiple origination accounts are available, `origination_account_id` must be used to specify the account that the sweeps belong to.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public BankTransferSweepListRequest startTime(OffsetDateTime startTime) { + + this.startTime = startTime; + return this; + } + + /** + * The start `created` datetime of sweeps to return (RFC 3339 format). + * @return startTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start `created` datetime of sweeps to return (RFC 3339 format).") + + public OffsetDateTime getStartTime() { + return startTime; + } + + + public void setStartTime(OffsetDateTime startTime) { + this.startTime = startTime; + } + + + public BankTransferSweepListRequest endTime(OffsetDateTime endTime) { + + this.endTime = endTime; + return this; + } + + /** + * The end `created` datetime of sweeps to return (RFC 3339 format). + * @return endTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end `created` datetime of sweeps to return (RFC 3339 format).") + + public OffsetDateTime getEndTime() { + return endTime; + } + + + public void setEndTime(OffsetDateTime endTime) { + this.endTime = endTime; + } + + + public BankTransferSweepListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of sweeps to return. + * minimum: 1 + * maximum: 25 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of sweeps to return.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferSweepListRequest bankTransferSweepListRequest = (BankTransferSweepListRequest) o; + return Objects.equals(this.clientId, bankTransferSweepListRequest.clientId) && + Objects.equals(this.secret, bankTransferSweepListRequest.secret) && + Objects.equals(this.originationAccountId, bankTransferSweepListRequest.originationAccountId) && + Objects.equals(this.startTime, bankTransferSweepListRequest.startTime) && + Objects.equals(this.endTime, bankTransferSweepListRequest.endTime) && + Objects.equals(this.count, bankTransferSweepListRequest.count); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originationAccountId, startTime, endTime, count); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferSweepListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); + sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferSweepListResponse.java b/src/main/java/com/plaid/client/model/BankTransferSweepListResponse.java new file mode 100644 index 0000000000..2bf613c787 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferSweepListResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankTransferSweep; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * BankTransferSweepListResponse defines the response schema for `/bank_transfer/sweep/list` + */ +@ApiModel(description = "BankTransferSweepListResponse defines the response schema for `/bank_transfer/sweep/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferSweepListResponse { + public static final String SERIALIZED_NAME_SWEEPS = "sweeps"; + @SerializedName(SERIALIZED_NAME_SWEEPS) + private List sweeps = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BankTransferSweepListResponse sweeps(List sweeps) { + + this.sweeps = sweeps; + return this; + } + + public BankTransferSweepListResponse addSweepsItem(BankTransferSweep sweepsItem) { + this.sweeps.add(sweepsItem); + return this; + } + + /** + * Get sweeps + * @return sweeps + **/ + @ApiModelProperty(required = true, value = "") + + public List getSweeps() { + return sweeps; + } + + + public void setSweeps(List sweeps) { + this.sweeps = sweeps; + } + + + public BankTransferSweepListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferSweepListResponse bankTransferSweepListResponse = (BankTransferSweepListResponse) o; + return Objects.equals(this.sweeps, bankTransferSweepListResponse.sweeps) && + Objects.equals(this.requestId, bankTransferSweepListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(sweeps, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferSweepListResponse {\n"); + sb.append(" sweeps: ").append(toIndentedString(sweeps)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferType.java b/src/main/java/com/plaid/client/model/BankTransferType.java new file mode 100644 index 0000000000..6b505f27c5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of bank transfer. This will be either `debit` or `credit`. A `debit` indicates a transfer of money into the origination account; a `credit` indicates a transfer of money out of the origination account. + */ +@JsonAdapter(BankTransferType.Adapter.class) +public enum BankTransferType { + + DEBIT("debit"), + + CREDIT("credit"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BankTransferType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BankTransferType fromValue(String value) { + for (BankTransferType b : BankTransferType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BankTransferType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BankTransferType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BankTransferType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BankTransferType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BankTransferUser.java b/src/main/java/com/plaid/client/model/BankTransferUser.java new file mode 100644 index 0000000000..14952b4673 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransferUser.java @@ -0,0 +1,147 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The legal name and other information for the account holder. + */ +@ApiModel(description = "The legal name and other information for the account holder.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransferUser { + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_ROUTING_NUMBER = "routing_number"; + @SerializedName(SERIALIZED_NAME_ROUTING_NUMBER) + private String routingNumber; + + + public BankTransferUser legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * The account holder's full legal name. If the transfer `ach_class` is `ccd`, this should be the business name of the account holder. + * @return legalName + **/ + @ApiModelProperty(required = true, value = "The account holder's full legal name. If the transfer `ach_class` is `ccd`, this should be the business name of the account holder.") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public BankTransferUser emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * The account holder's email. + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account holder's email.") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + /** + * The account holder's routing number. This field is only used in response data. Do not provide this field when making requests. + * @return routingNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account holder's routing number. This field is only used in response data. Do not provide this field when making requests.") + + public String getRoutingNumber() { + return routingNumber; + } + + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransferUser bankTransferUser = (BankTransferUser) o; + return Objects.equals(this.legalName, bankTransferUser.legalName) && + Objects.equals(this.emailAddress, bankTransferUser.emailAddress) && + Objects.equals(this.routingNumber, bankTransferUser.routingNumber); + } + + @Override + public int hashCode() { + return Objects.hash(legalName, emailAddress, routingNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransferUser {\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" routingNumber: ").append(toIndentedString(routingNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransfersEventsUpdateWebhook.java b/src/main/java/com/plaid/client/model/BankTransfersEventsUpdateWebhook.java new file mode 100644 index 0000000000..2a67b0acb2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransfersEventsUpdateWebhook.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when new bank transfer events are available. Receiving this webhook indicates you should fetch the new events from `/bank_transfer/event/sync`. + */ +@ApiModel(description = "Fired when new bank transfer events are available. Receiving this webhook indicates you should fetch the new events from `/bank_transfer/event/sync`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransfersEventsUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public BankTransfersEventsUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `BANK_TRANSFERS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`BANK_TRANSFERS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public BankTransfersEventsUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `BANK_TRANSFERS_EVENTS_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`BANK_TRANSFERS_EVENTS_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public BankTransfersEventsUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransfersEventsUpdateWebhook bankTransfersEventsUpdateWebhook = (BankTransfersEventsUpdateWebhook) o; + return Objects.equals(this.webhookType, bankTransfersEventsUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, bankTransfersEventsUpdateWebhook.webhookCode) && + Objects.equals(this.environment, bankTransfersEventsUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransfersEventsUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BankTransfersEventsUpdateWebhookForAuth.java b/src/main/java/com/plaid/client/model/BankTransfersEventsUpdateWebhookForAuth.java new file mode 100644 index 0000000000..e863ed5a24 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BankTransfersEventsUpdateWebhookForAuth.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when new ACH events are available. To begin receiving this webhook, you must first register your webhook listener endpoint via the [webhooks page in the Dashboard](https://dashboard.plaid.com/team/webhooks). The `BANK_TRANSFERS_EVENTS_UPDATE` webhook can be used to track the progress of ACH transfers used in [micro-deposit verification](https://plaid.com/docs/auth/coverage/microdeposit-events/). Receiving this webhook indicates you should fetch the new events from `/bank_transfer/event/sync`. Note that [Transfer](https://plaid.com/docs/transfer) customers should use Transfer webhooks instead of using `BANK_TRANSFERS_EVENTS_UPDATE`; see [micro-deposit events documentation](https://plaid.com/docs/auth/coverage/microdeposit-events/) for more details. + */ +@ApiModel(description = "Fired when new ACH events are available. To begin receiving this webhook, you must first register your webhook listener endpoint via the [webhooks page in the Dashboard](https://dashboard.plaid.com/team/webhooks). The `BANK_TRANSFERS_EVENTS_UPDATE` webhook can be used to track the progress of ACH transfers used in [micro-deposit verification](https://plaid.com/docs/auth/coverage/microdeposit-events/). Receiving this webhook indicates you should fetch the new events from `/bank_transfer/event/sync`. Note that [Transfer](https://plaid.com/docs/transfer) customers should use Transfer webhooks instead of using `BANK_TRANSFERS_EVENTS_UPDATE`; see [micro-deposit events documentation](https://plaid.com/docs/auth/coverage/microdeposit-events/) for more details.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BankTransfersEventsUpdateWebhookForAuth { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public BankTransfersEventsUpdateWebhookForAuth webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `BANK_TRANSFERS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`BANK_TRANSFERS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public BankTransfersEventsUpdateWebhookForAuth webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `BANK_TRANSFERS_EVENTS_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`BANK_TRANSFERS_EVENTS_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public BankTransfersEventsUpdateWebhookForAuth environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BankTransfersEventsUpdateWebhookForAuth bankTransfersEventsUpdateWebhookForAuth = (BankTransfersEventsUpdateWebhookForAuth) o; + return Objects.equals(this.webhookType, bankTransfersEventsUpdateWebhookForAuth.webhookType) && + Objects.equals(this.webhookCode, bankTransfersEventsUpdateWebhookForAuth.webhookCode) && + Objects.equals(this.environment, bankTransfersEventsUpdateWebhookForAuth.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BankTransfersEventsUpdateWebhookForAuth {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReport.java b/src/main/java/com/plaid/client/model/BaseReport.java new file mode 100644 index 0000000000..5a6f0eb862 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReport.java @@ -0,0 +1,251 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BaseReportItem; +import com.plaid.client.model.BaseReportUserAttributes; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing a Base Report + */ +@ApiModel(description = "An object representing a Base Report") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReport { + public static final String SERIALIZED_NAME_REPORT_ID = "report_id"; + @SerializedName(SERIALIZED_NAME_REPORT_ID) + private String reportId; + + public static final String SERIALIZED_NAME_DATE_GENERATED = "date_generated"; + @SerializedName(SERIALIZED_NAME_DATE_GENERATED) + private OffsetDateTime dateGenerated; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Double daysRequested; + + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private BaseReportUserAttributes attributes; + + + public BaseReport reportId(String reportId) { + + this.reportId = reportId; + return this; + } + + /** + * A unique ID identifying a Base Report. Like all Plaid identifiers, this ID is case sensitive. + * @return reportId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying a Base Report. Like all Plaid identifiers, this ID is case sensitive.") + + public String getReportId() { + return reportId; + } + + + public void setReportId(String reportId) { + this.reportId = reportId; + } + + + public BaseReport dateGenerated(OffsetDateTime dateGenerated) { + + this.dateGenerated = dateGenerated; + return this; + } + + /** + * The date and time when the Base Report was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\"). + * @return dateGenerated + **/ + @ApiModelProperty(required = true, value = "The date and time when the Base Report was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\").") + + public OffsetDateTime getDateGenerated() { + return dateGenerated; + } + + + public void setDateGenerated(OffsetDateTime dateGenerated) { + this.dateGenerated = dateGenerated; + } + + + public BaseReport daysRequested(Double daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days of transaction history requested. + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The number of days of transaction history requested.") + + public Double getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Double daysRequested) { + this.daysRequested = daysRequested; + } + + + public BaseReport clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * Client-generated identifier, which can be used by lenders to track loan applications. + * @return clientReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client-generated identifier, which can be used by lenders to track loan applications.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + public BaseReport items(List items) { + + this.items = items; + return this; + } + + public BaseReport addItemsItem(BaseReportItem itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * Data returned by Plaid about each of the Items included in the Base Report. + * @return items + **/ + @ApiModelProperty(required = true, value = "Data returned by Plaid about each of the Items included in the Base Report.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + public BaseReport attributes(BaseReportUserAttributes attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BaseReportUserAttributes getAttributes() { + return attributes; + } + + + public void setAttributes(BaseReportUserAttributes attributes) { + this.attributes = attributes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReport baseReport = (BaseReport) o; + return Objects.equals(this.reportId, baseReport.reportId) && + Objects.equals(this.dateGenerated, baseReport.dateGenerated) && + Objects.equals(this.daysRequested, baseReport.daysRequested) && + Objects.equals(this.clientReportId, baseReport.clientReportId) && + Objects.equals(this.items, baseReport.items) && + Objects.equals(this.attributes, baseReport.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(reportId, dateGenerated, daysRequested, clientReportId, items, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReport {\n"); + sb.append(" reportId: ").append(toIndentedString(reportId)).append("\n"); + sb.append(" dateGenerated: ").append(toIndentedString(dateGenerated)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportAccount.java b/src/main/java/com/plaid/client/model/BaseReportAccount.java new file mode 100644 index 0000000000..d216101518 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportAccount.java @@ -0,0 +1,562 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.BaseReportAccountBalances; +import com.plaid.client.model.BaseReportAccountInsights; +import com.plaid.client.model.BaseReportAccountMetadata; +import com.plaid.client.model.BaseReportAttributes; +import com.plaid.client.model.BaseReportHistoricalBalance; +import com.plaid.client.model.BaseReportTransaction; +import com.plaid.client.model.ConsumerDispute; +import com.plaid.client.model.Owner; +import com.plaid.client.model.OwnershipType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +/** + * Base Report information about an account + */ +@ApiModel(description = "Base Report information about an account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportAccount { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_BALANCES = "balances"; + @SerializedName(SERIALIZED_NAME_BALANCES) + private BaseReportAccountBalances balances; + + public static final String SERIALIZED_NAME_CONSUMER_DISPUTES = "consumer_disputes"; + @SerializedName(SERIALIZED_NAME_CONSUMER_DISPUTES) + private List consumerDisputes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private BaseReportAccountMetadata metadata; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + public static final String SERIALIZED_NAME_DAYS_AVAILABLE = "days_available"; + @SerializedName(SERIALIZED_NAME_DAYS_AVAILABLE) + private Double daysAvailable; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OWNERSHIP_TYPE = "ownership_type"; + @SerializedName(SERIALIZED_NAME_OWNERSHIP_TYPE) + private OwnershipType ownershipType; + + public static final String SERIALIZED_NAME_HISTORICAL_BALANCES = "historical_balances"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_BALANCES) + private List historicalBalances = null; + + public static final String SERIALIZED_NAME_ACCOUNT_INSIGHTS = "account_insights"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_INSIGHTS) + private BaseReportAccountInsights accountInsights; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private BaseReportAttributes attributes; + + + public BaseReportAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public BaseReportAccount balances(BaseReportAccountBalances balances) { + + this.balances = balances; + return this; + } + + /** + * Get balances + * @return balances + **/ + @ApiModelProperty(required = true, value = "") + + public BaseReportAccountBalances getBalances() { + return balances; + } + + + public void setBalances(BaseReportAccountBalances balances) { + this.balances = balances; + } + + + public BaseReportAccount consumerDisputes(List consumerDisputes) { + + this.consumerDisputes = consumerDisputes; + return this; + } + + public BaseReportAccount addConsumerDisputesItem(ConsumerDispute consumerDisputesItem) { + this.consumerDisputes.add(consumerDisputesItem); + return this; + } + + /** + * The information about previously submitted valid dispute statements by the consumer + * @return consumerDisputes + **/ + @ApiModelProperty(required = true, value = "The information about previously submitted valid dispute statements by the consumer") + + public List getConsumerDisputes() { + return consumerDisputes; + } + + + public void setConsumerDisputes(List consumerDisputes) { + this.consumerDisputes = consumerDisputes; + } + + + public BaseReportAccount mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public BaseReportAccount metadata(BaseReportAccountMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @ApiModelProperty(required = true, value = "") + + public BaseReportAccountMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(BaseReportAccountMetadata metadata) { + this.metadata = metadata; + } + + + public BaseReportAccount name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the account, either assigned by the user or by the financial institution itself + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the account, either assigned by the user or by the financial institution itself") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public BaseReportAccount officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * The official name of the account as given by the financial institution + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The official name of the account as given by the financial institution") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public BaseReportAccount type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public BaseReportAccount subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public BaseReportAccount daysAvailable(Double daysAvailable) { + + this.daysAvailable = daysAvailable; + return this; + } + + /** + * The duration of transaction history available within this report for this Item, typically defined as the time since the date of the earliest transaction in that account. + * @return daysAvailable + **/ + @ApiModelProperty(required = true, value = "The duration of transaction history available within this report for this Item, typically defined as the time since the date of the earliest transaction in that account.") + + public Double getDaysAvailable() { + return daysAvailable; + } + + + public void setDaysAvailable(Double daysAvailable) { + this.daysAvailable = daysAvailable; + } + + + public BaseReportAccount transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public BaseReportAccount addTransactionsItem(BaseReportTransaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * Transaction history associated with the account. Transaction history returned by endpoints such as `/transactions/get` or `/investments/transactions/get` will be returned in the top-level `transactions` field instead. Some transactions may have their details masked in accordance to the FCRA. These will appear with a `credit_category` of `MASKED_TRANSACTION_CATEGORY`. + * @return transactions + **/ + @ApiModelProperty(required = true, value = "Transaction history associated with the account. Transaction history returned by endpoints such as `/transactions/get` or `/investments/transactions/get` will be returned in the top-level `transactions` field instead. Some transactions may have their details masked in accordance to the FCRA. These will appear with a `credit_category` of `MASKED_TRANSACTION_CATEGORY`.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + public BaseReportAccount owners(List owners) { + + this.owners = owners; + return this; + } + + public BaseReportAccount addOwnersItem(Owner ownersItem) { + this.owners.add(ownersItem); + return this; + } + + /** + * Data returned by the financial institution about the account owner or owners. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. This array can also be empty if no owners are found. + * @return owners + **/ + @ApiModelProperty(required = true, value = "Data returned by the financial institution about the account owner or owners. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. This array can also be empty if no owners are found.") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + public BaseReportAccount ownershipType(OwnershipType ownershipType) { + + this.ownershipType = ownershipType; + return this; + } + + /** + * Get ownershipType + * @return ownershipType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public OwnershipType getOwnershipType() { + return ownershipType; + } + + + public void setOwnershipType(OwnershipType ownershipType) { + this.ownershipType = ownershipType; + } + + + public BaseReportAccount historicalBalances(List historicalBalances) { + + this.historicalBalances = historicalBalances; + return this; + } + + public BaseReportAccount addHistoricalBalancesItem(BaseReportHistoricalBalance historicalBalancesItem) { + if (this.historicalBalances == null) { + this.historicalBalances = new ArrayList<>(); + } + this.historicalBalances.add(historicalBalancesItem); + return this; + } + + /** + * Calculated data about the historical balances on the account. Currently not supported by `brokerage` or `investment` accounts. + * @return historicalBalances + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Calculated data about the historical balances on the account. Currently not supported by `brokerage` or `investment` accounts.") + + public List getHistoricalBalances() { + return historicalBalances; + } + + + public void setHistoricalBalances(List historicalBalances) { + this.historicalBalances = historicalBalances; + } + + + public BaseReportAccount accountInsights(BaseReportAccountInsights accountInsights) { + + this.accountInsights = accountInsights; + return this; + } + + /** + * Get accountInsights + * @return accountInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BaseReportAccountInsights getAccountInsights() { + return accountInsights; + } + + + public void setAccountInsights(BaseReportAccountInsights accountInsights) { + this.accountInsights = accountInsights; + } + + + public BaseReportAccount attributes(BaseReportAttributes attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BaseReportAttributes getAttributes() { + return attributes; + } + + + public void setAttributes(BaseReportAttributes attributes) { + this.attributes = attributes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportAccount baseReportAccount = (BaseReportAccount) o; + return Objects.equals(this.accountId, baseReportAccount.accountId) && + Objects.equals(this.balances, baseReportAccount.balances) && + Objects.equals(this.consumerDisputes, baseReportAccount.consumerDisputes) && + Objects.equals(this.mask, baseReportAccount.mask) && + Objects.equals(this.metadata, baseReportAccount.metadata) && + Objects.equals(this.name, baseReportAccount.name) && + Objects.equals(this.officialName, baseReportAccount.officialName) && + Objects.equals(this.type, baseReportAccount.type) && + Objects.equals(this.subtype, baseReportAccount.subtype) && + Objects.equals(this.daysAvailable, baseReportAccount.daysAvailable) && + Objects.equals(this.transactions, baseReportAccount.transactions) && + Objects.equals(this.owners, baseReportAccount.owners) && + Objects.equals(this.ownershipType, baseReportAccount.ownershipType) && + Objects.equals(this.historicalBalances, baseReportAccount.historicalBalances) && + Objects.equals(this.accountInsights, baseReportAccount.accountInsights) && + Objects.equals(this.attributes, baseReportAccount.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, balances, consumerDisputes, mask, metadata, name, officialName, type, subtype, daysAvailable, transactions, owners, ownershipType, historicalBalances, accountInsights, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportAccount {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" balances: ").append(toIndentedString(balances)).append("\n"); + sb.append(" consumerDisputes: ").append(toIndentedString(consumerDisputes)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" daysAvailable: ").append(toIndentedString(daysAvailable)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append(" ownershipType: ").append(toIndentedString(ownershipType)).append("\n"); + sb.append(" historicalBalances: ").append(toIndentedString(historicalBalances)).append("\n"); + sb.append(" accountInsights: ").append(toIndentedString(accountInsights)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportAccountBalances.java b/src/main/java/com/plaid/client/model/BaseReportAccountBalances.java new file mode 100644 index 0000000000..c80198976a --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportAccountBalances.java @@ -0,0 +1,343 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BaseReportAverageMonthlyBalances; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Information about an account's balances. + */ +@ApiModel(description = "Information about an account's balances.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportAccountBalances { + public static final String SERIALIZED_NAME_AVAILABLE = "available"; + @SerializedName(SERIALIZED_NAME_AVAILABLE) + private Double available; + + public static final String SERIALIZED_NAME_CURRENT = "current"; + @SerializedName(SERIALIZED_NAME_CURRENT) + private Double current; + + public static final String SERIALIZED_NAME_LIMIT = "limit"; + @SerializedName(SERIALIZED_NAME_LIMIT) + private Double limit; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_LAST_UPDATED_DATETIME = "last_updated_datetime"; + @SerializedName(SERIALIZED_NAME_LAST_UPDATED_DATETIME) + private OffsetDateTime lastUpdatedDatetime; + + public static final String SERIALIZED_NAME_AVERAGE_BALANCE = "average_balance"; + @SerializedName(SERIALIZED_NAME_AVERAGE_BALANCE) + private Double averageBalance; + + public static final String SERIALIZED_NAME_AVERAGE_MONTHLY_BALANCES = "average_monthly_balances"; + @SerializedName(SERIALIZED_NAME_AVERAGE_MONTHLY_BALANCES) + private List averageMonthlyBalances = null; + + public static final String SERIALIZED_NAME_MOST_RECENT_THIRTY_DAY_AVERAGE_BALANCE = "most_recent_thirty_day_average_balance"; + @SerializedName(SERIALIZED_NAME_MOST_RECENT_THIRTY_DAY_AVERAGE_BALANCE) + private Double mostRecentThirtyDayAverageBalance; + + + public BaseReportAccountBalances available(Double available) { + + this.available = available; + return this; + } + + /** + * The amount of funds available to be withdrawn from the account, as determined by the financial institution. For `credit`-type accounts, the `available` balance typically equals the `limit` less the `current` balance, less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance typically equals the `current` balance less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance does not include the overdraft limit. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the `available` balance is the total cash available to withdraw as presented by the institution. Note that not all institutions calculate the `available` balance. In the event that `available` balance is unavailable, Plaid will return an `available` balance value of `null`. Available balance may be cached and is not guaranteed to be up-to-date in real-time unless the value was returned by `/accounts/balance/get`. If `current` is `null` this field is guaranteed not to be `null`. + * @return available + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The amount of funds available to be withdrawn from the account, as determined by the financial institution. For `credit`-type accounts, the `available` balance typically equals the `limit` less the `current` balance, less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance typically equals the `current` balance less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance does not include the overdraft limit. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the `available` balance is the total cash available to withdraw as presented by the institution. Note that not all institutions calculate the `available` balance. In the event that `available` balance is unavailable, Plaid will return an `available` balance value of `null`. Available balance may be cached and is not guaranteed to be up-to-date in real-time unless the value was returned by `/accounts/balance/get`. If `current` is `null` this field is guaranteed not to be `null`.") + + public Double getAvailable() { + return available; + } + + + public void setAvailable(Double available) { + this.available = available; + } + + + public BaseReportAccountBalances current(Double current) { + + this.current = current; + return this; + } + + /** + * The total amount of funds in or owed by the account. For `credit`-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder. For `loan`-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (`ins_116944`). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the current balance is the total value of assets as presented by the institution. Note that balance information may be cached unless the value was returned by `/accounts/balance/get`; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require real-time balance information, use the `available` balance as provided by `/accounts/balance/get`. When returned by `/accounts/balance/get`, this field may be `null`. When this happens, `available` is guaranteed not to be `null`. + * @return current + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total amount of funds in or owed by the account. For `credit`-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder. For `loan`-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (`ins_116944`). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the current balance is the total value of assets as presented by the institution. Note that balance information may be cached unless the value was returned by `/accounts/balance/get`; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require real-time balance information, use the `available` balance as provided by `/accounts/balance/get`. When returned by `/accounts/balance/get`, this field may be `null`. When this happens, `available` is guaranteed not to be `null`.") + + public Double getCurrent() { + return current; + } + + + public void setCurrent(Double current) { + this.current = current; + } + + + public BaseReportAccountBalances limit(Double limit) { + + this.limit = limit; + return this; + } + + /** + * For `credit`-type accounts, this represents the credit limit. For `depository`-type accounts, this represents the pre-arranged overdraft limit, which is common for current (checking) accounts in Europe. In North America, this field is typically only available for `credit`-type accounts. + * @return limit + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "For `credit`-type accounts, this represents the credit limit. For `depository`-type accounts, this represents the pre-arranged overdraft limit, which is common for current (checking) accounts in Europe. In North America, this field is typically only available for `credit`-type accounts.") + + public Double getLimit() { + return limit; + } + + + public void setLimit(Double limit) { + this.limit = limit; + } + + + public BaseReportAccountBalances isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public BaseReportAccountBalances unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the balance. Always null if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the balance. Always null if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public BaseReportAccountBalances lastUpdatedDatetime(OffsetDateTime lastUpdatedDatetime) { + + this.lastUpdatedDatetime = lastUpdatedDatetime; + return this; + } + + /** + * Timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the oldest acceptable balance when making a request to `/accounts/balance/get`. This field is only used and expected when the institution is `ins_128026` (Capital One) and the Item contains one or more accounts with a non-depository account type, in which case a value must be provided or an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned. For Capital One depository accounts as well as all other account types on all other institutions, this field is ignored. See [account type schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full list of account types. If the balance that is pulled is older than the given timestamp for Items with this field required, an `INVALID_REQUEST` error with the code of `LAST_UPDATED_DATETIME_OUT_OF_RANGE` will be returned with the most recent timestamp for the requested account contained in the response. + * @return lastUpdatedDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the oldest acceptable balance when making a request to `/accounts/balance/get`. This field is only used and expected when the institution is `ins_128026` (Capital One) and the Item contains one or more accounts with a non-depository account type, in which case a value must be provided or an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned. For Capital One depository accounts as well as all other account types on all other institutions, this field is ignored. See [account type schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full list of account types. If the balance that is pulled is older than the given timestamp for Items with this field required, an `INVALID_REQUEST` error with the code of `LAST_UPDATED_DATETIME_OUT_OF_RANGE` will be returned with the most recent timestamp for the requested account contained in the response.") + + public OffsetDateTime getLastUpdatedDatetime() { + return lastUpdatedDatetime; + } + + + public void setLastUpdatedDatetime(OffsetDateTime lastUpdatedDatetime) { + this.lastUpdatedDatetime = lastUpdatedDatetime; + } + + + public BaseReportAccountBalances averageBalance(Double averageBalance) { + + this.averageBalance = averageBalance; + return this; + } + + /** + * The average historical balance for the entire report + * @return averageBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The average historical balance for the entire report") + + public Double getAverageBalance() { + return averageBalance; + } + + + public void setAverageBalance(Double averageBalance) { + this.averageBalance = averageBalance; + } + + + public BaseReportAccountBalances averageMonthlyBalances(List averageMonthlyBalances) { + + this.averageMonthlyBalances = averageMonthlyBalances; + return this; + } + + public BaseReportAccountBalances addAverageMonthlyBalancesItem(BaseReportAverageMonthlyBalances averageMonthlyBalancesItem) { + if (this.averageMonthlyBalances == null) { + this.averageMonthlyBalances = new ArrayList<>(); + } + this.averageMonthlyBalances.add(averageMonthlyBalancesItem); + return this; + } + + /** + * The average historical balance of each calendar month + * @return averageMonthlyBalances + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The average historical balance of each calendar month") + + public List getAverageMonthlyBalances() { + return averageMonthlyBalances; + } + + + public void setAverageMonthlyBalances(List averageMonthlyBalances) { + this.averageMonthlyBalances = averageMonthlyBalances; + } + + + public BaseReportAccountBalances mostRecentThirtyDayAverageBalance(Double mostRecentThirtyDayAverageBalance) { + + this.mostRecentThirtyDayAverageBalance = mostRecentThirtyDayAverageBalance; + return this; + } + + /** + * The average historical balance from the most recent 30 days + * @return mostRecentThirtyDayAverageBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The average historical balance from the most recent 30 days") + + public Double getMostRecentThirtyDayAverageBalance() { + return mostRecentThirtyDayAverageBalance; + } + + + public void setMostRecentThirtyDayAverageBalance(Double mostRecentThirtyDayAverageBalance) { + this.mostRecentThirtyDayAverageBalance = mostRecentThirtyDayAverageBalance; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportAccountBalances baseReportAccountBalances = (BaseReportAccountBalances) o; + return Objects.equals(this.available, baseReportAccountBalances.available) && + Objects.equals(this.current, baseReportAccountBalances.current) && + Objects.equals(this.limit, baseReportAccountBalances.limit) && + Objects.equals(this.isoCurrencyCode, baseReportAccountBalances.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, baseReportAccountBalances.unofficialCurrencyCode) && + Objects.equals(this.lastUpdatedDatetime, baseReportAccountBalances.lastUpdatedDatetime) && + Objects.equals(this.averageBalance, baseReportAccountBalances.averageBalance) && + Objects.equals(this.averageMonthlyBalances, baseReportAccountBalances.averageMonthlyBalances) && + Objects.equals(this.mostRecentThirtyDayAverageBalance, baseReportAccountBalances.mostRecentThirtyDayAverageBalance); + } + + @Override + public int hashCode() { + return Objects.hash(available, current, limit, isoCurrencyCode, unofficialCurrencyCode, lastUpdatedDatetime, averageBalance, averageMonthlyBalances, mostRecentThirtyDayAverageBalance); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportAccountBalances {\n"); + sb.append(" available: ").append(toIndentedString(available)).append("\n"); + sb.append(" current: ").append(toIndentedString(current)).append("\n"); + sb.append(" limit: ").append(toIndentedString(limit)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" lastUpdatedDatetime: ").append(toIndentedString(lastUpdatedDatetime)).append("\n"); + sb.append(" averageBalance: ").append(toIndentedString(averageBalance)).append("\n"); + sb.append(" averageMonthlyBalances: ").append(toIndentedString(averageMonthlyBalances)).append("\n"); + sb.append(" mostRecentThirtyDayAverageBalance: ").append(toIndentedString(mostRecentThirtyDayAverageBalance)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportAccountInsights.java b/src/main/java/com/plaid/client/model/BaseReportAccountInsights.java new file mode 100644 index 0000000000..096cb18439 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportAccountInsights.java @@ -0,0 +1,407 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BaseReportAverageFlowInsights; +import com.plaid.client.model.BaseReportLongestGapInsights; +import com.plaid.client.model.BaseReportNumberFlowInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * Calculated insights derived from transaction-level data. This field has been deprecated in favor of [Base Report attributes aggregated across accounts](https://plaid.com/docs/api/products/check/#cra-check_report-base_report-get-response-report-attributes) and will be removed in a future release. + */ +@ApiModel(description = "Calculated insights derived from transaction-level data. This field has been deprecated in favor of [Base Report attributes aggregated across accounts](https://plaid.com/docs/api/products/check/#cra-check_report-base_report-get-response-report-attributes) and will be removed in a future release.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportAccountInsights { + public static final String SERIALIZED_NAME_OLDEST_TRANSACTION_DATE = "oldest_transaction_date"; + @SerializedName(SERIALIZED_NAME_OLDEST_TRANSACTION_DATE) + private LocalDate oldestTransactionDate; + + public static final String SERIALIZED_NAME_MOST_RECENT_TRANSACTION_DATE = "most_recent_transaction_date"; + @SerializedName(SERIALIZED_NAME_MOST_RECENT_TRANSACTION_DATE) + private LocalDate mostRecentTransactionDate; + + public static final String SERIALIZED_NAME_DAYS_AVAILABLE = "days_available"; + @SerializedName(SERIALIZED_NAME_DAYS_AVAILABLE) + private Integer daysAvailable; + + public static final String SERIALIZED_NAME_AVERAGE_DAYS_BETWEEN_TRANSACTIONS = "average_days_between_transactions"; + @SerializedName(SERIALIZED_NAME_AVERAGE_DAYS_BETWEEN_TRANSACTIONS) + private Double averageDaysBetweenTransactions; + + public static final String SERIALIZED_NAME_LONGEST_GAPS_BETWEEN_TRANSACTIONS = "longest_gaps_between_transactions"; + @SerializedName(SERIALIZED_NAME_LONGEST_GAPS_BETWEEN_TRANSACTIONS) + private List longestGapsBetweenTransactions = null; + + public static final String SERIALIZED_NAME_NUMBER_OF_INFLOWS = "number_of_inflows"; + @SerializedName(SERIALIZED_NAME_NUMBER_OF_INFLOWS) + private List numberOfInflows = null; + + public static final String SERIALIZED_NAME_AVERAGE_INFLOW_AMOUNTS = "average_inflow_amounts"; + @SerializedName(SERIALIZED_NAME_AVERAGE_INFLOW_AMOUNTS) + private List averageInflowAmounts = null; + + public static final String SERIALIZED_NAME_NUMBER_OF_OUTFLOWS = "number_of_outflows"; + @SerializedName(SERIALIZED_NAME_NUMBER_OF_OUTFLOWS) + private List numberOfOutflows = null; + + public static final String SERIALIZED_NAME_AVERAGE_OUTFLOW_AMOUNTS = "average_outflow_amounts"; + @SerializedName(SERIALIZED_NAME_AVERAGE_OUTFLOW_AMOUNTS) + private List averageOutflowAmounts = null; + + public static final String SERIALIZED_NAME_NUMBER_OF_DAYS_NO_TRANSACTIONS = "number_of_days_no_transactions"; + @SerializedName(SERIALIZED_NAME_NUMBER_OF_DAYS_NO_TRANSACTIONS) + private Integer numberOfDaysNoTransactions; + + + public BaseReportAccountInsights oldestTransactionDate(LocalDate oldestTransactionDate) { + + this.oldestTransactionDate = oldestTransactionDate; + return this; + } + + /** + * Date of the earliest transaction for the account. + * @return oldestTransactionDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Date of the earliest transaction for the account.") + + public LocalDate getOldestTransactionDate() { + return oldestTransactionDate; + } + + + public void setOldestTransactionDate(LocalDate oldestTransactionDate) { + this.oldestTransactionDate = oldestTransactionDate; + } + + + public BaseReportAccountInsights mostRecentTransactionDate(LocalDate mostRecentTransactionDate) { + + this.mostRecentTransactionDate = mostRecentTransactionDate; + return this; + } + + /** + * Date of the most recent transaction for the account. + * @return mostRecentTransactionDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Date of the most recent transaction for the account.") + + public LocalDate getMostRecentTransactionDate() { + return mostRecentTransactionDate; + } + + + public void setMostRecentTransactionDate(LocalDate mostRecentTransactionDate) { + this.mostRecentTransactionDate = mostRecentTransactionDate; + } + + + public BaseReportAccountInsights daysAvailable(Integer daysAvailable) { + + this.daysAvailable = daysAvailable; + return this; + } + + /** + * Number of days available for the account. + * @return daysAvailable + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of days available for the account.") + + public Integer getDaysAvailable() { + return daysAvailable; + } + + + public void setDaysAvailable(Integer daysAvailable) { + this.daysAvailable = daysAvailable; + } + + + public BaseReportAccountInsights averageDaysBetweenTransactions(Double averageDaysBetweenTransactions) { + + this.averageDaysBetweenTransactions = averageDaysBetweenTransactions; + return this; + } + + /** + * Average number of days between sequential transactions + * @return averageDaysBetweenTransactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Average number of days between sequential transactions") + + public Double getAverageDaysBetweenTransactions() { + return averageDaysBetweenTransactions; + } + + + public void setAverageDaysBetweenTransactions(Double averageDaysBetweenTransactions) { + this.averageDaysBetweenTransactions = averageDaysBetweenTransactions; + } + + + public BaseReportAccountInsights longestGapsBetweenTransactions(List longestGapsBetweenTransactions) { + + this.longestGapsBetweenTransactions = longestGapsBetweenTransactions; + return this; + } + + public BaseReportAccountInsights addLongestGapsBetweenTransactionsItem(BaseReportLongestGapInsights longestGapsBetweenTransactionsItem) { + if (this.longestGapsBetweenTransactions == null) { + this.longestGapsBetweenTransactions = new ArrayList<>(); + } + this.longestGapsBetweenTransactions.add(longestGapsBetweenTransactionsItem); + return this; + } + + /** + * Longest gap between sequential transactions in a time period. This array can include multiple time periods. + * @return longestGapsBetweenTransactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Longest gap between sequential transactions in a time period. This array can include multiple time periods.") + + public List getLongestGapsBetweenTransactions() { + return longestGapsBetweenTransactions; + } + + + public void setLongestGapsBetweenTransactions(List longestGapsBetweenTransactions) { + this.longestGapsBetweenTransactions = longestGapsBetweenTransactions; + } + + + public BaseReportAccountInsights numberOfInflows(List numberOfInflows) { + + this.numberOfInflows = numberOfInflows; + return this; + } + + public BaseReportAccountInsights addNumberOfInflowsItem(BaseReportNumberFlowInsights numberOfInflowsItem) { + if (this.numberOfInflows == null) { + this.numberOfInflows = new ArrayList<>(); + } + this.numberOfInflows.add(numberOfInflowsItem); + return this; + } + + /** + * The number of debits into the account. This array will be empty for non-depository accounts. + * @return numberOfInflows + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of debits into the account. This array will be empty for non-depository accounts.") + + public List getNumberOfInflows() { + return numberOfInflows; + } + + + public void setNumberOfInflows(List numberOfInflows) { + this.numberOfInflows = numberOfInflows; + } + + + public BaseReportAccountInsights averageInflowAmounts(List averageInflowAmounts) { + + this.averageInflowAmounts = averageInflowAmounts; + return this; + } + + public BaseReportAccountInsights addAverageInflowAmountsItem(BaseReportAverageFlowInsights averageInflowAmountsItem) { + if (this.averageInflowAmounts == null) { + this.averageInflowAmounts = new ArrayList<>(); + } + this.averageInflowAmounts.add(averageInflowAmountsItem); + return this; + } + + /** + * Average amount of debit transactions into the account in a time period. This array will be empty for non-depository accounts. This field only takes into account USD transactions from the account. + * @return averageInflowAmounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Average amount of debit transactions into the account in a time period. This array will be empty for non-depository accounts. This field only takes into account USD transactions from the account.") + + public List getAverageInflowAmounts() { + return averageInflowAmounts; + } + + + public void setAverageInflowAmounts(List averageInflowAmounts) { + this.averageInflowAmounts = averageInflowAmounts; + } + + + public BaseReportAccountInsights numberOfOutflows(List numberOfOutflows) { + + this.numberOfOutflows = numberOfOutflows; + return this; + } + + public BaseReportAccountInsights addNumberOfOutflowsItem(BaseReportNumberFlowInsights numberOfOutflowsItem) { + if (this.numberOfOutflows == null) { + this.numberOfOutflows = new ArrayList<>(); + } + this.numberOfOutflows.add(numberOfOutflowsItem); + return this; + } + + /** + * The number of outflows from the account. This array will be empty for non-depository accounts. + * @return numberOfOutflows + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of outflows from the account. This array will be empty for non-depository accounts.") + + public List getNumberOfOutflows() { + return numberOfOutflows; + } + + + public void setNumberOfOutflows(List numberOfOutflows) { + this.numberOfOutflows = numberOfOutflows; + } + + + public BaseReportAccountInsights averageOutflowAmounts(List averageOutflowAmounts) { + + this.averageOutflowAmounts = averageOutflowAmounts; + return this; + } + + public BaseReportAccountInsights addAverageOutflowAmountsItem(BaseReportAverageFlowInsights averageOutflowAmountsItem) { + if (this.averageOutflowAmounts == null) { + this.averageOutflowAmounts = new ArrayList<>(); + } + this.averageOutflowAmounts.add(averageOutflowAmountsItem); + return this; + } + + /** + * Average amount of transactions out of the account in a time period. This array will be empty for non-depository accounts. This field only takes into account USD transactions from the account. + * @return averageOutflowAmounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Average amount of transactions out of the account in a time period. This array will be empty for non-depository accounts. This field only takes into account USD transactions from the account.") + + public List getAverageOutflowAmounts() { + return averageOutflowAmounts; + } + + + public void setAverageOutflowAmounts(List averageOutflowAmounts) { + this.averageOutflowAmounts = averageOutflowAmounts; + } + + + public BaseReportAccountInsights numberOfDaysNoTransactions(Integer numberOfDaysNoTransactions) { + + this.numberOfDaysNoTransactions = numberOfDaysNoTransactions; + return this; + } + + /** + * Number of days with no transactions + * @return numberOfDaysNoTransactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of days with no transactions") + + public Integer getNumberOfDaysNoTransactions() { + return numberOfDaysNoTransactions; + } + + + public void setNumberOfDaysNoTransactions(Integer numberOfDaysNoTransactions) { + this.numberOfDaysNoTransactions = numberOfDaysNoTransactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportAccountInsights baseReportAccountInsights = (BaseReportAccountInsights) o; + return Objects.equals(this.oldestTransactionDate, baseReportAccountInsights.oldestTransactionDate) && + Objects.equals(this.mostRecentTransactionDate, baseReportAccountInsights.mostRecentTransactionDate) && + Objects.equals(this.daysAvailable, baseReportAccountInsights.daysAvailable) && + Objects.equals(this.averageDaysBetweenTransactions, baseReportAccountInsights.averageDaysBetweenTransactions) && + Objects.equals(this.longestGapsBetweenTransactions, baseReportAccountInsights.longestGapsBetweenTransactions) && + Objects.equals(this.numberOfInflows, baseReportAccountInsights.numberOfInflows) && + Objects.equals(this.averageInflowAmounts, baseReportAccountInsights.averageInflowAmounts) && + Objects.equals(this.numberOfOutflows, baseReportAccountInsights.numberOfOutflows) && + Objects.equals(this.averageOutflowAmounts, baseReportAccountInsights.averageOutflowAmounts) && + Objects.equals(this.numberOfDaysNoTransactions, baseReportAccountInsights.numberOfDaysNoTransactions); + } + + @Override + public int hashCode() { + return Objects.hash(oldestTransactionDate, mostRecentTransactionDate, daysAvailable, averageDaysBetweenTransactions, longestGapsBetweenTransactions, numberOfInflows, averageInflowAmounts, numberOfOutflows, averageOutflowAmounts, numberOfDaysNoTransactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportAccountInsights {\n"); + sb.append(" oldestTransactionDate: ").append(toIndentedString(oldestTransactionDate)).append("\n"); + sb.append(" mostRecentTransactionDate: ").append(toIndentedString(mostRecentTransactionDate)).append("\n"); + sb.append(" daysAvailable: ").append(toIndentedString(daysAvailable)).append("\n"); + sb.append(" averageDaysBetweenTransactions: ").append(toIndentedString(averageDaysBetweenTransactions)).append("\n"); + sb.append(" longestGapsBetweenTransactions: ").append(toIndentedString(longestGapsBetweenTransactions)).append("\n"); + sb.append(" numberOfInflows: ").append(toIndentedString(numberOfInflows)).append("\n"); + sb.append(" averageInflowAmounts: ").append(toIndentedString(averageInflowAmounts)).append("\n"); + sb.append(" numberOfOutflows: ").append(toIndentedString(numberOfOutflows)).append("\n"); + sb.append(" averageOutflowAmounts: ").append(toIndentedString(averageOutflowAmounts)).append("\n"); + sb.append(" numberOfDaysNoTransactions: ").append(toIndentedString(numberOfDaysNoTransactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportAccountMetadata.java b/src/main/java/com/plaid/client/model/BaseReportAccountMetadata.java new file mode 100644 index 0000000000..88704aca3f --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportAccountMetadata.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Metadata about the extracted account. + */ +@ApiModel(description = "Metadata about the extracted account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportAccountMetadata { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + + public BaseReportAccountMetadata startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The beginning of the range of the financial institution provided data for the account, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The beginning of the range of the financial institution provided data for the account, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public BaseReportAccountMetadata endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end of the range of the financial institution provided data for the account, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The end of the range of the financial institution provided data for the account, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportAccountMetadata baseReportAccountMetadata = (BaseReportAccountMetadata) o; + return Objects.equals(this.startDate, baseReportAccountMetadata.startDate) && + Objects.equals(this.endDate, baseReportAccountMetadata.endDate); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportAccountMetadata {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportAttributes.java b/src/main/java/com/plaid/client/model/BaseReportAttributes.java new file mode 100644 index 0000000000..e4a12b2ea5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportAttributes.java @@ -0,0 +1,485 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TotalInflowAmount; +import com.plaid.client.model.TotalInflowAmount30d; +import com.plaid.client.model.TotalInflowAmount60d; +import com.plaid.client.model.TotalInflowAmount90d; +import com.plaid.client.model.TotalOutflowAmount; +import com.plaid.client.model.TotalOutflowAmount30d; +import com.plaid.client.model.TotalOutflowAmount60d; +import com.plaid.client.model.TotalOutflowAmount90d; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Calculated attributes derived from transaction-level data. + */ +@ApiModel(description = "Calculated attributes derived from transaction-level data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportAttributes { + public static final String SERIALIZED_NAME_IS_PRIMARY_ACCOUNT = "is_primary_account"; + @SerializedName(SERIALIZED_NAME_IS_PRIMARY_ACCOUNT) + private Boolean isPrimaryAccount; + + public static final String SERIALIZED_NAME_PRIMARY_ACCOUNT_SCORE = "primary_account_score"; + @SerializedName(SERIALIZED_NAME_PRIMARY_ACCOUNT_SCORE) + private Double primaryAccountScore; + + public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT = "nsf_overdraft_transactions_count"; + @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT) + private Integer nsfOverdraftTransactionsCount; + + public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT30D = "nsf_overdraft_transactions_count_30d"; + @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT30D) + private Integer nsfOverdraftTransactionsCount30d; + + public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT60D = "nsf_overdraft_transactions_count_60d"; + @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT60D) + private Integer nsfOverdraftTransactionsCount60d; + + public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT90D = "nsf_overdraft_transactions_count_90d"; + @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT90D) + private Integer nsfOverdraftTransactionsCount90d; + + public static final String SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT = "total_inflow_amount"; + @SerializedName(SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT) + private TotalInflowAmount totalInflowAmount; + + public static final String SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT30D = "total_inflow_amount_30d"; + @SerializedName(SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT30D) + private TotalInflowAmount30d totalInflowAmount30d; + + public static final String SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT60D = "total_inflow_amount_60d"; + @SerializedName(SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT60D) + private TotalInflowAmount60d totalInflowAmount60d; + + public static final String SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT90D = "total_inflow_amount_90d"; + @SerializedName(SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT90D) + private TotalInflowAmount90d totalInflowAmount90d; + + public static final String SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT = "total_outflow_amount"; + @SerializedName(SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT) + private TotalOutflowAmount totalOutflowAmount; + + public static final String SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT30D = "total_outflow_amount_30d"; + @SerializedName(SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT30D) + private TotalOutflowAmount30d totalOutflowAmount30d; + + public static final String SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT60D = "total_outflow_amount_60d"; + @SerializedName(SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT60D) + private TotalOutflowAmount60d totalOutflowAmount60d; + + public static final String SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT90D = "total_outflow_amount_90d"; + @SerializedName(SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT90D) + private TotalOutflowAmount90d totalOutflowAmount90d; + + + public BaseReportAttributes isPrimaryAccount(Boolean isPrimaryAccount) { + + this.isPrimaryAccount = isPrimaryAccount; + return this; + } + + /** + * Prediction indicator of whether the account is a primary account. Only one account per account type across the items connected will have a value of true. + * @return isPrimaryAccount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Prediction indicator of whether the account is a primary account. Only one account per account type across the items connected will have a value of true.") + + public Boolean getIsPrimaryAccount() { + return isPrimaryAccount; + } + + + public void setIsPrimaryAccount(Boolean isPrimaryAccount) { + this.isPrimaryAccount = isPrimaryAccount; + } + + + public BaseReportAttributes primaryAccountScore(Double primaryAccountScore) { + + this.primaryAccountScore = primaryAccountScore; + return this; + } + + /** + * Value ranging from 0-1. The higher the score, the more confident we are of the account being the primary account. + * @return primaryAccountScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Value ranging from 0-1. The higher the score, the more confident we are of the account being the primary account.") + + public Double getPrimaryAccountScore() { + return primaryAccountScore; + } + + + public void setPrimaryAccountScore(Double primaryAccountScore) { + this.primaryAccountScore = primaryAccountScore; + } + + + public BaseReportAttributes nsfOverdraftTransactionsCount(Integer nsfOverdraftTransactionsCount) { + + this.nsfOverdraftTransactionsCount = nsfOverdraftTransactionsCount; + return this; + } + + /** + * The number of net NSF fee transactions for a given account within the report time range (not counting any fees that were reversed within the time range). + * @return nsfOverdraftTransactionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of net NSF fee transactions for a given account within the report time range (not counting any fees that were reversed within the time range).") + + public Integer getNsfOverdraftTransactionsCount() { + return nsfOverdraftTransactionsCount; + } + + + public void setNsfOverdraftTransactionsCount(Integer nsfOverdraftTransactionsCount) { + this.nsfOverdraftTransactionsCount = nsfOverdraftTransactionsCount; + } + + + public BaseReportAttributes nsfOverdraftTransactionsCount30d(Integer nsfOverdraftTransactionsCount30d) { + + this.nsfOverdraftTransactionsCount30d = nsfOverdraftTransactionsCount30d; + return this; + } + + /** + * The number of net NSF fee transactions within the last 30 days for a given account (not counting any fees that were reversed within the time range). + * @return nsfOverdraftTransactionsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of net NSF fee transactions within the last 30 days for a given account (not counting any fees that were reversed within the time range).") + + public Integer getNsfOverdraftTransactionsCount30d() { + return nsfOverdraftTransactionsCount30d; + } + + + public void setNsfOverdraftTransactionsCount30d(Integer nsfOverdraftTransactionsCount30d) { + this.nsfOverdraftTransactionsCount30d = nsfOverdraftTransactionsCount30d; + } + + + public BaseReportAttributes nsfOverdraftTransactionsCount60d(Integer nsfOverdraftTransactionsCount60d) { + + this.nsfOverdraftTransactionsCount60d = nsfOverdraftTransactionsCount60d; + return this; + } + + /** + * The number of net NSF fee transactions within the last 60 days for a given account (not counting any fees that were reversed within the time range). + * @return nsfOverdraftTransactionsCount60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of net NSF fee transactions within the last 60 days for a given account (not counting any fees that were reversed within the time range).") + + public Integer getNsfOverdraftTransactionsCount60d() { + return nsfOverdraftTransactionsCount60d; + } + + + public void setNsfOverdraftTransactionsCount60d(Integer nsfOverdraftTransactionsCount60d) { + this.nsfOverdraftTransactionsCount60d = nsfOverdraftTransactionsCount60d; + } + + + public BaseReportAttributes nsfOverdraftTransactionsCount90d(Integer nsfOverdraftTransactionsCount90d) { + + this.nsfOverdraftTransactionsCount90d = nsfOverdraftTransactionsCount90d; + return this; + } + + /** + * The number of net NSF fee transactions within the last 90 days for a given account (not counting any fees that were reversed within the time range). + * @return nsfOverdraftTransactionsCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of net NSF fee transactions within the last 90 days for a given account (not counting any fees that were reversed within the time range).") + + public Integer getNsfOverdraftTransactionsCount90d() { + return nsfOverdraftTransactionsCount90d; + } + + + public void setNsfOverdraftTransactionsCount90d(Integer nsfOverdraftTransactionsCount90d) { + this.nsfOverdraftTransactionsCount90d = nsfOverdraftTransactionsCount90d; + } + + + public BaseReportAttributes totalInflowAmount(TotalInflowAmount totalInflowAmount) { + + this.totalInflowAmount = totalInflowAmount; + return this; + } + + /** + * Get totalInflowAmount + * @return totalInflowAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalInflowAmount getTotalInflowAmount() { + return totalInflowAmount; + } + + + public void setTotalInflowAmount(TotalInflowAmount totalInflowAmount) { + this.totalInflowAmount = totalInflowAmount; + } + + + public BaseReportAttributes totalInflowAmount30d(TotalInflowAmount30d totalInflowAmount30d) { + + this.totalInflowAmount30d = totalInflowAmount30d; + return this; + } + + /** + * Get totalInflowAmount30d + * @return totalInflowAmount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalInflowAmount30d getTotalInflowAmount30d() { + return totalInflowAmount30d; + } + + + public void setTotalInflowAmount30d(TotalInflowAmount30d totalInflowAmount30d) { + this.totalInflowAmount30d = totalInflowAmount30d; + } + + + public BaseReportAttributes totalInflowAmount60d(TotalInflowAmount60d totalInflowAmount60d) { + + this.totalInflowAmount60d = totalInflowAmount60d; + return this; + } + + /** + * Get totalInflowAmount60d + * @return totalInflowAmount60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalInflowAmount60d getTotalInflowAmount60d() { + return totalInflowAmount60d; + } + + + public void setTotalInflowAmount60d(TotalInflowAmount60d totalInflowAmount60d) { + this.totalInflowAmount60d = totalInflowAmount60d; + } + + + public BaseReportAttributes totalInflowAmount90d(TotalInflowAmount90d totalInflowAmount90d) { + + this.totalInflowAmount90d = totalInflowAmount90d; + return this; + } + + /** + * Get totalInflowAmount90d + * @return totalInflowAmount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalInflowAmount90d getTotalInflowAmount90d() { + return totalInflowAmount90d; + } + + + public void setTotalInflowAmount90d(TotalInflowAmount90d totalInflowAmount90d) { + this.totalInflowAmount90d = totalInflowAmount90d; + } + + + public BaseReportAttributes totalOutflowAmount(TotalOutflowAmount totalOutflowAmount) { + + this.totalOutflowAmount = totalOutflowAmount; + return this; + } + + /** + * Get totalOutflowAmount + * @return totalOutflowAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalOutflowAmount getTotalOutflowAmount() { + return totalOutflowAmount; + } + + + public void setTotalOutflowAmount(TotalOutflowAmount totalOutflowAmount) { + this.totalOutflowAmount = totalOutflowAmount; + } + + + public BaseReportAttributes totalOutflowAmount30d(TotalOutflowAmount30d totalOutflowAmount30d) { + + this.totalOutflowAmount30d = totalOutflowAmount30d; + return this; + } + + /** + * Get totalOutflowAmount30d + * @return totalOutflowAmount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalOutflowAmount30d getTotalOutflowAmount30d() { + return totalOutflowAmount30d; + } + + + public void setTotalOutflowAmount30d(TotalOutflowAmount30d totalOutflowAmount30d) { + this.totalOutflowAmount30d = totalOutflowAmount30d; + } + + + public BaseReportAttributes totalOutflowAmount60d(TotalOutflowAmount60d totalOutflowAmount60d) { + + this.totalOutflowAmount60d = totalOutflowAmount60d; + return this; + } + + /** + * Get totalOutflowAmount60d + * @return totalOutflowAmount60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalOutflowAmount60d getTotalOutflowAmount60d() { + return totalOutflowAmount60d; + } + + + public void setTotalOutflowAmount60d(TotalOutflowAmount60d totalOutflowAmount60d) { + this.totalOutflowAmount60d = totalOutflowAmount60d; + } + + + public BaseReportAttributes totalOutflowAmount90d(TotalOutflowAmount90d totalOutflowAmount90d) { + + this.totalOutflowAmount90d = totalOutflowAmount90d; + return this; + } + + /** + * Get totalOutflowAmount90d + * @return totalOutflowAmount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalOutflowAmount90d getTotalOutflowAmount90d() { + return totalOutflowAmount90d; + } + + + public void setTotalOutflowAmount90d(TotalOutflowAmount90d totalOutflowAmount90d) { + this.totalOutflowAmount90d = totalOutflowAmount90d; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportAttributes baseReportAttributes = (BaseReportAttributes) o; + return Objects.equals(this.isPrimaryAccount, baseReportAttributes.isPrimaryAccount) && + Objects.equals(this.primaryAccountScore, baseReportAttributes.primaryAccountScore) && + Objects.equals(this.nsfOverdraftTransactionsCount, baseReportAttributes.nsfOverdraftTransactionsCount) && + Objects.equals(this.nsfOverdraftTransactionsCount30d, baseReportAttributes.nsfOverdraftTransactionsCount30d) && + Objects.equals(this.nsfOverdraftTransactionsCount60d, baseReportAttributes.nsfOverdraftTransactionsCount60d) && + Objects.equals(this.nsfOverdraftTransactionsCount90d, baseReportAttributes.nsfOverdraftTransactionsCount90d) && + Objects.equals(this.totalInflowAmount, baseReportAttributes.totalInflowAmount) && + Objects.equals(this.totalInflowAmount30d, baseReportAttributes.totalInflowAmount30d) && + Objects.equals(this.totalInflowAmount60d, baseReportAttributes.totalInflowAmount60d) && + Objects.equals(this.totalInflowAmount90d, baseReportAttributes.totalInflowAmount90d) && + Objects.equals(this.totalOutflowAmount, baseReportAttributes.totalOutflowAmount) && + Objects.equals(this.totalOutflowAmount30d, baseReportAttributes.totalOutflowAmount30d) && + Objects.equals(this.totalOutflowAmount60d, baseReportAttributes.totalOutflowAmount60d) && + Objects.equals(this.totalOutflowAmount90d, baseReportAttributes.totalOutflowAmount90d); + } + + @Override + public int hashCode() { + return Objects.hash(isPrimaryAccount, primaryAccountScore, nsfOverdraftTransactionsCount, nsfOverdraftTransactionsCount30d, nsfOverdraftTransactionsCount60d, nsfOverdraftTransactionsCount90d, totalInflowAmount, totalInflowAmount30d, totalInflowAmount60d, totalInflowAmount90d, totalOutflowAmount, totalOutflowAmount30d, totalOutflowAmount60d, totalOutflowAmount90d); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportAttributes {\n"); + sb.append(" isPrimaryAccount: ").append(toIndentedString(isPrimaryAccount)).append("\n"); + sb.append(" primaryAccountScore: ").append(toIndentedString(primaryAccountScore)).append("\n"); + sb.append(" nsfOverdraftTransactionsCount: ").append(toIndentedString(nsfOverdraftTransactionsCount)).append("\n"); + sb.append(" nsfOverdraftTransactionsCount30d: ").append(toIndentedString(nsfOverdraftTransactionsCount30d)).append("\n"); + sb.append(" nsfOverdraftTransactionsCount60d: ").append(toIndentedString(nsfOverdraftTransactionsCount60d)).append("\n"); + sb.append(" nsfOverdraftTransactionsCount90d: ").append(toIndentedString(nsfOverdraftTransactionsCount90d)).append("\n"); + sb.append(" totalInflowAmount: ").append(toIndentedString(totalInflowAmount)).append("\n"); + sb.append(" totalInflowAmount30d: ").append(toIndentedString(totalInflowAmount30d)).append("\n"); + sb.append(" totalInflowAmount60d: ").append(toIndentedString(totalInflowAmount60d)).append("\n"); + sb.append(" totalInflowAmount90d: ").append(toIndentedString(totalInflowAmount90d)).append("\n"); + sb.append(" totalOutflowAmount: ").append(toIndentedString(totalOutflowAmount)).append("\n"); + sb.append(" totalOutflowAmount30d: ").append(toIndentedString(totalOutflowAmount30d)).append("\n"); + sb.append(" totalOutflowAmount60d: ").append(toIndentedString(totalOutflowAmount60d)).append("\n"); + sb.append(" totalOutflowAmount90d: ").append(toIndentedString(totalOutflowAmount90d)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportAverageFlowInsights.java b/src/main/java/com/plaid/client/model/BaseReportAverageFlowInsights.java new file mode 100644 index 0000000000..4b6ef9eaac --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportAverageFlowInsights.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditAmountWithCurrency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Average dollar amount of credit or debit transactions out of the account. This field will only be included for depository accounts. + */ +@ApiModel(description = "Average dollar amount of credit or debit transactions out of the account. This field will only be included for depository accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportAverageFlowInsights { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_TOTAL_AMOUNT = "total_amount"; + @SerializedName(SERIALIZED_NAME_TOTAL_AMOUNT) + private CreditAmountWithCurrency totalAmount; + + + public BaseReportAverageFlowInsights startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @ApiModelProperty(required = true, value = "The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public BaseReportAverageFlowInsights endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @ApiModelProperty(required = true, value = "The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public BaseReportAverageFlowInsights totalAmount(CreditAmountWithCurrency totalAmount) { + + this.totalAmount = totalAmount; + return this; + } + + /** + * Get totalAmount + * @return totalAmount + **/ + @ApiModelProperty(required = true, value = "") + + public CreditAmountWithCurrency getTotalAmount() { + return totalAmount; + } + + + public void setTotalAmount(CreditAmountWithCurrency totalAmount) { + this.totalAmount = totalAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportAverageFlowInsights baseReportAverageFlowInsights = (BaseReportAverageFlowInsights) o; + return Objects.equals(this.startDate, baseReportAverageFlowInsights.startDate) && + Objects.equals(this.endDate, baseReportAverageFlowInsights.endDate) && + Objects.equals(this.totalAmount, baseReportAverageFlowInsights.totalAmount); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate, totalAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportAverageFlowInsights {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" totalAmount: ").append(toIndentedString(totalAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportAverageMonthlyBalances.java b/src/main/java/com/plaid/client/model/BaseReportAverageMonthlyBalances.java new file mode 100644 index 0000000000..7919707f8f --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportAverageMonthlyBalances.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditAmountWithCurrency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Average balance in dollar amount per month + */ +@ApiModel(description = "Average balance in dollar amount per month") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportAverageMonthlyBalances { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private String startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private String endDate; + + public static final String SERIALIZED_NAME_AVERAGE_BALANCE = "average_balance"; + @SerializedName(SERIALIZED_NAME_AVERAGE_BALANCE) + private CreditAmountWithCurrency averageBalance; + + + public BaseReportAverageMonthlyBalances startDate(String startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @ApiModelProperty(required = true, value = "The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public String getStartDate() { + return startDate; + } + + + public void setStartDate(String startDate) { + this.startDate = startDate; + } + + + public BaseReportAverageMonthlyBalances endDate(String endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @ApiModelProperty(required = true, value = "The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public String getEndDate() { + return endDate; + } + + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + + public BaseReportAverageMonthlyBalances averageBalance(CreditAmountWithCurrency averageBalance) { + + this.averageBalance = averageBalance; + return this; + } + + /** + * Get averageBalance + * @return averageBalance + **/ + @ApiModelProperty(required = true, value = "") + + public CreditAmountWithCurrency getAverageBalance() { + return averageBalance; + } + + + public void setAverageBalance(CreditAmountWithCurrency averageBalance) { + this.averageBalance = averageBalance; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportAverageMonthlyBalances baseReportAverageMonthlyBalances = (BaseReportAverageMonthlyBalances) o; + return Objects.equals(this.startDate, baseReportAverageMonthlyBalances.startDate) && + Objects.equals(this.endDate, baseReportAverageMonthlyBalances.endDate) && + Objects.equals(this.averageBalance, baseReportAverageMonthlyBalances.averageBalance); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate, averageBalance); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportAverageMonthlyBalances {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" averageBalance: ").append(toIndentedString(averageBalance)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportHistoricalBalance.java b/src/main/java/com/plaid/client/model/BaseReportHistoricalBalance.java new file mode 100644 index 0000000000..d21b06eac5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportHistoricalBalance.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An object representing a balance held by an account in the past + */ +@ApiModel(description = "An object representing a balance held by an account in the past") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportHistoricalBalance { + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_CURRENT = "current"; + @SerializedName(SERIALIZED_NAME_CURRENT) + private Double current; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public BaseReportHistoricalBalance date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The date of the calculated historical balance, in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD) + * @return date + **/ + @ApiModelProperty(required = true, value = "The date of the calculated historical balance, in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD)") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public BaseReportHistoricalBalance current(Double current) { + + this.current = current; + return this; + } + + /** + * The total amount of funds in the account, calculated from the `current` balance in the `balance` object by subtracting inflows and adding back outflows according to the posted date of each transaction. If the account has any pending transactions, historical balance amounts on or after the date of the earliest pending transaction may differ if retrieved in subsequent Asset Reports as a result of those pending transactions posting. + * @return current + **/ + @ApiModelProperty(required = true, value = "The total amount of funds in the account, calculated from the `current` balance in the `balance` object by subtracting inflows and adding back outflows according to the posted date of each transaction. If the account has any pending transactions, historical balance amounts on or after the date of the earliest pending transaction may differ if retrieved in subsequent Asset Reports as a result of those pending transactions posting.") + + public Double getCurrent() { + return current; + } + + + public void setCurrent(Double current) { + this.current = current; + } + + + public BaseReportHistoricalBalance isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the balance. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the balance. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public BaseReportHistoricalBalance unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the balance. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the balance. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportHistoricalBalance baseReportHistoricalBalance = (BaseReportHistoricalBalance) o; + return Objects.equals(this.date, baseReportHistoricalBalance.date) && + Objects.equals(this.current, baseReportHistoricalBalance.current) && + Objects.equals(this.isoCurrencyCode, baseReportHistoricalBalance.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, baseReportHistoricalBalance.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(date, current, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportHistoricalBalance {\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" current: ").append(toIndentedString(current)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportInvestmentHolding.java b/src/main/java/com/plaid/client/model/BaseReportInvestmentHolding.java new file mode 100644 index 0000000000..8fe9ecf9ad --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportInvestmentHolding.java @@ -0,0 +1,327 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * A securities holding at an institution. + */ +@ApiModel(description = "A securities holding at an institution.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportInvestmentHolding { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_SECURITY_ID = "security_id"; + @SerializedName(SERIALIZED_NAME_SECURITY_ID) + private String securityId; + + public static final String SERIALIZED_NAME_INSTITUTION_PRICE = "institution_price"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_PRICE) + private Double institutionPrice; + + public static final String SERIALIZED_NAME_INSTITUTION_PRICE_AS_OF = "institution_price_as_of"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_PRICE_AS_OF) + private LocalDate institutionPriceAsOf; + + public static final String SERIALIZED_NAME_INSTITUTION_VALUE = "institution_value"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_VALUE) + private Double institutionValue; + + public static final String SERIALIZED_NAME_COST_BASIS = "cost_basis"; + @SerializedName(SERIALIZED_NAME_COST_BASIS) + private Double costBasis; + + public static final String SERIALIZED_NAME_QUANTITY = "quantity"; + @SerializedName(SERIALIZED_NAME_QUANTITY) + private Double quantity; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public BaseReportInvestmentHolding accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` associated with the holding. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` associated with the holding.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public BaseReportInvestmentHolding securityId(String securityId) { + + this.securityId = securityId; + return this; + } + + /** + * The Plaid `security_id` associated with the holding. Security data is not specific to a user's account; any user who held the same security at the same financial institution at the same time would have identical security data. The `security_id` for the same security will typically be the same across different institutions, but this is not guaranteed. The `security_id` does not typically change, but may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change. + * @return securityId + **/ + @ApiModelProperty(required = true, value = "The Plaid `security_id` associated with the holding. Security data is not specific to a user's account; any user who held the same security at the same financial institution at the same time would have identical security data. The `security_id` for the same security will typically be the same across different institutions, but this is not guaranteed. The `security_id` does not typically change, but may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change.") + + public String getSecurityId() { + return securityId; + } + + + public void setSecurityId(String securityId) { + this.securityId = securityId; + } + + + public BaseReportInvestmentHolding institutionPrice(Double institutionPrice) { + + this.institutionPrice = institutionPrice; + return this; + } + + /** + * The last price given by the institution for this security. + * @return institutionPrice + **/ + @ApiModelProperty(required = true, value = "The last price given by the institution for this security.") + + public Double getInstitutionPrice() { + return institutionPrice; + } + + + public void setInstitutionPrice(Double institutionPrice) { + this.institutionPrice = institutionPrice; + } + + + public BaseReportInvestmentHolding institutionPriceAsOf(LocalDate institutionPriceAsOf) { + + this.institutionPriceAsOf = institutionPriceAsOf; + return this; + } + + /** + * The date at which `institution_price` was current. + * @return institutionPriceAsOf + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date at which `institution_price` was current.") + + public LocalDate getInstitutionPriceAsOf() { + return institutionPriceAsOf; + } + + + public void setInstitutionPriceAsOf(LocalDate institutionPriceAsOf) { + this.institutionPriceAsOf = institutionPriceAsOf; + } + + + public BaseReportInvestmentHolding institutionValue(Double institutionValue) { + + this.institutionValue = institutionValue; + return this; + } + + /** + * The value of the holding, as reported by the institution. + * @return institutionValue + **/ + @ApiModelProperty(required = true, value = "The value of the holding, as reported by the institution.") + + public Double getInstitutionValue() { + return institutionValue; + } + + + public void setInstitutionValue(Double institutionValue) { + this.institutionValue = institutionValue; + } + + + public BaseReportInvestmentHolding costBasis(Double costBasis) { + + this.costBasis = costBasis; + return this; + } + + /** + * The original total value of the holding. This field is calculated by Plaid as the sum of the purchase price of all of the shares in the holding. + * @return costBasis + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The original total value of the holding. This field is calculated by Plaid as the sum of the purchase price of all of the shares in the holding.") + + public Double getCostBasis() { + return costBasis; + } + + + public void setCostBasis(Double costBasis) { + this.costBasis = costBasis; + } + + + public BaseReportInvestmentHolding quantity(Double quantity) { + + this.quantity = quantity; + return this; + } + + /** + * The total quantity of the asset held, as reported by the financial institution. If the security is an option, `quantity` will reflect the total number of options (typically the number of contracts multiplied by 100), not the number of contracts. + * @return quantity + **/ + @ApiModelProperty(required = true, value = "The total quantity of the asset held, as reported by the financial institution. If the security is an option, `quantity` will reflect the total number of options (typically the number of contracts multiplied by 100), not the number of contracts.") + + public Double getQuantity() { + return quantity; + } + + + public void setQuantity(Double quantity) { + this.quantity = quantity; + } + + + public BaseReportInvestmentHolding isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the holding. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the holding. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public BaseReportInvestmentHolding unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the holding. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the holding. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. ") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportInvestmentHolding baseReportInvestmentHolding = (BaseReportInvestmentHolding) o; + return Objects.equals(this.accountId, baseReportInvestmentHolding.accountId) && + Objects.equals(this.securityId, baseReportInvestmentHolding.securityId) && + Objects.equals(this.institutionPrice, baseReportInvestmentHolding.institutionPrice) && + Objects.equals(this.institutionPriceAsOf, baseReportInvestmentHolding.institutionPriceAsOf) && + Objects.equals(this.institutionValue, baseReportInvestmentHolding.institutionValue) && + Objects.equals(this.costBasis, baseReportInvestmentHolding.costBasis) && + Objects.equals(this.quantity, baseReportInvestmentHolding.quantity) && + Objects.equals(this.isoCurrencyCode, baseReportInvestmentHolding.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, baseReportInvestmentHolding.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, securityId, institutionPrice, institutionPriceAsOf, institutionValue, costBasis, quantity, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportInvestmentHolding {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" securityId: ").append(toIndentedString(securityId)).append("\n"); + sb.append(" institutionPrice: ").append(toIndentedString(institutionPrice)).append("\n"); + sb.append(" institutionPriceAsOf: ").append(toIndentedString(institutionPriceAsOf)).append("\n"); + sb.append(" institutionValue: ").append(toIndentedString(institutionValue)).append("\n"); + sb.append(" costBasis: ").append(toIndentedString(costBasis)).append("\n"); + sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportInvestmentSecurity.java b/src/main/java/com/plaid/client/model/BaseReportInvestmentSecurity.java new file mode 100644 index 0000000000..3aac6f0c37 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportInvestmentSecurity.java @@ -0,0 +1,301 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Investment security associated with the account. + */ +@ApiModel(description = "Investment security associated with the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportInvestmentSecurity { + public static final String SERIALIZED_NAME_SECURITY_ID = "security_id"; + @SerializedName(SERIALIZED_NAME_SECURITY_ID) + private String securityId; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ISIN = "isin"; + @SerializedName(SERIALIZED_NAME_ISIN) + private String isin; + + public static final String SERIALIZED_NAME_CUSIP = "cusip"; + @SerializedName(SERIALIZED_NAME_CUSIP) + private String cusip; + + public static final String SERIALIZED_NAME_INSTITUTION_SECURITY_ID = "institution_security_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_SECURITY_ID) + private String institutionSecurityId; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_TICKER_SYMBOL = "ticker_symbol"; + @SerializedName(SERIALIZED_NAME_TICKER_SYMBOL) + private String tickerSymbol; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + + public BaseReportInvestmentSecurity securityId(String securityId) { + + this.securityId = securityId; + return this; + } + + /** + * A unique, Plaid-specific identifier for the security, used to associate securities with holdings. Like all Plaid identifiers, the `security_id` is case sensitive. The `security_id` may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change. + * @return securityId + **/ + @ApiModelProperty(required = true, value = "A unique, Plaid-specific identifier for the security, used to associate securities with holdings. Like all Plaid identifiers, the `security_id` is case sensitive. The `security_id` may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change.") + + public String getSecurityId() { + return securityId; + } + + + public void setSecurityId(String securityId) { + this.securityId = securityId; + } + + + public BaseReportInvestmentSecurity name(String name) { + + this.name = name; + return this; + } + + /** + * A descriptive name for the security, suitable for display. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A descriptive name for the security, suitable for display.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public BaseReportInvestmentSecurity isin(String isin) { + + this.isin = isin; + return this; + } + + /** + * 12-character ISIN, a globally unique securities identifier. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please start the verification process [here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform). + * @return isin + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "12-character ISIN, a globally unique securities identifier. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please start the verification process [here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform).") + + public String getIsin() { + return isin; + } + + + public void setIsin(String isin) { + this.isin = isin; + } + + + public BaseReportInvestmentSecurity cusip(String cusip) { + + this.cusip = cusip; + return this; + } + + /** + * 9-character CUSIP, an identifier assigned to North American securities. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please start the verification process [here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform). + * @return cusip + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "9-character CUSIP, an identifier assigned to North American securities. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please start the verification process [here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform).") + + public String getCusip() { + return cusip; + } + + + public void setCusip(String cusip) { + this.cusip = cusip; + } + + + public BaseReportInvestmentSecurity institutionSecurityId(String institutionSecurityId) { + + this.institutionSecurityId = institutionSecurityId; + return this; + } + + /** + * An identifier given to the security by the institution. + * @return institutionSecurityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "An identifier given to the security by the institution.") + + public String getInstitutionSecurityId() { + return institutionSecurityId; + } + + + public void setInstitutionSecurityId(String institutionSecurityId) { + this.institutionSecurityId = institutionSecurityId; + } + + + public BaseReportInvestmentSecurity institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * If `institution_security_id` is present, this field indicates the Plaid `institution_id` of the institution to whom the identifier belongs. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "If `institution_security_id` is present, this field indicates the Plaid `institution_id` of the institution to whom the identifier belongs.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public BaseReportInvestmentSecurity tickerSymbol(String tickerSymbol) { + + this.tickerSymbol = tickerSymbol; + return this; + } + + /** + * The security's trading symbol for publicly traded securities, and otherwise a short identifier if available. + * @return tickerSymbol + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The security's trading symbol for publicly traded securities, and otherwise a short identifier if available.") + + public String getTickerSymbol() { + return tickerSymbol; + } + + + public void setTickerSymbol(String tickerSymbol) { + this.tickerSymbol = tickerSymbol; + } + + + public BaseReportInvestmentSecurity type(String type) { + + this.type = type; + return this; + } + + /** + * The security type of the holding. Valid security types are: `cash`: Cash, currency, and money market funds `cryptocurrency`: Digital or virtual currencies `derivative`: Options, warrants, and other derivative instruments `equity`: Domestic and foreign equities `etf`: Multi-asset exchange-traded investment funds `fixed income`: Bonds and certificates of deposit (CDs) `loan`: Loans and loan receivables `mutual fund`: Open- and closed-end vehicles pooling funds of multiple investors `other`: Unknown or other investment types + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The security type of the holding. Valid security types are: `cash`: Cash, currency, and money market funds `cryptocurrency`: Digital or virtual currencies `derivative`: Options, warrants, and other derivative instruments `equity`: Domestic and foreign equities `etf`: Multi-asset exchange-traded investment funds `fixed income`: Bonds and certificates of deposit (CDs) `loan`: Loans and loan receivables `mutual fund`: Open- and closed-end vehicles pooling funds of multiple investors `other`: Unknown or other investment types") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportInvestmentSecurity baseReportInvestmentSecurity = (BaseReportInvestmentSecurity) o; + return Objects.equals(this.securityId, baseReportInvestmentSecurity.securityId) && + Objects.equals(this.name, baseReportInvestmentSecurity.name) && + Objects.equals(this.isin, baseReportInvestmentSecurity.isin) && + Objects.equals(this.cusip, baseReportInvestmentSecurity.cusip) && + Objects.equals(this.institutionSecurityId, baseReportInvestmentSecurity.institutionSecurityId) && + Objects.equals(this.institutionId, baseReportInvestmentSecurity.institutionId) && + Objects.equals(this.tickerSymbol, baseReportInvestmentSecurity.tickerSymbol) && + Objects.equals(this.type, baseReportInvestmentSecurity.type); + } + + @Override + public int hashCode() { + return Objects.hash(securityId, name, isin, cusip, institutionSecurityId, institutionId, tickerSymbol, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportInvestmentSecurity {\n"); + sb.append(" securityId: ").append(toIndentedString(securityId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" isin: ").append(toIndentedString(isin)).append("\n"); + sb.append(" cusip: ").append(toIndentedString(cusip)).append("\n"); + sb.append(" institutionSecurityId: ").append(toIndentedString(institutionSecurityId)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" tickerSymbol: ").append(toIndentedString(tickerSymbol)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportInvestmentTransaction.java b/src/main/java/com/plaid/client/model/BaseReportInvestmentTransaction.java new file mode 100644 index 0000000000..ce95079f0c --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportInvestmentTransaction.java @@ -0,0 +1,441 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentTransactionSubtype; +import com.plaid.client.model.InvestmentTransactionType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * A transaction within an investment account. + */ +@ApiModel(description = "A transaction within an investment account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportInvestmentTransaction { + public static final String SERIALIZED_NAME_INVESTMENT_TRANSACTION_ID = "investment_transaction_id"; + @SerializedName(SERIALIZED_NAME_INVESTMENT_TRANSACTION_ID) + private String investmentTransactionId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_SECURITY_ID = "security_id"; + @SerializedName(SERIALIZED_NAME_SECURITY_ID) + private String securityId; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_QUANTITY = "quantity"; + @SerializedName(SERIALIZED_NAME_QUANTITY) + private Double quantity; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_PRICE = "price"; + @SerializedName(SERIALIZED_NAME_PRICE) + private Double price; + + public static final String SERIALIZED_NAME_FEES = "fees"; + @SerializedName(SERIALIZED_NAME_FEES) + private Double fees; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private InvestmentTransactionType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private InvestmentTransactionSubtype subtype; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public BaseReportInvestmentTransaction investmentTransactionId(String investmentTransactionId) { + + this.investmentTransactionId = investmentTransactionId; + return this; + } + + /** + * The ID of the Investment transaction, unique across all Plaid transactions. Like all Plaid identifiers, the `investment_transaction_id` is case sensitive. + * @return investmentTransactionId + **/ + @ApiModelProperty(required = true, value = "The ID of the Investment transaction, unique across all Plaid transactions. Like all Plaid identifiers, the `investment_transaction_id` is case sensitive.") + + public String getInvestmentTransactionId() { + return investmentTransactionId; + } + + + public void setInvestmentTransactionId(String investmentTransactionId) { + this.investmentTransactionId = investmentTransactionId; + } + + + public BaseReportInvestmentTransaction accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The `account_id` of the account against which this transaction posted. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The `account_id` of the account against which this transaction posted.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public BaseReportInvestmentTransaction securityId(String securityId) { + + this.securityId = securityId; + return this; + } + + /** + * The `security_id` to which this transaction is related. + * @return securityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The `security_id` to which this transaction is related.") + + public String getSecurityId() { + return securityId; + } + + + public void setSecurityId(String securityId) { + this.securityId = securityId; + } + + + public BaseReportInvestmentTransaction date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The [ISO 8601](https://wikipedia.org/wiki/ISO_8601) posting date for the transaction. + * @return date + **/ + @ApiModelProperty(required = true, value = "The [ISO 8601](https://wikipedia.org/wiki/ISO_8601) posting date for the transaction.") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public BaseReportInvestmentTransaction name(String name) { + + this.name = name; + return this; + } + + /** + * The institution's description of the transaction. + * @return name + **/ + @ApiModelProperty(required = true, value = "The institution's description of the transaction.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public BaseReportInvestmentTransaction quantity(Double quantity) { + + this.quantity = quantity; + return this; + } + + /** + * The number of units of the security involved in this transaction. Positive for buy transactions; negative for sell transactions. + * @return quantity + **/ + @ApiModelProperty(required = true, value = "The number of units of the security involved in this transaction. Positive for buy transactions; negative for sell transactions.") + + public Double getQuantity() { + return quantity; + } + + + public void setQuantity(Double quantity) { + this.quantity = quantity; + } + + + public BaseReportInvestmentTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The complete value of the transaction. Positive values when cash is debited, e.g. purchases of stock; negative values when cash is credited, e.g. sales of stock. Treatment remains the same for cash-only movements unassociated with securities. For transactions representing a simultaneous cash contribution and purchase of a security, the portion of the transaction representing the purchase takes precedence, and the `amount` is represented as positive. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The complete value of the transaction. Positive values when cash is debited, e.g. purchases of stock; negative values when cash is credited, e.g. sales of stock. Treatment remains the same for cash-only movements unassociated with securities. For transactions representing a simultaneous cash contribution and purchase of a security, the portion of the transaction representing the purchase takes precedence, and the `amount` is represented as positive.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public BaseReportInvestmentTransaction price(Double price) { + + this.price = price; + return this; + } + + /** + * The price of the security at which this transaction occurred. + * @return price + **/ + @ApiModelProperty(required = true, value = "The price of the security at which this transaction occurred.") + + public Double getPrice() { + return price; + } + + + public void setPrice(Double price) { + this.price = price; + } + + + public BaseReportInvestmentTransaction fees(Double fees) { + + this.fees = fees; + return this; + } + + /** + * The combined value of all fees applied to this transaction + * @return fees + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The combined value of all fees applied to this transaction") + + public Double getFees() { + return fees; + } + + + public void setFees(Double fees) { + this.fees = fees; + } + + + public BaseReportInvestmentTransaction type(InvestmentTransactionType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentTransactionType getType() { + return type; + } + + + public void setType(InvestmentTransactionType type) { + this.type = type; + } + + + public BaseReportInvestmentTransaction subtype(InvestmentTransactionSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentTransactionSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(InvestmentTransactionSubtype subtype) { + this.subtype = subtype; + } + + + public BaseReportInvestmentTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public BaseReportInvestmentTransaction unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportInvestmentTransaction baseReportInvestmentTransaction = (BaseReportInvestmentTransaction) o; + return Objects.equals(this.investmentTransactionId, baseReportInvestmentTransaction.investmentTransactionId) && + Objects.equals(this.accountId, baseReportInvestmentTransaction.accountId) && + Objects.equals(this.securityId, baseReportInvestmentTransaction.securityId) && + Objects.equals(this.date, baseReportInvestmentTransaction.date) && + Objects.equals(this.name, baseReportInvestmentTransaction.name) && + Objects.equals(this.quantity, baseReportInvestmentTransaction.quantity) && + Objects.equals(this.amount, baseReportInvestmentTransaction.amount) && + Objects.equals(this.price, baseReportInvestmentTransaction.price) && + Objects.equals(this.fees, baseReportInvestmentTransaction.fees) && + Objects.equals(this.type, baseReportInvestmentTransaction.type) && + Objects.equals(this.subtype, baseReportInvestmentTransaction.subtype) && + Objects.equals(this.isoCurrencyCode, baseReportInvestmentTransaction.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, baseReportInvestmentTransaction.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(investmentTransactionId, accountId, securityId, date, name, quantity, amount, price, fees, type, subtype, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportInvestmentTransaction {\n"); + sb.append(" investmentTransactionId: ").append(toIndentedString(investmentTransactionId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" securityId: ").append(toIndentedString(securityId)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" price: ").append(toIndentedString(price)).append("\n"); + sb.append(" fees: ").append(toIndentedString(fees)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportInvestments.java b/src/main/java/com/plaid/client/model/BaseReportInvestments.java new file mode 100644 index 0000000000..ce2476718c --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportInvestments.java @@ -0,0 +1,174 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BaseReportInvestmentHolding; +import com.plaid.client.model.BaseReportInvestmentSecurity; +import com.plaid.client.model.BaseReportInvestmentTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A set of fields describing the investments data on an account. + */ +@ApiModel(description = "A set of fields describing the investments data on an account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportInvestments { + public static final String SERIALIZED_NAME_HOLDINGS = "holdings"; + @SerializedName(SERIALIZED_NAME_HOLDINGS) + private List holdings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SECURITIES = "securities"; + @SerializedName(SERIALIZED_NAME_SECURITIES) + private List securities = new ArrayList<>(); + + public static final String SERIALIZED_NAME_INVESTMENT_TRANSACTIONS = "investment_transactions"; + @SerializedName(SERIALIZED_NAME_INVESTMENT_TRANSACTIONS) + private List investmentTransactions = new ArrayList<>(); + + + public BaseReportInvestments holdings(List holdings) { + + this.holdings = holdings; + return this; + } + + public BaseReportInvestments addHoldingsItem(BaseReportInvestmentHolding holdingsItem) { + this.holdings.add(holdingsItem); + return this; + } + + /** + * Quantities and values of securities held in the investment account. Map to the `securities` array for security details. + * @return holdings + **/ + @ApiModelProperty(required = true, value = "Quantities and values of securities held in the investment account. Map to the `securities` array for security details.") + + public List getHoldings() { + return holdings; + } + + + public void setHoldings(List holdings) { + this.holdings = holdings; + } + + + public BaseReportInvestments securities(List securities) { + + this.securities = securities; + return this; + } + + public BaseReportInvestments addSecuritiesItem(BaseReportInvestmentSecurity securitiesItem) { + this.securities.add(securitiesItem); + return this; + } + + /** + * Details of specific securities held in the investment account. + * @return securities + **/ + @ApiModelProperty(required = true, value = "Details of specific securities held in the investment account.") + + public List getSecurities() { + return securities; + } + + + public void setSecurities(List securities) { + this.securities = securities; + } + + + public BaseReportInvestments investmentTransactions(List investmentTransactions) { + + this.investmentTransactions = investmentTransactions; + return this; + } + + public BaseReportInvestments addInvestmentTransactionsItem(BaseReportInvestmentTransaction investmentTransactionsItem) { + this.investmentTransactions.add(investmentTransactionsItem); + return this; + } + + /** + * Transaction history on the investment account. + * @return investmentTransactions + **/ + @ApiModelProperty(required = true, value = "Transaction history on the investment account.") + + public List getInvestmentTransactions() { + return investmentTransactions; + } + + + public void setInvestmentTransactions(List investmentTransactions) { + this.investmentTransactions = investmentTransactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportInvestments baseReportInvestments = (BaseReportInvestments) o; + return Objects.equals(this.holdings, baseReportInvestments.holdings) && + Objects.equals(this.securities, baseReportInvestments.securities) && + Objects.equals(this.investmentTransactions, baseReportInvestments.investmentTransactions); + } + + @Override + public int hashCode() { + return Objects.hash(holdings, securities, investmentTransactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportInvestments {\n"); + sb.append(" holdings: ").append(toIndentedString(holdings)).append("\n"); + sb.append(" securities: ").append(toIndentedString(securities)).append("\n"); + sb.append(" investmentTransactions: ").append(toIndentedString(investmentTransactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportItem.java b/src/main/java/com/plaid/client/model/BaseReportItem.java new file mode 100644 index 0000000000..e4131bbe00 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportItem.java @@ -0,0 +1,219 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BaseReportAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * A representation of an Item within a Base Report. + */ +@ApiModel(description = "A representation of an Item within a Base Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportItem { + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_DATE_LAST_UPDATED = "date_last_updated"; + @SerializedName(SERIALIZED_NAME_DATE_LAST_UPDATED) + private OffsetDateTime dateLastUpdated; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + + public BaseReportItem institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The full financial institution name associated with the Item. + * @return institutionName + **/ + @ApiModelProperty(required = true, value = "The full financial institution name associated with the Item.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public BaseReportItem institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The id of the financial institution associated with the Item. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The id of the financial institution associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public BaseReportItem dateLastUpdated(OffsetDateTime dateLastUpdated) { + + this.dateLastUpdated = dateLastUpdated; + return this; + } + + /** + * The date and time when this Item's data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return dateLastUpdated + **/ + @ApiModelProperty(required = true, value = "The date and time when this Item's data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getDateLastUpdated() { + return dateLastUpdated; + } + + + public void setDateLastUpdated(OffsetDateTime dateLastUpdated) { + this.dateLastUpdated = dateLastUpdated; + } + + + public BaseReportItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public BaseReportItem accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public BaseReportItem addAccountsItem(BaseReportAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * Data about each of the accounts open on the Item. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "Data about each of the accounts open on the Item.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportItem baseReportItem = (BaseReportItem) o; + return Objects.equals(this.institutionName, baseReportItem.institutionName) && + Objects.equals(this.institutionId, baseReportItem.institutionId) && + Objects.equals(this.dateLastUpdated, baseReportItem.dateLastUpdated) && + Objects.equals(this.itemId, baseReportItem.itemId) && + Objects.equals(this.accounts, baseReportItem.accounts); + } + + @Override + public int hashCode() { + return Objects.hash(institutionName, institutionId, dateLastUpdated, itemId, accounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportItem {\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" dateLastUpdated: ").append(toIndentedString(dateLastUpdated)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportLongestGapInsights.java b/src/main/java/com/plaid/client/model/BaseReportLongestGapInsights.java new file mode 100644 index 0000000000..5c0688d0e9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportLongestGapInsights.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Largest number of days between sequential transactions per calendar month + */ +@ApiModel(description = "Largest number of days between sequential transactions per calendar month") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportLongestGapInsights { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_DAYS = "days"; + @SerializedName(SERIALIZED_NAME_DAYS) + private Integer days; + + + public BaseReportLongestGapInsights startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public BaseReportLongestGapInsights endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public BaseReportLongestGapInsights days(Integer days) { + + this.days = days; + return this; + } + + /** + * Largest number of days between sequential transactions for this time period. + * @return days + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Largest number of days between sequential transactions for this time period.") + + public Integer getDays() { + return days; + } + + + public void setDays(Integer days) { + this.days = days; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportLongestGapInsights baseReportLongestGapInsights = (BaseReportLongestGapInsights) o; + return Objects.equals(this.startDate, baseReportLongestGapInsights.startDate) && + Objects.equals(this.endDate, baseReportLongestGapInsights.endDate) && + Objects.equals(this.days, baseReportLongestGapInsights.days); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate, days); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportLongestGapInsights {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" days: ").append(toIndentedString(days)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportNumberFlowInsights.java b/src/main/java/com/plaid/client/model/BaseReportNumberFlowInsights.java new file mode 100644 index 0000000000..9cc24690b1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportNumberFlowInsights.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * The number of credits or debits out of the account. This field will only be included for depository accounts. + */ +@ApiModel(description = "The number of credits or debits out of the account. This field will only be included for depository accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportNumberFlowInsights { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count; + + + public BaseReportNumberFlowInsights startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @ApiModelProperty(required = true, value = "The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public BaseReportNumberFlowInsights endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @ApiModelProperty(required = true, value = "The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public BaseReportNumberFlowInsights count(Integer count) { + + this.count = count; + return this; + } + + /** + * The number of credits or debits out of the account for this time period. + * @return count + **/ + @ApiModelProperty(required = true, value = "The number of credits or debits out of the account for this time period.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportNumberFlowInsights baseReportNumberFlowInsights = (BaseReportNumberFlowInsights) o; + return Objects.equals(this.startDate, baseReportNumberFlowInsights.startDate) && + Objects.equals(this.endDate, baseReportNumberFlowInsights.endDate) && + Objects.equals(this.count, baseReportNumberFlowInsights.count); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate, count); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportNumberFlowInsights {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportTransaction.java b/src/main/java/com/plaid/client/model/BaseReportTransaction.java new file mode 100644 index 0000000000..c1483569db --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportTransaction.java @@ -0,0 +1,631 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BaseReportTransactionType; +import com.plaid.client.model.CreditCategory; +import com.plaid.client.model.Location; +import com.plaid.client.model.PersonalFinanceCategory; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * A transaction on the Base Report + */ +@ApiModel(description = "A transaction on the Base Report") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportTransaction { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ORIGINAL_DESCRIPTION = "original_description"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_DESCRIPTION) + private String originalDescription; + + public static final String SERIALIZED_NAME_CREDIT_CATEGORY = "credit_category"; + @SerializedName(SERIALIZED_NAME_CREDIT_CATEGORY) + private CreditCategory creditCategory; + + public static final String SERIALIZED_NAME_CHECK_NUMBER = "check_number"; + @SerializedName(SERIALIZED_NAME_CHECK_NUMBER) + private String checkNumber; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_DATE_TRANSACTED = "date_transacted"; + @SerializedName(SERIALIZED_NAME_DATE_TRANSACTED) + private String dateTransacted; + + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private Location location; + + public static final String SERIALIZED_NAME_MERCHANT_NAME = "merchant_name"; + @SerializedName(SERIALIZED_NAME_MERCHANT_NAME) + private String merchantName; + + public static final String SERIALIZED_NAME_PENDING = "pending"; + @SerializedName(SERIALIZED_NAME_PENDING) + private Boolean pending; + + public static final String SERIALIZED_NAME_ACCOUNT_OWNER = "account_owner"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_OWNER) + private String accountOwner; + + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_TRANSACTION_TYPE = "transaction_type"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_TYPE) + private BaseReportTransactionType transactionType; + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private List category = null; + + public static final String SERIALIZED_NAME_CATEGORY_ID = "category_id"; + @SerializedName(SERIALIZED_NAME_CATEGORY_ID) + private String categoryId; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY = "personal_finance_category"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY) + private PersonalFinanceCategory personalFinanceCategory; + + + public BaseReportTransaction accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account in which this transaction occurred. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account in which this transaction occurred.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public BaseReportTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The settled value of the transaction, denominated in the transaction's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The settled value of the transaction, denominated in the transaction's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public BaseReportTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public BaseReportTransaction unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public BaseReportTransaction name(String name) { + + this.name = name; + return this; + } + + /** + * The merchant name or transaction description. Note: This is a legacy field that is not actively maintained. Use `merchant_name` instead for the merchant name. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The merchant name or transaction description. Note: This is a legacy field that is not actively maintained. Use `merchant_name` instead for the merchant name.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public BaseReportTransaction originalDescription(String originalDescription) { + + this.originalDescription = originalDescription; + return this; + } + + /** + * The string returned by the financial institution to describe the transaction. + * @return originalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The string returned by the financial institution to describe the transaction.") + + public String getOriginalDescription() { + return originalDescription; + } + + + public void setOriginalDescription(String originalDescription) { + this.originalDescription = originalDescription; + } + + + public BaseReportTransaction creditCategory(CreditCategory creditCategory) { + + this.creditCategory = creditCategory; + return this; + } + + /** + * Get creditCategory + * @return creditCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditCategory getCreditCategory() { + return creditCategory; + } + + + public void setCreditCategory(CreditCategory creditCategory) { + this.creditCategory = creditCategory; + } + + + public BaseReportTransaction checkNumber(String checkNumber) { + + this.checkNumber = checkNumber; + return this; + } + + /** + * The check number of the transaction. This field is only populated for check transactions. + * @return checkNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The check number of the transaction. This field is only populated for check transactions.") + + public String getCheckNumber() { + return checkNumber; + } + + + public void setCheckNumber(String checkNumber) { + this.checkNumber = checkNumber; + } + + + public BaseReportTransaction date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ). + * @return date + **/ + @ApiModelProperty(required = true, value = "For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public BaseReportTransaction dateTransacted(String dateTransacted) { + + this.dateTransacted = dateTransacted; + return this; + } + + /** + * The date on which the transaction took place, in ISO 8601 format. + * @return dateTransacted + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date on which the transaction took place, in ISO 8601 format.") + + public String getDateTransacted() { + return dateTransacted; + } + + + public void setDateTransacted(String dateTransacted) { + this.dateTransacted = dateTransacted; + } + + + public BaseReportTransaction location(Location location) { + + this.location = location; + return this; + } + + /** + * Get location + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Location getLocation() { + return location; + } + + + public void setLocation(Location location) { + this.location = location; + } + + + public BaseReportTransaction merchantName(String merchantName) { + + this.merchantName = merchantName; + return this; + } + + /** + * The merchant name, as enriched by Plaid from the `name` field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be `null`. + * @return merchantName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The merchant name, as enriched by Plaid from the `name` field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be `null`.") + + public String getMerchantName() { + return merchantName; + } + + + public void setMerchantName(String merchantName) { + this.merchantName = merchantName; + } + + + public BaseReportTransaction pending(Boolean pending) { + + this.pending = pending; + return this; + } + + /** + * When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled. + * @return pending + **/ + @ApiModelProperty(required = true, value = "When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.") + + public Boolean getPending() { + return pending; + } + + + public void setPending(Boolean pending) { + this.pending = pending; + } + + + public BaseReportTransaction accountOwner(String accountOwner) { + + this.accountOwner = accountOwner; + return this; + } + + /** + * The name of the account owner. This field is not typically populated and only relevant when dealing with sub-accounts. + * @return accountOwner + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the account owner. This field is not typically populated and only relevant when dealing with sub-accounts.") + + public String getAccountOwner() { + return accountOwner; + } + + + public void setAccountOwner(String accountOwner) { + this.accountOwner = accountOwner; + } + + + public BaseReportTransaction transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive. + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public BaseReportTransaction transactionType(BaseReportTransactionType transactionType) { + + this.transactionType = transactionType; + return this; + } + + /** + * Get transactionType + * @return transactionType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BaseReportTransactionType getTransactionType() { + return transactionType; + } + + + public void setTransactionType(BaseReportTransactionType transactionType) { + this.transactionType = transactionType; + } + + + public BaseReportTransaction category(List category) { + + this.category = category; + return this; + } + + public BaseReportTransaction addCategoryItem(String categoryItem) { + if (this.category == null) { + this.category = new ArrayList<>(); + } + this.category.add(categoryItem); + return this; + } + + /** + * A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). + * @return category + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).") + + public List getCategory() { + return category; + } + + + public void setCategory(List category) { + this.category = category; + } + + + public BaseReportTransaction categoryId(String categoryId) { + + this.categoryId = categoryId; + return this; + } + + /** + * The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). + * @return categoryId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).") + + public String getCategoryId() { + return categoryId; + } + + + public void setCategoryId(String categoryId) { + this.categoryId = categoryId; + } + + + public BaseReportTransaction personalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + + this.personalFinanceCategory = personalFinanceCategory; + return this; + } + + /** + * Get personalFinanceCategory + * @return personalFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PersonalFinanceCategory getPersonalFinanceCategory() { + return personalFinanceCategory; + } + + + public void setPersonalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + this.personalFinanceCategory = personalFinanceCategory; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportTransaction baseReportTransaction = (BaseReportTransaction) o; + return Objects.equals(this.accountId, baseReportTransaction.accountId) && + Objects.equals(this.amount, baseReportTransaction.amount) && + Objects.equals(this.isoCurrencyCode, baseReportTransaction.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, baseReportTransaction.unofficialCurrencyCode) && + Objects.equals(this.name, baseReportTransaction.name) && + Objects.equals(this.originalDescription, baseReportTransaction.originalDescription) && + Objects.equals(this.creditCategory, baseReportTransaction.creditCategory) && + Objects.equals(this.checkNumber, baseReportTransaction.checkNumber) && + Objects.equals(this.date, baseReportTransaction.date) && + Objects.equals(this.dateTransacted, baseReportTransaction.dateTransacted) && + Objects.equals(this.location, baseReportTransaction.location) && + Objects.equals(this.merchantName, baseReportTransaction.merchantName) && + Objects.equals(this.pending, baseReportTransaction.pending) && + Objects.equals(this.accountOwner, baseReportTransaction.accountOwner) && + Objects.equals(this.transactionId, baseReportTransaction.transactionId) && + Objects.equals(this.transactionType, baseReportTransaction.transactionType) && + Objects.equals(this.category, baseReportTransaction.category) && + Objects.equals(this.categoryId, baseReportTransaction.categoryId) && + Objects.equals(this.personalFinanceCategory, baseReportTransaction.personalFinanceCategory); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, amount, isoCurrencyCode, unofficialCurrencyCode, name, originalDescription, creditCategory, checkNumber, date, dateTransacted, location, merchantName, pending, accountOwner, transactionId, transactionType, category, categoryId, personalFinanceCategory); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportTransaction {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" originalDescription: ").append(toIndentedString(originalDescription)).append("\n"); + sb.append(" creditCategory: ").append(toIndentedString(creditCategory)).append("\n"); + sb.append(" checkNumber: ").append(toIndentedString(checkNumber)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" dateTransacted: ").append(toIndentedString(dateTransacted)).append("\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append(" merchantName: ").append(toIndentedString(merchantName)).append("\n"); + sb.append(" pending: ").append(toIndentedString(pending)).append("\n"); + sb.append(" accountOwner: ").append(toIndentedString(accountOwner)).append("\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" transactionType: ").append(toIndentedString(transactionType)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" categoryId: ").append(toIndentedString(categoryId)).append("\n"); + sb.append(" personalFinanceCategory: ").append(toIndentedString(personalFinanceCategory)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportTransactionType.java b/src/main/java/com/plaid/client/model/BaseReportTransactionType.java new file mode 100644 index 0000000000..22b975d383 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportTransactionType.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * `digital:` transactions that took place online. `place:` transactions that were made at a physical location. `special:` transactions that relate to banks, e.g. fees or deposits. `unresolved:` transactions that do not fit into the other types. + */ +@JsonAdapter(BaseReportTransactionType.Adapter.class) +public enum BaseReportTransactionType { + + DIGITAL("digital"), + + PLACE("place"), + + SPECIAL("special"), + + UNRESOLVED("unresolved"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BaseReportTransactionType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BaseReportTransactionType fromValue(String value) { + for (BaseReportTransactionType b : BaseReportTransactionType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BaseReportTransactionType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BaseReportTransactionType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BaseReportTransactionType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportUserAttributes.java b/src/main/java/com/plaid/client/model/BaseReportUserAttributes.java new file mode 100644 index 0000000000..2afe62217a --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportUserAttributes.java @@ -0,0 +1,426 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TotalReportInflowAmount; +import com.plaid.client.model.TotalReportInflowAmount30d; +import com.plaid.client.model.TotalReportInflowAmount60d; +import com.plaid.client.model.TotalReportInflowAmount90d; +import com.plaid.client.model.TotalReportOutflowAmount; +import com.plaid.client.model.TotalReportOutflowAmount30d; +import com.plaid.client.model.TotalReportOutflowAmount60d; +import com.plaid.client.model.TotalReportOutflowAmount90d; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Calculated attributes derived from transaction-level data, aggregated across accounts. + */ +@ApiModel(description = "Calculated attributes derived from transaction-level data, aggregated across accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportUserAttributes { + public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT = "nsf_overdraft_transactions_count"; + @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT) + private Integer nsfOverdraftTransactionsCount; + + public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT30D = "nsf_overdraft_transactions_count_30d"; + @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT30D) + private Integer nsfOverdraftTransactionsCount30d; + + public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT60D = "nsf_overdraft_transactions_count_60d"; + @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT60D) + private Integer nsfOverdraftTransactionsCount60d; + + public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT90D = "nsf_overdraft_transactions_count_90d"; + @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT90D) + private Integer nsfOverdraftTransactionsCount90d; + + public static final String SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT = "total_inflow_amount"; + @SerializedName(SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT) + private TotalReportInflowAmount totalInflowAmount; + + public static final String SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT30D = "total_inflow_amount_30d"; + @SerializedName(SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT30D) + private TotalReportInflowAmount30d totalInflowAmount30d; + + public static final String SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT60D = "total_inflow_amount_60d"; + @SerializedName(SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT60D) + private TotalReportInflowAmount60d totalInflowAmount60d; + + public static final String SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT90D = "total_inflow_amount_90d"; + @SerializedName(SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT90D) + private TotalReportInflowAmount90d totalInflowAmount90d; + + public static final String SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT = "total_outflow_amount"; + @SerializedName(SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT) + private TotalReportOutflowAmount totalOutflowAmount; + + public static final String SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT30D = "total_outflow_amount_30d"; + @SerializedName(SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT30D) + private TotalReportOutflowAmount30d totalOutflowAmount30d; + + public static final String SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT60D = "total_outflow_amount_60d"; + @SerializedName(SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT60D) + private TotalReportOutflowAmount60d totalOutflowAmount60d; + + public static final String SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT90D = "total_outflow_amount_90d"; + @SerializedName(SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT90D) + private TotalReportOutflowAmount90d totalOutflowAmount90d; + + + public BaseReportUserAttributes nsfOverdraftTransactionsCount(Integer nsfOverdraftTransactionsCount) { + + this.nsfOverdraftTransactionsCount = nsfOverdraftTransactionsCount; + return this; + } + + /** + * The number of net NSF fee transactions in the time range for the report (not counting any fees that were reversed within that time range). + * @return nsfOverdraftTransactionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of net NSF fee transactions in the time range for the report (not counting any fees that were reversed within that time range).") + + public Integer getNsfOverdraftTransactionsCount() { + return nsfOverdraftTransactionsCount; + } + + + public void setNsfOverdraftTransactionsCount(Integer nsfOverdraftTransactionsCount) { + this.nsfOverdraftTransactionsCount = nsfOverdraftTransactionsCount; + } + + + public BaseReportUserAttributes nsfOverdraftTransactionsCount30d(Integer nsfOverdraftTransactionsCount30d) { + + this.nsfOverdraftTransactionsCount30d = nsfOverdraftTransactionsCount30d; + return this; + } + + /** + * The number of net NSF fee transactions in the last 30 days in the report (not counting any fees that were reversed within that time range). + * @return nsfOverdraftTransactionsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of net NSF fee transactions in the last 30 days in the report (not counting any fees that were reversed within that time range).") + + public Integer getNsfOverdraftTransactionsCount30d() { + return nsfOverdraftTransactionsCount30d; + } + + + public void setNsfOverdraftTransactionsCount30d(Integer nsfOverdraftTransactionsCount30d) { + this.nsfOverdraftTransactionsCount30d = nsfOverdraftTransactionsCount30d; + } + + + public BaseReportUserAttributes nsfOverdraftTransactionsCount60d(Integer nsfOverdraftTransactionsCount60d) { + + this.nsfOverdraftTransactionsCount60d = nsfOverdraftTransactionsCount60d; + return this; + } + + /** + * The number of net NSF fee transactions in the last 60 days in the report (not counting any fees that were reversed within that time range). + * @return nsfOverdraftTransactionsCount60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of net NSF fee transactions in the last 60 days in the report (not counting any fees that were reversed within that time range).") + + public Integer getNsfOverdraftTransactionsCount60d() { + return nsfOverdraftTransactionsCount60d; + } + + + public void setNsfOverdraftTransactionsCount60d(Integer nsfOverdraftTransactionsCount60d) { + this.nsfOverdraftTransactionsCount60d = nsfOverdraftTransactionsCount60d; + } + + + public BaseReportUserAttributes nsfOverdraftTransactionsCount90d(Integer nsfOverdraftTransactionsCount90d) { + + this.nsfOverdraftTransactionsCount90d = nsfOverdraftTransactionsCount90d; + return this; + } + + /** + * The number of net NSF fee transactions in the last 90 days in the report (not counting any fees that were reversed within that time range). + * @return nsfOverdraftTransactionsCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of net NSF fee transactions in the last 90 days in the report (not counting any fees that were reversed within that time range).") + + public Integer getNsfOverdraftTransactionsCount90d() { + return nsfOverdraftTransactionsCount90d; + } + + + public void setNsfOverdraftTransactionsCount90d(Integer nsfOverdraftTransactionsCount90d) { + this.nsfOverdraftTransactionsCount90d = nsfOverdraftTransactionsCount90d; + } + + + public BaseReportUserAttributes totalInflowAmount(TotalReportInflowAmount totalInflowAmount) { + + this.totalInflowAmount = totalInflowAmount; + return this; + } + + /** + * Get totalInflowAmount + * @return totalInflowAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalReportInflowAmount getTotalInflowAmount() { + return totalInflowAmount; + } + + + public void setTotalInflowAmount(TotalReportInflowAmount totalInflowAmount) { + this.totalInflowAmount = totalInflowAmount; + } + + + public BaseReportUserAttributes totalInflowAmount30d(TotalReportInflowAmount30d totalInflowAmount30d) { + + this.totalInflowAmount30d = totalInflowAmount30d; + return this; + } + + /** + * Get totalInflowAmount30d + * @return totalInflowAmount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalReportInflowAmount30d getTotalInflowAmount30d() { + return totalInflowAmount30d; + } + + + public void setTotalInflowAmount30d(TotalReportInflowAmount30d totalInflowAmount30d) { + this.totalInflowAmount30d = totalInflowAmount30d; + } + + + public BaseReportUserAttributes totalInflowAmount60d(TotalReportInflowAmount60d totalInflowAmount60d) { + + this.totalInflowAmount60d = totalInflowAmount60d; + return this; + } + + /** + * Get totalInflowAmount60d + * @return totalInflowAmount60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalReportInflowAmount60d getTotalInflowAmount60d() { + return totalInflowAmount60d; + } + + + public void setTotalInflowAmount60d(TotalReportInflowAmount60d totalInflowAmount60d) { + this.totalInflowAmount60d = totalInflowAmount60d; + } + + + public BaseReportUserAttributes totalInflowAmount90d(TotalReportInflowAmount90d totalInflowAmount90d) { + + this.totalInflowAmount90d = totalInflowAmount90d; + return this; + } + + /** + * Get totalInflowAmount90d + * @return totalInflowAmount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalReportInflowAmount90d getTotalInflowAmount90d() { + return totalInflowAmount90d; + } + + + public void setTotalInflowAmount90d(TotalReportInflowAmount90d totalInflowAmount90d) { + this.totalInflowAmount90d = totalInflowAmount90d; + } + + + public BaseReportUserAttributes totalOutflowAmount(TotalReportOutflowAmount totalOutflowAmount) { + + this.totalOutflowAmount = totalOutflowAmount; + return this; + } + + /** + * Get totalOutflowAmount + * @return totalOutflowAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalReportOutflowAmount getTotalOutflowAmount() { + return totalOutflowAmount; + } + + + public void setTotalOutflowAmount(TotalReportOutflowAmount totalOutflowAmount) { + this.totalOutflowAmount = totalOutflowAmount; + } + + + public BaseReportUserAttributes totalOutflowAmount30d(TotalReportOutflowAmount30d totalOutflowAmount30d) { + + this.totalOutflowAmount30d = totalOutflowAmount30d; + return this; + } + + /** + * Get totalOutflowAmount30d + * @return totalOutflowAmount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalReportOutflowAmount30d getTotalOutflowAmount30d() { + return totalOutflowAmount30d; + } + + + public void setTotalOutflowAmount30d(TotalReportOutflowAmount30d totalOutflowAmount30d) { + this.totalOutflowAmount30d = totalOutflowAmount30d; + } + + + public BaseReportUserAttributes totalOutflowAmount60d(TotalReportOutflowAmount60d totalOutflowAmount60d) { + + this.totalOutflowAmount60d = totalOutflowAmount60d; + return this; + } + + /** + * Get totalOutflowAmount60d + * @return totalOutflowAmount60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalReportOutflowAmount60d getTotalOutflowAmount60d() { + return totalOutflowAmount60d; + } + + + public void setTotalOutflowAmount60d(TotalReportOutflowAmount60d totalOutflowAmount60d) { + this.totalOutflowAmount60d = totalOutflowAmount60d; + } + + + public BaseReportUserAttributes totalOutflowAmount90d(TotalReportOutflowAmount90d totalOutflowAmount90d) { + + this.totalOutflowAmount90d = totalOutflowAmount90d; + return this; + } + + /** + * Get totalOutflowAmount90d + * @return totalOutflowAmount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalReportOutflowAmount90d getTotalOutflowAmount90d() { + return totalOutflowAmount90d; + } + + + public void setTotalOutflowAmount90d(TotalReportOutflowAmount90d totalOutflowAmount90d) { + this.totalOutflowAmount90d = totalOutflowAmount90d; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportUserAttributes baseReportUserAttributes = (BaseReportUserAttributes) o; + return Objects.equals(this.nsfOverdraftTransactionsCount, baseReportUserAttributes.nsfOverdraftTransactionsCount) && + Objects.equals(this.nsfOverdraftTransactionsCount30d, baseReportUserAttributes.nsfOverdraftTransactionsCount30d) && + Objects.equals(this.nsfOverdraftTransactionsCount60d, baseReportUserAttributes.nsfOverdraftTransactionsCount60d) && + Objects.equals(this.nsfOverdraftTransactionsCount90d, baseReportUserAttributes.nsfOverdraftTransactionsCount90d) && + Objects.equals(this.totalInflowAmount, baseReportUserAttributes.totalInflowAmount) && + Objects.equals(this.totalInflowAmount30d, baseReportUserAttributes.totalInflowAmount30d) && + Objects.equals(this.totalInflowAmount60d, baseReportUserAttributes.totalInflowAmount60d) && + Objects.equals(this.totalInflowAmount90d, baseReportUserAttributes.totalInflowAmount90d) && + Objects.equals(this.totalOutflowAmount, baseReportUserAttributes.totalOutflowAmount) && + Objects.equals(this.totalOutflowAmount30d, baseReportUserAttributes.totalOutflowAmount30d) && + Objects.equals(this.totalOutflowAmount60d, baseReportUserAttributes.totalOutflowAmount60d) && + Objects.equals(this.totalOutflowAmount90d, baseReportUserAttributes.totalOutflowAmount90d); + } + + @Override + public int hashCode() { + return Objects.hash(nsfOverdraftTransactionsCount, nsfOverdraftTransactionsCount30d, nsfOverdraftTransactionsCount60d, nsfOverdraftTransactionsCount90d, totalInflowAmount, totalInflowAmount30d, totalInflowAmount60d, totalInflowAmount90d, totalOutflowAmount, totalOutflowAmount30d, totalOutflowAmount60d, totalOutflowAmount90d); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportUserAttributes {\n"); + sb.append(" nsfOverdraftTransactionsCount: ").append(toIndentedString(nsfOverdraftTransactionsCount)).append("\n"); + sb.append(" nsfOverdraftTransactionsCount30d: ").append(toIndentedString(nsfOverdraftTransactionsCount30d)).append("\n"); + sb.append(" nsfOverdraftTransactionsCount60d: ").append(toIndentedString(nsfOverdraftTransactionsCount60d)).append("\n"); + sb.append(" nsfOverdraftTransactionsCount90d: ").append(toIndentedString(nsfOverdraftTransactionsCount90d)).append("\n"); + sb.append(" totalInflowAmount: ").append(toIndentedString(totalInflowAmount)).append("\n"); + sb.append(" totalInflowAmount30d: ").append(toIndentedString(totalInflowAmount30d)).append("\n"); + sb.append(" totalInflowAmount60d: ").append(toIndentedString(totalInflowAmount60d)).append("\n"); + sb.append(" totalInflowAmount90d: ").append(toIndentedString(totalInflowAmount90d)).append("\n"); + sb.append(" totalOutflowAmount: ").append(toIndentedString(totalOutflowAmount)).append("\n"); + sb.append(" totalOutflowAmount30d: ").append(toIndentedString(totalOutflowAmount30d)).append("\n"); + sb.append(" totalOutflowAmount60d: ").append(toIndentedString(totalOutflowAmount60d)).append("\n"); + sb.append(" totalOutflowAmount90d: ").append(toIndentedString(totalOutflowAmount90d)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportWarning.java b/src/main/java/com/plaid/client/model/BaseReportWarning.java new file mode 100644 index 0000000000..dc17858c93 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportWarning.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BaseReportWarningCode; +import com.plaid.client.model.Cause; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * It is possible for a Base Report to be returned with missing account owner information. In such cases, the Base Report will contain warning data in the response, indicating why obtaining the owner information failed. + */ +@ApiModel(description = "It is possible for a Base Report to be returned with missing account owner information. In such cases, the Base Report will contain warning data in the response, indicating why obtaining the owner information failed.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportWarning { + public static final String SERIALIZED_NAME_WARNING_TYPE = "warning_type"; + @SerializedName(SERIALIZED_NAME_WARNING_TYPE) + private String warningType; + + public static final String SERIALIZED_NAME_WARNING_CODE = "warning_code"; + @SerializedName(SERIALIZED_NAME_WARNING_CODE) + private BaseReportWarningCode warningCode; + + public static final String SERIALIZED_NAME_CAUSE = "cause"; + @SerializedName(SERIALIZED_NAME_CAUSE) + private Cause cause; + + + public BaseReportWarning warningType(String warningType) { + + this.warningType = warningType; + return this; + } + + /** + * The warning type, which will always be `BASE_REPORT_WARNING` + * @return warningType + **/ + @ApiModelProperty(required = true, value = "The warning type, which will always be `BASE_REPORT_WARNING`") + + public String getWarningType() { + return warningType; + } + + + public void setWarningType(String warningType) { + this.warningType = warningType; + } + + + public BaseReportWarning warningCode(BaseReportWarningCode warningCode) { + + this.warningCode = warningCode; + return this; + } + + /** + * Get warningCode + * @return warningCode + **/ + @ApiModelProperty(required = true, value = "") + + public BaseReportWarningCode getWarningCode() { + return warningCode; + } + + + public void setWarningCode(BaseReportWarningCode warningCode) { + this.warningCode = warningCode; + } + + + public BaseReportWarning cause(Cause cause) { + + this.cause = cause; + return this; + } + + /** + * Get cause + * @return cause + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public Cause getCause() { + return cause; + } + + + public void setCause(Cause cause) { + this.cause = cause; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportWarning baseReportWarning = (BaseReportWarning) o; + return Objects.equals(this.warningType, baseReportWarning.warningType) && + Objects.equals(this.warningCode, baseReportWarning.warningCode) && + Objects.equals(this.cause, baseReportWarning.cause); + } + + @Override + public int hashCode() { + return Objects.hash(warningType, warningCode, cause); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportWarning {\n"); + sb.append(" warningType: ").append(toIndentedString(warningType)).append("\n"); + sb.append(" warningCode: ").append(toIndentedString(warningCode)).append("\n"); + sb.append(" cause: ").append(toIndentedString(cause)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportWarningCode.java b/src/main/java/com/plaid/client/model/BaseReportWarningCode.java new file mode 100644 index 0000000000..1f8e705b00 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportWarningCode.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The warning code identifies a specific kind of warning. `IDENTITY_UNAVAILABLE`: Account-owner information is not available. `TRANSACTIONS_UNAVAILABLE`: Transactions information associated with Credit and Depository accounts are unavailable. `USER_FRAUD_ALERT`: The User has placed a fraud alert on their Plaid Check consumer report due to suspected fraud. Note: when a fraud alert is in place, the recipient of the consumer report has an obligation to verify the consumer's identity. + */ +@JsonAdapter(BaseReportWarningCode.Adapter.class) +public enum BaseReportWarningCode { + + IDENTITY_UNAVAILABLE("IDENTITY_UNAVAILABLE"), + + TRANSACTIONS_UNAVAILABLE("TRANSACTIONS_UNAVAILABLE"), + + USER_FRAUD_ALERT("USER_FRAUD_ALERT"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BaseReportWarningCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BaseReportWarningCode fromValue(String value) { + for (BaseReportWarningCode b : BaseReportWarningCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BaseReportWarningCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BaseReportWarningCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BaseReportWarningCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BaseReportWarningCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BaseReportsErrorWebhook.java b/src/main/java/com/plaid/client/model/BaseReportsErrorWebhook.java new file mode 100644 index 0000000000..424335c552 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BaseReportsErrorWebhook.java @@ -0,0 +1,213 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when Base Report generation has failed. The resulting `error` will have an `error_type` of `BASE_REPORT_ERROR`. + */ +@ApiModel(description = "Fired when Base Report generation has failed. The resulting `error` will have an `error_type` of `BASE_REPORT_ERROR`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BaseReportsErrorWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public BaseReportsErrorWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `BASE_REPORT` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`BASE_REPORT`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public BaseReportsErrorWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `ERROR` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`ERROR`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public BaseReportsErrorWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public BaseReportsErrorWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the User ID the webhook has fired for. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` corresponding to the User ID the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public BaseReportsErrorWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseReportsErrorWebhook baseReportsErrorWebhook = (BaseReportsErrorWebhook) o; + return Objects.equals(this.webhookType, baseReportsErrorWebhook.webhookType) && + Objects.equals(this.webhookCode, baseReportsErrorWebhook.webhookCode) && + Objects.equals(this.error, baseReportsErrorWebhook.error) && + Objects.equals(this.userId, baseReportsErrorWebhook.userId) && + Objects.equals(this.environment, baseReportsErrorWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, error, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BaseReportsErrorWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconAccountRiskAttributes.java b/src/main/java/com/plaid/client/model/BeaconAccountRiskAttributes.java new file mode 100644 index 0000000000..30ad60374a --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconAccountRiskAttributes.java @@ -0,0 +1,882 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The attributes object contains data that can be used to assess account risk. Examples of data include: `days_since_first_plaid_connection`: The number of days since the first time the Item was connected to an application via Plaid `plaid_connections_count_7d`: The number of times the Item has been connected to applications via Plaid over the past 7 days `plaid_connections_count_30d`: The number of times the Item has been connected to applications via Plaid over the past 30 days `total_plaid_connections_count`: The number of times the Item has been connected to applications via Plaid For the full list and detailed documentation of core attributes available, or to request that core attributes not be returned, contact sales or your Plaid account manager + */ +@ApiModel(description = "The attributes object contains data that can be used to assess account risk. Examples of data include: `days_since_first_plaid_connection`: The number of days since the first time the Item was connected to an application via Plaid `plaid_connections_count_7d`: The number of times the Item has been connected to applications via Plaid over the past 7 days `plaid_connections_count_30d`: The number of times the Item has been connected to applications via Plaid over the past 30 days `total_plaid_connections_count`: The number of times the Item has been connected to applications via Plaid For the full list and detailed documentation of core attributes available, or to request that core attributes not be returned, contact sales or your Plaid account manager") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconAccountRiskAttributes { + public static final String SERIALIZED_NAME_DAYS_SINCE_FIRST_PLAID_CONNECTION = "days_since_first_plaid_connection"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_FIRST_PLAID_CONNECTION) + private Integer daysSinceFirstPlaidConnection; + + public static final String SERIALIZED_NAME_IS_ACCOUNT_CLOSED = "is_account_closed"; + @SerializedName(SERIALIZED_NAME_IS_ACCOUNT_CLOSED) + private Boolean isAccountClosed; + + public static final String SERIALIZED_NAME_IS_ACCOUNT_FROZEN_OR_RESTRICTED = "is_account_frozen_or_restricted"; + @SerializedName(SERIALIZED_NAME_IS_ACCOUNT_FROZEN_OR_RESTRICTED) + private Boolean isAccountFrozenOrRestricted; + + public static final String SERIALIZED_NAME_TOTAL_PLAID_CONNECTIONS_COUNT = "total_plaid_connections_count"; + @SerializedName(SERIALIZED_NAME_TOTAL_PLAID_CONNECTIONS_COUNT) + private Integer totalPlaidConnectionsCount; + + public static final String SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT7D = "plaid_connections_count_7d"; + @SerializedName(SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT7D) + private Integer plaidConnectionsCount7d; + + public static final String SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT30D = "plaid_connections_count_30d"; + @SerializedName(SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT30D) + private Integer plaidConnectionsCount30d; + + public static final String SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D = "failed_plaid_non_oauth_authentication_attempts_count_3d"; + @SerializedName(SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D) + private Integer failedPlaidNonOauthAuthenticationAttemptsCount3d; + + public static final String SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D = "plaid_non_oauth_authentication_attempts_count_3d"; + @SerializedName(SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D) + private Integer plaidNonOauthAuthenticationAttemptsCount3d; + + public static final String SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D = "failed_plaid_non_oauth_authentication_attempts_count_7d"; + @SerializedName(SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D) + private Integer failedPlaidNonOauthAuthenticationAttemptsCount7d; + + public static final String SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D = "plaid_non_oauth_authentication_attempts_count_7d"; + @SerializedName(SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D) + private Integer plaidNonOauthAuthenticationAttemptsCount7d; + + public static final String SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D = "failed_plaid_non_oauth_authentication_attempts_count_30d"; + @SerializedName(SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D) + private Integer failedPlaidNonOauthAuthenticationAttemptsCount30d; + + public static final String SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D = "plaid_non_oauth_authentication_attempts_count_30d"; + @SerializedName(SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D) + private Integer plaidNonOauthAuthenticationAttemptsCount30d; + + public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT3D = "distinct_ip_addresses_count_3d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT3D) + private Integer distinctIpAddressesCount3d; + + public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT7D = "distinct_ip_addresses_count_7d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT7D) + private Integer distinctIpAddressesCount7d; + + public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT30D = "distinct_ip_addresses_count_30d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT30D) + private Integer distinctIpAddressesCount30d; + + public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT90D = "distinct_ip_addresses_count_90d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT90D) + private Integer distinctIpAddressesCount90d; + + public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT3D = "distinct_user_agents_count_3d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT3D) + private Integer distinctUserAgentsCount3d; + + public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT7D = "distinct_user_agents_count_7d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT7D) + private Integer distinctUserAgentsCount7d; + + public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT30D = "distinct_user_agents_count_30d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT30D) + private Integer distinctUserAgentsCount30d; + + public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT90D = "distinct_user_agents_count_90d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT90D) + private Integer distinctUserAgentsCount90d; + + public static final String SERIALIZED_NAME_ADDRESS_CHANGE_COUNT28D = "address_change_count_28d"; + @SerializedName(SERIALIZED_NAME_ADDRESS_CHANGE_COUNT28D) + private Integer addressChangeCount28d; + + public static final String SERIALIZED_NAME_EMAIL_CHANGE_COUNT28D = "email_change_count_28d"; + @SerializedName(SERIALIZED_NAME_EMAIL_CHANGE_COUNT28D) + private Integer emailChangeCount28d; + + public static final String SERIALIZED_NAME_PHONE_CHANGE_COUNT28D = "phone_change_count_28d"; + @SerializedName(SERIALIZED_NAME_PHONE_CHANGE_COUNT28D) + private Integer phoneChangeCount28d; + + public static final String SERIALIZED_NAME_ADDRESS_CHANGE_COUNT90D = "address_change_count_90d"; + @SerializedName(SERIALIZED_NAME_ADDRESS_CHANGE_COUNT90D) + private Integer addressChangeCount90d; + + public static final String SERIALIZED_NAME_EMAIL_CHANGE_COUNT90D = "email_change_count_90d"; + @SerializedName(SERIALIZED_NAME_EMAIL_CHANGE_COUNT90D) + private Integer emailChangeCount90d; + + public static final String SERIALIZED_NAME_PHONE_CHANGE_COUNT90D = "phone_change_count_90d"; + @SerializedName(SERIALIZED_NAME_PHONE_CHANGE_COUNT90D) + private Integer phoneChangeCount90d; + + public static final String SERIALIZED_NAME_DAYS_SINCE_ACCOUNT_OPENING = "days_since_account_opening"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_ACCOUNT_OPENING) + private Integer daysSinceAccountOpening; + + public static final String SERIALIZED_NAME_DAYS_SINCE_FIRST_OBSERVED_TRANSACTION = "days_since_first_observed_transaction"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_FIRST_OBSERVED_TRANSACTION) + private Integer daysSinceFirstObservedTransaction; + + + public BeaconAccountRiskAttributes daysSinceFirstPlaidConnection(Integer daysSinceFirstPlaidConnection) { + + this.daysSinceFirstPlaidConnection = daysSinceFirstPlaidConnection; + return this; + } + + /** + * The number of days since the first time the Item was connected to an application via Plaid + * @return daysSinceFirstPlaidConnection + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of days since the first time the Item was connected to an application via Plaid") + + public Integer getDaysSinceFirstPlaidConnection() { + return daysSinceFirstPlaidConnection; + } + + + public void setDaysSinceFirstPlaidConnection(Integer daysSinceFirstPlaidConnection) { + this.daysSinceFirstPlaidConnection = daysSinceFirstPlaidConnection; + } + + + public BeaconAccountRiskAttributes isAccountClosed(Boolean isAccountClosed) { + + this.isAccountClosed = isAccountClosed; + return this; + } + + /** + * Indicates if the account has been closed by the financial institution or the consumer, or is at risk of being closed + * @return isAccountClosed + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "false", required = true, value = "Indicates if the account has been closed by the financial institution or the consumer, or is at risk of being closed") + + public Boolean getIsAccountClosed() { + return isAccountClosed; + } + + + public void setIsAccountClosed(Boolean isAccountClosed) { + this.isAccountClosed = isAccountClosed; + } + + + public BeaconAccountRiskAttributes isAccountFrozenOrRestricted(Boolean isAccountFrozenOrRestricted) { + + this.isAccountFrozenOrRestricted = isAccountFrozenOrRestricted; + return this; + } + + /** + * Indicates whether the account has withdrawals and transfers disabled or if access to the account is restricted. This could be due to a freeze by the credit issuer, legal restrictions (e.g., sanctions), or regulatory requirements limiting monthly withdrawals, among other reasons + * @return isAccountFrozenOrRestricted + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "false", required = true, value = "Indicates whether the account has withdrawals and transfers disabled or if access to the account is restricted. This could be due to a freeze by the credit issuer, legal restrictions (e.g., sanctions), or regulatory requirements limiting monthly withdrawals, among other reasons") + + public Boolean getIsAccountFrozenOrRestricted() { + return isAccountFrozenOrRestricted; + } + + + public void setIsAccountFrozenOrRestricted(Boolean isAccountFrozenOrRestricted) { + this.isAccountFrozenOrRestricted = isAccountFrozenOrRestricted; + } + + + public BeaconAccountRiskAttributes totalPlaidConnectionsCount(Integer totalPlaidConnectionsCount) { + + this.totalPlaidConnectionsCount = totalPlaidConnectionsCount; + return this; + } + + /** + * The total number of times the Item has been connected to applications via Plaid + * @return totalPlaidConnectionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The total number of times the Item has been connected to applications via Plaid") + + public Integer getTotalPlaidConnectionsCount() { + return totalPlaidConnectionsCount; + } + + + public void setTotalPlaidConnectionsCount(Integer totalPlaidConnectionsCount) { + this.totalPlaidConnectionsCount = totalPlaidConnectionsCount; + } + + + public BeaconAccountRiskAttributes plaidConnectionsCount7d(Integer plaidConnectionsCount7d) { + + this.plaidConnectionsCount7d = plaidConnectionsCount7d; + return this; + } + + /** + * The number of times the Item has been connected to applications via Plaid over the past 7 days + * @return plaidConnectionsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of times the Item has been connected to applications via Plaid over the past 7 days") + + public Integer getPlaidConnectionsCount7d() { + return plaidConnectionsCount7d; + } + + + public void setPlaidConnectionsCount7d(Integer plaidConnectionsCount7d) { + this.plaidConnectionsCount7d = plaidConnectionsCount7d; + } + + + public BeaconAccountRiskAttributes plaidConnectionsCount30d(Integer plaidConnectionsCount30d) { + + this.plaidConnectionsCount30d = plaidConnectionsCount30d; + return this; + } + + /** + * The number of times the Item has been connected to applications via Plaid over the past 30 days + * @return plaidConnectionsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of times the Item has been connected to applications via Plaid over the past 30 days") + + public Integer getPlaidConnectionsCount30d() { + return plaidConnectionsCount30d; + } + + + public void setPlaidConnectionsCount30d(Integer plaidConnectionsCount30d) { + this.plaidConnectionsCount30d = plaidConnectionsCount30d; + } + + + public BeaconAccountRiskAttributes failedPlaidNonOauthAuthenticationAttemptsCount3d(Integer failedPlaidNonOauthAuthenticationAttemptsCount3d) { + + this.failedPlaidNonOauthAuthenticationAttemptsCount3d = failedPlaidNonOauthAuthenticationAttemptsCount3d; + return this; + } + + /** + * The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 3 days + * @return failedPlaidNonOauthAuthenticationAttemptsCount3d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 3 days") + + public Integer getFailedPlaidNonOauthAuthenticationAttemptsCount3d() { + return failedPlaidNonOauthAuthenticationAttemptsCount3d; + } + + + public void setFailedPlaidNonOauthAuthenticationAttemptsCount3d(Integer failedPlaidNonOauthAuthenticationAttemptsCount3d) { + this.failedPlaidNonOauthAuthenticationAttemptsCount3d = failedPlaidNonOauthAuthenticationAttemptsCount3d; + } + + + public BeaconAccountRiskAttributes plaidNonOauthAuthenticationAttemptsCount3d(Integer plaidNonOauthAuthenticationAttemptsCount3d) { + + this.plaidNonOauthAuthenticationAttemptsCount3d = plaidNonOauthAuthenticationAttemptsCount3d; + return this; + } + + /** + * The number of non-OAuth authentication attempts via Plaid for this bank account over the past 3 days + * @return plaidNonOauthAuthenticationAttemptsCount3d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of non-OAuth authentication attempts via Plaid for this bank account over the past 3 days") + + public Integer getPlaidNonOauthAuthenticationAttemptsCount3d() { + return plaidNonOauthAuthenticationAttemptsCount3d; + } + + + public void setPlaidNonOauthAuthenticationAttemptsCount3d(Integer plaidNonOauthAuthenticationAttemptsCount3d) { + this.plaidNonOauthAuthenticationAttemptsCount3d = plaidNonOauthAuthenticationAttemptsCount3d; + } + + + public BeaconAccountRiskAttributes failedPlaidNonOauthAuthenticationAttemptsCount7d(Integer failedPlaidNonOauthAuthenticationAttemptsCount7d) { + + this.failedPlaidNonOauthAuthenticationAttemptsCount7d = failedPlaidNonOauthAuthenticationAttemptsCount7d; + return this; + } + + /** + * The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 7 days + * @return failedPlaidNonOauthAuthenticationAttemptsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 7 days") + + public Integer getFailedPlaidNonOauthAuthenticationAttemptsCount7d() { + return failedPlaidNonOauthAuthenticationAttemptsCount7d; + } + + + public void setFailedPlaidNonOauthAuthenticationAttemptsCount7d(Integer failedPlaidNonOauthAuthenticationAttemptsCount7d) { + this.failedPlaidNonOauthAuthenticationAttemptsCount7d = failedPlaidNonOauthAuthenticationAttemptsCount7d; + } + + + public BeaconAccountRiskAttributes plaidNonOauthAuthenticationAttemptsCount7d(Integer plaidNonOauthAuthenticationAttemptsCount7d) { + + this.plaidNonOauthAuthenticationAttemptsCount7d = plaidNonOauthAuthenticationAttemptsCount7d; + return this; + } + + /** + * The number of non-OAuth authentication attempts via Plaid for this bank account over the past 7 days + * @return plaidNonOauthAuthenticationAttemptsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of non-OAuth authentication attempts via Plaid for this bank account over the past 7 days") + + public Integer getPlaidNonOauthAuthenticationAttemptsCount7d() { + return plaidNonOauthAuthenticationAttemptsCount7d; + } + + + public void setPlaidNonOauthAuthenticationAttemptsCount7d(Integer plaidNonOauthAuthenticationAttemptsCount7d) { + this.plaidNonOauthAuthenticationAttemptsCount7d = plaidNonOauthAuthenticationAttemptsCount7d; + } + + + public BeaconAccountRiskAttributes failedPlaidNonOauthAuthenticationAttemptsCount30d(Integer failedPlaidNonOauthAuthenticationAttemptsCount30d) { + + this.failedPlaidNonOauthAuthenticationAttemptsCount30d = failedPlaidNonOauthAuthenticationAttemptsCount30d; + return this; + } + + /** + * The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 30 days + * @return failedPlaidNonOauthAuthenticationAttemptsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 30 days") + + public Integer getFailedPlaidNonOauthAuthenticationAttemptsCount30d() { + return failedPlaidNonOauthAuthenticationAttemptsCount30d; + } + + + public void setFailedPlaidNonOauthAuthenticationAttemptsCount30d(Integer failedPlaidNonOauthAuthenticationAttemptsCount30d) { + this.failedPlaidNonOauthAuthenticationAttemptsCount30d = failedPlaidNonOauthAuthenticationAttemptsCount30d; + } + + + public BeaconAccountRiskAttributes plaidNonOauthAuthenticationAttemptsCount30d(Integer plaidNonOauthAuthenticationAttemptsCount30d) { + + this.plaidNonOauthAuthenticationAttemptsCount30d = plaidNonOauthAuthenticationAttemptsCount30d; + return this; + } + + /** + * The number of non-OAuth authentication attempts via Plaid for this bank account over the past 30 days + * @return plaidNonOauthAuthenticationAttemptsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of non-OAuth authentication attempts via Plaid for this bank account over the past 30 days") + + public Integer getPlaidNonOauthAuthenticationAttemptsCount30d() { + return plaidNonOauthAuthenticationAttemptsCount30d; + } + + + public void setPlaidNonOauthAuthenticationAttemptsCount30d(Integer plaidNonOauthAuthenticationAttemptsCount30d) { + this.plaidNonOauthAuthenticationAttemptsCount30d = plaidNonOauthAuthenticationAttemptsCount30d; + } + + + public BeaconAccountRiskAttributes distinctIpAddressesCount3d(Integer distinctIpAddressesCount3d) { + + this.distinctIpAddressesCount3d = distinctIpAddressesCount3d; + return this; + } + + /** + * The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 3 days + * @return distinctIpAddressesCount3d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 3 days") + + public Integer getDistinctIpAddressesCount3d() { + return distinctIpAddressesCount3d; + } + + + public void setDistinctIpAddressesCount3d(Integer distinctIpAddressesCount3d) { + this.distinctIpAddressesCount3d = distinctIpAddressesCount3d; + } + + + public BeaconAccountRiskAttributes distinctIpAddressesCount7d(Integer distinctIpAddressesCount7d) { + + this.distinctIpAddressesCount7d = distinctIpAddressesCount7d; + return this; + } + + /** + * The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 7 days + * @return distinctIpAddressesCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 7 days") + + public Integer getDistinctIpAddressesCount7d() { + return distinctIpAddressesCount7d; + } + + + public void setDistinctIpAddressesCount7d(Integer distinctIpAddressesCount7d) { + this.distinctIpAddressesCount7d = distinctIpAddressesCount7d; + } + + + public BeaconAccountRiskAttributes distinctIpAddressesCount30d(Integer distinctIpAddressesCount30d) { + + this.distinctIpAddressesCount30d = distinctIpAddressesCount30d; + return this; + } + + /** + * The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 30 days + * @return distinctIpAddressesCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 30 days") + + public Integer getDistinctIpAddressesCount30d() { + return distinctIpAddressesCount30d; + } + + + public void setDistinctIpAddressesCount30d(Integer distinctIpAddressesCount30d) { + this.distinctIpAddressesCount30d = distinctIpAddressesCount30d; + } + + + public BeaconAccountRiskAttributes distinctIpAddressesCount90d(Integer distinctIpAddressesCount90d) { + + this.distinctIpAddressesCount90d = distinctIpAddressesCount90d; + return this; + } + + /** + * The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 90 days + * @return distinctIpAddressesCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 90 days") + + public Integer getDistinctIpAddressesCount90d() { + return distinctIpAddressesCount90d; + } + + + public void setDistinctIpAddressesCount90d(Integer distinctIpAddressesCount90d) { + this.distinctIpAddressesCount90d = distinctIpAddressesCount90d; + } + + + public BeaconAccountRiskAttributes distinctUserAgentsCount3d(Integer distinctUserAgentsCount3d) { + + this.distinctUserAgentsCount3d = distinctUserAgentsCount3d; + return this; + } + + /** + * The number of distinct user agents linked to the same bank account during Plaid authentication in the last 3 days + * @return distinctUserAgentsCount3d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of distinct user agents linked to the same bank account during Plaid authentication in the last 3 days") + + public Integer getDistinctUserAgentsCount3d() { + return distinctUserAgentsCount3d; + } + + + public void setDistinctUserAgentsCount3d(Integer distinctUserAgentsCount3d) { + this.distinctUserAgentsCount3d = distinctUserAgentsCount3d; + } + + + public BeaconAccountRiskAttributes distinctUserAgentsCount7d(Integer distinctUserAgentsCount7d) { + + this.distinctUserAgentsCount7d = distinctUserAgentsCount7d; + return this; + } + + /** + * The number of distinct user agents linked to the same bank account during Plaid authentication in the last 7 days + * @return distinctUserAgentsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of distinct user agents linked to the same bank account during Plaid authentication in the last 7 days") + + public Integer getDistinctUserAgentsCount7d() { + return distinctUserAgentsCount7d; + } + + + public void setDistinctUserAgentsCount7d(Integer distinctUserAgentsCount7d) { + this.distinctUserAgentsCount7d = distinctUserAgentsCount7d; + } + + + public BeaconAccountRiskAttributes distinctUserAgentsCount30d(Integer distinctUserAgentsCount30d) { + + this.distinctUserAgentsCount30d = distinctUserAgentsCount30d; + return this; + } + + /** + * The number of distinct user agents linked to the same bank account during Plaid authentication in the last 30 days + * @return distinctUserAgentsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of distinct user agents linked to the same bank account during Plaid authentication in the last 30 days") + + public Integer getDistinctUserAgentsCount30d() { + return distinctUserAgentsCount30d; + } + + + public void setDistinctUserAgentsCount30d(Integer distinctUserAgentsCount30d) { + this.distinctUserAgentsCount30d = distinctUserAgentsCount30d; + } + + + public BeaconAccountRiskAttributes distinctUserAgentsCount90d(Integer distinctUserAgentsCount90d) { + + this.distinctUserAgentsCount90d = distinctUserAgentsCount90d; + return this; + } + + /** + * The number of distinct user agents linked to the same bank account during Plaid authentication in the last 90 days + * @return distinctUserAgentsCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of distinct user agents linked to the same bank account during Plaid authentication in the last 90 days") + + public Integer getDistinctUserAgentsCount90d() { + return distinctUserAgentsCount90d; + } + + + public void setDistinctUserAgentsCount90d(Integer distinctUserAgentsCount90d) { + this.distinctUserAgentsCount90d = distinctUserAgentsCount90d; + } + + + public BeaconAccountRiskAttributes addressChangeCount28d(Integer addressChangeCount28d) { + + this.addressChangeCount28d = addressChangeCount28d; + return this; + } + + /** + * The number of times the account's addresses on file have changed over the past 28 days + * @return addressChangeCount28d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of times the account's addresses on file have changed over the past 28 days") + + public Integer getAddressChangeCount28d() { + return addressChangeCount28d; + } + + + public void setAddressChangeCount28d(Integer addressChangeCount28d) { + this.addressChangeCount28d = addressChangeCount28d; + } + + + public BeaconAccountRiskAttributes emailChangeCount28d(Integer emailChangeCount28d) { + + this.emailChangeCount28d = emailChangeCount28d; + return this; + } + + /** + * The number of times the account's email addresses on file have changed over the past 28 days + * @return emailChangeCount28d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2", required = true, value = "The number of times the account's email addresses on file have changed over the past 28 days") + + public Integer getEmailChangeCount28d() { + return emailChangeCount28d; + } + + + public void setEmailChangeCount28d(Integer emailChangeCount28d) { + this.emailChangeCount28d = emailChangeCount28d; + } + + + public BeaconAccountRiskAttributes phoneChangeCount28d(Integer phoneChangeCount28d) { + + this.phoneChangeCount28d = phoneChangeCount28d; + return this; + } + + /** + * The number of times the account's phone numbers on file have changed over the past 28 days + * @return phoneChangeCount28d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "The number of times the account's phone numbers on file have changed over the past 28 days") + + public Integer getPhoneChangeCount28d() { + return phoneChangeCount28d; + } + + + public void setPhoneChangeCount28d(Integer phoneChangeCount28d) { + this.phoneChangeCount28d = phoneChangeCount28d; + } + + + public BeaconAccountRiskAttributes addressChangeCount90d(Integer addressChangeCount90d) { + + this.addressChangeCount90d = addressChangeCount90d; + return this; + } + + /** + * The number of times the account's addresses on file have changed over the past 90 days + * @return addressChangeCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "3", required = true, value = "The number of times the account's addresses on file have changed over the past 90 days") + + public Integer getAddressChangeCount90d() { + return addressChangeCount90d; + } + + + public void setAddressChangeCount90d(Integer addressChangeCount90d) { + this.addressChangeCount90d = addressChangeCount90d; + } + + + public BeaconAccountRiskAttributes emailChangeCount90d(Integer emailChangeCount90d) { + + this.emailChangeCount90d = emailChangeCount90d; + return this; + } + + /** + * The number of times the account's email addresses on file have changed over the past 90 days + * @return emailChangeCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "4", required = true, value = "The number of times the account's email addresses on file have changed over the past 90 days") + + public Integer getEmailChangeCount90d() { + return emailChangeCount90d; + } + + + public void setEmailChangeCount90d(Integer emailChangeCount90d) { + this.emailChangeCount90d = emailChangeCount90d; + } + + + public BeaconAccountRiskAttributes phoneChangeCount90d(Integer phoneChangeCount90d) { + + this.phoneChangeCount90d = phoneChangeCount90d; + return this; + } + + /** + * The number of times the account's phone numbers on file have changed over the past 90 days + * @return phoneChangeCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2", required = true, value = "The number of times the account's phone numbers on file have changed over the past 90 days") + + public Integer getPhoneChangeCount90d() { + return phoneChangeCount90d; + } + + + public void setPhoneChangeCount90d(Integer phoneChangeCount90d) { + this.phoneChangeCount90d = phoneChangeCount90d; + } + + + public BeaconAccountRiskAttributes daysSinceAccountOpening(Integer daysSinceAccountOpening) { + + this.daysSinceAccountOpening = daysSinceAccountOpening; + return this; + } + + /** + * The number of days since the bank account was opened, as reported by the financial institution + * @return daysSinceAccountOpening + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "365", required = true, value = "The number of days since the bank account was opened, as reported by the financial institution") + + public Integer getDaysSinceAccountOpening() { + return daysSinceAccountOpening; + } + + + public void setDaysSinceAccountOpening(Integer daysSinceAccountOpening) { + this.daysSinceAccountOpening = daysSinceAccountOpening; + } + + + public BeaconAccountRiskAttributes daysSinceFirstObservedTransaction(Integer daysSinceFirstObservedTransaction) { + + this.daysSinceFirstObservedTransaction = daysSinceFirstObservedTransaction; + return this; + } + + /** + * The number of days since the oldest transaction available to Plaid for this account. This measure, combined with Plaid connection history, can be used to infer the age of the account + * @return daysSinceFirstObservedTransaction + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "180", required = true, value = "The number of days since the oldest transaction available to Plaid for this account. This measure, combined with Plaid connection history, can be used to infer the age of the account") + + public Integer getDaysSinceFirstObservedTransaction() { + return daysSinceFirstObservedTransaction; + } + + + public void setDaysSinceFirstObservedTransaction(Integer daysSinceFirstObservedTransaction) { + this.daysSinceFirstObservedTransaction = daysSinceFirstObservedTransaction; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconAccountRiskAttributes beaconAccountRiskAttributes = (BeaconAccountRiskAttributes) o; + return Objects.equals(this.daysSinceFirstPlaidConnection, beaconAccountRiskAttributes.daysSinceFirstPlaidConnection) && + Objects.equals(this.isAccountClosed, beaconAccountRiskAttributes.isAccountClosed) && + Objects.equals(this.isAccountFrozenOrRestricted, beaconAccountRiskAttributes.isAccountFrozenOrRestricted) && + Objects.equals(this.totalPlaidConnectionsCount, beaconAccountRiskAttributes.totalPlaidConnectionsCount) && + Objects.equals(this.plaidConnectionsCount7d, beaconAccountRiskAttributes.plaidConnectionsCount7d) && + Objects.equals(this.plaidConnectionsCount30d, beaconAccountRiskAttributes.plaidConnectionsCount30d) && + Objects.equals(this.failedPlaidNonOauthAuthenticationAttemptsCount3d, beaconAccountRiskAttributes.failedPlaidNonOauthAuthenticationAttemptsCount3d) && + Objects.equals(this.plaidNonOauthAuthenticationAttemptsCount3d, beaconAccountRiskAttributes.plaidNonOauthAuthenticationAttemptsCount3d) && + Objects.equals(this.failedPlaidNonOauthAuthenticationAttemptsCount7d, beaconAccountRiskAttributes.failedPlaidNonOauthAuthenticationAttemptsCount7d) && + Objects.equals(this.plaidNonOauthAuthenticationAttemptsCount7d, beaconAccountRiskAttributes.plaidNonOauthAuthenticationAttemptsCount7d) && + Objects.equals(this.failedPlaidNonOauthAuthenticationAttemptsCount30d, beaconAccountRiskAttributes.failedPlaidNonOauthAuthenticationAttemptsCount30d) && + Objects.equals(this.plaidNonOauthAuthenticationAttemptsCount30d, beaconAccountRiskAttributes.plaidNonOauthAuthenticationAttemptsCount30d) && + Objects.equals(this.distinctIpAddressesCount3d, beaconAccountRiskAttributes.distinctIpAddressesCount3d) && + Objects.equals(this.distinctIpAddressesCount7d, beaconAccountRiskAttributes.distinctIpAddressesCount7d) && + Objects.equals(this.distinctIpAddressesCount30d, beaconAccountRiskAttributes.distinctIpAddressesCount30d) && + Objects.equals(this.distinctIpAddressesCount90d, beaconAccountRiskAttributes.distinctIpAddressesCount90d) && + Objects.equals(this.distinctUserAgentsCount3d, beaconAccountRiskAttributes.distinctUserAgentsCount3d) && + Objects.equals(this.distinctUserAgentsCount7d, beaconAccountRiskAttributes.distinctUserAgentsCount7d) && + Objects.equals(this.distinctUserAgentsCount30d, beaconAccountRiskAttributes.distinctUserAgentsCount30d) && + Objects.equals(this.distinctUserAgentsCount90d, beaconAccountRiskAttributes.distinctUserAgentsCount90d) && + Objects.equals(this.addressChangeCount28d, beaconAccountRiskAttributes.addressChangeCount28d) && + Objects.equals(this.emailChangeCount28d, beaconAccountRiskAttributes.emailChangeCount28d) && + Objects.equals(this.phoneChangeCount28d, beaconAccountRiskAttributes.phoneChangeCount28d) && + Objects.equals(this.addressChangeCount90d, beaconAccountRiskAttributes.addressChangeCount90d) && + Objects.equals(this.emailChangeCount90d, beaconAccountRiskAttributes.emailChangeCount90d) && + Objects.equals(this.phoneChangeCount90d, beaconAccountRiskAttributes.phoneChangeCount90d) && + Objects.equals(this.daysSinceAccountOpening, beaconAccountRiskAttributes.daysSinceAccountOpening) && + Objects.equals(this.daysSinceFirstObservedTransaction, beaconAccountRiskAttributes.daysSinceFirstObservedTransaction); + } + + @Override + public int hashCode() { + return Objects.hash(daysSinceFirstPlaidConnection, isAccountClosed, isAccountFrozenOrRestricted, totalPlaidConnectionsCount, plaidConnectionsCount7d, plaidConnectionsCount30d, failedPlaidNonOauthAuthenticationAttemptsCount3d, plaidNonOauthAuthenticationAttemptsCount3d, failedPlaidNonOauthAuthenticationAttemptsCount7d, plaidNonOauthAuthenticationAttemptsCount7d, failedPlaidNonOauthAuthenticationAttemptsCount30d, plaidNonOauthAuthenticationAttemptsCount30d, distinctIpAddressesCount3d, distinctIpAddressesCount7d, distinctIpAddressesCount30d, distinctIpAddressesCount90d, distinctUserAgentsCount3d, distinctUserAgentsCount7d, distinctUserAgentsCount30d, distinctUserAgentsCount90d, addressChangeCount28d, emailChangeCount28d, phoneChangeCount28d, addressChangeCount90d, emailChangeCount90d, phoneChangeCount90d, daysSinceAccountOpening, daysSinceFirstObservedTransaction); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconAccountRiskAttributes {\n"); + sb.append(" daysSinceFirstPlaidConnection: ").append(toIndentedString(daysSinceFirstPlaidConnection)).append("\n"); + sb.append(" isAccountClosed: ").append(toIndentedString(isAccountClosed)).append("\n"); + sb.append(" isAccountFrozenOrRestricted: ").append(toIndentedString(isAccountFrozenOrRestricted)).append("\n"); + sb.append(" totalPlaidConnectionsCount: ").append(toIndentedString(totalPlaidConnectionsCount)).append("\n"); + sb.append(" plaidConnectionsCount7d: ").append(toIndentedString(plaidConnectionsCount7d)).append("\n"); + sb.append(" plaidConnectionsCount30d: ").append(toIndentedString(plaidConnectionsCount30d)).append("\n"); + sb.append(" failedPlaidNonOauthAuthenticationAttemptsCount3d: ").append(toIndentedString(failedPlaidNonOauthAuthenticationAttemptsCount3d)).append("\n"); + sb.append(" plaidNonOauthAuthenticationAttemptsCount3d: ").append(toIndentedString(plaidNonOauthAuthenticationAttemptsCount3d)).append("\n"); + sb.append(" failedPlaidNonOauthAuthenticationAttemptsCount7d: ").append(toIndentedString(failedPlaidNonOauthAuthenticationAttemptsCount7d)).append("\n"); + sb.append(" plaidNonOauthAuthenticationAttemptsCount7d: ").append(toIndentedString(plaidNonOauthAuthenticationAttemptsCount7d)).append("\n"); + sb.append(" failedPlaidNonOauthAuthenticationAttemptsCount30d: ").append(toIndentedString(failedPlaidNonOauthAuthenticationAttemptsCount30d)).append("\n"); + sb.append(" plaidNonOauthAuthenticationAttemptsCount30d: ").append(toIndentedString(plaidNonOauthAuthenticationAttemptsCount30d)).append("\n"); + sb.append(" distinctIpAddressesCount3d: ").append(toIndentedString(distinctIpAddressesCount3d)).append("\n"); + sb.append(" distinctIpAddressesCount7d: ").append(toIndentedString(distinctIpAddressesCount7d)).append("\n"); + sb.append(" distinctIpAddressesCount30d: ").append(toIndentedString(distinctIpAddressesCount30d)).append("\n"); + sb.append(" distinctIpAddressesCount90d: ").append(toIndentedString(distinctIpAddressesCount90d)).append("\n"); + sb.append(" distinctUserAgentsCount3d: ").append(toIndentedString(distinctUserAgentsCount3d)).append("\n"); + sb.append(" distinctUserAgentsCount7d: ").append(toIndentedString(distinctUserAgentsCount7d)).append("\n"); + sb.append(" distinctUserAgentsCount30d: ").append(toIndentedString(distinctUserAgentsCount30d)).append("\n"); + sb.append(" distinctUserAgentsCount90d: ").append(toIndentedString(distinctUserAgentsCount90d)).append("\n"); + sb.append(" addressChangeCount28d: ").append(toIndentedString(addressChangeCount28d)).append("\n"); + sb.append(" emailChangeCount28d: ").append(toIndentedString(emailChangeCount28d)).append("\n"); + sb.append(" phoneChangeCount28d: ").append(toIndentedString(phoneChangeCount28d)).append("\n"); + sb.append(" addressChangeCount90d: ").append(toIndentedString(addressChangeCount90d)).append("\n"); + sb.append(" emailChangeCount90d: ").append(toIndentedString(emailChangeCount90d)).append("\n"); + sb.append(" phoneChangeCount90d: ").append(toIndentedString(phoneChangeCount90d)).append("\n"); + sb.append(" daysSinceAccountOpening: ").append(toIndentedString(daysSinceAccountOpening)).append("\n"); + sb.append(" daysSinceFirstObservedTransaction: ").append(toIndentedString(daysSinceFirstObservedTransaction)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateAccount.java b/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateAccount.java new file mode 100644 index 0000000000..af88ed5d45 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateAccount.java @@ -0,0 +1,189 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.BeaconAccountRiskEvaluateAccountAttributes; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An account in the `/beacon/account_risk/v1/evaluate` response. + */ +@ApiModel(description = "An account in the `/beacon/account_risk/v1/evaluate` response.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconAccountRiskEvaluateAccount { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private BeaconAccountRiskEvaluateAccountAttributes attributes; + + + public BeaconAccountRiskEvaluateAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The account ID. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account ID.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public BeaconAccountRiskEvaluateAccount type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public BeaconAccountRiskEvaluateAccount subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public BeaconAccountRiskEvaluateAccount attributes(BeaconAccountRiskEvaluateAccountAttributes attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BeaconAccountRiskEvaluateAccountAttributes getAttributes() { + return attributes; + } + + + public void setAttributes(BeaconAccountRiskEvaluateAccountAttributes attributes) { + this.attributes = attributes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconAccountRiskEvaluateAccount beaconAccountRiskEvaluateAccount = (BeaconAccountRiskEvaluateAccount) o; + return Objects.equals(this.accountId, beaconAccountRiskEvaluateAccount.accountId) && + Objects.equals(this.type, beaconAccountRiskEvaluateAccount.type) && + Objects.equals(this.subtype, beaconAccountRiskEvaluateAccount.subtype) && + Objects.equals(this.attributes, beaconAccountRiskEvaluateAccount.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, type, subtype, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconAccountRiskEvaluateAccount {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateAccountAttributes.java b/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateAccountAttributes.java new file mode 100644 index 0000000000..bff532bee5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateAccountAttributes.java @@ -0,0 +1,882 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The attributes object contains data that can be used to assess account risk. Examples of data include: `days_since_first_plaid_connection`: The number of days since the first time the Item was connected to an application via Plaid `plaid_connections_count_7d`: The number of times the Item has been connected to applications via Plaid over the past 7 days `plaid_connections_count_30d`: The number of times the Item has been connected to applications via Plaid over the past 30 days `total_plaid_connections_count`: The number of times the Item has been connected to applications via Plaid For the full list and detailed documentation of core attributes available, or to request that core attributes not be returned, contact sales or your Plaid account manager + */ +@ApiModel(description = "The attributes object contains data that can be used to assess account risk. Examples of data include: `days_since_first_plaid_connection`: The number of days since the first time the Item was connected to an application via Plaid `plaid_connections_count_7d`: The number of times the Item has been connected to applications via Plaid over the past 7 days `plaid_connections_count_30d`: The number of times the Item has been connected to applications via Plaid over the past 30 days `total_plaid_connections_count`: The number of times the Item has been connected to applications via Plaid For the full list and detailed documentation of core attributes available, or to request that core attributes not be returned, contact sales or your Plaid account manager") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconAccountRiskEvaluateAccountAttributes { + public static final String SERIALIZED_NAME_DAYS_SINCE_FIRST_PLAID_CONNECTION = "days_since_first_plaid_connection"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_FIRST_PLAID_CONNECTION) + private Integer daysSinceFirstPlaidConnection; + + public static final String SERIALIZED_NAME_IS_ACCOUNT_CLOSED = "is_account_closed"; + @SerializedName(SERIALIZED_NAME_IS_ACCOUNT_CLOSED) + private Boolean isAccountClosed; + + public static final String SERIALIZED_NAME_IS_ACCOUNT_FROZEN_OR_RESTRICTED = "is_account_frozen_or_restricted"; + @SerializedName(SERIALIZED_NAME_IS_ACCOUNT_FROZEN_OR_RESTRICTED) + private Boolean isAccountFrozenOrRestricted; + + public static final String SERIALIZED_NAME_TOTAL_PLAID_CONNECTIONS_COUNT = "total_plaid_connections_count"; + @SerializedName(SERIALIZED_NAME_TOTAL_PLAID_CONNECTIONS_COUNT) + private Integer totalPlaidConnectionsCount; + + public static final String SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT7D = "plaid_connections_count_7d"; + @SerializedName(SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT7D) + private Integer plaidConnectionsCount7d; + + public static final String SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT30D = "plaid_connections_count_30d"; + @SerializedName(SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT30D) + private Integer plaidConnectionsCount30d; + + public static final String SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D = "failed_plaid_non_oauth_authentication_attempts_count_3d"; + @SerializedName(SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D) + private Integer failedPlaidNonOauthAuthenticationAttemptsCount3d; + + public static final String SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D = "plaid_non_oauth_authentication_attempts_count_3d"; + @SerializedName(SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D) + private Integer plaidNonOauthAuthenticationAttemptsCount3d; + + public static final String SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D = "failed_plaid_non_oauth_authentication_attempts_count_7d"; + @SerializedName(SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D) + private Integer failedPlaidNonOauthAuthenticationAttemptsCount7d; + + public static final String SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D = "plaid_non_oauth_authentication_attempts_count_7d"; + @SerializedName(SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D) + private Integer plaidNonOauthAuthenticationAttemptsCount7d; + + public static final String SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D = "failed_plaid_non_oauth_authentication_attempts_count_30d"; + @SerializedName(SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D) + private Integer failedPlaidNonOauthAuthenticationAttemptsCount30d; + + public static final String SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D = "plaid_non_oauth_authentication_attempts_count_30d"; + @SerializedName(SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D) + private Integer plaidNonOauthAuthenticationAttemptsCount30d; + + public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT3D = "distinct_ip_addresses_count_3d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT3D) + private Integer distinctIpAddressesCount3d; + + public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT7D = "distinct_ip_addresses_count_7d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT7D) + private Integer distinctIpAddressesCount7d; + + public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT30D = "distinct_ip_addresses_count_30d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT30D) + private Integer distinctIpAddressesCount30d; + + public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT90D = "distinct_ip_addresses_count_90d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT90D) + private Integer distinctIpAddressesCount90d; + + public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT3D = "distinct_user_agents_count_3d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT3D) + private Integer distinctUserAgentsCount3d; + + public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT7D = "distinct_user_agents_count_7d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT7D) + private Integer distinctUserAgentsCount7d; + + public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT30D = "distinct_user_agents_count_30d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT30D) + private Integer distinctUserAgentsCount30d; + + public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT90D = "distinct_user_agents_count_90d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT90D) + private Integer distinctUserAgentsCount90d; + + public static final String SERIALIZED_NAME_ADDRESS_CHANGE_COUNT28D = "address_change_count_28d"; + @SerializedName(SERIALIZED_NAME_ADDRESS_CHANGE_COUNT28D) + private Integer addressChangeCount28d; + + public static final String SERIALIZED_NAME_EMAIL_CHANGE_COUNT28D = "email_change_count_28d"; + @SerializedName(SERIALIZED_NAME_EMAIL_CHANGE_COUNT28D) + private Integer emailChangeCount28d; + + public static final String SERIALIZED_NAME_PHONE_CHANGE_COUNT28D = "phone_change_count_28d"; + @SerializedName(SERIALIZED_NAME_PHONE_CHANGE_COUNT28D) + private Integer phoneChangeCount28d; + + public static final String SERIALIZED_NAME_ADDRESS_CHANGE_COUNT90D = "address_change_count_90d"; + @SerializedName(SERIALIZED_NAME_ADDRESS_CHANGE_COUNT90D) + private Integer addressChangeCount90d; + + public static final String SERIALIZED_NAME_EMAIL_CHANGE_COUNT90D = "email_change_count_90d"; + @SerializedName(SERIALIZED_NAME_EMAIL_CHANGE_COUNT90D) + private Integer emailChangeCount90d; + + public static final String SERIALIZED_NAME_PHONE_CHANGE_COUNT90D = "phone_change_count_90d"; + @SerializedName(SERIALIZED_NAME_PHONE_CHANGE_COUNT90D) + private Integer phoneChangeCount90d; + + public static final String SERIALIZED_NAME_DAYS_SINCE_ACCOUNT_OPENING = "days_since_account_opening"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_ACCOUNT_OPENING) + private Integer daysSinceAccountOpening; + + public static final String SERIALIZED_NAME_DAYS_SINCE_FIRST_OBSERVED_TRANSACTION = "days_since_first_observed_transaction"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_FIRST_OBSERVED_TRANSACTION) + private Integer daysSinceFirstObservedTransaction; + + + public BeaconAccountRiskEvaluateAccountAttributes daysSinceFirstPlaidConnection(Integer daysSinceFirstPlaidConnection) { + + this.daysSinceFirstPlaidConnection = daysSinceFirstPlaidConnection; + return this; + } + + /** + * The number of days since the first time the Item was connected to an application via Plaid + * @return daysSinceFirstPlaidConnection + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days since the first time the Item was connected to an application via Plaid") + + public Integer getDaysSinceFirstPlaidConnection() { + return daysSinceFirstPlaidConnection; + } + + + public void setDaysSinceFirstPlaidConnection(Integer daysSinceFirstPlaidConnection) { + this.daysSinceFirstPlaidConnection = daysSinceFirstPlaidConnection; + } + + + public BeaconAccountRiskEvaluateAccountAttributes isAccountClosed(Boolean isAccountClosed) { + + this.isAccountClosed = isAccountClosed; + return this; + } + + /** + * Indicates if the account has been closed by the financial institution or the consumer, or is at risk of being closed + * @return isAccountClosed + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the account has been closed by the financial institution or the consumer, or is at risk of being closed") + + public Boolean getIsAccountClosed() { + return isAccountClosed; + } + + + public void setIsAccountClosed(Boolean isAccountClosed) { + this.isAccountClosed = isAccountClosed; + } + + + public BeaconAccountRiskEvaluateAccountAttributes isAccountFrozenOrRestricted(Boolean isAccountFrozenOrRestricted) { + + this.isAccountFrozenOrRestricted = isAccountFrozenOrRestricted; + return this; + } + + /** + * Indicates whether the account has withdrawals and transfers disabled or if access to the account is restricted. This could be due to a freeze by the credit issuer, legal restrictions (e.g., sanctions), or regulatory requirements limiting monthly withdrawals, among other reasons + * @return isAccountFrozenOrRestricted + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates whether the account has withdrawals and transfers disabled or if access to the account is restricted. This could be due to a freeze by the credit issuer, legal restrictions (e.g., sanctions), or regulatory requirements limiting monthly withdrawals, among other reasons") + + public Boolean getIsAccountFrozenOrRestricted() { + return isAccountFrozenOrRestricted; + } + + + public void setIsAccountFrozenOrRestricted(Boolean isAccountFrozenOrRestricted) { + this.isAccountFrozenOrRestricted = isAccountFrozenOrRestricted; + } + + + public BeaconAccountRiskEvaluateAccountAttributes totalPlaidConnectionsCount(Integer totalPlaidConnectionsCount) { + + this.totalPlaidConnectionsCount = totalPlaidConnectionsCount; + return this; + } + + /** + * The total number of times the item has been connected to applications via Plaid + * @return totalPlaidConnectionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of times the item has been connected to applications via Plaid") + + public Integer getTotalPlaidConnectionsCount() { + return totalPlaidConnectionsCount; + } + + + public void setTotalPlaidConnectionsCount(Integer totalPlaidConnectionsCount) { + this.totalPlaidConnectionsCount = totalPlaidConnectionsCount; + } + + + public BeaconAccountRiskEvaluateAccountAttributes plaidConnectionsCount7d(Integer plaidConnectionsCount7d) { + + this.plaidConnectionsCount7d = plaidConnectionsCount7d; + return this; + } + + /** + * The number of times the Item has been connected to applications via Plaid over the past 7 days + * @return plaidConnectionsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the Item has been connected to applications via Plaid over the past 7 days") + + public Integer getPlaidConnectionsCount7d() { + return plaidConnectionsCount7d; + } + + + public void setPlaidConnectionsCount7d(Integer plaidConnectionsCount7d) { + this.plaidConnectionsCount7d = plaidConnectionsCount7d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes plaidConnectionsCount30d(Integer plaidConnectionsCount30d) { + + this.plaidConnectionsCount30d = plaidConnectionsCount30d; + return this; + } + + /** + * The number of times the Item has been connected to applications via Plaid over the past 30 days + * @return plaidConnectionsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the Item has been connected to applications via Plaid over the past 30 days") + + public Integer getPlaidConnectionsCount30d() { + return plaidConnectionsCount30d; + } + + + public void setPlaidConnectionsCount30d(Integer plaidConnectionsCount30d) { + this.plaidConnectionsCount30d = plaidConnectionsCount30d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes failedPlaidNonOauthAuthenticationAttemptsCount3d(Integer failedPlaidNonOauthAuthenticationAttemptsCount3d) { + + this.failedPlaidNonOauthAuthenticationAttemptsCount3d = failedPlaidNonOauthAuthenticationAttemptsCount3d; + return this; + } + + /** + * The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 3 days + * @return failedPlaidNonOauthAuthenticationAttemptsCount3d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 3 days") + + public Integer getFailedPlaidNonOauthAuthenticationAttemptsCount3d() { + return failedPlaidNonOauthAuthenticationAttemptsCount3d; + } + + + public void setFailedPlaidNonOauthAuthenticationAttemptsCount3d(Integer failedPlaidNonOauthAuthenticationAttemptsCount3d) { + this.failedPlaidNonOauthAuthenticationAttemptsCount3d = failedPlaidNonOauthAuthenticationAttemptsCount3d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes plaidNonOauthAuthenticationAttemptsCount3d(Integer plaidNonOauthAuthenticationAttemptsCount3d) { + + this.plaidNonOauthAuthenticationAttemptsCount3d = plaidNonOauthAuthenticationAttemptsCount3d; + return this; + } + + /** + * The number of non-OAuth authentication attempts via Plaid for this bank account over the past 3 days + * @return plaidNonOauthAuthenticationAttemptsCount3d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of non-OAuth authentication attempts via Plaid for this bank account over the past 3 days") + + public Integer getPlaidNonOauthAuthenticationAttemptsCount3d() { + return plaidNonOauthAuthenticationAttemptsCount3d; + } + + + public void setPlaidNonOauthAuthenticationAttemptsCount3d(Integer plaidNonOauthAuthenticationAttemptsCount3d) { + this.plaidNonOauthAuthenticationAttemptsCount3d = plaidNonOauthAuthenticationAttemptsCount3d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes failedPlaidNonOauthAuthenticationAttemptsCount7d(Integer failedPlaidNonOauthAuthenticationAttemptsCount7d) { + + this.failedPlaidNonOauthAuthenticationAttemptsCount7d = failedPlaidNonOauthAuthenticationAttemptsCount7d; + return this; + } + + /** + * The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 7 days + * @return failedPlaidNonOauthAuthenticationAttemptsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 7 days") + + public Integer getFailedPlaidNonOauthAuthenticationAttemptsCount7d() { + return failedPlaidNonOauthAuthenticationAttemptsCount7d; + } + + + public void setFailedPlaidNonOauthAuthenticationAttemptsCount7d(Integer failedPlaidNonOauthAuthenticationAttemptsCount7d) { + this.failedPlaidNonOauthAuthenticationAttemptsCount7d = failedPlaidNonOauthAuthenticationAttemptsCount7d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes plaidNonOauthAuthenticationAttemptsCount7d(Integer plaidNonOauthAuthenticationAttemptsCount7d) { + + this.plaidNonOauthAuthenticationAttemptsCount7d = plaidNonOauthAuthenticationAttemptsCount7d; + return this; + } + + /** + * The number of non-OAuth authentication attempts via Plaid for this bank account over the past 7 days + * @return plaidNonOauthAuthenticationAttemptsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of non-OAuth authentication attempts via Plaid for this bank account over the past 7 days") + + public Integer getPlaidNonOauthAuthenticationAttemptsCount7d() { + return plaidNonOauthAuthenticationAttemptsCount7d; + } + + + public void setPlaidNonOauthAuthenticationAttemptsCount7d(Integer plaidNonOauthAuthenticationAttemptsCount7d) { + this.plaidNonOauthAuthenticationAttemptsCount7d = plaidNonOauthAuthenticationAttemptsCount7d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes failedPlaidNonOauthAuthenticationAttemptsCount30d(Integer failedPlaidNonOauthAuthenticationAttemptsCount30d) { + + this.failedPlaidNonOauthAuthenticationAttemptsCount30d = failedPlaidNonOauthAuthenticationAttemptsCount30d; + return this; + } + + /** + * The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 30 days + * @return failedPlaidNonOauthAuthenticationAttemptsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 30 days") + + public Integer getFailedPlaidNonOauthAuthenticationAttemptsCount30d() { + return failedPlaidNonOauthAuthenticationAttemptsCount30d; + } + + + public void setFailedPlaidNonOauthAuthenticationAttemptsCount30d(Integer failedPlaidNonOauthAuthenticationAttemptsCount30d) { + this.failedPlaidNonOauthAuthenticationAttemptsCount30d = failedPlaidNonOauthAuthenticationAttemptsCount30d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes plaidNonOauthAuthenticationAttemptsCount30d(Integer plaidNonOauthAuthenticationAttemptsCount30d) { + + this.plaidNonOauthAuthenticationAttemptsCount30d = plaidNonOauthAuthenticationAttemptsCount30d; + return this; + } + + /** + * The number of non-OAuth authentication attempts via Plaid for this bank account over the past 30 days + * @return plaidNonOauthAuthenticationAttemptsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of non-OAuth authentication attempts via Plaid for this bank account over the past 30 days") + + public Integer getPlaidNonOauthAuthenticationAttemptsCount30d() { + return plaidNonOauthAuthenticationAttemptsCount30d; + } + + + public void setPlaidNonOauthAuthenticationAttemptsCount30d(Integer plaidNonOauthAuthenticationAttemptsCount30d) { + this.plaidNonOauthAuthenticationAttemptsCount30d = plaidNonOauthAuthenticationAttemptsCount30d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes distinctIpAddressesCount3d(Integer distinctIpAddressesCount3d) { + + this.distinctIpAddressesCount3d = distinctIpAddressesCount3d; + return this; + } + + /** + * The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 3 days + * @return distinctIpAddressesCount3d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 3 days") + + public Integer getDistinctIpAddressesCount3d() { + return distinctIpAddressesCount3d; + } + + + public void setDistinctIpAddressesCount3d(Integer distinctIpAddressesCount3d) { + this.distinctIpAddressesCount3d = distinctIpAddressesCount3d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes distinctIpAddressesCount7d(Integer distinctIpAddressesCount7d) { + + this.distinctIpAddressesCount7d = distinctIpAddressesCount7d; + return this; + } + + /** + * The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 7 days + * @return distinctIpAddressesCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 7 days") + + public Integer getDistinctIpAddressesCount7d() { + return distinctIpAddressesCount7d; + } + + + public void setDistinctIpAddressesCount7d(Integer distinctIpAddressesCount7d) { + this.distinctIpAddressesCount7d = distinctIpAddressesCount7d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes distinctIpAddressesCount30d(Integer distinctIpAddressesCount30d) { + + this.distinctIpAddressesCount30d = distinctIpAddressesCount30d; + return this; + } + + /** + * The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 30 days + * @return distinctIpAddressesCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 30 days") + + public Integer getDistinctIpAddressesCount30d() { + return distinctIpAddressesCount30d; + } + + + public void setDistinctIpAddressesCount30d(Integer distinctIpAddressesCount30d) { + this.distinctIpAddressesCount30d = distinctIpAddressesCount30d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes distinctIpAddressesCount90d(Integer distinctIpAddressesCount90d) { + + this.distinctIpAddressesCount90d = distinctIpAddressesCount90d; + return this; + } + + /** + * The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 90 days + * @return distinctIpAddressesCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 90 days") + + public Integer getDistinctIpAddressesCount90d() { + return distinctIpAddressesCount90d; + } + + + public void setDistinctIpAddressesCount90d(Integer distinctIpAddressesCount90d) { + this.distinctIpAddressesCount90d = distinctIpAddressesCount90d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes distinctUserAgentsCount3d(Integer distinctUserAgentsCount3d) { + + this.distinctUserAgentsCount3d = distinctUserAgentsCount3d; + return this; + } + + /** + * The number of distinct user agents linked to the same bank account during Plaid authentication in the last 3 days + * @return distinctUserAgentsCount3d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct user agents linked to the same bank account during Plaid authentication in the last 3 days") + + public Integer getDistinctUserAgentsCount3d() { + return distinctUserAgentsCount3d; + } + + + public void setDistinctUserAgentsCount3d(Integer distinctUserAgentsCount3d) { + this.distinctUserAgentsCount3d = distinctUserAgentsCount3d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes distinctUserAgentsCount7d(Integer distinctUserAgentsCount7d) { + + this.distinctUserAgentsCount7d = distinctUserAgentsCount7d; + return this; + } + + /** + * The number of distinct user agents linked to the same bank account during Plaid authentication in the last 7 days + * @return distinctUserAgentsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct user agents linked to the same bank account during Plaid authentication in the last 7 days") + + public Integer getDistinctUserAgentsCount7d() { + return distinctUserAgentsCount7d; + } + + + public void setDistinctUserAgentsCount7d(Integer distinctUserAgentsCount7d) { + this.distinctUserAgentsCount7d = distinctUserAgentsCount7d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes distinctUserAgentsCount30d(Integer distinctUserAgentsCount30d) { + + this.distinctUserAgentsCount30d = distinctUserAgentsCount30d; + return this; + } + + /** + * The number of distinct user agents linked to the same bank account during Plaid authentication in the last 30 days + * @return distinctUserAgentsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct user agents linked to the same bank account during Plaid authentication in the last 30 days") + + public Integer getDistinctUserAgentsCount30d() { + return distinctUserAgentsCount30d; + } + + + public void setDistinctUserAgentsCount30d(Integer distinctUserAgentsCount30d) { + this.distinctUserAgentsCount30d = distinctUserAgentsCount30d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes distinctUserAgentsCount90d(Integer distinctUserAgentsCount90d) { + + this.distinctUserAgentsCount90d = distinctUserAgentsCount90d; + return this; + } + + /** + * The number of distinct user agents linked to the same bank account during Plaid authentication in the last 90 days + * @return distinctUserAgentsCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct user agents linked to the same bank account during Plaid authentication in the last 90 days") + + public Integer getDistinctUserAgentsCount90d() { + return distinctUserAgentsCount90d; + } + + + public void setDistinctUserAgentsCount90d(Integer distinctUserAgentsCount90d) { + this.distinctUserAgentsCount90d = distinctUserAgentsCount90d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes addressChangeCount28d(Integer addressChangeCount28d) { + + this.addressChangeCount28d = addressChangeCount28d; + return this; + } + + /** + * The number of times the account's addresses on file have changed over the past 28 days + * @return addressChangeCount28d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the account's addresses on file have changed over the past 28 days") + + public Integer getAddressChangeCount28d() { + return addressChangeCount28d; + } + + + public void setAddressChangeCount28d(Integer addressChangeCount28d) { + this.addressChangeCount28d = addressChangeCount28d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes emailChangeCount28d(Integer emailChangeCount28d) { + + this.emailChangeCount28d = emailChangeCount28d; + return this; + } + + /** + * The number of times the account's email addresses on file have changed over the past 28 days + * @return emailChangeCount28d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the account's email addresses on file have changed over the past 28 days") + + public Integer getEmailChangeCount28d() { + return emailChangeCount28d; + } + + + public void setEmailChangeCount28d(Integer emailChangeCount28d) { + this.emailChangeCount28d = emailChangeCount28d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes phoneChangeCount28d(Integer phoneChangeCount28d) { + + this.phoneChangeCount28d = phoneChangeCount28d; + return this; + } + + /** + * The number of times the account's phone numbers on file have changed over the past 28 days + * @return phoneChangeCount28d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the account's phone numbers on file have changed over the past 28 days") + + public Integer getPhoneChangeCount28d() { + return phoneChangeCount28d; + } + + + public void setPhoneChangeCount28d(Integer phoneChangeCount28d) { + this.phoneChangeCount28d = phoneChangeCount28d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes addressChangeCount90d(Integer addressChangeCount90d) { + + this.addressChangeCount90d = addressChangeCount90d; + return this; + } + + /** + * The number of times the account's addresses on file have changed over the past 90 days + * @return addressChangeCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the account's addresses on file have changed over the past 90 days") + + public Integer getAddressChangeCount90d() { + return addressChangeCount90d; + } + + + public void setAddressChangeCount90d(Integer addressChangeCount90d) { + this.addressChangeCount90d = addressChangeCount90d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes emailChangeCount90d(Integer emailChangeCount90d) { + + this.emailChangeCount90d = emailChangeCount90d; + return this; + } + + /** + * The number of times the account's email addresses on file have changed over the past 90 days + * @return emailChangeCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the account's email addresses on file have changed over the past 90 days") + + public Integer getEmailChangeCount90d() { + return emailChangeCount90d; + } + + + public void setEmailChangeCount90d(Integer emailChangeCount90d) { + this.emailChangeCount90d = emailChangeCount90d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes phoneChangeCount90d(Integer phoneChangeCount90d) { + + this.phoneChangeCount90d = phoneChangeCount90d; + return this; + } + + /** + * The number of times the account's phone numbers on file have changed over the past 90 days + * @return phoneChangeCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the account's phone numbers on file have changed over the past 90 days") + + public Integer getPhoneChangeCount90d() { + return phoneChangeCount90d; + } + + + public void setPhoneChangeCount90d(Integer phoneChangeCount90d) { + this.phoneChangeCount90d = phoneChangeCount90d; + } + + + public BeaconAccountRiskEvaluateAccountAttributes daysSinceAccountOpening(Integer daysSinceAccountOpening) { + + this.daysSinceAccountOpening = daysSinceAccountOpening; + return this; + } + + /** + * The number of days since the bank account was opened, as reported by the financial institution + * @return daysSinceAccountOpening + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days since the bank account was opened, as reported by the financial institution") + + public Integer getDaysSinceAccountOpening() { + return daysSinceAccountOpening; + } + + + public void setDaysSinceAccountOpening(Integer daysSinceAccountOpening) { + this.daysSinceAccountOpening = daysSinceAccountOpening; + } + + + public BeaconAccountRiskEvaluateAccountAttributes daysSinceFirstObservedTransaction(Integer daysSinceFirstObservedTransaction) { + + this.daysSinceFirstObservedTransaction = daysSinceFirstObservedTransaction; + return this; + } + + /** + * The number of days since the oldest transaction available to Plaid for this account. This measure, combined with Plaid connection history, can be used to infer the age of the account + * @return daysSinceFirstObservedTransaction + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days since the oldest transaction available to Plaid for this account. This measure, combined with Plaid connection history, can be used to infer the age of the account") + + public Integer getDaysSinceFirstObservedTransaction() { + return daysSinceFirstObservedTransaction; + } + + + public void setDaysSinceFirstObservedTransaction(Integer daysSinceFirstObservedTransaction) { + this.daysSinceFirstObservedTransaction = daysSinceFirstObservedTransaction; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconAccountRiskEvaluateAccountAttributes beaconAccountRiskEvaluateAccountAttributes = (BeaconAccountRiskEvaluateAccountAttributes) o; + return Objects.equals(this.daysSinceFirstPlaidConnection, beaconAccountRiskEvaluateAccountAttributes.daysSinceFirstPlaidConnection) && + Objects.equals(this.isAccountClosed, beaconAccountRiskEvaluateAccountAttributes.isAccountClosed) && + Objects.equals(this.isAccountFrozenOrRestricted, beaconAccountRiskEvaluateAccountAttributes.isAccountFrozenOrRestricted) && + Objects.equals(this.totalPlaidConnectionsCount, beaconAccountRiskEvaluateAccountAttributes.totalPlaidConnectionsCount) && + Objects.equals(this.plaidConnectionsCount7d, beaconAccountRiskEvaluateAccountAttributes.plaidConnectionsCount7d) && + Objects.equals(this.plaidConnectionsCount30d, beaconAccountRiskEvaluateAccountAttributes.plaidConnectionsCount30d) && + Objects.equals(this.failedPlaidNonOauthAuthenticationAttemptsCount3d, beaconAccountRiskEvaluateAccountAttributes.failedPlaidNonOauthAuthenticationAttemptsCount3d) && + Objects.equals(this.plaidNonOauthAuthenticationAttemptsCount3d, beaconAccountRiskEvaluateAccountAttributes.plaidNonOauthAuthenticationAttemptsCount3d) && + Objects.equals(this.failedPlaidNonOauthAuthenticationAttemptsCount7d, beaconAccountRiskEvaluateAccountAttributes.failedPlaidNonOauthAuthenticationAttemptsCount7d) && + Objects.equals(this.plaidNonOauthAuthenticationAttemptsCount7d, beaconAccountRiskEvaluateAccountAttributes.plaidNonOauthAuthenticationAttemptsCount7d) && + Objects.equals(this.failedPlaidNonOauthAuthenticationAttemptsCount30d, beaconAccountRiskEvaluateAccountAttributes.failedPlaidNonOauthAuthenticationAttemptsCount30d) && + Objects.equals(this.plaidNonOauthAuthenticationAttemptsCount30d, beaconAccountRiskEvaluateAccountAttributes.plaidNonOauthAuthenticationAttemptsCount30d) && + Objects.equals(this.distinctIpAddressesCount3d, beaconAccountRiskEvaluateAccountAttributes.distinctIpAddressesCount3d) && + Objects.equals(this.distinctIpAddressesCount7d, beaconAccountRiskEvaluateAccountAttributes.distinctIpAddressesCount7d) && + Objects.equals(this.distinctIpAddressesCount30d, beaconAccountRiskEvaluateAccountAttributes.distinctIpAddressesCount30d) && + Objects.equals(this.distinctIpAddressesCount90d, beaconAccountRiskEvaluateAccountAttributes.distinctIpAddressesCount90d) && + Objects.equals(this.distinctUserAgentsCount3d, beaconAccountRiskEvaluateAccountAttributes.distinctUserAgentsCount3d) && + Objects.equals(this.distinctUserAgentsCount7d, beaconAccountRiskEvaluateAccountAttributes.distinctUserAgentsCount7d) && + Objects.equals(this.distinctUserAgentsCount30d, beaconAccountRiskEvaluateAccountAttributes.distinctUserAgentsCount30d) && + Objects.equals(this.distinctUserAgentsCount90d, beaconAccountRiskEvaluateAccountAttributes.distinctUserAgentsCount90d) && + Objects.equals(this.addressChangeCount28d, beaconAccountRiskEvaluateAccountAttributes.addressChangeCount28d) && + Objects.equals(this.emailChangeCount28d, beaconAccountRiskEvaluateAccountAttributes.emailChangeCount28d) && + Objects.equals(this.phoneChangeCount28d, beaconAccountRiskEvaluateAccountAttributes.phoneChangeCount28d) && + Objects.equals(this.addressChangeCount90d, beaconAccountRiskEvaluateAccountAttributes.addressChangeCount90d) && + Objects.equals(this.emailChangeCount90d, beaconAccountRiskEvaluateAccountAttributes.emailChangeCount90d) && + Objects.equals(this.phoneChangeCount90d, beaconAccountRiskEvaluateAccountAttributes.phoneChangeCount90d) && + Objects.equals(this.daysSinceAccountOpening, beaconAccountRiskEvaluateAccountAttributes.daysSinceAccountOpening) && + Objects.equals(this.daysSinceFirstObservedTransaction, beaconAccountRiskEvaluateAccountAttributes.daysSinceFirstObservedTransaction); + } + + @Override + public int hashCode() { + return Objects.hash(daysSinceFirstPlaidConnection, isAccountClosed, isAccountFrozenOrRestricted, totalPlaidConnectionsCount, plaidConnectionsCount7d, plaidConnectionsCount30d, failedPlaidNonOauthAuthenticationAttemptsCount3d, plaidNonOauthAuthenticationAttemptsCount3d, failedPlaidNonOauthAuthenticationAttemptsCount7d, plaidNonOauthAuthenticationAttemptsCount7d, failedPlaidNonOauthAuthenticationAttemptsCount30d, plaidNonOauthAuthenticationAttemptsCount30d, distinctIpAddressesCount3d, distinctIpAddressesCount7d, distinctIpAddressesCount30d, distinctIpAddressesCount90d, distinctUserAgentsCount3d, distinctUserAgentsCount7d, distinctUserAgentsCount30d, distinctUserAgentsCount90d, addressChangeCount28d, emailChangeCount28d, phoneChangeCount28d, addressChangeCount90d, emailChangeCount90d, phoneChangeCount90d, daysSinceAccountOpening, daysSinceFirstObservedTransaction); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconAccountRiskEvaluateAccountAttributes {\n"); + sb.append(" daysSinceFirstPlaidConnection: ").append(toIndentedString(daysSinceFirstPlaidConnection)).append("\n"); + sb.append(" isAccountClosed: ").append(toIndentedString(isAccountClosed)).append("\n"); + sb.append(" isAccountFrozenOrRestricted: ").append(toIndentedString(isAccountFrozenOrRestricted)).append("\n"); + sb.append(" totalPlaidConnectionsCount: ").append(toIndentedString(totalPlaidConnectionsCount)).append("\n"); + sb.append(" plaidConnectionsCount7d: ").append(toIndentedString(plaidConnectionsCount7d)).append("\n"); + sb.append(" plaidConnectionsCount30d: ").append(toIndentedString(plaidConnectionsCount30d)).append("\n"); + sb.append(" failedPlaidNonOauthAuthenticationAttemptsCount3d: ").append(toIndentedString(failedPlaidNonOauthAuthenticationAttemptsCount3d)).append("\n"); + sb.append(" plaidNonOauthAuthenticationAttemptsCount3d: ").append(toIndentedString(plaidNonOauthAuthenticationAttemptsCount3d)).append("\n"); + sb.append(" failedPlaidNonOauthAuthenticationAttemptsCount7d: ").append(toIndentedString(failedPlaidNonOauthAuthenticationAttemptsCount7d)).append("\n"); + sb.append(" plaidNonOauthAuthenticationAttemptsCount7d: ").append(toIndentedString(plaidNonOauthAuthenticationAttemptsCount7d)).append("\n"); + sb.append(" failedPlaidNonOauthAuthenticationAttemptsCount30d: ").append(toIndentedString(failedPlaidNonOauthAuthenticationAttemptsCount30d)).append("\n"); + sb.append(" plaidNonOauthAuthenticationAttemptsCount30d: ").append(toIndentedString(plaidNonOauthAuthenticationAttemptsCount30d)).append("\n"); + sb.append(" distinctIpAddressesCount3d: ").append(toIndentedString(distinctIpAddressesCount3d)).append("\n"); + sb.append(" distinctIpAddressesCount7d: ").append(toIndentedString(distinctIpAddressesCount7d)).append("\n"); + sb.append(" distinctIpAddressesCount30d: ").append(toIndentedString(distinctIpAddressesCount30d)).append("\n"); + sb.append(" distinctIpAddressesCount90d: ").append(toIndentedString(distinctIpAddressesCount90d)).append("\n"); + sb.append(" distinctUserAgentsCount3d: ").append(toIndentedString(distinctUserAgentsCount3d)).append("\n"); + sb.append(" distinctUserAgentsCount7d: ").append(toIndentedString(distinctUserAgentsCount7d)).append("\n"); + sb.append(" distinctUserAgentsCount30d: ").append(toIndentedString(distinctUserAgentsCount30d)).append("\n"); + sb.append(" distinctUserAgentsCount90d: ").append(toIndentedString(distinctUserAgentsCount90d)).append("\n"); + sb.append(" addressChangeCount28d: ").append(toIndentedString(addressChangeCount28d)).append("\n"); + sb.append(" emailChangeCount28d: ").append(toIndentedString(emailChangeCount28d)).append("\n"); + sb.append(" phoneChangeCount28d: ").append(toIndentedString(phoneChangeCount28d)).append("\n"); + sb.append(" addressChangeCount90d: ").append(toIndentedString(addressChangeCount90d)).append("\n"); + sb.append(" emailChangeCount90d: ").append(toIndentedString(emailChangeCount90d)).append("\n"); + sb.append(" phoneChangeCount90d: ").append(toIndentedString(phoneChangeCount90d)).append("\n"); + sb.append(" daysSinceAccountOpening: ").append(toIndentedString(daysSinceAccountOpening)).append("\n"); + sb.append(" daysSinceFirstObservedTransaction: ").append(toIndentedString(daysSinceFirstObservedTransaction)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateEvaluationReason.java b/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateEvaluationReason.java new file mode 100644 index 0000000000..622027005b --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateEvaluationReason.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Description of the reason you want to evaluate risk. `ONBOARDING`: user links a first bank account as part of the onboarding flow of your platform. `NEW_ACCOUNT`: user links another bank account or replaces the currently linked bank account on your platform. `INFORMATION_CHANGE`: user changes their information on your platform, e.g., updating their phone number. `DORMANT_USER`: you decide to re-evaluate a user that becomes active after a period of inactivity. `OTHER`: any other reasons not listed here Possible values: `ONBOARDING`, `NEW_ACCOUNT`, `INFORMATION_CHANGE`, `DORMANT_USER`, `OTHER` + */ +@JsonAdapter(BeaconAccountRiskEvaluateEvaluationReason.Adapter.class) +public enum BeaconAccountRiskEvaluateEvaluationReason { + + ONBOARDING("ONBOARDING"), + + NEW_ACCOUNT("NEW_ACCOUNT"), + + INFORMATION_CHANGE("INFORMATION_CHANGE"), + + DORMANT_USER("DORMANT_USER"), + + OTHER("OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BeaconAccountRiskEvaluateEvaluationReason(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BeaconAccountRiskEvaluateEvaluationReason fromValue(String value) { + for (BeaconAccountRiskEvaluateEvaluationReason b : BeaconAccountRiskEvaluateEvaluationReason.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BeaconAccountRiskEvaluateEvaluationReason.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BeaconAccountRiskEvaluateEvaluationReason enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BeaconAccountRiskEvaluateEvaluationReason read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BeaconAccountRiskEvaluateEvaluationReason.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateRequest.java b/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateRequest.java new file mode 100644 index 0000000000..2b0c4eee41 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateRequest.java @@ -0,0 +1,334 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconAccountRiskEvaluateEvaluationReason; +import com.plaid.client.model.BeaconAccountRiskEvaluateRequestOptions; +import com.plaid.client.model.SignalDevice; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * BeaconAccountRiskEvaluateRequest defines the request schema for `/beacon/account_risk/v1/evaluate` + */ +@ApiModel(description = "BeaconAccountRiskEvaluateRequest defines the request schema for `/beacon/account_risk/v1/evaluate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconAccountRiskEvaluateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private BeaconAccountRiskEvaluateRequestOptions options; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CLIENT_EVALUATION_ID = "client_evaluation_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_EVALUATION_ID) + private String clientEvaluationId; + + public static final String SERIALIZED_NAME_EVALUATION_REASON = "evaluation_reason"; + @SerializedName(SERIALIZED_NAME_EVALUATION_REASON) + private BeaconAccountRiskEvaluateEvaluationReason evaluationReason; + + public static final String SERIALIZED_NAME_DEVICE = "device"; + @SerializedName(SERIALIZED_NAME_DEVICE) + private SignalDevice device; + + public static final String SERIALIZED_NAME_EVALUATE_TIME = "evaluate_time"; + @SerializedName(SERIALIZED_NAME_EVALUATE_TIME) + private String evaluateTime; + + + public BeaconAccountRiskEvaluateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BeaconAccountRiskEvaluateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BeaconAccountRiskEvaluateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public BeaconAccountRiskEvaluateRequest options(BeaconAccountRiskEvaluateRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BeaconAccountRiskEvaluateRequestOptions getOptions() { + return options; + } + + + public void setOptions(BeaconAccountRiskEvaluateRequestOptions options) { + this.options = options; + } + + + public BeaconAccountRiskEvaluateRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. This ID is used to correlate requests by a user with multiple evaluations and/or multiple linked accounts. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique ID that identifies the end user in your system. This ID is used to correlate requests by a user with multiple evaluations and/or multiple linked accounts. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public BeaconAccountRiskEvaluateRequest clientEvaluationId(String clientEvaluationId) { + + this.clientEvaluationId = clientEvaluationId; + return this; + } + + /** + * Unique identifier of what you are looking to evaluate (account add, information change, etc.) to allow us to tie the activity to the decisions and possible fraud outcome sent via our feedback endpoints. You can use your internal request ID or similar. + * @return clientEvaluationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Unique identifier of what you are looking to evaluate (account add, information change, etc.) to allow us to tie the activity to the decisions and possible fraud outcome sent via our feedback endpoints. You can use your internal request ID or similar.") + + public String getClientEvaluationId() { + return clientEvaluationId; + } + + + public void setClientEvaluationId(String clientEvaluationId) { + this.clientEvaluationId = clientEvaluationId; + } + + + public BeaconAccountRiskEvaluateRequest evaluationReason(BeaconAccountRiskEvaluateEvaluationReason evaluationReason) { + + this.evaluationReason = evaluationReason; + return this; + } + + /** + * Get evaluationReason + * @return evaluationReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BeaconAccountRiskEvaluateEvaluationReason getEvaluationReason() { + return evaluationReason; + } + + + public void setEvaluationReason(BeaconAccountRiskEvaluateEvaluationReason evaluationReason) { + this.evaluationReason = evaluationReason; + } + + + public BeaconAccountRiskEvaluateRequest device(SignalDevice device) { + + this.device = device; + return this; + } + + /** + * Get device + * @return device + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalDevice getDevice() { + return device; + } + + + public void setDevice(SignalDevice device) { + this.device = device; + } + + + public BeaconAccountRiskEvaluateRequest evaluateTime(String evaluateTime) { + + this.evaluateTime = evaluateTime; + return this; + } + + /** + * The time the event for evaluation has occurred. Populate this field for backfilling data. If you don't populate this field, we'll use the timestamp at the time of receipt. Use ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ). + * @return evaluateTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The time the event for evaluation has occurred. Populate this field for backfilling data. If you don't populate this field, we'll use the timestamp at the time of receipt. Use ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ).") + + public String getEvaluateTime() { + return evaluateTime; + } + + + public void setEvaluateTime(String evaluateTime) { + this.evaluateTime = evaluateTime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconAccountRiskEvaluateRequest beaconAccountRiskEvaluateRequest = (BeaconAccountRiskEvaluateRequest) o; + return Objects.equals(this.clientId, beaconAccountRiskEvaluateRequest.clientId) && + Objects.equals(this.secret, beaconAccountRiskEvaluateRequest.secret) && + Objects.equals(this.accessToken, beaconAccountRiskEvaluateRequest.accessToken) && + Objects.equals(this.options, beaconAccountRiskEvaluateRequest.options) && + Objects.equals(this.clientUserId, beaconAccountRiskEvaluateRequest.clientUserId) && + Objects.equals(this.clientEvaluationId, beaconAccountRiskEvaluateRequest.clientEvaluationId) && + Objects.equals(this.evaluationReason, beaconAccountRiskEvaluateRequest.evaluationReason) && + Objects.equals(this.device, beaconAccountRiskEvaluateRequest.device) && + Objects.equals(this.evaluateTime, beaconAccountRiskEvaluateRequest.evaluateTime); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, options, clientUserId, clientEvaluationId, evaluationReason, device, evaluateTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconAccountRiskEvaluateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" clientEvaluationId: ").append(toIndentedString(clientEvaluationId)).append("\n"); + sb.append(" evaluationReason: ").append(toIndentedString(evaluationReason)).append("\n"); + sb.append(" device: ").append(toIndentedString(device)).append("\n"); + sb.append(" evaluateTime: ").append(toIndentedString(evaluateTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateRequestOptions.java b/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateRequestOptions.java new file mode 100644 index 0000000000..3f2827f37d --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to filter `/beacon/account_risk/v1/evaluate` results to a subset of the accounts on the linked Item. + */ +@ApiModel(description = "An optional object to filter `/beacon/account_risk/v1/evaluate` results to a subset of the accounts on the linked Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconAccountRiskEvaluateRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + + public BeaconAccountRiskEvaluateRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public BeaconAccountRiskEvaluateRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * An array of `account_ids` for the specific accounts to evaluate. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of `account_ids` for the specific accounts to evaluate.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconAccountRiskEvaluateRequestOptions beaconAccountRiskEvaluateRequestOptions = (BeaconAccountRiskEvaluateRequestOptions) o; + return Objects.equals(this.accountIds, beaconAccountRiskEvaluateRequestOptions.accountIds); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconAccountRiskEvaluateRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateResponse.java b/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateResponse.java new file mode 100644 index 0000000000..7acc4cbe94 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconAccountRiskEvaluateResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconAccountRiskEvaluateAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * BeaconAccountRiskEvaluateResponse defines the response schema for `/beacon/account_risk/v1/evaluate` + */ +@ApiModel(description = "BeaconAccountRiskEvaluateResponse defines the response schema for `/beacon/account_risk/v1/evaluate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconAccountRiskEvaluateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + + public BeaconAccountRiskEvaluateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public BeaconAccountRiskEvaluateResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public BeaconAccountRiskEvaluateResponse addAccountsItem(BeaconAccountRiskEvaluateAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * The accounts for which a risk evaluation has been requested. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "The accounts for which a risk evaluation has been requested.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconAccountRiskEvaluateResponse beaconAccountRiskEvaluateResponse = (BeaconAccountRiskEvaluateResponse) o; + return Objects.equals(this.requestId, beaconAccountRiskEvaluateResponse.requestId) && + Objects.equals(this.accounts, beaconAccountRiskEvaluateResponse.accounts); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, accounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconAccountRiskEvaluateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconAuditTrail.java b/src/main/java/com/plaid/client/model/BeaconAuditTrail.java new file mode 100644 index 0000000000..4a1bd4f9ce --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconAuditTrail.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconAuditTrailSource; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the last change made to the parent object specifying what caused the change as well as when it occurred. + */ +@ApiModel(description = "Information about the last change made to the parent object specifying what caused the change as well as when it occurred.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconAuditTrail { + public static final String SERIALIZED_NAME_SOURCE = "source"; + @SerializedName(SERIALIZED_NAME_SOURCE) + private BeaconAuditTrailSource source; + + public static final String SERIALIZED_NAME_DASHBOARD_USER_ID = "dashboard_user_id"; + @SerializedName(SERIALIZED_NAME_DASHBOARD_USER_ID) + private String dashboardUserId; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private java.sql.Timestamp timestamp; + + + public BeaconAuditTrail source(BeaconAuditTrailSource source) { + + this.source = source; + return this; + } + + /** + * Get source + * @return source + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconAuditTrailSource getSource() { + return source; + } + + + public void setSource(BeaconAuditTrailSource source) { + this.source = source; + } + + + public BeaconAuditTrail dashboardUserId(String dashboardUserId) { + + this.dashboardUserId = dashboardUserId; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return dashboardUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", required = true, value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getDashboardUserId() { + return dashboardUserId; + } + + + public void setDashboardUserId(String dashboardUserId) { + this.dashboardUserId = dashboardUserId; + } + + + public BeaconAuditTrail timestamp(java.sql.Timestamp timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * Get timestamp + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getTimestamp() { + return timestamp; + } + + + public void setTimestamp(java.sql.Timestamp timestamp) { + this.timestamp = timestamp; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconAuditTrail beaconAuditTrail = (BeaconAuditTrail) o; + return Objects.equals(this.source, beaconAuditTrail.source) && + Objects.equals(this.dashboardUserId, beaconAuditTrail.dashboardUserId) && + Objects.equals(this.timestamp, beaconAuditTrail.timestamp); + } + + @Override + public int hashCode() { + return Objects.hash(source, dashboardUserId, timestamp); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconAuditTrail {\n"); + sb.append(" source: ").append(toIndentedString(source)).append("\n"); + sb.append(" dashboardUserId: ").append(toIndentedString(dashboardUserId)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconAuditTrailSource.java b/src/main/java/com/plaid/client/model/BeaconAuditTrailSource.java new file mode 100644 index 0000000000..7aedbcd51d --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconAuditTrailSource.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A type indicating what caused a resource to be changed or updated. `dashboard` - The resource was created or updated by a member of your team via the Plaid dashboard. `api` - The resource was created or updated via the Plaid API. `system` - The resource was created or updated automatically by a part of the Plaid Beacon system. For example, if another business using Plaid Beacon created a fraud report that matched one of your users, your matching user's status would automatically be updated and the audit trail source would be `system`. `bulk_import` - The resource was created or updated as part of a bulk import process. For example, if your company provided a CSV of user data as part of your initial onboarding, the audit trail source would be `bulk_import`. + */ +@JsonAdapter(BeaconAuditTrailSource.Adapter.class) +public enum BeaconAuditTrailSource { + + DASHBOARD("dashboard"), + + API("api"), + + SYSTEM("system"), + + BULK_IMPORT("bulk_import"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BeaconAuditTrailSource(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BeaconAuditTrailSource fromValue(String value) { + for (BeaconAuditTrailSource b : BeaconAuditTrailSource.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BeaconAuditTrailSource.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BeaconAuditTrailSource enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BeaconAuditTrailSource read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BeaconAuditTrailSource.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BeaconBankAccountInsights.java b/src/main/java/com/plaid/client/model/BeaconBankAccountInsights.java new file mode 100644 index 0000000000..13e1b262fe --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconBankAccountInsights.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.BeaconAccountRiskAttributes; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Bank Account Insights encapsulate the risk insights for a single Bank Account linked to an Item that is associated with a Beacon User. + */ +@ApiModel(description = "Bank Account Insights encapsulate the risk insights for a single Bank Account linked to an Item that is associated with a Beacon User.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconBankAccountInsights { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private BeaconAccountRiskAttributes attributes; + + + public BeaconBankAccountInsights accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` + * @return accountId + **/ + @ApiModelProperty(example = "blgvvBlXw3cq5GMPwqB6s6q4dLKB9WcVqGDGo", required = true, value = "The Plaid `account_id`") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public BeaconBankAccountInsights type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public BeaconBankAccountInsights subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public BeaconBankAccountInsights attributes(BeaconAccountRiskAttributes attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconAccountRiskAttributes getAttributes() { + return attributes; + } + + + public void setAttributes(BeaconAccountRiskAttributes attributes) { + this.attributes = attributes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconBankAccountInsights beaconBankAccountInsights = (BeaconBankAccountInsights) o; + return Objects.equals(this.accountId, beaconBankAccountInsights.accountId) && + Objects.equals(this.type, beaconBankAccountInsights.type) && + Objects.equals(this.subtype, beaconBankAccountInsights.subtype) && + Objects.equals(this.attributes, beaconBankAccountInsights.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, type, subtype, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconBankAccountInsights {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconBankAccounts.java b/src/main/java/com/plaid/client/model/BeaconBankAccounts.java new file mode 100644 index 0000000000..6bdebe88a7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconBankAccounts.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconBankAccountInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A collection of Bank Accounts linked to an Item that is associated with this Beacon User. + */ +@ApiModel(description = "A collection of Bank Accounts linked to an Item that is associated with this Beacon User.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconBankAccounts { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + + public BeaconBankAccounts itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Item ID the Bank Accounts belong to. + * @return itemId + **/ + @ApiModelProperty(example = "515cd85321d3649aecddc015", required = true, value = "The Plaid Item ID the Bank Accounts belong to.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public BeaconBankAccounts accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public BeaconBankAccounts addAccountsItem(BeaconBankAccountInsights accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * Get accounts + * @return accounts + **/ + @ApiModelProperty(required = true, value = "") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconBankAccounts beaconBankAccounts = (BeaconBankAccounts) o; + return Objects.equals(this.itemId, beaconBankAccounts.itemId) && + Objects.equals(this.accounts, beaconBankAccounts.accounts); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, accounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconBankAccounts {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconDuplicateDetectedWebhook.java b/src/main/java/com/plaid/client/model/BeaconDuplicateDetectedWebhook.java new file mode 100644 index 0000000000..b059a7b272 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconDuplicateDetectedWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when a Beacon User created within your organization matches one of your existing users. + */ +@ApiModel(description = "Fired when a Beacon User created within your organization matches one of your existing users.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconDuplicateDetectedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_BEACON_DUPLICATE_ID = "beacon_duplicate_id"; + @SerializedName(SERIALIZED_NAME_BEACON_DUPLICATE_ID) + private String beaconDuplicateId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public BeaconDuplicateDetectedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `BEACON` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`BEACON`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public BeaconDuplicateDetectedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `DUPLICATE_DETECTED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`DUPLICATE_DETECTED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public BeaconDuplicateDetectedWebhook beaconDuplicateId(String beaconDuplicateId) { + + this.beaconDuplicateId = beaconDuplicateId; + return this; + } + + /** + * The ID of the associated Beacon Duplicate. + * @return beaconDuplicateId + **/ + @ApiModelProperty(required = true, value = "The ID of the associated Beacon Duplicate.") + + public String getBeaconDuplicateId() { + return beaconDuplicateId; + } + + + public void setBeaconDuplicateId(String beaconDuplicateId) { + this.beaconDuplicateId = beaconDuplicateId; + } + + + public BeaconDuplicateDetectedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconDuplicateDetectedWebhook beaconDuplicateDetectedWebhook = (BeaconDuplicateDetectedWebhook) o; + return Objects.equals(this.webhookType, beaconDuplicateDetectedWebhook.webhookType) && + Objects.equals(this.webhookCode, beaconDuplicateDetectedWebhook.webhookCode) && + Objects.equals(this.beaconDuplicateId, beaconDuplicateDetectedWebhook.beaconDuplicateId) && + Objects.equals(this.environment, beaconDuplicateDetectedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, beaconDuplicateId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconDuplicateDetectedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" beaconDuplicateId: ").append(toIndentedString(beaconDuplicateId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconDuplicateGetRequest.java b/src/main/java/com/plaid/client/model/BeaconDuplicateGetRequest.java new file mode 100644 index 0000000000..d11fc9475f --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconDuplicateGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for getting a Beacon Duplicate + */ +@ApiModel(description = "Request input for getting a Beacon Duplicate") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconDuplicateGetRequest { + public static final String SERIALIZED_NAME_BEACON_DUPLICATE_ID = "beacon_duplicate_id"; + @SerializedName(SERIALIZED_NAME_BEACON_DUPLICATE_ID) + private String beaconDuplicateId; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BeaconDuplicateGetRequest beaconDuplicateId(String beaconDuplicateId) { + + this.beaconDuplicateId = beaconDuplicateId; + return this; + } + + /** + * ID of the associated Beacon Duplicate. + * @return beaconDuplicateId + **/ + @ApiModelProperty(example = "becdup_11111111111111", required = true, value = "ID of the associated Beacon Duplicate.") + + public String getBeaconDuplicateId() { + return beaconDuplicateId; + } + + + public void setBeaconDuplicateId(String beaconDuplicateId) { + this.beaconDuplicateId = beaconDuplicateId; + } + + + public BeaconDuplicateGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BeaconDuplicateGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconDuplicateGetRequest beaconDuplicateGetRequest = (BeaconDuplicateGetRequest) o; + return Objects.equals(this.beaconDuplicateId, beaconDuplicateGetRequest.beaconDuplicateId) && + Objects.equals(this.clientId, beaconDuplicateGetRequest.clientId) && + Objects.equals(this.secret, beaconDuplicateGetRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(beaconDuplicateId, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconDuplicateGetRequest {\n"); + sb.append(" beaconDuplicateId: ").append(toIndentedString(beaconDuplicateId)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconDuplicateGetResponse.java b/src/main/java/com/plaid/client/model/BeaconDuplicateGetResponse.java new file mode 100644 index 0000000000..7328ce731f --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconDuplicateGetResponse.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconMatchSummaryAnalysis; +import com.plaid.client.model.BeaconUserRevision; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A Beacon Duplicate represents a pair of matching Beacon Users and an analysis of the fields they matched on. + */ +@ApiModel(description = "A Beacon Duplicate represents a pair of matching Beacon Users and an analysis of the fields they matched on.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconDuplicateGetResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_BEACON_USER1 = "beacon_user1"; + @SerializedName(SERIALIZED_NAME_BEACON_USER1) + private BeaconUserRevision beaconUser1; + + public static final String SERIALIZED_NAME_BEACON_USER2 = "beacon_user2"; + @SerializedName(SERIALIZED_NAME_BEACON_USER2) + private BeaconUserRevision beaconUser2; + + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private BeaconMatchSummaryAnalysis analysis; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BeaconDuplicateGetResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Beacon Duplicate. + * @return id + **/ + @ApiModelProperty(example = "becdup_11111111111111", required = true, value = "ID of the associated Beacon Duplicate.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BeaconDuplicateGetResponse beaconUser1(BeaconUserRevision beaconUser1) { + + this.beaconUser1 = beaconUser1; + return this; + } + + /** + * Get beaconUser1 + * @return beaconUser1 + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserRevision getBeaconUser1() { + return beaconUser1; + } + + + public void setBeaconUser1(BeaconUserRevision beaconUser1) { + this.beaconUser1 = beaconUser1; + } + + + public BeaconDuplicateGetResponse beaconUser2(BeaconUserRevision beaconUser2) { + + this.beaconUser2 = beaconUser2; + return this; + } + + /** + * Get beaconUser2 + * @return beaconUser2 + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserRevision getBeaconUser2() { + return beaconUser2; + } + + + public void setBeaconUser2(BeaconUserRevision beaconUser2) { + this.beaconUser2 = beaconUser2; + } + + + public BeaconDuplicateGetResponse analysis(BeaconMatchSummaryAnalysis analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryAnalysis getAnalysis() { + return analysis; + } + + + public void setAnalysis(BeaconMatchSummaryAnalysis analysis) { + this.analysis = analysis; + } + + + public BeaconDuplicateGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconDuplicateGetResponse beaconDuplicateGetResponse = (BeaconDuplicateGetResponse) o; + return Objects.equals(this.id, beaconDuplicateGetResponse.id) && + Objects.equals(this.beaconUser1, beaconDuplicateGetResponse.beaconUser1) && + Objects.equals(this.beaconUser2, beaconDuplicateGetResponse.beaconUser2) && + Objects.equals(this.analysis, beaconDuplicateGetResponse.analysis) && + Objects.equals(this.requestId, beaconDuplicateGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, beaconUser1, beaconUser2, analysis, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconDuplicateGetResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" beaconUser1: ").append(toIndentedString(beaconUser1)).append("\n"); + sb.append(" beaconUser2: ").append(toIndentedString(beaconUser2)).append("\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconMatchSummaryAnalysis.java b/src/main/java/com/plaid/client/model/BeaconMatchSummaryAnalysis.java new file mode 100644 index 0000000000..f0e91eb1eb --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconMatchSummaryAnalysis.java @@ -0,0 +1,267 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconMatchSummaryCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analysis of which fields matched between one Beacon User and another. + */ +@ApiModel(description = "Analysis of which fields matched between one Beacon User and another.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconMatchSummaryAnalysis { + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private BeaconMatchSummaryCode address; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private BeaconMatchSummaryCode dateOfBirth; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private BeaconMatchSummaryCode emailAddress; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private BeaconMatchSummaryCode name; + + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private BeaconMatchSummaryCode idNumber; + + public static final String SERIALIZED_NAME_IP_ADDRESS = "ip_address"; + @SerializedName(SERIALIZED_NAME_IP_ADDRESS) + private BeaconMatchSummaryCode ipAddress; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private BeaconMatchSummaryCode phoneNumber; + + + public BeaconMatchSummaryAnalysis address(BeaconMatchSummaryCode address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getAddress() { + return address; + } + + + public void setAddress(BeaconMatchSummaryCode address) { + this.address = address; + } + + + public BeaconMatchSummaryAnalysis dateOfBirth(BeaconMatchSummaryCode dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * Get dateOfBirth + * @return dateOfBirth + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(BeaconMatchSummaryCode dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public BeaconMatchSummaryAnalysis emailAddress(BeaconMatchSummaryCode emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * Get emailAddress + * @return emailAddress + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(BeaconMatchSummaryCode emailAddress) { + this.emailAddress = emailAddress; + } + + + public BeaconMatchSummaryAnalysis name(BeaconMatchSummaryCode name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getName() { + return name; + } + + + public void setName(BeaconMatchSummaryCode name) { + this.name = name; + } + + + public BeaconMatchSummaryAnalysis idNumber(BeaconMatchSummaryCode idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Get idNumber + * @return idNumber + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getIdNumber() { + return idNumber; + } + + + public void setIdNumber(BeaconMatchSummaryCode idNumber) { + this.idNumber = idNumber; + } + + + public BeaconMatchSummaryAnalysis ipAddress(BeaconMatchSummaryCode ipAddress) { + + this.ipAddress = ipAddress; + return this; + } + + /** + * Get ipAddress + * @return ipAddress + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getIpAddress() { + return ipAddress; + } + + + public void setIpAddress(BeaconMatchSummaryCode ipAddress) { + this.ipAddress = ipAddress; + } + + + public BeaconMatchSummaryAnalysis phoneNumber(BeaconMatchSummaryCode phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * Get phoneNumber + * @return phoneNumber + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(BeaconMatchSummaryCode phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconMatchSummaryAnalysis beaconMatchSummaryAnalysis = (BeaconMatchSummaryAnalysis) o; + return Objects.equals(this.address, beaconMatchSummaryAnalysis.address) && + Objects.equals(this.dateOfBirth, beaconMatchSummaryAnalysis.dateOfBirth) && + Objects.equals(this.emailAddress, beaconMatchSummaryAnalysis.emailAddress) && + Objects.equals(this.name, beaconMatchSummaryAnalysis.name) && + Objects.equals(this.idNumber, beaconMatchSummaryAnalysis.idNumber) && + Objects.equals(this.ipAddress, beaconMatchSummaryAnalysis.ipAddress) && + Objects.equals(this.phoneNumber, beaconMatchSummaryAnalysis.phoneNumber); + } + + @Override + public int hashCode() { + return Objects.hash(address, dateOfBirth, emailAddress, name, idNumber, ipAddress, phoneNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconMatchSummaryAnalysis {\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append(" ipAddress: ").append(toIndentedString(ipAddress)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconMatchSummaryCode.java b/src/main/java/com/plaid/client/model/BeaconMatchSummaryCode.java new file mode 100644 index 0000000000..9cee3d1146 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconMatchSummaryCode.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An enum indicating the match type between two Beacon Users. `match` indicates that the provided input data was a strong match against the other Beacon User. `partial_match` indicates the data approximately matched the other Beacon User. For example, \"Knope\" vs. \"Knope-Wyatt\" for last name. `no_match` indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data. `no_data` indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users. + */ +@JsonAdapter(BeaconMatchSummaryCode.Adapter.class) +public enum BeaconMatchSummaryCode { + + MATCH("match"), + + PARTIAL_MATCH("partial_match"), + + NO_MATCH("no_match"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BeaconMatchSummaryCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BeaconMatchSummaryCode fromValue(String value) { + for (BeaconMatchSummaryCode b : BeaconMatchSummaryCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BeaconMatchSummaryCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BeaconMatchSummaryCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BeaconMatchSummaryCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BeaconMatchSummaryCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReport.java b/src/main/java/com/plaid/client/model/BeaconReport.java new file mode 100644 index 0000000000..d2b3508133 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReport.java @@ -0,0 +1,300 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconAuditTrail; +import com.plaid.client.model.BeaconReportType; +import com.plaid.client.model.FraudAmount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * A Beacon Report describes the type of fraud committed by a user as well as the date the fraud was committed and the total amount of money lost due to the fraud incident. This information is used to block similar fraud attempts on your platform as well as alert other companies who screen a user with matching identity information. Other companies will not receive any new identity information, just what matched, plus information such as industry, type of fraud, and date of fraud. You can manage your fraud reports by adding, deleting, or editing reports as you get additional information on fraudulent users. + */ +@ApiModel(description = "A Beacon Report describes the type of fraud committed by a user as well as the date the fraud was committed and the total amount of money lost due to the fraud incident. This information is used to block similar fraud attempts on your platform as well as alert other companies who screen a user with matching identity information. Other companies will not receive any new identity information, just what matched, plus information such as industry, type of fraud, and date of fraud. You can manage your fraud reports by adding, deleting, or editing reports as you get additional information on fraudulent users.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReport { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private BeaconReportType type; + + public static final String SERIALIZED_NAME_FRAUD_DATE = "fraud_date"; + @SerializedName(SERIALIZED_NAME_FRAUD_DATE) + private LocalDate fraudDate; + + public static final String SERIALIZED_NAME_EVENT_DATE = "event_date"; + @SerializedName(SERIALIZED_NAME_EVENT_DATE) + private LocalDate eventDate; + + public static final String SERIALIZED_NAME_FRAUD_AMOUNT = "fraud_amount"; + @SerializedName(SERIALIZED_NAME_FRAUD_AMOUNT) + private FraudAmount fraudAmount; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private BeaconAuditTrail auditTrail; + + + public BeaconReport id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Beacon Report. + * @return id + **/ + @ApiModelProperty(example = "becrpt_11111111111111", required = true, value = "ID of the associated Beacon Report.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BeaconReport beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconReport createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public BeaconReport type(BeaconReportType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconReportType getType() { + return type; + } + + + public void setType(BeaconReportType type) { + this.type = type; + } + + + public BeaconReport fraudDate(LocalDate fraudDate) { + + this.fraudDate = fraudDate; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return fraudDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getFraudDate() { + return fraudDate; + } + + + public void setFraudDate(LocalDate fraudDate) { + this.fraudDate = fraudDate; + } + + + public BeaconReport eventDate(LocalDate eventDate) { + + this.eventDate = eventDate; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return eventDate + **/ + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getEventDate() { + return eventDate; + } + + + public void setEventDate(LocalDate eventDate) { + this.eventDate = eventDate; + } + + + public BeaconReport fraudAmount(FraudAmount fraudAmount) { + + this.fraudAmount = fraudAmount; + return this; + } + + /** + * Get fraudAmount + * @return fraudAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public FraudAmount getFraudAmount() { + return fraudAmount; + } + + + public void setFraudAmount(FraudAmount fraudAmount) { + this.fraudAmount = fraudAmount; + } + + + public BeaconReport auditTrail(BeaconAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(BeaconAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReport beaconReport = (BeaconReport) o; + return Objects.equals(this.id, beaconReport.id) && + Objects.equals(this.beaconUserId, beaconReport.beaconUserId) && + Objects.equals(this.createdAt, beaconReport.createdAt) && + Objects.equals(this.type, beaconReport.type) && + Objects.equals(this.fraudDate, beaconReport.fraudDate) && + Objects.equals(this.eventDate, beaconReport.eventDate) && + Objects.equals(this.fraudAmount, beaconReport.fraudAmount) && + Objects.equals(this.auditTrail, beaconReport.auditTrail); + } + + @Override + public int hashCode() { + return Objects.hash(id, beaconUserId, createdAt, type, fraudDate, eventDate, fraudAmount, auditTrail); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReport {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" fraudDate: ").append(toIndentedString(fraudDate)).append("\n"); + sb.append(" eventDate: ").append(toIndentedString(eventDate)).append("\n"); + sb.append(" fraudAmount: ").append(toIndentedString(fraudAmount)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportCreateRequest.java b/src/main/java/com/plaid/client/model/BeaconReportCreateRequest.java new file mode 100644 index 0000000000..55b64234ea --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportCreateRequest.java @@ -0,0 +1,244 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconReportCreateType; +import com.plaid.client.model.FraudAmount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Request input for creating a Beacon Report + */ +@ApiModel(description = "Request input for creating a Beacon Report") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportCreateRequest { + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private BeaconReportCreateType type; + + public static final String SERIALIZED_NAME_FRAUD_DATE = "fraud_date"; + @SerializedName(SERIALIZED_NAME_FRAUD_DATE) + private LocalDate fraudDate; + + public static final String SERIALIZED_NAME_FRAUD_AMOUNT = "fraud_amount"; + @SerializedName(SERIALIZED_NAME_FRAUD_AMOUNT) + private FraudAmount fraudAmount; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BeaconReportCreateRequest beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconReportCreateRequest type(BeaconReportCreateType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconReportCreateType getType() { + return type; + } + + + public void setType(BeaconReportCreateType type) { + this.type = type; + } + + + public BeaconReportCreateRequest fraudDate(LocalDate fraudDate) { + + this.fraudDate = fraudDate; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return fraudDate + **/ + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getFraudDate() { + return fraudDate; + } + + + public void setFraudDate(LocalDate fraudDate) { + this.fraudDate = fraudDate; + } + + + public BeaconReportCreateRequest fraudAmount(FraudAmount fraudAmount) { + + this.fraudAmount = fraudAmount; + return this; + } + + /** + * Get fraudAmount + * @return fraudAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public FraudAmount getFraudAmount() { + return fraudAmount; + } + + + public void setFraudAmount(FraudAmount fraudAmount) { + this.fraudAmount = fraudAmount; + } + + + public BeaconReportCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BeaconReportCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportCreateRequest beaconReportCreateRequest = (BeaconReportCreateRequest) o; + return Objects.equals(this.beaconUserId, beaconReportCreateRequest.beaconUserId) && + Objects.equals(this.type, beaconReportCreateRequest.type) && + Objects.equals(this.fraudDate, beaconReportCreateRequest.fraudDate) && + Objects.equals(this.fraudAmount, beaconReportCreateRequest.fraudAmount) && + Objects.equals(this.clientId, beaconReportCreateRequest.clientId) && + Objects.equals(this.secret, beaconReportCreateRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(beaconUserId, type, fraudDate, fraudAmount, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportCreateRequest {\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" fraudDate: ").append(toIndentedString(fraudDate)).append("\n"); + sb.append(" fraudAmount: ").append(toIndentedString(fraudAmount)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportCreateResponse.java b/src/main/java/com/plaid/client/model/BeaconReportCreateResponse.java new file mode 100644 index 0000000000..2c409824d5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportCreateResponse.java @@ -0,0 +1,328 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconAuditTrail; +import com.plaid.client.model.BeaconReportType; +import com.plaid.client.model.FraudAmount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * A Beacon Report describes the type of fraud committed by a user as well as the date the fraud was committed and the total amount of money lost due to the fraud incident. This information is used to block similar fraud attempts on your platform as well as alert other companies who screen a user with matching identity information. Other companies will not receive any new identity information, just what matched, plus information such as industry, type of fraud, and date of fraud. You can manage your fraud reports by adding, deleting, or editing reports as you get additional information on fraudulent users. + */ +@ApiModel(description = "A Beacon Report describes the type of fraud committed by a user as well as the date the fraud was committed and the total amount of money lost due to the fraud incident. This information is used to block similar fraud attempts on your platform as well as alert other companies who screen a user with matching identity information. Other companies will not receive any new identity information, just what matched, plus information such as industry, type of fraud, and date of fraud. You can manage your fraud reports by adding, deleting, or editing reports as you get additional information on fraudulent users.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportCreateResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private BeaconReportType type; + + public static final String SERIALIZED_NAME_FRAUD_DATE = "fraud_date"; + @SerializedName(SERIALIZED_NAME_FRAUD_DATE) + private LocalDate fraudDate; + + public static final String SERIALIZED_NAME_EVENT_DATE = "event_date"; + @SerializedName(SERIALIZED_NAME_EVENT_DATE) + private LocalDate eventDate; + + public static final String SERIALIZED_NAME_FRAUD_AMOUNT = "fraud_amount"; + @SerializedName(SERIALIZED_NAME_FRAUD_AMOUNT) + private FraudAmount fraudAmount; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private BeaconAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BeaconReportCreateResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Beacon Report. + * @return id + **/ + @ApiModelProperty(example = "becrpt_11111111111111", required = true, value = "ID of the associated Beacon Report.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BeaconReportCreateResponse beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconReportCreateResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public BeaconReportCreateResponse type(BeaconReportType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconReportType getType() { + return type; + } + + + public void setType(BeaconReportType type) { + this.type = type; + } + + + public BeaconReportCreateResponse fraudDate(LocalDate fraudDate) { + + this.fraudDate = fraudDate; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return fraudDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getFraudDate() { + return fraudDate; + } + + + public void setFraudDate(LocalDate fraudDate) { + this.fraudDate = fraudDate; + } + + + public BeaconReportCreateResponse eventDate(LocalDate eventDate) { + + this.eventDate = eventDate; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return eventDate + **/ + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getEventDate() { + return eventDate; + } + + + public void setEventDate(LocalDate eventDate) { + this.eventDate = eventDate; + } + + + public BeaconReportCreateResponse fraudAmount(FraudAmount fraudAmount) { + + this.fraudAmount = fraudAmount; + return this; + } + + /** + * Get fraudAmount + * @return fraudAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public FraudAmount getFraudAmount() { + return fraudAmount; + } + + + public void setFraudAmount(FraudAmount fraudAmount) { + this.fraudAmount = fraudAmount; + } + + + public BeaconReportCreateResponse auditTrail(BeaconAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(BeaconAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public BeaconReportCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportCreateResponse beaconReportCreateResponse = (BeaconReportCreateResponse) o; + return Objects.equals(this.id, beaconReportCreateResponse.id) && + Objects.equals(this.beaconUserId, beaconReportCreateResponse.beaconUserId) && + Objects.equals(this.createdAt, beaconReportCreateResponse.createdAt) && + Objects.equals(this.type, beaconReportCreateResponse.type) && + Objects.equals(this.fraudDate, beaconReportCreateResponse.fraudDate) && + Objects.equals(this.eventDate, beaconReportCreateResponse.eventDate) && + Objects.equals(this.fraudAmount, beaconReportCreateResponse.fraudAmount) && + Objects.equals(this.auditTrail, beaconReportCreateResponse.auditTrail) && + Objects.equals(this.requestId, beaconReportCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, beaconUserId, createdAt, type, fraudDate, eventDate, fraudAmount, auditTrail, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportCreateResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" fraudDate: ").append(toIndentedString(fraudDate)).append("\n"); + sb.append(" eventDate: ").append(toIndentedString(eventDate)).append("\n"); + sb.append(" fraudAmount: ").append(toIndentedString(fraudAmount)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportCreateType.java b/src/main/java/com/plaid/client/model/BeaconReportCreateType.java new file mode 100644 index 0000000000..3b342ebd73 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportCreateType.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of Beacon Report. `first_party`: If this is the same individual as the one who submitted the KYC. `stolen`: If this is a different individual from the one who submitted the KYC. `synthetic`: If this is an individual using fabricated information. `account_takeover`: If this individual's account was compromised. `unknown`: If you aren't sure who committed the fraud. + */ +@JsonAdapter(BeaconReportCreateType.Adapter.class) +public enum BeaconReportCreateType { + + FIRST_PARTY("first_party"), + + STOLEN("stolen"), + + SYNTHETIC("synthetic"), + + ACCOUNT_TAKEOVER("account_takeover"), + + DATA_BREACH("data_breach"), + + UNKNOWN("unknown"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BeaconReportCreateType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BeaconReportCreateType fromValue(String value) { + for (BeaconReportCreateType b : BeaconReportCreateType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BeaconReportCreateType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BeaconReportCreateType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BeaconReportCreateType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BeaconReportCreateType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportCreatedWebhook.java b/src/main/java/com/plaid/client/model/BeaconReportCreatedWebhook.java new file mode 100644 index 0000000000..575847b440 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportCreatedWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when one of your Beacon Users is first reported to the Beacon network. + */ +@ApiModel(description = "Fired when one of your Beacon Users is first reported to the Beacon network.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportCreatedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_BEACON_REPORT_ID = "beacon_report_id"; + @SerializedName(SERIALIZED_NAME_BEACON_REPORT_ID) + private String beaconReportId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public BeaconReportCreatedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `BEACON` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`BEACON`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public BeaconReportCreatedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `REPORT_CREATED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`REPORT_CREATED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public BeaconReportCreatedWebhook beaconReportId(String beaconReportId) { + + this.beaconReportId = beaconReportId; + return this; + } + + /** + * The ID of the associated Beacon Report. + * @return beaconReportId + **/ + @ApiModelProperty(required = true, value = "The ID of the associated Beacon Report.") + + public String getBeaconReportId() { + return beaconReportId; + } + + + public void setBeaconReportId(String beaconReportId) { + this.beaconReportId = beaconReportId; + } + + + public BeaconReportCreatedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportCreatedWebhook beaconReportCreatedWebhook = (BeaconReportCreatedWebhook) o; + return Objects.equals(this.webhookType, beaconReportCreatedWebhook.webhookType) && + Objects.equals(this.webhookCode, beaconReportCreatedWebhook.webhookCode) && + Objects.equals(this.beaconReportId, beaconReportCreatedWebhook.beaconReportId) && + Objects.equals(this.environment, beaconReportCreatedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, beaconReportId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportCreatedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" beaconReportId: ").append(toIndentedString(beaconReportId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportGetRequest.java b/src/main/java/com/plaid/client/model/BeaconReportGetRequest.java new file mode 100644 index 0000000000..15fd1dcd0a --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for getting a Beacon Report + */ +@ApiModel(description = "Request input for getting a Beacon Report") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportGetRequest { + public static final String SERIALIZED_NAME_BEACON_REPORT_ID = "beacon_report_id"; + @SerializedName(SERIALIZED_NAME_BEACON_REPORT_ID) + private String beaconReportId; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BeaconReportGetRequest beaconReportId(String beaconReportId) { + + this.beaconReportId = beaconReportId; + return this; + } + + /** + * ID of the associated Beacon Report. + * @return beaconReportId + **/ + @ApiModelProperty(example = "becrpt_11111111111111", required = true, value = "ID of the associated Beacon Report.") + + public String getBeaconReportId() { + return beaconReportId; + } + + + public void setBeaconReportId(String beaconReportId) { + this.beaconReportId = beaconReportId; + } + + + public BeaconReportGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BeaconReportGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportGetRequest beaconReportGetRequest = (BeaconReportGetRequest) o; + return Objects.equals(this.beaconReportId, beaconReportGetRequest.beaconReportId) && + Objects.equals(this.clientId, beaconReportGetRequest.clientId) && + Objects.equals(this.secret, beaconReportGetRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(beaconReportId, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportGetRequest {\n"); + sb.append(" beaconReportId: ").append(toIndentedString(beaconReportId)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportGetResponse.java b/src/main/java/com/plaid/client/model/BeaconReportGetResponse.java new file mode 100644 index 0000000000..1f19be7a03 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportGetResponse.java @@ -0,0 +1,328 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconAuditTrail; +import com.plaid.client.model.BeaconReportType; +import com.plaid.client.model.FraudAmount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * A Beacon Report describes the type of fraud committed by a user as well as the date the fraud was committed and the total amount of money lost due to the fraud incident. This information is used to block similar fraud attempts on your platform as well as alert other companies who screen a user with matching identity information. Other companies will not receive any new identity information, just what matched, plus information such as industry, type of fraud, and date of fraud. You can manage your fraud reports by adding, deleting, or editing reports as you get additional information on fraudulent users. + */ +@ApiModel(description = "A Beacon Report describes the type of fraud committed by a user as well as the date the fraud was committed and the total amount of money lost due to the fraud incident. This information is used to block similar fraud attempts on your platform as well as alert other companies who screen a user with matching identity information. Other companies will not receive any new identity information, just what matched, plus information such as industry, type of fraud, and date of fraud. You can manage your fraud reports by adding, deleting, or editing reports as you get additional information on fraudulent users.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportGetResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private BeaconReportType type; + + public static final String SERIALIZED_NAME_FRAUD_DATE = "fraud_date"; + @SerializedName(SERIALIZED_NAME_FRAUD_DATE) + private LocalDate fraudDate; + + public static final String SERIALIZED_NAME_EVENT_DATE = "event_date"; + @SerializedName(SERIALIZED_NAME_EVENT_DATE) + private LocalDate eventDate; + + public static final String SERIALIZED_NAME_FRAUD_AMOUNT = "fraud_amount"; + @SerializedName(SERIALIZED_NAME_FRAUD_AMOUNT) + private FraudAmount fraudAmount; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private BeaconAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BeaconReportGetResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Beacon Report. + * @return id + **/ + @ApiModelProperty(example = "becrpt_11111111111111", required = true, value = "ID of the associated Beacon Report.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BeaconReportGetResponse beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconReportGetResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public BeaconReportGetResponse type(BeaconReportType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconReportType getType() { + return type; + } + + + public void setType(BeaconReportType type) { + this.type = type; + } + + + public BeaconReportGetResponse fraudDate(LocalDate fraudDate) { + + this.fraudDate = fraudDate; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return fraudDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getFraudDate() { + return fraudDate; + } + + + public void setFraudDate(LocalDate fraudDate) { + this.fraudDate = fraudDate; + } + + + public BeaconReportGetResponse eventDate(LocalDate eventDate) { + + this.eventDate = eventDate; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return eventDate + **/ + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getEventDate() { + return eventDate; + } + + + public void setEventDate(LocalDate eventDate) { + this.eventDate = eventDate; + } + + + public BeaconReportGetResponse fraudAmount(FraudAmount fraudAmount) { + + this.fraudAmount = fraudAmount; + return this; + } + + /** + * Get fraudAmount + * @return fraudAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public FraudAmount getFraudAmount() { + return fraudAmount; + } + + + public void setFraudAmount(FraudAmount fraudAmount) { + this.fraudAmount = fraudAmount; + } + + + public BeaconReportGetResponse auditTrail(BeaconAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(BeaconAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public BeaconReportGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportGetResponse beaconReportGetResponse = (BeaconReportGetResponse) o; + return Objects.equals(this.id, beaconReportGetResponse.id) && + Objects.equals(this.beaconUserId, beaconReportGetResponse.beaconUserId) && + Objects.equals(this.createdAt, beaconReportGetResponse.createdAt) && + Objects.equals(this.type, beaconReportGetResponse.type) && + Objects.equals(this.fraudDate, beaconReportGetResponse.fraudDate) && + Objects.equals(this.eventDate, beaconReportGetResponse.eventDate) && + Objects.equals(this.fraudAmount, beaconReportGetResponse.fraudAmount) && + Objects.equals(this.auditTrail, beaconReportGetResponse.auditTrail) && + Objects.equals(this.requestId, beaconReportGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, beaconUserId, createdAt, type, fraudDate, eventDate, fraudAmount, auditTrail, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportGetResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" fraudDate: ").append(toIndentedString(fraudDate)).append("\n"); + sb.append(" eventDate: ").append(toIndentedString(eventDate)).append("\n"); + sb.append(" fraudAmount: ").append(toIndentedString(fraudAmount)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportListRequest.java b/src/main/java/com/plaid/client/model/BeaconReportListRequest.java new file mode 100644 index 0000000000..258580fce8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportListRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing Beacon Reports + */ +@ApiModel(description = "Request input for listing Beacon Reports") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportListRequest { + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BeaconReportListRequest beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconReportListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + public BeaconReportListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BeaconReportListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportListRequest beaconReportListRequest = (BeaconReportListRequest) o; + return Objects.equals(this.beaconUserId, beaconReportListRequest.beaconUserId) && + Objects.equals(this.cursor, beaconReportListRequest.cursor) && + Objects.equals(this.clientId, beaconReportListRequest.clientId) && + Objects.equals(this.secret, beaconReportListRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(beaconUserId, cursor, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportListRequest {\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportListResponse.java b/src/main/java/com/plaid/client/model/BeaconReportListResponse.java new file mode 100644 index 0000000000..0cce99c167 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The response schema for `/beacon/report/list` + */ +@ApiModel(description = "The response schema for `/beacon/report/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportListResponse { + public static final String SERIALIZED_NAME_BEACON_REPORTS = "beacon_reports"; + @SerializedName(SERIALIZED_NAME_BEACON_REPORTS) + private List beaconReports = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BeaconReportListResponse beaconReports(List beaconReports) { + + this.beaconReports = beaconReports; + return this; + } + + public BeaconReportListResponse addBeaconReportsItem(BeaconReport beaconReportsItem) { + this.beaconReports.add(beaconReportsItem); + return this; + } + + /** + * Get beaconReports + * @return beaconReports + **/ + @ApiModelProperty(required = true, value = "") + + public List getBeaconReports() { + return beaconReports; + } + + + public void setBeaconReports(List beaconReports) { + this.beaconReports = beaconReports; + } + + + public BeaconReportListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public BeaconReportListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportListResponse beaconReportListResponse = (BeaconReportListResponse) o; + return Objects.equals(this.beaconReports, beaconReportListResponse.beaconReports) && + Objects.equals(this.nextCursor, beaconReportListResponse.nextCursor) && + Objects.equals(this.requestId, beaconReportListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(beaconReports, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportListResponse {\n"); + sb.append(" beaconReports: ").append(toIndentedString(beaconReports)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportSyndication.java b/src/main/java/com/plaid/client/model/BeaconReportSyndication.java new file mode 100644 index 0000000000..0734f144b4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportSyndication.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconReportSyndicationAnalysis; +import com.plaid.client.model.BeaconReportSyndicationOriginalReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A Beacon Report Syndication represents a Beacon Report created either by your organization or another Beacon customer that matches a specific Beacon User you've created. The `analysis` field in the response indicates which fields matched between the originally reported Beacon User and the Beacon User that the report was syndicated to. The `report` field in the response contains a subset of information from the original report. + */ +@ApiModel(description = "A Beacon Report Syndication represents a Beacon Report created either by your organization or another Beacon customer that matches a specific Beacon User you've created. The `analysis` field in the response indicates which fields matched between the originally reported Beacon User and the Beacon User that the report was syndicated to. The `report` field in the response contains a subset of information from the original report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportSyndication { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_REPORT = "report"; + @SerializedName(SERIALIZED_NAME_REPORT) + private BeaconReportSyndicationOriginalReport report; + + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private BeaconReportSyndicationAnalysis analysis; + + + public BeaconReportSyndication id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Beacon Report Syndication. + * @return id + **/ + @ApiModelProperty(example = "becrsn_11111111111111", required = true, value = "ID of the associated Beacon Report Syndication.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BeaconReportSyndication beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconReportSyndication report(BeaconReportSyndicationOriginalReport report) { + + this.report = report; + return this; + } + + /** + * Get report + * @return report + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconReportSyndicationOriginalReport getReport() { + return report; + } + + + public void setReport(BeaconReportSyndicationOriginalReport report) { + this.report = report; + } + + + public BeaconReportSyndication analysis(BeaconReportSyndicationAnalysis analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconReportSyndicationAnalysis getAnalysis() { + return analysis; + } + + + public void setAnalysis(BeaconReportSyndicationAnalysis analysis) { + this.analysis = analysis; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportSyndication beaconReportSyndication = (BeaconReportSyndication) o; + return Objects.equals(this.id, beaconReportSyndication.id) && + Objects.equals(this.beaconUserId, beaconReportSyndication.beaconUserId) && + Objects.equals(this.report, beaconReportSyndication.report) && + Objects.equals(this.analysis, beaconReportSyndication.analysis); + } + + @Override + public int hashCode() { + return Objects.hash(id, beaconUserId, report, analysis); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportSyndication {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" report: ").append(toIndentedString(report)).append("\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportSyndicationAnalysis.java b/src/main/java/com/plaid/client/model/BeaconReportSyndicationAnalysis.java new file mode 100644 index 0000000000..3fbe3b0ca0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportSyndicationAnalysis.java @@ -0,0 +1,303 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconMatchSummaryCode; +import com.plaid.client.model.BeaconSyndicatedReportDepositoryAccountMatchAnalysis; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Analysis of which fields matched between the originally reported Beacon User and the Beacon User that the report was syndicated to. + */ +@ApiModel(description = "Analysis of which fields matched between the originally reported Beacon User and the Beacon User that the report was syndicated to.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportSyndicationAnalysis { + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private BeaconMatchSummaryCode address; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private BeaconMatchSummaryCode dateOfBirth; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private BeaconMatchSummaryCode emailAddress; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private BeaconMatchSummaryCode name; + + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private BeaconMatchSummaryCode idNumber; + + public static final String SERIALIZED_NAME_IP_ADDRESS = "ip_address"; + @SerializedName(SERIALIZED_NAME_IP_ADDRESS) + private BeaconMatchSummaryCode ipAddress; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private BeaconMatchSummaryCode phoneNumber; + + public static final String SERIALIZED_NAME_DEPOSITORY_ACCOUNTS = "depository_accounts"; + @SerializedName(SERIALIZED_NAME_DEPOSITORY_ACCOUNTS) + private List depositoryAccounts = new ArrayList<>(); + + + public BeaconReportSyndicationAnalysis address(BeaconMatchSummaryCode address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getAddress() { + return address; + } + + + public void setAddress(BeaconMatchSummaryCode address) { + this.address = address; + } + + + public BeaconReportSyndicationAnalysis dateOfBirth(BeaconMatchSummaryCode dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * Get dateOfBirth + * @return dateOfBirth + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(BeaconMatchSummaryCode dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public BeaconReportSyndicationAnalysis emailAddress(BeaconMatchSummaryCode emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * Get emailAddress + * @return emailAddress + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(BeaconMatchSummaryCode emailAddress) { + this.emailAddress = emailAddress; + } + + + public BeaconReportSyndicationAnalysis name(BeaconMatchSummaryCode name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getName() { + return name; + } + + + public void setName(BeaconMatchSummaryCode name) { + this.name = name; + } + + + public BeaconReportSyndicationAnalysis idNumber(BeaconMatchSummaryCode idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Get idNumber + * @return idNumber + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getIdNumber() { + return idNumber; + } + + + public void setIdNumber(BeaconMatchSummaryCode idNumber) { + this.idNumber = idNumber; + } + + + public BeaconReportSyndicationAnalysis ipAddress(BeaconMatchSummaryCode ipAddress) { + + this.ipAddress = ipAddress; + return this; + } + + /** + * Get ipAddress + * @return ipAddress + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getIpAddress() { + return ipAddress; + } + + + public void setIpAddress(BeaconMatchSummaryCode ipAddress) { + this.ipAddress = ipAddress; + } + + + public BeaconReportSyndicationAnalysis phoneNumber(BeaconMatchSummaryCode phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * Get phoneNumber + * @return phoneNumber + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(BeaconMatchSummaryCode phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public BeaconReportSyndicationAnalysis depositoryAccounts(List depositoryAccounts) { + + this.depositoryAccounts = depositoryAccounts; + return this; + } + + public BeaconReportSyndicationAnalysis addDepositoryAccountsItem(BeaconSyndicatedReportDepositoryAccountMatchAnalysis depositoryAccountsItem) { + this.depositoryAccounts.add(depositoryAccountsItem); + return this; + } + + /** + * Get depositoryAccounts + * @return depositoryAccounts + **/ + @ApiModelProperty(required = true, value = "") + + public List getDepositoryAccounts() { + return depositoryAccounts; + } + + + public void setDepositoryAccounts(List depositoryAccounts) { + this.depositoryAccounts = depositoryAccounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportSyndicationAnalysis beaconReportSyndicationAnalysis = (BeaconReportSyndicationAnalysis) o; + return Objects.equals(this.address, beaconReportSyndicationAnalysis.address) && + Objects.equals(this.dateOfBirth, beaconReportSyndicationAnalysis.dateOfBirth) && + Objects.equals(this.emailAddress, beaconReportSyndicationAnalysis.emailAddress) && + Objects.equals(this.name, beaconReportSyndicationAnalysis.name) && + Objects.equals(this.idNumber, beaconReportSyndicationAnalysis.idNumber) && + Objects.equals(this.ipAddress, beaconReportSyndicationAnalysis.ipAddress) && + Objects.equals(this.phoneNumber, beaconReportSyndicationAnalysis.phoneNumber) && + Objects.equals(this.depositoryAccounts, beaconReportSyndicationAnalysis.depositoryAccounts); + } + + @Override + public int hashCode() { + return Objects.hash(address, dateOfBirth, emailAddress, name, idNumber, ipAddress, phoneNumber, depositoryAccounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportSyndicationAnalysis {\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append(" ipAddress: ").append(toIndentedString(ipAddress)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" depositoryAccounts: ").append(toIndentedString(depositoryAccounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportSyndicationCreatedWebhook.java b/src/main/java/com/plaid/client/model/BeaconReportSyndicationCreatedWebhook.java new file mode 100644 index 0000000000..58f1fa36d6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportSyndicationCreatedWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when a report created on the Beacon Network matches with one of your Beacon Users. + */ +@ApiModel(description = "Fired when a report created on the Beacon Network matches with one of your Beacon Users.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportSyndicationCreatedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_BEACON_REPORT_SYNDICATION_ID = "beacon_report_syndication_id"; + @SerializedName(SERIALIZED_NAME_BEACON_REPORT_SYNDICATION_ID) + private String beaconReportSyndicationId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public BeaconReportSyndicationCreatedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `BEACON` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`BEACON`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public BeaconReportSyndicationCreatedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `REPORT_SYNDICATION_CREATED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`REPORT_SYNDICATION_CREATED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public BeaconReportSyndicationCreatedWebhook beaconReportSyndicationId(String beaconReportSyndicationId) { + + this.beaconReportSyndicationId = beaconReportSyndicationId; + return this; + } + + /** + * The ID of the associated Beacon Report Syndication. + * @return beaconReportSyndicationId + **/ + @ApiModelProperty(required = true, value = "The ID of the associated Beacon Report Syndication.") + + public String getBeaconReportSyndicationId() { + return beaconReportSyndicationId; + } + + + public void setBeaconReportSyndicationId(String beaconReportSyndicationId) { + this.beaconReportSyndicationId = beaconReportSyndicationId; + } + + + public BeaconReportSyndicationCreatedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportSyndicationCreatedWebhook beaconReportSyndicationCreatedWebhook = (BeaconReportSyndicationCreatedWebhook) o; + return Objects.equals(this.webhookType, beaconReportSyndicationCreatedWebhook.webhookType) && + Objects.equals(this.webhookCode, beaconReportSyndicationCreatedWebhook.webhookCode) && + Objects.equals(this.beaconReportSyndicationId, beaconReportSyndicationCreatedWebhook.beaconReportSyndicationId) && + Objects.equals(this.environment, beaconReportSyndicationCreatedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, beaconReportSyndicationId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportSyndicationCreatedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" beaconReportSyndicationId: ").append(toIndentedString(beaconReportSyndicationId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportSyndicationGetRequest.java b/src/main/java/com/plaid/client/model/BeaconReportSyndicationGetRequest.java new file mode 100644 index 0000000000..3a8c261f08 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportSyndicationGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for getting a Beacon Report Syndication + */ +@ApiModel(description = "Request input for getting a Beacon Report Syndication") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportSyndicationGetRequest { + public static final String SERIALIZED_NAME_BEACON_REPORT_SYNDICATION_ID = "beacon_report_syndication_id"; + @SerializedName(SERIALIZED_NAME_BEACON_REPORT_SYNDICATION_ID) + private String beaconReportSyndicationId; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BeaconReportSyndicationGetRequest beaconReportSyndicationId(String beaconReportSyndicationId) { + + this.beaconReportSyndicationId = beaconReportSyndicationId; + return this; + } + + /** + * ID of the associated Beacon Report Syndication. + * @return beaconReportSyndicationId + **/ + @ApiModelProperty(example = "becrsn_11111111111111", required = true, value = "ID of the associated Beacon Report Syndication.") + + public String getBeaconReportSyndicationId() { + return beaconReportSyndicationId; + } + + + public void setBeaconReportSyndicationId(String beaconReportSyndicationId) { + this.beaconReportSyndicationId = beaconReportSyndicationId; + } + + + public BeaconReportSyndicationGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BeaconReportSyndicationGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportSyndicationGetRequest beaconReportSyndicationGetRequest = (BeaconReportSyndicationGetRequest) o; + return Objects.equals(this.beaconReportSyndicationId, beaconReportSyndicationGetRequest.beaconReportSyndicationId) && + Objects.equals(this.clientId, beaconReportSyndicationGetRequest.clientId) && + Objects.equals(this.secret, beaconReportSyndicationGetRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(beaconReportSyndicationId, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportSyndicationGetRequest {\n"); + sb.append(" beaconReportSyndicationId: ").append(toIndentedString(beaconReportSyndicationId)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportSyndicationGetResponse.java b/src/main/java/com/plaid/client/model/BeaconReportSyndicationGetResponse.java new file mode 100644 index 0000000000..13a12ea977 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportSyndicationGetResponse.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconReportSyndicationAnalysis; +import com.plaid.client.model.BeaconReportSyndicationOriginalReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A Beacon Report Syndication represents a Beacon Report created either by your organization or another Beacon customer that matches a specific Beacon User you've created. The `analysis` field in the response indicates which fields matched between the originally reported Beacon User and the Beacon User that the report was syndicated to. The `report` field in the response contains a subset of information from the original report. + */ +@ApiModel(description = "A Beacon Report Syndication represents a Beacon Report created either by your organization or another Beacon customer that matches a specific Beacon User you've created. The `analysis` field in the response indicates which fields matched between the originally reported Beacon User and the Beacon User that the report was syndicated to. The `report` field in the response contains a subset of information from the original report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportSyndicationGetResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_REPORT = "report"; + @SerializedName(SERIALIZED_NAME_REPORT) + private BeaconReportSyndicationOriginalReport report; + + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private BeaconReportSyndicationAnalysis analysis; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BeaconReportSyndicationGetResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Beacon Report Syndication. + * @return id + **/ + @ApiModelProperty(example = "becrsn_11111111111111", required = true, value = "ID of the associated Beacon Report Syndication.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BeaconReportSyndicationGetResponse beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconReportSyndicationGetResponse report(BeaconReportSyndicationOriginalReport report) { + + this.report = report; + return this; + } + + /** + * Get report + * @return report + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconReportSyndicationOriginalReport getReport() { + return report; + } + + + public void setReport(BeaconReportSyndicationOriginalReport report) { + this.report = report; + } + + + public BeaconReportSyndicationGetResponse analysis(BeaconReportSyndicationAnalysis analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconReportSyndicationAnalysis getAnalysis() { + return analysis; + } + + + public void setAnalysis(BeaconReportSyndicationAnalysis analysis) { + this.analysis = analysis; + } + + + public BeaconReportSyndicationGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportSyndicationGetResponse beaconReportSyndicationGetResponse = (BeaconReportSyndicationGetResponse) o; + return Objects.equals(this.id, beaconReportSyndicationGetResponse.id) && + Objects.equals(this.beaconUserId, beaconReportSyndicationGetResponse.beaconUserId) && + Objects.equals(this.report, beaconReportSyndicationGetResponse.report) && + Objects.equals(this.analysis, beaconReportSyndicationGetResponse.analysis) && + Objects.equals(this.requestId, beaconReportSyndicationGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, beaconUserId, report, analysis, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportSyndicationGetResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" report: ").append(toIndentedString(report)).append("\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportSyndicationListRequest.java b/src/main/java/com/plaid/client/model/BeaconReportSyndicationListRequest.java new file mode 100644 index 0000000000..4ea767e649 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportSyndicationListRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing Beacon Report Syndications + */ +@ApiModel(description = "Request input for listing Beacon Report Syndications") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportSyndicationListRequest { + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BeaconReportSyndicationListRequest beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconReportSyndicationListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + public BeaconReportSyndicationListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BeaconReportSyndicationListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportSyndicationListRequest beaconReportSyndicationListRequest = (BeaconReportSyndicationListRequest) o; + return Objects.equals(this.beaconUserId, beaconReportSyndicationListRequest.beaconUserId) && + Objects.equals(this.cursor, beaconReportSyndicationListRequest.cursor) && + Objects.equals(this.clientId, beaconReportSyndicationListRequest.clientId) && + Objects.equals(this.secret, beaconReportSyndicationListRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(beaconUserId, cursor, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportSyndicationListRequest {\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportSyndicationListResponse.java b/src/main/java/com/plaid/client/model/BeaconReportSyndicationListResponse.java new file mode 100644 index 0000000000..df61505500 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportSyndicationListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconReportSyndication; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The response schema for `/beacon/report_syndication/list` + */ +@ApiModel(description = "The response schema for `/beacon/report_syndication/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportSyndicationListResponse { + public static final String SERIALIZED_NAME_BEACON_REPORT_SYNDICATIONS = "beacon_report_syndications"; + @SerializedName(SERIALIZED_NAME_BEACON_REPORT_SYNDICATIONS) + private List beaconReportSyndications = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BeaconReportSyndicationListResponse beaconReportSyndications(List beaconReportSyndications) { + + this.beaconReportSyndications = beaconReportSyndications; + return this; + } + + public BeaconReportSyndicationListResponse addBeaconReportSyndicationsItem(BeaconReportSyndication beaconReportSyndicationsItem) { + this.beaconReportSyndications.add(beaconReportSyndicationsItem); + return this; + } + + /** + * Get beaconReportSyndications + * @return beaconReportSyndications + **/ + @ApiModelProperty(required = true, value = "") + + public List getBeaconReportSyndications() { + return beaconReportSyndications; + } + + + public void setBeaconReportSyndications(List beaconReportSyndications) { + this.beaconReportSyndications = beaconReportSyndications; + } + + + public BeaconReportSyndicationListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public BeaconReportSyndicationListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportSyndicationListResponse beaconReportSyndicationListResponse = (BeaconReportSyndicationListResponse) o; + return Objects.equals(this.beaconReportSyndications, beaconReportSyndicationListResponse.beaconReportSyndications) && + Objects.equals(this.nextCursor, beaconReportSyndicationListResponse.nextCursor) && + Objects.equals(this.requestId, beaconReportSyndicationListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(beaconReportSyndications, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportSyndicationListResponse {\n"); + sb.append(" beaconReportSyndications: ").append(toIndentedString(beaconReportSyndications)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportSyndicationOriginalReport.java b/src/main/java/com/plaid/client/model/BeaconReportSyndicationOriginalReport.java new file mode 100644 index 0000000000..40f32c71f9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportSyndicationOriginalReport.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconReportType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * A subset of information from a Beacon Report that has been syndicated to a matching Beacon User in your program. The `id` field in the response is the ID of the original report that was syndicated. If the original report was created by your organization, the field will be filled with the ID of the report. Otherwise, the field will be `null` indicating that the original report was created by another Beacon customer. + */ +@ApiModel(description = "A subset of information from a Beacon Report that has been syndicated to a matching Beacon User in your program. The `id` field in the response is the ID of the original report that was syndicated. If the original report was created by your organization, the field will be filled with the ID of the report. Otherwise, the field will be `null` indicating that the original report was created by another Beacon customer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportSyndicationOriginalReport { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private BeaconReportType type; + + public static final String SERIALIZED_NAME_FRAUD_DATE = "fraud_date"; + @SerializedName(SERIALIZED_NAME_FRAUD_DATE) + private LocalDate fraudDate; + + public static final String SERIALIZED_NAME_EVENT_DATE = "event_date"; + @SerializedName(SERIALIZED_NAME_EVENT_DATE) + private LocalDate eventDate; + + + public BeaconReportSyndicationOriginalReport id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Beacon Report. + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "becrpt_11111111111111", required = true, value = "ID of the associated Beacon Report.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BeaconReportSyndicationOriginalReport createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public BeaconReportSyndicationOriginalReport type(BeaconReportType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconReportType getType() { + return type; + } + + + public void setType(BeaconReportType type) { + this.type = type; + } + + + public BeaconReportSyndicationOriginalReport fraudDate(LocalDate fraudDate) { + + this.fraudDate = fraudDate; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return fraudDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getFraudDate() { + return fraudDate; + } + + + public void setFraudDate(LocalDate fraudDate) { + this.fraudDate = fraudDate; + } + + + public BeaconReportSyndicationOriginalReport eventDate(LocalDate eventDate) { + + this.eventDate = eventDate; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return eventDate + **/ + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getEventDate() { + return eventDate; + } + + + public void setEventDate(LocalDate eventDate) { + this.eventDate = eventDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportSyndicationOriginalReport beaconReportSyndicationOriginalReport = (BeaconReportSyndicationOriginalReport) o; + return Objects.equals(this.id, beaconReportSyndicationOriginalReport.id) && + Objects.equals(this.createdAt, beaconReportSyndicationOriginalReport.createdAt) && + Objects.equals(this.type, beaconReportSyndicationOriginalReport.type) && + Objects.equals(this.fraudDate, beaconReportSyndicationOriginalReport.fraudDate) && + Objects.equals(this.eventDate, beaconReportSyndicationOriginalReport.eventDate); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdAt, type, fraudDate, eventDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportSyndicationOriginalReport {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" fraudDate: ").append(toIndentedString(fraudDate)).append("\n"); + sb.append(" eventDate: ").append(toIndentedString(eventDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportType.java b/src/main/java/com/plaid/client/model/BeaconReportType.java new file mode 100644 index 0000000000..b24e682df0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportType.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of Beacon Report. `first_party`: If this is the same individual as the one who submitted the KYC. `stolen`: If this is a different individual from the one who submitted the KYC. `synthetic`: If this is an individual using fabricated information. `account_takeover`: If this individual's account was compromised. `data_breach`: If this individual's data was compromised in a breach. `unknown`: If you aren't sure who committed the fraud. + */ +@JsonAdapter(BeaconReportType.Adapter.class) +public enum BeaconReportType { + + FIRST_PARTY("first_party"), + + STOLEN("stolen"), + + SYNTHETIC("synthetic"), + + ACCOUNT_TAKEOVER("account_takeover"), + + DATA_BREACH("data_breach"), + + UNKNOWN("unknown"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BeaconReportType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BeaconReportType fromValue(String value) { + for (BeaconReportType b : BeaconReportType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BeaconReportType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BeaconReportType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BeaconReportType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BeaconReportType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BeaconReportUpdatedWebhook.java b/src/main/java/com/plaid/client/model/BeaconReportUpdatedWebhook.java new file mode 100644 index 0000000000..881878baa2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconReportUpdatedWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when one of your existing Beacon Reports has been modified or removed from the Beacon Network. + */ +@ApiModel(description = "Fired when one of your existing Beacon Reports has been modified or removed from the Beacon Network.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconReportUpdatedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_BEACON_REPORT_ID = "beacon_report_id"; + @SerializedName(SERIALIZED_NAME_BEACON_REPORT_ID) + private String beaconReportId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public BeaconReportUpdatedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `BEACON` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`BEACON`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public BeaconReportUpdatedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `REPORT_UPDATED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`REPORT_UPDATED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public BeaconReportUpdatedWebhook beaconReportId(String beaconReportId) { + + this.beaconReportId = beaconReportId; + return this; + } + + /** + * The ID of the associated Beacon Report. + * @return beaconReportId + **/ + @ApiModelProperty(required = true, value = "The ID of the associated Beacon Report.") + + public String getBeaconReportId() { + return beaconReportId; + } + + + public void setBeaconReportId(String beaconReportId) { + this.beaconReportId = beaconReportId; + } + + + public BeaconReportUpdatedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconReportUpdatedWebhook beaconReportUpdatedWebhook = (BeaconReportUpdatedWebhook) o; + return Objects.equals(this.webhookType, beaconReportUpdatedWebhook.webhookType) && + Objects.equals(this.webhookCode, beaconReportUpdatedWebhook.webhookCode) && + Objects.equals(this.beaconReportId, beaconReportUpdatedWebhook.beaconReportId) && + Objects.equals(this.environment, beaconReportUpdatedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, beaconReportId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconReportUpdatedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" beaconReportId: ").append(toIndentedString(beaconReportId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconSyndicatedReportDepositoryAccountMatchAnalysis.java b/src/main/java/com/plaid/client/model/BeaconSyndicatedReportDepositoryAccountMatchAnalysis.java new file mode 100644 index 0000000000..8ccaeb5392 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconSyndicatedReportDepositoryAccountMatchAnalysis.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconMatchSummaryCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analysis of whether this account matched between the originally reported Beacon User and the Beacon User that the report syndicated to. + */ +@ApiModel(description = "Analysis of whether this account matched between the originally reported Beacon User and the Beacon User that the report syndicated to.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconSyndicatedReportDepositoryAccountMatchAnalysis { + public static final String SERIALIZED_NAME_ACCOUNT_MASK = "account_mask"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_MASK) + private String accountMask; + + public static final String SERIALIZED_NAME_ROUTING_NUMBER = "routing_number"; + @SerializedName(SERIALIZED_NAME_ROUTING_NUMBER) + private String routingNumber; + + public static final String SERIALIZED_NAME_MATCH_STATUS = "match_status"; + @SerializedName(SERIALIZED_NAME_MATCH_STATUS) + private BeaconMatchSummaryCode matchStatus; + + + public BeaconSyndicatedReportDepositoryAccountMatchAnalysis accountMask(String accountMask) { + + this.accountMask = accountMask; + return this; + } + + /** + * The last 2-4 numeric characters of this account's account number. + * @return accountMask + **/ + @ApiModelProperty(example = "4000", required = true, value = "The last 2-4 numeric characters of this account's account number.") + + public String getAccountMask() { + return accountMask; + } + + + public void setAccountMask(String accountMask) { + this.accountMask = accountMask; + } + + + public BeaconSyndicatedReportDepositoryAccountMatchAnalysis routingNumber(String routingNumber) { + + this.routingNumber = routingNumber; + return this; + } + + /** + * The routing number of the account. + * @return routingNumber + **/ + @ApiModelProperty(example = "021000021", required = true, value = "The routing number of the account.") + + public String getRoutingNumber() { + return routingNumber; + } + + + public void setRoutingNumber(String routingNumber) { + this.routingNumber = routingNumber; + } + + + public BeaconSyndicatedReportDepositoryAccountMatchAnalysis matchStatus(BeaconMatchSummaryCode matchStatus) { + + this.matchStatus = matchStatus; + return this; + } + + /** + * Get matchStatus + * @return matchStatus + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconMatchSummaryCode getMatchStatus() { + return matchStatus; + } + + + public void setMatchStatus(BeaconMatchSummaryCode matchStatus) { + this.matchStatus = matchStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconSyndicatedReportDepositoryAccountMatchAnalysis beaconSyndicatedReportDepositoryAccountMatchAnalysis = (BeaconSyndicatedReportDepositoryAccountMatchAnalysis) o; + return Objects.equals(this.accountMask, beaconSyndicatedReportDepositoryAccountMatchAnalysis.accountMask) && + Objects.equals(this.routingNumber, beaconSyndicatedReportDepositoryAccountMatchAnalysis.routingNumber) && + Objects.equals(this.matchStatus, beaconSyndicatedReportDepositoryAccountMatchAnalysis.matchStatus); + } + + @Override + public int hashCode() { + return Objects.hash(accountMask, routingNumber, matchStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconSyndicatedReportDepositoryAccountMatchAnalysis {\n"); + sb.append(" accountMask: ").append(toIndentedString(accountMask)).append("\n"); + sb.append(" routingNumber: ").append(toIndentedString(routingNumber)).append("\n"); + sb.append(" matchStatus: ").append(toIndentedString(matchStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUser.java b/src/main/java/com/plaid/client/model/BeaconUser.java new file mode 100644 index 0000000000..c809d374a4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUser.java @@ -0,0 +1,362 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconAuditTrail; +import com.plaid.client.model.BeaconUserData; +import com.plaid.client.model.BeaconUserStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +/** + * A Beacon User represents an end user that has been scanned against the Beacon Network. + */ +@ApiModel(description = "A Beacon User represents an end user that has been scanned against the Beacon Network.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUser { + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private Set itemIds = new LinkedHashSet<>(); + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private Integer version; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + private OffsetDateTime updatedAt; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private BeaconUserStatus status; + + public static final String SERIALIZED_NAME_PROGRAM_ID = "program_id"; + @SerializedName(SERIALIZED_NAME_PROGRAM_ID) + private String programId; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private BeaconUserData user; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private BeaconAuditTrail auditTrail; + + + public BeaconUser itemIds(Set itemIds) { + + this.itemIds = itemIds; + return this; + } + + public BeaconUser addItemIdsItem(String itemIdsItem) { + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * An array of Plaid Item IDs corresponding to the Accounts associated with this Beacon User. + * @return itemIds + **/ + @ApiModelProperty(example = "[\"515cd85321d3649aecddc015\"]", required = true, value = "An array of Plaid Item IDs corresponding to the Accounts associated with this Beacon User.") + + public Set getItemIds() { + return itemIds; + } + + + public void setItemIds(Set itemIds) { + this.itemIds = itemIds; + } + + + public BeaconUser id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Beacon User. + * @return id + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BeaconUser version(Integer version) { + + this.version = version; + return this; + } + + /** + * The `version` field begins with 1 and increments each time the user is updated. + * @return version + **/ + @ApiModelProperty(example = "1", required = true, value = "The `version` field begins with 1 and increments each time the user is updated.") + + public Integer getVersion() { + return version; + } + + + public void setVersion(Integer version) { + this.version = version; + } + + + public BeaconUser createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public BeaconUser updatedAt(OffsetDateTime updatedAt) { + + this.updatedAt = updatedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. This field indicates the last time the resource was modified. + * @return updatedAt + **/ + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp. This field indicates the last time the resource was modified.") + + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + + public void setUpdatedAt(OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + public BeaconUser status(BeaconUserStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserStatus getStatus() { + return status; + } + + + public void setStatus(BeaconUserStatus status) { + this.status = status; + } + + + public BeaconUser programId(String programId) { + + this.programId = programId; + return this; + } + + /** + * ID of the associated Beacon Program. + * @return programId + **/ + @ApiModelProperty(example = "becprg_11111111111111", required = true, value = "ID of the associated Beacon Program.") + + public String getProgramId() { + return programId; + } + + + public void setProgramId(String programId) { + this.programId = programId; + } + + + public BeaconUser clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public BeaconUser user(BeaconUserData user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserData getUser() { + return user; + } + + + public void setUser(BeaconUserData user) { + this.user = user; + } + + + public BeaconUser auditTrail(BeaconAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(BeaconAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUser beaconUser = (BeaconUser) o; + return Objects.equals(this.itemIds, beaconUser.itemIds) && + Objects.equals(this.id, beaconUser.id) && + Objects.equals(this.version, beaconUser.version) && + Objects.equals(this.createdAt, beaconUser.createdAt) && + Objects.equals(this.updatedAt, beaconUser.updatedAt) && + Objects.equals(this.status, beaconUser.status) && + Objects.equals(this.programId, beaconUser.programId) && + Objects.equals(this.clientUserId, beaconUser.clientUserId) && + Objects.equals(this.user, beaconUser.user) && + Objects.equals(this.auditTrail, beaconUser.auditTrail); + } + + @Override + public int hashCode() { + return Objects.hash(itemIds, id, version, createdAt, updatedAt, status, programId, clientUserId, user, auditTrail); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUser {\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" programId: ").append(toIndentedString(programId)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserAccountInsightsGetRequest.java b/src/main/java/com/plaid/client/model/BeaconUserAccountInsightsGetRequest.java new file mode 100644 index 0000000000..cac82c4064 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserAccountInsightsGetRequest.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for fetching the risk insights for a Beacon User's Bank Accounts + */ +@ApiModel(description = "Request input for fetching the risk insights for a Beacon User's Bank Accounts") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserAccountInsightsGetRequest { + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BeaconUserAccountInsightsGetRequest beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconUserAccountInsightsGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public BeaconUserAccountInsightsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BeaconUserAccountInsightsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserAccountInsightsGetRequest beaconUserAccountInsightsGetRequest = (BeaconUserAccountInsightsGetRequest) o; + return Objects.equals(this.beaconUserId, beaconUserAccountInsightsGetRequest.beaconUserId) && + Objects.equals(this.accessToken, beaconUserAccountInsightsGetRequest.accessToken) && + Objects.equals(this.clientId, beaconUserAccountInsightsGetRequest.clientId) && + Objects.equals(this.secret, beaconUserAccountInsightsGetRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(beaconUserId, accessToken, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserAccountInsightsGetRequest {\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserAccountInsightsGetResponse.java b/src/main/java/com/plaid/client/model/BeaconUserAccountInsightsGetResponse.java new file mode 100644 index 0000000000..8389cdc3ab --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserAccountInsightsGetResponse.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconBankAccounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * The response schema for `/beacon/user/account_insights/get` + */ +@ApiModel(description = "The response schema for `/beacon/user/account_insights/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserAccountInsightsGetResponse { + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + private OffsetDateTime updatedAt; + + public static final String SERIALIZED_NAME_BANK_ACCOUNT_INSIGHTS = "bank_account_insights"; + @SerializedName(SERIALIZED_NAME_BANK_ACCOUNT_INSIGHTS) + private BeaconBankAccounts bankAccountInsights; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BeaconUserAccountInsightsGetResponse beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconUserAccountInsightsGetResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public BeaconUserAccountInsightsGetResponse updatedAt(OffsetDateTime updatedAt) { + + this.updatedAt = updatedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. This field indicates the last time the resource was modified. + * @return updatedAt + **/ + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp. This field indicates the last time the resource was modified.") + + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + + public void setUpdatedAt(OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + public BeaconUserAccountInsightsGetResponse bankAccountInsights(BeaconBankAccounts bankAccountInsights) { + + this.bankAccountInsights = bankAccountInsights; + return this; + } + + /** + * Get bankAccountInsights + * @return bankAccountInsights + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconBankAccounts getBankAccountInsights() { + return bankAccountInsights; + } + + + public void setBankAccountInsights(BeaconBankAccounts bankAccountInsights) { + this.bankAccountInsights = bankAccountInsights; + } + + + public BeaconUserAccountInsightsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserAccountInsightsGetResponse beaconUserAccountInsightsGetResponse = (BeaconUserAccountInsightsGetResponse) o; + return Objects.equals(this.beaconUserId, beaconUserAccountInsightsGetResponse.beaconUserId) && + Objects.equals(this.createdAt, beaconUserAccountInsightsGetResponse.createdAt) && + Objects.equals(this.updatedAt, beaconUserAccountInsightsGetResponse.updatedAt) && + Objects.equals(this.bankAccountInsights, beaconUserAccountInsightsGetResponse.bankAccountInsights) && + Objects.equals(this.requestId, beaconUserAccountInsightsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(beaconUserId, createdAt, updatedAt, bankAccountInsights, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserAccountInsightsGetResponse {\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" bankAccountInsights: ").append(toIndentedString(bankAccountInsights)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserAddress.java b/src/main/java/com/plaid/client/model/BeaconUserAddress.java new file mode 100644 index 0000000000..719f0561d0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserAddress.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Even if an address has been collected, some fields may be null depending on the region's addressing system. For example: Addresses from the United Kingdom will not include a region Addresses from Hong Kong will not include a postal code + */ +@ApiModel(description = "Even if an address has been collected, some fields may be null depending on the region's addressing system. For example: Addresses from the United Kingdom will not include a region Addresses from Hong Kong will not include a postal code") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserAddress { + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_STREET2 = "street2"; + @SerializedName(SERIALIZED_NAME_STREET2) + private String street2; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public BeaconUserAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters. + * @return street + **/ + @ApiModelProperty(example = "123 Main St.", required = true, value = "The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public BeaconUserAddress street2(String street2) { + + this.street2 = street2; + return this; + } + + /** + * Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters. + * @return street2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Unit 42", required = true, value = "Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters.") + + public String getStreet2() { + return street2; + } + + + public void setStreet2(String street2) { + this.street2 = street2; + } + + + public BeaconUserAddress city(String city) { + + this.city = city; + return this; + } + + /** + * City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters. + * @return city + **/ + @ApiModelProperty(example = "Pawnee", required = true, value = "City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public BeaconUserAddress region(String region) { + + this.region = region; + return this; + } + + /** + * A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field. + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "IN", required = true, value = "A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public BeaconUserAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "46001", required = true, value = "The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public BeaconUserAddress country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserAddress beaconUserAddress = (BeaconUserAddress) o; + return Objects.equals(this.street, beaconUserAddress.street) && + Objects.equals(this.street2, beaconUserAddress.street2) && + Objects.equals(this.city, beaconUserAddress.city) && + Objects.equals(this.region, beaconUserAddress.region) && + Objects.equals(this.postalCode, beaconUserAddress.postalCode) && + Objects.equals(this.country, beaconUserAddress.country); + } + + @Override + public int hashCode() { + return Objects.hash(street, street2, city, region, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserAddress {\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" street2: ").append(toIndentedString(street2)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserCreateRequest.java b/src/main/java/com/plaid/client/model/BeaconUserCreateRequest.java new file mode 100644 index 0000000000..fdecc0c902 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserCreateRequest.java @@ -0,0 +1,252 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconUserRequestData; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Request input for creating a Beacon User. The primary use for this endpoint is to add a new end user to Beacon for fraud and duplicate scanning. Some fields are optional, but it is recommended to provide as much information as possible to improve the accuracy of the fraud and duplicate scanning. + */ +@ApiModel(description = "Request input for creating a Beacon User. The primary use for this endpoint is to add a new end user to Beacon for fraud and duplicate scanning. Some fields are optional, but it is recommended to provide as much information as possible to improve the accuracy of the fraud and duplicate scanning.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserCreateRequest { + public static final String SERIALIZED_NAME_PROGRAM_ID = "program_id"; + @SerializedName(SERIALIZED_NAME_PROGRAM_ID) + private String programId; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private BeaconUserRequestData user; + + public static final String SERIALIZED_NAME_ACCESS_TOKENS = "access_tokens"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKENS) + private List accessTokens = null; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BeaconUserCreateRequest programId(String programId) { + + this.programId = programId; + return this; + } + + /** + * ID of the associated Beacon Program. + * @return programId + **/ + @ApiModelProperty(example = "becprg_11111111111111", required = true, value = "ID of the associated Beacon Program.") + + public String getProgramId() { + return programId; + } + + + public void setProgramId(String programId) { + this.programId = programId; + } + + + public BeaconUserCreateRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public BeaconUserCreateRequest user(BeaconUserRequestData user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserRequestData getUser() { + return user; + } + + + public void setUser(BeaconUserRequestData user) { + this.user = user; + } + + + public BeaconUserCreateRequest accessTokens(List accessTokens) { + + this.accessTokens = accessTokens; + return this; + } + + public BeaconUserCreateRequest addAccessTokensItem(String accessTokensItem) { + if (this.accessTokens == null) { + this.accessTokens = new ArrayList<>(); + } + this.accessTokens.add(accessTokensItem); + return this; + } + + /** + * Send this array of access tokens to link accounts to the Beacon User and have them evaluated for Account Insights. A maximum of 50 accounts total can be added to a single Beacon User. + * @return accessTokens + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Send this array of access tokens to link accounts to the Beacon User and have them evaluated for Account Insights. A maximum of 50 accounts total can be added to a single Beacon User.") + + public List getAccessTokens() { + return accessTokens; + } + + + public void setAccessTokens(List accessTokens) { + this.accessTokens = accessTokens; + } + + + public BeaconUserCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BeaconUserCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserCreateRequest beaconUserCreateRequest = (BeaconUserCreateRequest) o; + return Objects.equals(this.programId, beaconUserCreateRequest.programId) && + Objects.equals(this.clientUserId, beaconUserCreateRequest.clientUserId) && + Objects.equals(this.user, beaconUserCreateRequest.user) && + Objects.equals(this.accessTokens, beaconUserCreateRequest.accessTokens) && + Objects.equals(this.clientId, beaconUserCreateRequest.clientId) && + Objects.equals(this.secret, beaconUserCreateRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(programId, clientUserId, user, accessTokens, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserCreateRequest {\n"); + sb.append(" programId: ").append(toIndentedString(programId)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" accessTokens: ").append(toIndentedString(accessTokens)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserCreateResponse.java b/src/main/java/com/plaid/client/model/BeaconUserCreateResponse.java new file mode 100644 index 0000000000..7d7a7f24b2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserCreateResponse.java @@ -0,0 +1,390 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconAuditTrail; +import com.plaid.client.model.BeaconUserData; +import com.plaid.client.model.BeaconUserStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +/** + * A Beacon User represents an end user that has been scanned against the Beacon Network. + */ +@ApiModel(description = "A Beacon User represents an end user that has been scanned against the Beacon Network.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserCreateResponse { + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private Set itemIds = new LinkedHashSet<>(); + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private Integer version; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + private OffsetDateTime updatedAt; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private BeaconUserStatus status; + + public static final String SERIALIZED_NAME_PROGRAM_ID = "program_id"; + @SerializedName(SERIALIZED_NAME_PROGRAM_ID) + private String programId; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private BeaconUserData user; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private BeaconAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BeaconUserCreateResponse itemIds(Set itemIds) { + + this.itemIds = itemIds; + return this; + } + + public BeaconUserCreateResponse addItemIdsItem(String itemIdsItem) { + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * An array of Plaid Item IDs corresponding to the Accounts associated with this Beacon User. + * @return itemIds + **/ + @ApiModelProperty(example = "[\"515cd85321d3649aecddc015\"]", required = true, value = "An array of Plaid Item IDs corresponding to the Accounts associated with this Beacon User.") + + public Set getItemIds() { + return itemIds; + } + + + public void setItemIds(Set itemIds) { + this.itemIds = itemIds; + } + + + public BeaconUserCreateResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Beacon User. + * @return id + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BeaconUserCreateResponse version(Integer version) { + + this.version = version; + return this; + } + + /** + * The `version` field begins with 1 and increments each time the user is updated. + * @return version + **/ + @ApiModelProperty(example = "1", required = true, value = "The `version` field begins with 1 and increments each time the user is updated.") + + public Integer getVersion() { + return version; + } + + + public void setVersion(Integer version) { + this.version = version; + } + + + public BeaconUserCreateResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public BeaconUserCreateResponse updatedAt(OffsetDateTime updatedAt) { + + this.updatedAt = updatedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. This field indicates the last time the resource was modified. + * @return updatedAt + **/ + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp. This field indicates the last time the resource was modified.") + + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + + public void setUpdatedAt(OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + public BeaconUserCreateResponse status(BeaconUserStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserStatus getStatus() { + return status; + } + + + public void setStatus(BeaconUserStatus status) { + this.status = status; + } + + + public BeaconUserCreateResponse programId(String programId) { + + this.programId = programId; + return this; + } + + /** + * ID of the associated Beacon Program. + * @return programId + **/ + @ApiModelProperty(example = "becprg_11111111111111", required = true, value = "ID of the associated Beacon Program.") + + public String getProgramId() { + return programId; + } + + + public void setProgramId(String programId) { + this.programId = programId; + } + + + public BeaconUserCreateResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public BeaconUserCreateResponse user(BeaconUserData user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserData getUser() { + return user; + } + + + public void setUser(BeaconUserData user) { + this.user = user; + } + + + public BeaconUserCreateResponse auditTrail(BeaconAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(BeaconAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public BeaconUserCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserCreateResponse beaconUserCreateResponse = (BeaconUserCreateResponse) o; + return Objects.equals(this.itemIds, beaconUserCreateResponse.itemIds) && + Objects.equals(this.id, beaconUserCreateResponse.id) && + Objects.equals(this.version, beaconUserCreateResponse.version) && + Objects.equals(this.createdAt, beaconUserCreateResponse.createdAt) && + Objects.equals(this.updatedAt, beaconUserCreateResponse.updatedAt) && + Objects.equals(this.status, beaconUserCreateResponse.status) && + Objects.equals(this.programId, beaconUserCreateResponse.programId) && + Objects.equals(this.clientUserId, beaconUserCreateResponse.clientUserId) && + Objects.equals(this.user, beaconUserCreateResponse.user) && + Objects.equals(this.auditTrail, beaconUserCreateResponse.auditTrail) && + Objects.equals(this.requestId, beaconUserCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(itemIds, id, version, createdAt, updatedAt, status, programId, clientUserId, user, auditTrail, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserCreateResponse {\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" programId: ").append(toIndentedString(programId)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserData.java b/src/main/java/com/plaid/client/model/BeaconUserData.java new file mode 100644 index 0000000000..37909a8602 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserData.java @@ -0,0 +1,310 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconUserAddress; +import com.plaid.client.model.BeaconUserDepositoryAccount; +import com.plaid.client.model.BeaconUserIDNumber; +import com.plaid.client.model.BeaconUserName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * A Beacon User's data and resulting analysis when checked against duplicate records and the Beacon Fraud Network. + */ +@ApiModel(description = "A Beacon User's data and resulting analysis when checked against duplicate records and the Beacon Fraud Network.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserData { + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private BeaconUserName name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private BeaconUserAddress address; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private BeaconUserIDNumber idNumber; + + public static final String SERIALIZED_NAME_IP_ADDRESS = "ip_address"; + @SerializedName(SERIALIZED_NAME_IP_ADDRESS) + private String ipAddress; + + public static final String SERIALIZED_NAME_DEPOSITORY_ACCOUNTS = "depository_accounts"; + @SerializedName(SERIALIZED_NAME_DEPOSITORY_ACCOUNTS) + private List depositoryAccounts = new ArrayList<>(); + + + public BeaconUserData dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return dateOfBirth + **/ + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public BeaconUserData name(BeaconUserName name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserName getName() { + return name; + } + + + public void setName(BeaconUserName name) { + this.name = name; + } + + + public BeaconUserData address(BeaconUserAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserAddress getAddress() { + return address; + } + + + public void setAddress(BeaconUserAddress address) { + this.address = address; + } + + + public BeaconUserData emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user@example.com", required = true, value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public BeaconUserData phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A phone number in E.164 format. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+19876543212", required = true, value = "A phone number in E.164 format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public BeaconUserData idNumber(BeaconUserIDNumber idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Get idNumber + * @return idNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BeaconUserIDNumber getIdNumber() { + return idNumber; + } + + + public void setIdNumber(BeaconUserIDNumber idNumber) { + this.idNumber = idNumber; + } + + + public BeaconUserData ipAddress(String ipAddress) { + + this.ipAddress = ipAddress; + return this; + } + + /** + * An IPv4 or IPv6 address. + * @return ipAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "192.0.2.42", required = true, value = "An IPv4 or IPv6 address.") + + public String getIpAddress() { + return ipAddress; + } + + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + + public BeaconUserData depositoryAccounts(List depositoryAccounts) { + + this.depositoryAccounts = depositoryAccounts; + return this; + } + + public BeaconUserData addDepositoryAccountsItem(BeaconUserDepositoryAccount depositoryAccountsItem) { + this.depositoryAccounts.add(depositoryAccountsItem); + return this; + } + + /** + * Get depositoryAccounts + * @return depositoryAccounts + **/ + @ApiModelProperty(required = true, value = "") + + public List getDepositoryAccounts() { + return depositoryAccounts; + } + + + public void setDepositoryAccounts(List depositoryAccounts) { + this.depositoryAccounts = depositoryAccounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserData beaconUserData = (BeaconUserData) o; + return Objects.equals(this.dateOfBirth, beaconUserData.dateOfBirth) && + Objects.equals(this.name, beaconUserData.name) && + Objects.equals(this.address, beaconUserData.address) && + Objects.equals(this.emailAddress, beaconUserData.emailAddress) && + Objects.equals(this.phoneNumber, beaconUserData.phoneNumber) && + Objects.equals(this.idNumber, beaconUserData.idNumber) && + Objects.equals(this.ipAddress, beaconUserData.ipAddress) && + Objects.equals(this.depositoryAccounts, beaconUserData.depositoryAccounts); + } + + @Override + public int hashCode() { + return Objects.hash(dateOfBirth, name, address, emailAddress, phoneNumber, idNumber, ipAddress, depositoryAccounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserData {\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append(" ipAddress: ").append(toIndentedString(ipAddress)).append("\n"); + sb.append(" depositoryAccounts: ").append(toIndentedString(depositoryAccounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserDepositoryAccount.java b/src/main/java/com/plaid/client/model/BeaconUserDepositoryAccount.java new file mode 100644 index 0000000000..0aed9fc18a --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserDepositoryAccount.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Depository account information for the associated user. + */ +@ApiModel(description = "Depository account information for the associated user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserDepositoryAccount { + public static final String SERIALIZED_NAME_ACCOUNT_MASK = "account_mask"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_MASK) + private String accountMask; + + public static final String SERIALIZED_NAME_ROUTING_NUMBER = "routing_number"; + @SerializedName(SERIALIZED_NAME_ROUTING_NUMBER) + private String routingNumber; + + public static final String SERIALIZED_NAME_ADDED_AT = "added_at"; + @SerializedName(SERIALIZED_NAME_ADDED_AT) + private java.sql.Timestamp addedAt; + + + public BeaconUserDepositoryAccount accountMask(String accountMask) { + + this.accountMask = accountMask; + return this; + } + + /** + * The last 2-4 numeric characters of this account's account number. + * @return accountMask + **/ + @ApiModelProperty(example = "4000", required = true, value = "The last 2-4 numeric characters of this account's account number.") + + public String getAccountMask() { + return accountMask; + } + + + public void setAccountMask(String accountMask) { + this.accountMask = accountMask; + } + + + public BeaconUserDepositoryAccount routingNumber(String routingNumber) { + + this.routingNumber = routingNumber; + return this; + } + + /** + * The routing number of the account. + * @return routingNumber + **/ + @ApiModelProperty(example = "021000021", required = true, value = "The routing number of the account.") + + public String getRoutingNumber() { + return routingNumber; + } + + + public void setRoutingNumber(String routingNumber) { + this.routingNumber = routingNumber; + } + + + public BeaconUserDepositoryAccount addedAt(java.sql.Timestamp addedAt) { + + this.addedAt = addedAt; + return this; + } + + /** + * Get addedAt + * @return addedAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getAddedAt() { + return addedAt; + } + + + public void setAddedAt(java.sql.Timestamp addedAt) { + this.addedAt = addedAt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserDepositoryAccount beaconUserDepositoryAccount = (BeaconUserDepositoryAccount) o; + return Objects.equals(this.accountMask, beaconUserDepositoryAccount.accountMask) && + Objects.equals(this.routingNumber, beaconUserDepositoryAccount.routingNumber) && + Objects.equals(this.addedAt, beaconUserDepositoryAccount.addedAt); + } + + @Override + public int hashCode() { + return Objects.hash(accountMask, routingNumber, addedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserDepositoryAccount {\n"); + sb.append(" accountMask: ").append(toIndentedString(accountMask)).append("\n"); + sb.append(" routingNumber: ").append(toIndentedString(routingNumber)).append("\n"); + sb.append(" addedAt: ").append(toIndentedString(addedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserGetRequest.java b/src/main/java/com/plaid/client/model/BeaconUserGetRequest.java new file mode 100644 index 0000000000..c488967c93 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for fetching a Beacon User + */ +@ApiModel(description = "Request input for fetching a Beacon User") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserGetRequest { + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BeaconUserGetRequest beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconUserGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BeaconUserGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserGetRequest beaconUserGetRequest = (BeaconUserGetRequest) o; + return Objects.equals(this.beaconUserId, beaconUserGetRequest.beaconUserId) && + Objects.equals(this.clientId, beaconUserGetRequest.clientId) && + Objects.equals(this.secret, beaconUserGetRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(beaconUserId, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserGetRequest {\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserGetResponse.java b/src/main/java/com/plaid/client/model/BeaconUserGetResponse.java new file mode 100644 index 0000000000..c0fbbb3d27 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserGetResponse.java @@ -0,0 +1,390 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconAuditTrail; +import com.plaid.client.model.BeaconUserData; +import com.plaid.client.model.BeaconUserStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +/** + * A Beacon User represents an end user that has been scanned against the Beacon Network. + */ +@ApiModel(description = "A Beacon User represents an end user that has been scanned against the Beacon Network.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserGetResponse { + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private Set itemIds = new LinkedHashSet<>(); + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private Integer version; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + private OffsetDateTime updatedAt; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private BeaconUserStatus status; + + public static final String SERIALIZED_NAME_PROGRAM_ID = "program_id"; + @SerializedName(SERIALIZED_NAME_PROGRAM_ID) + private String programId; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private BeaconUserData user; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private BeaconAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BeaconUserGetResponse itemIds(Set itemIds) { + + this.itemIds = itemIds; + return this; + } + + public BeaconUserGetResponse addItemIdsItem(String itemIdsItem) { + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * An array of Plaid Item IDs corresponding to the Accounts associated with this Beacon User. + * @return itemIds + **/ + @ApiModelProperty(example = "[\"515cd85321d3649aecddc015\"]", required = true, value = "An array of Plaid Item IDs corresponding to the Accounts associated with this Beacon User.") + + public Set getItemIds() { + return itemIds; + } + + + public void setItemIds(Set itemIds) { + this.itemIds = itemIds; + } + + + public BeaconUserGetResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Beacon User. + * @return id + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BeaconUserGetResponse version(Integer version) { + + this.version = version; + return this; + } + + /** + * The `version` field begins with 1 and increments each time the user is updated. + * @return version + **/ + @ApiModelProperty(example = "1", required = true, value = "The `version` field begins with 1 and increments each time the user is updated.") + + public Integer getVersion() { + return version; + } + + + public void setVersion(Integer version) { + this.version = version; + } + + + public BeaconUserGetResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public BeaconUserGetResponse updatedAt(OffsetDateTime updatedAt) { + + this.updatedAt = updatedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. This field indicates the last time the resource was modified. + * @return updatedAt + **/ + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp. This field indicates the last time the resource was modified.") + + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + + public void setUpdatedAt(OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + public BeaconUserGetResponse status(BeaconUserStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserStatus getStatus() { + return status; + } + + + public void setStatus(BeaconUserStatus status) { + this.status = status; + } + + + public BeaconUserGetResponse programId(String programId) { + + this.programId = programId; + return this; + } + + /** + * ID of the associated Beacon Program. + * @return programId + **/ + @ApiModelProperty(example = "becprg_11111111111111", required = true, value = "ID of the associated Beacon Program.") + + public String getProgramId() { + return programId; + } + + + public void setProgramId(String programId) { + this.programId = programId; + } + + + public BeaconUserGetResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public BeaconUserGetResponse user(BeaconUserData user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserData getUser() { + return user; + } + + + public void setUser(BeaconUserData user) { + this.user = user; + } + + + public BeaconUserGetResponse auditTrail(BeaconAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(BeaconAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public BeaconUserGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserGetResponse beaconUserGetResponse = (BeaconUserGetResponse) o; + return Objects.equals(this.itemIds, beaconUserGetResponse.itemIds) && + Objects.equals(this.id, beaconUserGetResponse.id) && + Objects.equals(this.version, beaconUserGetResponse.version) && + Objects.equals(this.createdAt, beaconUserGetResponse.createdAt) && + Objects.equals(this.updatedAt, beaconUserGetResponse.updatedAt) && + Objects.equals(this.status, beaconUserGetResponse.status) && + Objects.equals(this.programId, beaconUserGetResponse.programId) && + Objects.equals(this.clientUserId, beaconUserGetResponse.clientUserId) && + Objects.equals(this.user, beaconUserGetResponse.user) && + Objects.equals(this.auditTrail, beaconUserGetResponse.auditTrail) && + Objects.equals(this.requestId, beaconUserGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(itemIds, id, version, createdAt, updatedAt, status, programId, clientUserId, user, auditTrail, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserGetResponse {\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" programId: ").append(toIndentedString(programId)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserHistoryListRequest.java b/src/main/java/com/plaid/client/model/BeaconUserHistoryListRequest.java new file mode 100644 index 0000000000..14a256efed --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserHistoryListRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing the history of a Beacon User + */ +@ApiModel(description = "Request input for listing the history of a Beacon User") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserHistoryListRequest { + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BeaconUserHistoryListRequest beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconUserHistoryListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + public BeaconUserHistoryListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BeaconUserHistoryListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserHistoryListRequest beaconUserHistoryListRequest = (BeaconUserHistoryListRequest) o; + return Objects.equals(this.beaconUserId, beaconUserHistoryListRequest.beaconUserId) && + Objects.equals(this.cursor, beaconUserHistoryListRequest.cursor) && + Objects.equals(this.clientId, beaconUserHistoryListRequest.clientId) && + Objects.equals(this.secret, beaconUserHistoryListRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(beaconUserId, cursor, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserHistoryListRequest {\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserHistoryListResponse.java b/src/main/java/com/plaid/client/model/BeaconUserHistoryListResponse.java new file mode 100644 index 0000000000..dfec6aadd5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserHistoryListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The response schema for `/beacon/user/history/list` + */ +@ApiModel(description = "The response schema for `/beacon/user/history/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserHistoryListResponse { + public static final String SERIALIZED_NAME_BEACON_USERS = "beacon_users"; + @SerializedName(SERIALIZED_NAME_BEACON_USERS) + private List beaconUsers = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BeaconUserHistoryListResponse beaconUsers(List beaconUsers) { + + this.beaconUsers = beaconUsers; + return this; + } + + public BeaconUserHistoryListResponse addBeaconUsersItem(BeaconUser beaconUsersItem) { + this.beaconUsers.add(beaconUsersItem); + return this; + } + + /** + * Get beaconUsers + * @return beaconUsers + **/ + @ApiModelProperty(required = true, value = "") + + public List getBeaconUsers() { + return beaconUsers; + } + + + public void setBeaconUsers(List beaconUsers) { + this.beaconUsers = beaconUsers; + } + + + public BeaconUserHistoryListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public BeaconUserHistoryListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserHistoryListResponse beaconUserHistoryListResponse = (BeaconUserHistoryListResponse) o; + return Objects.equals(this.beaconUsers, beaconUserHistoryListResponse.beaconUsers) && + Objects.equals(this.nextCursor, beaconUserHistoryListResponse.nextCursor) && + Objects.equals(this.requestId, beaconUserHistoryListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(beaconUsers, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserHistoryListResponse {\n"); + sb.append(" beaconUsers: ").append(toIndentedString(beaconUsers)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserIDNumber.java b/src/main/java/com/plaid/client/model/BeaconUserIDNumber.java new file mode 100644 index 0000000000..4690e5b438 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserIDNumber.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IDNumberType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The ID number associated with a Beacon User. + */ +@ApiModel(description = "The ID number associated with a Beacon User.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserIDNumber { + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private IDNumberType type; + + + public BeaconUserIDNumber value(String value) { + + this.value = value; + return this; + } + + /** + * Value of the identity document typed in by the user. Alpha-numeric, with all formatting characters stripped. For specific format requirements by ID type, see [Input Validation Rules](https://plaid.com/docs/identity-verification/hybrid-input-validation/#id-numbers). + * @return value + **/ + @ApiModelProperty(example = "123456789", required = true, value = "Value of the identity document typed in by the user. Alpha-numeric, with all formatting characters stripped. For specific format requirements by ID type, see [Input Validation Rules](https://plaid.com/docs/identity-verification/hybrid-input-validation/#id-numbers).") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + public BeaconUserIDNumber type(IDNumberType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public IDNumberType getType() { + return type; + } + + + public void setType(IDNumberType type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserIDNumber beaconUserIDNumber = (BeaconUserIDNumber) o; + return Objects.equals(this.value, beaconUserIDNumber.value) && + Objects.equals(this.type, beaconUserIDNumber.type); + } + + @Override + public int hashCode() { + return Objects.hash(value, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserIDNumber {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserName.java b/src/main/java/com/plaid/client/model/BeaconUserName.java new file mode 100644 index 0000000000..53d3001c9c --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserName.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The full name for a given Beacon User. + */ +@ApiModel(description = "The full name for a given Beacon User.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserName { + public static final String SERIALIZED_NAME_GIVEN_NAME = "given_name"; + @SerializedName(SERIALIZED_NAME_GIVEN_NAME) + private String givenName; + + public static final String SERIALIZED_NAME_FAMILY_NAME = "family_name"; + @SerializedName(SERIALIZED_NAME_FAMILY_NAME) + private String familyName; + + + public BeaconUserName givenName(String givenName) { + + this.givenName = givenName; + return this; + } + + /** + * A string with at least one non-whitespace character, with a max length of 100 characters. + * @return givenName + **/ + @ApiModelProperty(example = "Leslie", required = true, value = "A string with at least one non-whitespace character, with a max length of 100 characters.") + + public String getGivenName() { + return givenName; + } + + + public void setGivenName(String givenName) { + this.givenName = givenName; + } + + + public BeaconUserName familyName(String familyName) { + + this.familyName = familyName; + return this; + } + + /** + * A string with at least one non-whitespace character, with a max length of 100 characters. + * @return familyName + **/ + @ApiModelProperty(example = "Knope", required = true, value = "A string with at least one non-whitespace character, with a max length of 100 characters.") + + public String getFamilyName() { + return familyName; + } + + + public void setFamilyName(String familyName) { + this.familyName = familyName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserName beaconUserName = (BeaconUserName) o; + return Objects.equals(this.givenName, beaconUserName.givenName) && + Objects.equals(this.familyName, beaconUserName.familyName); + } + + @Override + public int hashCode() { + return Objects.hash(givenName, familyName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserName {\n"); + sb.append(" givenName: ").append(toIndentedString(givenName)).append("\n"); + sb.append(" familyName: ").append(toIndentedString(familyName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserNameNullable.java b/src/main/java/com/plaid/client/model/BeaconUserNameNullable.java new file mode 100644 index 0000000000..3993baab73 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserNameNullable.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The full name for a given Beacon User. + */ +@ApiModel(description = "The full name for a given Beacon User.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserNameNullable { + public static final String SERIALIZED_NAME_GIVEN_NAME = "given_name"; + @SerializedName(SERIALIZED_NAME_GIVEN_NAME) + private String givenName; + + public static final String SERIALIZED_NAME_FAMILY_NAME = "family_name"; + @SerializedName(SERIALIZED_NAME_FAMILY_NAME) + private String familyName; + + + public BeaconUserNameNullable givenName(String givenName) { + + this.givenName = givenName; + return this; + } + + /** + * A string with at least one non-whitespace character, with a max length of 100 characters. + * @return givenName + **/ + @ApiModelProperty(example = "Leslie", required = true, value = "A string with at least one non-whitespace character, with a max length of 100 characters.") + + public String getGivenName() { + return givenName; + } + + + public void setGivenName(String givenName) { + this.givenName = givenName; + } + + + public BeaconUserNameNullable familyName(String familyName) { + + this.familyName = familyName; + return this; + } + + /** + * A string with at least one non-whitespace character, with a max length of 100 characters. + * @return familyName + **/ + @ApiModelProperty(example = "Knope", required = true, value = "A string with at least one non-whitespace character, with a max length of 100 characters.") + + public String getFamilyName() { + return familyName; + } + + + public void setFamilyName(String familyName) { + this.familyName = familyName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserNameNullable beaconUserNameNullable = (BeaconUserNameNullable) o; + return Objects.equals(this.givenName, beaconUserNameNullable.givenName) && + Objects.equals(this.familyName, beaconUserNameNullable.familyName); + } + + @Override + public int hashCode() { + return Objects.hash(givenName, familyName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserNameNullable {\n"); + sb.append(" givenName: ").append(toIndentedString(givenName)).append("\n"); + sb.append(" familyName: ").append(toIndentedString(familyName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserRequestAddress.java b/src/main/java/com/plaid/client/model/BeaconUserRequestAddress.java new file mode 100644 index 0000000000..f269a7670e --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserRequestAddress.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Home address for the associated user. For more context on this field, see [Input Validation by Country](https://plaid.com/docs/identity-verification/hybrid-input-validation/#input-validation-by-country). + */ +@ApiModel(description = "Home address for the associated user. For more context on this field, see [Input Validation by Country](https://plaid.com/docs/identity-verification/hybrid-input-validation/#input-validation-by-country).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserRequestAddress { + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_STREET2 = "street2"; + @SerializedName(SERIALIZED_NAME_STREET2) + private String street2; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public BeaconUserRequestAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters. + * @return street + **/ + @ApiModelProperty(example = "123 Main St.", required = true, value = "The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public BeaconUserRequestAddress street2(String street2) { + + this.street2 = street2; + return this; + } + + /** + * Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters. + * @return street2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Unit 42", value = "Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters.") + + public String getStreet2() { + return street2; + } + + + public void setStreet2(String street2) { + this.street2 = street2; + } + + + public BeaconUserRequestAddress city(String city) { + + this.city = city; + return this; + } + + /** + * City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters. + * @return city + **/ + @ApiModelProperty(example = "Pawnee", required = true, value = "City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public BeaconUserRequestAddress region(String region) { + + this.region = region; + return this; + } + + /** + * A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field. + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "IN", value = "A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public BeaconUserRequestAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "46001", value = "The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public BeaconUserRequestAddress country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserRequestAddress beaconUserRequestAddress = (BeaconUserRequestAddress) o; + return Objects.equals(this.street, beaconUserRequestAddress.street) && + Objects.equals(this.street2, beaconUserRequestAddress.street2) && + Objects.equals(this.city, beaconUserRequestAddress.city) && + Objects.equals(this.region, beaconUserRequestAddress.region) && + Objects.equals(this.postalCode, beaconUserRequestAddress.postalCode) && + Objects.equals(this.country, beaconUserRequestAddress.country); + } + + @Override + public int hashCode() { + return Objects.hash(street, street2, city, region, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserRequestAddress {\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" street2: ").append(toIndentedString(street2)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserRequestAddressNullable.java b/src/main/java/com/plaid/client/model/BeaconUserRequestAddressNullable.java new file mode 100644 index 0000000000..48cca9d256 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserRequestAddressNullable.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Home address for the associated user. For more context on this field, see [Input Validation by Country](https://plaid.com/docs/identity-verification/hybrid-input-validation/#input-validation-by-country). + */ +@ApiModel(description = "Home address for the associated user. For more context on this field, see [Input Validation by Country](https://plaid.com/docs/identity-verification/hybrid-input-validation/#input-validation-by-country).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserRequestAddressNullable { + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_STREET2 = "street2"; + @SerializedName(SERIALIZED_NAME_STREET2) + private String street2; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public BeaconUserRequestAddressNullable street(String street) { + + this.street = street; + return this; + } + + /** + * The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters. + * @return street + **/ + @ApiModelProperty(example = "123 Main St.", required = true, value = "The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public BeaconUserRequestAddressNullable street2(String street2) { + + this.street2 = street2; + return this; + } + + /** + * Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters. + * @return street2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Unit 42", value = "Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters.") + + public String getStreet2() { + return street2; + } + + + public void setStreet2(String street2) { + this.street2 = street2; + } + + + public BeaconUserRequestAddressNullable city(String city) { + + this.city = city; + return this; + } + + /** + * City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters. + * @return city + **/ + @ApiModelProperty(example = "Pawnee", required = true, value = "City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public BeaconUserRequestAddressNullable region(String region) { + + this.region = region; + return this; + } + + /** + * A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field. + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "IN", value = "A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public BeaconUserRequestAddressNullable postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "46001", value = "The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public BeaconUserRequestAddressNullable country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserRequestAddressNullable beaconUserRequestAddressNullable = (BeaconUserRequestAddressNullable) o; + return Objects.equals(this.street, beaconUserRequestAddressNullable.street) && + Objects.equals(this.street2, beaconUserRequestAddressNullable.street2) && + Objects.equals(this.city, beaconUserRequestAddressNullable.city) && + Objects.equals(this.region, beaconUserRequestAddressNullable.region) && + Objects.equals(this.postalCode, beaconUserRequestAddressNullable.postalCode) && + Objects.equals(this.country, beaconUserRequestAddressNullable.country); + } + + @Override + public int hashCode() { + return Objects.hash(street, street2, city, region, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserRequestAddressNullable {\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" street2: ").append(toIndentedString(street2)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserRequestData.java b/src/main/java/com/plaid/client/model/BeaconUserRequestData.java new file mode 100644 index 0000000000..0692f5fdca --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserRequestData.java @@ -0,0 +1,316 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconUserIDNumber; +import com.plaid.client.model.BeaconUserName; +import com.plaid.client.model.BeaconUserRequestAddress; +import com.plaid.client.model.BeaconUserRequestDepositoryAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * A Beacon User's data which is used to check against duplicate records and the Beacon Fraud Network. In order to create a Beacon User, in addition to the `name`, _either_ the `date_of_birth` _or_ the `depository_accounts` field must be provided. + */ +@ApiModel(description = "A Beacon User's data which is used to check against duplicate records and the Beacon Fraud Network. In order to create a Beacon User, in addition to the `name`, _either_ the `date_of_birth` _or_ the `depository_accounts` field must be provided.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserRequestData { + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private BeaconUserName name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private BeaconUserRequestAddress address; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private BeaconUserIDNumber idNumber; + + public static final String SERIALIZED_NAME_IP_ADDRESS = "ip_address"; + @SerializedName(SERIALIZED_NAME_IP_ADDRESS) + private String ipAddress; + + public static final String SERIALIZED_NAME_DEPOSITORY_ACCOUNTS = "depository_accounts"; + @SerializedName(SERIALIZED_NAME_DEPOSITORY_ACCOUNTS) + private List depositoryAccounts = null; + + + public BeaconUserRequestData dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public BeaconUserRequestData name(BeaconUserName name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserName getName() { + return name; + } + + + public void setName(BeaconUserName name) { + this.name = name; + } + + + public BeaconUserRequestData address(BeaconUserRequestAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BeaconUserRequestAddress getAddress() { + return address; + } + + + public void setAddress(BeaconUserRequestAddress address) { + this.address = address; + } + + + public BeaconUserRequestData emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user@example.com", value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public BeaconUserRequestData phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A phone number in E.164 format. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+19876543212", value = "A phone number in E.164 format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public BeaconUserRequestData idNumber(BeaconUserIDNumber idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Get idNumber + * @return idNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BeaconUserIDNumber getIdNumber() { + return idNumber; + } + + + public void setIdNumber(BeaconUserIDNumber idNumber) { + this.idNumber = idNumber; + } + + + public BeaconUserRequestData ipAddress(String ipAddress) { + + this.ipAddress = ipAddress; + return this; + } + + /** + * An IPv4 or IPv6 address. + * @return ipAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "192.0.2.42", value = "An IPv4 or IPv6 address.") + + public String getIpAddress() { + return ipAddress; + } + + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + + public BeaconUserRequestData depositoryAccounts(List depositoryAccounts) { + + this.depositoryAccounts = depositoryAccounts; + return this; + } + + public BeaconUserRequestData addDepositoryAccountsItem(BeaconUserRequestDepositoryAccount depositoryAccountsItem) { + if (this.depositoryAccounts == null) { + this.depositoryAccounts = new ArrayList<>(); + } + this.depositoryAccounts.add(depositoryAccountsItem); + return this; + } + + /** + * Provide a list of bank accounts that are associated with this Beacon User. These accounts will be scanned across the Beacon Network and used to find duplicate records. Note: These accounts will not have Bank Account Insights. To receive Bank Account Insights please supply `access_tokens`. + * @return depositoryAccounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Provide a list of bank accounts that are associated with this Beacon User. These accounts will be scanned across the Beacon Network and used to find duplicate records. Note: These accounts will not have Bank Account Insights. To receive Bank Account Insights please supply `access_tokens`.") + + public List getDepositoryAccounts() { + return depositoryAccounts; + } + + + public void setDepositoryAccounts(List depositoryAccounts) { + this.depositoryAccounts = depositoryAccounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserRequestData beaconUserRequestData = (BeaconUserRequestData) o; + return Objects.equals(this.dateOfBirth, beaconUserRequestData.dateOfBirth) && + Objects.equals(this.name, beaconUserRequestData.name) && + Objects.equals(this.address, beaconUserRequestData.address) && + Objects.equals(this.emailAddress, beaconUserRequestData.emailAddress) && + Objects.equals(this.phoneNumber, beaconUserRequestData.phoneNumber) && + Objects.equals(this.idNumber, beaconUserRequestData.idNumber) && + Objects.equals(this.ipAddress, beaconUserRequestData.ipAddress) && + Objects.equals(this.depositoryAccounts, beaconUserRequestData.depositoryAccounts); + } + + @Override + public int hashCode() { + return Objects.hash(dateOfBirth, name, address, emailAddress, phoneNumber, idNumber, ipAddress, depositoryAccounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserRequestData {\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append(" ipAddress: ").append(toIndentedString(ipAddress)).append("\n"); + sb.append(" depositoryAccounts: ").append(toIndentedString(depositoryAccounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserRequestDepositoryAccount.java b/src/main/java/com/plaid/client/model/BeaconUserRequestDepositoryAccount.java new file mode 100644 index 0000000000..1301a4cf6e --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserRequestDepositoryAccount.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Depository account information for the associated user. + */ +@ApiModel(description = "Depository account information for the associated user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserRequestDepositoryAccount { + public static final String SERIALIZED_NAME_ACCOUNT_NUMBER = "account_number"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBER) + private String accountNumber; + + public static final String SERIALIZED_NAME_ROUTING_NUMBER = "routing_number"; + @SerializedName(SERIALIZED_NAME_ROUTING_NUMBER) + private String routingNumber; + + + public BeaconUserRequestDepositoryAccount accountNumber(String accountNumber) { + + this.accountNumber = accountNumber; + return this; + } + + /** + * Must be a valid US Bank Account Number + * @return accountNumber + **/ + @ApiModelProperty(example = "1234567890", required = true, value = "Must be a valid US Bank Account Number") + + public String getAccountNumber() { + return accountNumber; + } + + + public void setAccountNumber(String accountNumber) { + this.accountNumber = accountNumber; + } + + + public BeaconUserRequestDepositoryAccount routingNumber(String routingNumber) { + + this.routingNumber = routingNumber; + return this; + } + + /** + * The routing number of the account. + * @return routingNumber + **/ + @ApiModelProperty(example = "021000021", required = true, value = "The routing number of the account.") + + public String getRoutingNumber() { + return routingNumber; + } + + + public void setRoutingNumber(String routingNumber) { + this.routingNumber = routingNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserRequestDepositoryAccount beaconUserRequestDepositoryAccount = (BeaconUserRequestDepositoryAccount) o; + return Objects.equals(this.accountNumber, beaconUserRequestDepositoryAccount.accountNumber) && + Objects.equals(this.routingNumber, beaconUserRequestDepositoryAccount.routingNumber); + } + + @Override + public int hashCode() { + return Objects.hash(accountNumber, routingNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserRequestDepositoryAccount {\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).append("\n"); + sb.append(" routingNumber: ").append(toIndentedString(routingNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserReviewRequest.java b/src/main/java/com/plaid/client/model/BeaconUserReviewRequest.java new file mode 100644 index 0000000000..66577e4e0e --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserReviewRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconUserStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for updating the status of a Beacon User + */ +@ApiModel(description = "Request input for updating the status of a Beacon User") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserReviewRequest { + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private BeaconUserStatus status; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BeaconUserReviewRequest beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconUserReviewRequest status(BeaconUserStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserStatus getStatus() { + return status; + } + + + public void setStatus(BeaconUserStatus status) { + this.status = status; + } + + + public BeaconUserReviewRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BeaconUserReviewRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserReviewRequest beaconUserReviewRequest = (BeaconUserReviewRequest) o; + return Objects.equals(this.beaconUserId, beaconUserReviewRequest.beaconUserId) && + Objects.equals(this.status, beaconUserReviewRequest.status) && + Objects.equals(this.clientId, beaconUserReviewRequest.clientId) && + Objects.equals(this.secret, beaconUserReviewRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(beaconUserId, status, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserReviewRequest {\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserRevision.java b/src/main/java/com/plaid/client/model/BeaconUserRevision.java new file mode 100644 index 0000000000..0421808a67 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserRevision.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A Beacon User Revision identifies a Beacon User at some point in its revision history. + */ +@ApiModel(description = "A Beacon User Revision identifies a Beacon User at some point in its revision history.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserRevision { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private Integer version; + + + public BeaconUserRevision id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Beacon User. + * @return id + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BeaconUserRevision version(Integer version) { + + this.version = version; + return this; + } + + /** + * The `version` field begins with 1 and increments with each subsequent revision. + * @return version + **/ + @ApiModelProperty(example = "1", required = true, value = "The `version` field begins with 1 and increments with each subsequent revision.") + + public Integer getVersion() { + return version; + } + + + public void setVersion(Integer version) { + this.version = version; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserRevision beaconUserRevision = (BeaconUserRevision) o; + return Objects.equals(this.id, beaconUserRevision.id) && + Objects.equals(this.version, beaconUserRevision.version); + } + + @Override + public int hashCode() { + return Objects.hash(id, version); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserRevision {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserStatus.java b/src/main/java/com/plaid/client/model/BeaconUserStatus.java new file mode 100644 index 0000000000..b2e2977dc8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A status of a Beacon User. `rejected`: The Beacon User has been rejected for fraud. Users can be automatically or manually rejected. `pending_review`: The Beacon User has been marked for review. `cleared`: The Beacon User has been cleared of fraud. + */ +@JsonAdapter(BeaconUserStatus.Adapter.class) +public enum BeaconUserStatus { + + REJECTED("rejected"), + + PENDING_REVIEW("pending_review"), + + CLEARED("cleared"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BeaconUserStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BeaconUserStatus fromValue(String value) { + for (BeaconUserStatus b : BeaconUserStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BeaconUserStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BeaconUserStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BeaconUserStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BeaconUserStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserStatusUpdatedWebhook.java b/src/main/java/com/plaid/client/model/BeaconUserStatusUpdatedWebhook.java new file mode 100644 index 0000000000..cb21228361 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserStatusUpdatedWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when a Beacon User status has changed, which can occur manually via the dashboard or when information is reported to the Beacon network. + */ +@ApiModel(description = "Fired when a Beacon User status has changed, which can occur manually via the dashboard or when information is reported to the Beacon network.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserStatusUpdatedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public BeaconUserStatusUpdatedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `BEACON` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`BEACON`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public BeaconUserStatusUpdatedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `USER_STATUS_UPDATED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`USER_STATUS_UPDATED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public BeaconUserStatusUpdatedWebhook beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * The ID of the associated Beacon user. + * @return beaconUserId + **/ + @ApiModelProperty(required = true, value = "The ID of the associated Beacon user.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconUserStatusUpdatedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserStatusUpdatedWebhook beaconUserStatusUpdatedWebhook = (BeaconUserStatusUpdatedWebhook) o; + return Objects.equals(this.webhookType, beaconUserStatusUpdatedWebhook.webhookType) && + Objects.equals(this.webhookCode, beaconUserStatusUpdatedWebhook.webhookCode) && + Objects.equals(this.beaconUserId, beaconUserStatusUpdatedWebhook.beaconUserId) && + Objects.equals(this.environment, beaconUserStatusUpdatedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, beaconUserId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserStatusUpdatedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserUpdateRequest.java b/src/main/java/com/plaid/client/model/BeaconUserUpdateRequest.java new file mode 100644 index 0000000000..cfe3f8d2f3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserUpdateRequest.java @@ -0,0 +1,225 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconUserUpdateRequestData; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Request input for updating the identity data of a Beacon User. + */ +@ApiModel(description = "Request input for updating the identity data of a Beacon User.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserUpdateRequest { + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private BeaconUserUpdateRequestData user; + + public static final String SERIALIZED_NAME_ACCESS_TOKENS = "access_tokens"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKENS) + private List accessTokens = null; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BeaconUserUpdateRequest beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * ID of the associated Beacon User. + * @return beaconUserId + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public BeaconUserUpdateRequest user(BeaconUserUpdateRequestData user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BeaconUserUpdateRequestData getUser() { + return user; + } + + + public void setUser(BeaconUserUpdateRequestData user) { + this.user = user; + } + + + public BeaconUserUpdateRequest accessTokens(List accessTokens) { + + this.accessTokens = accessTokens; + return this; + } + + public BeaconUserUpdateRequest addAccessTokensItem(String accessTokensItem) { + if (this.accessTokens == null) { + this.accessTokens = new ArrayList<>(); + } + this.accessTokens.add(accessTokensItem); + return this; + } + + /** + * Send this array of access tokens to add accounts to this user for evaluation. This will add accounts to this Beacon User. If left null only existing accounts will be returned in response. A maximum of 50 accounts total can be added to a Beacon User. + * @return accessTokens + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Send this array of access tokens to add accounts to this user for evaluation. This will add accounts to this Beacon User. If left null only existing accounts will be returned in response. A maximum of 50 accounts total can be added to a Beacon User.") + + public List getAccessTokens() { + return accessTokens; + } + + + public void setAccessTokens(List accessTokens) { + this.accessTokens = accessTokens; + } + + + public BeaconUserUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BeaconUserUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserUpdateRequest beaconUserUpdateRequest = (BeaconUserUpdateRequest) o; + return Objects.equals(this.beaconUserId, beaconUserUpdateRequest.beaconUserId) && + Objects.equals(this.user, beaconUserUpdateRequest.user) && + Objects.equals(this.accessTokens, beaconUserUpdateRequest.accessTokens) && + Objects.equals(this.clientId, beaconUserUpdateRequest.clientId) && + Objects.equals(this.secret, beaconUserUpdateRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(beaconUserId, user, accessTokens, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserUpdateRequest {\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" accessTokens: ").append(toIndentedString(accessTokens)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserUpdateRequestData.java b/src/main/java/com/plaid/client/model/BeaconUserUpdateRequestData.java new file mode 100644 index 0000000000..8ce958abcb --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserUpdateRequestData.java @@ -0,0 +1,317 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconUserIDNumber; +import com.plaid.client.model.BeaconUserNameNullable; +import com.plaid.client.model.BeaconUserRequestAddressNullable; +import com.plaid.client.model.BeaconUserRequestDepositoryAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * A subset of a Beacon User's data which is used to patch the existing identity data associated with a Beacon User. At least one field must be provided. If left unset or null, user data will not be patched. + */ +@ApiModel(description = "A subset of a Beacon User's data which is used to patch the existing identity data associated with a Beacon User. At least one field must be provided. If left unset or null, user data will not be patched.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserUpdateRequestData { + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private BeaconUserNameNullable name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private BeaconUserRequestAddressNullable address; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private BeaconUserIDNumber idNumber; + + public static final String SERIALIZED_NAME_IP_ADDRESS = "ip_address"; + @SerializedName(SERIALIZED_NAME_IP_ADDRESS) + private String ipAddress; + + public static final String SERIALIZED_NAME_DEPOSITORY_ACCOUNTS = "depository_accounts"; + @SerializedName(SERIALIZED_NAME_DEPOSITORY_ACCOUNTS) + private List depositoryAccounts = null; + + + public BeaconUserUpdateRequestData dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public BeaconUserUpdateRequestData name(BeaconUserNameNullable name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BeaconUserNameNullable getName() { + return name; + } + + + public void setName(BeaconUserNameNullable name) { + this.name = name; + } + + + public BeaconUserUpdateRequestData address(BeaconUserRequestAddressNullable address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BeaconUserRequestAddressNullable getAddress() { + return address; + } + + + public void setAddress(BeaconUserRequestAddressNullable address) { + this.address = address; + } + + + public BeaconUserUpdateRequestData emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user@example.com", value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public BeaconUserUpdateRequestData phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A phone number in E.164 format. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+19876543212", value = "A phone number in E.164 format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public BeaconUserUpdateRequestData idNumber(BeaconUserIDNumber idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Get idNumber + * @return idNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BeaconUserIDNumber getIdNumber() { + return idNumber; + } + + + public void setIdNumber(BeaconUserIDNumber idNumber) { + this.idNumber = idNumber; + } + + + public BeaconUserUpdateRequestData ipAddress(String ipAddress) { + + this.ipAddress = ipAddress; + return this; + } + + /** + * An IPv4 or IPv6 address. + * @return ipAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "192.0.2.42", value = "An IPv4 or IPv6 address.") + + public String getIpAddress() { + return ipAddress; + } + + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + + public BeaconUserUpdateRequestData depositoryAccounts(List depositoryAccounts) { + + this.depositoryAccounts = depositoryAccounts; + return this; + } + + public BeaconUserUpdateRequestData addDepositoryAccountsItem(BeaconUserRequestDepositoryAccount depositoryAccountsItem) { + if (this.depositoryAccounts == null) { + this.depositoryAccounts = new ArrayList<>(); + } + this.depositoryAccounts.add(depositoryAccountsItem); + return this; + } + + /** + * Get depositoryAccounts + * @return depositoryAccounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getDepositoryAccounts() { + return depositoryAccounts; + } + + + public void setDepositoryAccounts(List depositoryAccounts) { + this.depositoryAccounts = depositoryAccounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserUpdateRequestData beaconUserUpdateRequestData = (BeaconUserUpdateRequestData) o; + return Objects.equals(this.dateOfBirth, beaconUserUpdateRequestData.dateOfBirth) && + Objects.equals(this.name, beaconUserUpdateRequestData.name) && + Objects.equals(this.address, beaconUserUpdateRequestData.address) && + Objects.equals(this.emailAddress, beaconUserUpdateRequestData.emailAddress) && + Objects.equals(this.phoneNumber, beaconUserUpdateRequestData.phoneNumber) && + Objects.equals(this.idNumber, beaconUserUpdateRequestData.idNumber) && + Objects.equals(this.ipAddress, beaconUserUpdateRequestData.ipAddress) && + Objects.equals(this.depositoryAccounts, beaconUserUpdateRequestData.depositoryAccounts); + } + + @Override + public int hashCode() { + return Objects.hash(dateOfBirth, name, address, emailAddress, phoneNumber, idNumber, ipAddress, depositoryAccounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserUpdateRequestData {\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append(" ipAddress: ").append(toIndentedString(ipAddress)).append("\n"); + sb.append(" depositoryAccounts: ").append(toIndentedString(depositoryAccounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BeaconUserUpdateResponse.java b/src/main/java/com/plaid/client/model/BeaconUserUpdateResponse.java new file mode 100644 index 0000000000..d861deb01c --- /dev/null +++ b/src/main/java/com/plaid/client/model/BeaconUserUpdateResponse.java @@ -0,0 +1,390 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BeaconAuditTrail; +import com.plaid.client.model.BeaconUserData; +import com.plaid.client.model.BeaconUserStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +/** + * A Beacon User represents an end user that has been scanned against the Beacon Network. + */ +@ApiModel(description = "A Beacon User represents an end user that has been scanned against the Beacon Network.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BeaconUserUpdateResponse { + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private Set itemIds = new LinkedHashSet<>(); + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private Integer version; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + private OffsetDateTime updatedAt; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private BeaconUserStatus status; + + public static final String SERIALIZED_NAME_PROGRAM_ID = "program_id"; + @SerializedName(SERIALIZED_NAME_PROGRAM_ID) + private String programId; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private BeaconUserData user; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private BeaconAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BeaconUserUpdateResponse itemIds(Set itemIds) { + + this.itemIds = itemIds; + return this; + } + + public BeaconUserUpdateResponse addItemIdsItem(String itemIdsItem) { + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * An array of Plaid Item IDs corresponding to the Accounts associated with this Beacon User. + * @return itemIds + **/ + @ApiModelProperty(example = "[\"515cd85321d3649aecddc015\"]", required = true, value = "An array of Plaid Item IDs corresponding to the Accounts associated with this Beacon User.") + + public Set getItemIds() { + return itemIds; + } + + + public void setItemIds(Set itemIds) { + this.itemIds = itemIds; + } + + + public BeaconUserUpdateResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Beacon User. + * @return id + **/ + @ApiModelProperty(example = "becusr_42cF1MNo42r9Xj", required = true, value = "ID of the associated Beacon User.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BeaconUserUpdateResponse version(Integer version) { + + this.version = version; + return this; + } + + /** + * The `version` field begins with 1 and increments each time the user is updated. + * @return version + **/ + @ApiModelProperty(example = "1", required = true, value = "The `version` field begins with 1 and increments each time the user is updated.") + + public Integer getVersion() { + return version; + } + + + public void setVersion(Integer version) { + this.version = version; + } + + + public BeaconUserUpdateResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public BeaconUserUpdateResponse updatedAt(OffsetDateTime updatedAt) { + + this.updatedAt = updatedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. This field indicates the last time the resource was modified. + * @return updatedAt + **/ + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp. This field indicates the last time the resource was modified.") + + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + + public void setUpdatedAt(OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + public BeaconUserUpdateResponse status(BeaconUserStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserStatus getStatus() { + return status; + } + + + public void setStatus(BeaconUserStatus status) { + this.status = status; + } + + + public BeaconUserUpdateResponse programId(String programId) { + + this.programId = programId; + return this; + } + + /** + * ID of the associated Beacon Program. + * @return programId + **/ + @ApiModelProperty(example = "becprg_11111111111111", required = true, value = "ID of the associated Beacon Program.") + + public String getProgramId() { + return programId; + } + + + public void setProgramId(String programId) { + this.programId = programId; + } + + + public BeaconUserUpdateResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public BeaconUserUpdateResponse user(BeaconUserData user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconUserData getUser() { + return user; + } + + + public void setUser(BeaconUserData user) { + this.user = user; + } + + + public BeaconUserUpdateResponse auditTrail(BeaconAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public BeaconAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(BeaconAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public BeaconUserUpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BeaconUserUpdateResponse beaconUserUpdateResponse = (BeaconUserUpdateResponse) o; + return Objects.equals(this.itemIds, beaconUserUpdateResponse.itemIds) && + Objects.equals(this.id, beaconUserUpdateResponse.id) && + Objects.equals(this.version, beaconUserUpdateResponse.version) && + Objects.equals(this.createdAt, beaconUserUpdateResponse.createdAt) && + Objects.equals(this.updatedAt, beaconUserUpdateResponse.updatedAt) && + Objects.equals(this.status, beaconUserUpdateResponse.status) && + Objects.equals(this.programId, beaconUserUpdateResponse.programId) && + Objects.equals(this.clientUserId, beaconUserUpdateResponse.clientUserId) && + Objects.equals(this.user, beaconUserUpdateResponse.user) && + Objects.equals(this.auditTrail, beaconUserUpdateResponse.auditTrail) && + Objects.equals(this.requestId, beaconUserUpdateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(itemIds, id, version, createdAt, updatedAt, status, programId, clientUserId, user, auditTrail, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BeaconUserUpdateResponse {\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" programId: ").append(toIndentedString(programId)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BetaEwaReportV1GetRequest.java b/src/main/java/com/plaid/client/model/BetaEwaReportV1GetRequest.java new file mode 100644 index 0000000000..e41ea9c2e5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BetaEwaReportV1GetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * BetaEwaReportV1GetRequest defines the request schema for `/beta/ewa_report/v1/get` + */ +@ApiModel(description = "BetaEwaReportV1GetRequest defines the request schema for `/beta/ewa_report/v1/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BetaEwaReportV1GetRequest { + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BetaEwaReportV1GetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public BetaEwaReportV1GetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BetaEwaReportV1GetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BetaEwaReportV1GetRequest betaEwaReportV1GetRequest = (BetaEwaReportV1GetRequest) o; + return Objects.equals(this.accessToken, betaEwaReportV1GetRequest.accessToken) && + Objects.equals(this.clientId, betaEwaReportV1GetRequest.clientId) && + Objects.equals(this.secret, betaEwaReportV1GetRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(accessToken, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BetaEwaReportV1GetRequest {\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BetaEwaReportV1GetResponse.java b/src/main/java/com/plaid/client/model/BetaEwaReportV1GetResponse.java new file mode 100644 index 0000000000..4a50ee34ae --- /dev/null +++ b/src/main/java/com/plaid/client/model/BetaEwaReportV1GetResponse.java @@ -0,0 +1,238 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EwaScore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * BetaEwaReportV1GetResponse defines the response schema for `/beta/ewa_report/v1/get` + */ +@ApiModel(description = "BetaEwaReportV1GetResponse defines the response schema for `/beta/ewa_report/v1/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BetaEwaReportV1GetResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_EWA_REPORT_ID = "ewa_report_id"; + @SerializedName(SERIALIZED_NAME_EWA_REPORT_ID) + private String ewaReportId; + + public static final String SERIALIZED_NAME_GENERATION_TIME = "generation_time"; + @SerializedName(SERIALIZED_NAME_GENERATION_TIME) + private OffsetDateTime generationTime; + + public static final String SERIALIZED_NAME_EWA_SCORES = "ewa_scores"; + @SerializedName(SERIALIZED_NAME_EWA_SCORES) + private List ewaScores = null; + + public static final String SERIALIZED_NAME_EWA_ATTRIBUTES = "ewa_attributes"; + @SerializedName(SERIALIZED_NAME_EWA_ATTRIBUTES) + private Map ewaAttributes = null; + + + public BetaEwaReportV1GetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public BetaEwaReportV1GetResponse ewaReportId(String ewaReportId) { + + this.ewaReportId = ewaReportId; + return this; + } + + /** + * Unique identifier for the generated EWA score group. + * @return ewaReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Unique identifier for the generated EWA score group.") + + public String getEwaReportId() { + return ewaReportId; + } + + + public void setEwaReportId(String ewaReportId) { + this.ewaReportId = ewaReportId; + } + + + public BetaEwaReportV1GetResponse generationTime(OffsetDateTime generationTime) { + + this.generationTime = generationTime; + return this; + } + + /** + * The date and time when `ewa_scores` was generated, in ISO 8601 format (e.g. \"2018-04-12T03:32:11Z\"). + * @return generationTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date and time when `ewa_scores` was generated, in ISO 8601 format (e.g. \"2018-04-12T03:32:11Z\").") + + public OffsetDateTime getGenerationTime() { + return generationTime; + } + + + public void setGenerationTime(OffsetDateTime generationTime) { + this.generationTime = generationTime; + } + + + public BetaEwaReportV1GetResponse ewaScores(List ewaScores) { + + this.ewaScores = ewaScores; + return this; + } + + public BetaEwaReportV1GetResponse addEwaScoresItem(EwaScore ewaScoresItem) { + if (this.ewaScores == null) { + this.ewaScores = new ArrayList<>(); + } + this.ewaScores.add(ewaScoresItem); + return this; + } + + /** + * A list of earned wage access (EWA) scoring entries that map potential advance amounts to repayment likelihood scores. The predefined advance amount ranges are `[0, 25)`, `[25, 50)`, `[50, 100)`, `[100, 200)`, `[200, 300)`, `[300, 400)`, and `[400, 500)`. + * @return ewaScores + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of earned wage access (EWA) scoring entries that map potential advance amounts to repayment likelihood scores. The predefined advance amount ranges are `[0, 25)`, `[25, 50)`, `[50, 100)`, `[100, 200)`, `[200, 300)`, `[300, 400)`, and `[400, 500)`.") + + public List getEwaScores() { + return ewaScores; + } + + + public void setEwaScores(List ewaScores) { + this.ewaScores = ewaScores; + } + + + public BetaEwaReportV1GetResponse ewaAttributes(Map ewaAttributes) { + + this.ewaAttributes = ewaAttributes; + return this; + } + + public BetaEwaReportV1GetResponse putEwaAttributesItem(String key, Double ewaAttributesItem) { + if (this.ewaAttributes == null) { + this.ewaAttributes = new HashMap<>(); + } + this.ewaAttributes.put(key, ewaAttributesItem); + return this; + } + + /** + * A set of attributes providing context about the factors that contributed to the EWA scores. Each key is the attribute name and the value is its numeric score, or null if the attribute could not be computed. + * @return ewaAttributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A set of attributes providing context about the factors that contributed to the EWA scores. Each key is the attribute name and the value is its numeric score, or null if the attribute could not be computed.") + + public Map getEwaAttributes() { + return ewaAttributes; + } + + + public void setEwaAttributes(Map ewaAttributes) { + this.ewaAttributes = ewaAttributes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BetaEwaReportV1GetResponse betaEwaReportV1GetResponse = (BetaEwaReportV1GetResponse) o; + return Objects.equals(this.requestId, betaEwaReportV1GetResponse.requestId) && + Objects.equals(this.ewaReportId, betaEwaReportV1GetResponse.ewaReportId) && + Objects.equals(this.generationTime, betaEwaReportV1GetResponse.generationTime) && + Objects.equals(this.ewaScores, betaEwaReportV1GetResponse.ewaScores) && + Objects.equals(this.ewaAttributes, betaEwaReportV1GetResponse.ewaAttributes); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, ewaReportId, generationTime, ewaScores, ewaAttributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BetaEwaReportV1GetResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" ewaReportId: ").append(toIndentedString(ewaReportId)).append("\n"); + sb.append(" generationTime: ").append(toIndentedString(generationTime)).append("\n"); + sb.append(" ewaScores: ").append(toIndentedString(ewaScores)).append("\n"); + sb.append(" ewaAttributes: ").append(toIndentedString(ewaAttributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1CreateRequest.java b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1CreateRequest.java new file mode 100644 index 0000000000..d1756250d3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1CreateRequest.java @@ -0,0 +1,583 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerAddress; +import com.plaid.client.model.PartnerEndCustomerBankAddendumAcceptance; +import com.plaid.client.model.PartnerEndCustomerBillingContact; +import com.plaid.client.model.PartnerEndCustomerCustomerSupportInfo; +import com.plaid.client.model.PartnerEndCustomerQuestionnaires; +import com.plaid.client.model.PartnerEndCustomerTechnicalContact; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Request schema for `/beta/partner/customer/v1/create`. + */ +@ApiModel(description = "Request schema for `/beta/partner/customer/v1/create`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BetaPartnerCustomerV1CreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_COMPANY_NAME = "company_name"; + @SerializedName(SERIALIZED_NAME_COMPANY_NAME) + private String companyName; + + public static final String SERIALIZED_NAME_IS_DILIGENCE_ATTESTED = "is_diligence_attested"; + @SerializedName(SERIALIZED_NAME_IS_DILIGENCE_ATTESTED) + private Boolean isDiligenceAttested; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = null; + + public static final String SERIALIZED_NAME_CREATE_LINK_CUSTOMIZATION = "create_link_customization"; + @SerializedName(SERIALIZED_NAME_CREATE_LINK_CUSTOMIZATION) + private Boolean createLinkCustomization; + + public static final String SERIALIZED_NAME_LOGO = "logo"; + @SerializedName(SERIALIZED_NAME_LOGO) + private String logo; + + public static final String SERIALIZED_NAME_LEGAL_ENTITY_NAME = "legal_entity_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_ENTITY_NAME) + private String legalEntityName; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private String website; + + public static final String SERIALIZED_NAME_APPLICATION_NAME = "application_name"; + @SerializedName(SERIALIZED_NAME_APPLICATION_NAME) + private String applicationName; + + public static final String SERIALIZED_NAME_TECHNICAL_CONTACT = "technical_contact"; + @SerializedName(SERIALIZED_NAME_TECHNICAL_CONTACT) + private PartnerEndCustomerTechnicalContact technicalContact; + + public static final String SERIALIZED_NAME_BILLING_CONTACT = "billing_contact"; + @SerializedName(SERIALIZED_NAME_BILLING_CONTACT) + private PartnerEndCustomerBillingContact billingContact; + + public static final String SERIALIZED_NAME_CUSTOMER_SUPPORT_INFO = "customer_support_info"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_SUPPORT_INFO) + private PartnerEndCustomerCustomerSupportInfo customerSupportInfo; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private PartnerEndCustomerAddress address; + + public static final String SERIALIZED_NAME_REDIRECT_URIS = "redirect_uris"; + @SerializedName(SERIALIZED_NAME_REDIRECT_URIS) + private List redirectUris = null; + + public static final String SERIALIZED_NAME_BANK_ADDENDUM_ACCEPTANCE = "bank_addendum_acceptance"; + @SerializedName(SERIALIZED_NAME_BANK_ADDENDUM_ACCEPTANCE) + private PartnerEndCustomerBankAddendumAcceptance bankAddendumAcceptance; + + public static final String SERIALIZED_NAME_QUESTIONNAIRES = "questionnaires"; + @SerializedName(SERIALIZED_NAME_QUESTIONNAIRES) + private PartnerEndCustomerQuestionnaires questionnaires; + + + public BetaPartnerCustomerV1CreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BetaPartnerCustomerV1CreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BetaPartnerCustomerV1CreateRequest companyName(String companyName) { + + this.companyName = companyName; + return this; + } + + /** + * The company name of the end customer being created. This will be used to display the end customer in the Plaid Dashboard. It will not be shown to end users. + * @return companyName + **/ + @ApiModelProperty(required = true, value = "The company name of the end customer being created. This will be used to display the end customer in the Plaid Dashboard. It will not be shown to end users.") + + public String getCompanyName() { + return companyName; + } + + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + + public BetaPartnerCustomerV1CreateRequest isDiligenceAttested(Boolean isDiligenceAttested) { + + this.isDiligenceAttested = isDiligenceAttested; + return this; + } + + /** + * Denotes whether or not the partner has completed attestation of diligence for the end customer to be created. + * @return isDiligenceAttested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Denotes whether or not the partner has completed attestation of diligence for the end customer to be created.") + + public Boolean getIsDiligenceAttested() { + return isDiligenceAttested; + } + + + public void setIsDiligenceAttested(Boolean isDiligenceAttested) { + this.isDiligenceAttested = isDiligenceAttested; + } + + + public BetaPartnerCustomerV1CreateRequest products(List products) { + + this.products = products; + return this; + } + + public BetaPartnerCustomerV1CreateRequest addProductsItem(Products productsItem) { + if (this.products == null) { + this.products = new ArrayList<>(); + } + this.products.add(productsItem); + return this; + } + + /** + * The products to be enabled for the end customer. If empty or `null`, this field will default to the products enabled for the reseller at the time this endpoint is called. + * @return products + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The products to be enabled for the end customer. If empty or `null`, this field will default to the products enabled for the reseller at the time this endpoint is called.") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + public BetaPartnerCustomerV1CreateRequest createLinkCustomization(Boolean createLinkCustomization) { + + this.createLinkCustomization = createLinkCustomization; + return this; + } + + /** + * If `true`, the end customer's default Link customization will be set to match the partner's. You can always change the end customer's Link customization in the Plaid Dashboard. See the [Link Customization docs](https://plaid.com/docs/link/customization/) for more information. If you require the ability to programmatically create end customers using multiple different Link customization profiles, contact your Plaid account manager for assistance. Important: Data Transparency Messaging (DTM) use cases will not be copied to the end customer's Link customization unless the **Publish changes** button is clicked after the use cases are applied. Link will not work in Production unless the end customer's DTM use cases are configured. For more details, see [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/). + * @return createLinkCustomization + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, the end customer's default Link customization will be set to match the partner's. You can always change the end customer's Link customization in the Plaid Dashboard. See the [Link Customization docs](https://plaid.com/docs/link/customization/) for more information. If you require the ability to programmatically create end customers using multiple different Link customization profiles, contact your Plaid account manager for assistance. Important: Data Transparency Messaging (DTM) use cases will not be copied to the end customer's Link customization unless the **Publish changes** button is clicked after the use cases are applied. Link will not work in Production unless the end customer's DTM use cases are configured. For more details, see [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/).") + + public Boolean getCreateLinkCustomization() { + return createLinkCustomization; + } + + + public void setCreateLinkCustomization(Boolean createLinkCustomization) { + this.createLinkCustomization = createLinkCustomization; + } + + + public BetaPartnerCustomerV1CreateRequest logo(String logo) { + + this.logo = logo; + return this; + } + + /** + * Base64-encoded representation of the end customer's logo. Must be a PNG of size 1024x1024 under 4MB. The logo will be shared with financial institutions and shown to the end user during Link flows. A logo is required if `create_link_customization` is `true`. If `create_link_customization` is `false` and the logo is omitted, the partner's logo will be used if one exists, otherwise a stock logo will be used. + * @return logo + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Base64-encoded representation of the end customer's logo. Must be a PNG of size 1024x1024 under 4MB. The logo will be shared with financial institutions and shown to the end user during Link flows. A logo is required if `create_link_customization` is `true`. If `create_link_customization` is `false` and the logo is omitted, the partner's logo will be used if one exists, otherwise a stock logo will be used.") + + public String getLogo() { + return logo; + } + + + public void setLogo(String logo) { + this.logo = logo; + } + + + public BetaPartnerCustomerV1CreateRequest legalEntityName(String legalEntityName) { + + this.legalEntityName = legalEntityName; + return this; + } + + /** + * The end customer's legal name. This will be shared with financial institutions as part of the OAuth registration process. It will not be shown to end users. + * @return legalEntityName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end customer's legal name. This will be shared with financial institutions as part of the OAuth registration process. It will not be shown to end users.") + + public String getLegalEntityName() { + return legalEntityName; + } + + + public void setLegalEntityName(String legalEntityName) { + this.legalEntityName = legalEntityName; + } + + + public BetaPartnerCustomerV1CreateRequest website(String website) { + + this.website = website; + return this; + } + + /** + * The end customer's website. + * @return website + **/ + @ApiModelProperty(required = true, value = "The end customer's website.") + + public String getWebsite() { + return website; + } + + + public void setWebsite(String website) { + this.website = website; + } + + + public BetaPartnerCustomerV1CreateRequest applicationName(String applicationName) { + + this.applicationName = applicationName; + return this; + } + + /** + * The name of the end customer's application. This will be shown to end users when they go through the Plaid Link flow. The application name must be unique and cannot match the name of another application already registered with Plaid. + * @return applicationName + **/ + @ApiModelProperty(required = true, value = "The name of the end customer's application. This will be shown to end users when they go through the Plaid Link flow. The application name must be unique and cannot match the name of another application already registered with Plaid.") + + public String getApplicationName() { + return applicationName; + } + + + public void setApplicationName(String applicationName) { + this.applicationName = applicationName; + } + + + public BetaPartnerCustomerV1CreateRequest technicalContact(PartnerEndCustomerTechnicalContact technicalContact) { + + this.technicalContact = technicalContact; + return this; + } + + /** + * Get technicalContact + * @return technicalContact + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerTechnicalContact getTechnicalContact() { + return technicalContact; + } + + + public void setTechnicalContact(PartnerEndCustomerTechnicalContact technicalContact) { + this.technicalContact = technicalContact; + } + + + public BetaPartnerCustomerV1CreateRequest billingContact(PartnerEndCustomerBillingContact billingContact) { + + this.billingContact = billingContact; + return this; + } + + /** + * Get billingContact + * @return billingContact + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerBillingContact getBillingContact() { + return billingContact; + } + + + public void setBillingContact(PartnerEndCustomerBillingContact billingContact) { + this.billingContact = billingContact; + } + + + public BetaPartnerCustomerV1CreateRequest customerSupportInfo(PartnerEndCustomerCustomerSupportInfo customerSupportInfo) { + + this.customerSupportInfo = customerSupportInfo; + return this; + } + + /** + * Get customerSupportInfo + * @return customerSupportInfo + **/ + @ApiModelProperty(required = true, value = "") + + public PartnerEndCustomerCustomerSupportInfo getCustomerSupportInfo() { + return customerSupportInfo; + } + + + public void setCustomerSupportInfo(PartnerEndCustomerCustomerSupportInfo customerSupportInfo) { + this.customerSupportInfo = customerSupportInfo; + } + + + public BetaPartnerCustomerV1CreateRequest address(PartnerEndCustomerAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public PartnerEndCustomerAddress getAddress() { + return address; + } + + + public void setAddress(PartnerEndCustomerAddress address) { + this.address = address; + } + + + public BetaPartnerCustomerV1CreateRequest redirectUris(List redirectUris) { + + this.redirectUris = redirectUris; + return this; + } + + public BetaPartnerCustomerV1CreateRequest addRedirectUrisItem(String redirectUrisItem) { + if (this.redirectUris == null) { + this.redirectUris = new ArrayList<>(); + } + this.redirectUris.add(redirectUrisItem); + return this; + } + + /** + * A list of URIs indicating the destination(s) where a user can be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or another app. URIs should not contain any query parameters. When used in Production, URIs must use https. To modify redirect URIs for an end customer after creating them, go to the end customer's [API page](https://dashboard.plaid.com/team/api) in the Dashboard. + * @return redirectUris + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of URIs indicating the destination(s) where a user can be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or another app. URIs should not contain any query parameters. When used in Production, URIs must use https. To modify redirect URIs for an end customer after creating them, go to the end customer's [API page](https://dashboard.plaid.com/team/api) in the Dashboard.") + + public List getRedirectUris() { + return redirectUris; + } + + + public void setRedirectUris(List redirectUris) { + this.redirectUris = redirectUris; + } + + + public BetaPartnerCustomerV1CreateRequest bankAddendumAcceptance(PartnerEndCustomerBankAddendumAcceptance bankAddendumAcceptance) { + + this.bankAddendumAcceptance = bankAddendumAcceptance; + return this; + } + + /** + * Get bankAddendumAcceptance + * @return bankAddendumAcceptance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerBankAddendumAcceptance getBankAddendumAcceptance() { + return bankAddendumAcceptance; + } + + + public void setBankAddendumAcceptance(PartnerEndCustomerBankAddendumAcceptance bankAddendumAcceptance) { + this.bankAddendumAcceptance = bankAddendumAcceptance; + } + + + public BetaPartnerCustomerV1CreateRequest questionnaires(PartnerEndCustomerQuestionnaires questionnaires) { + + this.questionnaires = questionnaires; + return this; + } + + /** + * Get questionnaires + * @return questionnaires + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerQuestionnaires getQuestionnaires() { + return questionnaires; + } + + + public void setQuestionnaires(PartnerEndCustomerQuestionnaires questionnaires) { + this.questionnaires = questionnaires; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BetaPartnerCustomerV1CreateRequest betaPartnerCustomerV1CreateRequest = (BetaPartnerCustomerV1CreateRequest) o; + return Objects.equals(this.clientId, betaPartnerCustomerV1CreateRequest.clientId) && + Objects.equals(this.secret, betaPartnerCustomerV1CreateRequest.secret) && + Objects.equals(this.companyName, betaPartnerCustomerV1CreateRequest.companyName) && + Objects.equals(this.isDiligenceAttested, betaPartnerCustomerV1CreateRequest.isDiligenceAttested) && + Objects.equals(this.products, betaPartnerCustomerV1CreateRequest.products) && + Objects.equals(this.createLinkCustomization, betaPartnerCustomerV1CreateRequest.createLinkCustomization) && + Objects.equals(this.logo, betaPartnerCustomerV1CreateRequest.logo) && + Objects.equals(this.legalEntityName, betaPartnerCustomerV1CreateRequest.legalEntityName) && + Objects.equals(this.website, betaPartnerCustomerV1CreateRequest.website) && + Objects.equals(this.applicationName, betaPartnerCustomerV1CreateRequest.applicationName) && + Objects.equals(this.technicalContact, betaPartnerCustomerV1CreateRequest.technicalContact) && + Objects.equals(this.billingContact, betaPartnerCustomerV1CreateRequest.billingContact) && + Objects.equals(this.customerSupportInfo, betaPartnerCustomerV1CreateRequest.customerSupportInfo) && + Objects.equals(this.address, betaPartnerCustomerV1CreateRequest.address) && + Objects.equals(this.redirectUris, betaPartnerCustomerV1CreateRequest.redirectUris) && + Objects.equals(this.bankAddendumAcceptance, betaPartnerCustomerV1CreateRequest.bankAddendumAcceptance) && + Objects.equals(this.questionnaires, betaPartnerCustomerV1CreateRequest.questionnaires); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, companyName, isDiligenceAttested, products, createLinkCustomization, logo, legalEntityName, website, applicationName, technicalContact, billingContact, customerSupportInfo, address, redirectUris, bankAddendumAcceptance, questionnaires); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BetaPartnerCustomerV1CreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" companyName: ").append(toIndentedString(companyName)).append("\n"); + sb.append(" isDiligenceAttested: ").append(toIndentedString(isDiligenceAttested)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append(" createLinkCustomization: ").append(toIndentedString(createLinkCustomization)).append("\n"); + sb.append(" logo: ").append(toIndentedString(logo)).append("\n"); + sb.append(" legalEntityName: ").append(toIndentedString(legalEntityName)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" applicationName: ").append(toIndentedString(applicationName)).append("\n"); + sb.append(" technicalContact: ").append(toIndentedString(technicalContact)).append("\n"); + sb.append(" billingContact: ").append(toIndentedString(billingContact)).append("\n"); + sb.append(" customerSupportInfo: ").append(toIndentedString(customerSupportInfo)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" redirectUris: ").append(toIndentedString(redirectUris)).append("\n"); + sb.append(" bankAddendumAcceptance: ").append(toIndentedString(bankAddendumAcceptance)).append("\n"); + sb.append(" questionnaires: ").append(toIndentedString(questionnaires)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1CreateResponse.java b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1CreateResponse.java new file mode 100644 index 0000000000..6a1de30bfc --- /dev/null +++ b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1CreateResponse.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BetaPartnerEndCustomerWithSecrets; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Response schema for `/beta/partner/customer/v1/create`. + */ +@ApiModel(description = "Response schema for `/beta/partner/customer/v1/create`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BetaPartnerCustomerV1CreateResponse { + public static final String SERIALIZED_NAME_END_CUSTOMER = "end_customer"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER) + private BetaPartnerEndCustomerWithSecrets endCustomer; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BetaPartnerCustomerV1CreateResponse endCustomer(BetaPartnerEndCustomerWithSecrets endCustomer) { + + this.endCustomer = endCustomer; + return this; + } + + /** + * Get endCustomer + * @return endCustomer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BetaPartnerEndCustomerWithSecrets getEndCustomer() { + return endCustomer; + } + + + public void setEndCustomer(BetaPartnerEndCustomerWithSecrets endCustomer) { + this.endCustomer = endCustomer; + } + + + public BetaPartnerCustomerV1CreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BetaPartnerCustomerV1CreateResponse betaPartnerCustomerV1CreateResponse = (BetaPartnerCustomerV1CreateResponse) o; + return Objects.equals(this.endCustomer, betaPartnerCustomerV1CreateResponse.endCustomer) && + Objects.equals(this.requestId, betaPartnerCustomerV1CreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(endCustomer, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BetaPartnerCustomerV1CreateResponse {\n"); + sb.append(" endCustomer: ").append(toIndentedString(endCustomer)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1EnableRequest.java b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1EnableRequest.java new file mode 100644 index 0000000000..40432b8740 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1EnableRequest.java @@ -0,0 +1,196 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Request schema for `/beta/partner/customer/v1/enable`. + */ +@ApiModel(description = "Request schema for `/beta/partner/customer/v1/enable`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BetaPartnerCustomerV1EnableRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID = "end_customer_client_id"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID) + private String endCustomerClientId; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = null; + + + public BetaPartnerCustomerV1EnableRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BetaPartnerCustomerV1EnableRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BetaPartnerCustomerV1EnableRequest endCustomerClientId(String endCustomerClientId) { + + this.endCustomerClientId = endCustomerClientId; + return this; + } + + /** + * Get endCustomerClientId + * @return endCustomerClientId + **/ + @ApiModelProperty(required = true, value = "") + + public String getEndCustomerClientId() { + return endCustomerClientId; + } + + + public void setEndCustomerClientId(String endCustomerClientId) { + this.endCustomerClientId = endCustomerClientId; + } + + + public BetaPartnerCustomerV1EnableRequest products(List products) { + + this.products = products; + return this; + } + + public BetaPartnerCustomerV1EnableRequest addProductsItem(Products productsItem) { + if (this.products == null) { + this.products = new ArrayList<>(); + } + this.products.add(productsItem); + return this; + } + + /** + * Get products + * @return products + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BetaPartnerCustomerV1EnableRequest betaPartnerCustomerV1EnableRequest = (BetaPartnerCustomerV1EnableRequest) o; + return Objects.equals(this.clientId, betaPartnerCustomerV1EnableRequest.clientId) && + Objects.equals(this.secret, betaPartnerCustomerV1EnableRequest.secret) && + Objects.equals(this.endCustomerClientId, betaPartnerCustomerV1EnableRequest.endCustomerClientId) && + Objects.equals(this.products, betaPartnerCustomerV1EnableRequest.products); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, endCustomerClientId, products); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BetaPartnerCustomerV1EnableRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" endCustomerClientId: ").append(toIndentedString(endCustomerClientId)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1EnableResponse.java b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1EnableResponse.java new file mode 100644 index 0000000000..49149c4c0a --- /dev/null +++ b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1EnableResponse.java @@ -0,0 +1,216 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Response schema for `/beta/partner/customer/v1/enable`. + */ +@ApiModel(description = "Response schema for `/beta/partner/customer/v1/enable`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BetaPartnerCustomerV1EnableResponse { + public static final String SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID = "end_customer_client_id"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID) + private String endCustomerClientId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PartnerEndCustomerStatus status; + + public static final String SERIALIZED_NAME_PRODUCT_STATUSES = "product_statuses"; + @SerializedName(SERIALIZED_NAME_PRODUCT_STATUSES) + private Object productStatuses; + + public static final String SERIALIZED_NAME_PRODUCTION_SECRET = "production_secret"; + @SerializedName(SERIALIZED_NAME_PRODUCTION_SECRET) + private String productionSecret; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BetaPartnerCustomerV1EnableResponse endCustomerClientId(String endCustomerClientId) { + + this.endCustomerClientId = endCustomerClientId; + return this; + } + + /** + * Get endCustomerClientId + * @return endCustomerClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getEndCustomerClientId() { + return endCustomerClientId; + } + + + public void setEndCustomerClientId(String endCustomerClientId) { + this.endCustomerClientId = endCustomerClientId; + } + + + public BetaPartnerCustomerV1EnableResponse status(PartnerEndCustomerStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerStatus getStatus() { + return status; + } + + + public void setStatus(PartnerEndCustomerStatus status) { + this.status = status; + } + + + public BetaPartnerCustomerV1EnableResponse productStatuses(Object productStatuses) { + + this.productStatuses = productStatuses; + return this; + } + + /** + * Mapping of product names to their current status. + * @return productStatuses + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Mapping of product names to their current status.") + + public Object getProductStatuses() { + return productStatuses; + } + + + public void setProductStatuses(Object productStatuses) { + this.productStatuses = productStatuses; + } + + + public BetaPartnerCustomerV1EnableResponse productionSecret(String productionSecret) { + + this.productionSecret = productionSecret; + return this; + } + + /** + * Get productionSecret + * @return productionSecret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getProductionSecret() { + return productionSecret; + } + + + public void setProductionSecret(String productionSecret) { + this.productionSecret = productionSecret; + } + + + public BetaPartnerCustomerV1EnableResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BetaPartnerCustomerV1EnableResponse betaPartnerCustomerV1EnableResponse = (BetaPartnerCustomerV1EnableResponse) o; + return Objects.equals(this.endCustomerClientId, betaPartnerCustomerV1EnableResponse.endCustomerClientId) && + Objects.equals(this.status, betaPartnerCustomerV1EnableResponse.status) && + Objects.equals(this.productStatuses, betaPartnerCustomerV1EnableResponse.productStatuses) && + Objects.equals(this.productionSecret, betaPartnerCustomerV1EnableResponse.productionSecret) && + Objects.equals(this.requestId, betaPartnerCustomerV1EnableResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(endCustomerClientId, status, productStatuses, productionSecret, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BetaPartnerCustomerV1EnableResponse {\n"); + sb.append(" endCustomerClientId: ").append(toIndentedString(endCustomerClientId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" productStatuses: ").append(toIndentedString(productStatuses)).append("\n"); + sb.append(" productionSecret: ").append(toIndentedString(productionSecret)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1GetRequest.java b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1GetRequest.java new file mode 100644 index 0000000000..3abfe0cd28 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1GetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request schema for `/beta/partner/customer/v1/get`. + */ +@ApiModel(description = "Request schema for `/beta/partner/customer/v1/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BetaPartnerCustomerV1GetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID = "end_customer_client_id"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID) + private String endCustomerClientId; + + + public BetaPartnerCustomerV1GetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BetaPartnerCustomerV1GetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BetaPartnerCustomerV1GetRequest endCustomerClientId(String endCustomerClientId) { + + this.endCustomerClientId = endCustomerClientId; + return this; + } + + /** + * Get endCustomerClientId + * @return endCustomerClientId + **/ + @ApiModelProperty(required = true, value = "") + + public String getEndCustomerClientId() { + return endCustomerClientId; + } + + + public void setEndCustomerClientId(String endCustomerClientId) { + this.endCustomerClientId = endCustomerClientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BetaPartnerCustomerV1GetRequest betaPartnerCustomerV1GetRequest = (BetaPartnerCustomerV1GetRequest) o; + return Objects.equals(this.clientId, betaPartnerCustomerV1GetRequest.clientId) && + Objects.equals(this.secret, betaPartnerCustomerV1GetRequest.secret) && + Objects.equals(this.endCustomerClientId, betaPartnerCustomerV1GetRequest.endCustomerClientId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, endCustomerClientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BetaPartnerCustomerV1GetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" endCustomerClientId: ").append(toIndentedString(endCustomerClientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1GetResponse.java b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1GetResponse.java new file mode 100644 index 0000000000..44fc5e2ccd --- /dev/null +++ b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1GetResponse.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BetaPartnerEndCustomer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Response schema for `/beta/partner/customer/v1/get`. + */ +@ApiModel(description = "Response schema for `/beta/partner/customer/v1/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BetaPartnerCustomerV1GetResponse { + public static final String SERIALIZED_NAME_END_CUSTOMER = "end_customer"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER) + private BetaPartnerEndCustomer endCustomer; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BetaPartnerCustomerV1GetResponse endCustomer(BetaPartnerEndCustomer endCustomer) { + + this.endCustomer = endCustomer; + return this; + } + + /** + * Get endCustomer + * @return endCustomer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BetaPartnerEndCustomer getEndCustomer() { + return endCustomer; + } + + + public void setEndCustomer(BetaPartnerEndCustomer endCustomer) { + this.endCustomer = endCustomer; + } + + + public BetaPartnerCustomerV1GetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BetaPartnerCustomerV1GetResponse betaPartnerCustomerV1GetResponse = (BetaPartnerCustomerV1GetResponse) o; + return Objects.equals(this.endCustomer, betaPartnerCustomerV1GetResponse.endCustomer) && + Objects.equals(this.requestId, betaPartnerCustomerV1GetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(endCustomer, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BetaPartnerCustomerV1GetResponse {\n"); + sb.append(" endCustomer: ").append(toIndentedString(endCustomer)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1UpdateRequest.java b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1UpdateRequest.java new file mode 100644 index 0000000000..2f2f158821 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1UpdateRequest.java @@ -0,0 +1,284 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerBankAddendumAcceptance; +import com.plaid.client.model.PartnerEndCustomerQuestionnaires; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Request schema for `/beta/partner/customer/v1/update`. + */ +@ApiModel(description = "Request schema for `/beta/partner/customer/v1/update`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BetaPartnerCustomerV1UpdateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID = "end_customer_client_id"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID) + private String endCustomerClientId; + + public static final String SERIALIZED_NAME_LEGAL_ENTITY_NAME = "legal_entity_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_ENTITY_NAME) + private String legalEntityName; + + public static final String SERIALIZED_NAME_REDIRECT_URIS = "redirect_uris"; + @SerializedName(SERIALIZED_NAME_REDIRECT_URIS) + private List redirectUris = null; + + public static final String SERIALIZED_NAME_BANK_ADDENDUM_ACCEPTANCE = "bank_addendum_acceptance"; + @SerializedName(SERIALIZED_NAME_BANK_ADDENDUM_ACCEPTANCE) + private PartnerEndCustomerBankAddendumAcceptance bankAddendumAcceptance; + + public static final String SERIALIZED_NAME_QUESTIONNAIRES = "questionnaires"; + @SerializedName(SERIALIZED_NAME_QUESTIONNAIRES) + private PartnerEndCustomerQuestionnaires questionnaires; + + + public BetaPartnerCustomerV1UpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BetaPartnerCustomerV1UpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BetaPartnerCustomerV1UpdateRequest endCustomerClientId(String endCustomerClientId) { + + this.endCustomerClientId = endCustomerClientId; + return this; + } + + /** + * Get endCustomerClientId + * @return endCustomerClientId + **/ + @ApiModelProperty(required = true, value = "") + + public String getEndCustomerClientId() { + return endCustomerClientId; + } + + + public void setEndCustomerClientId(String endCustomerClientId) { + this.endCustomerClientId = endCustomerClientId; + } + + + public BetaPartnerCustomerV1UpdateRequest legalEntityName(String legalEntityName) { + + this.legalEntityName = legalEntityName; + return this; + } + + /** + * Get legalEntityName + * @return legalEntityName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getLegalEntityName() { + return legalEntityName; + } + + + public void setLegalEntityName(String legalEntityName) { + this.legalEntityName = legalEntityName; + } + + + public BetaPartnerCustomerV1UpdateRequest redirectUris(List redirectUris) { + + this.redirectUris = redirectUris; + return this; + } + + public BetaPartnerCustomerV1UpdateRequest addRedirectUrisItem(String redirectUrisItem) { + if (this.redirectUris == null) { + this.redirectUris = new ArrayList<>(); + } + this.redirectUris.add(redirectUrisItem); + return this; + } + + /** + * Get redirectUris + * @return redirectUris + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getRedirectUris() { + return redirectUris; + } + + + public void setRedirectUris(List redirectUris) { + this.redirectUris = redirectUris; + } + + + public BetaPartnerCustomerV1UpdateRequest bankAddendumAcceptance(PartnerEndCustomerBankAddendumAcceptance bankAddendumAcceptance) { + + this.bankAddendumAcceptance = bankAddendumAcceptance; + return this; + } + + /** + * Get bankAddendumAcceptance + * @return bankAddendumAcceptance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerBankAddendumAcceptance getBankAddendumAcceptance() { + return bankAddendumAcceptance; + } + + + public void setBankAddendumAcceptance(PartnerEndCustomerBankAddendumAcceptance bankAddendumAcceptance) { + this.bankAddendumAcceptance = bankAddendumAcceptance; + } + + + public BetaPartnerCustomerV1UpdateRequest questionnaires(PartnerEndCustomerQuestionnaires questionnaires) { + + this.questionnaires = questionnaires; + return this; + } + + /** + * Get questionnaires + * @return questionnaires + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerQuestionnaires getQuestionnaires() { + return questionnaires; + } + + + public void setQuestionnaires(PartnerEndCustomerQuestionnaires questionnaires) { + this.questionnaires = questionnaires; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BetaPartnerCustomerV1UpdateRequest betaPartnerCustomerV1UpdateRequest = (BetaPartnerCustomerV1UpdateRequest) o; + return Objects.equals(this.clientId, betaPartnerCustomerV1UpdateRequest.clientId) && + Objects.equals(this.secret, betaPartnerCustomerV1UpdateRequest.secret) && + Objects.equals(this.endCustomerClientId, betaPartnerCustomerV1UpdateRequest.endCustomerClientId) && + Objects.equals(this.legalEntityName, betaPartnerCustomerV1UpdateRequest.legalEntityName) && + Objects.equals(this.redirectUris, betaPartnerCustomerV1UpdateRequest.redirectUris) && + Objects.equals(this.bankAddendumAcceptance, betaPartnerCustomerV1UpdateRequest.bankAddendumAcceptance) && + Objects.equals(this.questionnaires, betaPartnerCustomerV1UpdateRequest.questionnaires); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, endCustomerClientId, legalEntityName, redirectUris, bankAddendumAcceptance, questionnaires); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BetaPartnerCustomerV1UpdateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" endCustomerClientId: ").append(toIndentedString(endCustomerClientId)).append("\n"); + sb.append(" legalEntityName: ").append(toIndentedString(legalEntityName)).append("\n"); + sb.append(" redirectUris: ").append(toIndentedString(redirectUris)).append("\n"); + sb.append(" bankAddendumAcceptance: ").append(toIndentedString(bankAddendumAcceptance)).append("\n"); + sb.append(" questionnaires: ").append(toIndentedString(questionnaires)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1UpdateResponse.java b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1UpdateResponse.java new file mode 100644 index 0000000000..b545b78a90 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BetaPartnerCustomerV1UpdateResponse.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BetaPartnerEndCustomer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Response schema for `/beta/partner/customer/v1/update`. + */ +@ApiModel(description = "Response schema for `/beta/partner/customer/v1/update`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BetaPartnerCustomerV1UpdateResponse { + public static final String SERIALIZED_NAME_END_CUSTOMER = "end_customer"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER) + private BetaPartnerEndCustomer endCustomer; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public BetaPartnerCustomerV1UpdateResponse endCustomer(BetaPartnerEndCustomer endCustomer) { + + this.endCustomer = endCustomer; + return this; + } + + /** + * Get endCustomer + * @return endCustomer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BetaPartnerEndCustomer getEndCustomer() { + return endCustomer; + } + + + public void setEndCustomer(BetaPartnerEndCustomer endCustomer) { + this.endCustomer = endCustomer; + } + + + public BetaPartnerCustomerV1UpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BetaPartnerCustomerV1UpdateResponse betaPartnerCustomerV1UpdateResponse = (BetaPartnerCustomerV1UpdateResponse) o; + return Objects.equals(this.endCustomer, betaPartnerCustomerV1UpdateResponse.endCustomer) && + Objects.equals(this.requestId, betaPartnerCustomerV1UpdateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(endCustomer, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BetaPartnerCustomerV1UpdateResponse {\n"); + sb.append(" endCustomer: ").append(toIndentedString(endCustomer)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BetaPartnerEndCustomer.java b/src/main/java/com/plaid/client/model/BetaPartnerEndCustomer.java new file mode 100644 index 0000000000..454fa4d9cf --- /dev/null +++ b/src/main/java/com/plaid/client/model/BetaPartnerEndCustomer.java @@ -0,0 +1,227 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerRequirementDue; +import com.plaid.client.model.PartnerEndCustomerStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The details for an end customer. + */ +@ApiModel(description = "The details for an end customer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BetaPartnerEndCustomer { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_COMPANY_NAME = "company_name"; + @SerializedName(SERIALIZED_NAME_COMPANY_NAME) + private String companyName; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PartnerEndCustomerStatus status; + + public static final String SERIALIZED_NAME_PRODUCT_STATUSES = "product_statuses"; + @SerializedName(SERIALIZED_NAME_PRODUCT_STATUSES) + private Object productStatuses; + + public static final String SERIALIZED_NAME_REQUIREMENTS_DUE = "requirements_due"; + @SerializedName(SERIALIZED_NAME_REQUIREMENTS_DUE) + private List requirementsDue = null; + + + public BetaPartnerEndCustomer clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * The `client_id` of the end customer. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `client_id` of the end customer.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BetaPartnerEndCustomer companyName(String companyName) { + + this.companyName = companyName; + return this; + } + + /** + * The company name associated with the end customer. + * @return companyName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The company name associated with the end customer.") + + public String getCompanyName() { + return companyName; + } + + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + + public BetaPartnerEndCustomer status(PartnerEndCustomerStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerStatus getStatus() { + return status; + } + + + public void setStatus(PartnerEndCustomerStatus status) { + this.status = status; + } + + + public BetaPartnerEndCustomer productStatuses(Object productStatuses) { + + this.productStatuses = productStatuses; + return this; + } + + /** + * Mapping of product names to their current status. + * @return productStatuses + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Mapping of product names to their current status.") + + public Object getProductStatuses() { + return productStatuses; + } + + + public void setProductStatuses(Object productStatuses) { + this.productStatuses = productStatuses; + } + + + public BetaPartnerEndCustomer requirementsDue(List requirementsDue) { + + this.requirementsDue = requirementsDue; + return this; + } + + public BetaPartnerEndCustomer addRequirementsDueItem(PartnerEndCustomerRequirementDue requirementsDueItem) { + if (this.requirementsDue == null) { + this.requirementsDue = new ArrayList<>(); + } + this.requirementsDue.add(requirementsDueItem); + return this; + } + + /** + * A list of fields that are still required to be submitted. + * @return requirementsDue + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of fields that are still required to be submitted.") + + public List getRequirementsDue() { + return requirementsDue; + } + + + public void setRequirementsDue(List requirementsDue) { + this.requirementsDue = requirementsDue; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BetaPartnerEndCustomer betaPartnerEndCustomer = (BetaPartnerEndCustomer) o; + return Objects.equals(this.clientId, betaPartnerEndCustomer.clientId) && + Objects.equals(this.companyName, betaPartnerEndCustomer.companyName) && + Objects.equals(this.status, betaPartnerEndCustomer.status) && + Objects.equals(this.productStatuses, betaPartnerEndCustomer.productStatuses) && + Objects.equals(this.requirementsDue, betaPartnerEndCustomer.requirementsDue); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, companyName, status, productStatuses, requirementsDue); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BetaPartnerEndCustomer {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" companyName: ").append(toIndentedString(companyName)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" productStatuses: ").append(toIndentedString(productStatuses)).append("\n"); + sb.append(" requirementsDue: ").append(toIndentedString(requirementsDue)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BetaPartnerEndCustomerWithSecrets.java b/src/main/java/com/plaid/client/model/BetaPartnerEndCustomerWithSecrets.java new file mode 100644 index 0000000000..20a568489b --- /dev/null +++ b/src/main/java/com/plaid/client/model/BetaPartnerEndCustomerWithSecrets.java @@ -0,0 +1,259 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BetaPartnerEndCustomer; +import com.plaid.client.model.PartnerEndCustomerRequirementDue; +import com.plaid.client.model.PartnerEndCustomerSecrets; +import com.plaid.client.model.PartnerEndCustomerStatus; +import com.plaid.client.model.PartnerEndCustomerWithSecretsAllOf; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The details for the newly created end customer, including secrets for non-Production environments. + */ +@ApiModel(description = "The details for the newly created end customer, including secrets for non-Production environments.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BetaPartnerEndCustomerWithSecrets { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_COMPANY_NAME = "company_name"; + @SerializedName(SERIALIZED_NAME_COMPANY_NAME) + private String companyName; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PartnerEndCustomerStatus status; + + public static final String SERIALIZED_NAME_PRODUCT_STATUSES = "product_statuses"; + @SerializedName(SERIALIZED_NAME_PRODUCT_STATUSES) + private Object productStatuses; + + public static final String SERIALIZED_NAME_REQUIREMENTS_DUE = "requirements_due"; + @SerializedName(SERIALIZED_NAME_REQUIREMENTS_DUE) + private List requirementsDue = null; + + public static final String SERIALIZED_NAME_SECRETS = "secrets"; + @SerializedName(SERIALIZED_NAME_SECRETS) + private PartnerEndCustomerSecrets secrets; + + + public BetaPartnerEndCustomerWithSecrets clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * The `client_id` of the end customer. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `client_id` of the end customer.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BetaPartnerEndCustomerWithSecrets companyName(String companyName) { + + this.companyName = companyName; + return this; + } + + /** + * The company name associated with the end customer. + * @return companyName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The company name associated with the end customer.") + + public String getCompanyName() { + return companyName; + } + + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + + public BetaPartnerEndCustomerWithSecrets status(PartnerEndCustomerStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerStatus getStatus() { + return status; + } + + + public void setStatus(PartnerEndCustomerStatus status) { + this.status = status; + } + + + public BetaPartnerEndCustomerWithSecrets productStatuses(Object productStatuses) { + + this.productStatuses = productStatuses; + return this; + } + + /** + * Mapping of product names to their current status. + * @return productStatuses + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Mapping of product names to their current status.") + + public Object getProductStatuses() { + return productStatuses; + } + + + public void setProductStatuses(Object productStatuses) { + this.productStatuses = productStatuses; + } + + + public BetaPartnerEndCustomerWithSecrets requirementsDue(List requirementsDue) { + + this.requirementsDue = requirementsDue; + return this; + } + + public BetaPartnerEndCustomerWithSecrets addRequirementsDueItem(PartnerEndCustomerRequirementDue requirementsDueItem) { + if (this.requirementsDue == null) { + this.requirementsDue = new ArrayList<>(); + } + this.requirementsDue.add(requirementsDueItem); + return this; + } + + /** + * A list of fields that are still required to be submitted. + * @return requirementsDue + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of fields that are still required to be submitted.") + + public List getRequirementsDue() { + return requirementsDue; + } + + + public void setRequirementsDue(List requirementsDue) { + this.requirementsDue = requirementsDue; + } + + + public BetaPartnerEndCustomerWithSecrets secrets(PartnerEndCustomerSecrets secrets) { + + this.secrets = secrets; + return this; + } + + /** + * Get secrets + * @return secrets + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerSecrets getSecrets() { + return secrets; + } + + + public void setSecrets(PartnerEndCustomerSecrets secrets) { + this.secrets = secrets; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BetaPartnerEndCustomerWithSecrets betaPartnerEndCustomerWithSecrets = (BetaPartnerEndCustomerWithSecrets) o; + return Objects.equals(this.clientId, betaPartnerEndCustomerWithSecrets.clientId) && + Objects.equals(this.companyName, betaPartnerEndCustomerWithSecrets.companyName) && + Objects.equals(this.status, betaPartnerEndCustomerWithSecrets.status) && + Objects.equals(this.productStatuses, betaPartnerEndCustomerWithSecrets.productStatuses) && + Objects.equals(this.requirementsDue, betaPartnerEndCustomerWithSecrets.requirementsDue) && + Objects.equals(this.secrets, betaPartnerEndCustomerWithSecrets.secrets); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, companyName, status, productStatuses, requirementsDue, secrets); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BetaPartnerEndCustomerWithSecrets {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" companyName: ").append(toIndentedString(companyName)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" productStatuses: ").append(toIndentedString(productStatuses)).append("\n"); + sb.append(" requirementsDue: ").append(toIndentedString(requirementsDue)).append("\n"); + sb.append(" secrets: ").append(toIndentedString(secrets)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessAccount.java b/src/main/java/com/plaid/client/model/BusinessAccount.java new file mode 100644 index 0000000000..b781d9f6f0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessAccount.java @@ -0,0 +1,526 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBalance; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.AccountHolderCategory; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.AccountVerificationInsights; +import com.plaid.client.model.BusinessAccountAllOf; +import com.plaid.client.model.Owner; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Business identity information about an account + */ +@ApiModel(description = "Business identity information about an account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessAccount { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_BALANCES = "balances"; + @SerializedName(SERIALIZED_NAME_BALANCES) + private AccountBalance balances; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + */ + @JsonAdapter(VerificationStatusEnum.Adapter.class) + public enum VerificationStatusEnum { + AUTOMATICALLY_VERIFIED("automatically_verified"), + + PENDING_AUTOMATIC_VERIFICATION("pending_automatic_verification"), + + PENDING_MANUAL_VERIFICATION("pending_manual_verification"), + + UNSENT("unsent"), + + MANUALLY_VERIFIED("manually_verified"), + + VERIFICATION_EXPIRED("verification_expired"), + + VERIFICATION_FAILED("verification_failed"), + + DATABASE_MATCHED("database_matched"), + + DATABASE_INSIGHTS_PASS("database_insights_pass"), + + DATABASE_INSIGHTS_PASS_WITH_CAUTION("database_insights_pass_with_caution"), + + DATABASE_INSIGHTS_FAIL("database_insights_fail"); + + private String value; + + VerificationStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static VerificationStatusEnum fromValue(String value) { + for (VerificationStatusEnum b : VerificationStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final VerificationStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public VerificationStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return VerificationStatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatusEnum verificationStatus; + + public static final String SERIALIZED_NAME_VERIFICATION_NAME = "verification_name"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_NAME) + private String verificationName; + + public static final String SERIALIZED_NAME_VERIFICATION_INSIGHTS = "verification_insights"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_INSIGHTS) + private AccountVerificationInsights verificationInsights; + + public static final String SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID = "persistent_account_id"; + @SerializedName(SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID) + private String persistentAccountId; + + public static final String SERIALIZED_NAME_HOLDER_CATEGORY = "holder_category"; + @SerializedName(SERIALIZED_NAME_HOLDER_CATEGORY) + private AccountHolderCategory holderCategory; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = null; + + + public BusinessAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public BusinessAccount balances(AccountBalance balances) { + + this.balances = balances; + return this; + } + + /** + * Get balances + * @return balances + **/ + @ApiModelProperty(required = true, value = "") + + public AccountBalance getBalances() { + return balances; + } + + + public void setBalances(AccountBalance balances) { + this.balances = balances; + } + + + public BusinessAccount mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * Get mask + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public BusinessAccount name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public BusinessAccount officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * Get officialName + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public BusinessAccount type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public BusinessAccount subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public BusinessAccount verificationStatus(VerificationStatusEnum verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + * @return verificationStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item.") + + public VerificationStatusEnum getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatusEnum verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + public BusinessAccount verificationName(String verificationName) { + + this.verificationName = verificationName; + return this; + } + + /** + * Get verificationName + * @return verificationName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getVerificationName() { + return verificationName; + } + + + public void setVerificationName(String verificationName) { + this.verificationName = verificationName; + } + + + public BusinessAccount verificationInsights(AccountVerificationInsights verificationInsights) { + + this.verificationInsights = verificationInsights; + return this; + } + + /** + * Get verificationInsights + * @return verificationInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountVerificationInsights getVerificationInsights() { + return verificationInsights; + } + + + public void setVerificationInsights(AccountVerificationInsights verificationInsights) { + this.verificationInsights = verificationInsights; + } + + + public BusinessAccount persistentAccountId(String persistentAccountId) { + + this.persistentAccountId = persistentAccountId; + return this; + } + + /** + * A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions. + * @return persistentAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions.") + + public String getPersistentAccountId() { + return persistentAccountId; + } + + + public void setPersistentAccountId(String persistentAccountId) { + this.persistentAccountId = persistentAccountId; + } + + + public BusinessAccount holderCategory(AccountHolderCategory holderCategory) { + + this.holderCategory = holderCategory; + return this; + } + + /** + * Get holderCategory + * @return holderCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountHolderCategory getHolderCategory() { + return holderCategory; + } + + + public void setHolderCategory(AccountHolderCategory holderCategory) { + this.holderCategory = holderCategory; + } + + + public BusinessAccount owners(List owners) { + + this.owners = owners; + return this; + } + + public BusinessAccount addOwnersItem(Owner ownersItem) { + if (this.owners == null) { + this.owners = new ArrayList<>(); + } + this.owners.add(ownersItem); + return this; + } + + /** + * Data returned by the financial institution about the account owner or owners. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same owner object, not in multiple owner objects within the array. + * @return owners + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Data returned by the financial institution about the account owner or owners. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same owner object, not in multiple owner objects within the array.") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessAccount businessAccount = (BusinessAccount) o; + return Objects.equals(this.accountId, businessAccount.accountId) && + Objects.equals(this.balances, businessAccount.balances) && + Objects.equals(this.mask, businessAccount.mask) && + Objects.equals(this.name, businessAccount.name) && + Objects.equals(this.officialName, businessAccount.officialName) && + Objects.equals(this.type, businessAccount.type) && + Objects.equals(this.subtype, businessAccount.subtype) && + Objects.equals(this.verificationStatus, businessAccount.verificationStatus) && + Objects.equals(this.verificationName, businessAccount.verificationName) && + Objects.equals(this.verificationInsights, businessAccount.verificationInsights) && + Objects.equals(this.persistentAccountId, businessAccount.persistentAccountId) && + Objects.equals(this.holderCategory, businessAccount.holderCategory) && + Objects.equals(this.owners, businessAccount.owners); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, balances, mask, name, officialName, type, subtype, verificationStatus, verificationName, verificationInsights, persistentAccountId, holderCategory, owners); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessAccount {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" balances: ").append(toIndentedString(balances)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append(" verificationName: ").append(toIndentedString(verificationName)).append("\n"); + sb.append(" verificationInsights: ").append(toIndentedString(verificationInsights)).append("\n"); + sb.append(" persistentAccountId: ").append(toIndentedString(persistentAccountId)).append("\n"); + sb.append(" holderCategory: ").append(toIndentedString(holderCategory)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessAccountAllOf.java b/src/main/java/com/plaid/client/model/BusinessAccountAllOf.java new file mode 100644 index 0000000000..70325d4a1a --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessAccountAllOf.java @@ -0,0 +1,225 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Owner; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * BusinessAccountAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessAccountAllOf { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_VERIFICATION_NAME = "verification_name"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_NAME) + private String verificationName; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = null; + + + public BusinessAccountAllOf name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public BusinessAccountAllOf officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * Get officialName + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public BusinessAccountAllOf mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * Get mask + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public BusinessAccountAllOf verificationName(String verificationName) { + + this.verificationName = verificationName; + return this; + } + + /** + * Get verificationName + * @return verificationName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getVerificationName() { + return verificationName; + } + + + public void setVerificationName(String verificationName) { + this.verificationName = verificationName; + } + + + public BusinessAccountAllOf owners(List owners) { + + this.owners = owners; + return this; + } + + public BusinessAccountAllOf addOwnersItem(Owner ownersItem) { + if (this.owners == null) { + this.owners = new ArrayList<>(); + } + this.owners.add(ownersItem); + return this; + } + + /** + * Data returned by the financial institution about the account owner or owners. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same owner object, not in multiple owner objects within the array. + * @return owners + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Data returned by the financial institution about the account owner or owners. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same owner object, not in multiple owner objects within the array.") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessAccountAllOf businessAccountAllOf = (BusinessAccountAllOf) o; + return Objects.equals(this.name, businessAccountAllOf.name) && + Objects.equals(this.officialName, businessAccountAllOf.officialName) && + Objects.equals(this.mask, businessAccountAllOf.mask) && + Objects.equals(this.verificationName, businessAccountAllOf.verificationName) && + Objects.equals(this.owners, businessAccountAllOf.owners); + } + + @Override + public int hashCode() { + return Objects.hash(name, officialName, mask, verificationName, owners); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessAccountAllOf {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" verificationName: ").append(toIndentedString(verificationName)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessCheckBooleanStatus.java b/src/main/java/com/plaid/client/model/BusinessCheckBooleanStatus.java new file mode 100644 index 0000000000..a68ea7a754 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessCheckBooleanStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Tri-state boolean status, where `no_data` indicates the check could not determine a value. + */ +@JsonAdapter(BusinessCheckBooleanStatus.Adapter.class) +public enum BusinessCheckBooleanStatus { + + YES("yes"), + + NO("no"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BusinessCheckBooleanStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BusinessCheckBooleanStatus fromValue(String value) { + for (BusinessCheckBooleanStatus b : BusinessCheckBooleanStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BusinessCheckBooleanStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BusinessCheckBooleanStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BusinessCheckBooleanStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BusinessCheckBooleanStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BusinessDigitalPresenceCheck.java b/src/main/java/com/plaid/client/model/BusinessDigitalPresenceCheck.java new file mode 100644 index 0000000000..0ae2f411d3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessDigitalPresenceCheck.java @@ -0,0 +1,270 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessFieldMatchSummary; +import com.plaid.client.model.BusinessVerificationStatusWebPresenceCheck; +import com.plaid.client.model.BusinessWebsiteAnalysis; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Results from the digital presence check. + */ +@ApiModel(description = "Results from the digital presence check.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessDigitalPresenceCheck { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private BusinessVerificationStatusWebPresenceCheck status; + + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private BusinessFieldMatchSummary address; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private BusinessFieldMatchSummary phoneNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private BusinessFieldMatchSummary emailAddress; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private BusinessFieldMatchSummary website; + + public static final String SERIALIZED_NAME_WEBSITE_ANALYSIS = "website_analysis"; + @SerializedName(SERIALIZED_NAME_WEBSITE_ANALYSIS) + private BusinessWebsiteAnalysis websiteAnalysis; + + + public BusinessDigitalPresenceCheck status(BusinessVerificationStatusWebPresenceCheck status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessVerificationStatusWebPresenceCheck getStatus() { + return status; + } + + + public void setStatus(BusinessVerificationStatusWebPresenceCheck status) { + this.status = status; + } + + + public BusinessDigitalPresenceCheck score(Integer score) { + + this.score = score; + return this; + } + + /** + * A score from 0 to 100 indicating digital presence confidence. + * @return score + **/ + @ApiModelProperty(example = "55", required = true, value = "A score from 0 to 100 indicating digital presence confidence.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public BusinessDigitalPresenceCheck address(BusinessFieldMatchSummary address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessFieldMatchSummary getAddress() { + return address; + } + + + public void setAddress(BusinessFieldMatchSummary address) { + this.address = address; + } + + + public BusinessDigitalPresenceCheck phoneNumber(BusinessFieldMatchSummary phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * Get phoneNumber + * @return phoneNumber + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessFieldMatchSummary getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(BusinessFieldMatchSummary phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public BusinessDigitalPresenceCheck emailAddress(BusinessFieldMatchSummary emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * Get emailAddress + * @return emailAddress + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessFieldMatchSummary getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(BusinessFieldMatchSummary emailAddress) { + this.emailAddress = emailAddress; + } + + + public BusinessDigitalPresenceCheck website(BusinessFieldMatchSummary website) { + + this.website = website; + return this; + } + + /** + * Get website + * @return website + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessFieldMatchSummary getWebsite() { + return website; + } + + + public void setWebsite(BusinessFieldMatchSummary website) { + this.website = website; + } + + + public BusinessDigitalPresenceCheck websiteAnalysis(BusinessWebsiteAnalysis websiteAnalysis) { + + this.websiteAnalysis = websiteAnalysis; + return this; + } + + /** + * Get websiteAnalysis + * @return websiteAnalysis + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BusinessWebsiteAnalysis getWebsiteAnalysis() { + return websiteAnalysis; + } + + + public void setWebsiteAnalysis(BusinessWebsiteAnalysis websiteAnalysis) { + this.websiteAnalysis = websiteAnalysis; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessDigitalPresenceCheck businessDigitalPresenceCheck = (BusinessDigitalPresenceCheck) o; + return Objects.equals(this.status, businessDigitalPresenceCheck.status) && + Objects.equals(this.score, businessDigitalPresenceCheck.score) && + Objects.equals(this.address, businessDigitalPresenceCheck.address) && + Objects.equals(this.phoneNumber, businessDigitalPresenceCheck.phoneNumber) && + Objects.equals(this.emailAddress, businessDigitalPresenceCheck.emailAddress) && + Objects.equals(this.website, businessDigitalPresenceCheck.website) && + Objects.equals(this.websiteAnalysis, businessDigitalPresenceCheck.websiteAnalysis); + } + + @Override + public int hashCode() { + return Objects.hash(status, score, address, phoneNumber, emailAddress, website, websiteAnalysis); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessDigitalPresenceCheck {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" websiteAnalysis: ").append(toIndentedString(websiteAnalysis)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessEmailAddress.java b/src/main/java/com/plaid/client/model/BusinessEmailAddress.java new file mode 100644 index 0000000000..0d7273c513 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessEmailAddress.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Email address associated with a business + */ +@ApiModel(description = "Email address associated with a business") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessEmailAddress { + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + + public BusinessEmailAddress emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * Email address of the business + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "business@example.com", required = true, value = "Email address of the business") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessEmailAddress businessEmailAddress = (BusinessEmailAddress) o; + return Objects.equals(this.emailAddress, businessEmailAddress.emailAddress); + } + + @Override + public int hashCode() { + return Objects.hash(emailAddress); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessEmailAddress {\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessEntityType.java b/src/main/java/com/plaid/client/model/BusinessEntityType.java new file mode 100644 index 0000000000..454dc4ddcf --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessEntityType.java @@ -0,0 +1,113 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The legal structure or type of business entity + */ +@JsonAdapter(BusinessEntityType.Adapter.class) +public enum BusinessEntityType { + + SOLE_PROPRIETORSHIP("sole_proprietorship"), + + GENERAL_PARTNERSHIP("general_partnership"), + + LLC("llc"), + + LLP("llp"), + + LLLP("lllp"), + + LP("lp"), + + C_CORPORATION("c_corporation"), + + S_CORPORATION("s_corporation"), + + B_CORPORATION("b_corporation"), + + NONPROFIT("nonprofit"), + + COOPERATIVE("cooperative"), + + TRUST("trust"), + + PROFESSIONAL_ASSOCIATION("professional_association"), + + PROFESSIONAL_CORPORATION("professional_corporation"), + + TRADE_NAME("trade_name"), + + BANK("bank"), + + CREDIT_UNION("credit_union"), + + INSURANCE("insurance"), + + OTHER("other"), + + UNKNOWN("unknown"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BusinessEntityType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BusinessEntityType fromValue(String value) { + for (BusinessEntityType b : BusinessEntityType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BusinessEntityType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BusinessEntityType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BusinessEntityType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BusinessFieldMatchSummary.java b/src/main/java/com/plaid/client/model/BusinessFieldMatchSummary.java new file mode 100644 index 0000000000..b51d096d74 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessFieldMatchSummary.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MatchSummaryCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Summary of how a specific business field matched against data provider results + */ +@ApiModel(description = "Summary of how a specific business field matched against data provider results") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessFieldMatchSummary { + public static final String SERIALIZED_NAME_SUMMARY = "summary"; + @SerializedName(SERIALIZED_NAME_SUMMARY) + private MatchSummaryCode summary; + + + public BusinessFieldMatchSummary summary(MatchSummaryCode summary) { + + this.summary = summary; + return this; + } + + /** + * Get summary + * @return summary + **/ + @ApiModelProperty(required = true, value = "") + + public MatchSummaryCode getSummary() { + return summary; + } + + + public void setSummary(MatchSummaryCode summary) { + this.summary = summary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessFieldMatchSummary businessFieldMatchSummary = (BusinessFieldMatchSummary) o; + return Objects.equals(this.summary, businessFieldMatchSummary.summary); + } + + @Override + public int hashCode() { + return Objects.hash(summary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessFieldMatchSummary {\n"); + sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessFinanceCategory.java b/src/main/java/com/plaid/client/model/BusinessFinanceCategory.java new file mode 100644 index 0000000000..c0ddd3d577 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessFinanceCategory.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information describing the intent of the transaction. Most relevant for business finance use cases, but not limited to such use cases. + */ +@ApiModel(description = "Information describing the intent of the transaction. Most relevant for business finance use cases, but not limited to such use cases.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessFinanceCategory { + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + private String primary; + + public static final String SERIALIZED_NAME_DETAILED = "detailed"; + @SerializedName(SERIALIZED_NAME_DETAILED) + private String detailed; + + public static final String SERIALIZED_NAME_CONFIDENCE_LEVEL = "confidence_level"; + @SerializedName(SERIALIZED_NAME_CONFIDENCE_LEVEL) + private String confidenceLevel; + + + public BusinessFinanceCategory primary(String primary) { + + this.primary = primary; + return this; + } + + /** + * A high level category that communicates the broad category of the transaction. + * @return primary + **/ + @ApiModelProperty(required = true, value = "A high level category that communicates the broad category of the transaction.") + + public String getPrimary() { + return primary; + } + + + public void setPrimary(String primary) { + this.primary = primary; + } + + + public BusinessFinanceCategory detailed(String detailed) { + + this.detailed = detailed; + return this; + } + + /** + * A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category. + * @return detailed + **/ + @ApiModelProperty(required = true, value = "A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category.") + + public String getDetailed() { + return detailed; + } + + + public void setDetailed(String detailed) { + this.detailed = detailed; + } + + + public BusinessFinanceCategory confidenceLevel(String confidenceLevel) { + + this.confidenceLevel = confidenceLevel; + return this; + } + + /** + * A description of how confident we are that the provided categories accurately describe the transaction intent. `VERY_HIGH`: We are more than 98% confident that this category reflects the intent of the transaction. `HIGH`: We are more than 90% confident that this category reflects the intent of the transaction. `MEDIUM`: We are moderately confident that this category reflects the intent of the transaction. `LOW`: This category may reflect the intent, but there may be other categories that are more accurate. `UNKNOWN`: We don't know the confidence level for this category. + * @return confidenceLevel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A description of how confident we are that the provided categories accurately describe the transaction intent. `VERY_HIGH`: We are more than 98% confident that this category reflects the intent of the transaction. `HIGH`: We are more than 90% confident that this category reflects the intent of the transaction. `MEDIUM`: We are moderately confident that this category reflects the intent of the transaction. `LOW`: This category may reflect the intent, but there may be other categories that are more accurate. `UNKNOWN`: We don't know the confidence level for this category.") + + public String getConfidenceLevel() { + return confidenceLevel; + } + + + public void setConfidenceLevel(String confidenceLevel) { + this.confidenceLevel = confidenceLevel; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessFinanceCategory businessFinanceCategory = (BusinessFinanceCategory) o; + return Objects.equals(this.primary, businessFinanceCategory.primary) && + Objects.equals(this.detailed, businessFinanceCategory.detailed) && + Objects.equals(this.confidenceLevel, businessFinanceCategory.confidenceLevel); + } + + @Override + public int hashCode() { + return Objects.hash(primary, detailed, confidenceLevel); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessFinanceCategory {\n"); + sb.append(" primary: ").append(toIndentedString(primary)).append("\n"); + sb.append(" detailed: ").append(toIndentedString(detailed)).append("\n"); + sb.append(" confidenceLevel: ").append(toIndentedString(confidenceLevel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessIndustryPrediction.java b/src/main/java/com/plaid/client/model/BusinessIndustryPrediction.java new file mode 100644 index 0000000000..9a4879b1ba --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessIndustryPrediction.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The predicted industry classification for the business, based on digital presence assessments. + */ +@ApiModel(description = "The predicted industry classification for the business, based on digital presence assessments.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessIndustryPrediction { + public static final String SERIALIZED_NAME_CODE = "code"; + @SerializedName(SERIALIZED_NAME_CODE) + private Integer code; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + private String title; + + + public BusinessIndustryPrediction code(Integer code) { + + this.code = code; + return this; + } + + /** + * NAICS code for the predicted business industry. + * @return code + **/ + @ApiModelProperty(example = "518210", required = true, value = "NAICS code for the predicted business industry.") + + public Integer getCode() { + return code; + } + + + public void setCode(Integer code) { + this.code = code; + } + + + public BusinessIndustryPrediction title(String title) { + + this.title = title; + return this; + } + + /** + * The business industry classification of the predicted NAICS code. + * @return title + **/ + @ApiModelProperty(example = "Data Processing, Hosting, and Related Services", required = true, value = "The business industry classification of the predicted NAICS code.") + + public String getTitle() { + return title; + } + + + public void setTitle(String title) { + this.title = title; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessIndustryPrediction businessIndustryPrediction = (BusinessIndustryPrediction) o; + return Objects.equals(this.code, businessIndustryPrediction.code) && + Objects.equals(this.title, businessIndustryPrediction.title); + } + + @Override + public int hashCode() { + return Objects.hash(code, title); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessIndustryPrediction {\n"); + sb.append(" code: ").append(toIndentedString(code)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessIndustryPredictionNullable.java b/src/main/java/com/plaid/client/model/BusinessIndustryPredictionNullable.java new file mode 100644 index 0000000000..79b01df6eb --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessIndustryPredictionNullable.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessIndustryPrediction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Nullable industry prediction details. + */ +@ApiModel(description = "Nullable industry prediction details.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessIndustryPredictionNullable { + public static final String SERIALIZED_NAME_CODE = "code"; + @SerializedName(SERIALIZED_NAME_CODE) + private Integer code; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + private String title; + + + public BusinessIndustryPredictionNullable code(Integer code) { + + this.code = code; + return this; + } + + /** + * NAICS code for the predicted business industry. + * @return code + **/ + @ApiModelProperty(example = "518210", required = true, value = "NAICS code for the predicted business industry.") + + public Integer getCode() { + return code; + } + + + public void setCode(Integer code) { + this.code = code; + } + + + public BusinessIndustryPredictionNullable title(String title) { + + this.title = title; + return this; + } + + /** + * The business industry classification of the predicted NAICS code. + * @return title + **/ + @ApiModelProperty(example = "Data Processing, Hosting, and Related Services", required = true, value = "The business industry classification of the predicted NAICS code.") + + public String getTitle() { + return title; + } + + + public void setTitle(String title) { + this.title = title; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessIndustryPredictionNullable businessIndustryPredictionNullable = (BusinessIndustryPredictionNullable) o; + return Objects.equals(this.code, businessIndustryPredictionNullable.code) && + Objects.equals(this.title, businessIndustryPredictionNullable.title); + } + + @Override + public int hashCode() { + return Objects.hash(code, title); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessIndustryPredictionNullable {\n"); + sb.append(" code: ").append(toIndentedString(code)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessKYBCheck.java b/src/main/java/com/plaid/client/model/BusinessKYBCheck.java new file mode 100644 index 0000000000..d391a701c5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessKYBCheck.java @@ -0,0 +1,242 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessFieldMatchSummary; +import com.plaid.client.model.BusinessKYBMatchDetails; +import com.plaid.client.model.BusinessVerificationStatusKYBCheck; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Results from the KYB (Know Your Business) identity verification check + */ +@ApiModel(description = "Results from the KYB (Know Your Business) identity verification check") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessKYBCheck { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private BusinessVerificationStatusKYBCheck status; + + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private BusinessFieldMatchSummary name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private BusinessFieldMatchSummary address; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private BusinessFieldMatchSummary website; + + public static final String SERIALIZED_NAME_MATCH_DETAILS = "match_details"; + @SerializedName(SERIALIZED_NAME_MATCH_DETAILS) + private BusinessKYBMatchDetails matchDetails; + + + public BusinessKYBCheck status(BusinessVerificationStatusKYBCheck status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessVerificationStatusKYBCheck getStatus() { + return status; + } + + + public void setStatus(BusinessVerificationStatusKYBCheck status) { + this.status = status; + } + + + public BusinessKYBCheck score(Integer score) { + + this.score = score; + return this; + } + + /** + * A score from 0 to 100 indicating the confidence in KYB (Know Your Business) identity assessment for the business + * @return score + **/ + @ApiModelProperty(example = "85", required = true, value = "A score from 0 to 100 indicating the confidence in KYB (Know Your Business) identity assessment for the business") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public BusinessKYBCheck name(BusinessFieldMatchSummary name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessFieldMatchSummary getName() { + return name; + } + + + public void setName(BusinessFieldMatchSummary name) { + this.name = name; + } + + + public BusinessKYBCheck address(BusinessFieldMatchSummary address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessFieldMatchSummary getAddress() { + return address; + } + + + public void setAddress(BusinessFieldMatchSummary address) { + this.address = address; + } + + + public BusinessKYBCheck website(BusinessFieldMatchSummary website) { + + this.website = website; + return this; + } + + /** + * Get website + * @return website + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessFieldMatchSummary getWebsite() { + return website; + } + + + public void setWebsite(BusinessFieldMatchSummary website) { + this.website = website; + } + + + public BusinessKYBCheck matchDetails(BusinessKYBMatchDetails matchDetails) { + + this.matchDetails = matchDetails; + return this; + } + + /** + * Get matchDetails + * @return matchDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BusinessKYBMatchDetails getMatchDetails() { + return matchDetails; + } + + + public void setMatchDetails(BusinessKYBMatchDetails matchDetails) { + this.matchDetails = matchDetails; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessKYBCheck businessKYBCheck = (BusinessKYBCheck) o; + return Objects.equals(this.status, businessKYBCheck.status) && + Objects.equals(this.score, businessKYBCheck.score) && + Objects.equals(this.name, businessKYBCheck.name) && + Objects.equals(this.address, businessKYBCheck.address) && + Objects.equals(this.website, businessKYBCheck.website) && + Objects.equals(this.matchDetails, businessKYBCheck.matchDetails); + } + + @Override + public int hashCode() { + return Objects.hash(status, score, name, address, website, matchDetails); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessKYBCheck {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" matchDetails: ").append(toIndentedString(matchDetails)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessKYBMatchDetails.java b/src/main/java/com/plaid/client/model/BusinessKYBMatchDetails.java new file mode 100644 index 0000000000..8d4b9f38d5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessKYBMatchDetails.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessEmailAddress; +import com.plaid.client.model.BusinessEntityType; +import com.plaid.client.model.BusinessPhoneNumber; +import com.plaid.client.model.BusinessWebsite; +import com.plaid.client.model.ProviderBusinessAddress; +import com.plaid.client.model.ProviderBusinessName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * Detailed information about the business from data provider results + */ +@ApiModel(description = "Detailed information about the business from data provider results") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessKYBMatchDetails { + public static final String SERIALIZED_NAME_NAMES = "names"; + @SerializedName(SERIALIZED_NAME_NAMES) + private List names = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ENTITY_TYPE = "entity_type"; + @SerializedName(SERIALIZED_NAME_ENTITY_TYPE) + private BusinessEntityType entityType; + + public static final String SERIALIZED_NAME_ADDRESSES = "addresses"; + @SerializedName(SERIALIZED_NAME_ADDRESSES) + private List addresses = new ArrayList<>(); + + public static final String SERIALIZED_NAME_PHONE_NUMBERS = "phone_numbers"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBERS) + private List phoneNumbers = new ArrayList<>(); + + public static final String SERIALIZED_NAME_EMAIL_ADDRESSES = "email_addresses"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESSES) + private List emailAddresses = new ArrayList<>(); + + public static final String SERIALIZED_NAME_WEBSITES = "websites"; + @SerializedName(SERIALIZED_NAME_WEBSITES) + private List websites = new ArrayList<>(); + + public static final String SERIALIZED_NAME_FORMATION_DATE = "formation_date"; + @SerializedName(SERIALIZED_NAME_FORMATION_DATE) + private LocalDate formationDate; + + + public BusinessKYBMatchDetails names(List names) { + + this.names = names; + return this; + } + + public BusinessKYBMatchDetails addNamesItem(ProviderBusinessName namesItem) { + this.names.add(namesItem); + return this; + } + + /** + * Names associated with the business. + * @return names + **/ + @ApiModelProperty(required = true, value = "Names associated with the business.") + + public List getNames() { + return names; + } + + + public void setNames(List names) { + this.names = names; + } + + + public BusinessKYBMatchDetails entityType(BusinessEntityType entityType) { + + this.entityType = entityType; + return this; + } + + /** + * Get entityType + * @return entityType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BusinessEntityType getEntityType() { + return entityType; + } + + + public void setEntityType(BusinessEntityType entityType) { + this.entityType = entityType; + } + + + public BusinessKYBMatchDetails addresses(List addresses) { + + this.addresses = addresses; + return this; + } + + public BusinessKYBMatchDetails addAddressesItem(ProviderBusinessAddress addressesItem) { + this.addresses.add(addressesItem); + return this; + } + + /** + * Addresses associated with the business + * @return addresses + **/ + @ApiModelProperty(required = true, value = "Addresses associated with the business") + + public List getAddresses() { + return addresses; + } + + + public void setAddresses(List addresses) { + this.addresses = addresses; + } + + + public BusinessKYBMatchDetails phoneNumbers(List phoneNumbers) { + + this.phoneNumbers = phoneNumbers; + return this; + } + + public BusinessKYBMatchDetails addPhoneNumbersItem(BusinessPhoneNumber phoneNumbersItem) { + this.phoneNumbers.add(phoneNumbersItem); + return this; + } + + /** + * Phone numbers associated with the business + * @return phoneNumbers + **/ + @ApiModelProperty(required = true, value = "Phone numbers associated with the business") + + public List getPhoneNumbers() { + return phoneNumbers; + } + + + public void setPhoneNumbers(List phoneNumbers) { + this.phoneNumbers = phoneNumbers; + } + + + public BusinessKYBMatchDetails emailAddresses(List emailAddresses) { + + this.emailAddresses = emailAddresses; + return this; + } + + public BusinessKYBMatchDetails addEmailAddressesItem(BusinessEmailAddress emailAddressesItem) { + this.emailAddresses.add(emailAddressesItem); + return this; + } + + /** + * Email addresses associated with the business + * @return emailAddresses + **/ + @ApiModelProperty(required = true, value = "Email addresses associated with the business") + + public List getEmailAddresses() { + return emailAddresses; + } + + + public void setEmailAddresses(List emailAddresses) { + this.emailAddresses = emailAddresses; + } + + + public BusinessKYBMatchDetails websites(List websites) { + + this.websites = websites; + return this; + } + + public BusinessKYBMatchDetails addWebsitesItem(BusinessWebsite websitesItem) { + this.websites.add(websitesItem); + return this; + } + + /** + * Websites associated with the business + * @return websites + **/ + @ApiModelProperty(required = true, value = "Websites associated with the business") + + public List getWebsites() { + return websites; + } + + + public void setWebsites(List websites) { + this.websites = websites; + } + + + public BusinessKYBMatchDetails formationDate(LocalDate formationDate) { + + this.formationDate = formationDate; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return formationDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getFormationDate() { + return formationDate; + } + + + public void setFormationDate(LocalDate formationDate) { + this.formationDate = formationDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessKYBMatchDetails businessKYBMatchDetails = (BusinessKYBMatchDetails) o; + return Objects.equals(this.names, businessKYBMatchDetails.names) && + Objects.equals(this.entityType, businessKYBMatchDetails.entityType) && + Objects.equals(this.addresses, businessKYBMatchDetails.addresses) && + Objects.equals(this.phoneNumbers, businessKYBMatchDetails.phoneNumbers) && + Objects.equals(this.emailAddresses, businessKYBMatchDetails.emailAddresses) && + Objects.equals(this.websites, businessKYBMatchDetails.websites) && + Objects.equals(this.formationDate, businessKYBMatchDetails.formationDate); + } + + @Override + public int hashCode() { + return Objects.hash(names, entityType, addresses, phoneNumbers, emailAddresses, websites, formationDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessKYBMatchDetails {\n"); + sb.append(" names: ").append(toIndentedString(names)).append("\n"); + sb.append(" entityType: ").append(toIndentedString(entityType)).append("\n"); + sb.append(" addresses: ").append(toIndentedString(addresses)).append("\n"); + sb.append(" phoneNumbers: ").append(toIndentedString(phoneNumbers)).append("\n"); + sb.append(" emailAddresses: ").append(toIndentedString(emailAddresses)).append("\n"); + sb.append(" websites: ").append(toIndentedString(websites)).append("\n"); + sb.append(" formationDate: ").append(toIndentedString(formationDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessPhoneNumber.java b/src/main/java/com/plaid/client/model/BusinessPhoneNumber.java new file mode 100644 index 0000000000..6405c50c4e --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessPhoneNumber.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Phone number associated with a business + */ +@ApiModel(description = "Phone number associated with a business") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessPhoneNumber { + public static final String SERIALIZED_NAME_NUMBER = "number"; + @SerializedName(SERIALIZED_NAME_NUMBER) + private String number; + + + public BusinessPhoneNumber number(String number) { + + this.number = number; + return this; + } + + /** + * Phone number in E.164 format + * @return number + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+12345678909", required = true, value = "Phone number in E.164 format") + + public String getNumber() { + return number; + } + + + public void setNumber(String number) { + this.number = number; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessPhoneNumber businessPhoneNumber = (BusinessPhoneNumber) o; + return Objects.equals(this.number, businessPhoneNumber.number); + } + + @Override + public int hashCode() { + return Objects.hash(number); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessPhoneNumber {\n"); + sb.append(" number: ").append(toIndentedString(number)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessRiskCheck.java b/src/main/java/com/plaid/client/model/BusinessRiskCheck.java new file mode 100644 index 0000000000..af03677145 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessRiskCheck.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessIndustryPredictionNullable; +import com.plaid.client.model.BusinessVerificationStatusRiskCheck; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Results from the business risk assessment check + */ +@ApiModel(description = "Results from the business risk assessment check") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessRiskCheck { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private BusinessVerificationStatusRiskCheck status; + + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_INDUSTRY_PREDICTION = "industry_prediction"; + @SerializedName(SERIALIZED_NAME_INDUSTRY_PREDICTION) + private BusinessIndustryPredictionNullable industryPrediction; + + + public BusinessRiskCheck status(BusinessVerificationStatusRiskCheck status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessVerificationStatusRiskCheck getStatus() { + return status; + } + + + public void setStatus(BusinessVerificationStatusRiskCheck status) { + this.status = status; + } + + + public BusinessRiskCheck score(Integer score) { + + this.score = score; + return this; + } + + /** + * A score from 0 to 100 indicating the risk assessment for the business + * @return score + **/ + @ApiModelProperty(example = "92", required = true, value = "A score from 0 to 100 indicating the risk assessment for the business") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public BusinessRiskCheck industryPrediction(BusinessIndustryPredictionNullable industryPrediction) { + + this.industryPrediction = industryPrediction; + return this; + } + + /** + * Get industryPrediction + * @return industryPrediction + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BusinessIndustryPredictionNullable getIndustryPrediction() { + return industryPrediction; + } + + + public void setIndustryPrediction(BusinessIndustryPredictionNullable industryPrediction) { + this.industryPrediction = industryPrediction; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessRiskCheck businessRiskCheck = (BusinessRiskCheck) o; + return Objects.equals(this.status, businessRiskCheck.status) && + Objects.equals(this.score, businessRiskCheck.score) && + Objects.equals(this.industryPrediction, businessRiskCheck.industryPrediction); + } + + @Override + public int hashCode() { + return Objects.hash(status, score, industryPrediction); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessRiskCheck {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" industryPrediction: ").append(toIndentedString(industryPrediction)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessSearchTerms.java b/src/main/java/com/plaid/client/model/BusinessSearchTerms.java new file mode 100644 index 0000000000..3a5cb6bf90 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessSearchTerms.java @@ -0,0 +1,251 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ResponseBusinessAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; + +/** + * The business information that was used to perform the verification search + */ +@ApiModel(description = "The business information that was used to perform the verification search") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessSearchTerms { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ALTERNATIVE_NAMES = "alternative_names"; + @SerializedName(SERIALIZED_NAME_ALTERNATIVE_NAMES) + private List alternativeNames = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private ResponseBusinessAddress address; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private URI website; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + + public BusinessSearchTerms name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the business. Must have at least one character and a maximum length of 500 characters. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Acme Corporation", required = true, value = "The name of the business. Must have at least one character and a maximum length of 500 characters.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public BusinessSearchTerms alternativeNames(List alternativeNames) { + + this.alternativeNames = alternativeNames; + return this; + } + + public BusinessSearchTerms addAlternativeNamesItem(String alternativeNamesItem) { + this.alternativeNames.add(alternativeNamesItem); + return this; + } + + /** + * Alternative business names that were submitted as search inputs. + * @return alternativeNames + **/ + @ApiModelProperty(required = true, value = "Alternative business names that were submitted as search inputs.") + + public List getAlternativeNames() { + return alternativeNames; + } + + + public void setAlternativeNames(List alternativeNames) { + this.alternativeNames = alternativeNames; + } + + + public BusinessSearchTerms address(ResponseBusinessAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public ResponseBusinessAddress getAddress() { + return address; + } + + + public void setAddress(ResponseBusinessAddress address) { + this.address = address; + } + + + public BusinessSearchTerms website(URI website) { + + this.website = website; + return this; + } + + /** + * An 'http' or 'https' URL (must begin with either of those). + * @return website + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://example.com", required = true, value = "An 'http' or 'https' URL (must begin with either of those).") + + public URI getWebsite() { + return website; + } + + + public void setWebsite(URI website) { + this.website = website; + } + + + public BusinessSearchTerms phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A phone number in E.164 format. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+14025671234", required = true, value = "A phone number in E.164 format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public BusinessSearchTerms emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user@example.com", required = true, value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessSearchTerms businessSearchTerms = (BusinessSearchTerms) o; + return Objects.equals(this.name, businessSearchTerms.name) && + Objects.equals(this.alternativeNames, businessSearchTerms.alternativeNames) && + Objects.equals(this.address, businessSearchTerms.address) && + Objects.equals(this.website, businessSearchTerms.website) && + Objects.equals(this.phoneNumber, businessSearchTerms.phoneNumber) && + Objects.equals(this.emailAddress, businessSearchTerms.emailAddress); + } + + @Override + public int hashCode() { + return Objects.hash(name, alternativeNames, address, website, phoneNumber, emailAddress); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessSearchTerms {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" alternativeNames: ").append(toIndentedString(alternativeNames)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessVerificationCreateRequest.java b/src/main/java/com/plaid/client/model/BusinessVerificationCreateRequest.java new file mode 100644 index 0000000000..711fca487a --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessVerificationCreateRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessVerificationCreateRequestBusiness; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for creating a business verification + */ +@ApiModel(description = "Request input for creating a business verification") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessVerificationCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_BUSINESS = "business"; + @SerializedName(SERIALIZED_NAME_BUSINESS) + private BusinessVerificationCreateRequestBusiness business; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public BusinessVerificationCreateRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public BusinessVerificationCreateRequest business(BusinessVerificationCreateRequestBusiness business) { + + this.business = business; + return this; + } + + /** + * Get business + * @return business + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BusinessVerificationCreateRequestBusiness getBusiness() { + return business; + } + + + public void setBusiness(BusinessVerificationCreateRequestBusiness business) { + this.business = business; + } + + + public BusinessVerificationCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public BusinessVerificationCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessVerificationCreateRequest businessVerificationCreateRequest = (BusinessVerificationCreateRequest) o; + return Objects.equals(this.clientUserId, businessVerificationCreateRequest.clientUserId) && + Objects.equals(this.business, businessVerificationCreateRequest.business) && + Objects.equals(this.clientId, businessVerificationCreateRequest.clientId) && + Objects.equals(this.secret, businessVerificationCreateRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(clientUserId, business, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessVerificationCreateRequest {\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" business: ").append(toIndentedString(business)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessVerificationCreateRequestBusiness.java b/src/main/java/com/plaid/client/model/BusinessVerificationCreateRequestBusiness.java new file mode 100644 index 0000000000..54aaba71bd --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessVerificationCreateRequestBusiness.java @@ -0,0 +1,246 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RequestBusinessAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.net.URI; + +/** + * Business information provided in the verification request + */ +@ApiModel(description = "Business information provided in the verification request") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessVerificationCreateRequestBusiness { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ALTERNATIVE_NAME = "alternative_name"; + @SerializedName(SERIALIZED_NAME_ALTERNATIVE_NAME) + private String alternativeName; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private RequestBusinessAddress address; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private URI website; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + + public BusinessVerificationCreateRequestBusiness name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the business. Must have at least one character and a maximum length of 500 characters. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Acme Corporation", value = "The name of the business. Must have at least one character and a maximum length of 500 characters.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public BusinessVerificationCreateRequestBusiness alternativeName(String alternativeName) { + + this.alternativeName = alternativeName; + return this; + } + + /** + * The name of the business. Must have at least one character and a maximum length of 500 characters. + * @return alternativeName + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Acme Corporation", value = "The name of the business. Must have at least one character and a maximum length of 500 characters.") + + public String getAlternativeName() { + return alternativeName; + } + + + public void setAlternativeName(String alternativeName) { + this.alternativeName = alternativeName; + } + + + public BusinessVerificationCreateRequestBusiness address(RequestBusinessAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RequestBusinessAddress getAddress() { + return address; + } + + + public void setAddress(RequestBusinessAddress address) { + this.address = address; + } + + + public BusinessVerificationCreateRequestBusiness website(URI website) { + + this.website = website; + return this; + } + + /** + * An 'http' or 'https' URL (must begin with either of those). + * @return website + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://example.com", value = "An 'http' or 'https' URL (must begin with either of those).") + + public URI getWebsite() { + return website; + } + + + public void setWebsite(URI website) { + this.website = website; + } + + + public BusinessVerificationCreateRequestBusiness phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A phone number in E.164 format. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+14025671234", value = "A phone number in E.164 format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public BusinessVerificationCreateRequestBusiness emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user@example.com", value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessVerificationCreateRequestBusiness businessVerificationCreateRequestBusiness = (BusinessVerificationCreateRequestBusiness) o; + return Objects.equals(this.name, businessVerificationCreateRequestBusiness.name) && + Objects.equals(this.alternativeName, businessVerificationCreateRequestBusiness.alternativeName) && + Objects.equals(this.address, businessVerificationCreateRequestBusiness.address) && + Objects.equals(this.website, businessVerificationCreateRequestBusiness.website) && + Objects.equals(this.phoneNumber, businessVerificationCreateRequestBusiness.phoneNumber) && + Objects.equals(this.emailAddress, businessVerificationCreateRequestBusiness.emailAddress); + } + + @Override + public int hashCode() { + return Objects.hash(name, alternativeName, address, website, phoneNumber, emailAddress); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessVerificationCreateRequestBusiness {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" alternativeName: ").append(toIndentedString(alternativeName)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessVerificationCreateResponse.java b/src/main/java/com/plaid/client/model/BusinessVerificationCreateResponse.java new file mode 100644 index 0000000000..e02c396705 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessVerificationCreateResponse.java @@ -0,0 +1,418 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessDigitalPresenceCheck; +import com.plaid.client.model.BusinessKYBCheck; +import com.plaid.client.model.BusinessRiskCheck; +import com.plaid.client.model.BusinessSearchTerms; +import com.plaid.client.model.BusinessVerificationStatusOverall; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * A business verification represents a check of a business's identity and risk profile, including information collected about the business and results from third-party data providers. + */ +@ApiModel(description = "A business verification represents a check of a business's identity and risk profile, including information collected about the business and results from third-party data providers.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessVerificationCreateResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_COMPLETED_AT = "completed_at"; + @SerializedName(SERIALIZED_NAME_COMPLETED_AT) + private OffsetDateTime completedAt; + + public static final String SERIALIZED_NAME_REDACTED_AT = "redacted_at"; + @SerializedName(SERIALIZED_NAME_REDACTED_AT) + private OffsetDateTime redactedAt; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private BusinessVerificationStatusOverall status; + + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private BusinessSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_KYB_CHECK = "kyb_check"; + @SerializedName(SERIALIZED_NAME_KYB_CHECK) + private BusinessKYBCheck kybCheck; + + public static final String SERIALIZED_NAME_RISK_CHECK = "risk_check"; + @SerializedName(SERIALIZED_NAME_RISK_CHECK) + private BusinessRiskCheck riskCheck; + + public static final String SERIALIZED_NAME_DIGITAL_PRESENCE_CHECK = "digital_presence_check"; + @SerializedName(SERIALIZED_NAME_DIGITAL_PRESENCE_CHECK) + private BusinessDigitalPresenceCheck digitalPresenceCheck; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_SHAREABLE_URL = "shareable_url"; + @SerializedName(SERIALIZED_NAME_SHAREABLE_URL) + private String shareableUrl; + + + public BusinessVerificationCreateResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated business verification. + * @return id + **/ + @ApiModelProperty(example = "busver_52xR9LKo77r1Np", required = true, value = "ID of the associated business verification.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BusinessVerificationCreateResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public BusinessVerificationCreateResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public BusinessVerificationCreateResponse completedAt(OffsetDateTime completedAt) { + + this.completedAt = completedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return completedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getCompletedAt() { + return completedAt; + } + + + public void setCompletedAt(OffsetDateTime completedAt) { + this.completedAt = completedAt; + } + + + public BusinessVerificationCreateResponse redactedAt(OffsetDateTime redactedAt) { + + this.redactedAt = redactedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return redactedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getRedactedAt() { + return redactedAt; + } + + + public void setRedactedAt(OffsetDateTime redactedAt) { + this.redactedAt = redactedAt; + } + + + public BusinessVerificationCreateResponse status(BusinessVerificationStatusOverall status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessVerificationStatusOverall getStatus() { + return status; + } + + + public void setStatus(BusinessVerificationStatusOverall status) { + this.status = status; + } + + + public BusinessVerificationCreateResponse searchTerms(BusinessSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(BusinessSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public BusinessVerificationCreateResponse kybCheck(BusinessKYBCheck kybCheck) { + + this.kybCheck = kybCheck; + return this; + } + + /** + * Get kybCheck + * @return kybCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BusinessKYBCheck getKybCheck() { + return kybCheck; + } + + + public void setKybCheck(BusinessKYBCheck kybCheck) { + this.kybCheck = kybCheck; + } + + + public BusinessVerificationCreateResponse riskCheck(BusinessRiskCheck riskCheck) { + + this.riskCheck = riskCheck; + return this; + } + + /** + * Get riskCheck + * @return riskCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BusinessRiskCheck getRiskCheck() { + return riskCheck; + } + + + public void setRiskCheck(BusinessRiskCheck riskCheck) { + this.riskCheck = riskCheck; + } + + + public BusinessVerificationCreateResponse digitalPresenceCheck(BusinessDigitalPresenceCheck digitalPresenceCheck) { + + this.digitalPresenceCheck = digitalPresenceCheck; + return this; + } + + /** + * Get digitalPresenceCheck + * @return digitalPresenceCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BusinessDigitalPresenceCheck getDigitalPresenceCheck() { + return digitalPresenceCheck; + } + + + public void setDigitalPresenceCheck(BusinessDigitalPresenceCheck digitalPresenceCheck) { + this.digitalPresenceCheck = digitalPresenceCheck; + } + + + public BusinessVerificationCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public BusinessVerificationCreateResponse shareableUrl(String shareableUrl) { + + this.shareableUrl = shareableUrl; + return this; + } + + /** + * A shareable URL that can be sent directly to the user to complete verification + * @return shareableUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://verify.plaid.com/busver_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f", required = true, value = "A shareable URL that can be sent directly to the user to complete verification") + + public String getShareableUrl() { + return shareableUrl; + } + + + public void setShareableUrl(String shareableUrl) { + this.shareableUrl = shareableUrl; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessVerificationCreateResponse businessVerificationCreateResponse = (BusinessVerificationCreateResponse) o; + return Objects.equals(this.id, businessVerificationCreateResponse.id) && + Objects.equals(this.clientUserId, businessVerificationCreateResponse.clientUserId) && + Objects.equals(this.createdAt, businessVerificationCreateResponse.createdAt) && + Objects.equals(this.completedAt, businessVerificationCreateResponse.completedAt) && + Objects.equals(this.redactedAt, businessVerificationCreateResponse.redactedAt) && + Objects.equals(this.status, businessVerificationCreateResponse.status) && + Objects.equals(this.searchTerms, businessVerificationCreateResponse.searchTerms) && + Objects.equals(this.kybCheck, businessVerificationCreateResponse.kybCheck) && + Objects.equals(this.riskCheck, businessVerificationCreateResponse.riskCheck) && + Objects.equals(this.digitalPresenceCheck, businessVerificationCreateResponse.digitalPresenceCheck) && + Objects.equals(this.requestId, businessVerificationCreateResponse.requestId) && + Objects.equals(this.shareableUrl, businessVerificationCreateResponse.shareableUrl); + } + + @Override + public int hashCode() { + return Objects.hash(id, clientUserId, createdAt, completedAt, redactedAt, status, searchTerms, kybCheck, riskCheck, digitalPresenceCheck, requestId, shareableUrl); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessVerificationCreateResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" completedAt: ").append(toIndentedString(completedAt)).append("\n"); + sb.append(" redactedAt: ").append(toIndentedString(redactedAt)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" kybCheck: ").append(toIndentedString(kybCheck)).append("\n"); + sb.append(" riskCheck: ").append(toIndentedString(riskCheck)).append("\n"); + sb.append(" digitalPresenceCheck: ").append(toIndentedString(digitalPresenceCheck)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" shareableUrl: ").append(toIndentedString(shareableUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessVerificationGetRequest.java b/src/main/java/com/plaid/client/model/BusinessVerificationGetRequest.java new file mode 100644 index 0000000000..4e0f4aed64 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessVerificationGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for fetching a business verification + */ +@ApiModel(description = "Request input for fetching a business verification") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessVerificationGetRequest { + public static final String SERIALIZED_NAME_BUSINESS_VERIFICATION_ID = "business_verification_id"; + @SerializedName(SERIALIZED_NAME_BUSINESS_VERIFICATION_ID) + private String businessVerificationId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + + public BusinessVerificationGetRequest businessVerificationId(String businessVerificationId) { + + this.businessVerificationId = businessVerificationId; + return this; + } + + /** + * ID of the associated business verification. + * @return businessVerificationId + **/ + @ApiModelProperty(example = "busver_52xR9LKo77r1Np", required = true, value = "ID of the associated business verification.") + + public String getBusinessVerificationId() { + return businessVerificationId; + } + + + public void setBusinessVerificationId(String businessVerificationId) { + this.businessVerificationId = businessVerificationId; + } + + + public BusinessVerificationGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public BusinessVerificationGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessVerificationGetRequest businessVerificationGetRequest = (BusinessVerificationGetRequest) o; + return Objects.equals(this.businessVerificationId, businessVerificationGetRequest.businessVerificationId) && + Objects.equals(this.secret, businessVerificationGetRequest.secret) && + Objects.equals(this.clientId, businessVerificationGetRequest.clientId); + } + + @Override + public int hashCode() { + return Objects.hash(businessVerificationId, secret, clientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessVerificationGetRequest {\n"); + sb.append(" businessVerificationId: ").append(toIndentedString(businessVerificationId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessVerificationGetResponse.java b/src/main/java/com/plaid/client/model/BusinessVerificationGetResponse.java new file mode 100644 index 0000000000..c2fb85fd62 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessVerificationGetResponse.java @@ -0,0 +1,418 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessDigitalPresenceCheck; +import com.plaid.client.model.BusinessKYBCheck; +import com.plaid.client.model.BusinessRiskCheck; +import com.plaid.client.model.BusinessSearchTerms; +import com.plaid.client.model.BusinessVerificationStatusOverall; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * A business verification represents a check of a business's identity and risk profile, including information collected about the business and results from third-party data providers. + */ +@ApiModel(description = "A business verification represents a check of a business's identity and risk profile, including information collected about the business and results from third-party data providers.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessVerificationGetResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_COMPLETED_AT = "completed_at"; + @SerializedName(SERIALIZED_NAME_COMPLETED_AT) + private OffsetDateTime completedAt; + + public static final String SERIALIZED_NAME_REDACTED_AT = "redacted_at"; + @SerializedName(SERIALIZED_NAME_REDACTED_AT) + private OffsetDateTime redactedAt; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private BusinessVerificationStatusOverall status; + + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private BusinessSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_KYB_CHECK = "kyb_check"; + @SerializedName(SERIALIZED_NAME_KYB_CHECK) + private BusinessKYBCheck kybCheck; + + public static final String SERIALIZED_NAME_RISK_CHECK = "risk_check"; + @SerializedName(SERIALIZED_NAME_RISK_CHECK) + private BusinessRiskCheck riskCheck; + + public static final String SERIALIZED_NAME_DIGITAL_PRESENCE_CHECK = "digital_presence_check"; + @SerializedName(SERIALIZED_NAME_DIGITAL_PRESENCE_CHECK) + private BusinessDigitalPresenceCheck digitalPresenceCheck; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_SHAREABLE_URL = "shareable_url"; + @SerializedName(SERIALIZED_NAME_SHAREABLE_URL) + private String shareableUrl; + + + public BusinessVerificationGetResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated business verification. + * @return id + **/ + @ApiModelProperty(example = "busver_52xR9LKo77r1Np", required = true, value = "ID of the associated business verification.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public BusinessVerificationGetResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public BusinessVerificationGetResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public BusinessVerificationGetResponse completedAt(OffsetDateTime completedAt) { + + this.completedAt = completedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return completedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getCompletedAt() { + return completedAt; + } + + + public void setCompletedAt(OffsetDateTime completedAt) { + this.completedAt = completedAt; + } + + + public BusinessVerificationGetResponse redactedAt(OffsetDateTime redactedAt) { + + this.redactedAt = redactedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return redactedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getRedactedAt() { + return redactedAt; + } + + + public void setRedactedAt(OffsetDateTime redactedAt) { + this.redactedAt = redactedAt; + } + + + public BusinessVerificationGetResponse status(BusinessVerificationStatusOverall status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessVerificationStatusOverall getStatus() { + return status; + } + + + public void setStatus(BusinessVerificationStatusOverall status) { + this.status = status; + } + + + public BusinessVerificationGetResponse searchTerms(BusinessSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(BusinessSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public BusinessVerificationGetResponse kybCheck(BusinessKYBCheck kybCheck) { + + this.kybCheck = kybCheck; + return this; + } + + /** + * Get kybCheck + * @return kybCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BusinessKYBCheck getKybCheck() { + return kybCheck; + } + + + public void setKybCheck(BusinessKYBCheck kybCheck) { + this.kybCheck = kybCheck; + } + + + public BusinessVerificationGetResponse riskCheck(BusinessRiskCheck riskCheck) { + + this.riskCheck = riskCheck; + return this; + } + + /** + * Get riskCheck + * @return riskCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BusinessRiskCheck getRiskCheck() { + return riskCheck; + } + + + public void setRiskCheck(BusinessRiskCheck riskCheck) { + this.riskCheck = riskCheck; + } + + + public BusinessVerificationGetResponse digitalPresenceCheck(BusinessDigitalPresenceCheck digitalPresenceCheck) { + + this.digitalPresenceCheck = digitalPresenceCheck; + return this; + } + + /** + * Get digitalPresenceCheck + * @return digitalPresenceCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public BusinessDigitalPresenceCheck getDigitalPresenceCheck() { + return digitalPresenceCheck; + } + + + public void setDigitalPresenceCheck(BusinessDigitalPresenceCheck digitalPresenceCheck) { + this.digitalPresenceCheck = digitalPresenceCheck; + } + + + public BusinessVerificationGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public BusinessVerificationGetResponse shareableUrl(String shareableUrl) { + + this.shareableUrl = shareableUrl; + return this; + } + + /** + * A shareable URL that can be sent directly to the user to complete verification + * @return shareableUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://verify.plaid.com/busver_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f", required = true, value = "A shareable URL that can be sent directly to the user to complete verification") + + public String getShareableUrl() { + return shareableUrl; + } + + + public void setShareableUrl(String shareableUrl) { + this.shareableUrl = shareableUrl; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessVerificationGetResponse businessVerificationGetResponse = (BusinessVerificationGetResponse) o; + return Objects.equals(this.id, businessVerificationGetResponse.id) && + Objects.equals(this.clientUserId, businessVerificationGetResponse.clientUserId) && + Objects.equals(this.createdAt, businessVerificationGetResponse.createdAt) && + Objects.equals(this.completedAt, businessVerificationGetResponse.completedAt) && + Objects.equals(this.redactedAt, businessVerificationGetResponse.redactedAt) && + Objects.equals(this.status, businessVerificationGetResponse.status) && + Objects.equals(this.searchTerms, businessVerificationGetResponse.searchTerms) && + Objects.equals(this.kybCheck, businessVerificationGetResponse.kybCheck) && + Objects.equals(this.riskCheck, businessVerificationGetResponse.riskCheck) && + Objects.equals(this.digitalPresenceCheck, businessVerificationGetResponse.digitalPresenceCheck) && + Objects.equals(this.requestId, businessVerificationGetResponse.requestId) && + Objects.equals(this.shareableUrl, businessVerificationGetResponse.shareableUrl); + } + + @Override + public int hashCode() { + return Objects.hash(id, clientUserId, createdAt, completedAt, redactedAt, status, searchTerms, kybCheck, riskCheck, digitalPresenceCheck, requestId, shareableUrl); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessVerificationGetResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" completedAt: ").append(toIndentedString(completedAt)).append("\n"); + sb.append(" redactedAt: ").append(toIndentedString(redactedAt)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" kybCheck: ").append(toIndentedString(kybCheck)).append("\n"); + sb.append(" riskCheck: ").append(toIndentedString(riskCheck)).append("\n"); + sb.append(" digitalPresenceCheck: ").append(toIndentedString(digitalPresenceCheck)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" shareableUrl: ").append(toIndentedString(shareableUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessVerificationStatusKYBCheck.java b/src/main/java/com/plaid/client/model/BusinessVerificationStatusKYBCheck.java new file mode 100644 index 0000000000..500aeef3a3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessVerificationStatusKYBCheck.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Status of the KYB (Know Your Business) identity assessment check + */ +@JsonAdapter(BusinessVerificationStatusKYBCheck.Adapter.class) +public enum BusinessVerificationStatusKYBCheck { + + ACTIVE("active"), + + SUCCESS("success"), + + FAILED("failed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BusinessVerificationStatusKYBCheck(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BusinessVerificationStatusKYBCheck fromValue(String value) { + for (BusinessVerificationStatusKYBCheck b : BusinessVerificationStatusKYBCheck.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BusinessVerificationStatusKYBCheck.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BusinessVerificationStatusKYBCheck enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BusinessVerificationStatusKYBCheck read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BusinessVerificationStatusKYBCheck.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BusinessVerificationStatusOverall.java b/src/main/java/com/plaid/client/model/BusinessVerificationStatusOverall.java new file mode 100644 index 0000000000..fbec383d40 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessVerificationStatusOverall.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Status of the overall business verification + */ +@JsonAdapter(BusinessVerificationStatusOverall.Adapter.class) +public enum BusinessVerificationStatusOverall { + + ACTIVE("active"), + + SUCCESS("success"), + + FAILED("failed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BusinessVerificationStatusOverall(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BusinessVerificationStatusOverall fromValue(String value) { + for (BusinessVerificationStatusOverall b : BusinessVerificationStatusOverall.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BusinessVerificationStatusOverall.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BusinessVerificationStatusOverall enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BusinessVerificationStatusOverall read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BusinessVerificationStatusOverall.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BusinessVerificationStatusRiskCheck.java b/src/main/java/com/plaid/client/model/BusinessVerificationStatusRiskCheck.java new file mode 100644 index 0000000000..350368ee35 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessVerificationStatusRiskCheck.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Status of the business risk assessment check + */ +@JsonAdapter(BusinessVerificationStatusRiskCheck.Adapter.class) +public enum BusinessVerificationStatusRiskCheck { + + ACTIVE("active"), + + SUCCESS("success"), + + FAILED("failed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BusinessVerificationStatusRiskCheck(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BusinessVerificationStatusRiskCheck fromValue(String value) { + for (BusinessVerificationStatusRiskCheck b : BusinessVerificationStatusRiskCheck.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BusinessVerificationStatusRiskCheck.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BusinessVerificationStatusRiskCheck enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BusinessVerificationStatusRiskCheck read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BusinessVerificationStatusRiskCheck.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BusinessVerificationStatusWebPresenceCheck.java b/src/main/java/com/plaid/client/model/BusinessVerificationStatusWebPresenceCheck.java new file mode 100644 index 0000000000..274ebfb486 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessVerificationStatusWebPresenceCheck.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Status of the digital presence check + */ +@JsonAdapter(BusinessVerificationStatusWebPresenceCheck.Adapter.class) +public enum BusinessVerificationStatusWebPresenceCheck { + + ACTIVE("active"), + + SUCCESS("success"), + + FAILED("failed"), + + NOT_APPLICABLE("not_applicable"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BusinessVerificationStatusWebPresenceCheck(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BusinessVerificationStatusWebPresenceCheck fromValue(String value) { + for (BusinessVerificationStatusWebPresenceCheck b : BusinessVerificationStatusWebPresenceCheck.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BusinessVerificationStatusWebPresenceCheck.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BusinessVerificationStatusWebPresenceCheck enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BusinessVerificationStatusWebPresenceCheck read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BusinessVerificationStatusWebPresenceCheck.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BusinessWebsite.java b/src/main/java/com/plaid/client/model/BusinessWebsite.java new file mode 100644 index 0000000000..e1723210fa --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessWebsite.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.net.URI; + +/** + * Website associated with a business + */ +@ApiModel(description = "Website associated with a business") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessWebsite { + public static final String SERIALIZED_NAME_URL = "url"; + @SerializedName(SERIALIZED_NAME_URL) + private URI url; + + + public BusinessWebsite url(URI url) { + + this.url = url; + return this; + } + + /** + * URL of the business website + * @return url + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://example.com", required = true, value = "URL of the business website") + + public URI getUrl() { + return url; + } + + + public void setUrl(URI url) { + this.url = url; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessWebsite businessWebsite = (BusinessWebsite) o; + return Objects.equals(this.url, businessWebsite.url); + } + + @Override + public int hashCode() { + return Objects.hash(url); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessWebsite {\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessWebsiteAnalysis.java b/src/main/java/com/plaid/client/model/BusinessWebsiteAnalysis.java new file mode 100644 index 0000000000..684d9ddcd7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessWebsiteAnalysis.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessCheckBooleanStatus; +import com.plaid.client.model.BusinessWebsiteBuildStatus; +import com.plaid.client.model.BusinessWebsiteSSL; +import com.plaid.client.model.BusinessWhoisRecord; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Website analysis details if a website is found for the provided website in the search terms. + */ +@ApiModel(description = "Website analysis details if a website is found for the provided website in the search terms.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessWebsiteAnalysis { + public static final String SERIALIZED_NAME_IS_PARKED = "is_parked"; + @SerializedName(SERIALIZED_NAME_IS_PARKED) + private BusinessCheckBooleanStatus isParked; + + public static final String SERIALIZED_NAME_EMAIL_IS_DELIVERABLE = "email_is_deliverable"; + @SerializedName(SERIALIZED_NAME_EMAIL_IS_DELIVERABLE) + private BusinessCheckBooleanStatus emailIsDeliverable; + + public static final String SERIALIZED_NAME_WEBSITE_BUILD_STATUS = "website_build_status"; + @SerializedName(SERIALIZED_NAME_WEBSITE_BUILD_STATUS) + private BusinessWebsiteBuildStatus websiteBuildStatus; + + public static final String SERIALIZED_NAME_WHOIS_RECORD = "whois_record"; + @SerializedName(SERIALIZED_NAME_WHOIS_RECORD) + private BusinessWhoisRecord whoisRecord; + + public static final String SERIALIZED_NAME_SSL = "ssl"; + @SerializedName(SERIALIZED_NAME_SSL) + private BusinessWebsiteSSL ssl; + + + public BusinessWebsiteAnalysis isParked(BusinessCheckBooleanStatus isParked) { + + this.isParked = isParked; + return this; + } + + /** + * Get isParked + * @return isParked + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessCheckBooleanStatus getIsParked() { + return isParked; + } + + + public void setIsParked(BusinessCheckBooleanStatus isParked) { + this.isParked = isParked; + } + + + public BusinessWebsiteAnalysis emailIsDeliverable(BusinessCheckBooleanStatus emailIsDeliverable) { + + this.emailIsDeliverable = emailIsDeliverable; + return this; + } + + /** + * Get emailIsDeliverable + * @return emailIsDeliverable + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessCheckBooleanStatus getEmailIsDeliverable() { + return emailIsDeliverable; + } + + + public void setEmailIsDeliverable(BusinessCheckBooleanStatus emailIsDeliverable) { + this.emailIsDeliverable = emailIsDeliverable; + } + + + public BusinessWebsiteAnalysis websiteBuildStatus(BusinessWebsiteBuildStatus websiteBuildStatus) { + + this.websiteBuildStatus = websiteBuildStatus; + return this; + } + + /** + * Get websiteBuildStatus + * @return websiteBuildStatus + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessWebsiteBuildStatus getWebsiteBuildStatus() { + return websiteBuildStatus; + } + + + public void setWebsiteBuildStatus(BusinessWebsiteBuildStatus websiteBuildStatus) { + this.websiteBuildStatus = websiteBuildStatus; + } + + + public BusinessWebsiteAnalysis whoisRecord(BusinessWhoisRecord whoisRecord) { + + this.whoisRecord = whoisRecord; + return this; + } + + /** + * Get whoisRecord + * @return whoisRecord + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessWhoisRecord getWhoisRecord() { + return whoisRecord; + } + + + public void setWhoisRecord(BusinessWhoisRecord whoisRecord) { + this.whoisRecord = whoisRecord; + } + + + public BusinessWebsiteAnalysis ssl(BusinessWebsiteSSL ssl) { + + this.ssl = ssl; + return this; + } + + /** + * Get ssl + * @return ssl + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessWebsiteSSL getSsl() { + return ssl; + } + + + public void setSsl(BusinessWebsiteSSL ssl) { + this.ssl = ssl; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessWebsiteAnalysis businessWebsiteAnalysis = (BusinessWebsiteAnalysis) o; + return Objects.equals(this.isParked, businessWebsiteAnalysis.isParked) && + Objects.equals(this.emailIsDeliverable, businessWebsiteAnalysis.emailIsDeliverable) && + Objects.equals(this.websiteBuildStatus, businessWebsiteAnalysis.websiteBuildStatus) && + Objects.equals(this.whoisRecord, businessWebsiteAnalysis.whoisRecord) && + Objects.equals(this.ssl, businessWebsiteAnalysis.ssl); + } + + @Override + public int hashCode() { + return Objects.hash(isParked, emailIsDeliverable, websiteBuildStatus, whoisRecord, ssl); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessWebsiteAnalysis {\n"); + sb.append(" isParked: ").append(toIndentedString(isParked)).append("\n"); + sb.append(" emailIsDeliverable: ").append(toIndentedString(emailIsDeliverable)).append("\n"); + sb.append(" websiteBuildStatus: ").append(toIndentedString(websiteBuildStatus)).append("\n"); + sb.append(" whoisRecord: ").append(toIndentedString(whoisRecord)).append("\n"); + sb.append(" ssl: ").append(toIndentedString(ssl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessWebsiteBuildStatus.java b/src/main/java/com/plaid/client/model/BusinessWebsiteBuildStatus.java new file mode 100644 index 0000000000..bf5407656d --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessWebsiteBuildStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Build status of the business website. + */ +@JsonAdapter(BusinessWebsiteBuildStatus.Adapter.class) +public enum BusinessWebsiteBuildStatus { + + COMING_SOON("coming_soon"), + + ACTIVE("active"), + + INACTIVE("inactive"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + BusinessWebsiteBuildStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BusinessWebsiteBuildStatus fromValue(String value) { + for (BusinessWebsiteBuildStatus b : BusinessWebsiteBuildStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return BusinessWebsiteBuildStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BusinessWebsiteBuildStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BusinessWebsiteBuildStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BusinessWebsiteBuildStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/BusinessWebsiteSSL.java b/src/main/java/com/plaid/client/model/BusinessWebsiteSSL.java new file mode 100644 index 0000000000..0e1efbadba --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessWebsiteSSL.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessCheckBooleanStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SSL status for the business website. + */ +@ApiModel(description = "SSL status for the business website.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessWebsiteSSL { + public static final String SERIALIZED_NAME_IS_VALID = "is_valid"; + @SerializedName(SERIALIZED_NAME_IS_VALID) + private BusinessCheckBooleanStatus isValid; + + + public BusinessWebsiteSSL isValid(BusinessCheckBooleanStatus isValid) { + + this.isValid = isValid; + return this; + } + + /** + * Get isValid + * @return isValid + **/ + @ApiModelProperty(required = true, value = "") + + public BusinessCheckBooleanStatus getIsValid() { + return isValid; + } + + + public void setIsValid(BusinessCheckBooleanStatus isValid) { + this.isValid = isValid; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessWebsiteSSL businessWebsiteSSL = (BusinessWebsiteSSL) o; + return Objects.equals(this.isValid, businessWebsiteSSL.isValid); + } + + @Override + public int hashCode() { + return Objects.hash(isValid); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessWebsiteSSL {\n"); + sb.append(" isValid: ").append(toIndentedString(isValid)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/BusinessWhoisRecord.java b/src/main/java/com/plaid/client/model/BusinessWhoisRecord.java new file mode 100644 index 0000000000..d7e3615634 --- /dev/null +++ b/src/main/java/com/plaid/client/model/BusinessWhoisRecord.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * WHOIS metadata for the business website domain. + */ +@ApiModel(description = "WHOIS metadata for the business website domain.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class BusinessWhoisRecord { + public static final String SERIALIZED_NAME_DOMAIN_CREATED_AT = "domain_created_at"; + @SerializedName(SERIALIZED_NAME_DOMAIN_CREATED_AT) + private OffsetDateTime domainCreatedAt; + + public static final String SERIALIZED_NAME_DOMAIN_UPDATED_AT = "domain_updated_at"; + @SerializedName(SERIALIZED_NAME_DOMAIN_UPDATED_AT) + private OffsetDateTime domainUpdatedAt; + + public static final String SERIALIZED_NAME_DOMAIN_EXPIRES_AT = "domain_expires_at"; + @SerializedName(SERIALIZED_NAME_DOMAIN_EXPIRES_AT) + private OffsetDateTime domainExpiresAt; + + public static final String SERIALIZED_NAME_REGISTRAR = "registrar"; + @SerializedName(SERIALIZED_NAME_REGISTRAR) + private String registrar; + + + public BusinessWhoisRecord domainCreatedAt(OffsetDateTime domainCreatedAt) { + + this.domainCreatedAt = domainCreatedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return domainCreatedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getDomainCreatedAt() { + return domainCreatedAt; + } + + + public void setDomainCreatedAt(OffsetDateTime domainCreatedAt) { + this.domainCreatedAt = domainCreatedAt; + } + + + public BusinessWhoisRecord domainUpdatedAt(OffsetDateTime domainUpdatedAt) { + + this.domainUpdatedAt = domainUpdatedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return domainUpdatedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getDomainUpdatedAt() { + return domainUpdatedAt; + } + + + public void setDomainUpdatedAt(OffsetDateTime domainUpdatedAt) { + this.domainUpdatedAt = domainUpdatedAt; + } + + + public BusinessWhoisRecord domainExpiresAt(OffsetDateTime domainExpiresAt) { + + this.domainExpiresAt = domainExpiresAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return domainExpiresAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getDomainExpiresAt() { + return domainExpiresAt; + } + + + public void setDomainExpiresAt(OffsetDateTime domainExpiresAt) { + this.domainExpiresAt = domainExpiresAt; + } + + + public BusinessWhoisRecord registrar(String registrar) { + + this.registrar = registrar; + return this; + } + + /** + * Domain registrar. + * @return registrar + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "GANDI SAS", required = true, value = "Domain registrar.") + + public String getRegistrar() { + return registrar; + } + + + public void setRegistrar(String registrar) { + this.registrar = registrar; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BusinessWhoisRecord businessWhoisRecord = (BusinessWhoisRecord) o; + return Objects.equals(this.domainCreatedAt, businessWhoisRecord.domainCreatedAt) && + Objects.equals(this.domainUpdatedAt, businessWhoisRecord.domainUpdatedAt) && + Objects.equals(this.domainExpiresAt, businessWhoisRecord.domainExpiresAt) && + Objects.equals(this.registrar, businessWhoisRecord.registrar); + } + + @Override + public int hashCode() { + return Objects.hash(domainCreatedAt, domainUpdatedAt, domainExpiresAt, registrar); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BusinessWhoisRecord {\n"); + sb.append(" domainCreatedAt: ").append(toIndentedString(domainCreatedAt)).append("\n"); + sb.append(" domainUpdatedAt: ").append(toIndentedString(domainUpdatedAt)).append("\n"); + sb.append(" domainExpiresAt: ").append(toIndentedString(domainExpiresAt)).append("\n"); + sb.append(" registrar: ").append(toIndentedString(registrar)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CRALoansRegisterRequest.java b/src/main/java/com/plaid/client/model/CRALoansRegisterRequest.java new file mode 100644 index 0000000000..14b9a52a98 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CRALoansRegisterRequest.java @@ -0,0 +1,164 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraLoanRegister; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraLoansRegisterRequest defines the request schema for `/cra/loans/register` + */ +@ApiModel(description = "CraLoansRegisterRequest defines the request schema for `/cra/loans/register`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CRALoansRegisterRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_LOANS = "loans"; + @SerializedName(SERIALIZED_NAME_LOANS) + private List loans = new ArrayList<>(); + + + public CRALoansRegisterRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CRALoansRegisterRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CRALoansRegisterRequest loans(List loans) { + + this.loans = loans; + return this; + } + + public CRALoansRegisterRequest addLoansItem(CraLoanRegister loansItem) { + this.loans.add(loansItem); + return this; + } + + /** + * A list of loans to register. + * @return loans + **/ + @ApiModelProperty(required = true, value = "A list of loans to register.") + + public List getLoans() { + return loans; + } + + + public void setLoans(List loans) { + this.loans = loans; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CRALoansRegisterRequest crALoansRegisterRequest = (CRALoansRegisterRequest) o; + return Objects.equals(this.clientId, crALoansRegisterRequest.clientId) && + Objects.equals(this.secret, crALoansRegisterRequest.secret) && + Objects.equals(this.loans, crALoansRegisterRequest.loans); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, loans); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CRALoansRegisterRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" loans: ").append(toIndentedString(loans)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashFlowInsight.java b/src/main/java/com/plaid/client/model/CashFlowInsight.java new file mode 100644 index 0000000000..4dbc3d36f0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashFlowInsight.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An insight that can be detected by the Cash Flow Updates product + */ +@JsonAdapter(CashFlowInsight.Adapter.class) +public enum CashFlowInsight { + + LARGE_DEPOSIT_DETECTED("LARGE_DEPOSIT_DETECTED"), + + LOW_BALANCE_DETECTED("LOW_BALANCE_DETECTED"), + + NEW_LOAN_PAYMENT_DETECTED("NEW_LOAN_PAYMENT_DETECTED"), + + NSF_OVERDRAFT_DETECTED("NSF_OVERDRAFT_DETECTED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CashFlowInsight(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CashFlowInsight fromValue(String value) { + for (CashFlowInsight b : CashFlowInsight.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CashFlowInsight.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CashFlowInsight enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CashFlowInsight read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CashFlowInsight.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CashFlowUpdatesEventWebhookCodes.java b/src/main/java/com/plaid/client/model/CashFlowUpdatesEventWebhookCodes.java new file mode 100644 index 0000000000..41974d3f5f --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashFlowUpdatesEventWebhookCodes.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Webhook code for a Cash Flow Updates event. + */ +@JsonAdapter(CashFlowUpdatesEventWebhookCodes.Adapter.class) +public enum CashFlowUpdatesEventWebhookCodes { + + LARGE_DEPOSIT_DETECTED("LARGE_DEPOSIT_DETECTED"), + + LOW_BALANCE_DETECTED("LOW_BALANCE_DETECTED"), + + NEW_LOAN_PAYMENT_DETECTED("NEW_LOAN_PAYMENT_DETECTED"), + + NSF_OVERDRAFT_DETECTED("NSF_OVERDRAFT_DETECTED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CashFlowUpdatesEventWebhookCodes(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CashFlowUpdatesEventWebhookCodes fromValue(String value) { + for (CashFlowUpdatesEventWebhookCodes b : CashFlowUpdatesEventWebhookCodes.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CashFlowUpdatesEventWebhookCodes.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CashFlowUpdatesEventWebhookCodes enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CashFlowUpdatesEventWebhookCodes read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CashFlowUpdatesEventWebhookCodes.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CashFlowUpdatesExpectedDepositMissedWebhook.java b/src/main/java/com/plaid/client/model/CashFlowUpdatesExpectedDepositMissedWebhook.java new file mode 100644 index 0000000000..8d9c9b5951 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashFlowUpdatesExpectedDepositMissedWebhook.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MonitoringInsightsStatus; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update detects that an expected deposit was missed. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights. + */ +@ApiModel(description = "For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update detects that an expected deposit was missed. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashFlowUpdatesExpectedDepositMissedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private MonitoringInsightsStatus status; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CashFlowUpdatesExpectedDepositMissedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CASH_FLOW_UPDATES` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CASH_FLOW_UPDATES`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CashFlowUpdatesExpectedDepositMissedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `EXPECTED_DEPOSIT_MISSED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`EXPECTED_DEPOSIT_MISSED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CashFlowUpdatesExpectedDepositMissedWebhook status(MonitoringInsightsStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public MonitoringInsightsStatus getStatus() { + return status; + } + + + public void setStatus(MonitoringInsightsStatus status) { + this.status = status; + } + + + public CashFlowUpdatesExpectedDepositMissedWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` that the report is associated with + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` that the report is associated with") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CashFlowUpdatesExpectedDepositMissedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashFlowUpdatesExpectedDepositMissedWebhook cashFlowUpdatesExpectedDepositMissedWebhook = (CashFlowUpdatesExpectedDepositMissedWebhook) o; + return Objects.equals(this.webhookType, cashFlowUpdatesExpectedDepositMissedWebhook.webhookType) && + Objects.equals(this.webhookCode, cashFlowUpdatesExpectedDepositMissedWebhook.webhookCode) && + Objects.equals(this.status, cashFlowUpdatesExpectedDepositMissedWebhook.status) && + Objects.equals(this.userId, cashFlowUpdatesExpectedDepositMissedWebhook.userId) && + Objects.equals(this.environment, cashFlowUpdatesExpectedDepositMissedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, status, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashFlowUpdatesExpectedDepositMissedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashFlowUpdatesInsightsV2Webhook.java b/src/main/java/com/plaid/client/model/CashFlowUpdatesInsightsV2Webhook.java new file mode 100644 index 0000000000..82badca4fc --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashFlowUpdatesInsightsV2Webhook.java @@ -0,0 +1,248 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CashFlowInsight; +import com.plaid.client.model.MonitoringInsightsStatus; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * For each item on an enabled user, this webhook will fire up to four times a day with status information. This webhook will not fire immediately upon enrollment in Cash Flow Updates. The payload may contain an `insights` array with insights that have been detected, if any (e.g. `LOW_BALANCE_DETECTED`, `LARGE_DEPOSIT_DETECTED`). Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights. + */ +@ApiModel(description = "For each item on an enabled user, this webhook will fire up to four times a day with status information. This webhook will not fire immediately upon enrollment in Cash Flow Updates. The payload may contain an `insights` array with insights that have been detected, if any (e.g. `LOW_BALANCE_DETECTED`, `LARGE_DEPOSIT_DETECTED`). Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashFlowUpdatesInsightsV2Webhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private MonitoringInsightsStatus status; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_INSIGHTS = "insights"; + @SerializedName(SERIALIZED_NAME_INSIGHTS) + private List insights = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CashFlowUpdatesInsightsV2Webhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CASH_FLOW_UPDATES` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CASH_FLOW_UPDATES`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CashFlowUpdatesInsightsV2Webhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `CASH_FLOW_INSIGHTS_UPDATED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`CASH_FLOW_INSIGHTS_UPDATED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CashFlowUpdatesInsightsV2Webhook status(MonitoringInsightsStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public MonitoringInsightsStatus getStatus() { + return status; + } + + + public void setStatus(MonitoringInsightsStatus status) { + this.status = status; + } + + + public CashFlowUpdatesInsightsV2Webhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` associated with the user whose data is being requested. This is received by calling `/user/create`. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` associated with the user whose data is being requested. This is received by calling `/user/create`.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CashFlowUpdatesInsightsV2Webhook insights(List insights) { + + this.insights = insights; + return this; + } + + public CashFlowUpdatesInsightsV2Webhook addInsightsItem(CashFlowInsight insightsItem) { + this.insights.add(insightsItem); + return this; + } + + /** + * Array containing the insights detected within the generated report, if any. Possible values include: `LARGE_DEPOSIT_DETECTED`: signaling a deposit over $5,000 `LOW_BALANCE_DETECTED`: signaling a balance below $100 `NEW_LOAN_PAYMENT_DETECTED`: signaling a new loan payment `NSF_OVERDRAFT_DETECTED`: signaling an NSF overdraft + * @return insights + **/ + @ApiModelProperty(required = true, value = "Array containing the insights detected within the generated report, if any. Possible values include: `LARGE_DEPOSIT_DETECTED`: signaling a deposit over $5,000 `LOW_BALANCE_DETECTED`: signaling a balance below $100 `NEW_LOAN_PAYMENT_DETECTED`: signaling a new loan payment `NSF_OVERDRAFT_DETECTED`: signaling an NSF overdraft") + + public List getInsights() { + return insights; + } + + + public void setInsights(List insights) { + this.insights = insights; + } + + + public CashFlowUpdatesInsightsV2Webhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashFlowUpdatesInsightsV2Webhook cashFlowUpdatesInsightsV2Webhook = (CashFlowUpdatesInsightsV2Webhook) o; + return Objects.equals(this.webhookType, cashFlowUpdatesInsightsV2Webhook.webhookType) && + Objects.equals(this.webhookCode, cashFlowUpdatesInsightsV2Webhook.webhookCode) && + Objects.equals(this.status, cashFlowUpdatesInsightsV2Webhook.status) && + Objects.equals(this.userId, cashFlowUpdatesInsightsV2Webhook.userId) && + Objects.equals(this.insights, cashFlowUpdatesInsightsV2Webhook.insights) && + Objects.equals(this.environment, cashFlowUpdatesInsightsV2Webhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, status, userId, insights, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashFlowUpdatesInsightsV2Webhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" insights: ").append(toIndentedString(insights)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashFlowUpdatesInsightsWebhook.java b/src/main/java/com/plaid/client/model/CashFlowUpdatesInsightsWebhook.java new file mode 100644 index 0000000000..1aa0d4211d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashFlowUpdatesInsightsWebhook.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MonitoringInsightsStatus; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * For each user's Item enabled for Cash Flow Updates, this webhook will fire between one and four times a day with information on the status of the update. This webhook will not fire immediately upon enrollment in Cash Flow Updates. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights. At approximately the same time as the `INSIGHTS_UPDATED` webhook, any event-driven `CASH_FLOW_UPDATES` webhooks (e.g. `LOW_BALANCE_DETECTED`, `LARGE_DEPOSIT_DETECTED`) that were triggered by the update will also fire. This webhook has been replaced by the `CASH_FLOW_INSIGHTS_UPDATED` webhook for all customers who began using Plaid Check on or after December 10, 2025. + */ +@ApiModel(description = "For each user's Item enabled for Cash Flow Updates, this webhook will fire between one and four times a day with information on the status of the update. This webhook will not fire immediately upon enrollment in Cash Flow Updates. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights. At approximately the same time as the `INSIGHTS_UPDATED` webhook, any event-driven `CASH_FLOW_UPDATES` webhooks (e.g. `LOW_BALANCE_DETECTED`, `LARGE_DEPOSIT_DETECTED`) that were triggered by the update will also fire. This webhook has been replaced by the `CASH_FLOW_INSIGHTS_UPDATED` webhook for all customers who began using Plaid Check on or after December 10, 2025.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashFlowUpdatesInsightsWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private MonitoringInsightsStatus status; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CashFlowUpdatesInsightsWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CASH_FLOW_UPDATES` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CASH_FLOW_UPDATES`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CashFlowUpdatesInsightsWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `INSIGHTS_UPDATED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`INSIGHTS_UPDATED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CashFlowUpdatesInsightsWebhook status(MonitoringInsightsStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public MonitoringInsightsStatus getStatus() { + return status; + } + + + public void setStatus(MonitoringInsightsStatus status) { + this.status = status; + } + + + public CashFlowUpdatesInsightsWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` that the report is associated with + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` that the report is associated with") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CashFlowUpdatesInsightsWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashFlowUpdatesInsightsWebhook cashFlowUpdatesInsightsWebhook = (CashFlowUpdatesInsightsWebhook) o; + return Objects.equals(this.webhookType, cashFlowUpdatesInsightsWebhook.webhookType) && + Objects.equals(this.webhookCode, cashFlowUpdatesInsightsWebhook.webhookCode) && + Objects.equals(this.status, cashFlowUpdatesInsightsWebhook.status) && + Objects.equals(this.userId, cashFlowUpdatesInsightsWebhook.userId) && + Objects.equals(this.environment, cashFlowUpdatesInsightsWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, status, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashFlowUpdatesInsightsWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashFlowUpdatesLargeDepositWebhook.java b/src/main/java/com/plaid/client/model/CashFlowUpdatesLargeDepositWebhook.java new file mode 100644 index 0000000000..c4efd48bc1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashFlowUpdatesLargeDepositWebhook.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MonitoringInsightsStatus; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update detects a deposit over $5,000. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights. + */ +@ApiModel(description = "For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update detects a deposit over $5,000. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashFlowUpdatesLargeDepositWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private MonitoringInsightsStatus status; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CashFlowUpdatesLargeDepositWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CASH_FLOW_UPDATES` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CASH_FLOW_UPDATES`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CashFlowUpdatesLargeDepositWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `LARGE_DEPOSIT_DETECTED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`LARGE_DEPOSIT_DETECTED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CashFlowUpdatesLargeDepositWebhook status(MonitoringInsightsStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public MonitoringInsightsStatus getStatus() { + return status; + } + + + public void setStatus(MonitoringInsightsStatus status) { + this.status = status; + } + + + public CashFlowUpdatesLargeDepositWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` that the report is associated with + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` that the report is associated with") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CashFlowUpdatesLargeDepositWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashFlowUpdatesLargeDepositWebhook cashFlowUpdatesLargeDepositWebhook = (CashFlowUpdatesLargeDepositWebhook) o; + return Objects.equals(this.webhookType, cashFlowUpdatesLargeDepositWebhook.webhookType) && + Objects.equals(this.webhookCode, cashFlowUpdatesLargeDepositWebhook.webhookCode) && + Objects.equals(this.status, cashFlowUpdatesLargeDepositWebhook.status) && + Objects.equals(this.userId, cashFlowUpdatesLargeDepositWebhook.userId) && + Objects.equals(this.environment, cashFlowUpdatesLargeDepositWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, status, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashFlowUpdatesLargeDepositWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashFlowUpdatesLowBalanceWebhook.java b/src/main/java/com/plaid/client/model/CashFlowUpdatesLowBalanceWebhook.java new file mode 100644 index 0000000000..ab280aece2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashFlowUpdatesLowBalanceWebhook.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MonitoringInsightsStatus; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update detects a balance below $100. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights. + */ +@ApiModel(description = "For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update detects a balance below $100. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashFlowUpdatesLowBalanceWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private MonitoringInsightsStatus status; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CashFlowUpdatesLowBalanceWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CASH_FLOW_UPDATES` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CASH_FLOW_UPDATES`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CashFlowUpdatesLowBalanceWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `LOW_BALANCE_DETECTED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`LOW_BALANCE_DETECTED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CashFlowUpdatesLowBalanceWebhook status(MonitoringInsightsStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public MonitoringInsightsStatus getStatus() { + return status; + } + + + public void setStatus(MonitoringInsightsStatus status) { + this.status = status; + } + + + public CashFlowUpdatesLowBalanceWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` that the report is associated with + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` that the report is associated with") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CashFlowUpdatesLowBalanceWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashFlowUpdatesLowBalanceWebhook cashFlowUpdatesLowBalanceWebhook = (CashFlowUpdatesLowBalanceWebhook) o; + return Objects.equals(this.webhookType, cashFlowUpdatesLowBalanceWebhook.webhookType) && + Objects.equals(this.webhookCode, cashFlowUpdatesLowBalanceWebhook.webhookCode) && + Objects.equals(this.status, cashFlowUpdatesLowBalanceWebhook.status) && + Objects.equals(this.userId, cashFlowUpdatesLowBalanceWebhook.userId) && + Objects.equals(this.environment, cashFlowUpdatesLowBalanceWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, status, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashFlowUpdatesLowBalanceWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashFlowUpdatesNSFWebhook.java b/src/main/java/com/plaid/client/model/CashFlowUpdatesNSFWebhook.java new file mode 100644 index 0000000000..189688a4d5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashFlowUpdatesNSFWebhook.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MonitoringInsightsStatus; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update includes an NSF overdraft transaction. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights. + */ +@ApiModel(description = "For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update includes an NSF overdraft transaction. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashFlowUpdatesNSFWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private MonitoringInsightsStatus status; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CashFlowUpdatesNSFWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CASH_FLOW_UPDATES` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CASH_FLOW_UPDATES`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CashFlowUpdatesNSFWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `NSF_OVERDRAFT_DETECTED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`NSF_OVERDRAFT_DETECTED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CashFlowUpdatesNSFWebhook status(MonitoringInsightsStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public MonitoringInsightsStatus getStatus() { + return status; + } + + + public void setStatus(MonitoringInsightsStatus status) { + this.status = status; + } + + + public CashFlowUpdatesNSFWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` that the report is associated with + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` that the report is associated with") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CashFlowUpdatesNSFWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashFlowUpdatesNSFWebhook cashFlowUpdatesNSFWebhook = (CashFlowUpdatesNSFWebhook) o; + return Objects.equals(this.webhookType, cashFlowUpdatesNSFWebhook.webhookType) && + Objects.equals(this.webhookCode, cashFlowUpdatesNSFWebhook.webhookCode) && + Objects.equals(this.status, cashFlowUpdatesNSFWebhook.status) && + Objects.equals(this.userId, cashFlowUpdatesNSFWebhook.userId) && + Objects.equals(this.environment, cashFlowUpdatesNSFWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, status, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashFlowUpdatesNSFWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashFlowUpdatesNewIncomeStreamWebhook.java b/src/main/java/com/plaid/client/model/CashFlowUpdatesNewIncomeStreamWebhook.java new file mode 100644 index 0000000000..1a613e210f --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashFlowUpdatesNewIncomeStreamWebhook.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MonitoringInsightsStatus; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update includes a new income stream. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights. + */ +@ApiModel(description = "For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update includes a new income stream. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashFlowUpdatesNewIncomeStreamWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private MonitoringInsightsStatus status; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CashFlowUpdatesNewIncomeStreamWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CASH_FLOW_UPDATES` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CASH_FLOW_UPDATES`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CashFlowUpdatesNewIncomeStreamWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `NEW_INCOME_STREAM_DETECTED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`NEW_INCOME_STREAM_DETECTED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CashFlowUpdatesNewIncomeStreamWebhook status(MonitoringInsightsStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public MonitoringInsightsStatus getStatus() { + return status; + } + + + public void setStatus(MonitoringInsightsStatus status) { + this.status = status; + } + + + public CashFlowUpdatesNewIncomeStreamWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` that the report is associated with + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` that the report is associated with") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CashFlowUpdatesNewIncomeStreamWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashFlowUpdatesNewIncomeStreamWebhook cashFlowUpdatesNewIncomeStreamWebhook = (CashFlowUpdatesNewIncomeStreamWebhook) o; + return Objects.equals(this.webhookType, cashFlowUpdatesNewIncomeStreamWebhook.webhookType) && + Objects.equals(this.webhookCode, cashFlowUpdatesNewIncomeStreamWebhook.webhookCode) && + Objects.equals(this.status, cashFlowUpdatesNewIncomeStreamWebhook.status) && + Objects.equals(this.userId, cashFlowUpdatesNewIncomeStreamWebhook.userId) && + Objects.equals(this.environment, cashFlowUpdatesNewIncomeStreamWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, status, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashFlowUpdatesNewIncomeStreamWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashFlowUpdatesNewLoanPaymentWebhook.java b/src/main/java/com/plaid/client/model/CashFlowUpdatesNewLoanPaymentWebhook.java new file mode 100644 index 0000000000..b92fa70e89 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashFlowUpdatesNewLoanPaymentWebhook.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MonitoringInsightsStatus; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update detects a new loan payment. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights. + */ +@ApiModel(description = "For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update detects a new loan payment. Upon receiving the webhook, call `/cra/monitoring_insights/get` to retrieve the updated insights.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashFlowUpdatesNewLoanPaymentWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private MonitoringInsightsStatus status; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CashFlowUpdatesNewLoanPaymentWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CASH_FLOW_UPDATES` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CASH_FLOW_UPDATES`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CashFlowUpdatesNewLoanPaymentWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `NEW_LOAN_PAYMENT_DETECTED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`NEW_LOAN_PAYMENT_DETECTED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CashFlowUpdatesNewLoanPaymentWebhook status(MonitoringInsightsStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public MonitoringInsightsStatus getStatus() { + return status; + } + + + public void setStatus(MonitoringInsightsStatus status) { + this.status = status; + } + + + public CashFlowUpdatesNewLoanPaymentWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` that the report is associated with + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` that the report is associated with") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CashFlowUpdatesNewLoanPaymentWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashFlowUpdatesNewLoanPaymentWebhook cashFlowUpdatesNewLoanPaymentWebhook = (CashFlowUpdatesNewLoanPaymentWebhook) o; + return Objects.equals(this.webhookType, cashFlowUpdatesNewLoanPaymentWebhook.webhookType) && + Objects.equals(this.webhookCode, cashFlowUpdatesNewLoanPaymentWebhook.webhookCode) && + Objects.equals(this.status, cashFlowUpdatesNewLoanPaymentWebhook.status) && + Objects.equals(this.userId, cashFlowUpdatesNewLoanPaymentWebhook.userId) && + Objects.equals(this.environment, cashFlowUpdatesNewLoanPaymentWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, status, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashFlowUpdatesNewLoanPaymentWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowAttributesVersion.java b/src/main/java/com/plaid/client/model/CashflowAttributesVersion.java new file mode 100644 index 0000000000..3a423d5406 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowAttributesVersion.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The version of cashflow attributes. Required if using Cash Flow Insights. + */ +@JsonAdapter(CashflowAttributesVersion.Adapter.class) +public enum CashflowAttributesVersion { + + V1_0("v1.0"), + + V2_0("v2.0"), + + CFI1("CFI1"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CashflowAttributesVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CashflowAttributesVersion fromValue(String value) { + for (CashflowAttributesVersion b : CashflowAttributesVersion.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CashflowAttributesVersion enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CashflowAttributesVersion read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CashflowAttributesVersion.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportAccountInsights.java b/src/main/java/com/plaid/client/model/CashflowReportAccountInsights.java new file mode 100644 index 0000000000..8c3f630408 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportAccountInsights.java @@ -0,0 +1,140 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CashflowReportHistoricalBalance; +import com.plaid.client.model.CashflowReportMonthlySummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Insights on the account level. These are only returned for Credit and Depository type accounts. + */ +@ApiModel(description = "Insights on the account level. These are only returned for Credit and Depository type accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportAccountInsights { + public static final String SERIALIZED_NAME_HISTORICAL_BALANCES = "historical_balances"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_BALANCES) + private List historicalBalances = new ArrayList<>(); + + public static final String SERIALIZED_NAME_MONTHLY_SUMMARIES = "monthly_summaries"; + @SerializedName(SERIALIZED_NAME_MONTHLY_SUMMARIES) + private List monthlySummaries = new ArrayList<>(); + + + public CashflowReportAccountInsights historicalBalances(List historicalBalances) { + + this.historicalBalances = historicalBalances; + return this; + } + + public CashflowReportAccountInsights addHistoricalBalancesItem(CashflowReportHistoricalBalance historicalBalancesItem) { + this.historicalBalances.add(historicalBalancesItem); + return this; + } + + /** + * Calculated data about the historical balances on the account. Available for `credit` and `depository` type accounts. + * @return historicalBalances + **/ + @ApiModelProperty(required = true, value = "Calculated data about the historical balances on the account. Available for `credit` and `depository` type accounts.") + + public List getHistoricalBalances() { + return historicalBalances; + } + + + public void setHistoricalBalances(List historicalBalances) { + this.historicalBalances = historicalBalances; + } + + + public CashflowReportAccountInsights monthlySummaries(List monthlySummaries) { + + this.monthlySummaries = monthlySummaries; + return this; + } + + public CashflowReportAccountInsights addMonthlySummariesItem(CashflowReportMonthlySummary monthlySummariesItem) { + this.monthlySummaries.add(monthlySummariesItem); + return this; + } + + /** + * Monthly summary statistics derived from transaction-level data. + * @return monthlySummaries + **/ + @ApiModelProperty(required = true, value = "Monthly summary statistics derived from transaction-level data.") + + public List getMonthlySummaries() { + return monthlySummaries; + } + + + public void setMonthlySummaries(List monthlySummaries) { + this.monthlySummaries = monthlySummaries; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportAccountInsights cashflowReportAccountInsights = (CashflowReportAccountInsights) o; + return Objects.equals(this.historicalBalances, cashflowReportAccountInsights.historicalBalances) && + Objects.equals(this.monthlySummaries, cashflowReportAccountInsights.monthlySummaries); + } + + @Override + public int hashCode() { + return Objects.hash(historicalBalances, monthlySummaries); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportAccountInsights {\n"); + sb.append(" historicalBalances: ").append(toIndentedString(historicalBalances)).append("\n"); + sb.append(" monthlySummaries: ").append(toIndentedString(monthlySummaries)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportGetRequest.java b/src/main/java/com/plaid/client/model/CashflowReportGetRequest.java new file mode 100644 index 0000000000..3849d55c56 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportGetRequest.java @@ -0,0 +1,276 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CashflowReportGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CashflowReportGetRequest defines the request schema for `/cashflow_report/get` + */ +@ApiModel(description = "CashflowReportGetRequest defines the request schema for `/cashflow_report/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 100; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private CashflowReportGetRequestOptions options; + + + public CashflowReportGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CashflowReportGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public CashflowReportGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CashflowReportGetRequest daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * Number of days to retrieve transactions data for (1 to 730) + * minimum: 1 + * maximum: 730 + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "Number of days to retrieve transactions data for (1 to 730)") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + public CashflowReportGetRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * Number of transactions to fetch per call + * minimum: 1 + * maximum: 500 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of transactions to fetch per call") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public CashflowReportGetRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * The cursor value represents the last update requested. Pass in the empty string \"\" in the first call. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The cursor value represents the last update requested. Pass in the empty string \"\" in the first call.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + public CashflowReportGetRequest options(CashflowReportGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CashflowReportGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(CashflowReportGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportGetRequest cashflowReportGetRequest = (CashflowReportGetRequest) o; + return Objects.equals(this.clientId, cashflowReportGetRequest.clientId) && + Objects.equals(this.accessToken, cashflowReportGetRequest.accessToken) && + Objects.equals(this.secret, cashflowReportGetRequest.secret) && + Objects.equals(this.daysRequested, cashflowReportGetRequest.daysRequested) && + Objects.equals(this.count, cashflowReportGetRequest.count) && + Objects.equals(this.cursor, cashflowReportGetRequest.cursor) && + Objects.equals(this.options, cashflowReportGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, accessToken, secret, daysRequested, count, cursor, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportGetRequestOptions.java b/src/main/java/com/plaid/client/model/CashflowReportGetRequestOptions.java new file mode 100644 index 0000000000..7e206e8109 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportGetRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to be used with the request. If specified, `options` must not be `null`. + */ +@ApiModel(description = "An optional object to be used with the request. If specified, `options` must not be `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportGetRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + + public CashflowReportGetRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public CashflowReportGetRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * A list of `account_ids` to retrieve for the Item Note: An error will be returned if a provided `account_id` is not associated with the Item. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of `account_ids` to retrieve for the Item Note: An error will be returned if a provided `account_id` is not associated with the Item.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportGetRequestOptions cashflowReportGetRequestOptions = (CashflowReportGetRequestOptions) o; + return Objects.equals(this.accountIds, cashflowReportGetRequestOptions.accountIds); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportGetRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportGetResponse.java b/src/main/java/com/plaid/client/model/CashflowReportGetResponse.java new file mode 100644 index 0000000000..9cf586f633 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportGetResponse.java @@ -0,0 +1,310 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessAccount; +import com.plaid.client.model.CashflowReportTransaction; +import com.plaid.client.model.Item; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * CashflowReportGetResponse defines the response schema for `/cashflow_report/get` + */ +@ApiModel(description = "CashflowReportGetResponse defines the response schema for `/cashflow_report/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportGetResponse { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TOTAL_TRANSACTIONS = "total_transactions"; + @SerializedName(SERIALIZED_NAME_TOTAL_TRANSACTIONS) + private Integer totalTransactions; + + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_HAS_MORE = "has_more"; + @SerializedName(SERIALIZED_NAME_HAS_MORE) + private Boolean hasMore; + + public static final String SERIALIZED_NAME_LAST_SUCCESSFUL_UPDATE_TIME = "last_successful_update_time"; + @SerializedName(SERIALIZED_NAME_LAST_SUCCESSFUL_UPDATE_TIME) + private OffsetDateTime lastSuccessfulUpdateTime; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CashflowReportGetResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public CashflowReportGetResponse addAccountsItem(BusinessAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * An array containing the `accounts` associated with the Item for which transactions are being returned. Each transaction can be mapped to its corresponding account via the `account_id` field. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "An array containing the `accounts` associated with the Item for which transactions are being returned. Each transaction can be mapped to its corresponding account via the `account_id` field.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public CashflowReportGetResponse transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public CashflowReportGetResponse addTransactionsItem(CashflowReportTransaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * An array containing transactions from the account. Transactions are returned in reverse chronological order, with the most recent at the beginning of the array. The maximum number of transactions returned is determined by the `count` parameter. + * @return transactions + **/ + @ApiModelProperty(required = true, value = "An array containing transactions from the account. Transactions are returned in reverse chronological order, with the most recent at the beginning of the array. The maximum number of transactions returned is determined by the `count` parameter.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + public CashflowReportGetResponse totalTransactions(Integer totalTransactions) { + + this.totalTransactions = totalTransactions; + return this; + } + + /** + * The total number of transactions available within the date range specified. If `total_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched using the `cursor` parameter. + * @return totalTransactions + **/ + @ApiModelProperty(required = true, value = "The total number of transactions available within the date range specified. If `total_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched using the `cursor` parameter.") + + public Integer getTotalTransactions() { + return totalTransactions; + } + + + public void setTotalTransactions(Integer totalTransactions) { + this.totalTransactions = totalTransactions; + } + + + public CashflowReportGetResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public CashflowReportGetResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * Cursor used for fetching any future updates after the latest update provided in this response. + * @return nextCursor + **/ + @ApiModelProperty(required = true, value = "Cursor used for fetching any future updates after the latest update provided in this response.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public CashflowReportGetResponse hasMore(Boolean hasMore) { + + this.hasMore = hasMore; + return this; + } + + /** + * Represents if more than requested count of transactions exists to be fetched + * @return hasMore + **/ + @ApiModelProperty(required = true, value = "Represents if more than requested count of transactions exists to be fetched") + + public Boolean getHasMore() { + return hasMore; + } + + + public void setHasMore(Boolean hasMore) { + this.hasMore = hasMore; + } + + + public CashflowReportGetResponse lastSuccessfulUpdateTime(OffsetDateTime lastSuccessfulUpdateTime) { + + this.lastSuccessfulUpdateTime = lastSuccessfulUpdateTime; + return this; + } + + /** + * The last successful update time in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ) + * @return lastSuccessfulUpdateTime + **/ + @ApiModelProperty(required = true, value = "The last successful update time in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` )") + + public OffsetDateTime getLastSuccessfulUpdateTime() { + return lastSuccessfulUpdateTime; + } + + + public void setLastSuccessfulUpdateTime(OffsetDateTime lastSuccessfulUpdateTime) { + this.lastSuccessfulUpdateTime = lastSuccessfulUpdateTime; + } + + + public CashflowReportGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportGetResponse cashflowReportGetResponse = (CashflowReportGetResponse) o; + return Objects.equals(this.accounts, cashflowReportGetResponse.accounts) && + Objects.equals(this.transactions, cashflowReportGetResponse.transactions) && + Objects.equals(this.totalTransactions, cashflowReportGetResponse.totalTransactions) && + Objects.equals(this.item, cashflowReportGetResponse.item) && + Objects.equals(this.nextCursor, cashflowReportGetResponse.nextCursor) && + Objects.equals(this.hasMore, cashflowReportGetResponse.hasMore) && + Objects.equals(this.lastSuccessfulUpdateTime, cashflowReportGetResponse.lastSuccessfulUpdateTime) && + Objects.equals(this.requestId, cashflowReportGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, transactions, totalTransactions, item, nextCursor, hasMore, lastSuccessfulUpdateTime, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportGetResponse {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" totalTransactions: ").append(toIndentedString(totalTransactions)).append("\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" hasMore: ").append(toIndentedString(hasMore)).append("\n"); + sb.append(" lastSuccessfulUpdateTime: ").append(toIndentedString(lastSuccessfulUpdateTime)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportHistoricalBalance.java b/src/main/java/com/plaid/client/model/CashflowReportHistoricalBalance.java new file mode 100644 index 0000000000..bdf12bc22d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportHistoricalBalance.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An object representing a balance held by an account in the past + */ +@ApiModel(description = "An object representing a balance held by an account in the past") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportHistoricalBalance { + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CashflowReportHistoricalBalance date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The date of the calculated historical balance, in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD) + * @return date + **/ + @ApiModelProperty(required = true, value = "The date of the calculated historical balance, in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD)") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public CashflowReportHistoricalBalance amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The total amount of funds in the account, calculated from the `current` balance in the `balance` object by subtracting inflows and adding back outflows according to the posted date of each transaction. If the account has any pending transactions, historical balance amounts on or after the date of the earliest pending transaction may differ if retrieved in subsequent Asset Reports as a result of those pending transactions posting. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The total amount of funds in the account, calculated from the `current` balance in the `balance` object by subtracting inflows and adding back outflows according to the posted date of each transaction. If the account has any pending transactions, historical balance amounts on or after the date of the earliest pending transaction may differ if retrieved in subsequent Asset Reports as a result of those pending transactions posting.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CashflowReportHistoricalBalance isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the balance. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the balance. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CashflowReportHistoricalBalance unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the balance. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the balance. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportHistoricalBalance cashflowReportHistoricalBalance = (CashflowReportHistoricalBalance) o; + return Objects.equals(this.date, cashflowReportHistoricalBalance.date) && + Objects.equals(this.amount, cashflowReportHistoricalBalance.amount) && + Objects.equals(this.isoCurrencyCode, cashflowReportHistoricalBalance.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, cashflowReportHistoricalBalance.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(date, amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportHistoricalBalance {\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportInsightsGetRequest.java b/src/main/java/com/plaid/client/model/CashflowReportInsightsGetRequest.java new file mode 100644 index 0000000000..8b1f36177c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportInsightsGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CashflowReportInsightsGetRequest defines the request schema for `/cashflow_report/insights/get` + */ +@ApiModel(description = "CashflowReportInsightsGetRequest defines the request schema for `/cashflow_report/insights/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportInsightsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public CashflowReportInsightsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CashflowReportInsightsGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public CashflowReportInsightsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportInsightsGetRequest cashflowReportInsightsGetRequest = (CashflowReportInsightsGetRequest) o; + return Objects.equals(this.clientId, cashflowReportInsightsGetRequest.clientId) && + Objects.equals(this.accessToken, cashflowReportInsightsGetRequest.accessToken) && + Objects.equals(this.secret, cashflowReportInsightsGetRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, accessToken, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportInsightsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportInsightsGetResponse.java b/src/main/java/com/plaid/client/model/CashflowReportInsightsGetResponse.java new file mode 100644 index 0000000000..898812b9ce --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportInsightsGetResponse.java @@ -0,0 +1,221 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessAccount; +import com.plaid.client.model.CashflowReportAccountInsights; +import com.plaid.client.model.Item; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * CashflowReportInsightsGetResponse defines the response schema for `/cashflow_report/insights/get` + */ +@ApiModel(description = "CashflowReportInsightsGetResponse defines the response schema for `/cashflow_report/insights/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportInsightsGetResponse { + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ACCOUNT_INSIGHTS = "account_insights"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_INSIGHTS) + private CashflowReportAccountInsights accountInsights; + + public static final String SERIALIZED_NAME_LAST_GENERATED_TIME = "last_generated_time"; + @SerializedName(SERIALIZED_NAME_LAST_GENERATED_TIME) + private OffsetDateTime lastGeneratedTime; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CashflowReportInsightsGetResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public CashflowReportInsightsGetResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public CashflowReportInsightsGetResponse addAccountsItem(BusinessAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * An array containing the `accounts` associated with the Item for which transactions are being returned. Each transaction can be mapped to its corresponding account via the `account_id` field. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "An array containing the `accounts` associated with the Item for which transactions are being returned. Each transaction can be mapped to its corresponding account via the `account_id` field.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public CashflowReportInsightsGetResponse accountInsights(CashflowReportAccountInsights accountInsights) { + + this.accountInsights = accountInsights; + return this; + } + + /** + * Get accountInsights + * @return accountInsights + **/ + @ApiModelProperty(required = true, value = "") + + public CashflowReportAccountInsights getAccountInsights() { + return accountInsights; + } + + + public void setAccountInsights(CashflowReportAccountInsights accountInsights) { + this.accountInsights = accountInsights; + } + + + public CashflowReportInsightsGetResponse lastGeneratedTime(OffsetDateTime lastGeneratedTime) { + + this.lastGeneratedTime = lastGeneratedTime; + return this; + } + + /** + * Datetime of last Cashflow Report generation in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ) + * @return lastGeneratedTime + **/ + @ApiModelProperty(required = true, value = "Datetime of last Cashflow Report generation in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` )") + + public OffsetDateTime getLastGeneratedTime() { + return lastGeneratedTime; + } + + + public void setLastGeneratedTime(OffsetDateTime lastGeneratedTime) { + this.lastGeneratedTime = lastGeneratedTime; + } + + + public CashflowReportInsightsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportInsightsGetResponse cashflowReportInsightsGetResponse = (CashflowReportInsightsGetResponse) o; + return Objects.equals(this.item, cashflowReportInsightsGetResponse.item) && + Objects.equals(this.accounts, cashflowReportInsightsGetResponse.accounts) && + Objects.equals(this.accountInsights, cashflowReportInsightsGetResponse.accountInsights) && + Objects.equals(this.lastGeneratedTime, cashflowReportInsightsGetResponse.lastGeneratedTime) && + Objects.equals(this.requestId, cashflowReportInsightsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(item, accounts, accountInsights, lastGeneratedTime, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportInsightsGetResponse {\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" accountInsights: ").append(toIndentedString(accountInsights)).append("\n"); + sb.append(" lastGeneratedTime: ").append(toIndentedString(lastGeneratedTime)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportMonthlySummary.java b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummary.java new file mode 100644 index 0000000000..4eb200c88e --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummary.java @@ -0,0 +1,560 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CashflowReportMonthlySummaryAverageDailyEndingBalance; +import com.plaid.client.model.CashflowReportMonthlySummaryAverageDailyInflowAmount; +import com.plaid.client.model.CashflowReportMonthlySummaryAverageDailyNetCashflowAmount; +import com.plaid.client.model.CashflowReportMonthlySummaryAverageDailyOutflowAmount; +import com.plaid.client.model.CashflowReportMonthlySummaryEndingBalance; +import com.plaid.client.model.CashflowReportMonthlySummaryStartingBalance; +import com.plaid.client.model.CashflowReportMonthlySummaryTotalLoanPayment; +import com.plaid.client.model.CashflowReportMonthlySummaryTotalPayroll; +import com.plaid.client.model.CashflowReportMonthlySummaryTotalRevenue; +import com.plaid.client.model.CashflowReportMonthlySummaryTotalVariableExpense; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * Monthly summary statistics derived from transaction-level data. + */ +@ApiModel(description = "Monthly summary statistics derived from transaction-level data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportMonthlySummary { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_STARTING_BALANCE = "starting_balance"; + @SerializedName(SERIALIZED_NAME_STARTING_BALANCE) + private CashflowReportMonthlySummaryStartingBalance startingBalance; + + public static final String SERIALIZED_NAME_ENDING_BALANCE = "ending_balance"; + @SerializedName(SERIALIZED_NAME_ENDING_BALANCE) + private CashflowReportMonthlySummaryEndingBalance endingBalance; + + public static final String SERIALIZED_NAME_AVERAGE_DAILY_ENDING_BALANCE = "average_daily_ending_balance"; + @SerializedName(SERIALIZED_NAME_AVERAGE_DAILY_ENDING_BALANCE) + private CashflowReportMonthlySummaryAverageDailyEndingBalance averageDailyEndingBalance; + + public static final String SERIALIZED_NAME_AVERAGE_DAILY_INFLOW_AMOUNT = "average_daily_inflow_amount"; + @SerializedName(SERIALIZED_NAME_AVERAGE_DAILY_INFLOW_AMOUNT) + private CashflowReportMonthlySummaryAverageDailyInflowAmount averageDailyInflowAmount; + + public static final String SERIALIZED_NAME_AVERAGE_DAILY_OUTFLOW_AMOUNT = "average_daily_outflow_amount"; + @SerializedName(SERIALIZED_NAME_AVERAGE_DAILY_OUTFLOW_AMOUNT) + private CashflowReportMonthlySummaryAverageDailyOutflowAmount averageDailyOutflowAmount; + + public static final String SERIALIZED_NAME_AVERAGE_DAILY_NET_CASHFLOW_AMOUNT = "average_daily_net_cashflow_amount"; + @SerializedName(SERIALIZED_NAME_AVERAGE_DAILY_NET_CASHFLOW_AMOUNT) + private CashflowReportMonthlySummaryAverageDailyNetCashflowAmount averageDailyNetCashflowAmount; + + public static final String SERIALIZED_NAME_AVERAGE_DAILY_INFLOW_TRANSACTION_COUNT = "average_daily_inflow_transaction_count"; + @SerializedName(SERIALIZED_NAME_AVERAGE_DAILY_INFLOW_TRANSACTION_COUNT) + private Double averageDailyInflowTransactionCount; + + public static final String SERIALIZED_NAME_AVERAGE_DAILY_OUTFLOW_TRANSACTION_COUNT = "average_daily_outflow_transaction_count"; + @SerializedName(SERIALIZED_NAME_AVERAGE_DAILY_OUTFLOW_TRANSACTION_COUNT) + private Double averageDailyOutflowTransactionCount; + + public static final String SERIALIZED_NAME_TOTAL_REVENUE = "total_revenue"; + @SerializedName(SERIALIZED_NAME_TOTAL_REVENUE) + private CashflowReportMonthlySummaryTotalRevenue totalRevenue; + + public static final String SERIALIZED_NAME_TOTAL_LOAN_PAYMENT = "total_loan_payment"; + @SerializedName(SERIALIZED_NAME_TOTAL_LOAN_PAYMENT) + private CashflowReportMonthlySummaryTotalLoanPayment totalLoanPayment; + + public static final String SERIALIZED_NAME_TOTAL_VARIABLE_EXPENSE = "total_variable_expense"; + @SerializedName(SERIALIZED_NAME_TOTAL_VARIABLE_EXPENSE) + private CashflowReportMonthlySummaryTotalVariableExpense totalVariableExpense; + + public static final String SERIALIZED_NAME_TOTAL_PAYROLL = "total_payroll"; + @SerializedName(SERIALIZED_NAME_TOTAL_PAYROLL) + private CashflowReportMonthlySummaryTotalPayroll totalPayroll; + + public static final String SERIALIZED_NAME_NSF_TRANSACTION_COUNT = "nsf_transaction_count"; + @SerializedName(SERIALIZED_NAME_NSF_TRANSACTION_COUNT) + private Integer nsfTransactionCount; + + public static final String SERIALIZED_NAME_OVERDRAFT_TRANSACTION_COUNT = "overdraft_transaction_count"; + @SerializedName(SERIALIZED_NAME_OVERDRAFT_TRANSACTION_COUNT) + private Integer overdraftTransactionCount; + + public static final String SERIALIZED_NAME_NEGATIVE_ENDING_BALANCE_DAY_COUNT = "negative_ending_balance_day_count"; + @SerializedName(SERIALIZED_NAME_NEGATIVE_ENDING_BALANCE_DAY_COUNT) + private Integer negativeEndingBalanceDayCount; + + + public CashflowReportMonthlySummary startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date of the period covered in this monthly summary. This date will be the first day of the month, unless the month being covered is a partial month because it is the first month included in the summary and the date range being requested does not begin with the first day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @ApiModelProperty(required = true, value = "The start date of the period covered in this monthly summary. This date will be the first day of the month, unless the month being covered is a partial month because it is the first month included in the summary and the date range being requested does not begin with the first day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public CashflowReportMonthlySummary endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end date of the period included in this monthly summary. This date will be the last day of the month, unless the month being covered is a partial month because it is the last month included in the summary and the date range being requested does not end with the last day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @ApiModelProperty(required = true, value = "The end date of the period included in this monthly summary. This date will be the last day of the month, unless the month being covered is a partial month because it is the last month included in the summary and the date range being requested does not end with the last day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public CashflowReportMonthlySummary startingBalance(CashflowReportMonthlySummaryStartingBalance startingBalance) { + + this.startingBalance = startingBalance; + return this; + } + + /** + * Get startingBalance + * @return startingBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public CashflowReportMonthlySummaryStartingBalance getStartingBalance() { + return startingBalance; + } + + + public void setStartingBalance(CashflowReportMonthlySummaryStartingBalance startingBalance) { + this.startingBalance = startingBalance; + } + + + public CashflowReportMonthlySummary endingBalance(CashflowReportMonthlySummaryEndingBalance endingBalance) { + + this.endingBalance = endingBalance; + return this; + } + + /** + * Get endingBalance + * @return endingBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public CashflowReportMonthlySummaryEndingBalance getEndingBalance() { + return endingBalance; + } + + + public void setEndingBalance(CashflowReportMonthlySummaryEndingBalance endingBalance) { + this.endingBalance = endingBalance; + } + + + public CashflowReportMonthlySummary averageDailyEndingBalance(CashflowReportMonthlySummaryAverageDailyEndingBalance averageDailyEndingBalance) { + + this.averageDailyEndingBalance = averageDailyEndingBalance; + return this; + } + + /** + * Get averageDailyEndingBalance + * @return averageDailyEndingBalance + **/ + @ApiModelProperty(required = true, value = "") + + public CashflowReportMonthlySummaryAverageDailyEndingBalance getAverageDailyEndingBalance() { + return averageDailyEndingBalance; + } + + + public void setAverageDailyEndingBalance(CashflowReportMonthlySummaryAverageDailyEndingBalance averageDailyEndingBalance) { + this.averageDailyEndingBalance = averageDailyEndingBalance; + } + + + public CashflowReportMonthlySummary averageDailyInflowAmount(CashflowReportMonthlySummaryAverageDailyInflowAmount averageDailyInflowAmount) { + + this.averageDailyInflowAmount = averageDailyInflowAmount; + return this; + } + + /** + * Get averageDailyInflowAmount + * @return averageDailyInflowAmount + **/ + @ApiModelProperty(required = true, value = "") + + public CashflowReportMonthlySummaryAverageDailyInflowAmount getAverageDailyInflowAmount() { + return averageDailyInflowAmount; + } + + + public void setAverageDailyInflowAmount(CashflowReportMonthlySummaryAverageDailyInflowAmount averageDailyInflowAmount) { + this.averageDailyInflowAmount = averageDailyInflowAmount; + } + + + public CashflowReportMonthlySummary averageDailyOutflowAmount(CashflowReportMonthlySummaryAverageDailyOutflowAmount averageDailyOutflowAmount) { + + this.averageDailyOutflowAmount = averageDailyOutflowAmount; + return this; + } + + /** + * Get averageDailyOutflowAmount + * @return averageDailyOutflowAmount + **/ + @ApiModelProperty(required = true, value = "") + + public CashflowReportMonthlySummaryAverageDailyOutflowAmount getAverageDailyOutflowAmount() { + return averageDailyOutflowAmount; + } + + + public void setAverageDailyOutflowAmount(CashflowReportMonthlySummaryAverageDailyOutflowAmount averageDailyOutflowAmount) { + this.averageDailyOutflowAmount = averageDailyOutflowAmount; + } + + + public CashflowReportMonthlySummary averageDailyNetCashflowAmount(CashflowReportMonthlySummaryAverageDailyNetCashflowAmount averageDailyNetCashflowAmount) { + + this.averageDailyNetCashflowAmount = averageDailyNetCashflowAmount; + return this; + } + + /** + * Get averageDailyNetCashflowAmount + * @return averageDailyNetCashflowAmount + **/ + @ApiModelProperty(required = true, value = "") + + public CashflowReportMonthlySummaryAverageDailyNetCashflowAmount getAverageDailyNetCashflowAmount() { + return averageDailyNetCashflowAmount; + } + + + public void setAverageDailyNetCashflowAmount(CashflowReportMonthlySummaryAverageDailyNetCashflowAmount averageDailyNetCashflowAmount) { + this.averageDailyNetCashflowAmount = averageDailyNetCashflowAmount; + } + + + public CashflowReportMonthlySummary averageDailyInflowTransactionCount(Double averageDailyInflowTransactionCount) { + + this.averageDailyInflowTransactionCount = averageDailyInflowTransactionCount; + return this; + } + + /** + * The average count of the number of daily inflow transactions. Rounded to 2 decimal places. + * @return averageDailyInflowTransactionCount + **/ + @ApiModelProperty(required = true, value = "The average count of the number of daily inflow transactions. Rounded to 2 decimal places.") + + public Double getAverageDailyInflowTransactionCount() { + return averageDailyInflowTransactionCount; + } + + + public void setAverageDailyInflowTransactionCount(Double averageDailyInflowTransactionCount) { + this.averageDailyInflowTransactionCount = averageDailyInflowTransactionCount; + } + + + public CashflowReportMonthlySummary averageDailyOutflowTransactionCount(Double averageDailyOutflowTransactionCount) { + + this.averageDailyOutflowTransactionCount = averageDailyOutflowTransactionCount; + return this; + } + + /** + * The average count of the number of daily outflow transactions. Rounded to 2 decimal places. + * @return averageDailyOutflowTransactionCount + **/ + @ApiModelProperty(required = true, value = "The average count of the number of daily outflow transactions. Rounded to 2 decimal places.") + + public Double getAverageDailyOutflowTransactionCount() { + return averageDailyOutflowTransactionCount; + } + + + public void setAverageDailyOutflowTransactionCount(Double averageDailyOutflowTransactionCount) { + this.averageDailyOutflowTransactionCount = averageDailyOutflowTransactionCount; + } + + + public CashflowReportMonthlySummary totalRevenue(CashflowReportMonthlySummaryTotalRevenue totalRevenue) { + + this.totalRevenue = totalRevenue; + return this; + } + + /** + * Get totalRevenue + * @return totalRevenue + **/ + @ApiModelProperty(required = true, value = "") + + public CashflowReportMonthlySummaryTotalRevenue getTotalRevenue() { + return totalRevenue; + } + + + public void setTotalRevenue(CashflowReportMonthlySummaryTotalRevenue totalRevenue) { + this.totalRevenue = totalRevenue; + } + + + public CashflowReportMonthlySummary totalLoanPayment(CashflowReportMonthlySummaryTotalLoanPayment totalLoanPayment) { + + this.totalLoanPayment = totalLoanPayment; + return this; + } + + /** + * Get totalLoanPayment + * @return totalLoanPayment + **/ + @ApiModelProperty(required = true, value = "") + + public CashflowReportMonthlySummaryTotalLoanPayment getTotalLoanPayment() { + return totalLoanPayment; + } + + + public void setTotalLoanPayment(CashflowReportMonthlySummaryTotalLoanPayment totalLoanPayment) { + this.totalLoanPayment = totalLoanPayment; + } + + + public CashflowReportMonthlySummary totalVariableExpense(CashflowReportMonthlySummaryTotalVariableExpense totalVariableExpense) { + + this.totalVariableExpense = totalVariableExpense; + return this; + } + + /** + * Get totalVariableExpense + * @return totalVariableExpense + **/ + @ApiModelProperty(required = true, value = "") + + public CashflowReportMonthlySummaryTotalVariableExpense getTotalVariableExpense() { + return totalVariableExpense; + } + + + public void setTotalVariableExpense(CashflowReportMonthlySummaryTotalVariableExpense totalVariableExpense) { + this.totalVariableExpense = totalVariableExpense; + } + + + public CashflowReportMonthlySummary totalPayroll(CashflowReportMonthlySummaryTotalPayroll totalPayroll) { + + this.totalPayroll = totalPayroll; + return this; + } + + /** + * Get totalPayroll + * @return totalPayroll + **/ + @ApiModelProperty(required = true, value = "") + + public CashflowReportMonthlySummaryTotalPayroll getTotalPayroll() { + return totalPayroll; + } + + + public void setTotalPayroll(CashflowReportMonthlySummaryTotalPayroll totalPayroll) { + this.totalPayroll = totalPayroll; + } + + + public CashflowReportMonthlySummary nsfTransactionCount(Integer nsfTransactionCount) { + + this.nsfTransactionCount = nsfTransactionCount; + return this; + } + + /** + * The total number of all NSF transactions during this month. + * @return nsfTransactionCount + **/ + @ApiModelProperty(required = true, value = "The total number of all NSF transactions during this month.") + + public Integer getNsfTransactionCount() { + return nsfTransactionCount; + } + + + public void setNsfTransactionCount(Integer nsfTransactionCount) { + this.nsfTransactionCount = nsfTransactionCount; + } + + + public CashflowReportMonthlySummary overdraftTransactionCount(Integer overdraftTransactionCount) { + + this.overdraftTransactionCount = overdraftTransactionCount; + return this; + } + + /** + * The total number of all overdraft transactions during this month. + * @return overdraftTransactionCount + **/ + @ApiModelProperty(required = true, value = "The total number of all overdraft transactions during this month.") + + public Integer getOverdraftTransactionCount() { + return overdraftTransactionCount; + } + + + public void setOverdraftTransactionCount(Integer overdraftTransactionCount) { + this.overdraftTransactionCount = overdraftTransactionCount; + } + + + public CashflowReportMonthlySummary negativeEndingBalanceDayCount(Integer negativeEndingBalanceDayCount) { + + this.negativeEndingBalanceDayCount = negativeEndingBalanceDayCount; + return this; + } + + /** + * The number of days with a negative daily average ending balance. The daily average is calculated across all valid accounts. Values will be in the range [0, 31]. + * @return negativeEndingBalanceDayCount + **/ + @ApiModelProperty(required = true, value = "The number of days with a negative daily average ending balance. The daily average is calculated across all valid accounts. Values will be in the range [0, 31].") + + public Integer getNegativeEndingBalanceDayCount() { + return negativeEndingBalanceDayCount; + } + + + public void setNegativeEndingBalanceDayCount(Integer negativeEndingBalanceDayCount) { + this.negativeEndingBalanceDayCount = negativeEndingBalanceDayCount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportMonthlySummary cashflowReportMonthlySummary = (CashflowReportMonthlySummary) o; + return Objects.equals(this.startDate, cashflowReportMonthlySummary.startDate) && + Objects.equals(this.endDate, cashflowReportMonthlySummary.endDate) && + Objects.equals(this.startingBalance, cashflowReportMonthlySummary.startingBalance) && + Objects.equals(this.endingBalance, cashflowReportMonthlySummary.endingBalance) && + Objects.equals(this.averageDailyEndingBalance, cashflowReportMonthlySummary.averageDailyEndingBalance) && + Objects.equals(this.averageDailyInflowAmount, cashflowReportMonthlySummary.averageDailyInflowAmount) && + Objects.equals(this.averageDailyOutflowAmount, cashflowReportMonthlySummary.averageDailyOutflowAmount) && + Objects.equals(this.averageDailyNetCashflowAmount, cashflowReportMonthlySummary.averageDailyNetCashflowAmount) && + Objects.equals(this.averageDailyInflowTransactionCount, cashflowReportMonthlySummary.averageDailyInflowTransactionCount) && + Objects.equals(this.averageDailyOutflowTransactionCount, cashflowReportMonthlySummary.averageDailyOutflowTransactionCount) && + Objects.equals(this.totalRevenue, cashflowReportMonthlySummary.totalRevenue) && + Objects.equals(this.totalLoanPayment, cashflowReportMonthlySummary.totalLoanPayment) && + Objects.equals(this.totalVariableExpense, cashflowReportMonthlySummary.totalVariableExpense) && + Objects.equals(this.totalPayroll, cashflowReportMonthlySummary.totalPayroll) && + Objects.equals(this.nsfTransactionCount, cashflowReportMonthlySummary.nsfTransactionCount) && + Objects.equals(this.overdraftTransactionCount, cashflowReportMonthlySummary.overdraftTransactionCount) && + Objects.equals(this.negativeEndingBalanceDayCount, cashflowReportMonthlySummary.negativeEndingBalanceDayCount); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate, startingBalance, endingBalance, averageDailyEndingBalance, averageDailyInflowAmount, averageDailyOutflowAmount, averageDailyNetCashflowAmount, averageDailyInflowTransactionCount, averageDailyOutflowTransactionCount, totalRevenue, totalLoanPayment, totalVariableExpense, totalPayroll, nsfTransactionCount, overdraftTransactionCount, negativeEndingBalanceDayCount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportMonthlySummary {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" startingBalance: ").append(toIndentedString(startingBalance)).append("\n"); + sb.append(" endingBalance: ").append(toIndentedString(endingBalance)).append("\n"); + sb.append(" averageDailyEndingBalance: ").append(toIndentedString(averageDailyEndingBalance)).append("\n"); + sb.append(" averageDailyInflowAmount: ").append(toIndentedString(averageDailyInflowAmount)).append("\n"); + sb.append(" averageDailyOutflowAmount: ").append(toIndentedString(averageDailyOutflowAmount)).append("\n"); + sb.append(" averageDailyNetCashflowAmount: ").append(toIndentedString(averageDailyNetCashflowAmount)).append("\n"); + sb.append(" averageDailyInflowTransactionCount: ").append(toIndentedString(averageDailyInflowTransactionCount)).append("\n"); + sb.append(" averageDailyOutflowTransactionCount: ").append(toIndentedString(averageDailyOutflowTransactionCount)).append("\n"); + sb.append(" totalRevenue: ").append(toIndentedString(totalRevenue)).append("\n"); + sb.append(" totalLoanPayment: ").append(toIndentedString(totalLoanPayment)).append("\n"); + sb.append(" totalVariableExpense: ").append(toIndentedString(totalVariableExpense)).append("\n"); + sb.append(" totalPayroll: ").append(toIndentedString(totalPayroll)).append("\n"); + sb.append(" nsfTransactionCount: ").append(toIndentedString(nsfTransactionCount)).append("\n"); + sb.append(" overdraftTransactionCount: ").append(toIndentedString(overdraftTransactionCount)).append("\n"); + sb.append(" negativeEndingBalanceDayCount: ").append(toIndentedString(negativeEndingBalanceDayCount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryAverageDailyEndingBalance.java b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryAverageDailyEndingBalance.java new file mode 100644 index 0000000000..f8094d5fe5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryAverageDailyEndingBalance.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Calendar-day average of the ending balance. + */ +@ApiModel(description = "Calendar-day average of the ending balance.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportMonthlySummaryAverageDailyEndingBalance { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CashflowReportMonthlySummaryAverageDailyEndingBalance amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CashflowReportMonthlySummaryAverageDailyEndingBalance isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null` + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CashflowReportMonthlySummaryAverageDailyEndingBalance unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportMonthlySummaryAverageDailyEndingBalance cashflowReportMonthlySummaryAverageDailyEndingBalance = (CashflowReportMonthlySummaryAverageDailyEndingBalance) o; + return Objects.equals(this.amount, cashflowReportMonthlySummaryAverageDailyEndingBalance.amount) && + Objects.equals(this.isoCurrencyCode, cashflowReportMonthlySummaryAverageDailyEndingBalance.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, cashflowReportMonthlySummaryAverageDailyEndingBalance.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportMonthlySummaryAverageDailyEndingBalance {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryAverageDailyInflowAmount.java b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryAverageDailyInflowAmount.java new file mode 100644 index 0000000000..b8a8007cd4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryAverageDailyInflowAmount.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * The average daily sum of inflow transactions, calculated over the month. Always represented as a positive monetary amount. + */ +@ApiModel(description = "The average daily sum of inflow transactions, calculated over the month. Always represented as a positive monetary amount.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportMonthlySummaryAverageDailyInflowAmount { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CashflowReportMonthlySummaryAverageDailyInflowAmount amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CashflowReportMonthlySummaryAverageDailyInflowAmount isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null` + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CashflowReportMonthlySummaryAverageDailyInflowAmount unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportMonthlySummaryAverageDailyInflowAmount cashflowReportMonthlySummaryAverageDailyInflowAmount = (CashflowReportMonthlySummaryAverageDailyInflowAmount) o; + return Objects.equals(this.amount, cashflowReportMonthlySummaryAverageDailyInflowAmount.amount) && + Objects.equals(this.isoCurrencyCode, cashflowReportMonthlySummaryAverageDailyInflowAmount.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, cashflowReportMonthlySummaryAverageDailyInflowAmount.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportMonthlySummaryAverageDailyInflowAmount {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryAverageDailyNetCashflowAmount.java b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryAverageDailyNetCashflowAmount.java new file mode 100644 index 0000000000..ca897e4c15 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryAverageDailyNetCashflowAmount.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * The average daily net cash flow amount, calculated as total daily inflows less total daily outflows. + */ +@ApiModel(description = "The average daily net cash flow amount, calculated as total daily inflows less total daily outflows.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportMonthlySummaryAverageDailyNetCashflowAmount { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CashflowReportMonthlySummaryAverageDailyNetCashflowAmount amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CashflowReportMonthlySummaryAverageDailyNetCashflowAmount isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null` + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CashflowReportMonthlySummaryAverageDailyNetCashflowAmount unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportMonthlySummaryAverageDailyNetCashflowAmount cashflowReportMonthlySummaryAverageDailyNetCashflowAmount = (CashflowReportMonthlySummaryAverageDailyNetCashflowAmount) o; + return Objects.equals(this.amount, cashflowReportMonthlySummaryAverageDailyNetCashflowAmount.amount) && + Objects.equals(this.isoCurrencyCode, cashflowReportMonthlySummaryAverageDailyNetCashflowAmount.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, cashflowReportMonthlySummaryAverageDailyNetCashflowAmount.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportMonthlySummaryAverageDailyNetCashflowAmount {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryAverageDailyOutflowAmount.java b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryAverageDailyOutflowAmount.java new file mode 100644 index 0000000000..f76c8b6ccd --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryAverageDailyOutflowAmount.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * The average daily sum of outflow transactions, calculated over the month. Always represented as a positive monetary amount. + */ +@ApiModel(description = "The average daily sum of outflow transactions, calculated over the month. Always represented as a positive monetary amount.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportMonthlySummaryAverageDailyOutflowAmount { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CashflowReportMonthlySummaryAverageDailyOutflowAmount amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CashflowReportMonthlySummaryAverageDailyOutflowAmount isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null` + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CashflowReportMonthlySummaryAverageDailyOutflowAmount unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportMonthlySummaryAverageDailyOutflowAmount cashflowReportMonthlySummaryAverageDailyOutflowAmount = (CashflowReportMonthlySummaryAverageDailyOutflowAmount) o; + return Objects.equals(this.amount, cashflowReportMonthlySummaryAverageDailyOutflowAmount.amount) && + Objects.equals(this.isoCurrencyCode, cashflowReportMonthlySummaryAverageDailyOutflowAmount.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, cashflowReportMonthlySummaryAverageDailyOutflowAmount.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportMonthlySummaryAverageDailyOutflowAmount {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryEndingBalance.java b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryEndingBalance.java new file mode 100644 index 0000000000..5fe1c1349d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryEndingBalance.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * The ending balance of the month. This will be the same as the starting balance of the next month. This field will not be available for the last monthly summary. + */ +@ApiModel(description = "The ending balance of the month. This will be the same as the starting balance of the next month. This field will not be available for the last monthly summary.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportMonthlySummaryEndingBalance { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CashflowReportMonthlySummaryEndingBalance amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CashflowReportMonthlySummaryEndingBalance isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null` + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CashflowReportMonthlySummaryEndingBalance unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportMonthlySummaryEndingBalance cashflowReportMonthlySummaryEndingBalance = (CashflowReportMonthlySummaryEndingBalance) o; + return Objects.equals(this.amount, cashflowReportMonthlySummaryEndingBalance.amount) && + Objects.equals(this.isoCurrencyCode, cashflowReportMonthlySummaryEndingBalance.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, cashflowReportMonthlySummaryEndingBalance.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportMonthlySummaryEndingBalance {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryStartingBalance.java b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryStartingBalance.java new file mode 100644 index 0000000000..33f5acd91c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryStartingBalance.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * The starting balance of the month. This will be the same as the ending balance of the previous month. This field will not be available for the first monthly summary. + */ +@ApiModel(description = "The starting balance of the month. This will be the same as the ending balance of the previous month. This field will not be available for the first monthly summary.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportMonthlySummaryStartingBalance { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CashflowReportMonthlySummaryStartingBalance amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CashflowReportMonthlySummaryStartingBalance isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null` + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CashflowReportMonthlySummaryStartingBalance unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportMonthlySummaryStartingBalance cashflowReportMonthlySummaryStartingBalance = (CashflowReportMonthlySummaryStartingBalance) o; + return Objects.equals(this.amount, cashflowReportMonthlySummaryStartingBalance.amount) && + Objects.equals(this.isoCurrencyCode, cashflowReportMonthlySummaryStartingBalance.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, cashflowReportMonthlySummaryStartingBalance.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportMonthlySummaryStartingBalance {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryTotalLoanPayment.java b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryTotalLoanPayment.java new file mode 100644 index 0000000000..2d2e829569 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryTotalLoanPayment.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * The total amount of all loan payment transactions during this month. + */ +@ApiModel(description = "The total amount of all loan payment transactions during this month.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportMonthlySummaryTotalLoanPayment { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CashflowReportMonthlySummaryTotalLoanPayment amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CashflowReportMonthlySummaryTotalLoanPayment isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null` + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CashflowReportMonthlySummaryTotalLoanPayment unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportMonthlySummaryTotalLoanPayment cashflowReportMonthlySummaryTotalLoanPayment = (CashflowReportMonthlySummaryTotalLoanPayment) o; + return Objects.equals(this.amount, cashflowReportMonthlySummaryTotalLoanPayment.amount) && + Objects.equals(this.isoCurrencyCode, cashflowReportMonthlySummaryTotalLoanPayment.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, cashflowReportMonthlySummaryTotalLoanPayment.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportMonthlySummaryTotalLoanPayment {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryTotalPayroll.java b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryTotalPayroll.java new file mode 100644 index 0000000000..86db36610e --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryTotalPayroll.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * The total amount of all payroll transactions during this month. + */ +@ApiModel(description = "The total amount of all payroll transactions during this month.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportMonthlySummaryTotalPayroll { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CashflowReportMonthlySummaryTotalPayroll amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CashflowReportMonthlySummaryTotalPayroll isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null` + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CashflowReportMonthlySummaryTotalPayroll unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportMonthlySummaryTotalPayroll cashflowReportMonthlySummaryTotalPayroll = (CashflowReportMonthlySummaryTotalPayroll) o; + return Objects.equals(this.amount, cashflowReportMonthlySummaryTotalPayroll.amount) && + Objects.equals(this.isoCurrencyCode, cashflowReportMonthlySummaryTotalPayroll.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, cashflowReportMonthlySummaryTotalPayroll.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportMonthlySummaryTotalPayroll {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryTotalRevenue.java b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryTotalRevenue.java new file mode 100644 index 0000000000..d3411ed567 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryTotalRevenue.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * The total amount of all revenue transactions during this month. + */ +@ApiModel(description = "The total amount of all revenue transactions during this month.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportMonthlySummaryTotalRevenue { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CashflowReportMonthlySummaryTotalRevenue amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CashflowReportMonthlySummaryTotalRevenue isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null` + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CashflowReportMonthlySummaryTotalRevenue unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportMonthlySummaryTotalRevenue cashflowReportMonthlySummaryTotalRevenue = (CashflowReportMonthlySummaryTotalRevenue) o; + return Objects.equals(this.amount, cashflowReportMonthlySummaryTotalRevenue.amount) && + Objects.equals(this.isoCurrencyCode, cashflowReportMonthlySummaryTotalRevenue.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, cashflowReportMonthlySummaryTotalRevenue.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportMonthlySummaryTotalRevenue {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryTotalVariableExpense.java b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryTotalVariableExpense.java new file mode 100644 index 0000000000..7f52fc192b --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportMonthlySummaryTotalVariableExpense.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * The total amount of all variable expense transactions during this month. + */ +@ApiModel(description = "The total amount of all variable expense transactions during this month.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportMonthlySummaryTotalVariableExpense { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CashflowReportMonthlySummaryTotalVariableExpense amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CashflowReportMonthlySummaryTotalVariableExpense isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null` + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CashflowReportMonthlySummaryTotalVariableExpense unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportMonthlySummaryTotalVariableExpense cashflowReportMonthlySummaryTotalVariableExpense = (CashflowReportMonthlySummaryTotalVariableExpense) o; + return Objects.equals(this.amount, cashflowReportMonthlySummaryTotalVariableExpense.amount) && + Objects.equals(this.isoCurrencyCode, cashflowReportMonthlySummaryTotalVariableExpense.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, cashflowReportMonthlySummaryTotalVariableExpense.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportMonthlySummaryTotalVariableExpense {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportPaymentMeta.java b/src/main/java/com/plaid/client/model/CashflowReportPaymentMeta.java new file mode 100644 index 0000000000..5f1decd509 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportPaymentMeta.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Transaction information specific to inter-bank transfers. If the transaction was not an inter-bank transfer, all fields will be `null`. + */ +@ApiModel(description = "Transaction information specific to inter-bank transfers. If the transaction was not an inter-bank transfer, all fields will be `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportPaymentMeta { + public static final String SERIALIZED_NAME_REFERENCE_NUMBER = "reference_number"; + @SerializedName(SERIALIZED_NAME_REFERENCE_NUMBER) + private String referenceNumber; + + public static final String SERIALIZED_NAME_PPD_ID = "ppd_id"; + @SerializedName(SERIALIZED_NAME_PPD_ID) + private String ppdId; + + public static final String SERIALIZED_NAME_PAYEE = "payee"; + @SerializedName(SERIALIZED_NAME_PAYEE) + private String payee; + + public static final String SERIALIZED_NAME_BY_ORDER_OF = "by_order_of"; + @SerializedName(SERIALIZED_NAME_BY_ORDER_OF) + private String byOrderOf; + + public static final String SERIALIZED_NAME_PAYER = "payer"; + @SerializedName(SERIALIZED_NAME_PAYER) + private String payer; + + public static final String SERIALIZED_NAME_PAYMENT_METHOD = "payment_method"; + @SerializedName(SERIALIZED_NAME_PAYMENT_METHOD) + private String paymentMethod; + + public static final String SERIALIZED_NAME_PAYMENT_PROCESSOR = "payment_processor"; + @SerializedName(SERIALIZED_NAME_PAYMENT_PROCESSOR) + private String paymentProcessor; + + public static final String SERIALIZED_NAME_REASON = "reason"; + @SerializedName(SERIALIZED_NAME_REASON) + private String reason; + + + public CashflowReportPaymentMeta referenceNumber(String referenceNumber) { + + this.referenceNumber = referenceNumber; + return this; + } + + /** + * The transaction reference number supplied by the financial institution. + * @return referenceNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The transaction reference number supplied by the financial institution.") + + public String getReferenceNumber() { + return referenceNumber; + } + + + public void setReferenceNumber(String referenceNumber) { + this.referenceNumber = referenceNumber; + } + + + public CashflowReportPaymentMeta ppdId(String ppdId) { + + this.ppdId = ppdId; + return this; + } + + /** + * The ACH PPD ID for the payer. + * @return ppdId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ACH PPD ID for the payer.") + + public String getPpdId() { + return ppdId; + } + + + public void setPpdId(String ppdId) { + this.ppdId = ppdId; + } + + + public CashflowReportPaymentMeta payee(String payee) { + + this.payee = payee; + return this; + } + + /** + * For transfers, the party that is receiving the transaction. + * @return payee + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "For transfers, the party that is receiving the transaction.") + + public String getPayee() { + return payee; + } + + + public void setPayee(String payee) { + this.payee = payee; + } + + + public CashflowReportPaymentMeta byOrderOf(String byOrderOf) { + + this.byOrderOf = byOrderOf; + return this; + } + + /** + * The party initiating a wire transfer. Will be `null` if the transaction is not a wire transfer. + * @return byOrderOf + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The party initiating a wire transfer. Will be `null` if the transaction is not a wire transfer.") + + public String getByOrderOf() { + return byOrderOf; + } + + + public void setByOrderOf(String byOrderOf) { + this.byOrderOf = byOrderOf; + } + + + public CashflowReportPaymentMeta payer(String payer) { + + this.payer = payer; + return this; + } + + /** + * For transfers, the party that is paying the transaction. + * @return payer + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "For transfers, the party that is paying the transaction.") + + public String getPayer() { + return payer; + } + + + public void setPayer(String payer) { + this.payer = payer; + } + + + public CashflowReportPaymentMeta paymentMethod(String paymentMethod) { + + this.paymentMethod = paymentMethod; + return this; + } + + /** + * The type of transfer, e.g. 'ACH' + * @return paymentMethod + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The type of transfer, e.g. 'ACH'") + + public String getPaymentMethod() { + return paymentMethod; + } + + + public void setPaymentMethod(String paymentMethod) { + this.paymentMethod = paymentMethod; + } + + + public CashflowReportPaymentMeta paymentProcessor(String paymentProcessor) { + + this.paymentProcessor = paymentProcessor; + return this; + } + + /** + * The name of the payment processor + * @return paymentProcessor + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The name of the payment processor") + + public String getPaymentProcessor() { + return paymentProcessor; + } + + + public void setPaymentProcessor(String paymentProcessor) { + this.paymentProcessor = paymentProcessor; + } + + + public CashflowReportPaymentMeta reason(String reason) { + + this.reason = reason; + return this; + } + + /** + * The payer-supplied description of the transfer. + * @return reason + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The payer-supplied description of the transfer.") + + public String getReason() { + return reason; + } + + + public void setReason(String reason) { + this.reason = reason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportPaymentMeta cashflowReportPaymentMeta = (CashflowReportPaymentMeta) o; + return Objects.equals(this.referenceNumber, cashflowReportPaymentMeta.referenceNumber) && + Objects.equals(this.ppdId, cashflowReportPaymentMeta.ppdId) && + Objects.equals(this.payee, cashflowReportPaymentMeta.payee) && + Objects.equals(this.byOrderOf, cashflowReportPaymentMeta.byOrderOf) && + Objects.equals(this.payer, cashflowReportPaymentMeta.payer) && + Objects.equals(this.paymentMethod, cashflowReportPaymentMeta.paymentMethod) && + Objects.equals(this.paymentProcessor, cashflowReportPaymentMeta.paymentProcessor) && + Objects.equals(this.reason, cashflowReportPaymentMeta.reason); + } + + @Override + public int hashCode() { + return Objects.hash(referenceNumber, ppdId, payee, byOrderOf, payer, paymentMethod, paymentProcessor, reason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportPaymentMeta {\n"); + sb.append(" referenceNumber: ").append(toIndentedString(referenceNumber)).append("\n"); + sb.append(" ppdId: ").append(toIndentedString(ppdId)).append("\n"); + sb.append(" payee: ").append(toIndentedString(payee)).append("\n"); + sb.append(" byOrderOf: ").append(toIndentedString(byOrderOf)).append("\n"); + sb.append(" payer: ").append(toIndentedString(payer)).append("\n"); + sb.append(" paymentMethod: ").append(toIndentedString(paymentMethod)).append("\n"); + sb.append(" paymentProcessor: ").append(toIndentedString(paymentProcessor)).append("\n"); + sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportRefreshRequest.java b/src/main/java/com/plaid/client/model/CashflowReportRefreshRequest.java new file mode 100644 index 0000000000..7c36ff6099 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportRefreshRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CashflowReportRefreshRequest defines the request schema for `/cashflow_report/refresh` + */ +@ApiModel(description = "CashflowReportRefreshRequest defines the request schema for `/cashflow_report/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportRefreshRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested = 365; + + + public CashflowReportRefreshRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CashflowReportRefreshRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public CashflowReportRefreshRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CashflowReportRefreshRequest daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * Number of days to retrieve transactions data for (1 to 730) + * minimum: 1 + * maximum: 730 + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "Number of days to retrieve transactions data for (1 to 730)") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportRefreshRequest cashflowReportRefreshRequest = (CashflowReportRefreshRequest) o; + return Objects.equals(this.clientId, cashflowReportRefreshRequest.clientId) && + Objects.equals(this.accessToken, cashflowReportRefreshRequest.accessToken) && + Objects.equals(this.secret, cashflowReportRefreshRequest.secret) && + Objects.equals(this.daysRequested, cashflowReportRefreshRequest.daysRequested); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, accessToken, secret, daysRequested); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportRefreshRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportRefreshResponse.java b/src/main/java/com/plaid/client/model/CashflowReportRefreshResponse.java new file mode 100644 index 0000000000..094042b167 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportRefreshResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CashflowReportRefreshResponse defines the response schema for `/cashflow_report/refresh` + */ +@ApiModel(description = "CashflowReportRefreshResponse defines the response schema for `/cashflow_report/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportRefreshResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CashflowReportRefreshResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportRefreshResponse cashflowReportRefreshResponse = (CashflowReportRefreshResponse) o; + return Objects.equals(this.requestId, cashflowReportRefreshResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportRefreshResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportTransaction.java b/src/main/java/com/plaid/client/model/CashflowReportTransaction.java new file mode 100644 index 0000000000..a4db33dd8f --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportTransaction.java @@ -0,0 +1,896 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessFinanceCategory; +import com.plaid.client.model.CashflowReportPaymentMeta; +import com.plaid.client.model.CreditCategory; +import com.plaid.client.model.Location; +import com.plaid.client.model.PaymentChannel; +import com.plaid.client.model.PersonalFinanceCategory; +import com.plaid.client.model.TransactionCode; +import com.plaid.client.model.TransactionCounterparty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * A representation of a transaction returned from Cashflow Report + */ +@ApiModel(description = "A representation of a transaction returned from Cashflow Report") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportTransaction { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_CHECK_NUMBER = "check_number"; + @SerializedName(SERIALIZED_NAME_CHECK_NUMBER) + private String checkNumber; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private Location location; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_MERCHANT_NAME = "merchant_name"; + @SerializedName(SERIALIZED_NAME_MERCHANT_NAME) + private String merchantName; + + public static final String SERIALIZED_NAME_ORIGINAL_DESCRIPTION = "original_description"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_DESCRIPTION) + private String originalDescription; + + public static final String SERIALIZED_NAME_PAYMENT_META = "payment_meta"; + @SerializedName(SERIALIZED_NAME_PAYMENT_META) + private CashflowReportPaymentMeta paymentMeta; + + public static final String SERIALIZED_NAME_PENDING = "pending"; + @SerializedName(SERIALIZED_NAME_PENDING) + private Boolean pending; + + public static final String SERIALIZED_NAME_PENDING_TRANSACTION_ID = "pending_transaction_id"; + @SerializedName(SERIALIZED_NAME_PENDING_TRANSACTION_ID) + private String pendingTransactionId; + + public static final String SERIALIZED_NAME_ACCOUNT_OWNER = "account_owner"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_OWNER) + private String accountOwner; + + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_LOGO_URL = "logo_url"; + @SerializedName(SERIALIZED_NAME_LOGO_URL) + private String logoUrl; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private String website; + + public static final String SERIALIZED_NAME_AUTHORIZED_DATE = "authorized_date"; + @SerializedName(SERIALIZED_NAME_AUTHORIZED_DATE) + private LocalDate authorizedDate; + + public static final String SERIALIZED_NAME_AUTHORIZED_DATETIME = "authorized_datetime"; + @SerializedName(SERIALIZED_NAME_AUTHORIZED_DATETIME) + private OffsetDateTime authorizedDatetime; + + public static final String SERIALIZED_NAME_DATETIME = "datetime"; + @SerializedName(SERIALIZED_NAME_DATETIME) + private OffsetDateTime datetime; + + public static final String SERIALIZED_NAME_PAYMENT_CHANNEL = "payment_channel"; + @SerializedName(SERIALIZED_NAME_PAYMENT_CHANNEL) + private PaymentChannel paymentChannel; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY = "personal_finance_category"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY) + private PersonalFinanceCategory personalFinanceCategory; + + public static final String SERIALIZED_NAME_BUSINESS_FINANCE_CATEGORY = "business_finance_category"; + @SerializedName(SERIALIZED_NAME_BUSINESS_FINANCE_CATEGORY) + private BusinessFinanceCategory businessFinanceCategory; + + public static final String SERIALIZED_NAME_CREDIT_CATEGORY = "credit_category"; + @SerializedName(SERIALIZED_NAME_CREDIT_CATEGORY) + private CreditCategory creditCategory; + + public static final String SERIALIZED_NAME_TRANSACTION_CODE = "transaction_code"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_CODE) + private TransactionCode transactionCode; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_ICON_URL = "personal_finance_category_icon_url"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_ICON_URL) + private String personalFinanceCategoryIconUrl; + + public static final String SERIALIZED_NAME_COUNTERPARTIES = "counterparties"; + @SerializedName(SERIALIZED_NAME_COUNTERPARTIES) + private List counterparties = null; + + public static final String SERIALIZED_NAME_MERCHANT_ENTITY_ID = "merchant_entity_id"; + @SerializedName(SERIALIZED_NAME_MERCHANT_ENTITY_ID) + private String merchantEntityId; + + + public CashflowReportTransaction accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account in which this transaction occurred. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account in which this transaction occurred.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CashflowReportTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The settled value of the transaction, denominated in the transaction's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. For all products except Income: Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative. For Income endpoints, values are positive when representing income. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The settled value of the transaction, denominated in the transaction's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. For all products except Income: Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative. For Income endpoints, values are positive when representing income.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CashflowReportTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CashflowReportTransaction unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public CashflowReportTransaction checkNumber(String checkNumber) { + + this.checkNumber = checkNumber; + return this; + } + + /** + * The check number of the transaction. This field is only populated for check transactions. + * @return checkNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The check number of the transaction. This field is only populated for check transactions.") + + public String getCheckNumber() { + return checkNumber; + } + + + public void setCheckNumber(String checkNumber) { + this.checkNumber = checkNumber; + } + + + public CashflowReportTransaction date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ). To receive information about the date that a posted transaction was initiated, see the `authorized_date` field. + * @return date + **/ + @ApiModelProperty(required = true, value = "For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ). To receive information about the date that a posted transaction was initiated, see the `authorized_date` field.") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public CashflowReportTransaction location(Location location) { + + this.location = location; + return this; + } + + /** + * Get location + * @return location + **/ + @ApiModelProperty(required = true, value = "") + + public Location getLocation() { + return location; + } + + + public void setLocation(Location location) { + this.location = location; + } + + + public CashflowReportTransaction name(String name) { + + this.name = name; + return this; + } + + /** + * The merchant name or transaction description. Note: This is a legacy field that is not actively maintained. Use `merchant_name` instead for the merchant name. If the `transactions` object was returned by a Transactions endpoint such as `/transactions/sync` or `/transactions/get`, this field will always appear. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The merchant name or transaction description. Note: This is a legacy field that is not actively maintained. Use `merchant_name` instead for the merchant name. If the `transactions` object was returned by a Transactions endpoint such as `/transactions/sync` or `/transactions/get`, this field will always appear. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CashflowReportTransaction merchantName(String merchantName) { + + this.merchantName = merchantName; + return this; + } + + /** + * The merchant name, as enriched by Plaid from the `name` field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be `null`. + * @return merchantName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The merchant name, as enriched by Plaid from the `name` field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be `null`.") + + public String getMerchantName() { + return merchantName; + } + + + public void setMerchantName(String merchantName) { + this.merchantName = merchantName; + } + + + public CashflowReportTransaction originalDescription(String originalDescription) { + + this.originalDescription = originalDescription; + return this; + } + + /** + * The string returned by the financial institution to describe the transaction. For transactions returned by `/transactions/sync` or `/transactions/get`, this field will only be included if the client has set `options.include_original_description` to `true`. + * @return originalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The string returned by the financial institution to describe the transaction. For transactions returned by `/transactions/sync` or `/transactions/get`, this field will only be included if the client has set `options.include_original_description` to `true`.") + + public String getOriginalDescription() { + return originalDescription; + } + + + public void setOriginalDescription(String originalDescription) { + this.originalDescription = originalDescription; + } + + + public CashflowReportTransaction paymentMeta(CashflowReportPaymentMeta paymentMeta) { + + this.paymentMeta = paymentMeta; + return this; + } + + /** + * Get paymentMeta + * @return paymentMeta + **/ + @ApiModelProperty(required = true, value = "") + + public CashflowReportPaymentMeta getPaymentMeta() { + return paymentMeta; + } + + + public void setPaymentMeta(CashflowReportPaymentMeta paymentMeta) { + this.paymentMeta = paymentMeta; + } + + + public CashflowReportTransaction pending(Boolean pending) { + + this.pending = pending; + return this; + } + + /** + * When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled. Not all institutions provide pending transactions. + * @return pending + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled. Not all institutions provide pending transactions.") + + public Boolean getPending() { + return pending; + } + + + public void setPending(Boolean pending) { + this.pending = pending; + } + + + public CashflowReportTransaction pendingTransactionId(String pendingTransactionId) { + + this.pendingTransactionId = pendingTransactionId; + return this; + } + + /** + * The ID of a posted transaction's associated pending transaction, where applicable. Not all institutions provide pending transactions. + * @return pendingTransactionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ID of a posted transaction's associated pending transaction, where applicable. Not all institutions provide pending transactions.") + + public String getPendingTransactionId() { + return pendingTransactionId; + } + + + public void setPendingTransactionId(String pendingTransactionId) { + this.pendingTransactionId = pendingTransactionId; + } + + + public CashflowReportTransaction accountOwner(String accountOwner) { + + this.accountOwner = accountOwner; + return this; + } + + /** + * This field is not typically populated and only relevant when dealing with sub-accounts. A sub-account most commonly exists in cases where a single account is linked to multiple cards, each with its own card number and card holder name; each card will be considered a sub-account. If the account does have sub-accounts, this field will typically be some combination of the sub-account owner's name and/or the sub-account mask. The format of this field is not standardized and will vary based on institution. + * @return accountOwner + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "This field is not typically populated and only relevant when dealing with sub-accounts. A sub-account most commonly exists in cases where a single account is linked to multiple cards, each with its own card number and card holder name; each card will be considered a sub-account. If the account does have sub-accounts, this field will typically be some combination of the sub-account owner's name and/or the sub-account mask. The format of this field is not standardized and will vary based on institution.") + + public String getAccountOwner() { + return accountOwner; + } + + + public void setAccountOwner(String accountOwner) { + this.accountOwner = accountOwner; + } + + + public CashflowReportTransaction transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive. + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public CashflowReportTransaction logoUrl(String logoUrl) { + + this.logoUrl = logoUrl; + return this; + } + + /** + * The URL of a logo associated with this transaction, if available. The logo will always be a 100×100 pixel PNG file. + * @return logoUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL of a logo associated with this transaction, if available. The logo will always be a 100×100 pixel PNG file.") + + public String getLogoUrl() { + return logoUrl; + } + + + public void setLogoUrl(String logoUrl) { + this.logoUrl = logoUrl; + } + + + public CashflowReportTransaction website(String website) { + + this.website = website; + return this; + } + + /** + * The website associated with this transaction, if available. + * @return website + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The website associated with this transaction, if available.") + + public String getWebsite() { + return website; + } + + + public void setWebsite(String website) { + this.website = website; + } + + + public CashflowReportTransaction authorizedDate(LocalDate authorizedDate) { + + this.authorizedDate = authorizedDate; + return this; + } + + /** + * The date that the transaction was authorized. For posted transactions, the `date` field will indicate the posted date, but `authorized_date` will indicate the day the transaction was authorized by the financial institution. If presenting transactions to the user in a UI, the `authorized_date`, when available, is generally preferable to use over the `date` field for posted transactions, as it will generally represent the date the user actually made the transaction. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ). + * @return authorizedDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date that the transaction was authorized. For posted transactions, the `date` field will indicate the posted date, but `authorized_date` will indicate the day the transaction was authorized by the financial institution. If presenting transactions to the user in a UI, the `authorized_date`, when available, is generally preferable to use over the `date` field for posted transactions, as it will generally represent the date the user actually made the transaction. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ).") + + public LocalDate getAuthorizedDate() { + return authorizedDate; + } + + + public void setAuthorizedDate(LocalDate authorizedDate) { + this.authorizedDate = authorizedDate; + } + + + public CashflowReportTransaction authorizedDatetime(OffsetDateTime authorizedDatetime) { + + this.authorizedDatetime = authorizedDatetime; + return this; + } + + /** + * Date and time when a transaction was authorized in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). For posted transactions, the `datetime` field will indicate the posted date, but `authorized_datetime` will indicate the day the transaction was authorized by the financial institution. If presenting transactions to the user in a UI, the `authorized_datetime`, when available, is generally preferable to use over the `datetime` field for posted transactions, as it will generally represent the date the user actually made the transaction. This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later. + * @return authorizedDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Date and time when a transaction was authorized in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). For posted transactions, the `datetime` field will indicate the posted date, but `authorized_datetime` will indicate the day the transaction was authorized by the financial institution. If presenting transactions to the user in a UI, the `authorized_datetime`, when available, is generally preferable to use over the `datetime` field for posted transactions, as it will generally represent the date the user actually made the transaction. This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later.") + + public OffsetDateTime getAuthorizedDatetime() { + return authorizedDatetime; + } + + + public void setAuthorizedDatetime(OffsetDateTime authorizedDatetime) { + this.authorizedDatetime = authorizedDatetime; + } + + + public CashflowReportTransaction datetime(OffsetDateTime datetime) { + + this.datetime = datetime; + return this; + } + + /** + * Date and time when a transaction was posted in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). For the date that the transaction was initiated, rather than posted, see the `authorized_datetime` field. This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later. + * @return datetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Date and time when a transaction was posted in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). For the date that the transaction was initiated, rather than posted, see the `authorized_datetime` field. This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later.") + + public OffsetDateTime getDatetime() { + return datetime; + } + + + public void setDatetime(OffsetDateTime datetime) { + this.datetime = datetime; + } + + + public CashflowReportTransaction paymentChannel(PaymentChannel paymentChannel) { + + this.paymentChannel = paymentChannel; + return this; + } + + /** + * Get paymentChannel + * @return paymentChannel + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentChannel getPaymentChannel() { + return paymentChannel; + } + + + public void setPaymentChannel(PaymentChannel paymentChannel) { + this.paymentChannel = paymentChannel; + } + + + public CashflowReportTransaction personalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + + this.personalFinanceCategory = personalFinanceCategory; + return this; + } + + /** + * Get personalFinanceCategory + * @return personalFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PersonalFinanceCategory getPersonalFinanceCategory() { + return personalFinanceCategory; + } + + + public void setPersonalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + this.personalFinanceCategory = personalFinanceCategory; + } + + + public CashflowReportTransaction businessFinanceCategory(BusinessFinanceCategory businessFinanceCategory) { + + this.businessFinanceCategory = businessFinanceCategory; + return this; + } + + /** + * Get businessFinanceCategory + * @return businessFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BusinessFinanceCategory getBusinessFinanceCategory() { + return businessFinanceCategory; + } + + + public void setBusinessFinanceCategory(BusinessFinanceCategory businessFinanceCategory) { + this.businessFinanceCategory = businessFinanceCategory; + } + + + public CashflowReportTransaction creditCategory(CreditCategory creditCategory) { + + this.creditCategory = creditCategory; + return this; + } + + /** + * Get creditCategory + * @return creditCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditCategory getCreditCategory() { + return creditCategory; + } + + + public void setCreditCategory(CreditCategory creditCategory) { + this.creditCategory = creditCategory; + } + + + public CashflowReportTransaction transactionCode(TransactionCode transactionCode) { + + this.transactionCode = transactionCode; + return this; + } + + /** + * Get transactionCode + * @return transactionCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransactionCode getTransactionCode() { + return transactionCode; + } + + + public void setTransactionCode(TransactionCode transactionCode) { + this.transactionCode = transactionCode; + } + + + public CashflowReportTransaction personalFinanceCategoryIconUrl(String personalFinanceCategoryIconUrl) { + + this.personalFinanceCategoryIconUrl = personalFinanceCategoryIconUrl; + return this; + } + + /** + * The URL of an icon associated with the primary personal finance category. The icon will always be a 100×100 pixel PNG file. + * @return personalFinanceCategoryIconUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL of an icon associated with the primary personal finance category. The icon will always be a 100×100 pixel PNG file.") + + public String getPersonalFinanceCategoryIconUrl() { + return personalFinanceCategoryIconUrl; + } + + + public void setPersonalFinanceCategoryIconUrl(String personalFinanceCategoryIconUrl) { + this.personalFinanceCategoryIconUrl = personalFinanceCategoryIconUrl; + } + + + public CashflowReportTransaction counterparties(List counterparties) { + + this.counterparties = counterparties; + return this; + } + + public CashflowReportTransaction addCounterpartiesItem(TransactionCounterparty counterpartiesItem) { + if (this.counterparties == null) { + this.counterparties = new ArrayList<>(); + } + this.counterparties.add(counterpartiesItem); + return this; + } + + /** + * The counterparties present in the transaction. Counterparties, such as the merchant or the financial institution, are extracted by Plaid from the raw description. + * @return counterparties + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The counterparties present in the transaction. Counterparties, such as the merchant or the financial institution, are extracted by Plaid from the raw description.") + + public List getCounterparties() { + return counterparties; + } + + + public void setCounterparties(List counterparties) { + this.counterparties = counterparties; + } + + + public CashflowReportTransaction merchantEntityId(String merchantEntityId) { + + this.merchantEntityId = merchantEntityId; + return this; + } + + /** + * A unique, stable, Plaid-generated ID that maps to the merchant. In the case of a merchant with multiple retail locations, this field will map to the broader merchant, not a specific location or store. + * @return merchantEntityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique, stable, Plaid-generated ID that maps to the merchant. In the case of a merchant with multiple retail locations, this field will map to the broader merchant, not a specific location or store.") + + public String getMerchantEntityId() { + return merchantEntityId; + } + + + public void setMerchantEntityId(String merchantEntityId) { + this.merchantEntityId = merchantEntityId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportTransaction cashflowReportTransaction = (CashflowReportTransaction) o; + return Objects.equals(this.accountId, cashflowReportTransaction.accountId) && + Objects.equals(this.amount, cashflowReportTransaction.amount) && + Objects.equals(this.isoCurrencyCode, cashflowReportTransaction.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, cashflowReportTransaction.unofficialCurrencyCode) && + Objects.equals(this.checkNumber, cashflowReportTransaction.checkNumber) && + Objects.equals(this.date, cashflowReportTransaction.date) && + Objects.equals(this.location, cashflowReportTransaction.location) && + Objects.equals(this.name, cashflowReportTransaction.name) && + Objects.equals(this.merchantName, cashflowReportTransaction.merchantName) && + Objects.equals(this.originalDescription, cashflowReportTransaction.originalDescription) && + Objects.equals(this.paymentMeta, cashflowReportTransaction.paymentMeta) && + Objects.equals(this.pending, cashflowReportTransaction.pending) && + Objects.equals(this.pendingTransactionId, cashflowReportTransaction.pendingTransactionId) && + Objects.equals(this.accountOwner, cashflowReportTransaction.accountOwner) && + Objects.equals(this.transactionId, cashflowReportTransaction.transactionId) && + Objects.equals(this.logoUrl, cashflowReportTransaction.logoUrl) && + Objects.equals(this.website, cashflowReportTransaction.website) && + Objects.equals(this.authorizedDate, cashflowReportTransaction.authorizedDate) && + Objects.equals(this.authorizedDatetime, cashflowReportTransaction.authorizedDatetime) && + Objects.equals(this.datetime, cashflowReportTransaction.datetime) && + Objects.equals(this.paymentChannel, cashflowReportTransaction.paymentChannel) && + Objects.equals(this.personalFinanceCategory, cashflowReportTransaction.personalFinanceCategory) && + Objects.equals(this.businessFinanceCategory, cashflowReportTransaction.businessFinanceCategory) && + Objects.equals(this.creditCategory, cashflowReportTransaction.creditCategory) && + Objects.equals(this.transactionCode, cashflowReportTransaction.transactionCode) && + Objects.equals(this.personalFinanceCategoryIconUrl, cashflowReportTransaction.personalFinanceCategoryIconUrl) && + Objects.equals(this.counterparties, cashflowReportTransaction.counterparties) && + Objects.equals(this.merchantEntityId, cashflowReportTransaction.merchantEntityId); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, amount, isoCurrencyCode, unofficialCurrencyCode, checkNumber, date, location, name, merchantName, originalDescription, paymentMeta, pending, pendingTransactionId, accountOwner, transactionId, logoUrl, website, authorizedDate, authorizedDatetime, datetime, paymentChannel, personalFinanceCategory, businessFinanceCategory, creditCategory, transactionCode, personalFinanceCategoryIconUrl, counterparties, merchantEntityId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportTransaction {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" checkNumber: ").append(toIndentedString(checkNumber)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" merchantName: ").append(toIndentedString(merchantName)).append("\n"); + sb.append(" originalDescription: ").append(toIndentedString(originalDescription)).append("\n"); + sb.append(" paymentMeta: ").append(toIndentedString(paymentMeta)).append("\n"); + sb.append(" pending: ").append(toIndentedString(pending)).append("\n"); + sb.append(" pendingTransactionId: ").append(toIndentedString(pendingTransactionId)).append("\n"); + sb.append(" accountOwner: ").append(toIndentedString(accountOwner)).append("\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" logoUrl: ").append(toIndentedString(logoUrl)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" authorizedDate: ").append(toIndentedString(authorizedDate)).append("\n"); + sb.append(" authorizedDatetime: ").append(toIndentedString(authorizedDatetime)).append("\n"); + sb.append(" datetime: ").append(toIndentedString(datetime)).append("\n"); + sb.append(" paymentChannel: ").append(toIndentedString(paymentChannel)).append("\n"); + sb.append(" personalFinanceCategory: ").append(toIndentedString(personalFinanceCategory)).append("\n"); + sb.append(" businessFinanceCategory: ").append(toIndentedString(businessFinanceCategory)).append("\n"); + sb.append(" creditCategory: ").append(toIndentedString(creditCategory)).append("\n"); + sb.append(" transactionCode: ").append(toIndentedString(transactionCode)).append("\n"); + sb.append(" personalFinanceCategoryIconUrl: ").append(toIndentedString(personalFinanceCategoryIconUrl)).append("\n"); + sb.append(" counterparties: ").append(toIndentedString(counterparties)).append("\n"); + sb.append(" merchantEntityId: ").append(toIndentedString(merchantEntityId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportTransactionsGetRequest.java b/src/main/java/com/plaid/client/model/CashflowReportTransactionsGetRequest.java new file mode 100644 index 0000000000..b722083c43 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportTransactionsGetRequest.java @@ -0,0 +1,246 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CashflowReportTransactionsGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CashflowReportTransactionsGetRequest defines the request schema for `/cashflow_report/transactions/get` + */ +@ApiModel(description = "CashflowReportTransactionsGetRequest defines the request schema for `/cashflow_report/transactions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportTransactionsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 100; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private CashflowReportTransactionsGetRequestOptions options; + + + public CashflowReportTransactionsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CashflowReportTransactionsGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public CashflowReportTransactionsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CashflowReportTransactionsGetRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * Number of transactions to fetch per call + * minimum: 1 + * maximum: 500 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of transactions to fetch per call") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public CashflowReportTransactionsGetRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * The cursor value represents the last update requested. Pass in the empty string \"\" in the first call. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The cursor value represents the last update requested. Pass in the empty string \"\" in the first call.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + public CashflowReportTransactionsGetRequest options(CashflowReportTransactionsGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CashflowReportTransactionsGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(CashflowReportTransactionsGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportTransactionsGetRequest cashflowReportTransactionsGetRequest = (CashflowReportTransactionsGetRequest) o; + return Objects.equals(this.clientId, cashflowReportTransactionsGetRequest.clientId) && + Objects.equals(this.accessToken, cashflowReportTransactionsGetRequest.accessToken) && + Objects.equals(this.secret, cashflowReportTransactionsGetRequest.secret) && + Objects.equals(this.count, cashflowReportTransactionsGetRequest.count) && + Objects.equals(this.cursor, cashflowReportTransactionsGetRequest.cursor) && + Objects.equals(this.options, cashflowReportTransactionsGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, accessToken, secret, count, cursor, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportTransactionsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportTransactionsGetRequestOptions.java b/src/main/java/com/plaid/client/model/CashflowReportTransactionsGetRequestOptions.java new file mode 100644 index 0000000000..cb0b9edc4d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportTransactionsGetRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to be used with the request. If specified, `options` must not be `null`. + */ +@ApiModel(description = "An optional object to be used with the request. If specified, `options` must not be `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportTransactionsGetRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + + public CashflowReportTransactionsGetRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public CashflowReportTransactionsGetRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * A list of `account_ids` to retrieve for the Item Note: An error will be returned if a provided `account_id` is not associated with the Item. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of `account_ids` to retrieve for the Item Note: An error will be returned if a provided `account_id` is not associated with the Item.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportTransactionsGetRequestOptions cashflowReportTransactionsGetRequestOptions = (CashflowReportTransactionsGetRequestOptions) o; + return Objects.equals(this.accountIds, cashflowReportTransactionsGetRequestOptions.accountIds); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportTransactionsGetRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CashflowReportTransactionsGetResponse.java b/src/main/java/com/plaid/client/model/CashflowReportTransactionsGetResponse.java new file mode 100644 index 0000000000..4804276649 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CashflowReportTransactionsGetResponse.java @@ -0,0 +1,281 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessAccount; +import com.plaid.client.model.CashflowReportTransaction; +import com.plaid.client.model.Item; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CashflowReportTransactionsGetResponse defines the response schema for `/cashflow_report/transactions/get` + */ +@ApiModel(description = "CashflowReportTransactionsGetResponse defines the response schema for `/cashflow_report/transactions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CashflowReportTransactionsGetResponse { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TOTAL_TRANSACTIONS = "total_transactions"; + @SerializedName(SERIALIZED_NAME_TOTAL_TRANSACTIONS) + private Integer totalTransactions; + + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_HAS_MORE = "has_more"; + @SerializedName(SERIALIZED_NAME_HAS_MORE) + private Boolean hasMore; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CashflowReportTransactionsGetResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public CashflowReportTransactionsGetResponse addAccountsItem(BusinessAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * An array containing the `accounts` associated with the Item for which transactions are being returned. Each transaction can be mapped to its corresponding account via the `account_id` field. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "An array containing the `accounts` associated with the Item for which transactions are being returned. Each transaction can be mapped to its corresponding account via the `account_id` field.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public CashflowReportTransactionsGetResponse transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public CashflowReportTransactionsGetResponse addTransactionsItem(CashflowReportTransaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * An array containing transactions from the account. Transactions are returned in reverse chronological order, with the most recent at the beginning of the array. The maximum number of transactions returned is determined by the `count` parameter. + * @return transactions + **/ + @ApiModelProperty(required = true, value = "An array containing transactions from the account. Transactions are returned in reverse chronological order, with the most recent at the beginning of the array. The maximum number of transactions returned is determined by the `count` parameter.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + public CashflowReportTransactionsGetResponse totalTransactions(Integer totalTransactions) { + + this.totalTransactions = totalTransactions; + return this; + } + + /** + * The total number of transactions available within the date range specified. If `total_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched using the `cursor` parameter. + * @return totalTransactions + **/ + @ApiModelProperty(required = true, value = "The total number of transactions available within the date range specified. If `total_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched using the `cursor` parameter.") + + public Integer getTotalTransactions() { + return totalTransactions; + } + + + public void setTotalTransactions(Integer totalTransactions) { + this.totalTransactions = totalTransactions; + } + + + public CashflowReportTransactionsGetResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public CashflowReportTransactionsGetResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * Cursor used for fetching any future updates after the latest update provided in this response. + * @return nextCursor + **/ + @ApiModelProperty(required = true, value = "Cursor used for fetching any future updates after the latest update provided in this response.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public CashflowReportTransactionsGetResponse hasMore(Boolean hasMore) { + + this.hasMore = hasMore; + return this; + } + + /** + * Represents if more than requested count of transactions exists to be fetched + * @return hasMore + **/ + @ApiModelProperty(required = true, value = "Represents if more than requested count of transactions exists to be fetched") + + public Boolean getHasMore() { + return hasMore; + } + + + public void setHasMore(Boolean hasMore) { + this.hasMore = hasMore; + } + + + public CashflowReportTransactionsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CashflowReportTransactionsGetResponse cashflowReportTransactionsGetResponse = (CashflowReportTransactionsGetResponse) o; + return Objects.equals(this.accounts, cashflowReportTransactionsGetResponse.accounts) && + Objects.equals(this.transactions, cashflowReportTransactionsGetResponse.transactions) && + Objects.equals(this.totalTransactions, cashflowReportTransactionsGetResponse.totalTransactions) && + Objects.equals(this.item, cashflowReportTransactionsGetResponse.item) && + Objects.equals(this.nextCursor, cashflowReportTransactionsGetResponse.nextCursor) && + Objects.equals(this.hasMore, cashflowReportTransactionsGetResponse.hasMore) && + Objects.equals(this.requestId, cashflowReportTransactionsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, transactions, totalTransactions, item, nextCursor, hasMore, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CashflowReportTransactionsGetResponse {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" totalTransactions: ").append(toIndentedString(totalTransactions)).append("\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" hasMore: ").append(toIndentedString(hasMore)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CategoriesGetResponse.java b/src/main/java/com/plaid/client/model/CategoriesGetResponse.java new file mode 100644 index 0000000000..42732f4029 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CategoriesGetResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Category; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CategoriesGetResponse defines the response schema for `/categories/get` + */ +@ApiModel(description = "CategoriesGetResponse defines the response schema for `/categories/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CategoriesGetResponse { + public static final String SERIALIZED_NAME_CATEGORIES = "categories"; + @SerializedName(SERIALIZED_NAME_CATEGORIES) + private List categories = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CategoriesGetResponse categories(List categories) { + + this.categories = categories; + return this; + } + + public CategoriesGetResponse addCategoriesItem(Category categoriesItem) { + this.categories.add(categoriesItem); + return this; + } + + /** + * An array of all of the transaction categories used by Plaid. + * @return categories + **/ + @ApiModelProperty(required = true, value = "An array of all of the transaction categories used by Plaid.") + + public List getCategories() { + return categories; + } + + + public void setCategories(List categories) { + this.categories = categories; + } + + + public CategoriesGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CategoriesGetResponse categoriesGetResponse = (CategoriesGetResponse) o; + return Objects.equals(this.categories, categoriesGetResponse.categories) && + Objects.equals(this.requestId, categoriesGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(categories, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CategoriesGetResponse {\n"); + sb.append(" categories: ").append(toIndentedString(categories)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Category.java b/src/main/java/com/plaid/client/model/Category.java new file mode 100644 index 0000000000..b4d16f65cf --- /dev/null +++ b/src/main/java/com/plaid/client/model/Category.java @@ -0,0 +1,161 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Information describing a transaction category + */ +@ApiModel(description = "Information describing a transaction category") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Category { + public static final String SERIALIZED_NAME_CATEGORY_ID = "category_id"; + @SerializedName(SERIALIZED_NAME_CATEGORY_ID) + private String categoryId; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private String group; + + public static final String SERIALIZED_NAME_HIERARCHY = "hierarchy"; + @SerializedName(SERIALIZED_NAME_HIERARCHY) + private List hierarchy = new ArrayList<>(); + + + public Category categoryId(String categoryId) { + + this.categoryId = categoryId; + return this; + } + + /** + * An identifying number for the category. `category_id` is a Plaid-specific identifier and does not necessarily correspond to merchant category codes. + * @return categoryId + **/ + @ApiModelProperty(required = true, value = "An identifying number for the category. `category_id` is a Plaid-specific identifier and does not necessarily correspond to merchant category codes.") + + public String getCategoryId() { + return categoryId; + } + + + public void setCategoryId(String categoryId) { + this.categoryId = categoryId; + } + + + public Category group(String group) { + + this.group = group; + return this; + } + + /** + * `place` for physical transactions or `special` for other transactions such as bank charges. + * @return group + **/ + @ApiModelProperty(required = true, value = "`place` for physical transactions or `special` for other transactions such as bank charges.") + + public String getGroup() { + return group; + } + + + public void setGroup(String group) { + this.group = group; + } + + + public Category hierarchy(List hierarchy) { + + this.hierarchy = hierarchy; + return this; + } + + public Category addHierarchyItem(String hierarchyItem) { + this.hierarchy.add(hierarchyItem); + return this; + } + + /** + * A hierarchical array of the categories to which this `category_id` belongs. + * @return hierarchy + **/ + @ApiModelProperty(required = true, value = "A hierarchical array of the categories to which this `category_id` belongs.") + + public List getHierarchy() { + return hierarchy; + } + + + public void setHierarchy(List hierarchy) { + this.hierarchy = hierarchy; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Category category = (Category) o; + return Objects.equals(this.categoryId, category.categoryId) && + Objects.equals(this.group, category.group) && + Objects.equals(this.hierarchy, category.hierarchy); + } + + @Override + public int hashCode() { + return Objects.hash(categoryId, group, hierarchy); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Category {\n"); + sb.append(" categoryId: ").append(toIndentedString(categoryId)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" hierarchy: ").append(toIndentedString(hierarchy)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CategoryExpenses.java b/src/main/java/com/plaid/client/model/CategoryExpenses.java new file mode 100644 index 0000000000..fc7b6d4f43 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CategoryExpenses.java @@ -0,0 +1,245 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MonthlyAverage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Detailed expense information for a specific credit category, including transaction count and total amount spent. + */ +@ApiModel(description = "Detailed expense information for a specific credit category, including transaction count and total amount spent.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CategoryExpenses { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_TRANSACTIONS_COUNT = "transactions_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_COUNT) + private Integer transactionsCount; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_MONTHLY_AVERAGE = "monthly_average"; + @SerializedName(SERIALIZED_NAME_MONTHLY_AVERAGE) + private MonthlyAverage monthlyAverage; + + + public CategoryExpenses id(String id) { + + this.id = id; + return this; + } + + /** + * The ID of the credit category. See the [category taxonomy](https://plaid.com/documents/credit-category-taxonomy.csv) for a full listing of category IDs. + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the credit category. See the [category taxonomy](https://plaid.com/documents/credit-category-taxonomy.csv) for a full listing of category IDs.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public CategoryExpenses transactionsCount(Integer transactionsCount) { + + this.transactionsCount = transactionsCount; + return this; + } + + /** + * The total number of transactions that fall into this credit category within the given time window. + * @return transactionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of transactions that fall into this credit category within the given time window.") + + public Integer getTransactionsCount() { + return transactionsCount; + } + + + public void setTransactionsCount(Integer transactionsCount) { + this.transactionsCount = transactionsCount; + } + + + public CategoryExpenses amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The total value for all the transactions that fall into this category within the given time window. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total value for all the transactions that fall into this category within the given time window.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CategoryExpenses isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CategoryExpenses unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public CategoryExpenses monthlyAverage(MonthlyAverage monthlyAverage) { + + this.monthlyAverage = monthlyAverage; + return this; + } + + /** + * Get monthlyAverage + * @return monthlyAverage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MonthlyAverage getMonthlyAverage() { + return monthlyAverage; + } + + + public void setMonthlyAverage(MonthlyAverage monthlyAverage) { + this.monthlyAverage = monthlyAverage; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CategoryExpenses categoryExpenses = (CategoryExpenses) o; + return Objects.equals(this.id, categoryExpenses.id) && + Objects.equals(this.transactionsCount, categoryExpenses.transactionsCount) && + Objects.equals(this.amount, categoryExpenses.amount) && + Objects.equals(this.isoCurrencyCode, categoryExpenses.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, categoryExpenses.unofficialCurrencyCode) && + Objects.equals(this.monthlyAverage, categoryExpenses.monthlyAverage); + } + + @Override + public int hashCode() { + return Objects.hash(id, transactionsCount, amount, isoCurrencyCode, unofficialCurrencyCode, monthlyAverage); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CategoryExpenses {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" transactionsCount: ").append(toIndentedString(transactionsCount)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" monthlyAverage: ").append(toIndentedString(monthlyAverage)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CategoryInsightDetails.java b/src/main/java/com/plaid/client/model/CategoryInsightDetails.java new file mode 100644 index 0000000000..01e8a6526f --- /dev/null +++ b/src/main/java/com/plaid/client/model/CategoryInsightDetails.java @@ -0,0 +1,221 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Insights object for categories. + */ +@ApiModel(description = "Insights object for categories.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CategoryInsightDetails { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_TRANSACTION_COUNT = "transaction_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_COUNT) + private Integer transactionCount; + + public static final String SERIALIZED_NAME_TOTAL_OUTFLOWS = "total_outflows"; + @SerializedName(SERIALIZED_NAME_TOTAL_OUTFLOWS) + private Double totalOutflows; + + public static final String SERIALIZED_NAME_TOTAL_INFLOWS = "total_inflows"; + @SerializedName(SERIALIZED_NAME_TOTAL_INFLOWS) + private Double totalInflows; + + public static final String SERIALIZED_NAME_TOP_COUNTERPARTIES = "top_counterparties"; + @SerializedName(SERIALIZED_NAME_TOP_COUNTERPARTIES) + private List topCounterparties = null; + + + public CategoryInsightDetails name(String name) { + + this.name = name; + return this; + } + + /** + * Category name. + * @return name + **/ + @ApiModelProperty(required = true, value = "Category name.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CategoryInsightDetails transactionCount(Integer transactionCount) { + + this.transactionCount = transactionCount; + return this; + } + + /** + * The number of transactions associated with this category. + * @return transactionCount + **/ + @ApiModelProperty(required = true, value = "The number of transactions associated with this category.") + + public Integer getTransactionCount() { + return transactionCount; + } + + + public void setTransactionCount(Integer transactionCount) { + this.transactionCount = transactionCount; + } + + + public CategoryInsightDetails totalOutflows(Double totalOutflows) { + + this.totalOutflows = totalOutflows; + return this; + } + + /** + * Sum of outflow amounts. + * @return totalOutflows + **/ + @ApiModelProperty(required = true, value = "Sum of outflow amounts.") + + public Double getTotalOutflows() { + return totalOutflows; + } + + + public void setTotalOutflows(Double totalOutflows) { + this.totalOutflows = totalOutflows; + } + + + public CategoryInsightDetails totalInflows(Double totalInflows) { + + this.totalInflows = totalInflows; + return this; + } + + /** + * Sum of inflow amounts. + * @return totalInflows + **/ + @ApiModelProperty(required = true, value = "Sum of inflow amounts.") + + public Double getTotalInflows() { + return totalInflows; + } + + + public void setTotalInflows(Double totalInflows) { + this.totalInflows = totalInflows; + } + + + public CategoryInsightDetails topCounterparties(List topCounterparties) { + + this.topCounterparties = topCounterparties; + return this; + } + + public CategoryInsightDetails addTopCounterpartiesItem(String topCounterpartiesItem) { + if (this.topCounterparties == null) { + this.topCounterparties = new ArrayList<>(); + } + this.topCounterparties.add(topCounterpartiesItem); + return this; + } + + /** + * The most common counterparties associated with this category sorted by outflow. + * @return topCounterparties + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The most common counterparties associated with this category sorted by outflow.") + + public List getTopCounterparties() { + return topCounterparties; + } + + + public void setTopCounterparties(List topCounterparties) { + this.topCounterparties = topCounterparties; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CategoryInsightDetails categoryInsightDetails = (CategoryInsightDetails) o; + return Objects.equals(this.name, categoryInsightDetails.name) && + Objects.equals(this.transactionCount, categoryInsightDetails.transactionCount) && + Objects.equals(this.totalOutflows, categoryInsightDetails.totalOutflows) && + Objects.equals(this.totalInflows, categoryInsightDetails.totalInflows) && + Objects.equals(this.topCounterparties, categoryInsightDetails.topCounterparties); + } + + @Override + public int hashCode() { + return Objects.hash(name, transactionCount, totalOutflows, totalInflows, topCounterparties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CategoryInsightDetails {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" transactionCount: ").append(toIndentedString(transactionCount)).append("\n"); + sb.append(" totalOutflows: ").append(toIndentedString(totalOutflows)).append("\n"); + sb.append(" totalInflows: ").append(toIndentedString(totalInflows)).append("\n"); + sb.append(" topCounterparties: ").append(toIndentedString(topCounterparties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CategoryInsights.java b/src/main/java/com/plaid/client/model/CategoryInsights.java new file mode 100644 index 0000000000..ec43795669 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CategoryInsights.java @@ -0,0 +1,147 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CategoryInsightDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Insights on a user's top personal finance categories. + */ +@ApiModel(description = "Insights on a user's top personal finance categories.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CategoryInsights { + public static final String SERIALIZED_NAME_PRIMARY_CATEGORY_INSIGHTS = "primary_category_insights"; + @SerializedName(SERIALIZED_NAME_PRIMARY_CATEGORY_INSIGHTS) + private List primaryCategoryInsights = null; + + public static final String SERIALIZED_NAME_DETAILED_CATEGORY_INSIGHTS = "detailed_category_insights"; + @SerializedName(SERIALIZED_NAME_DETAILED_CATEGORY_INSIGHTS) + private List detailedCategoryInsights = null; + + + public CategoryInsights primaryCategoryInsights(List primaryCategoryInsights) { + + this.primaryCategoryInsights = primaryCategoryInsights; + return this; + } + + public CategoryInsights addPrimaryCategoryInsightsItem(CategoryInsightDetails primaryCategoryInsightsItem) { + if (this.primaryCategoryInsights == null) { + this.primaryCategoryInsights = new ArrayList<>(); + } + this.primaryCategoryInsights.add(primaryCategoryInsightsItem); + return this; + } + + /** + * List of insights of top primary personal finance categories ranked by outflow. + * @return primaryCategoryInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of insights of top primary personal finance categories ranked by outflow.") + + public List getPrimaryCategoryInsights() { + return primaryCategoryInsights; + } + + + public void setPrimaryCategoryInsights(List primaryCategoryInsights) { + this.primaryCategoryInsights = primaryCategoryInsights; + } + + + public CategoryInsights detailedCategoryInsights(List detailedCategoryInsights) { + + this.detailedCategoryInsights = detailedCategoryInsights; + return this; + } + + public CategoryInsights addDetailedCategoryInsightsItem(CategoryInsightDetails detailedCategoryInsightsItem) { + if (this.detailedCategoryInsights == null) { + this.detailedCategoryInsights = new ArrayList<>(); + } + this.detailedCategoryInsights.add(detailedCategoryInsightsItem); + return this; + } + + /** + * List of insights of top detailed personal finance categories ranked by outflow. + * @return detailedCategoryInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of insights of top detailed personal finance categories ranked by outflow.") + + public List getDetailedCategoryInsights() { + return detailedCategoryInsights; + } + + + public void setDetailedCategoryInsights(List detailedCategoryInsights) { + this.detailedCategoryInsights = detailedCategoryInsights; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CategoryInsights categoryInsights = (CategoryInsights) o; + return Objects.equals(this.primaryCategoryInsights, categoryInsights.primaryCategoryInsights) && + Objects.equals(this.detailedCategoryInsights, categoryInsights.detailedCategoryInsights); + } + + @Override + public int hashCode() { + return Objects.hash(primaryCategoryInsights, detailedCategoryInsights); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CategoryInsights {\n"); + sb.append(" primaryCategoryInsights: ").append(toIndentedString(primaryCategoryInsights)).append("\n"); + sb.append(" detailedCategoryInsights: ").append(toIndentedString(detailedCategoryInsights)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Cause.java b/src/main/java/com/plaid/client/model/Cause.java new file mode 100644 index 0000000000..af1ed7b8ff --- /dev/null +++ b/src/main/java/com/plaid/client/model/Cause.java @@ -0,0 +1,472 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CauseAllOf; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items. + */ +@ApiModel(description = "An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Cause { + public static final String SERIALIZED_NAME_ERROR_TYPE = "error_type"; + @SerializedName(SERIALIZED_NAME_ERROR_TYPE) + private PlaidErrorType errorType; + + public static final String SERIALIZED_NAME_ERROR_CODE = "error_code"; + @SerializedName(SERIALIZED_NAME_ERROR_CODE) + private String errorCode; + + public static final String SERIALIZED_NAME_ERROR_CODE_REASON = "error_code_reason"; + @SerializedName(SERIALIZED_NAME_ERROR_CODE_REASON) + private String errorCodeReason; + + public static final String SERIALIZED_NAME_ERROR_MESSAGE = "error_message"; + @SerializedName(SERIALIZED_NAME_ERROR_MESSAGE) + private String errorMessage; + + public static final String SERIALIZED_NAME_DISPLAY_MESSAGE = "display_message"; + @SerializedName(SERIALIZED_NAME_DISPLAY_MESSAGE) + private String displayMessage; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_CAUSES = "causes"; + @SerializedName(SERIALIZED_NAME_CAUSES) + private List causes = null; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private Integer status; + + public static final String SERIALIZED_NAME_DOCUMENTATION_URL = "documentation_url"; + @SerializedName(SERIALIZED_NAME_DOCUMENTATION_URL) + private String documentationUrl; + + public static final String SERIALIZED_NAME_SUGGESTED_ACTION = "suggested_action"; + @SerializedName(SERIALIZED_NAME_SUGGESTED_ACTION) + private String suggestedAction; + + public static final String SERIALIZED_NAME_REQUIRED_ACCOUNT_SUBTYPES = "required_account_subtypes"; + @SerializedName(SERIALIZED_NAME_REQUIRED_ACCOUNT_SUBTYPES) + private List requiredAccountSubtypes = null; + + public static final String SERIALIZED_NAME_PROVIDED_ACCOUNT_SUBTYPES = "provided_account_subtypes"; + @SerializedName(SERIALIZED_NAME_PROVIDED_ACCOUNT_SUBTYPES) + private List providedAccountSubtypes = null; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + + public Cause errorType(PlaidErrorType errorType) { + + this.errorType = errorType; + return this; + } + + /** + * Get errorType + * @return errorType + **/ + @ApiModelProperty(required = true, value = "") + + public PlaidErrorType getErrorType() { + return errorType; + } + + + public void setErrorType(PlaidErrorType errorType) { + this.errorType = errorType; + } + + + public Cause errorCode(String errorCode) { + + this.errorCode = errorCode; + return this; + } + + /** + * The particular error code. Safe for programmatic use. + * @return errorCode + **/ + @ApiModelProperty(required = true, value = "The particular error code. Safe for programmatic use.") + + public String getErrorCode() { + return errorCode; + } + + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + + public Cause errorCodeReason(String errorCodeReason) { + + this.errorCodeReason = errorCodeReason; + return this; + } + + /** + * The specific reason for the error code. Currently, reasons are only supported for OAuth-based item errors; `null` will be returned otherwise. Safe for programmatic use. Possible values: `OAUTH_INVALID_TOKEN`: The user's OAuth connection to this institution has been invalidated. `OAUTH_CONSENT_EXPIRED`: The user's access consent for this OAuth connection to this institution has expired. `OAUTH_USER_REVOKED`: The user's OAuth connection to this institution is invalid because the user revoked their connection. + * @return errorCodeReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The specific reason for the error code. Currently, reasons are only supported for OAuth-based item errors; `null` will be returned otherwise. Safe for programmatic use. Possible values: `OAUTH_INVALID_TOKEN`: The user's OAuth connection to this institution has been invalidated. `OAUTH_CONSENT_EXPIRED`: The user's access consent for this OAuth connection to this institution has expired. `OAUTH_USER_REVOKED`: The user's OAuth connection to this institution is invalid because the user revoked their connection.") + + public String getErrorCodeReason() { + return errorCodeReason; + } + + + public void setErrorCodeReason(String errorCodeReason) { + this.errorCodeReason = errorCodeReason; + } + + + public Cause errorMessage(String errorMessage) { + + this.errorMessage = errorMessage; + return this; + } + + /** + * A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use. + * @return errorMessage + **/ + @ApiModelProperty(required = true, value = "A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.") + + public String getErrorMessage() { + return errorMessage; + } + + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + + + public Cause displayMessage(String displayMessage) { + + this.displayMessage = displayMessage; + return this; + } + + /** + * A user-friendly representation of the error code. `null` if the error is not related to user action. This may change over time and is not safe for programmatic use. + * @return displayMessage + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A user-friendly representation of the error code. `null` if the error is not related to user action. This may change over time and is not safe for programmatic use.") + + public String getDisplayMessage() { + return displayMessage; + } + + + public void setDisplayMessage(String displayMessage) { + this.displayMessage = displayMessage; + } + + + public Cause requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public Cause causes(List causes) { + + this.causes = causes; + return this; + } + + public Cause addCausesItem(Object causesItem) { + if (this.causes == null) { + this.causes = new ArrayList<>(); + } + this.causes.add(causesItem); + return this; + } + + /** + * In this product, a request can pertain to more than one Item. If an error is returned for such a request, `causes` will return an array of errors containing a breakdown of these errors on the individual Item level, if any can be identified. `causes` will be provided for the `error_type` `ASSET_REPORT_ERROR` or `CHECK_REPORT_ERROR`. `causes` will also not be populated inside an error nested within a `warning` object. + * @return causes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "In this product, a request can pertain to more than one Item. If an error is returned for such a request, `causes` will return an array of errors containing a breakdown of these errors on the individual Item level, if any can be identified. `causes` will be provided for the `error_type` `ASSET_REPORT_ERROR` or `CHECK_REPORT_ERROR`. `causes` will also not be populated inside an error nested within a `warning` object.") + + public List getCauses() { + return causes; + } + + + public void setCauses(List causes) { + this.causes = causes; + } + + + public Cause status(Integer status) { + + this.status = status; + return this; + } + + /** + * The HTTP status code associated with the error. This will only be returned in the response body when the error information is provided via a webhook. + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The HTTP status code associated with the error. This will only be returned in the response body when the error information is provided via a webhook.") + + public Integer getStatus() { + return status; + } + + + public void setStatus(Integer status) { + this.status = status; + } + + + public Cause documentationUrl(String documentationUrl) { + + this.documentationUrl = documentationUrl; + return this; + } + + /** + * The URL of a Plaid documentation page with more information about the error + * @return documentationUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL of a Plaid documentation page with more information about the error") + + public String getDocumentationUrl() { + return documentationUrl; + } + + + public void setDocumentationUrl(String documentationUrl) { + this.documentationUrl = documentationUrl; + } + + + public Cause suggestedAction(String suggestedAction) { + + this.suggestedAction = suggestedAction; + return this; + } + + /** + * Suggested steps for resolving the error + * @return suggestedAction + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Suggested steps for resolving the error") + + public String getSuggestedAction() { + return suggestedAction; + } + + + public void setSuggestedAction(String suggestedAction) { + this.suggestedAction = suggestedAction; + } + + + public Cause requiredAccountSubtypes(List requiredAccountSubtypes) { + + this.requiredAccountSubtypes = requiredAccountSubtypes; + return this; + } + + public Cause addRequiredAccountSubtypesItem(String requiredAccountSubtypesItem) { + if (this.requiredAccountSubtypes == null) { + this.requiredAccountSubtypes = new ArrayList<>(); + } + this.requiredAccountSubtypes.add(requiredAccountSubtypesItem); + return this; + } + + /** + * A list of the account subtypes that were requested via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product. + * @return requiredAccountSubtypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of the account subtypes that were requested via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product. ") + + public List getRequiredAccountSubtypes() { + return requiredAccountSubtypes; + } + + + public void setRequiredAccountSubtypes(List requiredAccountSubtypes) { + this.requiredAccountSubtypes = requiredAccountSubtypes; + } + + + public Cause providedAccountSubtypes(List providedAccountSubtypes) { + + this.providedAccountSubtypes = providedAccountSubtypes; + return this; + } + + public Cause addProvidedAccountSubtypesItem(String providedAccountSubtypesItem) { + if (this.providedAccountSubtypes == null) { + this.providedAccountSubtypes = new ArrayList<>(); + } + this.providedAccountSubtypes.add(providedAccountSubtypesItem); + return this; + } + + /** + * A list of the account subtypes that were extracted but did not match the requested subtypes via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product. + * @return providedAccountSubtypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of the account subtypes that were extracted but did not match the requested subtypes via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product. ") + + public List getProvidedAccountSubtypes() { + return providedAccountSubtypes; + } + + + public void setProvidedAccountSubtypes(List providedAccountSubtypes) { + this.providedAccountSubtypes = providedAccountSubtypes; + } + + + public Cause itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Cause cause = (Cause) o; + return Objects.equals(this.errorType, cause.errorType) && + Objects.equals(this.errorCode, cause.errorCode) && + Objects.equals(this.errorCodeReason, cause.errorCodeReason) && + Objects.equals(this.errorMessage, cause.errorMessage) && + Objects.equals(this.displayMessage, cause.displayMessage) && + Objects.equals(this.requestId, cause.requestId) && + Objects.equals(this.causes, cause.causes) && + Objects.equals(this.status, cause.status) && + Objects.equals(this.documentationUrl, cause.documentationUrl) && + Objects.equals(this.suggestedAction, cause.suggestedAction) && + Objects.equals(this.requiredAccountSubtypes, cause.requiredAccountSubtypes) && + Objects.equals(this.providedAccountSubtypes, cause.providedAccountSubtypes) && + Objects.equals(this.itemId, cause.itemId); + } + + @Override + public int hashCode() { + return Objects.hash(errorType, errorCode, errorCodeReason, errorMessage, displayMessage, requestId, causes, status, documentationUrl, suggestedAction, requiredAccountSubtypes, providedAccountSubtypes, itemId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Cause {\n"); + sb.append(" errorType: ").append(toIndentedString(errorType)).append("\n"); + sb.append(" errorCode: ").append(toIndentedString(errorCode)).append("\n"); + sb.append(" errorCodeReason: ").append(toIndentedString(errorCodeReason)).append("\n"); + sb.append(" errorMessage: ").append(toIndentedString(errorMessage)).append("\n"); + sb.append(" displayMessage: ").append(toIndentedString(displayMessage)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" causes: ").append(toIndentedString(causes)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" documentationUrl: ").append(toIndentedString(documentationUrl)).append("\n"); + sb.append(" suggestedAction: ").append(toIndentedString(suggestedAction)).append("\n"); + sb.append(" requiredAccountSubtypes: ").append(toIndentedString(requiredAccountSubtypes)).append("\n"); + sb.append(" providedAccountSubtypes: ").append(toIndentedString(providedAccountSubtypes)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CauseAllOf.java b/src/main/java/com/plaid/client/model/CauseAllOf.java new file mode 100644 index 0000000000..af996e964d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CauseAllOf.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CauseAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CauseAllOf { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + + public CauseAllOf itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CauseAllOf causeAllOf = (CauseAllOf) o; + return Objects.equals(this.itemId, causeAllOf.itemId); + } + + @Override + public int hashCode() { + return Objects.hash(itemId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CauseAllOf {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CheckReportRepairableItem.java b/src/main/java/com/plaid/client/model/CheckReportRepairableItem.java new file mode 100644 index 0000000000..0c5ac8f6c0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CheckReportRepairableItem.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidErrorType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An error object plus the `item_id` of an Item that the end user can repair via Link [update mode](https://plaid.com/docs/link/update-mode). The `error_code` will be in the `ITEM_LOGIN_REQUIRED` family. + */ +@ApiModel(description = "An error object plus the `item_id` of an Item that the end user can repair via Link [update mode](https://plaid.com/docs/link/update-mode). The `error_code` will be in the `ITEM_LOGIN_REQUIRED` family.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CheckReportRepairableItem { + public static final String SERIALIZED_NAME_ERROR_TYPE = "error_type"; + @SerializedName(SERIALIZED_NAME_ERROR_TYPE) + private PlaidErrorType errorType; + + public static final String SERIALIZED_NAME_ERROR_CODE = "error_code"; + @SerializedName(SERIALIZED_NAME_ERROR_CODE) + private String errorCode; + + public static final String SERIALIZED_NAME_ERROR_MESSAGE = "error_message"; + @SerializedName(SERIALIZED_NAME_ERROR_MESSAGE) + private String errorMessage; + + public static final String SERIALIZED_NAME_DISPLAY_MESSAGE = "display_message"; + @SerializedName(SERIALIZED_NAME_DISPLAY_MESSAGE) + private String displayMessage; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + + public CheckReportRepairableItem errorType(PlaidErrorType errorType) { + + this.errorType = errorType; + return this; + } + + /** + * Get errorType + * @return errorType + **/ + @ApiModelProperty(required = true, value = "") + + public PlaidErrorType getErrorType() { + return errorType; + } + + + public void setErrorType(PlaidErrorType errorType) { + this.errorType = errorType; + } + + + public CheckReportRepairableItem errorCode(String errorCode) { + + this.errorCode = errorCode; + return this; + } + + /** + * The particular error code. Safe for programmatic use. + * @return errorCode + **/ + @ApiModelProperty(required = true, value = "The particular error code. Safe for programmatic use.") + + public String getErrorCode() { + return errorCode; + } + + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + + public CheckReportRepairableItem errorMessage(String errorMessage) { + + this.errorMessage = errorMessage; + return this; + } + + /** + * A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use. + * @return errorMessage + **/ + @ApiModelProperty(required = true, value = "A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.") + + public String getErrorMessage() { + return errorMessage; + } + + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + + + public CheckReportRepairableItem displayMessage(String displayMessage) { + + this.displayMessage = displayMessage; + return this; + } + + /** + * A user-friendly representation of the error code. `null` if the error is not related to user action. + * @return displayMessage + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A user-friendly representation of the error code. `null` if the error is not related to user action.") + + public String getDisplayMessage() { + return displayMessage; + } + + + public void setDisplayMessage(String displayMessage) { + this.displayMessage = displayMessage; + } + + + public CheckReportRepairableItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CheckReportRepairableItem checkReportRepairableItem = (CheckReportRepairableItem) o; + return Objects.equals(this.errorType, checkReportRepairableItem.errorType) && + Objects.equals(this.errorCode, checkReportRepairableItem.errorCode) && + Objects.equals(this.errorMessage, checkReportRepairableItem.errorMessage) && + Objects.equals(this.displayMessage, checkReportRepairableItem.displayMessage) && + Objects.equals(this.itemId, checkReportRepairableItem.itemId); + } + + @Override + public int hashCode() { + return Objects.hash(errorType, errorCode, errorMessage, displayMessage, itemId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CheckReportRepairableItem {\n"); + sb.append(" errorType: ").append(toIndentedString(errorType)).append("\n"); + sb.append(" errorCode: ").append(toIndentedString(errorCode)).append("\n"); + sb.append(" errorMessage: ").append(toIndentedString(errorMessage)).append("\n"); + sb.append(" displayMessage: ").append(toIndentedString(displayMessage)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CheckReportWarning.java b/src/main/java/com/plaid/client/model/CheckReportWarning.java new file mode 100644 index 0000000000..874ea6d90a --- /dev/null +++ b/src/main/java/com/plaid/client/model/CheckReportWarning.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Cause; +import com.plaid.client.model.CheckReportWarningCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * It is possible for a Check Report product to be returned with missing information. In such cases, the product will contain warning data in the response, indicating why some of the requested information could not be retrieved. + */ +@ApiModel(description = "It is possible for a Check Report product to be returned with missing information. In such cases, the product will contain warning data in the response, indicating why some of the requested information could not be retrieved.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CheckReportWarning { + public static final String SERIALIZED_NAME_WARNING_TYPE = "warning_type"; + @SerializedName(SERIALIZED_NAME_WARNING_TYPE) + private String warningType; + + public static final String SERIALIZED_NAME_WARNING_CODE = "warning_code"; + @SerializedName(SERIALIZED_NAME_WARNING_CODE) + private CheckReportWarningCode warningCode; + + public static final String SERIALIZED_NAME_CAUSE = "cause"; + @SerializedName(SERIALIZED_NAME_CAUSE) + private Cause cause; + + + public CheckReportWarning warningType(String warningType) { + + this.warningType = warningType; + return this; + } + + /** + * The warning type, which will always be `CHECK_REPORT_WARNING` + * @return warningType + **/ + @ApiModelProperty(required = true, value = "The warning type, which will always be `CHECK_REPORT_WARNING`") + + public String getWarningType() { + return warningType; + } + + + public void setWarningType(String warningType) { + this.warningType = warningType; + } + + + public CheckReportWarning warningCode(CheckReportWarningCode warningCode) { + + this.warningCode = warningCode; + return this; + } + + /** + * Get warningCode + * @return warningCode + **/ + @ApiModelProperty(required = true, value = "") + + public CheckReportWarningCode getWarningCode() { + return warningCode; + } + + + public void setWarningCode(CheckReportWarningCode warningCode) { + this.warningCode = warningCode; + } + + + public CheckReportWarning cause(Cause cause) { + + this.cause = cause; + return this; + } + + /** + * Get cause + * @return cause + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public Cause getCause() { + return cause; + } + + + public void setCause(Cause cause) { + this.cause = cause; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CheckReportWarning checkReportWarning = (CheckReportWarning) o; + return Objects.equals(this.warningType, checkReportWarning.warningType) && + Objects.equals(this.warningCode, checkReportWarning.warningCode) && + Objects.equals(this.cause, checkReportWarning.cause); + } + + @Override + public int hashCode() { + return Objects.hash(warningType, warningCode, cause); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CheckReportWarning {\n"); + sb.append(" warningType: ").append(toIndentedString(warningType)).append("\n"); + sb.append(" warningCode: ").append(toIndentedString(warningCode)).append("\n"); + sb.append(" cause: ").append(toIndentedString(cause)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CheckReportWarningCode.java b/src/main/java/com/plaid/client/model/CheckReportWarningCode.java new file mode 100644 index 0000000000..addc3194a9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CheckReportWarningCode.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The warning code identifies a specific kind of warning. `IDENTITY_UNAVAILABLE`: Account-owner information is not available. `TRANSACTIONS_UNAVAILABLE`: Transactions information associated with Credit and Depository accounts are unavailable. `USER_FRAUD_ALERT`: The user has placed a fraud alert on their Plaid Check consumer report due to suspected fraud. Please note that when a fraud alert is in place, the recipient of the consumer report has an obligation to verify the consumer's identity. + */ +@JsonAdapter(CheckReportWarningCode.Adapter.class) +public enum CheckReportWarningCode { + + IDENTITY_UNAVAILABLE("IDENTITY_UNAVAILABLE"), + + TRANSACTIONS_UNAVAILABLE("TRANSACTIONS_UNAVAILABLE"), + + USER_FRAUD_ALERT("USER_FRAUD_ALERT"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CheckReportWarningCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CheckReportWarningCode fromValue(String value) { + for (CheckReportWarningCode b : CheckReportWarningCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CheckReportWarningCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CheckReportWarningCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CheckReportWarningCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CheckReportWarningCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ClientCustomization.java b/src/main/java/com/plaid/client/model/ClientCustomization.java new file mode 100644 index 0000000000..f8481fcbbc --- /dev/null +++ b/src/main/java/com/plaid/client/model/ClientCustomization.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Custom client fields + */ +@ApiModel(description = "Custom client fields") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ClientCustomization { + public static final String SERIALIZED_NAME_CUSTOM_ENTITY_ID = "custom_entity_id"; + @SerializedName(SERIALIZED_NAME_CUSTOM_ENTITY_ID) + private String customEntityId; + + + public ClientCustomization customEntityId(String customEntityId) { + + this.customEntityId = customEntityId; + return this; + } + + /** + * Custom entity ID that maps to a merchant or counterparty. This is different from the `merchant_entity_id` as well as the `entity_id` on the counterparties object to meet client specific needs. + * @return customEntityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Custom entity ID that maps to a merchant or counterparty. This is different from the `merchant_entity_id` as well as the `entity_id` on the counterparties object to meet client specific needs.") + + public String getCustomEntityId() { + return customEntityId; + } + + + public void setCustomEntityId(String customEntityId) { + this.customEntityId = customEntityId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClientCustomization clientCustomization = (ClientCustomization) o; + return Objects.equals(this.customEntityId, clientCustomization.customEntityId); + } + + @Override + public int hashCode() { + return Objects.hash(customEntityId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ClientCustomization {\n"); + sb.append(" customEntityId: ").append(toIndentedString(customEntityId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ClientProvidedEnhancedTransaction.java b/src/main/java/com/plaid/client/model/ClientProvidedEnhancedTransaction.java new file mode 100644 index 0000000000..8698f53245 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ClientProvidedEnhancedTransaction.java @@ -0,0 +1,211 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Enhancements; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A client-provided transaction that Plaid has enhanced. + */ +@ApiModel(description = "A client-provided transaction that Plaid has enhanced.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ClientProvidedEnhancedTransaction { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_ENHANCEMENTS = "enhancements"; + @SerializedName(SERIALIZED_NAME_ENHANCEMENTS) + private Enhancements enhancements; + + + public ClientProvidedEnhancedTransaction id(String id) { + + this.id = id; + return this; + } + + /** + * Unique transaction identifier to tie transactions back to clients' systems. + * @return id + **/ + @ApiModelProperty(required = true, value = "Unique transaction identifier to tie transactions back to clients' systems.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public ClientProvidedEnhancedTransaction description(String description) { + + this.description = description; + return this; + } + + /** + * The raw description of the transaction. + * @return description + **/ + @ApiModelProperty(required = true, value = "The raw description of the transaction.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public ClientProvidedEnhancedTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The value of the transaction, denominated in the account's currency, as stated in `iso_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The value of the transaction, denominated in the account's currency, as stated in `iso_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public ClientProvidedEnhancedTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the transaction. + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the transaction.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public ClientProvidedEnhancedTransaction enhancements(Enhancements enhancements) { + + this.enhancements = enhancements; + return this; + } + + /** + * Get enhancements + * @return enhancements + **/ + @ApiModelProperty(required = true, value = "") + + public Enhancements getEnhancements() { + return enhancements; + } + + + public void setEnhancements(Enhancements enhancements) { + this.enhancements = enhancements; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClientProvidedEnhancedTransaction clientProvidedEnhancedTransaction = (ClientProvidedEnhancedTransaction) o; + return Objects.equals(this.id, clientProvidedEnhancedTransaction.id) && + Objects.equals(this.description, clientProvidedEnhancedTransaction.description) && + Objects.equals(this.amount, clientProvidedEnhancedTransaction.amount) && + Objects.equals(this.isoCurrencyCode, clientProvidedEnhancedTransaction.isoCurrencyCode) && + Objects.equals(this.enhancements, clientProvidedEnhancedTransaction.enhancements); + } + + @Override + public int hashCode() { + return Objects.hash(id, description, amount, isoCurrencyCode, enhancements); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ClientProvidedEnhancedTransaction {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" enhancements: ").append(toIndentedString(enhancements)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ClientProvidedEnrichedTransaction.java b/src/main/java/com/plaid/client/model/ClientProvidedEnrichedTransaction.java new file mode 100644 index 0000000000..4ce8d04c17 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ClientProvidedEnrichedTransaction.java @@ -0,0 +1,387 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ClientCustomization; +import com.plaid.client.model.EnrichTransactionDirection; +import com.plaid.client.model.Enrichments; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A client-provided transaction that Plaid has enriched. + */ +@ApiModel(description = "A client-provided transaction that Plaid has enriched.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ClientProvidedEnrichedTransaction { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CLIENT_ACCOUNT_ID = "client_account_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ACCOUNT_ID) + private String clientAccountId; + + public static final String SERIALIZED_NAME_ACCOUNT_TYPE = "account_type"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_TYPE) + private String accountType; + + public static final String SERIALIZED_NAME_ACCOUNT_SUBTYPE = "account_subtype"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SUBTYPE) + private String accountSubtype; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_DIRECTION = "direction"; + @SerializedName(SERIALIZED_NAME_DIRECTION) + private EnrichTransactionDirection direction; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_ENRICHMENTS = "enrichments"; + @SerializedName(SERIALIZED_NAME_ENRICHMENTS) + private Enrichments enrichments; + + public static final String SERIALIZED_NAME_CLIENT_CUSTOMIZATION = "client_customization"; + @SerializedName(SERIALIZED_NAME_CLIENT_CUSTOMIZATION) + private ClientCustomization clientCustomization; + + + public ClientProvidedEnrichedTransaction id(String id) { + + this.id = id; + return this; + } + + /** + * The unique ID for the transaction as provided by you in the request. + * @return id + **/ + @ApiModelProperty(required = true, value = "The unique ID for the transaction as provided by you in the request.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public ClientProvidedEnrichedTransaction clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique user id used to group transactions for a given user, as a unique identifier from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user id used to group transactions for a given user, as a unique identifier from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public ClientProvidedEnrichedTransaction clientAccountId(String clientAccountId) { + + this.clientAccountId = clientAccountId; + return this; + } + + /** + * A unique account id used to group transactions for a given account, as a unique identifier from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_account_id`. + * @return clientAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique account id used to group transactions for a given account, as a unique identifier from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_account_id`.") + + public String getClientAccountId() { + return clientAccountId; + } + + + public void setClientAccountId(String clientAccountId) { + this.clientAccountId = clientAccountId; + } + + + public ClientProvidedEnrichedTransaction accountType(String accountType) { + + this.accountType = accountType; + return this; + } + + /** + * The account type associated with the transaction. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account type associated with the transaction. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema).") + + public String getAccountType() { + return accountType; + } + + + public void setAccountType(String accountType) { + this.accountType = accountType; + } + + + public ClientProvidedEnrichedTransaction accountSubtype(String accountSubtype) { + + this.accountSubtype = accountSubtype; + return this; + } + + /** + * The account subtype associated with the transaction. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountSubtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account subtype associated with the transaction. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema).") + + public String getAccountSubtype() { + return accountSubtype; + } + + + public void setAccountSubtype(String accountSubtype) { + this.accountSubtype = accountSubtype; + } + + + public ClientProvidedEnrichedTransaction description(String description) { + + this.description = description; + return this; + } + + /** + * The raw description of the transaction. + * @return description + **/ + @ApiModelProperty(required = true, value = "The raw description of the transaction.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public ClientProvidedEnrichedTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The absolute value of the transaction (>= 0) + * @return amount + **/ + @ApiModelProperty(required = true, value = "The absolute value of the transaction (>= 0)") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public ClientProvidedEnrichedTransaction direction(EnrichTransactionDirection direction) { + + this.direction = direction; + return this; + } + + /** + * Get direction + * @return direction + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EnrichTransactionDirection getDirection() { + return direction; + } + + + public void setDirection(EnrichTransactionDirection direction) { + this.direction = direction; + } + + + public ClientProvidedEnrichedTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the transaction e.g. USD. + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the transaction e.g. USD.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public ClientProvidedEnrichedTransaction enrichments(Enrichments enrichments) { + + this.enrichments = enrichments; + return this; + } + + /** + * Get enrichments + * @return enrichments + **/ + @ApiModelProperty(required = true, value = "") + + public Enrichments getEnrichments() { + return enrichments; + } + + + public void setEnrichments(Enrichments enrichments) { + this.enrichments = enrichments; + } + + + public ClientProvidedEnrichedTransaction clientCustomization(ClientCustomization clientCustomization) { + + this.clientCustomization = clientCustomization; + return this; + } + + /** + * Get clientCustomization + * @return clientCustomization + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ClientCustomization getClientCustomization() { + return clientCustomization; + } + + + public void setClientCustomization(ClientCustomization clientCustomization) { + this.clientCustomization = clientCustomization; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClientProvidedEnrichedTransaction clientProvidedEnrichedTransaction = (ClientProvidedEnrichedTransaction) o; + return Objects.equals(this.id, clientProvidedEnrichedTransaction.id) && + Objects.equals(this.clientUserId, clientProvidedEnrichedTransaction.clientUserId) && + Objects.equals(this.clientAccountId, clientProvidedEnrichedTransaction.clientAccountId) && + Objects.equals(this.accountType, clientProvidedEnrichedTransaction.accountType) && + Objects.equals(this.accountSubtype, clientProvidedEnrichedTransaction.accountSubtype) && + Objects.equals(this.description, clientProvidedEnrichedTransaction.description) && + Objects.equals(this.amount, clientProvidedEnrichedTransaction.amount) && + Objects.equals(this.direction, clientProvidedEnrichedTransaction.direction) && + Objects.equals(this.isoCurrencyCode, clientProvidedEnrichedTransaction.isoCurrencyCode) && + Objects.equals(this.enrichments, clientProvidedEnrichedTransaction.enrichments) && + Objects.equals(this.clientCustomization, clientProvidedEnrichedTransaction.clientCustomization); + } + + @Override + public int hashCode() { + return Objects.hash(id, clientUserId, clientAccountId, accountType, accountSubtype, description, amount, direction, isoCurrencyCode, enrichments, clientCustomization); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ClientProvidedEnrichedTransaction {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" clientAccountId: ").append(toIndentedString(clientAccountId)).append("\n"); + sb.append(" accountType: ").append(toIndentedString(accountType)).append("\n"); + sb.append(" accountSubtype: ").append(toIndentedString(accountSubtype)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" direction: ").append(toIndentedString(direction)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" enrichments: ").append(toIndentedString(enrichments)).append("\n"); + sb.append(" clientCustomization: ").append(toIndentedString(clientCustomization)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ClientProvidedRawTransaction.java b/src/main/java/com/plaid/client/model/ClientProvidedRawTransaction.java new file mode 100644 index 0000000000..af9161a73c --- /dev/null +++ b/src/main/java/com/plaid/client/model/ClientProvidedRawTransaction.java @@ -0,0 +1,182 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A client-provided transaction for Plaid to enhance. + */ +@ApiModel(description = "A client-provided transaction for Plaid to enhance.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ClientProvidedRawTransaction { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + + public ClientProvidedRawTransaction id(String id) { + + this.id = id; + return this; + } + + /** + * A unique ID for the transaction used to help you tie data back to your systems. + * @return id + **/ + @ApiModelProperty(required = true, value = "A unique ID for the transaction used to help you tie data back to your systems.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public ClientProvidedRawTransaction description(String description) { + + this.description = description; + return this; + } + + /** + * The raw description of the transaction. + * @return description + **/ + @ApiModelProperty(required = true, value = "The raw description of the transaction.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public ClientProvidedRawTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The value of the transaction with direction. (NOTE: this will affect enrichment results, so directions are important). Negative (-) for credits (e.g., incoming transfers, refunds) Positive (+) for debits (e.g., purchases, fees, outgoing transfers) + * @return amount + **/ + @ApiModelProperty(required = true, value = "The value of the transaction with direction. (NOTE: this will affect enrichment results, so directions are important). Negative (-) for credits (e.g., incoming transfers, refunds) Positive (+) for debits (e.g., purchases, fees, outgoing transfers)") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public ClientProvidedRawTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the transaction e.g. USD. + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the transaction e.g. USD.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClientProvidedRawTransaction clientProvidedRawTransaction = (ClientProvidedRawTransaction) o; + return Objects.equals(this.id, clientProvidedRawTransaction.id) && + Objects.equals(this.description, clientProvidedRawTransaction.description) && + Objects.equals(this.amount, clientProvidedRawTransaction.amount) && + Objects.equals(this.isoCurrencyCode, clientProvidedRawTransaction.isoCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(id, description, amount, isoCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ClientProvidedRawTransaction {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ClientProvidedTransaction.java b/src/main/java/com/plaid/client/model/ClientProvidedTransaction.java new file mode 100644 index 0000000000..f9514bcf00 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ClientProvidedTransaction.java @@ -0,0 +1,445 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ClientProvidedTransactionLocation; +import com.plaid.client.model.EnrichTransactionDirection; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * A client-provided transaction for Plaid to enrich. + */ +@ApiModel(description = "A client-provided transaction for Plaid to enrich.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ClientProvidedTransaction { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CLIENT_ACCOUNT_ID = "client_account_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ACCOUNT_ID) + private String clientAccountId; + + public static final String SERIALIZED_NAME_ACCOUNT_TYPE = "account_type"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_TYPE) + private String accountType; + + public static final String SERIALIZED_NAME_ACCOUNT_SUBTYPE = "account_subtype"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SUBTYPE) + private String accountSubtype; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_DIRECTION = "direction"; + @SerializedName(SERIALIZED_NAME_DIRECTION) + private EnrichTransactionDirection direction; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private ClientProvidedTransactionLocation location; + + public static final String SERIALIZED_NAME_MCC = "mcc"; + @SerializedName(SERIALIZED_NAME_MCC) + private String mcc; + + public static final String SERIALIZED_NAME_DATE_POSTED = "date_posted"; + @SerializedName(SERIALIZED_NAME_DATE_POSTED) + private LocalDate datePosted; + + + public ClientProvidedTransaction id(String id) { + + this.id = id; + return this; + } + + /** + * A unique ID for the transaction used to help you tie data back to your systems. + * @return id + **/ + @ApiModelProperty(required = true, value = "A unique ID for the transaction used to help you tie data back to your systems.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public ClientProvidedTransaction userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid generated ID that identifies the end user for whom you would like to enrich transactions. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid generated ID that identifies the end user for whom you would like to enrich transactions.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public ClientProvidedTransaction clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique user id used to group transactions for a given user, as a unique identifier from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user id used to group transactions for a given user, as a unique identifier from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public ClientProvidedTransaction clientAccountId(String clientAccountId) { + + this.clientAccountId = clientAccountId; + return this; + } + + /** + * A unique account id used to group transactions for a given account, as a unique identifier from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_account_id`. + * @return clientAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique account id used to group transactions for a given account, as a unique identifier from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_account_id`.") + + public String getClientAccountId() { + return clientAccountId; + } + + + public void setClientAccountId(String clientAccountId) { + this.clientAccountId = clientAccountId; + } + + + public ClientProvidedTransaction accountType(String accountType) { + + this.accountType = accountType; + return this; + } + + /** + * The account type associated with the transaction. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account type associated with the transaction. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema).") + + public String getAccountType() { + return accountType; + } + + + public void setAccountType(String accountType) { + this.accountType = accountType; + } + + + public ClientProvidedTransaction accountSubtype(String accountSubtype) { + + this.accountSubtype = accountSubtype; + return this; + } + + /** + * The account subtype associated with the transaction. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountSubtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account subtype associated with the transaction. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema).") + + public String getAccountSubtype() { + return accountSubtype; + } + + + public void setAccountSubtype(String accountSubtype) { + this.accountSubtype = accountSubtype; + } + + + public ClientProvidedTransaction description(String description) { + + this.description = description; + return this; + } + + /** + * The raw description of the transaction. If you have location data in available an unstructured format, it may be appended to the `description` field. + * @return description + **/ + @ApiModelProperty(required = true, value = "The raw description of the transaction. If you have location data in available an unstructured format, it may be appended to the `description` field.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public ClientProvidedTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The absolute value of the transaction (>= 0). When testing Enrich, note that `amount` data should be realistic. Unrealistic or inaccurate `amount` data may result in reduced quality output. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The absolute value of the transaction (>= 0). When testing Enrich, note that `amount` data should be realistic. Unrealistic or inaccurate `amount` data may result in reduced quality output.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public ClientProvidedTransaction direction(EnrichTransactionDirection direction) { + + this.direction = direction; + return this; + } + + /** + * Get direction + * @return direction + **/ + @ApiModelProperty(required = true, value = "") + + public EnrichTransactionDirection getDirection() { + return direction; + } + + + public void setDirection(EnrichTransactionDirection direction) { + this.direction = direction; + } + + + public ClientProvidedTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the transaction e.g. USD. + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the transaction e.g. USD.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public ClientProvidedTransaction location(ClientProvidedTransactionLocation location) { + + this.location = location; + return this; + } + + /** + * Get location + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ClientProvidedTransactionLocation getLocation() { + return location; + } + + + public void setLocation(ClientProvidedTransactionLocation location) { + this.location = location; + } + + + public ClientProvidedTransaction mcc(String mcc) { + + this.mcc = mcc; + return this; + } + + /** + * Merchant category codes (MCCs) are four-digit numbers that describe a merchant's primary business activities. + * @return mcc + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Merchant category codes (MCCs) are four-digit numbers that describe a merchant's primary business activities.") + + public String getMcc() { + return mcc; + } + + + public void setMcc(String mcc) { + this.mcc = mcc; + } + + + public ClientProvidedTransaction datePosted(LocalDate datePosted) { + + this.datePosted = datePosted; + return this; + } + + /** + * The date the transaction posted, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. + * @return datePosted + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date the transaction posted, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format.") + + public LocalDate getDatePosted() { + return datePosted; + } + + + public void setDatePosted(LocalDate datePosted) { + this.datePosted = datePosted; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClientProvidedTransaction clientProvidedTransaction = (ClientProvidedTransaction) o; + return Objects.equals(this.id, clientProvidedTransaction.id) && + Objects.equals(this.userId, clientProvidedTransaction.userId) && + Objects.equals(this.clientUserId, clientProvidedTransaction.clientUserId) && + Objects.equals(this.clientAccountId, clientProvidedTransaction.clientAccountId) && + Objects.equals(this.accountType, clientProvidedTransaction.accountType) && + Objects.equals(this.accountSubtype, clientProvidedTransaction.accountSubtype) && + Objects.equals(this.description, clientProvidedTransaction.description) && + Objects.equals(this.amount, clientProvidedTransaction.amount) && + Objects.equals(this.direction, clientProvidedTransaction.direction) && + Objects.equals(this.isoCurrencyCode, clientProvidedTransaction.isoCurrencyCode) && + Objects.equals(this.location, clientProvidedTransaction.location) && + Objects.equals(this.mcc, clientProvidedTransaction.mcc) && + Objects.equals(this.datePosted, clientProvidedTransaction.datePosted); + } + + @Override + public int hashCode() { + return Objects.hash(id, userId, clientUserId, clientAccountId, accountType, accountSubtype, description, amount, direction, isoCurrencyCode, location, mcc, datePosted); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ClientProvidedTransaction {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" clientAccountId: ").append(toIndentedString(clientAccountId)).append("\n"); + sb.append(" accountType: ").append(toIndentedString(accountType)).append("\n"); + sb.append(" accountSubtype: ").append(toIndentedString(accountSubtype)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" direction: ").append(toIndentedString(direction)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append(" mcc: ").append(toIndentedString(mcc)).append("\n"); + sb.append(" datePosted: ").append(toIndentedString(datePosted)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ClientProvidedTransactionLocation.java b/src/main/java/com/plaid/client/model/ClientProvidedTransactionLocation.java new file mode 100644 index 0000000000..4cd8218d69 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ClientProvidedTransactionLocation.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A representation of where a transaction took place. Use this field to pass in structured location information you may have about your transactions. Providing location data is optional but can increase result quality. If you have unstructured location information, it may be appended to the `description` field. + */ +@ApiModel(description = "A representation of where a transaction took place. Use this field to pass in structured location information you may have about your transactions. Providing location data is optional but can increase result quality. If you have unstructured location information, it may be appended to the `description` field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ClientProvidedTransactionLocation { + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private String address; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + + public ClientProvidedTransactionLocation country(String country) { + + this.country = country; + return this; + } + + /** + * The country where the transaction occurred, formatted as an ISO 3166-1 alpha-2 country code (\"US\" or \"CA\"). + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The country where the transaction occurred, formatted as an ISO 3166-1 alpha-2 country code (\"US\" or \"CA\").") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public ClientProvidedTransactionLocation region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state where the transaction occurred, formatted as the official two-letter US state or Canadian province postal code, e.g. \"CT\" or \"QC\". + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The region or state where the transaction occurred, formatted as the official two-letter US state or Canadian province postal code, e.g. \"CT\" or \"QC\".") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public ClientProvidedTransactionLocation city(String city) { + + this.city = city; + return this; + } + + /** + * The city where the transaction occurred. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The city where the transaction occurred.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public ClientProvidedTransactionLocation address(String address) { + + this.address = address; + return this; + } + + /** + * The street address where the transaction occurred. + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The street address where the transaction occurred.") + + public String getAddress() { + return address; + } + + + public void setAddress(String address) { + this.address = address; + } + + + public ClientProvidedTransactionLocation postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code where the transaction occurred. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The postal code where the transaction occurred.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClientProvidedTransactionLocation clientProvidedTransactionLocation = (ClientProvidedTransactionLocation) o; + return Objects.equals(this.country, clientProvidedTransactionLocation.country) && + Objects.equals(this.region, clientProvidedTransactionLocation.region) && + Objects.equals(this.city, clientProvidedTransactionLocation.city) && + Objects.equals(this.address, clientProvidedTransactionLocation.address) && + Objects.equals(this.postalCode, clientProvidedTransactionLocation.postalCode); + } + + @Override + public int hashCode() { + return Objects.hash(country, region, city, address, postalCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ClientProvidedTransactionLocation {\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ClientUserIdentity.java b/src/main/java/com/plaid/client/model/ClientUserIdentity.java new file mode 100644 index 0000000000..036caf4373 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ClientUserIdentity.java @@ -0,0 +1,284 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ClientUserIdentityAddress; +import com.plaid.client.model.ClientUserIdentityEmail; +import com.plaid.client.model.ClientUserIdentityName; +import com.plaid.client.model.ClientUserIdentityPhoneNumber; +import com.plaid.client.model.UserIDNumber; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * The identity fields associated with a user. For a user to be eligible for a Plaid Check Consumer Report, all fields are required except `id_number`. Providing a partial SSN is strongly recommended, and improves the accuracy of matching user records during compliance processes such as file disclosure, dispute, or security freeze requests. If creating a report that will be shared with GSEs such as Fannie or Freddie, a full Social Security Number must be provided via the `id_number` field. + */ +@ApiModel(description = "The identity fields associated with a user. For a user to be eligible for a Plaid Check Consumer Report, all fields are required except `id_number`. Providing a partial SSN is strongly recommended, and improves the accuracy of matching user records during compliance processes such as file disclosure, dispute, or security freeze requests. If creating a report that will be shared with GSEs such as Fannie or Freddie, a full Social Security Number must be provided via the `id_number` field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ClientUserIdentity { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private ClientUserIdentityName name; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_EMAILS = "emails"; + @SerializedName(SERIALIZED_NAME_EMAILS) + private List emails = null; + + public static final String SERIALIZED_NAME_PHONE_NUMBERS = "phone_numbers"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBERS) + private List phoneNumbers = null; + + public static final String SERIALIZED_NAME_ADDRESSES = "addresses"; + @SerializedName(SERIALIZED_NAME_ADDRESSES) + private List addresses = null; + + public static final String SERIALIZED_NAME_ID_NUMBERS = "id_numbers"; + @SerializedName(SERIALIZED_NAME_ID_NUMBERS) + private List idNumbers = null; + + + public ClientUserIdentity name(ClientUserIdentityName name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ClientUserIdentityName getName() { + return name; + } + + + public void setName(ClientUserIdentityName name) { + this.name = name; + } + + + public ClientUserIdentity dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * The user's date of birth, to be provided in the format \"yyyy-mm-dd\". + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's date of birth, to be provided in the format \"yyyy-mm-dd\".") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public ClientUserIdentity emails(List emails) { + + this.emails = emails; + return this; + } + + public ClientUserIdentity addEmailsItem(ClientUserIdentityEmail emailsItem) { + if (this.emails == null) { + this.emails = new ArrayList<>(); + } + this.emails.add(emailsItem); + return this; + } + + /** + * The user's emails. + * @return emails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's emails.") + + public List getEmails() { + return emails; + } + + + public void setEmails(List emails) { + this.emails = emails; + } + + + public ClientUserIdentity phoneNumbers(List phoneNumbers) { + + this.phoneNumbers = phoneNumbers; + return this; + } + + public ClientUserIdentity addPhoneNumbersItem(ClientUserIdentityPhoneNumber phoneNumbersItem) { + if (this.phoneNumbers == null) { + this.phoneNumbers = new ArrayList<>(); + } + this.phoneNumbers.add(phoneNumbersItem); + return this; + } + + /** + * The user's phone numbers, in E.164 format: +{countrycode}{number}. For example: \"+14157452130\". Phone numbers provided in other formats will be parsed on a best-effort basis. Phone number input is validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment. + * @return phoneNumbers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's phone numbers, in E.164 format: +{countrycode}{number}. For example: \"+14157452130\". Phone numbers provided in other formats will be parsed on a best-effort basis. Phone number input is validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment.") + + public List getPhoneNumbers() { + return phoneNumbers; + } + + + public void setPhoneNumbers(List phoneNumbers) { + this.phoneNumbers = phoneNumbers; + } + + + public ClientUserIdentity addresses(List addresses) { + + this.addresses = addresses; + return this; + } + + public ClientUserIdentity addAddressesItem(ClientUserIdentityAddress addressesItem) { + if (this.addresses == null) { + this.addresses = new ArrayList<>(); + } + this.addresses.add(addressesItem); + return this; + } + + /** + * The user's addresses. + * @return addresses + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's addresses.") + + public List getAddresses() { + return addresses; + } + + + public void setAddresses(List addresses) { + this.addresses = addresses; + } + + + public ClientUserIdentity idNumbers(List idNumbers) { + + this.idNumbers = idNumbers; + return this; + } + + public ClientUserIdentity addIdNumbersItem(UserIDNumber idNumbersItem) { + if (this.idNumbers == null) { + this.idNumbers = new ArrayList<>(); + } + this.idNumbers.add(idNumbersItem); + return this; + } + + /** + * The user's ID numbers. + * @return idNumbers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's ID numbers.") + + public List getIdNumbers() { + return idNumbers; + } + + + public void setIdNumbers(List idNumbers) { + this.idNumbers = idNumbers; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClientUserIdentity clientUserIdentity = (ClientUserIdentity) o; + return Objects.equals(this.name, clientUserIdentity.name) && + Objects.equals(this.dateOfBirth, clientUserIdentity.dateOfBirth) && + Objects.equals(this.emails, clientUserIdentity.emails) && + Objects.equals(this.phoneNumbers, clientUserIdentity.phoneNumbers) && + Objects.equals(this.addresses, clientUserIdentity.addresses) && + Objects.equals(this.idNumbers, clientUserIdentity.idNumbers); + } + + @Override + public int hashCode() { + return Objects.hash(name, dateOfBirth, emails, phoneNumbers, addresses, idNumbers); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ClientUserIdentity {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" emails: ").append(toIndentedString(emails)).append("\n"); + sb.append(" phoneNumbers: ").append(toIndentedString(phoneNumbers)).append("\n"); + sb.append(" addresses: ").append(toIndentedString(addresses)).append("\n"); + sb.append(" idNumbers: ").append(toIndentedString(idNumbers)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ClientUserIdentityAddress.java b/src/main/java/com/plaid/client/model/ClientUserIdentityAddress.java new file mode 100644 index 0000000000..80bcf0cf35 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ClientUserIdentityAddress.java @@ -0,0 +1,271 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * User address information. + */ +@ApiModel(description = "User address information.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ClientUserIdentityAddress { + public static final String SERIALIZED_NAME_STREET1 = "street_1"; + @SerializedName(SERIALIZED_NAME_STREET1) + private String street1; + + public static final String SERIALIZED_NAME_STREET2 = "street_2"; + @SerializedName(SERIALIZED_NAME_STREET2) + private String street2; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + private Boolean primary; + + + public ClientUserIdentityAddress street1(String street1) { + + this.street1 = street1; + return this; + } + + /** + * First line of street address. + * @return street1 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "First line of street address.") + + public String getStreet1() { + return street1; + } + + + public void setStreet1(String street1) { + this.street1 = street1; + } + + + public ClientUserIdentityAddress street2(String street2) { + + this.street2 = street2; + return this; + } + + /** + * Second line of street address. + * @return street2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Second line of street address.") + + public String getStreet2() { + return street2; + } + + + public void setStreet2(String street2) { + this.street2 = street2; + } + + + public ClientUserIdentityAddress city(String city) { + + this.city = city; + return this; + } + + /** + * City name. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "City name.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public ClientUserIdentityAddress region(String region) { + + this.region = region; + return this; + } + + /** + * State, province or region. + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "State, province or region.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public ClientUserIdentityAddress country(String country) { + + this.country = country; + return this; + } + + /** + * Country code. + * @return country + **/ + @ApiModelProperty(required = true, value = "Country code.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public ClientUserIdentityAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * Postal or ZIP code. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Postal or ZIP code.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public ClientUserIdentityAddress primary(Boolean primary) { + + this.primary = primary; + return this; + } + + /** + * Indicates whether this is the primary address for the User. + * @return primary + **/ + @ApiModelProperty(required = true, value = "Indicates whether this is the primary address for the User.") + + public Boolean getPrimary() { + return primary; + } + + + public void setPrimary(Boolean primary) { + this.primary = primary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClientUserIdentityAddress clientUserIdentityAddress = (ClientUserIdentityAddress) o; + return Objects.equals(this.street1, clientUserIdentityAddress.street1) && + Objects.equals(this.street2, clientUserIdentityAddress.street2) && + Objects.equals(this.city, clientUserIdentityAddress.city) && + Objects.equals(this.region, clientUserIdentityAddress.region) && + Objects.equals(this.country, clientUserIdentityAddress.country) && + Objects.equals(this.postalCode, clientUserIdentityAddress.postalCode) && + Objects.equals(this.primary, clientUserIdentityAddress.primary); + } + + @Override + public int hashCode() { + return Objects.hash(street1, street2, city, region, country, postalCode, primary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ClientUserIdentityAddress {\n"); + sb.append(" street1: ").append(toIndentedString(street1)).append("\n"); + sb.append(" street2: ").append(toIndentedString(street2)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" primary: ").append(toIndentedString(primary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ClientUserIdentityEmail.java b/src/main/java/com/plaid/client/model/ClientUserIdentityEmail.java new file mode 100644 index 0000000000..44c7325ade --- /dev/null +++ b/src/main/java/com/plaid/client/model/ClientUserIdentityEmail.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * User email information. + */ +@ApiModel(description = "User email information.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ClientUserIdentityEmail { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private String data; + + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + private Boolean primary; + + + public ClientUserIdentityEmail data(String data) { + + this.data = data; + return this; + } + + /** + * User's email. + * @return data + **/ + @ApiModelProperty(required = true, value = "User's email.") + + public String getData() { + return data; + } + + + public void setData(String data) { + this.data = data; + } + + + public ClientUserIdentityEmail primary(Boolean primary) { + + this.primary = primary; + return this; + } + + /** + * Indicates whether this is the primary email for the User. + * @return primary + **/ + @ApiModelProperty(required = true, value = "Indicates whether this is the primary email for the User.") + + public Boolean getPrimary() { + return primary; + } + + + public void setPrimary(Boolean primary) { + this.primary = primary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClientUserIdentityEmail clientUserIdentityEmail = (ClientUserIdentityEmail) o; + return Objects.equals(this.data, clientUserIdentityEmail.data) && + Objects.equals(this.primary, clientUserIdentityEmail.primary); + } + + @Override + public int hashCode() { + return Objects.hash(data, primary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ClientUserIdentityEmail {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" primary: ").append(toIndentedString(primary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ClientUserIdentityName.java b/src/main/java/com/plaid/client/model/ClientUserIdentityName.java new file mode 100644 index 0000000000..837cca87f0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ClientUserIdentityName.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * User name information. + */ +@ApiModel(description = "User name information.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ClientUserIdentityName { + public static final String SERIALIZED_NAME_GIVEN_NAME = "given_name"; + @SerializedName(SERIALIZED_NAME_GIVEN_NAME) + private String givenName; + + public static final String SERIALIZED_NAME_FAMILY_NAME = "family_name"; + @SerializedName(SERIALIZED_NAME_FAMILY_NAME) + private String familyName; + + + public ClientUserIdentityName givenName(String givenName) { + + this.givenName = givenName; + return this; + } + + /** + * User's given name. + * @return givenName + **/ + @ApiModelProperty(required = true, value = "User's given name.") + + public String getGivenName() { + return givenName; + } + + + public void setGivenName(String givenName) { + this.givenName = givenName; + } + + + public ClientUserIdentityName familyName(String familyName) { + + this.familyName = familyName; + return this; + } + + /** + * User's family name. + * @return familyName + **/ + @ApiModelProperty(required = true, value = "User's family name.") + + public String getFamilyName() { + return familyName; + } + + + public void setFamilyName(String familyName) { + this.familyName = familyName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClientUserIdentityName clientUserIdentityName = (ClientUserIdentityName) o; + return Objects.equals(this.givenName, clientUserIdentityName.givenName) && + Objects.equals(this.familyName, clientUserIdentityName.familyName); + } + + @Override + public int hashCode() { + return Objects.hash(givenName, familyName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ClientUserIdentityName {\n"); + sb.append(" givenName: ").append(toIndentedString(givenName)).append("\n"); + sb.append(" familyName: ").append(toIndentedString(familyName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ClientUserIdentityPhoneNumber.java b/src/main/java/com/plaid/client/model/ClientUserIdentityPhoneNumber.java new file mode 100644 index 0000000000..da996f7926 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ClientUserIdentityPhoneNumber.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * User phone number information. + */ +@ApiModel(description = "User phone number information.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ClientUserIdentityPhoneNumber { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private String data; + + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + private Boolean primary; + + + public ClientUserIdentityPhoneNumber data(String data) { + + this.data = data; + return this; + } + + /** + * User's phone number. + * @return data + **/ + @ApiModelProperty(required = true, value = "User's phone number.") + + public String getData() { + return data; + } + + + public void setData(String data) { + this.data = data; + } + + + public ClientUserIdentityPhoneNumber primary(Boolean primary) { + + this.primary = primary; + return this; + } + + /** + * Indicates whether this is the primary phone number for the User. + * @return primary + **/ + @ApiModelProperty(required = true, value = "Indicates whether this is the primary phone number for the User.") + + public Boolean getPrimary() { + return primary; + } + + + public void setPrimary(Boolean primary) { + this.primary = primary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClientUserIdentityPhoneNumber clientUserIdentityPhoneNumber = (ClientUserIdentityPhoneNumber) o; + return Objects.equals(this.data, clientUserIdentityPhoneNumber.data) && + Objects.equals(this.primary, clientUserIdentityPhoneNumber.primary); + } + + @Override + public int hashCode() { + return Objects.hash(data, primary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ClientUserIdentityPhoneNumber {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" primary: ").append(toIndentedString(primary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ConnectedApplication.java b/src/main/java/com/plaid/client/model/ConnectedApplication.java new file mode 100644 index 0000000000..e1dc37a537 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ConnectedApplication.java @@ -0,0 +1,301 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ScopesNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Describes the connected application for a particular end user. + */ +@ApiModel(description = "Describes the connected application for a particular end user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ConnectedApplication { + public static final String SERIALIZED_NAME_APPLICATION_ID = "application_id"; + @SerializedName(SERIALIZED_NAME_APPLICATION_ID) + private String applicationId; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_DISPLAY_NAME = "display_name"; + @SerializedName(SERIALIZED_NAME_DISPLAY_NAME) + private String displayName; + + public static final String SERIALIZED_NAME_LOGO_URL = "logo_url"; + @SerializedName(SERIALIZED_NAME_LOGO_URL) + private String logoUrl; + + public static final String SERIALIZED_NAME_APPLICATION_URL = "application_url"; + @SerializedName(SERIALIZED_NAME_APPLICATION_URL) + private String applicationUrl; + + public static final String SERIALIZED_NAME_REASON_FOR_ACCESS = "reason_for_access"; + @SerializedName(SERIALIZED_NAME_REASON_FOR_ACCESS) + private String reasonForAccess; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_SCOPES = "scopes"; + @SerializedName(SERIALIZED_NAME_SCOPES) + private ScopesNullable scopes; + + + public ConnectedApplication applicationId(String applicationId) { + + this.applicationId = applicationId; + return this; + } + + /** + * This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect. + * @return applicationId + **/ + @ApiModelProperty(required = true, value = "This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect.") + + public String getApplicationId() { + return applicationId; + } + + + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + + public ConnectedApplication name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the application + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the application") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public ConnectedApplication displayName(String displayName) { + + this.displayName = displayName; + return this; + } + + /** + * A human-readable name of the application for display purposes + * @return displayName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A human-readable name of the application for display purposes") + + public String getDisplayName() { + return displayName; + } + + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + + public ConnectedApplication logoUrl(String logoUrl) { + + this.logoUrl = logoUrl; + return this; + } + + /** + * A URL that links to the application logo image. + * @return logoUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A URL that links to the application logo image.") + + public String getLogoUrl() { + return logoUrl; + } + + + public void setLogoUrl(String logoUrl) { + this.logoUrl = logoUrl; + } + + + public ConnectedApplication applicationUrl(String applicationUrl) { + + this.applicationUrl = applicationUrl; + return this; + } + + /** + * The URL for the application's website + * @return applicationUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL for the application's website") + + public String getApplicationUrl() { + return applicationUrl; + } + + + public void setApplicationUrl(String applicationUrl) { + this.applicationUrl = applicationUrl; + } + + + public ConnectedApplication reasonForAccess(String reasonForAccess) { + + this.reasonForAccess = reasonForAccess; + return this; + } + + /** + * A string provided by the connected app stating why they use their respective enabled products. + * @return reasonForAccess + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A string provided by the connected app stating why they use their respective enabled products.") + + public String getReasonForAccess() { + return reasonForAccess; + } + + + public void setReasonForAccess(String reasonForAccess) { + this.reasonForAccess = reasonForAccess; + } + + + public ConnectedApplication createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * The date and time this application was linked, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC (e.g. `\"2020-01-01T00:00:00Z\"`). Note that older, legacy integrations instead receive this value as a date only, in `YYYY-MM-DD` format (e.g. `\"2020-01-01\"`). + * @return createdAt + **/ + @ApiModelProperty(example = "2020-01-01T00:00Z", required = true, value = "The date and time this application was linked, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC (e.g. `\"2020-01-01T00:00:00Z\"`). Note that older, legacy integrations instead receive this value as a date only, in `YYYY-MM-DD` format (e.g. `\"2020-01-01\"`).") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public ConnectedApplication scopes(ScopesNullable scopes) { + + this.scopes = scopes; + return this; + } + + /** + * Get scopes + * @return scopes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ScopesNullable getScopes() { + return scopes; + } + + + public void setScopes(ScopesNullable scopes) { + this.scopes = scopes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectedApplication connectedApplication = (ConnectedApplication) o; + return Objects.equals(this.applicationId, connectedApplication.applicationId) && + Objects.equals(this.name, connectedApplication.name) && + Objects.equals(this.displayName, connectedApplication.displayName) && + Objects.equals(this.logoUrl, connectedApplication.logoUrl) && + Objects.equals(this.applicationUrl, connectedApplication.applicationUrl) && + Objects.equals(this.reasonForAccess, connectedApplication.reasonForAccess) && + Objects.equals(this.createdAt, connectedApplication.createdAt) && + Objects.equals(this.scopes, connectedApplication.scopes); + } + + @Override + public int hashCode() { + return Objects.hash(applicationId, name, displayName, logoUrl, applicationUrl, reasonForAccess, createdAt, scopes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConnectedApplication {\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); + sb.append(" logoUrl: ").append(toIndentedString(logoUrl)).append("\n"); + sb.append(" applicationUrl: ").append(toIndentedString(applicationUrl)).append("\n"); + sb.append(" reasonForAccess: ").append(toIndentedString(reasonForAccess)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ConsentEvent.java b/src/main/java/com/plaid/client/model/ConsentEvent.java new file mode 100644 index 0000000000..4dad941031 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ConsentEvent.java @@ -0,0 +1,391 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ConsentEventCode; +import com.plaid.client.model.ConsentEventInitiator; +import com.plaid.client.model.ConsentEventType; +import com.plaid.client.model.ConsentedAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Describes a consent event. + */ +@ApiModel(description = "Describes a consent event.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ConsentEvent { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_EVENT_TYPE = "event_type"; + @SerializedName(SERIALIZED_NAME_EVENT_TYPE) + private ConsentEventType eventType; + + public static final String SERIALIZED_NAME_EVENT_CODE = "event_code"; + @SerializedName(SERIALIZED_NAME_EVENT_CODE) + private ConsentEventCode eventCode; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_INITIATOR = "initiator"; + @SerializedName(SERIALIZED_NAME_INITIATOR) + private ConsentEventInitiator initiator; + + public static final String SERIALIZED_NAME_CONSENTED_USE_CASES = "consented_use_cases"; + @SerializedName(SERIALIZED_NAME_CONSENTED_USE_CASES) + private List consentedUseCases = null; + + public static final String SERIALIZED_NAME_CONSENTED_DATA_SCOPES = "consented_data_scopes"; + @SerializedName(SERIALIZED_NAME_CONSENTED_DATA_SCOPES) + private List consentedDataScopes = null; + + public static final String SERIALIZED_NAME_CONSENTED_ACCOUNTS = "consented_accounts"; + @SerializedName(SERIALIZED_NAME_CONSENTED_ACCOUNTS) + private List consentedAccounts = null; + + + public ConsentEvent itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive. + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public ConsentEvent createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * The date and time when the consent event occurred, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + * @return createdAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date and time when the consent event occurred, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public ConsentEvent eventType(ConsentEventType eventType) { + + this.eventType = eventType; + return this; + } + + /** + * Get eventType + * @return eventType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ConsentEventType getEventType() { + return eventType; + } + + + public void setEventType(ConsentEventType eventType) { + this.eventType = eventType; + } + + + public ConsentEvent eventCode(ConsentEventCode eventCode) { + + this.eventCode = eventCode; + return this; + } + + /** + * Get eventCode + * @return eventCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ConsentEventCode getEventCode() { + return eventCode; + } + + + public void setEventCode(ConsentEventCode eventCode) { + this.eventCode = eventCode; + } + + + public ConsentEvent institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * Unique identifier for the institution associated with the Item. Field is `null` for Items created via Same-Day Micro-deposits. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Unique identifier for the institution associated with the Item. Field is `null` for Items created via Same-Day Micro-deposits.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public ConsentEvent institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The full name of the institution associated with the Item. Field is `null` for Items created via Same-Day Micro-deposits. + * @return institutionName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full name of the institution associated with the Item. Field is `null` for Items created via Same-Day Micro-deposits.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public ConsentEvent initiator(ConsentEventInitiator initiator) { + + this.initiator = initiator; + return this; + } + + /** + * Get initiator + * @return initiator + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ConsentEventInitiator getInitiator() { + return initiator; + } + + + public void setInitiator(ConsentEventInitiator initiator) { + this.initiator = initiator; + } + + + public ConsentEvent consentedUseCases(List consentedUseCases) { + + this.consentedUseCases = consentedUseCases; + return this; + } + + public ConsentEvent addConsentedUseCasesItem(String consentedUseCasesItem) { + if (this.consentedUseCases == null) { + this.consentedUseCases = new ArrayList<>(); + } + this.consentedUseCases.add(consentedUseCasesItem); + return this; + } + + /** + * A list of strings containing the full list of use cases the end user has consented to for the Item. See the [full list](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/#updating-link-customizations) of use cases. + * @return consentedUseCases + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of strings containing the full list of use cases the end user has consented to for the Item. See the [full list](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/#updating-link-customizations) of use cases.") + + public List getConsentedUseCases() { + return consentedUseCases; + } + + + public void setConsentedUseCases(List consentedUseCases) { + this.consentedUseCases = consentedUseCases; + } + + + public ConsentEvent consentedDataScopes(List consentedDataScopes) { + + this.consentedDataScopes = consentedDataScopes; + return this; + } + + public ConsentEvent addConsentedDataScopesItem(String consentedDataScopesItem) { + if (this.consentedDataScopes == null) { + this.consentedDataScopes = new ArrayList<>(); + } + this.consentedDataScopes.add(consentedDataScopesItem); + return this; + } + + /** + * A list of strings containing the full list of data scopes the end user has consented to for the Item. These correspond to consented products; see the [full mapping](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/#data-scopes-by-product) of data scopes and products. + * @return consentedDataScopes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of strings containing the full list of data scopes the end user has consented to for the Item. These correspond to consented products; see the [full mapping](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/#data-scopes-by-product) of data scopes and products.") + + public List getConsentedDataScopes() { + return consentedDataScopes; + } + + + public void setConsentedDataScopes(List consentedDataScopes) { + this.consentedDataScopes = consentedDataScopes; + } + + + public ConsentEvent consentedAccounts(List consentedAccounts) { + + this.consentedAccounts = consentedAccounts; + return this; + } + + public ConsentEvent addConsentedAccountsItem(ConsentedAccount consentedAccountsItem) { + if (this.consentedAccounts == null) { + this.consentedAccounts = new ArrayList<>(); + } + this.consentedAccounts.add(consentedAccountsItem); + return this; + } + + /** + * An array containing the accounts associated with the Item for which authorizations are granted. + * @return consentedAccounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array containing the accounts associated with the Item for which authorizations are granted.") + + public List getConsentedAccounts() { + return consentedAccounts; + } + + + public void setConsentedAccounts(List consentedAccounts) { + this.consentedAccounts = consentedAccounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConsentEvent consentEvent = (ConsentEvent) o; + return Objects.equals(this.itemId, consentEvent.itemId) && + Objects.equals(this.createdAt, consentEvent.createdAt) && + Objects.equals(this.eventType, consentEvent.eventType) && + Objects.equals(this.eventCode, consentEvent.eventCode) && + Objects.equals(this.institutionId, consentEvent.institutionId) && + Objects.equals(this.institutionName, consentEvent.institutionName) && + Objects.equals(this.initiator, consentEvent.initiator) && + Objects.equals(this.consentedUseCases, consentEvent.consentedUseCases) && + Objects.equals(this.consentedDataScopes, consentEvent.consentedDataScopes) && + Objects.equals(this.consentedAccounts, consentEvent.consentedAccounts); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, createdAt, eventType, eventCode, institutionId, institutionName, initiator, consentedUseCases, consentedDataScopes, consentedAccounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConsentEvent {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); + sb.append(" eventCode: ").append(toIndentedString(eventCode)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" initiator: ").append(toIndentedString(initiator)).append("\n"); + sb.append(" consentedUseCases: ").append(toIndentedString(consentedUseCases)).append("\n"); + sb.append(" consentedDataScopes: ").append(toIndentedString(consentedDataScopes)).append("\n"); + sb.append(" consentedAccounts: ").append(toIndentedString(consentedAccounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ConsentEventCode.java b/src/main/java/com/plaid/client/model/ConsentEventCode.java new file mode 100644 index 0000000000..297951ce6c --- /dev/null +++ b/src/main/java/com/plaid/client/model/ConsentEventCode.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Codes describing the object of a consent event. + */ +@JsonAdapter(ConsentEventCode.Adapter.class) +public enum ConsentEventCode { + + USER_AGREEMENT("USER_AGREEMENT"), + + USE_CASES("USE_CASES"), + + DATA_SCOPES("DATA_SCOPES"), + + ACCOUNT_SCOPES("ACCOUNT_SCOPES"), + + REVOCATION("REVOCATION"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ConsentEventCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ConsentEventCode fromValue(String value) { + for (ConsentEventCode b : ConsentEventCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ConsentEventCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ConsentEventCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ConsentEventCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ConsentEventCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ConsentEventInitiator.java b/src/main/java/com/plaid/client/model/ConsentEventInitiator.java new file mode 100644 index 0000000000..3b2d02ea08 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ConsentEventInitiator.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The entity that initiated collection of consent. + */ +@JsonAdapter(ConsentEventInitiator.Adapter.class) +public enum ConsentEventInitiator { + + PLAID("PLAID"), + + DATA_PROVIDER("DATA_PROVIDER"), + + CUSTOMER("CUSTOMER"), + + END_USER("END_USER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ConsentEventInitiator(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ConsentEventInitiator fromValue(String value) { + for (ConsentEventInitiator b : ConsentEventInitiator.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ConsentEventInitiator.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ConsentEventInitiator enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ConsentEventInitiator read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ConsentEventInitiator.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ConsentEventType.java b/src/main/java/com/plaid/client/model/ConsentEventType.java new file mode 100644 index 0000000000..ade15ac149 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ConsentEventType.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A broad categorization of the consent event. + */ +@JsonAdapter(ConsentEventType.Adapter.class) +public enum ConsentEventType { + + GRANTED("CONSENT_GRANTED"), + + REVOKED("CONSENT_REVOKED"), + + UPDATED("CONSENT_UPDATED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ConsentEventType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ConsentEventType fromValue(String value) { + for (ConsentEventType b : ConsentEventType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ConsentEventType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ConsentEventType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ConsentEventType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ConsentEventType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ConsentEventsGetRequest.java b/src/main/java/com/plaid/client/model/ConsentEventsGetRequest.java new file mode 100644 index 0000000000..7faf9403c1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ConsentEventsGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request to list a historical log of item consent events. + */ +@ApiModel(description = "Request to list a historical log of item consent events.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ConsentEventsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + + public ConsentEventsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ConsentEventsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ConsentEventsGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConsentEventsGetRequest consentEventsGetRequest = (ConsentEventsGetRequest) o; + return Objects.equals(this.clientId, consentEventsGetRequest.clientId) && + Objects.equals(this.secret, consentEventsGetRequest.secret) && + Objects.equals(this.accessToken, consentEventsGetRequest.accessToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConsentEventsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ConsentEventsGetResponse.java b/src/main/java/com/plaid/client/model/ConsentEventsGetResponse.java new file mode 100644 index 0000000000..abc92bc603 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ConsentEventsGetResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ConsentEvent; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Describes a historical log of item consent events. + */ +@ApiModel(description = "Describes a historical log of item consent events.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ConsentEventsGetResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_CONSENT_EVENTS = "consent_events"; + @SerializedName(SERIALIZED_NAME_CONSENT_EVENTS) + private List consentEvents = new ArrayList<>(); + + + public ConsentEventsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public ConsentEventsGetResponse consentEvents(List consentEvents) { + + this.consentEvents = consentEvents; + return this; + } + + public ConsentEventsGetResponse addConsentEventsItem(ConsentEvent consentEventsItem) { + this.consentEvents.add(consentEventsItem); + return this; + } + + /** + * A list of consent events. + * @return consentEvents + **/ + @ApiModelProperty(required = true, value = "A list of consent events.") + + public List getConsentEvents() { + return consentEvents; + } + + + public void setConsentEvents(List consentEvents) { + this.consentEvents = consentEvents; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConsentEventsGetResponse consentEventsGetResponse = (ConsentEventsGetResponse) o; + return Objects.equals(this.requestId, consentEventsGetResponse.requestId) && + Objects.equals(this.consentEvents, consentEventsGetResponse.consentEvents); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, consentEvents); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConsentEventsGetResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" consentEvents: ").append(toIndentedString(consentEvents)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ConsentedAccount.java b/src/main/java/com/plaid/client/model/ConsentedAccount.java new file mode 100644 index 0000000000..3b279b3e74 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ConsentedAccount.java @@ -0,0 +1,246 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A financial institution account. + */ +@ApiModel(description = "A financial institution account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ConsentedAccount { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + + public ConsentedAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for the account. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public ConsentedAccount mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The last 2-4 alphanumeric characters of an account's official account number") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public ConsentedAccount name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the account, either assigned by the user or by the financial institution itself + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the account, either assigned by the user or by the financial institution itself") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public ConsentedAccount officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * The official name of the account as given by the financial institution + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The official name of the account as given by the financial institution") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public ConsentedAccount type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public ConsentedAccount subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConsentedAccount consentedAccount = (ConsentedAccount) o; + return Objects.equals(this.accountId, consentedAccount.accountId) && + Objects.equals(this.mask, consentedAccount.mask) && + Objects.equals(this.name, consentedAccount.name) && + Objects.equals(this.officialName, consentedAccount.officialName) && + Objects.equals(this.type, consentedAccount.type) && + Objects.equals(this.subtype, consentedAccount.subtype); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, mask, name, officialName, type, subtype); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConsentedAccount {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ConsumerDispute.java b/src/main/java/com/plaid/client/model/ConsumerDispute.java new file mode 100644 index 0000000000..a14dbeeb06 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ConsumerDispute.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ConsumerDisputeCategory; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * The information about a previously submitted valid dispute statement by the consumer + */ +@ApiModel(description = "The information about a previously submitted valid dispute statement by the consumer") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ConsumerDispute { + public static final String SERIALIZED_NAME_CONSUMER_DISPUTE_ID = "consumer_dispute_id"; + @SerializedName(SERIALIZED_NAME_CONSUMER_DISPUTE_ID) + private String consumerDisputeId; + + public static final String SERIALIZED_NAME_DISPUTE_FIELD_CREATE_DATE = "dispute_field_create_date"; + @SerializedName(SERIALIZED_NAME_DISPUTE_FIELD_CREATE_DATE) + private LocalDate disputeFieldCreateDate; + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private ConsumerDisputeCategory category; + + public static final String SERIALIZED_NAME_STATEMENT = "statement"; + @SerializedName(SERIALIZED_NAME_STATEMENT) + private String statement; + + + public ConsumerDispute consumerDisputeId(String consumerDisputeId) { + + this.consumerDisputeId = consumerDisputeId; + return this; + } + + /** + * (Deprecated) A unique identifier (UUID) of the consumer dispute that can be used for troubleshooting + * @return consumerDisputeId + **/ + @ApiModelProperty(required = true, value = "(Deprecated) A unique identifier (UUID) of the consumer dispute that can be used for troubleshooting") + + public String getConsumerDisputeId() { + return consumerDisputeId; + } + + + public void setConsumerDisputeId(String consumerDisputeId) { + this.consumerDisputeId = consumerDisputeId; + } + + + public ConsumerDispute disputeFieldCreateDate(LocalDate disputeFieldCreateDate) { + + this.disputeFieldCreateDate = disputeFieldCreateDate; + return this; + } + + /** + * Date of the disputed field (e.g. transaction date), in an ISO 8601 format (YYYY-MM-DD) + * @return disputeFieldCreateDate + **/ + @ApiModelProperty(required = true, value = "Date of the disputed field (e.g. transaction date), in an ISO 8601 format (YYYY-MM-DD)") + + public LocalDate getDisputeFieldCreateDate() { + return disputeFieldCreateDate; + } + + + public void setDisputeFieldCreateDate(LocalDate disputeFieldCreateDate) { + this.disputeFieldCreateDate = disputeFieldCreateDate; + } + + + public ConsumerDispute category(ConsumerDisputeCategory category) { + + this.category = category; + return this; + } + + /** + * Get category + * @return category + **/ + @ApiModelProperty(required = true, value = "") + + public ConsumerDisputeCategory getCategory() { + return category; + } + + + public void setCategory(ConsumerDisputeCategory category) { + this.category = category; + } + + + public ConsumerDispute statement(String statement) { + + this.statement = statement; + return this; + } + + /** + * Text content of dispute + * @return statement + **/ + @ApiModelProperty(required = true, value = "Text content of dispute") + + public String getStatement() { + return statement; + } + + + public void setStatement(String statement) { + this.statement = statement; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConsumerDispute consumerDispute = (ConsumerDispute) o; + return Objects.equals(this.consumerDisputeId, consumerDispute.consumerDisputeId) && + Objects.equals(this.disputeFieldCreateDate, consumerDispute.disputeFieldCreateDate) && + Objects.equals(this.category, consumerDispute.category) && + Objects.equals(this.statement, consumerDispute.statement); + } + + @Override + public int hashCode() { + return Objects.hash(consumerDisputeId, disputeFieldCreateDate, category, statement); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConsumerDispute {\n"); + sb.append(" consumerDisputeId: ").append(toIndentedString(consumerDisputeId)).append("\n"); + sb.append(" disputeFieldCreateDate: ").append(toIndentedString(disputeFieldCreateDate)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" statement: ").append(toIndentedString(statement)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ConsumerDisputeCategory.java b/src/main/java/com/plaid/client/model/ConsumerDisputeCategory.java new file mode 100644 index 0000000000..ba9d2eac26 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ConsumerDisputeCategory.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Type of data being disputed by the consumer + */ +@JsonAdapter(ConsumerDisputeCategory.Adapter.class) +public enum ConsumerDisputeCategory { + + TRANSACTION("TRANSACTION"), + + BALANCE("BALANCE"), + + IDENTITY("IDENTITY"), + + OTHER("OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ConsumerDisputeCategory(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ConsumerDisputeCategory fromValue(String value) { + for (ConsumerDisputeCategory b : ConsumerDisputeCategory.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ConsumerDisputeCategory.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ConsumerDisputeCategory enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ConsumerDisputeCategory read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ConsumerDisputeCategory.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ConsumerReportPDFGetRequest.java b/src/main/java/com/plaid/client/model/ConsumerReportPDFGetRequest.java new file mode 100644 index 0000000000..335d7532a8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ConsumerReportPDFGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ConsumerReportPDFGetRequest defines the request schema for `/consumer_report/pdf/get` + */ +@ApiModel(description = "ConsumerReportPDFGetRequest defines the request schema for `/consumer_report/pdf/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ConsumerReportPDFGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + + public ConsumerReportPDFGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ConsumerReportPDFGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ConsumerReportPDFGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @ApiModelProperty(required = true, value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConsumerReportPDFGetRequest consumerReportPDFGetRequest = (ConsumerReportPDFGetRequest) o; + return Objects.equals(this.clientId, consumerReportPDFGetRequest.clientId) && + Objects.equals(this.secret, consumerReportPDFGetRequest.secret) && + Objects.equals(this.userToken, consumerReportPDFGetRequest.userToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConsumerReportPDFGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ConsumerReportPermissiblePurpose.java b/src/main/java/com/plaid/client/model/ConsumerReportPermissiblePurpose.java new file mode 100644 index 0000000000..78ae8ff390 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ConsumerReportPermissiblePurpose.java @@ -0,0 +1,91 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Describes the reason you are generating a Consumer Report for this user. When calling `/link/token/create`, this field is required when using Plaid Check (CRA) products; invalid if not using Plaid Check (CRA) products. `ACCOUNT_REVIEW_CREDIT`: In connection with a consumer credit transaction for the review or collection of an account pursuant to FCRA Section 604(a)(3)(A). `ACCOUNT_REVIEW_NON_CREDIT`: For a legitimate business need of the information to review a non-credit account provided primarily for personal, family, or household purposes to determine whether the consumer continues to meet the terms of the account pursuant to FCRA Section 604(a)(3)(F)(2). `EXTENSION_OF_CREDIT`: In connection with a credit transaction initiated by and involving the consumer pursuant to FCRA Section 604(a)(3)(A). `LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING`: For a legitimate business need in connection with a business transaction initiated by the consumer primarily for personal, family, or household purposes in connection with a property rental assessment pursuant to FCRA Section 604(a)(3)(F)(i). `LEGITIMATE_BUSINESS_NEED_OTHER`: For a legitimate business need in connection with a business transaction made primarily for personal, family, or household initiated by the consumer pursuant to FCRA Section 604(a)(3)(F)(i). `WRITTEN_INSTRUCTION_PREQUALIFICATION`: In accordance with the written instructions of the consumer pursuant to FCRA Section 604(a)(2), to evaluate an application's profile to make an offer to the consumer. `WRITTEN_INSTRUCTION_OTHER`: In accordance with the written instructions of the consumer pursuant to FCRA Section 604(a)(2), such as when an individual agrees to act as a guarantor or assumes personal liability for a consumer, business, or commercial loan. `ELIGIBILITY_FOR_GOVT_BENEFITS`: In connection with an eligibility determination for a government benefit where the entity is required to consider an applicant's financial status pursuant to FCRA Section 604(a)(3)(D). + */ +@JsonAdapter(ConsumerReportPermissiblePurpose.Adapter.class) +public enum ConsumerReportPermissiblePurpose { + + ACCOUNT_REVIEW_CREDIT("ACCOUNT_REVIEW_CREDIT"), + + ACCOUNT_REVIEW_NON_CREDIT("ACCOUNT_REVIEW_NON_CREDIT"), + + EXTENSION_OF_CREDIT("EXTENSION_OF_CREDIT"), + + LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING("LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING"), + + LEGITIMATE_BUSINESS_NEED_OTHER("LEGITIMATE_BUSINESS_NEED_OTHER"), + + WRITTEN_INSTRUCTION_PREQUALIFICATION("WRITTEN_INSTRUCTION_PREQUALIFICATION"), + + WRITTEN_INSTRUCTION_OTHER("WRITTEN_INSTRUCTION_OTHER"), + + ELIGIBILITY_FOR_GOVT_BENEFITS("ELIGIBILITY_FOR_GOVT_BENEFITS"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ConsumerReportPermissiblePurpose(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ConsumerReportPermissiblePurpose fromValue(String value) { + for (ConsumerReportPermissiblePurpose b : ConsumerReportPermissiblePurpose.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ConsumerReportPermissiblePurpose.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ConsumerReportPermissiblePurpose enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ConsumerReportPermissiblePurpose read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ConsumerReportPermissiblePurpose.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ConsumerReportUserIdentity.java b/src/main/java/com/plaid/client/model/ConsumerReportUserIdentity.java new file mode 100644 index 0000000000..01ac55ec21 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ConsumerReportUserIdentity.java @@ -0,0 +1,311 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AddressData; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * This field is only used by integrations created before December 10, 2025. All other integrations must use the `identity` object instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). To create a Plaid Check Consumer Report for a user when using a `user_token`, this field must be present. If this field is not provided during user token creation, you can add it to the user later by calling `/user/update`. Once the field has been added to the user, you will be able to call `/link/token/create` with a non-empty `consumer_report_permissible_purpose` (which will automatically create a Plaid Check Consumer Report), or call `/cra/check_report/create` for that user. + */ +@ApiModel(description = "This field is only used by integrations created before December 10, 2025. All other integrations must use the `identity` object instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). To create a Plaid Check Consumer Report for a user when using a `user_token`, this field must be present. If this field is not provided during user token creation, you can add it to the user later by calling `/user/update`. Once the field has been added to the user, you will be able to call `/link/token/create` with a non-empty `consumer_report_permissible_purpose` (which will automatically create a Plaid Check Consumer Report), or call `/cra/check_report/create` for that user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ConsumerReportUserIdentity { + public static final String SERIALIZED_NAME_FIRST_NAME = "first_name"; + @SerializedName(SERIALIZED_NAME_FIRST_NAME) + private String firstName; + + public static final String SERIALIZED_NAME_LAST_NAME = "last_name"; + @SerializedName(SERIALIZED_NAME_LAST_NAME) + private String lastName; + + public static final String SERIALIZED_NAME_PHONE_NUMBERS = "phone_numbers"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBERS) + private List phoneNumbers = new ArrayList<>(); + + public static final String SERIALIZED_NAME_EMAILS = "emails"; + @SerializedName(SERIALIZED_NAME_EMAILS) + private List emails = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SSN_FULL = "ssn_full"; + @SerializedName(SERIALIZED_NAME_SSN_FULL) + private String ssnFull; + + public static final String SERIALIZED_NAME_SSN_LAST4 = "ssn_last_4"; + @SerializedName(SERIALIZED_NAME_SSN_LAST4) + private String ssnLast4; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_PRIMARY_ADDRESS = "primary_address"; + @SerializedName(SERIALIZED_NAME_PRIMARY_ADDRESS) + private AddressData primaryAddress; + + + public ConsumerReportUserIdentity firstName(String firstName) { + + this.firstName = firstName; + return this; + } + + /** + * The user's first name + * @return firstName + **/ + @ApiModelProperty(required = true, value = "The user's first name") + + public String getFirstName() { + return firstName; + } + + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + + public ConsumerReportUserIdentity lastName(String lastName) { + + this.lastName = lastName; + return this; + } + + /** + * The user's last name + * @return lastName + **/ + @ApiModelProperty(required = true, value = "The user's last name") + + public String getLastName() { + return lastName; + } + + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + + public ConsumerReportUserIdentity phoneNumbers(List phoneNumbers) { + + this.phoneNumbers = phoneNumbers; + return this; + } + + public ConsumerReportUserIdentity addPhoneNumbersItem(String phoneNumbersItem) { + this.phoneNumbers.add(phoneNumbersItem); + return this; + } + + /** + * The user's phone number, in E.164 format: +{countrycode}{number}. For example: \"+14157452130\". Phone numbers provided in other formats will be parsed on a best-effort basis. Phone number input is validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment. + * @return phoneNumbers + **/ + @ApiModelProperty(required = true, value = "The user's phone number, in E.164 format: +{countrycode}{number}. For example: \"+14157452130\". Phone numbers provided in other formats will be parsed on a best-effort basis. Phone number input is validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment.") + + public List getPhoneNumbers() { + return phoneNumbers; + } + + + public void setPhoneNumbers(List phoneNumbers) { + this.phoneNumbers = phoneNumbers; + } + + + public ConsumerReportUserIdentity emails(List emails) { + + this.emails = emails; + return this; + } + + public ConsumerReportUserIdentity addEmailsItem(String emailsItem) { + this.emails.add(emailsItem); + return this; + } + + /** + * The user's emails + * @return emails + **/ + @ApiModelProperty(required = true, value = "The user's emails") + + public List getEmails() { + return emails; + } + + + public void setEmails(List emails) { + this.emails = emails; + } + + + public ConsumerReportUserIdentity ssnFull(String ssnFull) { + + this.ssnFull = ssnFull; + return this; + } + + /** + * The user's full Social Security number. This field should only be provided by lenders intending to share the resulting consumer report with a Government-Sponsored Enterprise (GSE), such as Fannie Mae or Freddie Mac. Format: \"ddd-dd-dddd\" + * @return ssnFull + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's full Social Security number. This field should only be provided by lenders intending to share the resulting consumer report with a Government-Sponsored Enterprise (GSE), such as Fannie Mae or Freddie Mac. Format: \"ddd-dd-dddd\"") + + public String getSsnFull() { + return ssnFull; + } + + + public void setSsnFull(String ssnFull) { + this.ssnFull = ssnFull; + } + + + public ConsumerReportUserIdentity ssnLast4(String ssnLast4) { + + this.ssnLast4 = ssnLast4; + return this; + } + + /** + * The last 4 digits of the user's Social Security number. + * @return ssnLast4 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The last 4 digits of the user's Social Security number.") + + public String getSsnLast4() { + return ssnLast4; + } + + + public void setSsnLast4(String ssnLast4) { + this.ssnLast4 = ssnLast4; + } + + + public ConsumerReportUserIdentity dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * To be provided in the format \"yyyy-mm-dd\". This field is required for all Plaid Check customers. + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "To be provided in the format \"yyyy-mm-dd\". This field is required for all Plaid Check customers.") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public ConsumerReportUserIdentity primaryAddress(AddressData primaryAddress) { + + this.primaryAddress = primaryAddress; + return this; + } + + /** + * Get primaryAddress + * @return primaryAddress + **/ + @ApiModelProperty(required = true, value = "") + + public AddressData getPrimaryAddress() { + return primaryAddress; + } + + + public void setPrimaryAddress(AddressData primaryAddress) { + this.primaryAddress = primaryAddress; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConsumerReportUserIdentity consumerReportUserIdentity = (ConsumerReportUserIdentity) o; + return Objects.equals(this.firstName, consumerReportUserIdentity.firstName) && + Objects.equals(this.lastName, consumerReportUserIdentity.lastName) && + Objects.equals(this.phoneNumbers, consumerReportUserIdentity.phoneNumbers) && + Objects.equals(this.emails, consumerReportUserIdentity.emails) && + Objects.equals(this.ssnFull, consumerReportUserIdentity.ssnFull) && + Objects.equals(this.ssnLast4, consumerReportUserIdentity.ssnLast4) && + Objects.equals(this.dateOfBirth, consumerReportUserIdentity.dateOfBirth) && + Objects.equals(this.primaryAddress, consumerReportUserIdentity.primaryAddress); + } + + @Override + public int hashCode() { + return Objects.hash(firstName, lastName, phoneNumbers, emails, ssnFull, ssnLast4, dateOfBirth, primaryAddress); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConsumerReportUserIdentity {\n"); + sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); + sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); + sb.append(" phoneNumbers: ").append(toIndentedString(phoneNumbers)).append("\n"); + sb.append(" emails: ").append(toIndentedString(emails)).append("\n"); + sb.append(" ssnFull: ").append(toIndentedString(ssnFull)).append("\n"); + sb.append(" ssnLast4: ").append(toIndentedString(ssnLast4)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" primaryAddress: ").append(toIndentedString(primaryAddress)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Counterparty.java b/src/main/java/com/plaid/client/model/Counterparty.java new file mode 100644 index 0000000000..20f538c306 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Counterparty.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CounterpartyNumbers; +import com.plaid.client.model.CounterpartyType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The counterparty, such as the merchant or financial institution, is extracted by Plaid from the raw description. + */ +@ApiModel(description = "The counterparty, such as the merchant or financial institution, is extracted by Plaid from the raw description.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Counterparty { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ENTITY_ID = "entity_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_ID) + private String entityId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private CounterpartyType type; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private String website; + + public static final String SERIALIZED_NAME_LOGO_URL = "logo_url"; + @SerializedName(SERIALIZED_NAME_LOGO_URL) + private String logoUrl; + + public static final String SERIALIZED_NAME_CONFIDENCE_LEVEL = "confidence_level"; + @SerializedName(SERIALIZED_NAME_CONFIDENCE_LEVEL) + private String confidenceLevel; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_ACCOUNT_NUMBERS = "account_numbers"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBERS) + private CounterpartyNumbers accountNumbers; + + + public Counterparty name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public Counterparty entityId(String entityId) { + + this.entityId = entityId; + return this; + } + + /** + * A unique, stable, Plaid-generated ID that maps to the counterparty. + * @return entityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique, stable, Plaid-generated ID that maps to the counterparty.") + + public String getEntityId() { + return entityId; + } + + + public void setEntityId(String entityId) { + this.entityId = entityId; + } + + + public Counterparty type(CounterpartyType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public CounterpartyType getType() { + return type; + } + + + public void setType(CounterpartyType type) { + this.type = type; + } + + + public Counterparty website(String website) { + + this.website = website; + return this; + } + + /** + * The website associated with the counterparty. + * @return website + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The website associated with the counterparty.") + + public String getWebsite() { + return website; + } + + + public void setWebsite(String website) { + this.website = website; + } + + + public Counterparty logoUrl(String logoUrl) { + + this.logoUrl = logoUrl; + return this; + } + + /** + * The URL of a logo associated with the counterparty, if available. The logo will always be a 100×100 pixel PNG file. + * @return logoUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The URL of a logo associated with the counterparty, if available. The logo will always be a 100×100 pixel PNG file.") + + public String getLogoUrl() { + return logoUrl; + } + + + public void setLogoUrl(String logoUrl) { + this.logoUrl = logoUrl; + } + + + public Counterparty confidenceLevel(String confidenceLevel) { + + this.confidenceLevel = confidenceLevel; + return this; + } + + /** + * A description of how confident we are that the provided counterparty is involved in the transaction. `VERY_HIGH`: We recognize this counterparty and we are more than 98% confident that it is involved in this transaction. `HIGH`: We recognize this counterparty and we are more than 90% confident that it is involved in this transaction. `MEDIUM`: We are moderately confident that this counterparty was involved in this transaction, but some details may differ from our records. `LOW`: We didn't find a matching counterparty in our records, so we are returning a cleansed name parsed out of the request description. `UNKNOWN`: We don't know the confidence level for this counterparty. + * @return confidenceLevel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A description of how confident we are that the provided counterparty is involved in the transaction. `VERY_HIGH`: We recognize this counterparty and we are more than 98% confident that it is involved in this transaction. `HIGH`: We recognize this counterparty and we are more than 90% confident that it is involved in this transaction. `MEDIUM`: We are moderately confident that this counterparty was involved in this transaction, but some details may differ from our records. `LOW`: We didn't find a matching counterparty in our records, so we are returning a cleansed name parsed out of the request description. `UNKNOWN`: We don't know the confidence level for this counterparty.") + + public String getConfidenceLevel() { + return confidenceLevel; + } + + + public void setConfidenceLevel(String confidenceLevel) { + this.confidenceLevel = confidenceLevel; + } + + + public Counterparty phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * The phone number associated with the counterparty in E.164 format. If there is a location match (i.e. a street address is returned in the location object), the phone number will be location specific. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The phone number associated with the counterparty in E.164 format. If there is a location match (i.e. a street address is returned in the location object), the phone number will be location specific.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public Counterparty accountNumbers(CounterpartyNumbers accountNumbers) { + + this.accountNumbers = accountNumbers; + return this; + } + + /** + * Get accountNumbers + * @return accountNumbers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CounterpartyNumbers getAccountNumbers() { + return accountNumbers; + } + + + public void setAccountNumbers(CounterpartyNumbers accountNumbers) { + this.accountNumbers = accountNumbers; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Counterparty counterparty = (Counterparty) o; + return Objects.equals(this.name, counterparty.name) && + Objects.equals(this.entityId, counterparty.entityId) && + Objects.equals(this.type, counterparty.type) && + Objects.equals(this.website, counterparty.website) && + Objects.equals(this.logoUrl, counterparty.logoUrl) && + Objects.equals(this.confidenceLevel, counterparty.confidenceLevel) && + Objects.equals(this.phoneNumber, counterparty.phoneNumber) && + Objects.equals(this.accountNumbers, counterparty.accountNumbers); + } + + @Override + public int hashCode() { + return Objects.hash(name, entityId, type, website, logoUrl, confidenceLevel, phoneNumber, accountNumbers); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Counterparty {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" logoUrl: ").append(toIndentedString(logoUrl)).append("\n"); + sb.append(" confidenceLevel: ").append(toIndentedString(confidenceLevel)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" accountNumbers: ").append(toIndentedString(accountNumbers)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CounterpartyInsights.java b/src/main/java/com/plaid/client/model/CounterpartyInsights.java new file mode 100644 index 0000000000..46205e5658 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CounterpartyInsights.java @@ -0,0 +1,148 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FinancialInstitutionInsights; +import com.plaid.client.model.MerchantInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Insights around a user's counterparties + */ +@ApiModel(description = "Insights around a user's counterparties") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CounterpartyInsights { + public static final String SERIALIZED_NAME_FINANCIAL_INSTITUTION_INSIGHTS = "financial_institution_insights"; + @SerializedName(SERIALIZED_NAME_FINANCIAL_INSTITUTION_INSIGHTS) + private List financialInstitutionInsights = null; + + public static final String SERIALIZED_NAME_MERCHANT_INSIGHTS = "merchant_insights"; + @SerializedName(SERIALIZED_NAME_MERCHANT_INSIGHTS) + private List merchantInsights = null; + + + public CounterpartyInsights financialInstitutionInsights(List financialInstitutionInsights) { + + this.financialInstitutionInsights = financialInstitutionInsights; + return this; + } + + public CounterpartyInsights addFinancialInstitutionInsightsItem(FinancialInstitutionInsights financialInstitutionInsightsItem) { + if (this.financialInstitutionInsights == null) { + this.financialInstitutionInsights = new ArrayList<>(); + } + this.financialInstitutionInsights.add(financialInstitutionInsightsItem); + return this; + } + + /** + * Insights related to a user's transactions with other financial institutions, including detected account types. + * @return financialInstitutionInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Insights related to a user's transactions with other financial institutions, including detected account types.") + + public List getFinancialInstitutionInsights() { + return financialInstitutionInsights; + } + + + public void setFinancialInstitutionInsights(List financialInstitutionInsights) { + this.financialInstitutionInsights = financialInstitutionInsights; + } + + + public CounterpartyInsights merchantInsights(List merchantInsights) { + + this.merchantInsights = merchantInsights; + return this; + } + + public CounterpartyInsights addMerchantInsightsItem(MerchantInsights merchantInsightsItem) { + if (this.merchantInsights == null) { + this.merchantInsights = new ArrayList<>(); + } + this.merchantInsights.add(merchantInsightsItem); + return this; + } + + /** + * Insights about a user's top merchants, ranked by spend. + * @return merchantInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Insights about a user's top merchants, ranked by spend.") + + public List getMerchantInsights() { + return merchantInsights; + } + + + public void setMerchantInsights(List merchantInsights) { + this.merchantInsights = merchantInsights; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CounterpartyInsights counterpartyInsights = (CounterpartyInsights) o; + return Objects.equals(this.financialInstitutionInsights, counterpartyInsights.financialInstitutionInsights) && + Objects.equals(this.merchantInsights, counterpartyInsights.merchantInsights); + } + + @Override + public int hashCode() { + return Objects.hash(financialInstitutionInsights, merchantInsights); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CounterpartyInsights {\n"); + sb.append(" financialInstitutionInsights: ").append(toIndentedString(financialInstitutionInsights)).append("\n"); + sb.append(" merchantInsights: ").append(toIndentedString(merchantInsights)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CounterpartyNumbers.java b/src/main/java/com/plaid/client/model/CounterpartyNumbers.java new file mode 100644 index 0000000000..5f95357d02 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CounterpartyNumbers.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CounterpartyNumbersBACS; +import com.plaid.client.model.CounterpartyNumbersInternational; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Account numbers associated with the counterparty, when available. This field is currently only filled in for select financial institutions in Europe. + */ +@ApiModel(description = "Account numbers associated with the counterparty, when available. This field is currently only filled in for select financial institutions in Europe.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CounterpartyNumbers { + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private CounterpartyNumbersBACS bacs; + + public static final String SERIALIZED_NAME_INTERNATIONAL = "international"; + @SerializedName(SERIALIZED_NAME_INTERNATIONAL) + private CounterpartyNumbersInternational international; + + + public CounterpartyNumbers bacs(CounterpartyNumbersBACS bacs) { + + this.bacs = bacs; + return this; + } + + /** + * Get bacs + * @return bacs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CounterpartyNumbersBACS getBacs() { + return bacs; + } + + + public void setBacs(CounterpartyNumbersBACS bacs) { + this.bacs = bacs; + } + + + public CounterpartyNumbers international(CounterpartyNumbersInternational international) { + + this.international = international; + return this; + } + + /** + * Get international + * @return international + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CounterpartyNumbersInternational getInternational() { + return international; + } + + + public void setInternational(CounterpartyNumbersInternational international) { + this.international = international; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CounterpartyNumbers counterpartyNumbers = (CounterpartyNumbers) o; + return Objects.equals(this.bacs, counterpartyNumbers.bacs) && + Objects.equals(this.international, counterpartyNumbers.international); + } + + @Override + public int hashCode() { + return Objects.hash(bacs, international); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CounterpartyNumbers {\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append(" international: ").append(toIndentedString(international)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CounterpartyNumbersBACS.java b/src/main/java/com/plaid/client/model/CounterpartyNumbersBACS.java new file mode 100644 index 0000000000..c14b98c749 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CounterpartyNumbersBACS.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Identifying information for a UK bank account via Bacs. + */ +@ApiModel(description = "Identifying information for a UK bank account via Bacs.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CounterpartyNumbersBACS { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_SORT_CODE = "sort_code"; + @SerializedName(SERIALIZED_NAME_SORT_CODE) + private String sortCode; + + + public CounterpartyNumbersBACS account(String account) { + + this.account = account; + return this; + } + + /** + * The Bacs account number for the account. + * @return account + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Bacs account number for the account.") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public CounterpartyNumbersBACS sortCode(String sortCode) { + + this.sortCode = sortCode; + return this; + } + + /** + * The Bacs sort code for the account. + * @return sortCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Bacs sort code for the account.") + + public String getSortCode() { + return sortCode; + } + + + public void setSortCode(String sortCode) { + this.sortCode = sortCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CounterpartyNumbersBACS counterpartyNumbersBACS = (CounterpartyNumbersBACS) o; + return Objects.equals(this.account, counterpartyNumbersBACS.account) && + Objects.equals(this.sortCode, counterpartyNumbersBACS.sortCode); + } + + @Override + public int hashCode() { + return Objects.hash(account, sortCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CounterpartyNumbersBACS {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" sortCode: ").append(toIndentedString(sortCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CounterpartyNumbersInternational.java b/src/main/java/com/plaid/client/model/CounterpartyNumbersInternational.java new file mode 100644 index 0000000000..5b5ca21fef --- /dev/null +++ b/src/main/java/com/plaid/client/model/CounterpartyNumbersInternational.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NumbersIBANNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Account numbers using the International Bank Account Number and BIC/SWIFT code format. + */ +@ApiModel(description = "Account numbers using the International Bank Account Number and BIC/SWIFT code format.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CounterpartyNumbersInternational { + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private NumbersIBANNullable iban; + + public static final String SERIALIZED_NAME_BIC = "bic"; + @SerializedName(SERIALIZED_NAME_BIC) + private String bic; + + + public CounterpartyNumbersInternational iban(NumbersIBANNullable iban) { + + this.iban = iban; + return this; + } + + /** + * Get iban + * @return iban + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NumbersIBANNullable getIban() { + return iban; + } + + + public void setIban(NumbersIBANNullable iban) { + this.iban = iban; + } + + + public CounterpartyNumbersInternational bic(String bic) { + + this.bic = bic; + return this; + } + + /** + * Business Identifier Code (BIC) for this counterparty. + * @return bic + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Business Identifier Code (BIC) for this counterparty.") + + public String getBic() { + return bic; + } + + + public void setBic(String bic) { + this.bic = bic; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CounterpartyNumbersInternational counterpartyNumbersInternational = (CounterpartyNumbersInternational) o; + return Objects.equals(this.iban, counterpartyNumbersInternational.iban) && + Objects.equals(this.bic, counterpartyNumbersInternational.bic); + } + + @Override + public int hashCode() { + return Objects.hash(iban, bic); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CounterpartyNumbersInternational {\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append(" bic: ").append(toIndentedString(bic)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CounterpartyType.java b/src/main/java/com/plaid/client/model/CounterpartyType.java new file mode 100644 index 0000000000..923d18e5b4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CounterpartyType.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The counterparty type. `merchant`: a provider of goods or services for purchase `financial_institution`: a financial entity (bank, credit union, BNPL, fintech) `payment_app`: a transfer or P2P app (e.g. Zelle) `marketplace`: a marketplace (e.g. DoorDash, Google Play Store) `payment_terminal`: a point-of-sale payment terminal (e.g. Square, Toast) `income_source`: the payer in an income transaction (e.g., an employer, client, or government agency) + */ +@JsonAdapter(CounterpartyType.Adapter.class) +public enum CounterpartyType { + + MERCHANT("merchant"), + + FINANCIAL_INSTITUTION("financial_institution"), + + PAYMENT_APP("payment_app"), + + MARKETPLACE("marketplace"), + + PAYMENT_TERMINAL("payment_terminal"), + + INCOME_SOURCE("income_source"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CounterpartyType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CounterpartyType fromValue(String value) { + for (CounterpartyType b : CounterpartyType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CounterpartyType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CounterpartyType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CounterpartyType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CounterpartyType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CountryCode.java b/src/main/java/com/plaid/client/model/CountryCode.java new file mode 100644 index 0000000000..a9950fefd0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CountryCode.java @@ -0,0 +1,115 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * ISO-3166-1 alpha-2 country code standard. + */ +@JsonAdapter(CountryCode.Adapter.class) +public enum CountryCode { + + US("US"), + + GB("GB"), + + ES("ES"), + + NL("NL"), + + FR("FR"), + + IE("IE"), + + CA("CA"), + + DE("DE"), + + IT("IT"), + + PL("PL"), + + DK("DK"), + + NO("NO"), + + SE("SE"), + + EE("EE"), + + LT("LT"), + + LV("LV"), + + PT("PT"), + + BE("BE"), + + AT("AT"), + + FI("FI"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CountryCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CountryCode fromValue(String value) { + for (CountryCode b : CountryCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CountryCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CountryCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CountryCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CountryCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraAnnualIncomeValues.java b/src/main/java/com/plaid/client/model/CraAnnualIncomeValues.java new file mode 100644 index 0000000000..e8f1085980 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraAnnualIncomeValues.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Modeled estimate of the annual income. + */ +@ApiModel(description = "Modeled estimate of the annual income.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraAnnualIncomeValues { + public static final String SERIALIZED_NAME_GROSS_INCOME = "gross_income"; + @SerializedName(SERIALIZED_NAME_GROSS_INCOME) + private Double grossIncome; + + public static final String SERIALIZED_NAME_NET_INCOME = "net_income"; + @SerializedName(SERIALIZED_NAME_NET_INCOME) + private Double netIncome; + + + public CraAnnualIncomeValues grossIncome(Double grossIncome) { + + this.grossIncome = grossIncome; + return this; + } + + /** + * Gross Income modeled from trends of observed transactions. + * @return grossIncome + **/ + @ApiModelProperty(required = true, value = "Gross Income modeled from trends of observed transactions.") + + public Double getGrossIncome() { + return grossIncome; + } + + + public void setGrossIncome(Double grossIncome) { + this.grossIncome = grossIncome; + } + + + public CraAnnualIncomeValues netIncome(Double netIncome) { + + this.netIncome = netIncome; + return this; + } + + /** + * Net Income estimated from observed transactions. + * @return netIncome + **/ + @ApiModelProperty(required = true, value = "Net Income estimated from observed transactions.") + + public Double getNetIncome() { + return netIncome; + } + + + public void setNetIncome(Double netIncome) { + this.netIncome = netIncome; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraAnnualIncomeValues craAnnualIncomeValues = (CraAnnualIncomeValues) o; + return Objects.equals(this.grossIncome, craAnnualIncomeValues.grossIncome) && + Objects.equals(this.netIncome, craAnnualIncomeValues.netIncome); + } + + @Override + public int hashCode() { + return Objects.hash(grossIncome, netIncome); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraAnnualIncomeValues {\n"); + sb.append(" grossIncome: ").append(toIndentedString(grossIncome)).append("\n"); + sb.append(" netIncome: ").append(toIndentedString(netIncome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeAccount.java b/src/main/java/com/plaid/client/model/CraBankIncomeAccount.java new file mode 100644 index 0000000000..3a3317a4b9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeAccount.java @@ -0,0 +1,308 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraBankIncomeAccountMetadata; +import com.plaid.client.model.CreditBankIncomeAccountType; +import com.plaid.client.model.DepositoryAccountSubtype; +import com.plaid.client.model.Owner; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The Item's bank accounts that have the selected data. + */ +@ApiModel(description = "The Item's bank accounts that have the selected data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraBankIncomeAccount { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private CraBankIncomeAccountMetadata metadata; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private DepositoryAccountSubtype subtype; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private CreditBankIncomeAccountType type; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = new ArrayList<>(); + + + public CraBankIncomeAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CraBankIncomeAccount mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public CraBankIncomeAccount metadata(CraBankIncomeAccountMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @ApiModelProperty(required = true, value = "") + + public CraBankIncomeAccountMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(CraBankIncomeAccountMetadata metadata) { + this.metadata = metadata; + } + + + public CraBankIncomeAccount name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the bank account. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the bank account.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CraBankIncomeAccount officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * The official name of the bank account. + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The official name of the bank account.") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public CraBankIncomeAccount subtype(DepositoryAccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @ApiModelProperty(required = true, value = "") + + public DepositoryAccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(DepositoryAccountSubtype subtype) { + this.subtype = subtype; + } + + + public CraBankIncomeAccount type(CreditBankIncomeAccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public CreditBankIncomeAccountType getType() { + return type; + } + + + public void setType(CreditBankIncomeAccountType type) { + this.type = type; + } + + + public CraBankIncomeAccount owners(List owners) { + + this.owners = owners; + return this; + } + + public CraBankIncomeAccount addOwnersItem(Owner ownersItem) { + this.owners.add(ownersItem); + return this; + } + + /** + * Data returned by the financial institution about the account owner or owners. Identity information is optional, so field may return an empty array. + * @return owners + **/ + @ApiModelProperty(required = true, value = "Data returned by the financial institution about the account owner or owners. Identity information is optional, so field may return an empty array.") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraBankIncomeAccount craBankIncomeAccount = (CraBankIncomeAccount) o; + return Objects.equals(this.accountId, craBankIncomeAccount.accountId) && + Objects.equals(this.mask, craBankIncomeAccount.mask) && + Objects.equals(this.metadata, craBankIncomeAccount.metadata) && + Objects.equals(this.name, craBankIncomeAccount.name) && + Objects.equals(this.officialName, craBankIncomeAccount.officialName) && + Objects.equals(this.subtype, craBankIncomeAccount.subtype) && + Objects.equals(this.type, craBankIncomeAccount.type) && + Objects.equals(this.owners, craBankIncomeAccount.owners); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, mask, metadata, name, officialName, subtype, type, owners); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraBankIncomeAccount {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeAccountMetadata.java b/src/main/java/com/plaid/client/model/CraBankIncomeAccountMetadata.java new file mode 100644 index 0000000000..59d83a23e7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeAccountMetadata.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An object containing metadata about the extracted account. + */ +@ApiModel(description = "An object containing metadata about the extracted account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraBankIncomeAccountMetadata { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + + public CraBankIncomeAccountMetadata startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The date of the earliest extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date of the earliest extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public CraBankIncomeAccountMetadata endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The date of the most recent extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date of the most recent extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraBankIncomeAccountMetadata craBankIncomeAccountMetadata = (CraBankIncomeAccountMetadata) o; + return Objects.equals(this.startDate, craBankIncomeAccountMetadata.startDate) && + Objects.equals(this.endDate, craBankIncomeAccountMetadata.endDate); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraBankIncomeAccountMetadata {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeBonusType.java b/src/main/java/com/plaid/client/model/CraBankIncomeBonusType.java new file mode 100644 index 0000000000..528ccfd568 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeBonusType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of bonus that this transaction represents, if it is a bonus. `BONUS_INCLUDED`: Bonus is included in this transaction along with the normal pay `BONUS_ONLY`: This transaction is a standalone bonus + */ +@JsonAdapter(CraBankIncomeBonusType.Adapter.class) +public enum CraBankIncomeBonusType { + + BONUS_INCLUDED("BONUS_INCLUDED"), + + BONUS_ONLY("BONUS_ONLY"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraBankIncomeBonusType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraBankIncomeBonusType fromValue(String value) { + for (CraBankIncomeBonusType b : CraBankIncomeBonusType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraBankIncomeBonusType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraBankIncomeBonusType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraBankIncomeBonusType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeCause.java b/src/main/java/com/plaid/client/model/CraBankIncomeCause.java new file mode 100644 index 0000000000..f0c07eab04 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeCause.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankIncomeErrorType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items. + */ +@ApiModel(description = "An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraBankIncomeCause { + public static final String SERIALIZED_NAME_ERROR_TYPE = "error_type"; + @SerializedName(SERIALIZED_NAME_ERROR_TYPE) + private CreditBankIncomeErrorType errorType; + + public static final String SERIALIZED_NAME_ERROR_CODE = "error_code"; + @SerializedName(SERIALIZED_NAME_ERROR_CODE) + private String errorCode; + + public static final String SERIALIZED_NAME_ERROR_MESSAGE = "error_message"; + @SerializedName(SERIALIZED_NAME_ERROR_MESSAGE) + private String errorMessage; + + public static final String SERIALIZED_NAME_DISPLAY_MESSAGE = "display_message"; + @SerializedName(SERIALIZED_NAME_DISPLAY_MESSAGE) + private String displayMessage; + + + public CraBankIncomeCause errorType(CreditBankIncomeErrorType errorType) { + + this.errorType = errorType; + return this; + } + + /** + * Get errorType + * @return errorType + **/ + @ApiModelProperty(required = true, value = "") + + public CreditBankIncomeErrorType getErrorType() { + return errorType; + } + + + public void setErrorType(CreditBankIncomeErrorType errorType) { + this.errorType = errorType; + } + + + public CraBankIncomeCause errorCode(String errorCode) { + + this.errorCode = errorCode; + return this; + } + + /** + * We use standard HTTP response codes for success and failure notifications, and our errors are further classified by `error_type`. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will be `null` if no error has occurred. + * @return errorCode + **/ + @ApiModelProperty(required = true, value = "We use standard HTTP response codes for success and failure notifications, and our errors are further classified by `error_type`. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will be `null` if no error has occurred.") + + public String getErrorCode() { + return errorCode; + } + + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + + public CraBankIncomeCause errorMessage(String errorMessage) { + + this.errorMessage = errorMessage; + return this; + } + + /** + * A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use. + * @return errorMessage + **/ + @ApiModelProperty(required = true, value = "A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.") + + public String getErrorMessage() { + return errorMessage; + } + + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + + + public CraBankIncomeCause displayMessage(String displayMessage) { + + this.displayMessage = displayMessage; + return this; + } + + /** + * A user-friendly representation of the error code. null if the error is not related to user action. This may change over time and is not safe for programmatic use. + * @return displayMessage + **/ + @ApiModelProperty(required = true, value = "A user-friendly representation of the error code. null if the error is not related to user action. This may change over time and is not safe for programmatic use.") + + public String getDisplayMessage() { + return displayMessage; + } + + + public void setDisplayMessage(String displayMessage) { + this.displayMessage = displayMessage; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraBankIncomeCause craBankIncomeCause = (CraBankIncomeCause) o; + return Objects.equals(this.errorType, craBankIncomeCause.errorType) && + Objects.equals(this.errorCode, craBankIncomeCause.errorCode) && + Objects.equals(this.errorMessage, craBankIncomeCause.errorMessage) && + Objects.equals(this.displayMessage, craBankIncomeCause.displayMessage); + } + + @Override + public int hashCode() { + return Objects.hash(errorType, errorCode, errorMessage, displayMessage); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraBankIncomeCause {\n"); + sb.append(" errorType: ").append(toIndentedString(errorType)).append("\n"); + sb.append(" errorCode: ").append(toIndentedString(errorCode)).append("\n"); + sb.append(" errorMessage: ").append(toIndentedString(errorMessage)).append("\n"); + sb.append(" displayMessage: ").append(toIndentedString(displayMessage)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeCompleteResult.java b/src/main/java/com/plaid/client/model/CraBankIncomeCompleteResult.java new file mode 100644 index 0000000000..7bf03cda51 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeCompleteResult.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The result of the bank income report generation `SUCCESS`: The bank income report was successfully generated and can be retrieved via `/credit/bank_income/get`. `FAILURE`: The bank income report failed to be generated + */ +@JsonAdapter(CraBankIncomeCompleteResult.Adapter.class) +public enum CraBankIncomeCompleteResult { + + SUCCESS("SUCCESS"), + + FAILURE("FAILURE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraBankIncomeCompleteResult(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraBankIncomeCompleteResult fromValue(String value) { + for (CraBankIncomeCompleteResult b : CraBankIncomeCompleteResult.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraBankIncomeCompleteResult.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraBankIncomeCompleteResult enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraBankIncomeCompleteResult read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraBankIncomeCompleteResult.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeCompleteWebhook.java b/src/main/java/com/plaid/client/model/CraBankIncomeCompleteWebhook.java new file mode 100644 index 0000000000..7f1d9e964d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeCompleteWebhook.java @@ -0,0 +1,213 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraBankIncomeCompleteResult; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when a bank income report has finished generating or failed to generate, triggered by calling `/credit/bank_income/get`. + */ +@ApiModel(description = "Fired when a bank income report has finished generating or failed to generate, triggered by calling `/credit/bank_income/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraBankIncomeCompleteWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_RESULT = "result"; + @SerializedName(SERIALIZED_NAME_RESULT) + private CraBankIncomeCompleteResult result; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CraBankIncomeCompleteWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CRA_INCOME` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CRA_INCOME`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CraBankIncomeCompleteWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `BANK_INCOME_COMPLETE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`BANK_INCOME_COMPLETE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CraBankIncomeCompleteWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the user the webhook has fired for. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` corresponding to the user the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraBankIncomeCompleteWebhook result(CraBankIncomeCompleteResult result) { + + this.result = result; + return this; + } + + /** + * Get result + * @return result + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraBankIncomeCompleteResult getResult() { + return result; + } + + + public void setResult(CraBankIncomeCompleteResult result) { + this.result = result; + } + + + public CraBankIncomeCompleteWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraBankIncomeCompleteWebhook craBankIncomeCompleteWebhook = (CraBankIncomeCompleteWebhook) o; + return Objects.equals(this.webhookType, craBankIncomeCompleteWebhook.webhookType) && + Objects.equals(this.webhookCode, craBankIncomeCompleteWebhook.webhookCode) && + Objects.equals(this.userId, craBankIncomeCompleteWebhook.userId) && + Objects.equals(this.result, craBankIncomeCompleteWebhook.result) && + Objects.equals(this.environment, craBankIncomeCompleteWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, userId, result, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraBankIncomeCompleteWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" result: ").append(toIndentedString(result)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeEmployer.java b/src/main/java/com/plaid/client/model/CraBankIncomeEmployer.java new file mode 100644 index 0000000000..1a96bf145d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeEmployer.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The object containing employer data. + */ +@ApiModel(description = "The object containing employer data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraBankIncomeEmployer { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + + public CraBankIncomeEmployer name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the employer. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The name of the employer.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraBankIncomeEmployer craBankIncomeEmployer = (CraBankIncomeEmployer) o; + return Objects.equals(this.name, craBankIncomeEmployer.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraBankIncomeEmployer {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeErrorWebhook.java b/src/main/java/com/plaid/client/model/CraBankIncomeErrorWebhook.java new file mode 100644 index 0000000000..e1b203accc --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeErrorWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when a bank income report has failed to generate + */ +@ApiModel(description = "Fired when a bank income report has failed to generate") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraBankIncomeErrorWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CraBankIncomeErrorWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CRA_INCOME` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CRA_INCOME`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CraBankIncomeErrorWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `ERROR` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`ERROR`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CraBankIncomeErrorWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the user the webhook has fired for. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` corresponding to the user the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraBankIncomeErrorWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraBankIncomeErrorWebhook craBankIncomeErrorWebhook = (CraBankIncomeErrorWebhook) o; + return Objects.equals(this.webhookType, craBankIncomeErrorWebhook.webhookType) && + Objects.equals(this.webhookCode, craBankIncomeErrorWebhook.webhookCode) && + Objects.equals(this.userId, craBankIncomeErrorWebhook.userId) && + Objects.equals(this.environment, craBankIncomeErrorWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraBankIncomeErrorWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeHistoricalSummary.java b/src/main/java/com/plaid/client/model/CraBankIncomeHistoricalSummary.java new file mode 100644 index 0000000000..0a9316075d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeHistoricalSummary.java @@ -0,0 +1,207 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraBankIncomeTransaction; +import com.plaid.client.model.CreditAmountWithCurrency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * The end user's monthly summary for the income source(s). + */ +@ApiModel(description = "The end user's monthly summary for the income source(s).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraBankIncomeHistoricalSummary { + public static final String SERIALIZED_NAME_TOTAL_AMOUNTS = "total_amounts"; + @SerializedName(SERIALIZED_NAME_TOTAL_AMOUNTS) + private List totalAmounts = null; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = null; + + + public CraBankIncomeHistoricalSummary totalAmounts(List totalAmounts) { + + this.totalAmounts = totalAmounts; + return this; + } + + public CraBankIncomeHistoricalSummary addTotalAmountsItem(CreditAmountWithCurrency totalAmountsItem) { + if (this.totalAmounts == null) { + this.totalAmounts = new ArrayList<>(); + } + this.totalAmounts.add(totalAmountsItem); + return this; + } + + /** + * Total amount of earnings for the income source(s) of the user for the month in the summary. This can contain multiple amounts, with each amount denominated in one unique currency. + * @return totalAmounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total amount of earnings for the income source(s) of the user for the month in the summary. This can contain multiple amounts, with each amount denominated in one unique currency.") + + public List getTotalAmounts() { + return totalAmounts; + } + + + public void setTotalAmounts(List totalAmounts) { + this.totalAmounts = totalAmounts; + } + + + public CraBankIncomeHistoricalSummary startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date of the period covered in this monthly summary. This date will be the first day of the month, unless the month being covered is a partial month because it is the first month included in the summary and the date range being requested does not begin with the first day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start date of the period covered in this monthly summary. This date will be the first day of the month, unless the month being covered is a partial month because it is the first month included in the summary and the date range being requested does not begin with the first day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public CraBankIncomeHistoricalSummary endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end date of the period included in this monthly summary. This date will be the last day of the month, unless the month being covered is a partial month because it is the last month included in the summary and the date range being requested does not end with the last day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end date of the period included in this monthly summary. This date will be the last day of the month, unless the month being covered is a partial month because it is the last month included in the summary and the date range being requested does not end with the last day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public CraBankIncomeHistoricalSummary transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public CraBankIncomeHistoricalSummary addTransactionsItem(CraBankIncomeTransaction transactionsItem) { + if (this.transactions == null) { + this.transactions = new ArrayList<>(); + } + this.transactions.add(transactionsItem); + return this; + } + + /** + * Get transactions + * @return transactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraBankIncomeHistoricalSummary craBankIncomeHistoricalSummary = (CraBankIncomeHistoricalSummary) o; + return Objects.equals(this.totalAmounts, craBankIncomeHistoricalSummary.totalAmounts) && + Objects.equals(this.startDate, craBankIncomeHistoricalSummary.startDate) && + Objects.equals(this.endDate, craBankIncomeHistoricalSummary.endDate) && + Objects.equals(this.transactions, craBankIncomeHistoricalSummary.transactions); + } + + @Override + public int hashCode() { + return Objects.hash(totalAmounts, startDate, endDate, transactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraBankIncomeHistoricalSummary {\n"); + sb.append(" totalAmounts: ").append(toIndentedString(totalAmounts)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeIncomeProvider.java b/src/main/java/com/plaid/client/model/CraBankIncomeIncomeProvider.java new file mode 100644 index 0000000000..329206a300 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeIncomeProvider.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The object containing data about the income provider. + */ +@ApiModel(description = "The object containing data about the income provider.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraBankIncomeIncomeProvider { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_IS_NORMALIZED = "is_normalized"; + @SerializedName(SERIALIZED_NAME_IS_NORMALIZED) + private Boolean isNormalized; + + + public CraBankIncomeIncomeProvider name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the income provider. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the income provider.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CraBankIncomeIncomeProvider isNormalized(Boolean isNormalized) { + + this.isNormalized = isNormalized; + return this; + } + + /** + * Indicates whether the income provider name is normalized by comparing it against a canonical set of known providers. + * @return isNormalized + **/ + @ApiModelProperty(required = true, value = "Indicates whether the income provider name is normalized by comparing it against a canonical set of known providers.") + + public Boolean getIsNormalized() { + return isNormalized; + } + + + public void setIsNormalized(Boolean isNormalized) { + this.isNormalized = isNormalized; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraBankIncomeIncomeProvider craBankIncomeIncomeProvider = (CraBankIncomeIncomeProvider) o; + return Objects.equals(this.name, craBankIncomeIncomeProvider.name) && + Objects.equals(this.isNormalized, craBankIncomeIncomeProvider.isNormalized); + } + + @Override + public int hashCode() { + return Objects.hash(name, isNormalized); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraBankIncomeIncomeProvider {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" isNormalized: ").append(toIndentedString(isNormalized)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeItem.java b/src/main/java/com/plaid/client/model/CraBankIncomeItem.java new file mode 100644 index 0000000000..ef6e02841d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeItem.java @@ -0,0 +1,294 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraBankIncomeAccount; +import com.plaid.client.model.CraBankIncomeSource; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * The details and metadata for an end user's Item. + */ +@ApiModel(description = "The details and metadata for an end user's Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraBankIncomeItem { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = null; + + public static final String SERIALIZED_NAME_BANK_INCOME_ACCOUNTS = "bank_income_accounts"; + @SerializedName(SERIALIZED_NAME_BANK_INCOME_ACCOUNTS) + private List bankIncomeAccounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_BANK_INCOME_SOURCES = "bank_income_sources"; + @SerializedName(SERIALIZED_NAME_BANK_INCOME_SOURCES) + private List bankIncomeSources = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LAST_UPDATED_TIME = "last_updated_time"; + @SerializedName(SERIALIZED_NAME_LAST_UPDATED_TIME) + private OffsetDateTime lastUpdatedTime; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + + public CraBankIncomeItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CraBankIncomeItem accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public CraBankIncomeItem addAccountsItem(CraBankIncomeAccount accountsItem) { + if (this.accounts == null) { + this.accounts = new ArrayList<>(); + } + this.accounts.add(accountsItem); + return this; + } + + /** + * The Item's accounts that have bank income data. + * @return accounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Item's accounts that have bank income data.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public CraBankIncomeItem bankIncomeAccounts(List bankIncomeAccounts) { + + this.bankIncomeAccounts = bankIncomeAccounts; + return this; + } + + public CraBankIncomeItem addBankIncomeAccountsItem(CraBankIncomeAccount bankIncomeAccountsItem) { + this.bankIncomeAccounts.add(bankIncomeAccountsItem); + return this; + } + + /** + * This is a V1 (II1) field. For the V2 (II2) equivalent, use the `accounts` field. The Item's accounts that have bank income data. + * @return bankIncomeAccounts + **/ + @ApiModelProperty(required = true, value = "This is a V1 (II1) field. For the V2 (II2) equivalent, use the `accounts` field. The Item's accounts that have bank income data.") + + public List getBankIncomeAccounts() { + return bankIncomeAccounts; + } + + + public void setBankIncomeAccounts(List bankIncomeAccounts) { + this.bankIncomeAccounts = bankIncomeAccounts; + } + + + public CraBankIncomeItem bankIncomeSources(List bankIncomeSources) { + + this.bankIncomeSources = bankIncomeSources; + return this; + } + + public CraBankIncomeItem addBankIncomeSourcesItem(CraBankIncomeSource bankIncomeSourcesItem) { + this.bankIncomeSources.add(bankIncomeSourcesItem); + return this; + } + + /** + * This is a V1 (II1) field. For the V2 (II2) equivalent, use the report-level `income_streams` field. The income sources for this Item. Each entry in the array is a single income source. + * @return bankIncomeSources + **/ + @ApiModelProperty(required = true, value = "This is a V1 (II1) field. For the V2 (II2) equivalent, use the report-level `income_streams` field. The income sources for this Item. Each entry in the array is a single income source.") + + public List getBankIncomeSources() { + return bankIncomeSources; + } + + + public void setBankIncomeSources(List bankIncomeSources) { + this.bankIncomeSources = bankIncomeSources; + } + + + public CraBankIncomeItem lastUpdatedTime(OffsetDateTime lastUpdatedTime) { + + this.lastUpdatedTime = lastUpdatedTime; + return this; + } + + /** + * The time when this Item's data was last retrieved from the financial institution. + * @return lastUpdatedTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The time when this Item's data was last retrieved from the financial institution.") + + public OffsetDateTime getLastUpdatedTime() { + return lastUpdatedTime; + } + + + public void setLastUpdatedTime(OffsetDateTime lastUpdatedTime) { + this.lastUpdatedTime = lastUpdatedTime; + } + + + public CraBankIncomeItem institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The unique identifier of the institution associated with the Item. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unique identifier of the institution associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public CraBankIncomeItem institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The name of the institution associated with the Item. + * @return institutionName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the institution associated with the Item.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraBankIncomeItem craBankIncomeItem = (CraBankIncomeItem) o; + return Objects.equals(this.itemId, craBankIncomeItem.itemId) && + Objects.equals(this.accounts, craBankIncomeItem.accounts) && + Objects.equals(this.bankIncomeAccounts, craBankIncomeItem.bankIncomeAccounts) && + Objects.equals(this.bankIncomeSources, craBankIncomeItem.bankIncomeSources) && + Objects.equals(this.lastUpdatedTime, craBankIncomeItem.lastUpdatedTime) && + Objects.equals(this.institutionId, craBankIncomeItem.institutionId) && + Objects.equals(this.institutionName, craBankIncomeItem.institutionName); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, accounts, bankIncomeAccounts, bankIncomeSources, lastUpdatedTime, institutionId, institutionName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraBankIncomeItem {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" bankIncomeAccounts: ").append(toIndentedString(bankIncomeAccounts)).append("\n"); + sb.append(" bankIncomeSources: ").append(toIndentedString(bankIncomeSources)).append("\n"); + sb.append(" lastUpdatedTime: ").append(toIndentedString(lastUpdatedTime)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeSource.java b/src/main/java/com/plaid/client/model/CraBankIncomeSource.java new file mode 100644 index 0000000000..f74b3e5956 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeSource.java @@ -0,0 +1,673 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraBankIncomeEmployer; +import com.plaid.client.model.CraBankIncomeHistoricalSummary; +import com.plaid.client.model.CraBankIncomeIncomeProvider; +import com.plaid.client.model.CraBankIncomeStatus; +import com.plaid.client.model.CraPredictionInterval; +import com.plaid.client.model.CreditBankIncomeCategory; +import com.plaid.client.model.CreditBankIncomePayFrequency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * Detailed information for the income source. + */ +@ApiModel(description = "Detailed information for the income source.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraBankIncomeSource { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_INCOME_SOURCE_ID = "income_source_id"; + @SerializedName(SERIALIZED_NAME_INCOME_SOURCE_ID) + private String incomeSourceId; + + public static final String SERIALIZED_NAME_INCOME_DESCRIPTION = "income_description"; + @SerializedName(SERIALIZED_NAME_INCOME_DESCRIPTION) + private String incomeDescription; + + public static final String SERIALIZED_NAME_INCOME_CATEGORY = "income_category"; + @SerializedName(SERIALIZED_NAME_INCOME_CATEGORY) + private CreditBankIncomeCategory incomeCategory; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_PAY_FREQUENCY = "pay_frequency"; + @SerializedName(SERIALIZED_NAME_PAY_FREQUENCY) + private CreditBankIncomePayFrequency payFrequency; + + public static final String SERIALIZED_NAME_TOTAL_AMOUNT = "total_amount"; + @SerializedName(SERIALIZED_NAME_TOTAL_AMOUNT) + private Double totalAmount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_TRANSACTION_COUNT = "transaction_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_COUNT) + private Integer transactionCount; + + public static final String SERIALIZED_NAME_NEXT_PAYMENT_DATE = "next_payment_date"; + @SerializedName(SERIALIZED_NAME_NEXT_PAYMENT_DATE) + private LocalDate nextPaymentDate; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private CraBankIncomeStatus status; + + public static final String SERIALIZED_NAME_HISTORICAL_AVERAGE_MONTHLY_GROSS_INCOME = "historical_average_monthly_gross_income"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_AVERAGE_MONTHLY_GROSS_INCOME) + private Double historicalAverageMonthlyGrossIncome; + + public static final String SERIALIZED_NAME_HISTORICAL_AVERAGE_MONTHLY_INCOME = "historical_average_monthly_income"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_AVERAGE_MONTHLY_INCOME) + private Double historicalAverageMonthlyIncome; + + public static final String SERIALIZED_NAME_FORECASTED_AVERAGE_MONTHLY_INCOME = "forecasted_average_monthly_income"; + @SerializedName(SERIALIZED_NAME_FORECASTED_AVERAGE_MONTHLY_INCOME) + private Double forecastedAverageMonthlyIncome; + + public static final String SERIALIZED_NAME_FORECASTED_AVERAGE_MONTHLY_INCOME_PREDICTION_INTERVALS = "forecasted_average_monthly_income_prediction_intervals"; + @SerializedName(SERIALIZED_NAME_FORECASTED_AVERAGE_MONTHLY_INCOME_PREDICTION_INTERVALS) + private List forecastedAverageMonthlyIncomePredictionIntervals = new ArrayList<>(); + + public static final String SERIALIZED_NAME_EMPLOYER = "employer"; + @SerializedName(SERIALIZED_NAME_EMPLOYER) + private CraBankIncomeEmployer employer; + + public static final String SERIALIZED_NAME_INCOME_PROVIDER = "income_provider"; + @SerializedName(SERIALIZED_NAME_INCOME_PROVIDER) + private CraBankIncomeIncomeProvider incomeProvider; + + public static final String SERIALIZED_NAME_HISTORICAL_SUMMARY = "historical_summary"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_SUMMARY) + private List historicalSummary = null; + + + public CraBankIncomeSource accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The account ID with which this income source is associated. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account ID with which this income source is associated.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CraBankIncomeSource incomeSourceId(String incomeSourceId) { + + this.incomeSourceId = incomeSourceId; + return this; + } + + /** + * A unique identifier for an income source. If the report is regenerated and a new `report_id` is created, the new report will have a new set of `income_source_id`s. + * @return incomeSourceId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for an income source. If the report is regenerated and a new `report_id` is created, the new report will have a new set of `income_source_id`s.") + + public String getIncomeSourceId() { + return incomeSourceId; + } + + + public void setIncomeSourceId(String incomeSourceId) { + this.incomeSourceId = incomeSourceId; + } + + + public CraBankIncomeSource incomeDescription(String incomeDescription) { + + this.incomeDescription = incomeDescription; + return this; + } + + /** + * The most common name or original description for the underlying income transactions. + * @return incomeDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The most common name or original description for the underlying income transactions.") + + public String getIncomeDescription() { + return incomeDescription; + } + + + public void setIncomeDescription(String incomeDescription) { + this.incomeDescription = incomeDescription; + } + + + public CraBankIncomeSource incomeCategory(CreditBankIncomeCategory incomeCategory) { + + this.incomeCategory = incomeCategory; + return this; + } + + /** + * Get incomeCategory + * @return incomeCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditBankIncomeCategory getIncomeCategory() { + return incomeCategory; + } + + + public void setIncomeCategory(CreditBankIncomeCategory incomeCategory) { + this.incomeCategory = incomeCategory; + } + + + public CraBankIncomeSource startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * Minimum of all dates within the specific income sources in the user's bank account for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Minimum of all dates within the specific income sources in the user's bank account for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public CraBankIncomeSource endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * Maximum of all dates within the specific income sources in the user's bank account for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Maximum of all dates within the specific income sources in the user's bank account for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public CraBankIncomeSource payFrequency(CreditBankIncomePayFrequency payFrequency) { + + this.payFrequency = payFrequency; + return this; + } + + /** + * Get payFrequency + * @return payFrequency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditBankIncomePayFrequency getPayFrequency() { + return payFrequency; + } + + + public void setPayFrequency(CreditBankIncomePayFrequency payFrequency) { + this.payFrequency = payFrequency; + } + + + public CraBankIncomeSource totalAmount(Double totalAmount) { + + this.totalAmount = totalAmount; + return this; + } + + /** + * Total amount of earnings in the user's bank account for the specific income source for days requested by the client. + * @return totalAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total amount of earnings in the user's bank account for the specific income source for days requested by the client.") + + public Double getTotalAmount() { + return totalAmount; + } + + + public void setTotalAmount(Double totalAmount) { + this.totalAmount = totalAmount; + } + + + public CraBankIncomeSource isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CraBankIncomeSource unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public CraBankIncomeSource transactionCount(Integer transactionCount) { + + this.transactionCount = transactionCount; + return this; + } + + /** + * Number of transactions for the income source within the start and end date. + * @return transactionCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of transactions for the income source within the start and end date.") + + public Integer getTransactionCount() { + return transactionCount; + } + + + public void setTransactionCount(Integer transactionCount) { + this.transactionCount = transactionCount; + } + + + public CraBankIncomeSource nextPaymentDate(LocalDate nextPaymentDate) { + + this.nextPaymentDate = nextPaymentDate; + return this; + } + + /** + * The expected date of the end user's next paycheck for the income source. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return nextPaymentDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The expected date of the end user's next paycheck for the income source. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getNextPaymentDate() { + return nextPaymentDate; + } + + + public void setNextPaymentDate(LocalDate nextPaymentDate) { + this.nextPaymentDate = nextPaymentDate; + } + + + public CraBankIncomeSource status(CraBankIncomeStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraBankIncomeStatus getStatus() { + return status; + } + + + public void setStatus(CraBankIncomeStatus status) { + this.status = status; + } + + + public CraBankIncomeSource historicalAverageMonthlyGrossIncome(Double historicalAverageMonthlyGrossIncome) { + + this.historicalAverageMonthlyGrossIncome = historicalAverageMonthlyGrossIncome; + return this; + } + + /** + * An estimate of the average gross monthly income based on the historical net amount and income category for the income source(s). + * @return historicalAverageMonthlyGrossIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An estimate of the average gross monthly income based on the historical net amount and income category for the income source(s).") + + public Double getHistoricalAverageMonthlyGrossIncome() { + return historicalAverageMonthlyGrossIncome; + } + + + public void setHistoricalAverageMonthlyGrossIncome(Double historicalAverageMonthlyGrossIncome) { + this.historicalAverageMonthlyGrossIncome = historicalAverageMonthlyGrossIncome; + } + + + public CraBankIncomeSource historicalAverageMonthlyIncome(Double historicalAverageMonthlyIncome) { + + this.historicalAverageMonthlyIncome = historicalAverageMonthlyIncome; + return this; + } + + /** + * The average monthly net income amount estimated based on the historical data for the income source(s). + * @return historicalAverageMonthlyIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The average monthly net income amount estimated based on the historical data for the income source(s).") + + public Double getHistoricalAverageMonthlyIncome() { + return historicalAverageMonthlyIncome; + } + + + public void setHistoricalAverageMonthlyIncome(Double historicalAverageMonthlyIncome) { + this.historicalAverageMonthlyIncome = historicalAverageMonthlyIncome; + } + + + public CraBankIncomeSource forecastedAverageMonthlyIncome(Double forecastedAverageMonthlyIncome) { + + this.forecastedAverageMonthlyIncome = forecastedAverageMonthlyIncome; + return this; + } + + /** + * The predicted average monthly net income amount for the income source(s). + * @return forecastedAverageMonthlyIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The predicted average monthly net income amount for the income source(s).") + + public Double getForecastedAverageMonthlyIncome() { + return forecastedAverageMonthlyIncome; + } + + + public void setForecastedAverageMonthlyIncome(Double forecastedAverageMonthlyIncome) { + this.forecastedAverageMonthlyIncome = forecastedAverageMonthlyIncome; + } + + + public CraBankIncomeSource forecastedAverageMonthlyIncomePredictionIntervals(List forecastedAverageMonthlyIncomePredictionIntervals) { + + this.forecastedAverageMonthlyIncomePredictionIntervals = forecastedAverageMonthlyIncomePredictionIntervals; + return this; + } + + public CraBankIncomeSource addForecastedAverageMonthlyIncomePredictionIntervalsItem(CraPredictionInterval forecastedAverageMonthlyIncomePredictionIntervalsItem) { + this.forecastedAverageMonthlyIncomePredictionIntervals.add(forecastedAverageMonthlyIncomePredictionIntervalsItem); + return this; + } + + /** + * The prediction interval(s) for the forecasted average monthly income. + * @return forecastedAverageMonthlyIncomePredictionIntervals + **/ + @ApiModelProperty(required = true, value = "The prediction interval(s) for the forecasted average monthly income.") + + public List getForecastedAverageMonthlyIncomePredictionIntervals() { + return forecastedAverageMonthlyIncomePredictionIntervals; + } + + + public void setForecastedAverageMonthlyIncomePredictionIntervals(List forecastedAverageMonthlyIncomePredictionIntervals) { + this.forecastedAverageMonthlyIncomePredictionIntervals = forecastedAverageMonthlyIncomePredictionIntervals; + } + + + public CraBankIncomeSource employer(CraBankIncomeEmployer employer) { + + this.employer = employer; + return this; + } + + /** + * Get employer + * @return employer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraBankIncomeEmployer getEmployer() { + return employer; + } + + + public void setEmployer(CraBankIncomeEmployer employer) { + this.employer = employer; + } + + + public CraBankIncomeSource incomeProvider(CraBankIncomeIncomeProvider incomeProvider) { + + this.incomeProvider = incomeProvider; + return this; + } + + /** + * Get incomeProvider + * @return incomeProvider + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public CraBankIncomeIncomeProvider getIncomeProvider() { + return incomeProvider; + } + + + public void setIncomeProvider(CraBankIncomeIncomeProvider incomeProvider) { + this.incomeProvider = incomeProvider; + } + + + public CraBankIncomeSource historicalSummary(List historicalSummary) { + + this.historicalSummary = historicalSummary; + return this; + } + + public CraBankIncomeSource addHistoricalSummaryItem(CraBankIncomeHistoricalSummary historicalSummaryItem) { + if (this.historicalSummary == null) { + this.historicalSummary = new ArrayList<>(); + } + this.historicalSummary.add(historicalSummaryItem); + return this; + } + + /** + * Get historicalSummary + * @return historicalSummary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getHistoricalSummary() { + return historicalSummary; + } + + + public void setHistoricalSummary(List historicalSummary) { + this.historicalSummary = historicalSummary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraBankIncomeSource craBankIncomeSource = (CraBankIncomeSource) o; + return Objects.equals(this.accountId, craBankIncomeSource.accountId) && + Objects.equals(this.incomeSourceId, craBankIncomeSource.incomeSourceId) && + Objects.equals(this.incomeDescription, craBankIncomeSource.incomeDescription) && + Objects.equals(this.incomeCategory, craBankIncomeSource.incomeCategory) && + Objects.equals(this.startDate, craBankIncomeSource.startDate) && + Objects.equals(this.endDate, craBankIncomeSource.endDate) && + Objects.equals(this.payFrequency, craBankIncomeSource.payFrequency) && + Objects.equals(this.totalAmount, craBankIncomeSource.totalAmount) && + Objects.equals(this.isoCurrencyCode, craBankIncomeSource.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, craBankIncomeSource.unofficialCurrencyCode) && + Objects.equals(this.transactionCount, craBankIncomeSource.transactionCount) && + Objects.equals(this.nextPaymentDate, craBankIncomeSource.nextPaymentDate) && + Objects.equals(this.status, craBankIncomeSource.status) && + Objects.equals(this.historicalAverageMonthlyGrossIncome, craBankIncomeSource.historicalAverageMonthlyGrossIncome) && + Objects.equals(this.historicalAverageMonthlyIncome, craBankIncomeSource.historicalAverageMonthlyIncome) && + Objects.equals(this.forecastedAverageMonthlyIncome, craBankIncomeSource.forecastedAverageMonthlyIncome) && + Objects.equals(this.forecastedAverageMonthlyIncomePredictionIntervals, craBankIncomeSource.forecastedAverageMonthlyIncomePredictionIntervals) && + Objects.equals(this.employer, craBankIncomeSource.employer) && + Objects.equals(this.incomeProvider, craBankIncomeSource.incomeProvider) && + Objects.equals(this.historicalSummary, craBankIncomeSource.historicalSummary); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, incomeSourceId, incomeDescription, incomeCategory, startDate, endDate, payFrequency, totalAmount, isoCurrencyCode, unofficialCurrencyCode, transactionCount, nextPaymentDate, status, historicalAverageMonthlyGrossIncome, historicalAverageMonthlyIncome, forecastedAverageMonthlyIncome, forecastedAverageMonthlyIncomePredictionIntervals, employer, incomeProvider, historicalSummary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraBankIncomeSource {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" incomeSourceId: ").append(toIndentedString(incomeSourceId)).append("\n"); + sb.append(" incomeDescription: ").append(toIndentedString(incomeDescription)).append("\n"); + sb.append(" incomeCategory: ").append(toIndentedString(incomeCategory)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" payFrequency: ").append(toIndentedString(payFrequency)).append("\n"); + sb.append(" totalAmount: ").append(toIndentedString(totalAmount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" transactionCount: ").append(toIndentedString(transactionCount)).append("\n"); + sb.append(" nextPaymentDate: ").append(toIndentedString(nextPaymentDate)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" historicalAverageMonthlyGrossIncome: ").append(toIndentedString(historicalAverageMonthlyGrossIncome)).append("\n"); + sb.append(" historicalAverageMonthlyIncome: ").append(toIndentedString(historicalAverageMonthlyIncome)).append("\n"); + sb.append(" forecastedAverageMonthlyIncome: ").append(toIndentedString(forecastedAverageMonthlyIncome)).append("\n"); + sb.append(" forecastedAverageMonthlyIncomePredictionIntervals: ").append(toIndentedString(forecastedAverageMonthlyIncomePredictionIntervals)).append("\n"); + sb.append(" employer: ").append(toIndentedString(employer)).append("\n"); + sb.append(" incomeProvider: ").append(toIndentedString(incomeProvider)).append("\n"); + sb.append(" historicalSummary: ").append(toIndentedString(historicalSummary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeStatus.java b/src/main/java/com/plaid/client/model/CraBankIncomeStatus.java new file mode 100644 index 0000000000..e7c2270b24 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the income sources. `ACTIVE`: The income source is active. `INACTIVE`: The income source is inactive. `UNKNOWN`: The income source status is unknown. + */ +@JsonAdapter(CraBankIncomeStatus.Adapter.class) +public enum CraBankIncomeStatus { + + ACTIVE("ACTIVE"), + + INACTIVE("INACTIVE"), + + UNKNOWN("UNKNOWN"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraBankIncomeStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraBankIncomeStatus fromValue(String value) { + for (CraBankIncomeStatus b : CraBankIncomeStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraBankIncomeStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraBankIncomeStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraBankIncomeStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraBankIncomeStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeSummary.java b/src/main/java/com/plaid/client/model/CraBankIncomeSummary.java new file mode 100644 index 0000000000..cb9b2ad38f --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeSummary.java @@ -0,0 +1,516 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraBankIncomeHistoricalSummary; +import com.plaid.client.model.CreditAmountWithCurrency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * This is a V1 (II1) schema. For the V2 (II2) equivalent, use `CraIncomeInsightsUserSummary`. Summary for income across all income sources and items (max history of 730 days). + */ +@ApiModel(description = "This is a V1 (II1) schema. For the V2 (II2) equivalent, use `CraIncomeInsightsUserSummary`. Summary for income across all income sources and items (max history of 730 days).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraBankIncomeSummary { + public static final String SERIALIZED_NAME_TOTAL_AMOUNTS = "total_amounts"; + @SerializedName(SERIALIZED_NAME_TOTAL_AMOUNTS) + private List totalAmounts = null; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_INCOME_SOURCES_COUNT = "income_sources_count"; + @SerializedName(SERIALIZED_NAME_INCOME_SOURCES_COUNT) + private Integer incomeSourcesCount; + + public static final String SERIALIZED_NAME_INCOME_CATEGORIES_COUNT = "income_categories_count"; + @SerializedName(SERIALIZED_NAME_INCOME_CATEGORIES_COUNT) + private Integer incomeCategoriesCount; + + public static final String SERIALIZED_NAME_INCOME_TRANSACTIONS_COUNT = "income_transactions_count"; + @SerializedName(SERIALIZED_NAME_INCOME_TRANSACTIONS_COUNT) + private Integer incomeTransactionsCount; + + public static final String SERIALIZED_NAME_HISTORICAL_AVERAGE_MONTHLY_GROSS_INCOME = "historical_average_monthly_gross_income"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_AVERAGE_MONTHLY_GROSS_INCOME) + private List historicalAverageMonthlyGrossIncome = null; + + public static final String SERIALIZED_NAME_HISTORICAL_AVERAGE_MONTHLY_INCOME = "historical_average_monthly_income"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_AVERAGE_MONTHLY_INCOME) + private List historicalAverageMonthlyIncome = null; + + public static final String SERIALIZED_NAME_FORECASTED_AVERAGE_MONTHLY_INCOME = "forecasted_average_monthly_income"; + @SerializedName(SERIALIZED_NAME_FORECASTED_AVERAGE_MONTHLY_INCOME) + private List forecastedAverageMonthlyIncome = null; + + public static final String SERIALIZED_NAME_HISTORICAL_ANNUAL_GROSS_INCOME = "historical_annual_gross_income"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_ANNUAL_GROSS_INCOME) + private List historicalAnnualGrossIncome = null; + + public static final String SERIALIZED_NAME_HISTORICAL_ANNUAL_INCOME = "historical_annual_income"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_ANNUAL_INCOME) + private List historicalAnnualIncome = null; + + public static final String SERIALIZED_NAME_FORECASTED_ANNUAL_INCOME = "forecasted_annual_income"; + @SerializedName(SERIALIZED_NAME_FORECASTED_ANNUAL_INCOME) + private List forecastedAnnualIncome = null; + + public static final String SERIALIZED_NAME_HISTORICAL_SUMMARY = "historical_summary"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_SUMMARY) + private List historicalSummary = null; + + + public CraBankIncomeSummary totalAmounts(List totalAmounts) { + + this.totalAmounts = totalAmounts; + return this; + } + + public CraBankIncomeSummary addTotalAmountsItem(CreditAmountWithCurrency totalAmountsItem) { + if (this.totalAmounts == null) { + this.totalAmounts = new ArrayList<>(); + } + this.totalAmounts.add(totalAmountsItem); + return this; + } + + /** + * Total amount of earnings across all the income sources in the end user's Items for the days requested by the client. This can contain multiple amounts, with each amount denominated in one unique currency. + * @return totalAmounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total amount of earnings across all the income sources in the end user's Items for the days requested by the client. This can contain multiple amounts, with each amount denominated in one unique currency.") + + public List getTotalAmounts() { + return totalAmounts; + } + + + public void setTotalAmounts(List totalAmounts) { + this.totalAmounts = totalAmounts; + } + + + public CraBankIncomeSummary startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The earliest date within the days requested in which all income sources identified by Plaid appear in a user's account. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The earliest date within the days requested in which all income sources identified by Plaid appear in a user's account. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public CraBankIncomeSummary endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The latest date in which all income sources identified by Plaid appear in the user's account. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The latest date in which all income sources identified by Plaid appear in the user's account. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public CraBankIncomeSummary incomeSourcesCount(Integer incomeSourcesCount) { + + this.incomeSourcesCount = incomeSourcesCount; + return this; + } + + /** + * Number of income sources per end user. + * @return incomeSourcesCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of income sources per end user.") + + public Integer getIncomeSourcesCount() { + return incomeSourcesCount; + } + + + public void setIncomeSourcesCount(Integer incomeSourcesCount) { + this.incomeSourcesCount = incomeSourcesCount; + } + + + public CraBankIncomeSummary incomeCategoriesCount(Integer incomeCategoriesCount) { + + this.incomeCategoriesCount = incomeCategoriesCount; + return this; + } + + /** + * Number of income categories per end user. + * @return incomeCategoriesCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of income categories per end user.") + + public Integer getIncomeCategoriesCount() { + return incomeCategoriesCount; + } + + + public void setIncomeCategoriesCount(Integer incomeCategoriesCount) { + this.incomeCategoriesCount = incomeCategoriesCount; + } + + + public CraBankIncomeSummary incomeTransactionsCount(Integer incomeTransactionsCount) { + + this.incomeTransactionsCount = incomeTransactionsCount; + return this; + } + + /** + * Number of income transactions per end user. + * @return incomeTransactionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of income transactions per end user.") + + public Integer getIncomeTransactionsCount() { + return incomeTransactionsCount; + } + + + public void setIncomeTransactionsCount(Integer incomeTransactionsCount) { + this.incomeTransactionsCount = incomeTransactionsCount; + } + + + public CraBankIncomeSummary historicalAverageMonthlyGrossIncome(List historicalAverageMonthlyGrossIncome) { + + this.historicalAverageMonthlyGrossIncome = historicalAverageMonthlyGrossIncome; + return this; + } + + public CraBankIncomeSummary addHistoricalAverageMonthlyGrossIncomeItem(CreditAmountWithCurrency historicalAverageMonthlyGrossIncomeItem) { + if (this.historicalAverageMonthlyGrossIncome == null) { + this.historicalAverageMonthlyGrossIncome = new ArrayList<>(); + } + this.historicalAverageMonthlyGrossIncome.add(historicalAverageMonthlyGrossIncomeItem); + return this; + } + + /** + * An estimate of the average gross monthly income based on the historical net amount and income category for the income source(s). The average monthly income is calculated based on the lifetime of the income stream, rather than the entire historical period included in the scope of the report. + * @return historicalAverageMonthlyGrossIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An estimate of the average gross monthly income based on the historical net amount and income category for the income source(s). The average monthly income is calculated based on the lifetime of the income stream, rather than the entire historical period included in the scope of the report.") + + public List getHistoricalAverageMonthlyGrossIncome() { + return historicalAverageMonthlyGrossIncome; + } + + + public void setHistoricalAverageMonthlyGrossIncome(List historicalAverageMonthlyGrossIncome) { + this.historicalAverageMonthlyGrossIncome = historicalAverageMonthlyGrossIncome; + } + + + public CraBankIncomeSummary historicalAverageMonthlyIncome(List historicalAverageMonthlyIncome) { + + this.historicalAverageMonthlyIncome = historicalAverageMonthlyIncome; + return this; + } + + public CraBankIncomeSummary addHistoricalAverageMonthlyIncomeItem(CreditAmountWithCurrency historicalAverageMonthlyIncomeItem) { + if (this.historicalAverageMonthlyIncome == null) { + this.historicalAverageMonthlyIncome = new ArrayList<>(); + } + this.historicalAverageMonthlyIncome.add(historicalAverageMonthlyIncomeItem); + return this; + } + + /** + * The average monthly income amount estimated based on the historical data for the income source(s). The average monthly income is calculated based on the lifetime of the income stream, rather than the entire historical period included in the scope of the report. + * @return historicalAverageMonthlyIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The average monthly income amount estimated based on the historical data for the income source(s). The average monthly income is calculated based on the lifetime of the income stream, rather than the entire historical period included in the scope of the report.") + + public List getHistoricalAverageMonthlyIncome() { + return historicalAverageMonthlyIncome; + } + + + public void setHistoricalAverageMonthlyIncome(List historicalAverageMonthlyIncome) { + this.historicalAverageMonthlyIncome = historicalAverageMonthlyIncome; + } + + + public CraBankIncomeSummary forecastedAverageMonthlyIncome(List forecastedAverageMonthlyIncome) { + + this.forecastedAverageMonthlyIncome = forecastedAverageMonthlyIncome; + return this; + } + + public CraBankIncomeSummary addForecastedAverageMonthlyIncomeItem(CreditAmountWithCurrency forecastedAverageMonthlyIncomeItem) { + if (this.forecastedAverageMonthlyIncome == null) { + this.forecastedAverageMonthlyIncome = new ArrayList<>(); + } + this.forecastedAverageMonthlyIncome.add(forecastedAverageMonthlyIncomeItem); + return this; + } + + /** + * The predicted average monthly income amount for the income source(s). + * @return forecastedAverageMonthlyIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The predicted average monthly income amount for the income source(s).") + + public List getForecastedAverageMonthlyIncome() { + return forecastedAverageMonthlyIncome; + } + + + public void setForecastedAverageMonthlyIncome(List forecastedAverageMonthlyIncome) { + this.forecastedAverageMonthlyIncome = forecastedAverageMonthlyIncome; + } + + + public CraBankIncomeSummary historicalAnnualGrossIncome(List historicalAnnualGrossIncome) { + + this.historicalAnnualGrossIncome = historicalAnnualGrossIncome; + return this; + } + + public CraBankIncomeSummary addHistoricalAnnualGrossIncomeItem(CreditAmountWithCurrency historicalAnnualGrossIncomeItem) { + if (this.historicalAnnualGrossIncome == null) { + this.historicalAnnualGrossIncome = new ArrayList<>(); + } + this.historicalAnnualGrossIncome.add(historicalAnnualGrossIncomeItem); + return this; + } + + /** + * An estimate of the annual gross income for the income source, calculated by multiplying the `historical_average_monthly_gross_income` by 12. + * @return historicalAnnualGrossIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An estimate of the annual gross income for the income source, calculated by multiplying the `historical_average_monthly_gross_income` by 12.") + + public List getHistoricalAnnualGrossIncome() { + return historicalAnnualGrossIncome; + } + + + public void setHistoricalAnnualGrossIncome(List historicalAnnualGrossIncome) { + this.historicalAnnualGrossIncome = historicalAnnualGrossIncome; + } + + + public CraBankIncomeSummary historicalAnnualIncome(List historicalAnnualIncome) { + + this.historicalAnnualIncome = historicalAnnualIncome; + return this; + } + + public CraBankIncomeSummary addHistoricalAnnualIncomeItem(CreditAmountWithCurrency historicalAnnualIncomeItem) { + if (this.historicalAnnualIncome == null) { + this.historicalAnnualIncome = new ArrayList<>(); + } + this.historicalAnnualIncome.add(historicalAnnualIncomeItem); + return this; + } + + /** + * An estimate of the annual net income for the income source, calculated by multiplying the `historical_average_monthly_income` by 12. + * @return historicalAnnualIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An estimate of the annual net income for the income source, calculated by multiplying the `historical_average_monthly_income` by 12.") + + public List getHistoricalAnnualIncome() { + return historicalAnnualIncome; + } + + + public void setHistoricalAnnualIncome(List historicalAnnualIncome) { + this.historicalAnnualIncome = historicalAnnualIncome; + } + + + public CraBankIncomeSummary forecastedAnnualIncome(List forecastedAnnualIncome) { + + this.forecastedAnnualIncome = forecastedAnnualIncome; + return this; + } + + public CraBankIncomeSummary addForecastedAnnualIncomeItem(CreditAmountWithCurrency forecastedAnnualIncomeItem) { + if (this.forecastedAnnualIncome == null) { + this.forecastedAnnualIncome = new ArrayList<>(); + } + this.forecastedAnnualIncome.add(forecastedAnnualIncomeItem); + return this; + } + + /** + * The predicted average annual income amount for the income source(s). + * @return forecastedAnnualIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The predicted average annual income amount for the income source(s).") + + public List getForecastedAnnualIncome() { + return forecastedAnnualIncome; + } + + + public void setForecastedAnnualIncome(List forecastedAnnualIncome) { + this.forecastedAnnualIncome = forecastedAnnualIncome; + } + + + public CraBankIncomeSummary historicalSummary(List historicalSummary) { + + this.historicalSummary = historicalSummary; + return this; + } + + public CraBankIncomeSummary addHistoricalSummaryItem(CraBankIncomeHistoricalSummary historicalSummaryItem) { + if (this.historicalSummary == null) { + this.historicalSummary = new ArrayList<>(); + } + this.historicalSummary.add(historicalSummaryItem); + return this; + } + + /** + * Get historicalSummary + * @return historicalSummary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getHistoricalSummary() { + return historicalSummary; + } + + + public void setHistoricalSummary(List historicalSummary) { + this.historicalSummary = historicalSummary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraBankIncomeSummary craBankIncomeSummary = (CraBankIncomeSummary) o; + return Objects.equals(this.totalAmounts, craBankIncomeSummary.totalAmounts) && + Objects.equals(this.startDate, craBankIncomeSummary.startDate) && + Objects.equals(this.endDate, craBankIncomeSummary.endDate) && + Objects.equals(this.incomeSourcesCount, craBankIncomeSummary.incomeSourcesCount) && + Objects.equals(this.incomeCategoriesCount, craBankIncomeSummary.incomeCategoriesCount) && + Objects.equals(this.incomeTransactionsCount, craBankIncomeSummary.incomeTransactionsCount) && + Objects.equals(this.historicalAverageMonthlyGrossIncome, craBankIncomeSummary.historicalAverageMonthlyGrossIncome) && + Objects.equals(this.historicalAverageMonthlyIncome, craBankIncomeSummary.historicalAverageMonthlyIncome) && + Objects.equals(this.forecastedAverageMonthlyIncome, craBankIncomeSummary.forecastedAverageMonthlyIncome) && + Objects.equals(this.historicalAnnualGrossIncome, craBankIncomeSummary.historicalAnnualGrossIncome) && + Objects.equals(this.historicalAnnualIncome, craBankIncomeSummary.historicalAnnualIncome) && + Objects.equals(this.forecastedAnnualIncome, craBankIncomeSummary.forecastedAnnualIncome) && + Objects.equals(this.historicalSummary, craBankIncomeSummary.historicalSummary); + } + + @Override + public int hashCode() { + return Objects.hash(totalAmounts, startDate, endDate, incomeSourcesCount, incomeCategoriesCount, incomeTransactionsCount, historicalAverageMonthlyGrossIncome, historicalAverageMonthlyIncome, forecastedAverageMonthlyIncome, historicalAnnualGrossIncome, historicalAnnualIncome, forecastedAnnualIncome, historicalSummary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraBankIncomeSummary {\n"); + sb.append(" totalAmounts: ").append(toIndentedString(totalAmounts)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" incomeSourcesCount: ").append(toIndentedString(incomeSourcesCount)).append("\n"); + sb.append(" incomeCategoriesCount: ").append(toIndentedString(incomeCategoriesCount)).append("\n"); + sb.append(" incomeTransactionsCount: ").append(toIndentedString(incomeTransactionsCount)).append("\n"); + sb.append(" historicalAverageMonthlyGrossIncome: ").append(toIndentedString(historicalAverageMonthlyGrossIncome)).append("\n"); + sb.append(" historicalAverageMonthlyIncome: ").append(toIndentedString(historicalAverageMonthlyIncome)).append("\n"); + sb.append(" forecastedAverageMonthlyIncome: ").append(toIndentedString(forecastedAverageMonthlyIncome)).append("\n"); + sb.append(" historicalAnnualGrossIncome: ").append(toIndentedString(historicalAnnualGrossIncome)).append("\n"); + sb.append(" historicalAnnualIncome: ").append(toIndentedString(historicalAnnualIncome)).append("\n"); + sb.append(" forecastedAnnualIncome: ").append(toIndentedString(forecastedAnnualIncome)).append("\n"); + sb.append(" historicalSummary: ").append(toIndentedString(historicalSummary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeTransaction.java b/src/main/java/com/plaid/client/model/CraBankIncomeTransaction.java new file mode 100644 index 0000000000..8f311a3649 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeTransaction.java @@ -0,0 +1,359 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraBankIncomeBonusType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * The transactions data for the end user's income source(s). + */ +@ApiModel(description = "The transactions data for the end user's income source(s).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraBankIncomeTransaction { + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ORIGINAL_DESCRIPTION = "original_description"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_DESCRIPTION) + private String originalDescription; + + public static final String SERIALIZED_NAME_PENDING = "pending"; + @SerializedName(SERIALIZED_NAME_PENDING) + private Boolean pending; + + public static final String SERIALIZED_NAME_CHECK_NUMBER = "check_number"; + @SerializedName(SERIALIZED_NAME_CHECK_NUMBER) + private String checkNumber; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_BONUS_TYPE = "bonus_type"; + @SerializedName(SERIALIZED_NAME_BONUS_TYPE) + private CraBankIncomeBonusType bonusType; + + + public CraBankIncomeTransaction transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive. + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public CraBankIncomeTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The settled value of the transaction, denominated in the transaction's currency as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The settled value of the transaction, denominated in the transaction's currency as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CraBankIncomeTransaction date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format (YYYY-MM-DD). + * @return date + **/ + @ApiModelProperty(required = true, value = "For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public CraBankIncomeTransaction name(String name) { + + this.name = name; + return this; + } + + /** + * The merchant name or transaction description. This is a legacy field that is no longer maintained. For merchant name, use the `merchant_name` field; for description, use the `original_description` field. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The merchant name or transaction description. This is a legacy field that is no longer maintained. For merchant name, use the `merchant_name` field; for description, use the `original_description` field.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CraBankIncomeTransaction originalDescription(String originalDescription) { + + this.originalDescription = originalDescription; + return this; + } + + /** + * The string returned by the financial institution to describe the transaction. + * @return originalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The string returned by the financial institution to describe the transaction.") + + public String getOriginalDescription() { + return originalDescription; + } + + + public void setOriginalDescription(String originalDescription) { + this.originalDescription = originalDescription; + } + + + public CraBankIncomeTransaction pending(Boolean pending) { + + this.pending = pending; + return this; + } + + /** + * When true, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled. + * @return pending + **/ + @ApiModelProperty(required = true, value = "When true, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.") + + public Boolean getPending() { + return pending; + } + + + public void setPending(Boolean pending) { + this.pending = pending; + } + + + public CraBankIncomeTransaction checkNumber(String checkNumber) { + + this.checkNumber = checkNumber; + return this; + } + + /** + * The check number of the transaction. This field is only populated for check transactions. + * @return checkNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The check number of the transaction. This field is only populated for check transactions.") + + public String getCheckNumber() { + return checkNumber; + } + + + public void setCheckNumber(String checkNumber) { + this.checkNumber = checkNumber; + } + + + public CraBankIncomeTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CraBankIncomeTransaction unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public CraBankIncomeTransaction bonusType(CraBankIncomeBonusType bonusType) { + + this.bonusType = bonusType; + return this; + } + + /** + * Get bonusType + * @return bonusType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraBankIncomeBonusType getBonusType() { + return bonusType; + } + + + public void setBonusType(CraBankIncomeBonusType bonusType) { + this.bonusType = bonusType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraBankIncomeTransaction craBankIncomeTransaction = (CraBankIncomeTransaction) o; + return Objects.equals(this.transactionId, craBankIncomeTransaction.transactionId) && + Objects.equals(this.amount, craBankIncomeTransaction.amount) && + Objects.equals(this.date, craBankIncomeTransaction.date) && + Objects.equals(this.name, craBankIncomeTransaction.name) && + Objects.equals(this.originalDescription, craBankIncomeTransaction.originalDescription) && + Objects.equals(this.pending, craBankIncomeTransaction.pending) && + Objects.equals(this.checkNumber, craBankIncomeTransaction.checkNumber) && + Objects.equals(this.isoCurrencyCode, craBankIncomeTransaction.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, craBankIncomeTransaction.unofficialCurrencyCode) && + Objects.equals(this.bonusType, craBankIncomeTransaction.bonusType); + } + + @Override + public int hashCode() { + return Objects.hash(transactionId, amount, date, name, originalDescription, pending, checkNumber, isoCurrencyCode, unofficialCurrencyCode, bonusType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraBankIncomeTransaction {\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" originalDescription: ").append(toIndentedString(originalDescription)).append("\n"); + sb.append(" pending: ").append(toIndentedString(pending)).append("\n"); + sb.append(" checkNumber: ").append(toIndentedString(checkNumber)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" bonusType: ").append(toIndentedString(bonusType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeWarning.java b/src/main/java/com/plaid/client/model/CraBankIncomeWarning.java new file mode 100644 index 0000000000..fd2bc0626c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeWarning.java @@ -0,0 +1,160 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraBankIncomeCause; +import com.plaid.client.model.CraBankIncomeWarningCode; +import com.plaid.client.model.CreditBankIncomeWarningType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The warning associated with the data that was unavailable. + */ +@ApiModel(description = "The warning associated with the data that was unavailable.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraBankIncomeWarning { + public static final String SERIALIZED_NAME_WARNING_TYPE = "warning_type"; + @SerializedName(SERIALIZED_NAME_WARNING_TYPE) + private CreditBankIncomeWarningType warningType; + + public static final String SERIALIZED_NAME_WARNING_CODE = "warning_code"; + @SerializedName(SERIALIZED_NAME_WARNING_CODE) + private CraBankIncomeWarningCode warningCode; + + public static final String SERIALIZED_NAME_CAUSE = "cause"; + @SerializedName(SERIALIZED_NAME_CAUSE) + private CraBankIncomeCause cause; + + + public CraBankIncomeWarning warningType(CreditBankIncomeWarningType warningType) { + + this.warningType = warningType; + return this; + } + + /** + * Get warningType + * @return warningType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditBankIncomeWarningType getWarningType() { + return warningType; + } + + + public void setWarningType(CreditBankIncomeWarningType warningType) { + this.warningType = warningType; + } + + + public CraBankIncomeWarning warningCode(CraBankIncomeWarningCode warningCode) { + + this.warningCode = warningCode; + return this; + } + + /** + * Get warningCode + * @return warningCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraBankIncomeWarningCode getWarningCode() { + return warningCode; + } + + + public void setWarningCode(CraBankIncomeWarningCode warningCode) { + this.warningCode = warningCode; + } + + + public CraBankIncomeWarning cause(CraBankIncomeCause cause) { + + this.cause = cause; + return this; + } + + /** + * Get cause + * @return cause + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraBankIncomeCause getCause() { + return cause; + } + + + public void setCause(CraBankIncomeCause cause) { + this.cause = cause; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraBankIncomeWarning craBankIncomeWarning = (CraBankIncomeWarning) o; + return Objects.equals(this.warningType, craBankIncomeWarning.warningType) && + Objects.equals(this.warningCode, craBankIncomeWarning.warningCode) && + Objects.equals(this.cause, craBankIncomeWarning.cause); + } + + @Override + public int hashCode() { + return Objects.hash(warningType, warningCode, cause); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraBankIncomeWarning {\n"); + sb.append(" warningType: ").append(toIndentedString(warningType)).append("\n"); + sb.append(" warningCode: ").append(toIndentedString(warningCode)).append("\n"); + sb.append(" cause: ").append(toIndentedString(cause)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraBankIncomeWarningCode.java b/src/main/java/com/plaid/client/model/CraBankIncomeWarningCode.java new file mode 100644 index 0000000000..4a5c244a71 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraBankIncomeWarningCode.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The warning code identifies a specific kind of warning. `IDENTITY_UNAVAILABLE`: Unable to extract identity for the Item `TRANSACTIONS_UNAVAILABLE`: Unable to extract transactions for the Item `REPORT_DELETED`: Report deleted due to customer or consumer request `DATA_UNAVAILABLE`: No relevant data was found for the Item + */ +@JsonAdapter(CraBankIncomeWarningCode.Adapter.class) +public enum CraBankIncomeWarningCode { + + IDENTITY_UNAVAILABLE("IDENTITY_UNAVAILABLE"), + + TRANSACTIONS_UNAVAILABLE("TRANSACTIONS_UNAVAILABLE"), + + REPORT_DELETED("REPORT_DELETED"), + + DATA_UNAVAILABLE("DATA_UNAVAILABLE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraBankIncomeWarningCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraBankIncomeWarningCode fromValue(String value) { + for (CraBankIncomeWarningCode b : CraBankIncomeWarningCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraBankIncomeWarningCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraBankIncomeWarningCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraBankIncomeWarningCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraBankIncomeWarningCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraCashflowInsightsReport.java b/src/main/java/com/plaid/client/model/CraCashflowInsightsReport.java new file mode 100644 index 0000000000..244b379ecb --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCashflowInsightsReport.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Contains data for the CRA Cashflow Insights Report. + */ +@ApiModel(description = "Contains data for the CRA Cashflow Insights Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCashflowInsightsReport { + public static final String SERIALIZED_NAME_REPORT_ID = "report_id"; + @SerializedName(SERIALIZED_NAME_REPORT_ID) + private String reportId; + + public static final String SERIALIZED_NAME_GENERATED_TIME = "generated_time"; + @SerializedName(SERIALIZED_NAME_GENERATED_TIME) + private OffsetDateTime generatedTime; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + + public CraCashflowInsightsReport reportId(String reportId) { + + this.reportId = reportId; + return this; + } + + /** + * The unique identifier associated with the report object. + * @return reportId + **/ + @ApiModelProperty(required = true, value = "The unique identifier associated with the report object.") + + public String getReportId() { + return reportId; + } + + + public void setReportId(String reportId) { + this.reportId = reportId; + } + + + public CraCashflowInsightsReport generatedTime(OffsetDateTime generatedTime) { + + this.generatedTime = generatedTime; + return this; + } + + /** + * The time when the report was generated. + * @return generatedTime + **/ + @ApiModelProperty(required = true, value = "The time when the report was generated.") + + public OffsetDateTime getGeneratedTime() { + return generatedTime; + } + + + public void setGeneratedTime(OffsetDateTime generatedTime) { + this.generatedTime = generatedTime; + } + + + public CraCashflowInsightsReport attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * A map of cash flow attributes, where the key is a string, and the value is a string, float, int, or boolean. The specific list of attributes will depend on the cash flow attributes version used. For a full list of attributes, contact your account manager. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A map of cash flow attributes, where the key is a string, and the value is a string, float, int, or boolean. The specific list of attributes will depend on the cash flow attributes version used. For a full list of attributes, contact your account manager.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCashflowInsightsReport craCashflowInsightsReport = (CraCashflowInsightsReport) o; + return Objects.equals(this.reportId, craCashflowInsightsReport.reportId) && + Objects.equals(this.generatedTime, craCashflowInsightsReport.generatedTime) && + Objects.equals(this.attributes, craCashflowInsightsReport.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(reportId, generatedTime, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCashflowInsightsReport {\n"); + sb.append(" reportId: ").append(toIndentedString(reportId)).append("\n"); + sb.append(" generatedTime: ").append(toIndentedString(generatedTime)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportBaseReportGetRequest.java b/src/main/java/com/plaid/client/model/CraCheckReportBaseReportGetRequest.java new file mode 100644 index 0000000000..6e4d773a3d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportBaseReportGetRequest.java @@ -0,0 +1,343 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCheckReportPermissiblePurpose; +import com.plaid.client.model.CraUserTier; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraCheckReportBaseReportGetRequest defines the request schema for `/cra/check_report/base_report/get` + */ +@ApiModel(description = "CraCheckReportBaseReportGetRequest defines the request schema for `/cra/check_report/base_report/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportBaseReportGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN = "third_party_user_token"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN) + private String thirdPartyUserToken; + + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = null; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_TIER = "user_tier"; + @SerializedName(SERIALIZED_NAME_USER_TIER) + private CraUserTier userTier; + + public static final String SERIALIZED_NAME_REPORT_ID = "report_id"; + @SerializedName(SERIALIZED_NAME_REPORT_ID) + private String reportId; + + public static final String SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE = "consumer_report_permissible_purpose"; + @SerializedName(SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE) + private CraCheckReportPermissiblePurpose consumerReportPermissiblePurpose; + + + public CraCheckReportBaseReportGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraCheckReportBaseReportGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraCheckReportBaseReportGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCheckReportBaseReportGetRequest thirdPartyUserToken(String thirdPartyUserToken) { + + this.thirdPartyUserToken = thirdPartyUserToken; + return this; + } + + /** + * The third-party user token associated with the requested User data. + * @return thirdPartyUserToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The third-party user token associated with the requested User data.") + + public String getThirdPartyUserToken() { + return thirdPartyUserToken; + } + + + public void setThirdPartyUserToken(String thirdPartyUserToken) { + this.thirdPartyUserToken = thirdPartyUserToken; + } + + + public CraCheckReportBaseReportGetRequest itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public CraCheckReportBaseReportGetRequest addItemIdsItem(String itemIdsItem) { + if (this.itemIds == null) { + this.itemIds = new ArrayList<>(); + } + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * The Item IDs to include in the Base Report. If not provided, all Items associated with the user will be included. + * @return itemIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Item IDs to include in the Base Report. If not provided, all Items associated with the user will be included.") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + public CraCheckReportBaseReportGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CraCheckReportBaseReportGetRequest userTier(CraUserTier userTier) { + + this.userTier = userTier; + return this; + } + + /** + * Get userTier + * @return userTier + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraUserTier getUserTier() { + return userTier; + } + + + public void setUserTier(CraUserTier userTier) { + this.userTier = userTier; + } + + + public CraCheckReportBaseReportGetRequest reportId(String reportId) { + + this.reportId = reportId; + return this; + } + + /** + * The CRA report token (formatted `cra-report-<env>-<uuid>`) identifying a specific consumer report. When provided alongside `consumer_report_permissible_purpose`, pins retrieval to that report and stamps its permissible purpose. If omitted, the most recently generated report for the user is returned. + * @return reportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The CRA report token (formatted `cra-report--`) identifying a specific consumer report. When provided alongside `consumer_report_permissible_purpose`, pins retrieval to that report and stamps its permissible purpose. If omitted, the most recently generated report for the user is returned.") + + public String getReportId() { + return reportId; + } + + + public void setReportId(String reportId) { + this.reportId = reportId; + } + + + public CraCheckReportBaseReportGetRequest consumerReportPermissiblePurpose(CraCheckReportPermissiblePurpose consumerReportPermissiblePurpose) { + + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + return this; + } + + /** + * Get consumerReportPermissiblePurpose + * @return consumerReportPermissiblePurpose + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportPermissiblePurpose getConsumerReportPermissiblePurpose() { + return consumerReportPermissiblePurpose; + } + + + public void setConsumerReportPermissiblePurpose(CraCheckReportPermissiblePurpose consumerReportPermissiblePurpose) { + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportBaseReportGetRequest craCheckReportBaseReportGetRequest = (CraCheckReportBaseReportGetRequest) o; + return Objects.equals(this.clientId, craCheckReportBaseReportGetRequest.clientId) && + Objects.equals(this.secret, craCheckReportBaseReportGetRequest.secret) && + Objects.equals(this.userId, craCheckReportBaseReportGetRequest.userId) && + Objects.equals(this.thirdPartyUserToken, craCheckReportBaseReportGetRequest.thirdPartyUserToken) && + Objects.equals(this.itemIds, craCheckReportBaseReportGetRequest.itemIds) && + Objects.equals(this.userToken, craCheckReportBaseReportGetRequest.userToken) && + Objects.equals(this.userTier, craCheckReportBaseReportGetRequest.userTier) && + Objects.equals(this.reportId, craCheckReportBaseReportGetRequest.reportId) && + Objects.equals(this.consumerReportPermissiblePurpose, craCheckReportBaseReportGetRequest.consumerReportPermissiblePurpose); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, thirdPartyUserToken, itemIds, userToken, userTier, reportId, consumerReportPermissiblePurpose); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportBaseReportGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" thirdPartyUserToken: ").append(toIndentedString(thirdPartyUserToken)).append("\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userTier: ").append(toIndentedString(userTier)).append("\n"); + sb.append(" reportId: ").append(toIndentedString(reportId)).append("\n"); + sb.append(" consumerReportPermissiblePurpose: ").append(toIndentedString(consumerReportPermissiblePurpose)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportBaseReportGetResponse.java b/src/main/java/com/plaid/client/model/CraCheckReportBaseReportGetResponse.java new file mode 100644 index 0000000000..747d5b4b34 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportBaseReportGetResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BaseReport; +import com.plaid.client.model.BaseReportWarning; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraCheckReportBaseReportGetResponse defines the response schema for `/cra/check_report/base_report/get` + */ +@ApiModel(description = "CraCheckReportBaseReportGetResponse defines the response schema for `/cra/check_report/base_report/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportBaseReportGetResponse { + public static final String SERIALIZED_NAME_REPORT = "report"; + @SerializedName(SERIALIZED_NAME_REPORT) + private BaseReport report; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CraCheckReportBaseReportGetResponse report(BaseReport report) { + + this.report = report; + return this; + } + + /** + * Get report + * @return report + **/ + @ApiModelProperty(required = true, value = "") + + public BaseReport getReport() { + return report; + } + + + public void setReport(BaseReport report) { + this.report = report; + } + + + public CraCheckReportBaseReportGetResponse warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public CraCheckReportBaseReportGetResponse addWarningsItem(BaseReportWarning warningsItem) { + this.warnings.add(warningsItem); + return this; + } + + /** + * This array contains any information about errors or alerts related to the Base Report that did not block generation of the report. + * @return warnings + **/ + @ApiModelProperty(required = true, value = "This array contains any information about errors or alerts related to the Base Report that did not block generation of the report.") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + public CraCheckReportBaseReportGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportBaseReportGetResponse craCheckReportBaseReportGetResponse = (CraCheckReportBaseReportGetResponse) o; + return Objects.equals(this.report, craCheckReportBaseReportGetResponse.report) && + Objects.equals(this.warnings, craCheckReportBaseReportGetResponse.warnings) && + Objects.equals(this.requestId, craCheckReportBaseReportGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(report, warnings, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportBaseReportGetResponse {\n"); + sb.append(" report: ").append(toIndentedString(report)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportCashflowInsightsGetOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportCashflowInsightsGetOptions.java new file mode 100644 index 0000000000..413e2193a8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportCashflowInsightsGetOptions.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CashflowAttributesVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Deprecated. This field is no longer accepted for new clients (created on or after 2026-07-01). New clients should specify required products when creating the Consumer Report. Existing integrations may continue to pass `options`. + */ +@ApiModel(description = "Deprecated. This field is no longer accepted for new clients (created on or after 2026-07-01). New clients should specify required products when creating the Consumer Report. Existing integrations may continue to pass `options`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportCashflowInsightsGetOptions { + public static final String SERIALIZED_NAME_ATTRIBUTES_VERSION = "attributes_version"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES_VERSION) + private CashflowAttributesVersion attributesVersion; + + + public CraCheckReportCashflowInsightsGetOptions attributesVersion(CashflowAttributesVersion attributesVersion) { + + this.attributesVersion = attributesVersion; + return this; + } + + /** + * Get attributesVersion + * @return attributesVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CashflowAttributesVersion getAttributesVersion() { + return attributesVersion; + } + + + public void setAttributesVersion(CashflowAttributesVersion attributesVersion) { + this.attributesVersion = attributesVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportCashflowInsightsGetOptions craCheckReportCashflowInsightsGetOptions = (CraCheckReportCashflowInsightsGetOptions) o; + return Objects.equals(this.attributesVersion, craCheckReportCashflowInsightsGetOptions.attributesVersion); + } + + @Override + public int hashCode() { + return Objects.hash(attributesVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportCashflowInsightsGetOptions {\n"); + sb.append(" attributesVersion: ").append(toIndentedString(attributesVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportCashflowInsightsGetRequest.java b/src/main/java/com/plaid/client/model/CraCheckReportCashflowInsightsGetRequest.java new file mode 100644 index 0000000000..70fcea44af --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportCashflowInsightsGetRequest.java @@ -0,0 +1,245 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCheckReportCashflowInsightsGetOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraCheckReportCashflowInsightsGetRequest defines the request schema for `/cra/check_report/cashflow_insights/get`. + */ +@ApiModel(description = "CraCheckReportCashflowInsightsGetRequest defines the request schema for `/cra/check_report/cashflow_insights/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportCashflowInsightsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN = "third_party_user_token"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN) + private String thirdPartyUserToken; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private CraCheckReportCashflowInsightsGetOptions options; + + + public CraCheckReportCashflowInsightsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraCheckReportCashflowInsightsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraCheckReportCashflowInsightsGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCheckReportCashflowInsightsGetRequest thirdPartyUserToken(String thirdPartyUserToken) { + + this.thirdPartyUserToken = thirdPartyUserToken; + return this; + } + + /** + * The third-party user token associated with the requested User data. + * @return thirdPartyUserToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The third-party user token associated with the requested User data.") + + public String getThirdPartyUserToken() { + return thirdPartyUserToken; + } + + + public void setThirdPartyUserToken(String thirdPartyUserToken) { + this.thirdPartyUserToken = thirdPartyUserToken; + } + + + public CraCheckReportCashflowInsightsGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CraCheckReportCashflowInsightsGetRequest options(CraCheckReportCashflowInsightsGetOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportCashflowInsightsGetOptions getOptions() { + return options; + } + + + public void setOptions(CraCheckReportCashflowInsightsGetOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportCashflowInsightsGetRequest craCheckReportCashflowInsightsGetRequest = (CraCheckReportCashflowInsightsGetRequest) o; + return Objects.equals(this.clientId, craCheckReportCashflowInsightsGetRequest.clientId) && + Objects.equals(this.secret, craCheckReportCashflowInsightsGetRequest.secret) && + Objects.equals(this.userId, craCheckReportCashflowInsightsGetRequest.userId) && + Objects.equals(this.thirdPartyUserToken, craCheckReportCashflowInsightsGetRequest.thirdPartyUserToken) && + Objects.equals(this.userToken, craCheckReportCashflowInsightsGetRequest.userToken) && + Objects.equals(this.options, craCheckReportCashflowInsightsGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, thirdPartyUserToken, userToken, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportCashflowInsightsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" thirdPartyUserToken: ").append(toIndentedString(thirdPartyUserToken)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportCashflowInsightsGetResponse.java b/src/main/java/com/plaid/client/model/CraCheckReportCashflowInsightsGetResponse.java new file mode 100644 index 0000000000..d8fe5d157d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportCashflowInsightsGetResponse.java @@ -0,0 +1,167 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CheckReportWarning; +import com.plaid.client.model.CraCashflowInsightsReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraCheckReportCashflowInsightsGetResponse defines the response schema for `/cra/check_report/cashflow_insights/get`. + */ +@ApiModel(description = "CraCheckReportCashflowInsightsGetResponse defines the response schema for `/cra/check_report/cashflow_insights/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportCashflowInsightsGetResponse { + public static final String SERIALIZED_NAME_REPORT = "report"; + @SerializedName(SERIALIZED_NAME_REPORT) + private CraCashflowInsightsReport report; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = null; + + + public CraCheckReportCashflowInsightsGetResponse report(CraCashflowInsightsReport report) { + + this.report = report; + return this; + } + + /** + * Get report + * @return report + **/ + @ApiModelProperty(required = true, value = "") + + public CraCashflowInsightsReport getReport() { + return report; + } + + + public void setReport(CraCashflowInsightsReport report) { + this.report = report; + } + + + public CraCheckReportCashflowInsightsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CraCheckReportCashflowInsightsGetResponse warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public CraCheckReportCashflowInsightsGetResponse addWarningsItem(CheckReportWarning warningsItem) { + if (this.warnings == null) { + this.warnings = new ArrayList<>(); + } + this.warnings.add(warningsItem); + return this; + } + + /** + * If the Cashflow Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing + * @return warnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If the Cashflow Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportCashflowInsightsGetResponse craCheckReportCashflowInsightsGetResponse = (CraCheckReportCashflowInsightsGetResponse) o; + return Objects.equals(this.report, craCheckReportCashflowInsightsGetResponse.report) && + Objects.equals(this.requestId, craCheckReportCashflowInsightsGetResponse.requestId) && + Objects.equals(this.warnings, craCheckReportCashflowInsightsGetResponse.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(report, requestId, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportCashflowInsightsGetResponse {\n"); + sb.append(" report: ").append(toIndentedString(report)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportCreateBaseReportOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportCreateBaseReportOptions.java new file mode 100644 index 0000000000..e3d6664772 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportCreateBaseReportOptions.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCheckReportGSEOptions; +import com.plaid.client.model.CraCheckReportHomeLendingReportOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines configuration options to generate a Base Report + */ +@ApiModel(description = "Defines configuration options to generate a Base Report") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportCreateBaseReportOptions { + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + public static final String SERIALIZED_NAME_GSE_OPTIONS = "gse_options"; + @SerializedName(SERIALIZED_NAME_GSE_OPTIONS) + private CraCheckReportGSEOptions gseOptions; + + public static final String SERIALIZED_NAME_REQUIRE_IDENTITY = "require_identity"; + @SerializedName(SERIALIZED_NAME_REQUIRE_IDENTITY) + private Boolean requireIdentity; + + public static final String SERIALIZED_NAME_HOME_LENDING_REPORT_OPTIONS = "home_lending_report_options"; + @SerializedName(SERIALIZED_NAME_HOME_LENDING_REPORT_OPTIONS) + private CraCheckReportHomeLendingReportOptions homeLendingReportOptions; + + + public CraCheckReportCreateBaseReportOptions clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * Client-generated identifier, which can be used by lenders to track loan applications. This field is deprecated. Use the `client_report_id` field at the top level of the request instead. + * @return clientReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client-generated identifier, which can be used by lenders to track loan applications. This field is deprecated. Use the `client_report_id` field at the top level of the request instead.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + public CraCheckReportCreateBaseReportOptions gseOptions(CraCheckReportGSEOptions gseOptions) { + + this.gseOptions = gseOptions; + return this; + } + + /** + * Get gseOptions + * @return gseOptions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportGSEOptions getGseOptions() { + return gseOptions; + } + + + public void setGseOptions(CraCheckReportGSEOptions gseOptions) { + this.gseOptions = gseOptions; + } + + + public CraCheckReportCreateBaseReportOptions requireIdentity(Boolean requireIdentity) { + + this.requireIdentity = requireIdentity; + return this; + } + + /** + * Indicates that the report must include identity information. If identity information is not available, the report will fail. + * @return requireIdentity + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates that the report must include identity information. If identity information is not available, the report will fail.") + + public Boolean getRequireIdentity() { + return requireIdentity; + } + + + public void setRequireIdentity(Boolean requireIdentity) { + this.requireIdentity = requireIdentity; + } + + + public CraCheckReportCreateBaseReportOptions homeLendingReportOptions(CraCheckReportHomeLendingReportOptions homeLendingReportOptions) { + + this.homeLendingReportOptions = homeLendingReportOptions; + return this; + } + + /** + * Get homeLendingReportOptions + * @return homeLendingReportOptions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportHomeLendingReportOptions getHomeLendingReportOptions() { + return homeLendingReportOptions; + } + + + public void setHomeLendingReportOptions(CraCheckReportHomeLendingReportOptions homeLendingReportOptions) { + this.homeLendingReportOptions = homeLendingReportOptions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportCreateBaseReportOptions craCheckReportCreateBaseReportOptions = (CraCheckReportCreateBaseReportOptions) o; + return Objects.equals(this.clientReportId, craCheckReportCreateBaseReportOptions.clientReportId) && + Objects.equals(this.gseOptions, craCheckReportCreateBaseReportOptions.gseOptions) && + Objects.equals(this.requireIdentity, craCheckReportCreateBaseReportOptions.requireIdentity) && + Objects.equals(this.homeLendingReportOptions, craCheckReportCreateBaseReportOptions.homeLendingReportOptions); + } + + @Override + public int hashCode() { + return Objects.hash(clientReportId, gseOptions, requireIdentity, homeLendingReportOptions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportCreateBaseReportOptions {\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append(" gseOptions: ").append(toIndentedString(gseOptions)).append("\n"); + sb.append(" requireIdentity: ").append(toIndentedString(requireIdentity)).append("\n"); + sb.append(" homeLendingReportOptions: ").append(toIndentedString(homeLendingReportOptions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportCreateCashflowInsightsOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportCreateCashflowInsightsOptions.java new file mode 100644 index 0000000000..10fc40fa5c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportCreateCashflowInsightsOptions.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CashflowAttributesVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines configuration options to generate Cashflow Insights + */ +@ApiModel(description = "Defines configuration options to generate Cashflow Insights") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportCreateCashflowInsightsOptions { + public static final String SERIALIZED_NAME_ATTRIBUTES_VERSION = "attributes_version"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES_VERSION) + private CashflowAttributesVersion attributesVersion; + + + public CraCheckReportCreateCashflowInsightsOptions attributesVersion(CashflowAttributesVersion attributesVersion) { + + this.attributesVersion = attributesVersion; + return this; + } + + /** + * Get attributesVersion + * @return attributesVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CashflowAttributesVersion getAttributesVersion() { + return attributesVersion; + } + + + public void setAttributesVersion(CashflowAttributesVersion attributesVersion) { + this.attributesVersion = attributesVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportCreateCashflowInsightsOptions craCheckReportCreateCashflowInsightsOptions = (CraCheckReportCreateCashflowInsightsOptions) o; + return Objects.equals(this.attributesVersion, craCheckReportCreateCashflowInsightsOptions.attributesVersion); + } + + @Override + public int hashCode() { + return Objects.hash(attributesVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportCreateCashflowInsightsOptions {\n"); + sb.append(" attributesVersion: ").append(toIndentedString(attributesVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportCreateEmploymentRefreshOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportCreateEmploymentRefreshOptions.java new file mode 100644 index 0000000000..951453f077 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportCreateEmploymentRefreshOptions.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines configuration options for the Employment Refresh Report. + */ +@ApiModel(description = "Defines configuration options for the Employment Refresh Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportCreateEmploymentRefreshOptions { + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + + public CraCheckReportCreateEmploymentRefreshOptions daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days of data to request for the report. This field is required if an Employment Refresh Report is requested. Maximum is 731. + * maximum: 731 + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The number of days of data to request for the report. This field is required if an Employment Refresh Report is requested. Maximum is 731.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportCreateEmploymentRefreshOptions craCheckReportCreateEmploymentRefreshOptions = (CraCheckReportCreateEmploymentRefreshOptions) o; + return Objects.equals(this.daysRequested, craCheckReportCreateEmploymentRefreshOptions.daysRequested); + } + + @Override + public int hashCode() { + return Objects.hash(daysRequested); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportCreateEmploymentRefreshOptions {\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportCreateIncomeInsightsOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportCreateIncomeInsightsOptions.java new file mode 100644 index 0000000000..77123a57fb --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportCreateIncomeInsightsOptions.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeInsightsFilter; +import com.plaid.client.model.IncomeInsightsVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines configuration options to generate Income Insights. + */ +@ApiModel(description = "Defines configuration options to generate Income Insights.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportCreateIncomeInsightsOptions { + public static final String SERIALIZED_NAME_INCOME_INSIGHTS_FILTER = "income_insights_filter"; + @SerializedName(SERIALIZED_NAME_INCOME_INSIGHTS_FILTER) + private IncomeInsightsFilter incomeInsightsFilter; + + public static final String SERIALIZED_NAME_INCOME_INSIGHTS_VERSION = "income_insights_version"; + @SerializedName(SERIALIZED_NAME_INCOME_INSIGHTS_VERSION) + private IncomeInsightsVersion incomeInsightsVersion; + + + public CraCheckReportCreateIncomeInsightsOptions incomeInsightsFilter(IncomeInsightsFilter incomeInsightsFilter) { + + this.incomeInsightsFilter = incomeInsightsFilter; + return this; + } + + /** + * Get incomeInsightsFilter + * @return incomeInsightsFilter + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeInsightsFilter getIncomeInsightsFilter() { + return incomeInsightsFilter; + } + + + public void setIncomeInsightsFilter(IncomeInsightsFilter incomeInsightsFilter) { + this.incomeInsightsFilter = incomeInsightsFilter; + } + + + public CraCheckReportCreateIncomeInsightsOptions incomeInsightsVersion(IncomeInsightsVersion incomeInsightsVersion) { + + this.incomeInsightsVersion = incomeInsightsVersion; + return this; + } + + /** + * Get incomeInsightsVersion + * @return incomeInsightsVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public IncomeInsightsVersion getIncomeInsightsVersion() { + return incomeInsightsVersion; + } + + + public void setIncomeInsightsVersion(IncomeInsightsVersion incomeInsightsVersion) { + this.incomeInsightsVersion = incomeInsightsVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportCreateIncomeInsightsOptions craCheckReportCreateIncomeInsightsOptions = (CraCheckReportCreateIncomeInsightsOptions) o; + return Objects.equals(this.incomeInsightsFilter, craCheckReportCreateIncomeInsightsOptions.incomeInsightsFilter) && + Objects.equals(this.incomeInsightsVersion, craCheckReportCreateIncomeInsightsOptions.incomeInsightsVersion); + } + + @Override + public int hashCode() { + return Objects.hash(incomeInsightsFilter, incomeInsightsVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportCreateIncomeInsightsOptions {\n"); + sb.append(" incomeInsightsFilter: ").append(toIndentedString(incomeInsightsFilter)).append("\n"); + sb.append(" incomeInsightsVersion: ").append(toIndentedString(incomeInsightsVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportCreateLendScoreOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportCreateLendScoreOptions.java new file mode 100644 index 0000000000..1e5460a692 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportCreateLendScoreOptions.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidLendScoreVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines configuration options to generate the LendScore + */ +@ApiModel(description = "Defines configuration options to generate the LendScore") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportCreateLendScoreOptions { + public static final String SERIALIZED_NAME_LEND_SCORE_VERSION = "lend_score_version"; + @SerializedName(SERIALIZED_NAME_LEND_SCORE_VERSION) + private PlaidLendScoreVersion lendScoreVersion; + + + public CraCheckReportCreateLendScoreOptions lendScoreVersion(PlaidLendScoreVersion lendScoreVersion) { + + this.lendScoreVersion = lendScoreVersion; + return this; + } + + /** + * Get lendScoreVersion + * @return lendScoreVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidLendScoreVersion getLendScoreVersion() { + return lendScoreVersion; + } + + + public void setLendScoreVersion(PlaidLendScoreVersion lendScoreVersion) { + this.lendScoreVersion = lendScoreVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportCreateLendScoreOptions craCheckReportCreateLendScoreOptions = (CraCheckReportCreateLendScoreOptions) o; + return Objects.equals(this.lendScoreVersion, craCheckReportCreateLendScoreOptions.lendScoreVersion); + } + + @Override + public int hashCode() { + return Objects.hash(lendScoreVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportCreateLendScoreOptions {\n"); + sb.append(" lendScoreVersion: ").append(toIndentedString(lendScoreVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportCreateNetworkInsightsOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportCreateNetworkInsightsOptions.java new file mode 100644 index 0000000000..c7cdeeb52c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportCreateNetworkInsightsOptions.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NetworkInsightsVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines configuration options to generate Network Insights + */ +@ApiModel(description = "Defines configuration options to generate Network Insights") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportCreateNetworkInsightsOptions { + public static final String SERIALIZED_NAME_NETWORK_INSIGHTS_VERSION = "network_insights_version"; + @SerializedName(SERIALIZED_NAME_NETWORK_INSIGHTS_VERSION) + private NetworkInsightsVersion networkInsightsVersion; + + + public CraCheckReportCreateNetworkInsightsOptions networkInsightsVersion(NetworkInsightsVersion networkInsightsVersion) { + + this.networkInsightsVersion = networkInsightsVersion; + return this; + } + + /** + * Get networkInsightsVersion + * @return networkInsightsVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NetworkInsightsVersion getNetworkInsightsVersion() { + return networkInsightsVersion; + } + + + public void setNetworkInsightsVersion(NetworkInsightsVersion networkInsightsVersion) { + this.networkInsightsVersion = networkInsightsVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportCreateNetworkInsightsOptions craCheckReportCreateNetworkInsightsOptions = (CraCheckReportCreateNetworkInsightsOptions) o; + return Objects.equals(this.networkInsightsVersion, craCheckReportCreateNetworkInsightsOptions.networkInsightsVersion); + } + + @Override + public int hashCode() { + return Objects.hash(networkInsightsVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportCreateNetworkInsightsOptions {\n"); + sb.append(" networkInsightsVersion: ").append(toIndentedString(networkInsightsVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportCreatePartnerInsightsOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportCreatePartnerInsightsOptions.java new file mode 100644 index 0000000000..c9fc2370fe --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportCreatePartnerInsightsOptions.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPartnerInsightsFicoInput; +import com.plaid.client.model.PrismVersions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines configuration to generate Partner Insights. + */ +@ApiModel(description = "Defines configuration to generate Partner Insights.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportCreatePartnerInsightsOptions { + public static final String SERIALIZED_NAME_PRISM_VERSIONS = "prism_versions"; + @SerializedName(SERIALIZED_NAME_PRISM_VERSIONS) + private PrismVersions prismVersions; + + public static final String SERIALIZED_NAME_FICO = "fico"; + @SerializedName(SERIALIZED_NAME_FICO) + private CraPartnerInsightsFicoInput fico; + + + public CraCheckReportCreatePartnerInsightsOptions prismVersions(PrismVersions prismVersions) { + + this.prismVersions = prismVersions; + return this; + } + + /** + * Get prismVersions + * @return prismVersions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismVersions getPrismVersions() { + return prismVersions; + } + + + public void setPrismVersions(PrismVersions prismVersions) { + this.prismVersions = prismVersions; + } + + + public CraCheckReportCreatePartnerInsightsOptions fico(CraPartnerInsightsFicoInput fico) { + + this.fico = fico; + return this; + } + + /** + * Get fico + * @return fico + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraPartnerInsightsFicoInput getFico() { + return fico; + } + + + public void setFico(CraPartnerInsightsFicoInput fico) { + this.fico = fico; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportCreatePartnerInsightsOptions craCheckReportCreatePartnerInsightsOptions = (CraCheckReportCreatePartnerInsightsOptions) o; + return Objects.equals(this.prismVersions, craCheckReportCreatePartnerInsightsOptions.prismVersions) && + Objects.equals(this.fico, craCheckReportCreatePartnerInsightsOptions.fico); + } + + @Override + public int hashCode() { + return Objects.hash(prismVersions, fico); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportCreatePartnerInsightsOptions {\n"); + sb.append(" prismVersions: ").append(toIndentedString(prismVersions)).append("\n"); + sb.append(" fico: ").append(toIndentedString(fico)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportCreateRequest.java b/src/main/java/com/plaid/client/model/CraCheckReportCreateRequest.java new file mode 100644 index 0000000000..edc51c0378 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportCreateRequest.java @@ -0,0 +1,580 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ConsumerReportPermissiblePurpose; +import com.plaid.client.model.CraCheckReportCreateBaseReportOptions; +import com.plaid.client.model.CraCheckReportCreateCashflowInsightsOptions; +import com.plaid.client.model.CraCheckReportCreateIncomeInsightsOptions; +import com.plaid.client.model.CraCheckReportCreateLendScoreOptions; +import com.plaid.client.model.CraCheckReportCreateNetworkInsightsOptions; +import com.plaid.client.model.CraCheckReportCreatePartnerInsightsOptions; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraCheckReportCreateRequest defines the request schema for `/cra/check_report/create`. + */ +@ApiModel(description = "CraCheckReportCreateRequest defines the request schema for `/cra/check_report/create`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + public static final String SERIALIZED_NAME_DAYS_REQUIRED = "days_required"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUIRED) + private Integer daysRequired; + + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = null; + + public static final String SERIALIZED_NAME_BASE_REPORT = "base_report"; + @SerializedName(SERIALIZED_NAME_BASE_REPORT) + private CraCheckReportCreateBaseReportOptions baseReport; + + public static final String SERIALIZED_NAME_CASHFLOW_INSIGHTS = "cashflow_insights"; + @SerializedName(SERIALIZED_NAME_CASHFLOW_INSIGHTS) + private CraCheckReportCreateCashflowInsightsOptions cashflowInsights; + + public static final String SERIALIZED_NAME_PARTNER_INSIGHTS = "partner_insights"; + @SerializedName(SERIALIZED_NAME_PARTNER_INSIGHTS) + private CraCheckReportCreatePartnerInsightsOptions partnerInsights; + + public static final String SERIALIZED_NAME_LEND_SCORE = "lend_score"; + @SerializedName(SERIALIZED_NAME_LEND_SCORE) + private CraCheckReportCreateLendScoreOptions lendScore; + + public static final String SERIALIZED_NAME_NETWORK_INSIGHTS = "network_insights"; + @SerializedName(SERIALIZED_NAME_NETWORK_INSIGHTS) + private CraCheckReportCreateNetworkInsightsOptions networkInsights; + + public static final String SERIALIZED_NAME_INCLUDE_INVESTMENTS = "include_investments"; + @SerializedName(SERIALIZED_NAME_INCLUDE_INVESTMENTS) + private Boolean includeInvestments; + + public static final String SERIALIZED_NAME_INCOME_INSIGHTS = "income_insights"; + @SerializedName(SERIALIZED_NAME_INCOME_INSIGHTS) + private CraCheckReportCreateIncomeInsightsOptions incomeInsights; + + public static final String SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE = "consumer_report_permissible_purpose"; + @SerializedName(SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE) + private ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose; + + + public CraCheckReportCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraCheckReportCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraCheckReportCreateRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCheckReportCreateRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CraCheckReportCreateRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The destination URL to which webhooks will be sent + * @return webhook + **/ + @ApiModelProperty(required = true, value = "The destination URL to which webhooks will be sent ") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + public CraCheckReportCreateRequest daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days of data to request for the report. Default value is 365; maximum is 731; minimum is 180. If a value lower than 180 is provided, a minimum of 180 days of history will be requested. + * maximum: 731 + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The number of days of data to request for the report. Default value is 365; maximum is 731; minimum is 180. If a value lower than 180 is provided, a minimum of 180 days of history will be requested.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + public CraCheckReportCreateRequest daysRequired(Integer daysRequired) { + + this.daysRequired = daysRequired; + return this; + } + + /** + * The minimum number of days of data required for the report to be successfully generated. + * maximum: 184 + * @return daysRequired + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The minimum number of days of data required for the report to be successfully generated.") + + public Integer getDaysRequired() { + return daysRequired; + } + + + public void setDaysRequired(Integer daysRequired) { + this.daysRequired = daysRequired; + } + + + public CraCheckReportCreateRequest clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * Client-generated identifier, which can be used by lenders to track loan applications. + * @return clientReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client-generated identifier, which can be used by lenders to track loan applications.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + public CraCheckReportCreateRequest products(List products) { + + this.products = products; + return this; + } + + public CraCheckReportCreateRequest addProductsItem(Products productsItem) { + if (this.products == null) { + this.products = new ArrayList<>(); + } + this.products.add(productsItem); + return this; + } + + /** + * Specifies a list of products to generate when creating the report (in addition to the Base Report, which is always generated). These products will be made available before a success webhook is sent. Note that specifying `cra_partner_insights` in this field will trigger a billable event. Other products are not billed until the respective reports are retrieved via their product-specific `/get` endpoints. + * @return products + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies a list of products to generate when creating the report (in addition to the Base Report, which is always generated). These products will be made available before a success webhook is sent. Note that specifying `cra_partner_insights` in this field will trigger a billable event. Other products are not billed until the respective reports are retrieved via their product-specific `/get` endpoints.") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + public CraCheckReportCreateRequest baseReport(CraCheckReportCreateBaseReportOptions baseReport) { + + this.baseReport = baseReport; + return this; + } + + /** + * Get baseReport + * @return baseReport + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportCreateBaseReportOptions getBaseReport() { + return baseReport; + } + + + public void setBaseReport(CraCheckReportCreateBaseReportOptions baseReport) { + this.baseReport = baseReport; + } + + + public CraCheckReportCreateRequest cashflowInsights(CraCheckReportCreateCashflowInsightsOptions cashflowInsights) { + + this.cashflowInsights = cashflowInsights; + return this; + } + + /** + * Get cashflowInsights + * @return cashflowInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportCreateCashflowInsightsOptions getCashflowInsights() { + return cashflowInsights; + } + + + public void setCashflowInsights(CraCheckReportCreateCashflowInsightsOptions cashflowInsights) { + this.cashflowInsights = cashflowInsights; + } + + + public CraCheckReportCreateRequest partnerInsights(CraCheckReportCreatePartnerInsightsOptions partnerInsights) { + + this.partnerInsights = partnerInsights; + return this; + } + + /** + * Get partnerInsights + * @return partnerInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportCreatePartnerInsightsOptions getPartnerInsights() { + return partnerInsights; + } + + + public void setPartnerInsights(CraCheckReportCreatePartnerInsightsOptions partnerInsights) { + this.partnerInsights = partnerInsights; + } + + + public CraCheckReportCreateRequest lendScore(CraCheckReportCreateLendScoreOptions lendScore) { + + this.lendScore = lendScore; + return this; + } + + /** + * Get lendScore + * @return lendScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportCreateLendScoreOptions getLendScore() { + return lendScore; + } + + + public void setLendScore(CraCheckReportCreateLendScoreOptions lendScore) { + this.lendScore = lendScore; + } + + + public CraCheckReportCreateRequest networkInsights(CraCheckReportCreateNetworkInsightsOptions networkInsights) { + + this.networkInsights = networkInsights; + return this; + } + + /** + * Get networkInsights + * @return networkInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportCreateNetworkInsightsOptions getNetworkInsights() { + return networkInsights; + } + + + public void setNetworkInsights(CraCheckReportCreateNetworkInsightsOptions networkInsights) { + this.networkInsights = networkInsights; + } + + + public CraCheckReportCreateRequest includeInvestments(Boolean includeInvestments) { + + this.includeInvestments = includeInvestments; + return this; + } + + /** + * Indicates that investment data should be extracted from the linked account(s). + * @return includeInvestments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates that investment data should be extracted from the linked account(s).") + + public Boolean getIncludeInvestments() { + return includeInvestments; + } + + + public void setIncludeInvestments(Boolean includeInvestments) { + this.includeInvestments = includeInvestments; + } + + + public CraCheckReportCreateRequest incomeInsights(CraCheckReportCreateIncomeInsightsOptions incomeInsights) { + + this.incomeInsights = incomeInsights; + return this; + } + + /** + * Get incomeInsights + * @return incomeInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportCreateIncomeInsightsOptions getIncomeInsights() { + return incomeInsights; + } + + + public void setIncomeInsights(CraCheckReportCreateIncomeInsightsOptions incomeInsights) { + this.incomeInsights = incomeInsights; + } + + + public CraCheckReportCreateRequest consumerReportPermissiblePurpose(ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose) { + + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + return this; + } + + /** + * Get consumerReportPermissiblePurpose + * @return consumerReportPermissiblePurpose + **/ + @ApiModelProperty(required = true, value = "") + + public ConsumerReportPermissiblePurpose getConsumerReportPermissiblePurpose() { + return consumerReportPermissiblePurpose; + } + + + public void setConsumerReportPermissiblePurpose(ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose) { + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportCreateRequest craCheckReportCreateRequest = (CraCheckReportCreateRequest) o; + return Objects.equals(this.clientId, craCheckReportCreateRequest.clientId) && + Objects.equals(this.secret, craCheckReportCreateRequest.secret) && + Objects.equals(this.userId, craCheckReportCreateRequest.userId) && + Objects.equals(this.userToken, craCheckReportCreateRequest.userToken) && + Objects.equals(this.webhook, craCheckReportCreateRequest.webhook) && + Objects.equals(this.daysRequested, craCheckReportCreateRequest.daysRequested) && + Objects.equals(this.daysRequired, craCheckReportCreateRequest.daysRequired) && + Objects.equals(this.clientReportId, craCheckReportCreateRequest.clientReportId) && + Objects.equals(this.products, craCheckReportCreateRequest.products) && + Objects.equals(this.baseReport, craCheckReportCreateRequest.baseReport) && + Objects.equals(this.cashflowInsights, craCheckReportCreateRequest.cashflowInsights) && + Objects.equals(this.partnerInsights, craCheckReportCreateRequest.partnerInsights) && + Objects.equals(this.lendScore, craCheckReportCreateRequest.lendScore) && + Objects.equals(this.networkInsights, craCheckReportCreateRequest.networkInsights) && + Objects.equals(this.includeInvestments, craCheckReportCreateRequest.includeInvestments) && + Objects.equals(this.incomeInsights, craCheckReportCreateRequest.incomeInsights) && + Objects.equals(this.consumerReportPermissiblePurpose, craCheckReportCreateRequest.consumerReportPermissiblePurpose); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, userToken, webhook, daysRequested, daysRequired, clientReportId, products, baseReport, cashflowInsights, partnerInsights, lendScore, networkInsights, includeInvestments, incomeInsights, consumerReportPermissiblePurpose); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" daysRequired: ").append(toIndentedString(daysRequired)).append("\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append(" baseReport: ").append(toIndentedString(baseReport)).append("\n"); + sb.append(" cashflowInsights: ").append(toIndentedString(cashflowInsights)).append("\n"); + sb.append(" partnerInsights: ").append(toIndentedString(partnerInsights)).append("\n"); + sb.append(" lendScore: ").append(toIndentedString(lendScore)).append("\n"); + sb.append(" networkInsights: ").append(toIndentedString(networkInsights)).append("\n"); + sb.append(" includeInvestments: ").append(toIndentedString(includeInvestments)).append("\n"); + sb.append(" incomeInsights: ").append(toIndentedString(incomeInsights)).append("\n"); + sb.append(" consumerReportPermissiblePurpose: ").append(toIndentedString(consumerReportPermissiblePurpose)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportCreateResponse.java b/src/main/java/com/plaid/client/model/CraCheckReportCreateResponse.java new file mode 100644 index 0000000000..1d0b9979ec --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportCreateResponse.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraCheckReportCreateResponse defines the response schema for `/cra/check_report/create`. + */ +@ApiModel(description = "CraCheckReportCreateResponse defines the response schema for `/cra/check_report/create`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportCreateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CraCheckReportCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportCreateResponse craCheckReportCreateResponse = (CraCheckReportCreateResponse) o; + return Objects.equals(this.requestId, craCheckReportCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportCreateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportFailedWebhook.java b/src/main/java/com/plaid/client/model/CraCheckReportFailedWebhook.java new file mode 100644 index 0000000000..cf262069c3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportFailedWebhook.java @@ -0,0 +1,328 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CheckReportRepairableItem; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.Products; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Fired when a Check Report has failed to generate. To get more details, call `/user/items/get` and check for non-null `error` objects on the associated Items in the response. These `error` objects will contain more details on why the Item is in an error state and how to resolve it. After resolving the errors, you can try to re-generate the report. + */ +@ApiModel(description = "Fired when a Check Report has failed to generate. To get more details, call `/user/items/get` and check for non-null `error` objects on the associated Items in the response. These `error` objects will contain more details on why the Item is in an error state and how to resolve it. After resolving the errors, you can try to re-generate the report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportFailedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_REPAIRABLE_ITEMS = "repairable_items"; + @SerializedName(SERIALIZED_NAME_REPAIRABLE_ITEMS) + private List repairableItems = null; + + public static final String SERIALIZED_NAME_FAILED_PRODUCTS = "failed_products"; + @SerializedName(SERIALIZED_NAME_FAILED_PRODUCTS) + private List failedProducts = null; + + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = null; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CraCheckReportFailedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CHECK_REPORT` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CHECK_REPORT`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CraCheckReportFailedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `CHECK_REPORT_FAILED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`CHECK_REPORT_FAILED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CraCheckReportFailedWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the user the webhook has fired for. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` corresponding to the user the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCheckReportFailedWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Details on why the Check Report failed and how to resolve it. + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Details on why the Check Report failed and how to resolve it.") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public CraCheckReportFailedWebhook repairableItems(List repairableItems) { + + this.repairableItems = repairableItems; + return this; + } + + public CraCheckReportFailedWebhook addRepairableItemsItem(CheckReportRepairableItem repairableItemsItem) { + if (this.repairableItems == null) { + this.repairableItems = new ArrayList<>(); + } + this.repairableItems.add(repairableItemsItem); + return this; + } + + /** + * A list of Items that the end user can repair via Link [update mode](https://plaid.com/docs/link/update-mode). Empty when no Item is user-repairable. After repairing these Items, call `/cra/check_report/create` to regenerate the report. + * @return repairableItems + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of Items that the end user can repair via Link [update mode](https://plaid.com/docs/link/update-mode). Empty when no Item is user-repairable. After repairing these Items, call `/cra/check_report/create` to regenerate the report.") + + public List getRepairableItems() { + return repairableItems; + } + + + public void setRepairableItems(List repairableItems) { + this.repairableItems = repairableItems; + } + + + public CraCheckReportFailedWebhook failedProducts(List failedProducts) { + + this.failedProducts = failedProducts; + return this; + } + + public CraCheckReportFailedWebhook addFailedProductsItem(Products failedProductsItem) { + if (this.failedProducts == null) { + this.failedProducts = new ArrayList<>(); + } + this.failedProducts.add(failedProductsItem); + return this; + } + + /** + * Specifies a list of products that failed to generate for the report. Populated when generation was attempted and all requested products failed. Additional detail on what caused the failure can be found by calling the product /get endpoint. + * @return failedProducts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies a list of products that failed to generate for the report. Populated when generation was attempted and all requested products failed. Additional detail on what caused the failure can be found by calling the product /get endpoint.") + + public List getFailedProducts() { + return failedProducts; + } + + + public void setFailedProducts(List failedProducts) { + this.failedProducts = failedProducts; + } + + + public CraCheckReportFailedWebhook itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public CraCheckReportFailedWebhook addItemIdsItem(String itemIdsItem) { + if (this.itemIds == null) { + this.itemIds = new ArrayList<>(); + } + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * A list of `item_ids` included in the Check Report. Access to this field is in closed beta. + * @return itemIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of `item_ids` included in the Check Report. Access to this field is in closed beta.") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + public CraCheckReportFailedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportFailedWebhook craCheckReportFailedWebhook = (CraCheckReportFailedWebhook) o; + return Objects.equals(this.webhookType, craCheckReportFailedWebhook.webhookType) && + Objects.equals(this.webhookCode, craCheckReportFailedWebhook.webhookCode) && + Objects.equals(this.userId, craCheckReportFailedWebhook.userId) && + Objects.equals(this.error, craCheckReportFailedWebhook.error) && + Objects.equals(this.repairableItems, craCheckReportFailedWebhook.repairableItems) && + Objects.equals(this.failedProducts, craCheckReportFailedWebhook.failedProducts) && + Objects.equals(this.itemIds, craCheckReportFailedWebhook.itemIds) && + Objects.equals(this.environment, craCheckReportFailedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, userId, error, repairableItems, failedProducts, itemIds, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportFailedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" repairableItems: ").append(toIndentedString(repairableItems)).append("\n"); + sb.append(" failedProducts: ").append(toIndentedString(failedProducts)).append("\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportFreddieMacGetRequest.java b/src/main/java/com/plaid/client/model/CraCheckReportFreddieMacGetRequest.java new file mode 100644 index 0000000000..0d78bdb4c1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportFreddieMacGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraCheckReportFreddieMacGetRequest defines the request schema for `/cra/check_report/freddie_mac/get` + */ +@ApiModel(description = "CraCheckReportFreddieMacGetRequest defines the request schema for `/cra/check_report/freddie_mac/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportFreddieMacGetRequest { + public static final String SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN = "third_party_user_token"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN) + private String thirdPartyUserToken; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public CraCheckReportFreddieMacGetRequest thirdPartyUserToken(String thirdPartyUserToken) { + + this.thirdPartyUserToken = thirdPartyUserToken; + return this; + } + + /** + * The third-party user token associated with the requested User data. + * @return thirdPartyUserToken + **/ + @ApiModelProperty(required = true, value = "The third-party user token associated with the requested User data.") + + public String getThirdPartyUserToken() { + return thirdPartyUserToken; + } + + + public void setThirdPartyUserToken(String thirdPartyUserToken) { + this.thirdPartyUserToken = thirdPartyUserToken; + } + + + public CraCheckReportFreddieMacGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraCheckReportFreddieMacGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportFreddieMacGetRequest craCheckReportFreddieMacGetRequest = (CraCheckReportFreddieMacGetRequest) o; + return Objects.equals(this.thirdPartyUserToken, craCheckReportFreddieMacGetRequest.thirdPartyUserToken) && + Objects.equals(this.clientId, craCheckReportFreddieMacGetRequest.clientId) && + Objects.equals(this.secret, craCheckReportFreddieMacGetRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(thirdPartyUserToken, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportFreddieMacGetRequest {\n"); + sb.append(" thirdPartyUserToken: ").append(toIndentedString(thirdPartyUserToken)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportFreddieMacGetResponse.java b/src/main/java/com/plaid/client/model/CraCheckReportFreddieMacGetResponse.java new file mode 100644 index 0000000000..7e7ee1b36d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportFreddieMacGetResponse.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCheckReportFreddieMacVerificationOfAssetsDeal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * CraCheckReportFreddieMacGetResponse defines the response schema for `/cra/check_report/freddie_mac/get` + */ +@ApiModel(description = "CraCheckReportFreddieMacGetResponse defines the response schema for `/cra/check_report/freddie_mac/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportFreddieMacGetResponse { + public static final String SERIALIZED_NAME_D_E_A_L = "DEAL"; + @SerializedName(SERIALIZED_NAME_D_E_A_L) + private CraCheckReportFreddieMacVerificationOfAssetsDeal DEAL; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_SCHEMA_VERSION = "SchemaVersion"; + @SerializedName(SERIALIZED_NAME_SCHEMA_VERSION) + private Double schemaVersion; + + + public CraCheckReportFreddieMacGetResponse DEAL(CraCheckReportFreddieMacVerificationOfAssetsDeal DEAL) { + + this.DEAL = DEAL; + return this; + } + + /** + * Get DEAL + * @return DEAL + **/ + @ApiModelProperty(required = true, value = "") + + public CraCheckReportFreddieMacVerificationOfAssetsDeal getDEAL() { + return DEAL; + } + + + public void setDEAL(CraCheckReportFreddieMacVerificationOfAssetsDeal DEAL) { + this.DEAL = DEAL; + } + + + public CraCheckReportFreddieMacGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CraCheckReportFreddieMacGetResponse schemaVersion(Double schemaVersion) { + + this.schemaVersion = schemaVersion; + return this; + } + + /** + * The Verification Of Assets (VOA) schema version. + * @return schemaVersion + **/ + @ApiModelProperty(required = true, value = "The Verification Of Assets (VOA) schema version.") + + public Double getSchemaVersion() { + return schemaVersion; + } + + + public void setSchemaVersion(Double schemaVersion) { + this.schemaVersion = schemaVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportFreddieMacGetResponse craCheckReportFreddieMacGetResponse = (CraCheckReportFreddieMacGetResponse) o; + return Objects.equals(this.DEAL, craCheckReportFreddieMacGetResponse.DEAL) && + Objects.equals(this.requestId, craCheckReportFreddieMacGetResponse.requestId) && + Objects.equals(this.schemaVersion, craCheckReportFreddieMacGetResponse.schemaVersion); + } + + @Override + public int hashCode() { + return Objects.hash(DEAL, requestId, schemaVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportFreddieMacGetResponse {\n"); + sb.append(" DEAL: ").append(toIndentedString(DEAL)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" schemaVersion: ").append(toIndentedString(schemaVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportFreddieMacVerificationOfAssetsDeal.java b/src/main/java/com/plaid/client/model/CraCheckReportFreddieMacVerificationOfAssetsDeal.java new file mode 100644 index 0000000000..cbd9111261 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportFreddieMacVerificationOfAssetsDeal.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacLoans; +import com.plaid.client.model.CreditFreddieMacParties; +import com.plaid.client.model.CreditFreddieMacServices; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing a Base Report with Freddie Mac schema. + */ +@ApiModel(description = "An object representing a Base Report with Freddie Mac schema.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportFreddieMacVerificationOfAssetsDeal { + public static final String SERIALIZED_NAME_L_O_A_N_S = "LOANS"; + @SerializedName(SERIALIZED_NAME_L_O_A_N_S) + private CreditFreddieMacLoans LOANS; + + public static final String SERIALIZED_NAME_P_A_R_T_I_E_S = "PARTIES"; + @SerializedName(SERIALIZED_NAME_P_A_R_T_I_E_S) + private CreditFreddieMacParties PARTIES; + + public static final String SERIALIZED_NAME_S_E_R_V_I_C_E_S = "SERVICES"; + @SerializedName(SERIALIZED_NAME_S_E_R_V_I_C_E_S) + private CreditFreddieMacServices SERVICES; + + + public CraCheckReportFreddieMacVerificationOfAssetsDeal LOANS(CreditFreddieMacLoans LOANS) { + + this.LOANS = LOANS; + return this; + } + + /** + * Get LOANS + * @return LOANS + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacLoans getLOANS() { + return LOANS; + } + + + public void setLOANS(CreditFreddieMacLoans LOANS) { + this.LOANS = LOANS; + } + + + public CraCheckReportFreddieMacVerificationOfAssetsDeal PARTIES(CreditFreddieMacParties PARTIES) { + + this.PARTIES = PARTIES; + return this; + } + + /** + * Get PARTIES + * @return PARTIES + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacParties getPARTIES() { + return PARTIES; + } + + + public void setPARTIES(CreditFreddieMacParties PARTIES) { + this.PARTIES = PARTIES; + } + + + public CraCheckReportFreddieMacVerificationOfAssetsDeal SERVICES(CreditFreddieMacServices SERVICES) { + + this.SERVICES = SERVICES; + return this; + } + + /** + * Get SERVICES + * @return SERVICES + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacServices getSERVICES() { + return SERVICES; + } + + + public void setSERVICES(CreditFreddieMacServices SERVICES) { + this.SERVICES = SERVICES; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportFreddieMacVerificationOfAssetsDeal craCheckReportFreddieMacVerificationOfAssetsDeal = (CraCheckReportFreddieMacVerificationOfAssetsDeal) o; + return Objects.equals(this.LOANS, craCheckReportFreddieMacVerificationOfAssetsDeal.LOANS) && + Objects.equals(this.PARTIES, craCheckReportFreddieMacVerificationOfAssetsDeal.PARTIES) && + Objects.equals(this.SERVICES, craCheckReportFreddieMacVerificationOfAssetsDeal.SERVICES); + } + + @Override + public int hashCode() { + return Objects.hash(LOANS, PARTIES, SERVICES); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportFreddieMacVerificationOfAssetsDeal {\n"); + sb.append(" LOANS: ").append(toIndentedString(LOANS)).append("\n"); + sb.append(" PARTIES: ").append(toIndentedString(PARTIES)).append("\n"); + sb.append(" SERVICES: ").append(toIndentedString(SERVICES)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportGSEOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportGSEOptions.java new file mode 100644 index 0000000000..5985ba6330 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportGSEOptions.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.GSEReportType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Specifies options for creating reports that can be shared with GSEs for mortgage verification. + */ +@ApiModel(description = "Specifies options for creating reports that can be shared with GSEs for mortgage verification.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportGSEOptions { + public static final String SERIALIZED_NAME_REPORT_TYPES = "report_types"; + @SerializedName(SERIALIZED_NAME_REPORT_TYPES) + private List reportTypes = new ArrayList<>(); + + + public CraCheckReportGSEOptions reportTypes(List reportTypes) { + + this.reportTypes = reportTypes; + return this; + } + + public CraCheckReportGSEOptions addReportTypesItem(GSEReportType reportTypesItem) { + this.reportTypes.add(reportTypesItem); + return this; + } + + /** + * Specifies which types of reports should be made available to GSEs. + * @return reportTypes + **/ + @ApiModelProperty(required = true, value = "Specifies which types of reports should be made available to GSEs.") + + public List getReportTypes() { + return reportTypes; + } + + + public void setReportTypes(List reportTypes) { + this.reportTypes = reportTypes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportGSEOptions craCheckReportGSEOptions = (CraCheckReportGSEOptions) o; + return Objects.equals(this.reportTypes, craCheckReportGSEOptions.reportTypes); + } + + @Override + public int hashCode() { + return Objects.hash(reportTypes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportGSEOptions {\n"); + sb.append(" reportTypes: ").append(toIndentedString(reportTypes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportHomeLendingReportOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportHomeLendingReportOptions.java new file mode 100644 index 0000000000..59812cd850 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportHomeLendingReportOptions.java @@ -0,0 +1,136 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCheckReportCreateEmploymentRefreshOptions; +import com.plaid.client.model.CraCheckReportVerificationGetReportType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Options for configuring Home Lending Report (Verification Report) generation. + */ +@ApiModel(description = "Options for configuring Home Lending Report (Verification Report) generation.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportHomeLendingReportOptions { + public static final String SERIALIZED_NAME_REPORTS_REQUESTED = "reports_requested"; + @SerializedName(SERIALIZED_NAME_REPORTS_REQUESTED) + private List reportsRequested = new ArrayList<>(); + + public static final String SERIALIZED_NAME_EMPLOYMENT_REFRESH_OPTIONS = "employment_refresh_options"; + @SerializedName(SERIALIZED_NAME_EMPLOYMENT_REFRESH_OPTIONS) + private CraCheckReportCreateEmploymentRefreshOptions employmentRefreshOptions; + + + public CraCheckReportHomeLendingReportOptions reportsRequested(List reportsRequested) { + + this.reportsRequested = reportsRequested; + return this; + } + + public CraCheckReportHomeLendingReportOptions addReportsRequestedItem(CraCheckReportVerificationGetReportType reportsRequestedItem) { + this.reportsRequested.add(reportsRequestedItem); + return this; + } + + /** + * Specifies which types of home lending reports to generate. + * @return reportsRequested + **/ + @ApiModelProperty(required = true, value = "Specifies which types of home lending reports to generate.") + + public List getReportsRequested() { + return reportsRequested; + } + + + public void setReportsRequested(List reportsRequested) { + this.reportsRequested = reportsRequested; + } + + + public CraCheckReportHomeLendingReportOptions employmentRefreshOptions(CraCheckReportCreateEmploymentRefreshOptions employmentRefreshOptions) { + + this.employmentRefreshOptions = employmentRefreshOptions; + return this; + } + + /** + * Get employmentRefreshOptions + * @return employmentRefreshOptions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportCreateEmploymentRefreshOptions getEmploymentRefreshOptions() { + return employmentRefreshOptions; + } + + + public void setEmploymentRefreshOptions(CraCheckReportCreateEmploymentRefreshOptions employmentRefreshOptions) { + this.employmentRefreshOptions = employmentRefreshOptions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportHomeLendingReportOptions craCheckReportHomeLendingReportOptions = (CraCheckReportHomeLendingReportOptions) o; + return Objects.equals(this.reportsRequested, craCheckReportHomeLendingReportOptions.reportsRequested) && + Objects.equals(this.employmentRefreshOptions, craCheckReportHomeLendingReportOptions.employmentRefreshOptions); + } + + @Override + public int hashCode() { + return Objects.hash(reportsRequested, employmentRefreshOptions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportHomeLendingReportOptions {\n"); + sb.append(" reportsRequested: ").append(toIndentedString(reportsRequested)).append("\n"); + sb.append(" employmentRefreshOptions: ").append(toIndentedString(employmentRefreshOptions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportIncomeInsightsGetOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportIncomeInsightsGetOptions.java new file mode 100644 index 0000000000..b695835709 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportIncomeInsightsGetOptions.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeInsightsFilter; +import com.plaid.client.model.IncomeInsightsVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Deprecated. This field is no longer accepted for new clients (created on or after 2026-07-01). New clients should specify required products when creating the Consumer Report. Existing integrations may continue to pass `options`. + */ +@ApiModel(description = "Deprecated. This field is no longer accepted for new clients (created on or after 2026-07-01). New clients should specify required products when creating the Consumer Report. Existing integrations may continue to pass `options`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportIncomeInsightsGetOptions { + public static final String SERIALIZED_NAME_INCOME_INSIGHTS_FILTER = "income_insights_filter"; + @SerializedName(SERIALIZED_NAME_INCOME_INSIGHTS_FILTER) + private IncomeInsightsFilter incomeInsightsFilter; + + public static final String SERIALIZED_NAME_INCOME_INSIGHTS_VERSION = "income_insights_version"; + @SerializedName(SERIALIZED_NAME_INCOME_INSIGHTS_VERSION) + private IncomeInsightsVersion incomeInsightsVersion; + + + public CraCheckReportIncomeInsightsGetOptions incomeInsightsFilter(IncomeInsightsFilter incomeInsightsFilter) { + + this.incomeInsightsFilter = incomeInsightsFilter; + return this; + } + + /** + * Get incomeInsightsFilter + * @return incomeInsightsFilter + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeInsightsFilter getIncomeInsightsFilter() { + return incomeInsightsFilter; + } + + + public void setIncomeInsightsFilter(IncomeInsightsFilter incomeInsightsFilter) { + this.incomeInsightsFilter = incomeInsightsFilter; + } + + + public CraCheckReportIncomeInsightsGetOptions incomeInsightsVersion(IncomeInsightsVersion incomeInsightsVersion) { + + this.incomeInsightsVersion = incomeInsightsVersion; + return this; + } + + /** + * Get incomeInsightsVersion + * @return incomeInsightsVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public IncomeInsightsVersion getIncomeInsightsVersion() { + return incomeInsightsVersion; + } + + + public void setIncomeInsightsVersion(IncomeInsightsVersion incomeInsightsVersion) { + this.incomeInsightsVersion = incomeInsightsVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportIncomeInsightsGetOptions craCheckReportIncomeInsightsGetOptions = (CraCheckReportIncomeInsightsGetOptions) o; + return Objects.equals(this.incomeInsightsFilter, craCheckReportIncomeInsightsGetOptions.incomeInsightsFilter) && + Objects.equals(this.incomeInsightsVersion, craCheckReportIncomeInsightsGetOptions.incomeInsightsVersion); + } + + @Override + public int hashCode() { + return Objects.hash(incomeInsightsFilter, incomeInsightsVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportIncomeInsightsGetOptions {\n"); + sb.append(" incomeInsightsFilter: ").append(toIndentedString(incomeInsightsFilter)).append("\n"); + sb.append(" incomeInsightsVersion: ").append(toIndentedString(incomeInsightsVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportIncomeInsightsGetRequest.java b/src/main/java/com/plaid/client/model/CraCheckReportIncomeInsightsGetRequest.java new file mode 100644 index 0000000000..0083036000 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportIncomeInsightsGetRequest.java @@ -0,0 +1,304 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCheckReportIncomeInsightsGetOptions; +import com.plaid.client.model.CraCheckReportPermissiblePurpose; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/cra/check_report/income_insights/get`. + */ +@ApiModel(description = "Defines the request schema for `/cra/check_report/income_insights/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportIncomeInsightsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN = "third_party_user_token"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN) + private String thirdPartyUserToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private CraCheckReportIncomeInsightsGetOptions options; + + public static final String SERIALIZED_NAME_REPORT_ID = "report_id"; + @SerializedName(SERIALIZED_NAME_REPORT_ID) + private String reportId; + + public static final String SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE = "consumer_report_permissible_purpose"; + @SerializedName(SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE) + private CraCheckReportPermissiblePurpose consumerReportPermissiblePurpose; + + + public CraCheckReportIncomeInsightsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraCheckReportIncomeInsightsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraCheckReportIncomeInsightsGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CraCheckReportIncomeInsightsGetRequest thirdPartyUserToken(String thirdPartyUserToken) { + + this.thirdPartyUserToken = thirdPartyUserToken; + return this; + } + + /** + * The third-party user token associated with the requested User data. + * @return thirdPartyUserToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The third-party user token associated with the requested User data.") + + public String getThirdPartyUserToken() { + return thirdPartyUserToken; + } + + + public void setThirdPartyUserToken(String thirdPartyUserToken) { + this.thirdPartyUserToken = thirdPartyUserToken; + } + + + public CraCheckReportIncomeInsightsGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCheckReportIncomeInsightsGetRequest options(CraCheckReportIncomeInsightsGetOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportIncomeInsightsGetOptions getOptions() { + return options; + } + + + public void setOptions(CraCheckReportIncomeInsightsGetOptions options) { + this.options = options; + } + + + public CraCheckReportIncomeInsightsGetRequest reportId(String reportId) { + + this.reportId = reportId; + return this; + } + + /** + * The CRA report token (formatted `cra-report-<env>-<uuid>`) identifying a specific consumer report. When provided alongside `consumer_report_permissible_purpose`, pins retrieval to that report and stamps its permissible purpose. If omitted, the most recently generated report for the user is returned. + * @return reportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The CRA report token (formatted `cra-report--`) identifying a specific consumer report. When provided alongside `consumer_report_permissible_purpose`, pins retrieval to that report and stamps its permissible purpose. If omitted, the most recently generated report for the user is returned.") + + public String getReportId() { + return reportId; + } + + + public void setReportId(String reportId) { + this.reportId = reportId; + } + + + public CraCheckReportIncomeInsightsGetRequest consumerReportPermissiblePurpose(CraCheckReportPermissiblePurpose consumerReportPermissiblePurpose) { + + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + return this; + } + + /** + * Get consumerReportPermissiblePurpose + * @return consumerReportPermissiblePurpose + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportPermissiblePurpose getConsumerReportPermissiblePurpose() { + return consumerReportPermissiblePurpose; + } + + + public void setConsumerReportPermissiblePurpose(CraCheckReportPermissiblePurpose consumerReportPermissiblePurpose) { + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportIncomeInsightsGetRequest craCheckReportIncomeInsightsGetRequest = (CraCheckReportIncomeInsightsGetRequest) o; + return Objects.equals(this.clientId, craCheckReportIncomeInsightsGetRequest.clientId) && + Objects.equals(this.secret, craCheckReportIncomeInsightsGetRequest.secret) && + Objects.equals(this.userToken, craCheckReportIncomeInsightsGetRequest.userToken) && + Objects.equals(this.thirdPartyUserToken, craCheckReportIncomeInsightsGetRequest.thirdPartyUserToken) && + Objects.equals(this.userId, craCheckReportIncomeInsightsGetRequest.userId) && + Objects.equals(this.options, craCheckReportIncomeInsightsGetRequest.options) && + Objects.equals(this.reportId, craCheckReportIncomeInsightsGetRequest.reportId) && + Objects.equals(this.consumerReportPermissiblePurpose, craCheckReportIncomeInsightsGetRequest.consumerReportPermissiblePurpose); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, thirdPartyUserToken, userId, options, reportId, consumerReportPermissiblePurpose); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportIncomeInsightsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" thirdPartyUserToken: ").append(toIndentedString(thirdPartyUserToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append(" reportId: ").append(toIndentedString(reportId)).append("\n"); + sb.append(" consumerReportPermissiblePurpose: ").append(toIndentedString(consumerReportPermissiblePurpose)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportIncomeInsightsGetResponse.java b/src/main/java/com/plaid/client/model/CraCheckReportIncomeInsightsGetResponse.java new file mode 100644 index 0000000000..3383adb97f --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportIncomeInsightsGetResponse.java @@ -0,0 +1,168 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CheckReportWarning; +import com.plaid.client.model.CraIncomeInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraCheckReportIncomeInsightsGetResponse defines the response schema for `/cra/check_report/income_insights/get`. + */ +@ApiModel(description = "CraCheckReportIncomeInsightsGetResponse defines the response schema for `/cra/check_report/income_insights/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportIncomeInsightsGetResponse { + public static final String SERIALIZED_NAME_REPORT = "report"; + @SerializedName(SERIALIZED_NAME_REPORT) + private CraIncomeInsights report; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = null; + + + public CraCheckReportIncomeInsightsGetResponse report(CraIncomeInsights report) { + + this.report = report; + return this; + } + + /** + * Get report + * @return report + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraIncomeInsights getReport() { + return report; + } + + + public void setReport(CraIncomeInsights report) { + this.report = report; + } + + + public CraCheckReportIncomeInsightsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CraCheckReportIncomeInsightsGetResponse warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public CraCheckReportIncomeInsightsGetResponse addWarningsItem(CheckReportWarning warningsItem) { + if (this.warnings == null) { + this.warnings = new ArrayList<>(); + } + this.warnings.add(warningsItem); + return this; + } + + /** + * If the Income Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing + * @return warnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If the Income Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportIncomeInsightsGetResponse craCheckReportIncomeInsightsGetResponse = (CraCheckReportIncomeInsightsGetResponse) o; + return Objects.equals(this.report, craCheckReportIncomeInsightsGetResponse.report) && + Objects.equals(this.requestId, craCheckReportIncomeInsightsGetResponse.requestId) && + Objects.equals(this.warnings, craCheckReportIncomeInsightsGetResponse.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(report, requestId, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportIncomeInsightsGetResponse {\n"); + sb.append(" report: ").append(toIndentedString(report)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportLendScoreGetOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportLendScoreGetOptions.java new file mode 100644 index 0000000000..7a6317ddb5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportLendScoreGetOptions.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidLendScoreVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Deprecated. This field is no longer accepted for new clients (created on or after 2026-07-01). New clients should specify required products when creating the Consumer Report. Existing integrations may continue to pass `options`. + */ +@ApiModel(description = "Deprecated. This field is no longer accepted for new clients (created on or after 2026-07-01). New clients should specify required products when creating the Consumer Report. Existing integrations may continue to pass `options`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportLendScoreGetOptions { + public static final String SERIALIZED_NAME_LEND_SCORE_VERSION = "lend_score_version"; + @SerializedName(SERIALIZED_NAME_LEND_SCORE_VERSION) + private PlaidLendScoreVersion lendScoreVersion; + + + public CraCheckReportLendScoreGetOptions lendScoreVersion(PlaidLendScoreVersion lendScoreVersion) { + + this.lendScoreVersion = lendScoreVersion; + return this; + } + + /** + * Get lendScoreVersion + * @return lendScoreVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidLendScoreVersion getLendScoreVersion() { + return lendScoreVersion; + } + + + public void setLendScoreVersion(PlaidLendScoreVersion lendScoreVersion) { + this.lendScoreVersion = lendScoreVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportLendScoreGetOptions craCheckReportLendScoreGetOptions = (CraCheckReportLendScoreGetOptions) o; + return Objects.equals(this.lendScoreVersion, craCheckReportLendScoreGetOptions.lendScoreVersion); + } + + @Override + public int hashCode() { + return Objects.hash(lendScoreVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportLendScoreGetOptions {\n"); + sb.append(" lendScoreVersion: ").append(toIndentedString(lendScoreVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportLendScoreGetRequest.java b/src/main/java/com/plaid/client/model/CraCheckReportLendScoreGetRequest.java new file mode 100644 index 0000000000..d78fd668ab --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportLendScoreGetRequest.java @@ -0,0 +1,245 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCheckReportLendScoreGetOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraCheckReportLendScoreGetRequest defines the request schema for `/cra/check_report/lend_score/get`. + */ +@ApiModel(description = "CraCheckReportLendScoreGetRequest defines the request schema for `/cra/check_report/lend_score/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportLendScoreGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN = "third_party_user_token"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN) + private String thirdPartyUserToken; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private CraCheckReportLendScoreGetOptions options; + + + public CraCheckReportLendScoreGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraCheckReportLendScoreGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraCheckReportLendScoreGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCheckReportLendScoreGetRequest thirdPartyUserToken(String thirdPartyUserToken) { + + this.thirdPartyUserToken = thirdPartyUserToken; + return this; + } + + /** + * The third-party user token associated with the requested User data. + * @return thirdPartyUserToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The third-party user token associated with the requested User data.") + + public String getThirdPartyUserToken() { + return thirdPartyUserToken; + } + + + public void setThirdPartyUserToken(String thirdPartyUserToken) { + this.thirdPartyUserToken = thirdPartyUserToken; + } + + + public CraCheckReportLendScoreGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CraCheckReportLendScoreGetRequest options(CraCheckReportLendScoreGetOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportLendScoreGetOptions getOptions() { + return options; + } + + + public void setOptions(CraCheckReportLendScoreGetOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportLendScoreGetRequest craCheckReportLendScoreGetRequest = (CraCheckReportLendScoreGetRequest) o; + return Objects.equals(this.clientId, craCheckReportLendScoreGetRequest.clientId) && + Objects.equals(this.secret, craCheckReportLendScoreGetRequest.secret) && + Objects.equals(this.userId, craCheckReportLendScoreGetRequest.userId) && + Objects.equals(this.thirdPartyUserToken, craCheckReportLendScoreGetRequest.thirdPartyUserToken) && + Objects.equals(this.userToken, craCheckReportLendScoreGetRequest.userToken) && + Objects.equals(this.options, craCheckReportLendScoreGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, thirdPartyUserToken, userToken, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportLendScoreGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" thirdPartyUserToken: ").append(toIndentedString(thirdPartyUserToken)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportLendScoreGetResponse.java b/src/main/java/com/plaid/client/model/CraCheckReportLendScoreGetResponse.java new file mode 100644 index 0000000000..420c71d9ee --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportLendScoreGetResponse.java @@ -0,0 +1,167 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CheckReportWarning; +import com.plaid.client.model.CraLendScoreReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraCheckReportLendScoreGetResponse defines the response schema for `/cra/check_report/lend_score/get`. + */ +@ApiModel(description = "CraCheckReportLendScoreGetResponse defines the response schema for `/cra/check_report/lend_score/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportLendScoreGetResponse { + public static final String SERIALIZED_NAME_REPORT = "report"; + @SerializedName(SERIALIZED_NAME_REPORT) + private CraLendScoreReport report; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = null; + + + public CraCheckReportLendScoreGetResponse report(CraLendScoreReport report) { + + this.report = report; + return this; + } + + /** + * Get report + * @return report + **/ + @ApiModelProperty(required = true, value = "") + + public CraLendScoreReport getReport() { + return report; + } + + + public void setReport(CraLendScoreReport report) { + this.report = report; + } + + + public CraCheckReportLendScoreGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CraCheckReportLendScoreGetResponse warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public CraCheckReportLendScoreGetResponse addWarningsItem(CheckReportWarning warningsItem) { + if (this.warnings == null) { + this.warnings = new ArrayList<>(); + } + this.warnings.add(warningsItem); + return this; + } + + /** + * If the LendScore generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing + * @return warnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If the LendScore generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportLendScoreGetResponse craCheckReportLendScoreGetResponse = (CraCheckReportLendScoreGetResponse) o; + return Objects.equals(this.report, craCheckReportLendScoreGetResponse.report) && + Objects.equals(this.requestId, craCheckReportLendScoreGetResponse.requestId) && + Objects.equals(this.warnings, craCheckReportLendScoreGetResponse.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(report, requestId, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportLendScoreGetResponse {\n"); + sb.append(" report: ").append(toIndentedString(report)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportNetworkInsightsGetOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportNetworkInsightsGetOptions.java new file mode 100644 index 0000000000..e0169eee7b --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportNetworkInsightsGetOptions.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NetworkInsightsVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Deprecated. This field is no longer accepted for new clients (created on or after 2026-07-01). New clients should specify required products when creating the Consumer Report. Existing integrations may continue to pass `options`. + */ +@ApiModel(description = "Deprecated. This field is no longer accepted for new clients (created on or after 2026-07-01). New clients should specify required products when creating the Consumer Report. Existing integrations may continue to pass `options`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportNetworkInsightsGetOptions { + public static final String SERIALIZED_NAME_NETWORK_INSIGHTS_VERSION = "network_insights_version"; + @SerializedName(SERIALIZED_NAME_NETWORK_INSIGHTS_VERSION) + private NetworkInsightsVersion networkInsightsVersion; + + + public CraCheckReportNetworkInsightsGetOptions networkInsightsVersion(NetworkInsightsVersion networkInsightsVersion) { + + this.networkInsightsVersion = networkInsightsVersion; + return this; + } + + /** + * Get networkInsightsVersion + * @return networkInsightsVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NetworkInsightsVersion getNetworkInsightsVersion() { + return networkInsightsVersion; + } + + + public void setNetworkInsightsVersion(NetworkInsightsVersion networkInsightsVersion) { + this.networkInsightsVersion = networkInsightsVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportNetworkInsightsGetOptions craCheckReportNetworkInsightsGetOptions = (CraCheckReportNetworkInsightsGetOptions) o; + return Objects.equals(this.networkInsightsVersion, craCheckReportNetworkInsightsGetOptions.networkInsightsVersion); + } + + @Override + public int hashCode() { + return Objects.hash(networkInsightsVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportNetworkInsightsGetOptions {\n"); + sb.append(" networkInsightsVersion: ").append(toIndentedString(networkInsightsVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportNetworkInsightsGetRequest.java b/src/main/java/com/plaid/client/model/CraCheckReportNetworkInsightsGetRequest.java new file mode 100644 index 0000000000..a5fda44aee --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportNetworkInsightsGetRequest.java @@ -0,0 +1,245 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCheckReportNetworkInsightsGetOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraCheckReportNetworkInsightsGetRequest defines the request schema for `/cra/check_report/network_insights/get`. + */ +@ApiModel(description = "CraCheckReportNetworkInsightsGetRequest defines the request schema for `/cra/check_report/network_insights/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportNetworkInsightsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private CraCheckReportNetworkInsightsGetOptions options; + + public static final String SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN = "third_party_user_token"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN) + private String thirdPartyUserToken; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + + public CraCheckReportNetworkInsightsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraCheckReportNetworkInsightsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraCheckReportNetworkInsightsGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCheckReportNetworkInsightsGetRequest options(CraCheckReportNetworkInsightsGetOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportNetworkInsightsGetOptions getOptions() { + return options; + } + + + public void setOptions(CraCheckReportNetworkInsightsGetOptions options) { + this.options = options; + } + + + public CraCheckReportNetworkInsightsGetRequest thirdPartyUserToken(String thirdPartyUserToken) { + + this.thirdPartyUserToken = thirdPartyUserToken; + return this; + } + + /** + * The third-party user token associated with the requested User data. + * @return thirdPartyUserToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The third-party user token associated with the requested User data.") + + public String getThirdPartyUserToken() { + return thirdPartyUserToken; + } + + + public void setThirdPartyUserToken(String thirdPartyUserToken) { + this.thirdPartyUserToken = thirdPartyUserToken; + } + + + public CraCheckReportNetworkInsightsGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportNetworkInsightsGetRequest craCheckReportNetworkInsightsGetRequest = (CraCheckReportNetworkInsightsGetRequest) o; + return Objects.equals(this.clientId, craCheckReportNetworkInsightsGetRequest.clientId) && + Objects.equals(this.secret, craCheckReportNetworkInsightsGetRequest.secret) && + Objects.equals(this.userId, craCheckReportNetworkInsightsGetRequest.userId) && + Objects.equals(this.options, craCheckReportNetworkInsightsGetRequest.options) && + Objects.equals(this.thirdPartyUserToken, craCheckReportNetworkInsightsGetRequest.thirdPartyUserToken) && + Objects.equals(this.userToken, craCheckReportNetworkInsightsGetRequest.userToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, options, thirdPartyUserToken, userToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportNetworkInsightsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append(" thirdPartyUserToken: ").append(toIndentedString(thirdPartyUserToken)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportNetworkInsightsGetResponse.java b/src/main/java/com/plaid/client/model/CraCheckReportNetworkInsightsGetResponse.java new file mode 100644 index 0000000000..d6d09437da --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportNetworkInsightsGetResponse.java @@ -0,0 +1,167 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CheckReportWarning; +import com.plaid.client.model.CraNetworkInsightsReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraCheckReportNetworkInsightsGetResponse defines the response schema for `/cra/check_report/network_insights/get`. + */ +@ApiModel(description = "CraCheckReportNetworkInsightsGetResponse defines the response schema for `/cra/check_report/network_insights/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportNetworkInsightsGetResponse { + public static final String SERIALIZED_NAME_REPORT = "report"; + @SerializedName(SERIALIZED_NAME_REPORT) + private CraNetworkInsightsReport report; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = null; + + + public CraCheckReportNetworkInsightsGetResponse report(CraNetworkInsightsReport report) { + + this.report = report; + return this; + } + + /** + * Get report + * @return report + **/ + @ApiModelProperty(required = true, value = "") + + public CraNetworkInsightsReport getReport() { + return report; + } + + + public void setReport(CraNetworkInsightsReport report) { + this.report = report; + } + + + public CraCheckReportNetworkInsightsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CraCheckReportNetworkInsightsGetResponse warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public CraCheckReportNetworkInsightsGetResponse addWarningsItem(CheckReportWarning warningsItem) { + if (this.warnings == null) { + this.warnings = new ArrayList<>(); + } + this.warnings.add(warningsItem); + return this; + } + + /** + * If the Network Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing + * @return warnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If the Network Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportNetworkInsightsGetResponse craCheckReportNetworkInsightsGetResponse = (CraCheckReportNetworkInsightsGetResponse) o; + return Objects.equals(this.report, craCheckReportNetworkInsightsGetResponse.report) && + Objects.equals(this.requestId, craCheckReportNetworkInsightsGetResponse.requestId) && + Objects.equals(this.warnings, craCheckReportNetworkInsightsGetResponse.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(report, requestId, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportNetworkInsightsGetResponse {\n"); + sb.append(" report: ").append(toIndentedString(report)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportPDFGetRequest.java b/src/main/java/com/plaid/client/model/CraCheckReportPDFGetRequest.java new file mode 100644 index 0000000000..bbf8427637 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportPDFGetRequest.java @@ -0,0 +1,255 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPDFAddOns; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraCheckReportPDFGetRequest defines the request schema for `/cra/check_report/pdf/get`. + */ +@ApiModel(description = "CraCheckReportPDFGetRequest defines the request schema for `/cra/check_report/pdf/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportPDFGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN = "third_party_user_token"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN) + private String thirdPartyUserToken; + + public static final String SERIALIZED_NAME_ADD_ONS = "add_ons"; + @SerializedName(SERIALIZED_NAME_ADD_ONS) + private List addOns = null; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + + public CraCheckReportPDFGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraCheckReportPDFGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraCheckReportPDFGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCheckReportPDFGetRequest thirdPartyUserToken(String thirdPartyUserToken) { + + this.thirdPartyUserToken = thirdPartyUserToken; + return this; + } + + /** + * The third-party user token associated with the requested User data. + * @return thirdPartyUserToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The third-party user token associated with the requested User data.") + + public String getThirdPartyUserToken() { + return thirdPartyUserToken; + } + + + public void setThirdPartyUserToken(String thirdPartyUserToken) { + this.thirdPartyUserToken = thirdPartyUserToken; + } + + + public CraCheckReportPDFGetRequest addOns(List addOns) { + + this.addOns = addOns; + return this; + } + + public CraCheckReportPDFGetRequest addAddOnsItem(CraPDFAddOns addOnsItem) { + if (this.addOns == null) { + this.addOns = new ArrayList<>(); + } + this.addOns.add(addOnsItem); + return this; + } + + /** + * Use this field to include other reports in the PDF. + * @return addOns + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Use this field to include other reports in the PDF.") + + public List getAddOns() { + return addOns; + } + + + public void setAddOns(List addOns) { + this.addOns = addOns; + } + + + public CraCheckReportPDFGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportPDFGetRequest craCheckReportPDFGetRequest = (CraCheckReportPDFGetRequest) o; + return Objects.equals(this.clientId, craCheckReportPDFGetRequest.clientId) && + Objects.equals(this.secret, craCheckReportPDFGetRequest.secret) && + Objects.equals(this.userId, craCheckReportPDFGetRequest.userId) && + Objects.equals(this.thirdPartyUserToken, craCheckReportPDFGetRequest.thirdPartyUserToken) && + Objects.equals(this.addOns, craCheckReportPDFGetRequest.addOns) && + Objects.equals(this.userToken, craCheckReportPDFGetRequest.userToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, thirdPartyUserToken, addOns, userToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportPDFGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" thirdPartyUserToken: ").append(toIndentedString(thirdPartyUserToken)).append("\n"); + sb.append(" addOns: ").append(toIndentedString(addOns)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportPartnerInsightsGetOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportPartnerInsightsGetOptions.java new file mode 100644 index 0000000000..60e7c42b4d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportPartnerInsightsGetOptions.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PrismVersionsDeprecated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Deprecated, specify `partner_insights.prism_versions` instead. + */ +@ApiModel(description = "Deprecated, specify `partner_insights.prism_versions` instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportPartnerInsightsGetOptions { + public static final String SERIALIZED_NAME_PRISM_VERSIONS = "prism_versions"; + @SerializedName(SERIALIZED_NAME_PRISM_VERSIONS) + private PrismVersionsDeprecated prismVersions; + + + public CraCheckReportPartnerInsightsGetOptions prismVersions(PrismVersionsDeprecated prismVersions) { + + this.prismVersions = prismVersions; + return this; + } + + /** + * Get prismVersions + * @return prismVersions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismVersionsDeprecated getPrismVersions() { + return prismVersions; + } + + + public void setPrismVersions(PrismVersionsDeprecated prismVersions) { + this.prismVersions = prismVersions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportPartnerInsightsGetOptions craCheckReportPartnerInsightsGetOptions = (CraCheckReportPartnerInsightsGetOptions) o; + return Objects.equals(this.prismVersions, craCheckReportPartnerInsightsGetOptions.prismVersions); + } + + @Override + public int hashCode() { + return Objects.hash(prismVersions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportPartnerInsightsGetOptions {\n"); + sb.append(" prismVersions: ").append(toIndentedString(prismVersions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportPartnerInsightsGetPartnerInsights.java b/src/main/java/com/plaid/client/model/CraCheckReportPartnerInsightsGetPartnerInsights.java new file mode 100644 index 0000000000..5ae09bba0e --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportPartnerInsightsGetPartnerInsights.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPartnerInsightsFicoInput; +import com.plaid.client.model.PrismVersions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Deprecated. This field is no longer accepted for new clients (created on or after 2026-07-01). New clients should specify required products when creating the Consumer Report. Existing integrations may continue to pass `partner_insights`. + */ +@ApiModel(description = "Deprecated. This field is no longer accepted for new clients (created on or after 2026-07-01). New clients should specify required products when creating the Consumer Report. Existing integrations may continue to pass `partner_insights`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportPartnerInsightsGetPartnerInsights { + public static final String SERIALIZED_NAME_PRISM_VERSIONS = "prism_versions"; + @SerializedName(SERIALIZED_NAME_PRISM_VERSIONS) + private PrismVersions prismVersions; + + public static final String SERIALIZED_NAME_FICO = "fico"; + @SerializedName(SERIALIZED_NAME_FICO) + private CraPartnerInsightsFicoInput fico; + + + public CraCheckReportPartnerInsightsGetPartnerInsights prismVersions(PrismVersions prismVersions) { + + this.prismVersions = prismVersions; + return this; + } + + /** + * Get prismVersions + * @return prismVersions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismVersions getPrismVersions() { + return prismVersions; + } + + + public void setPrismVersions(PrismVersions prismVersions) { + this.prismVersions = prismVersions; + } + + + public CraCheckReportPartnerInsightsGetPartnerInsights fico(CraPartnerInsightsFicoInput fico) { + + this.fico = fico; + return this; + } + + /** + * Get fico + * @return fico + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraPartnerInsightsFicoInput getFico() { + return fico; + } + + + public void setFico(CraPartnerInsightsFicoInput fico) { + this.fico = fico; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportPartnerInsightsGetPartnerInsights craCheckReportPartnerInsightsGetPartnerInsights = (CraCheckReportPartnerInsightsGetPartnerInsights) o; + return Objects.equals(this.prismVersions, craCheckReportPartnerInsightsGetPartnerInsights.prismVersions) && + Objects.equals(this.fico, craCheckReportPartnerInsightsGetPartnerInsights.fico); + } + + @Override + public int hashCode() { + return Objects.hash(prismVersions, fico); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportPartnerInsightsGetPartnerInsights {\n"); + sb.append(" prismVersions: ").append(toIndentedString(prismVersions)).append("\n"); + sb.append(" fico: ").append(toIndentedString(fico)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportPartnerInsightsGetRequest.java b/src/main/java/com/plaid/client/model/CraCheckReportPartnerInsightsGetRequest.java new file mode 100644 index 0000000000..2eb01dcd77 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportPartnerInsightsGetRequest.java @@ -0,0 +1,305 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCheckReportPartnerInsightsGetOptions; +import com.plaid.client.model.CraCheckReportPartnerInsightsGetPartnerInsights; +import com.plaid.client.model.CraUserTier; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraCheckReportPartnerInsightsGetRequest defines the request schema for `/cra/check_report/partner_insights/get`. + */ +@ApiModel(description = "CraCheckReportPartnerInsightsGetRequest defines the request schema for `/cra/check_report/partner_insights/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportPartnerInsightsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN = "third_party_user_token"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN) + private String thirdPartyUserToken; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_TIER = "user_tier"; + @SerializedName(SERIALIZED_NAME_USER_TIER) + private CraUserTier userTier; + + public static final String SERIALIZED_NAME_PARTNER_INSIGHTS = "partner_insights"; + @SerializedName(SERIALIZED_NAME_PARTNER_INSIGHTS) + private CraCheckReportPartnerInsightsGetPartnerInsights partnerInsights; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private CraCheckReportPartnerInsightsGetOptions options; + + + public CraCheckReportPartnerInsightsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraCheckReportPartnerInsightsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraCheckReportPartnerInsightsGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCheckReportPartnerInsightsGetRequest thirdPartyUserToken(String thirdPartyUserToken) { + + this.thirdPartyUserToken = thirdPartyUserToken; + return this; + } + + /** + * The third-party user token associated with the requested User data. + * @return thirdPartyUserToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The third-party user token associated with the requested User data.") + + public String getThirdPartyUserToken() { + return thirdPartyUserToken; + } + + + public void setThirdPartyUserToken(String thirdPartyUserToken) { + this.thirdPartyUserToken = thirdPartyUserToken; + } + + + public CraCheckReportPartnerInsightsGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CraCheckReportPartnerInsightsGetRequest userTier(CraUserTier userTier) { + + this.userTier = userTier; + return this; + } + + /** + * Get userTier + * @return userTier + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraUserTier getUserTier() { + return userTier; + } + + + public void setUserTier(CraUserTier userTier) { + this.userTier = userTier; + } + + + public CraCheckReportPartnerInsightsGetRequest partnerInsights(CraCheckReportPartnerInsightsGetPartnerInsights partnerInsights) { + + this.partnerInsights = partnerInsights; + return this; + } + + /** + * Get partnerInsights + * @return partnerInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportPartnerInsightsGetPartnerInsights getPartnerInsights() { + return partnerInsights; + } + + + public void setPartnerInsights(CraCheckReportPartnerInsightsGetPartnerInsights partnerInsights) { + this.partnerInsights = partnerInsights; + } + + + public CraCheckReportPartnerInsightsGetRequest options(CraCheckReportPartnerInsightsGetOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportPartnerInsightsGetOptions getOptions() { + return options; + } + + + public void setOptions(CraCheckReportPartnerInsightsGetOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportPartnerInsightsGetRequest craCheckReportPartnerInsightsGetRequest = (CraCheckReportPartnerInsightsGetRequest) o; + return Objects.equals(this.clientId, craCheckReportPartnerInsightsGetRequest.clientId) && + Objects.equals(this.secret, craCheckReportPartnerInsightsGetRequest.secret) && + Objects.equals(this.userId, craCheckReportPartnerInsightsGetRequest.userId) && + Objects.equals(this.thirdPartyUserToken, craCheckReportPartnerInsightsGetRequest.thirdPartyUserToken) && + Objects.equals(this.userToken, craCheckReportPartnerInsightsGetRequest.userToken) && + Objects.equals(this.userTier, craCheckReportPartnerInsightsGetRequest.userTier) && + Objects.equals(this.partnerInsights, craCheckReportPartnerInsightsGetRequest.partnerInsights) && + Objects.equals(this.options, craCheckReportPartnerInsightsGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, thirdPartyUserToken, userToken, userTier, partnerInsights, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportPartnerInsightsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" thirdPartyUserToken: ").append(toIndentedString(thirdPartyUserToken)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userTier: ").append(toIndentedString(userTier)).append("\n"); + sb.append(" partnerInsights: ").append(toIndentedString(partnerInsights)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportPartnerInsightsGetResponse.java b/src/main/java/com/plaid/client/model/CraCheckReportPartnerInsightsGetResponse.java new file mode 100644 index 0000000000..2b0947b8f1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportPartnerInsightsGetResponse.java @@ -0,0 +1,168 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CheckReportWarning; +import com.plaid.client.model.CraPartnerInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraCheckReportPartnerInsightsGetResponse defines the response schema for `/cra/check_report/partner_insights/get`. + */ +@ApiModel(description = "CraCheckReportPartnerInsightsGetResponse defines the response schema for `/cra/check_report/partner_insights/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportPartnerInsightsGetResponse { + public static final String SERIALIZED_NAME_REPORT = "report"; + @SerializedName(SERIALIZED_NAME_REPORT) + private CraPartnerInsights report; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = null; + + + public CraCheckReportPartnerInsightsGetResponse report(CraPartnerInsights report) { + + this.report = report; + return this; + } + + /** + * Get report + * @return report + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraPartnerInsights getReport() { + return report; + } + + + public void setReport(CraPartnerInsights report) { + this.report = report; + } + + + public CraCheckReportPartnerInsightsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CraCheckReportPartnerInsightsGetResponse warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public CraCheckReportPartnerInsightsGetResponse addWarningsItem(CheckReportWarning warningsItem) { + if (this.warnings == null) { + this.warnings = new ArrayList<>(); + } + this.warnings.add(warningsItem); + return this; + } + + /** + * If the Partner Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing + * @return warnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If the Partner Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportPartnerInsightsGetResponse craCheckReportPartnerInsightsGetResponse = (CraCheckReportPartnerInsightsGetResponse) o; + return Objects.equals(this.report, craCheckReportPartnerInsightsGetResponse.report) && + Objects.equals(this.requestId, craCheckReportPartnerInsightsGetResponse.requestId) && + Objects.equals(this.warnings, craCheckReportPartnerInsightsGetResponse.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(report, requestId, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportPartnerInsightsGetResponse {\n"); + sb.append(" report: ").append(toIndentedString(report)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportPermissiblePurpose.java b/src/main/java/com/plaid/client/model/CraCheckReportPermissiblePurpose.java new file mode 100644 index 0000000000..d44ff42b52 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportPermissiblePurpose.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The permissible purpose under the FCRA for retrieving this consumer report. Restricted to permissible purposes related to loan servicing only. Required when `report_id` is provided. + */ +@JsonAdapter(CraCheckReportPermissiblePurpose.Adapter.class) +public enum CraCheckReportPermissiblePurpose { + + ACCOUNT_REVIEW_CREDIT("ACCOUNT_REVIEW_CREDIT"), + + WRITTEN_INSTRUCTION_OTHER("WRITTEN_INSTRUCTION_OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraCheckReportPermissiblePurpose(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraCheckReportPermissiblePurpose fromValue(String value) { + for (CraCheckReportPermissiblePurpose b : CraCheckReportPermissiblePurpose.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraCheckReportPermissiblePurpose.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraCheckReportPermissiblePurpose enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraCheckReportPermissiblePurpose read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraCheckReportPermissiblePurpose.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportReadyWebhook.java b/src/main/java/com/plaid/client/model/CraCheckReportReadyWebhook.java new file mode 100644 index 0000000000..483a4c0f17 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportReadyWebhook.java @@ -0,0 +1,297 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Products; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Fired when the Check Report is ready to be retrieved. Once this webhook has fired, the report will be available to retrieve for 24 hours. + */ +@ApiModel(description = "Fired when the Check Report is ready to be retrieved. Once this webhook has fired, the report will be available to retrieve for 24 hours.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportReadyWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_SUCCESSFUL_PRODUCTS = "successful_products"; + @SerializedName(SERIALIZED_NAME_SUCCESSFUL_PRODUCTS) + private List successfulProducts = null; + + public static final String SERIALIZED_NAME_FAILED_PRODUCTS = "failed_products"; + @SerializedName(SERIALIZED_NAME_FAILED_PRODUCTS) + private List failedProducts = null; + + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = null; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CraCheckReportReadyWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CHECK_REPORT` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CHECK_REPORT`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CraCheckReportReadyWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `CHECK_REPORT_READY` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`CHECK_REPORT_READY`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CraCheckReportReadyWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the user the webhook has fired for. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` corresponding to the user the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCheckReportReadyWebhook successfulProducts(List successfulProducts) { + + this.successfulProducts = successfulProducts; + return this; + } + + public CraCheckReportReadyWebhook addSuccessfulProductsItem(Products successfulProductsItem) { + if (this.successfulProducts == null) { + this.successfulProducts = new ArrayList<>(); + } + this.successfulProducts.add(successfulProductsItem); + return this; + } + + /** + * Specifies a list of products that have successfully been generated for the report. + * @return successfulProducts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies a list of products that have successfully been generated for the report.") + + public List getSuccessfulProducts() { + return successfulProducts; + } + + + public void setSuccessfulProducts(List successfulProducts) { + this.successfulProducts = successfulProducts; + } + + + public CraCheckReportReadyWebhook failedProducts(List failedProducts) { + + this.failedProducts = failedProducts; + return this; + } + + public CraCheckReportReadyWebhook addFailedProductsItem(Products failedProductsItem) { + if (this.failedProducts == null) { + this.failedProducts = new ArrayList<>(); + } + this.failedProducts.add(failedProductsItem); + return this; + } + + /** + * Specifies a list of products that have failed to generate for the report. Additional detail on what caused the failure can be found by calling the product /get endpoint. + * @return failedProducts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies a list of products that have failed to generate for the report. Additional detail on what caused the failure can be found by calling the product /get endpoint.") + + public List getFailedProducts() { + return failedProducts; + } + + + public void setFailedProducts(List failedProducts) { + this.failedProducts = failedProducts; + } + + + public CraCheckReportReadyWebhook itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public CraCheckReportReadyWebhook addItemIdsItem(String itemIdsItem) { + if (this.itemIds == null) { + this.itemIds = new ArrayList<>(); + } + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * A list of `item_ids` included in the Check Report. Access to this field is in closed beta. + * @return itemIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of `item_ids` included in the Check Report. Access to this field is in closed beta.") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + public CraCheckReportReadyWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportReadyWebhook craCheckReportReadyWebhook = (CraCheckReportReadyWebhook) o; + return Objects.equals(this.webhookType, craCheckReportReadyWebhook.webhookType) && + Objects.equals(this.webhookCode, craCheckReportReadyWebhook.webhookCode) && + Objects.equals(this.userId, craCheckReportReadyWebhook.userId) && + Objects.equals(this.successfulProducts, craCheckReportReadyWebhook.successfulProducts) && + Objects.equals(this.failedProducts, craCheckReportReadyWebhook.failedProducts) && + Objects.equals(this.itemIds, craCheckReportReadyWebhook.itemIds) && + Objects.equals(this.environment, craCheckReportReadyWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, userId, successfulProducts, failedProducts, itemIds, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportReadyWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" successfulProducts: ").append(toIndentedString(successfulProducts)).append("\n"); + sb.append(" failedProducts: ").append(toIndentedString(failedProducts)).append("\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportVerificationGetEmploymentRefreshOptions.java b/src/main/java/com/plaid/client/model/CraCheckReportVerificationGetEmploymentRefreshOptions.java new file mode 100644 index 0000000000..e6ed648713 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportVerificationGetEmploymentRefreshOptions.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Deprecated. This field is no longer accepted for new clients (created on or after 2026-07-01). New clients should specify required products when creating the Consumer Report. Existing integrations may continue to pass `employment_refresh_options`. + */ +@ApiModel(description = "Deprecated. This field is no longer accepted for new clients (created on or after 2026-07-01). New clients should specify required products when creating the Consumer Report. Existing integrations may continue to pass `employment_refresh_options`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportVerificationGetEmploymentRefreshOptions { + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + + public CraCheckReportVerificationGetEmploymentRefreshOptions daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days of data to request for the report. This field is required if an Employment Refresh Report is requested. Maximum is 731. + * maximum: 731 + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The number of days of data to request for the report. This field is required if an Employment Refresh Report is requested. Maximum is 731.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportVerificationGetEmploymentRefreshOptions craCheckReportVerificationGetEmploymentRefreshOptions = (CraCheckReportVerificationGetEmploymentRefreshOptions) o; + return Objects.equals(this.daysRequested, craCheckReportVerificationGetEmploymentRefreshOptions.daysRequested); + } + + @Override + public int hashCode() { + return Objects.hash(daysRequested); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportVerificationGetEmploymentRefreshOptions {\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportVerificationGetReportType.java b/src/main/java/com/plaid/client/model/CraCheckReportVerificationGetReportType.java new file mode 100644 index 0000000000..dda35baa5e --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportVerificationGetReportType.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Type of home lending report. + */ +@JsonAdapter(CraCheckReportVerificationGetReportType.Adapter.class) +public enum CraCheckReportVerificationGetReportType { + + VOA("VOA"), + + EMPLOYMENT_REFRESH("EMPLOYMENT_REFRESH"), + + INCOME("INCOME"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraCheckReportVerificationGetReportType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraCheckReportVerificationGetReportType fromValue(String value) { + for (CraCheckReportVerificationGetReportType b : CraCheckReportVerificationGetReportType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraCheckReportVerificationGetReportType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraCheckReportVerificationGetReportType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraCheckReportVerificationGetReportType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraCheckReportVerificationGetReportType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportVerificationGetRequest.java b/src/main/java/com/plaid/client/model/CraCheckReportVerificationGetRequest.java new file mode 100644 index 0000000000..a5f8bd1e4f --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportVerificationGetRequest.java @@ -0,0 +1,252 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCheckReportVerificationGetEmploymentRefreshOptions; +import com.plaid.client.model.CraCheckReportVerificationGetReportType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraCheckReportVerificationGetRequest defines the request schema for `/cra/check_report/verification/get`. + */ +@ApiModel(description = "CraCheckReportVerificationGetRequest defines the request schema for `/cra/check_report/verification/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportVerificationGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_REPORTS_REQUESTED = "reports_requested"; + @SerializedName(SERIALIZED_NAME_REPORTS_REQUESTED) + private List reportsRequested = new ArrayList<>(); + + public static final String SERIALIZED_NAME_EMPLOYMENT_REFRESH_OPTIONS = "employment_refresh_options"; + @SerializedName(SERIALIZED_NAME_EMPLOYMENT_REFRESH_OPTIONS) + private CraCheckReportVerificationGetEmploymentRefreshOptions employmentRefreshOptions; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + + public CraCheckReportVerificationGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraCheckReportVerificationGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraCheckReportVerificationGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCheckReportVerificationGetRequest reportsRequested(List reportsRequested) { + + this.reportsRequested = reportsRequested; + return this; + } + + public CraCheckReportVerificationGetRequest addReportsRequestedItem(CraCheckReportVerificationGetReportType reportsRequestedItem) { + this.reportsRequested.add(reportsRequestedItem); + return this; + } + + /** + * Specifies which types of home lending reports are expected in the response + * @return reportsRequested + **/ + @ApiModelProperty(required = true, value = "Specifies which types of home lending reports are expected in the response") + + public List getReportsRequested() { + return reportsRequested; + } + + + public void setReportsRequested(List reportsRequested) { + this.reportsRequested = reportsRequested; + } + + + public CraCheckReportVerificationGetRequest employmentRefreshOptions(CraCheckReportVerificationGetEmploymentRefreshOptions employmentRefreshOptions) { + + this.employmentRefreshOptions = employmentRefreshOptions; + return this; + } + + /** + * Get employmentRefreshOptions + * @return employmentRefreshOptions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportVerificationGetEmploymentRefreshOptions getEmploymentRefreshOptions() { + return employmentRefreshOptions; + } + + + public void setEmploymentRefreshOptions(CraCheckReportVerificationGetEmploymentRefreshOptions employmentRefreshOptions) { + this.employmentRefreshOptions = employmentRefreshOptions; + } + + + public CraCheckReportVerificationGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportVerificationGetRequest craCheckReportVerificationGetRequest = (CraCheckReportVerificationGetRequest) o; + return Objects.equals(this.clientId, craCheckReportVerificationGetRequest.clientId) && + Objects.equals(this.secret, craCheckReportVerificationGetRequest.secret) && + Objects.equals(this.userId, craCheckReportVerificationGetRequest.userId) && + Objects.equals(this.reportsRequested, craCheckReportVerificationGetRequest.reportsRequested) && + Objects.equals(this.employmentRefreshOptions, craCheckReportVerificationGetRequest.employmentRefreshOptions) && + Objects.equals(this.userToken, craCheckReportVerificationGetRequest.userToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, reportsRequested, employmentRefreshOptions, userToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportVerificationGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" reportsRequested: ").append(toIndentedString(reportsRequested)).append("\n"); + sb.append(" employmentRefreshOptions: ").append(toIndentedString(employmentRefreshOptions)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportVerificationGetResponse.java b/src/main/java/com/plaid/client/model/CraCheckReportVerificationGetResponse.java new file mode 100644 index 0000000000..e3229eaf79 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportVerificationGetResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CheckReportWarning; +import com.plaid.client.model.CraVerificationReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraCheckReportVerificationGetResponse defines the response schema for `/cra/check_report/verification/get`. + */ +@ApiModel(description = "CraCheckReportVerificationGetResponse defines the response schema for `/cra/check_report/verification/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportVerificationGetResponse { + public static final String SERIALIZED_NAME_REPORT = "report"; + @SerializedName(SERIALIZED_NAME_REPORT) + private CraVerificationReport report; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = new ArrayList<>(); + + + public CraCheckReportVerificationGetResponse report(CraVerificationReport report) { + + this.report = report; + return this; + } + + /** + * Get report + * @return report + **/ + @ApiModelProperty(required = true, value = "") + + public CraVerificationReport getReport() { + return report; + } + + + public void setReport(CraVerificationReport report) { + this.report = report; + } + + + public CraCheckReportVerificationGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CraCheckReportVerificationGetResponse warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public CraCheckReportVerificationGetResponse addWarningsItem(CheckReportWarning warningsItem) { + this.warnings.add(warningsItem); + return this; + } + + /** + * If the home lending report generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing. + * @return warnings + **/ + @ApiModelProperty(required = true, value = "If the home lending report generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing.") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportVerificationGetResponse craCheckReportVerificationGetResponse = (CraCheckReportVerificationGetResponse) o; + return Objects.equals(this.report, craCheckReportVerificationGetResponse.report) && + Objects.equals(this.requestId, craCheckReportVerificationGetResponse.requestId) && + Objects.equals(this.warnings, craCheckReportVerificationGetResponse.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(report, requestId, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportVerificationGetResponse {\n"); + sb.append(" report: ").append(toIndentedString(report)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportVerificationPdfGetRequest.java b/src/main/java/com/plaid/client/model/CraCheckReportVerificationPdfGetRequest.java new file mode 100644 index 0000000000..78b5655e4f --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportVerificationPdfGetRequest.java @@ -0,0 +1,314 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCheckReportVerificationPdfReportType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +/** + * CraCheckReportVerificationPdfGetRequest defines the request schema for `/cra/check_report/verification/pdf/get`. + */ +@ApiModel(description = "CraCheckReportVerificationPdfGetRequest defines the request schema for `/cra/check_report/verification/pdf/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCheckReportVerificationPdfGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN = "third_party_user_token"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN) + private String thirdPartyUserToken; + + public static final String SERIALIZED_NAME_REPORT_REQUESTED = "report_requested"; + @SerializedName(SERIALIZED_NAME_REPORT_REQUESTED) + private CraCheckReportVerificationPdfReportType reportRequested; + + public static final String SERIALIZED_NAME_REPORTS_REQUESTED = "reports_requested"; + @SerializedName(SERIALIZED_NAME_REPORTS_REQUESTED) + private Set reportsRequested = null; + + public static final String SERIALIZED_NAME_HIDE_GSE_DETAILS = "hide_gse_details"; + @SerializedName(SERIALIZED_NAME_HIDE_GSE_DETAILS) + private Boolean hideGseDetails; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + + public CraCheckReportVerificationPdfGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraCheckReportVerificationPdfGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraCheckReportVerificationPdfGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCheckReportVerificationPdfGetRequest thirdPartyUserToken(String thirdPartyUserToken) { + + this.thirdPartyUserToken = thirdPartyUserToken; + return this; + } + + /** + * The third-party user token associated with the requested User data. + * @return thirdPartyUserToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The third-party user token associated with the requested User data.") + + public String getThirdPartyUserToken() { + return thirdPartyUserToken; + } + + + public void setThirdPartyUserToken(String thirdPartyUserToken) { + this.thirdPartyUserToken = thirdPartyUserToken; + } + + + public CraCheckReportVerificationPdfGetRequest reportRequested(CraCheckReportVerificationPdfReportType reportRequested) { + + this.reportRequested = reportRequested; + return this; + } + + /** + * Get reportRequested + * @return reportRequested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportVerificationPdfReportType getReportRequested() { + return reportRequested; + } + + + public void setReportRequested(CraCheckReportVerificationPdfReportType reportRequested) { + this.reportRequested = reportRequested; + } + + + public CraCheckReportVerificationPdfGetRequest reportsRequested(Set reportsRequested) { + + this.reportsRequested = reportsRequested; + return this; + } + + public CraCheckReportVerificationPdfGetRequest addReportsRequestedItem(CraCheckReportVerificationPdfReportType reportsRequestedItem) { + if (this.reportsRequested == null) { + this.reportsRequested = new LinkedHashSet<>(); + } + this.reportsRequested.add(reportsRequestedItem); + return this; + } + + /** + * Specifies which types of verification reports to include in the returned PDF. Supported combinations are: `[voa]`, `[employment_refresh]`, `[income]`, or `[voa, income]`. Other combinations are not supported. + * @return reportsRequested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies which types of verification reports to include in the returned PDF. Supported combinations are: `[voa]`, `[employment_refresh]`, `[income]`, or `[voa, income]`. Other combinations are not supported. ") + + public Set getReportsRequested() { + return reportsRequested; + } + + + public void setReportsRequested(Set reportsRequested) { + this.reportsRequested = reportsRequested; + } + + + public CraCheckReportVerificationPdfGetRequest hideGseDetails(Boolean hideGseDetails) { + + this.hideGseDetails = hideGseDetails; + return this; + } + + /** + * If `true`, the GSE identifiers (the Report ID and `gse_reference_id`) are omitted from the returned Home Lending Report PDF. Defaults to `false`. These identifiers are always present in the `/cra/check_report/verification/get` JSON response regardless of this field. + * @return hideGseDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, the GSE identifiers (the Report ID and `gse_reference_id`) are omitted from the returned Home Lending Report PDF. Defaults to `false`. These identifiers are always present in the `/cra/check_report/verification/get` JSON response regardless of this field. ") + + public Boolean getHideGseDetails() { + return hideGseDetails; + } + + + public void setHideGseDetails(Boolean hideGseDetails) { + this.hideGseDetails = hideGseDetails; + } + + + public CraCheckReportVerificationPdfGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCheckReportVerificationPdfGetRequest craCheckReportVerificationPdfGetRequest = (CraCheckReportVerificationPdfGetRequest) o; + return Objects.equals(this.clientId, craCheckReportVerificationPdfGetRequest.clientId) && + Objects.equals(this.secret, craCheckReportVerificationPdfGetRequest.secret) && + Objects.equals(this.userId, craCheckReportVerificationPdfGetRequest.userId) && + Objects.equals(this.thirdPartyUserToken, craCheckReportVerificationPdfGetRequest.thirdPartyUserToken) && + Objects.equals(this.reportRequested, craCheckReportVerificationPdfGetRequest.reportRequested) && + Objects.equals(this.reportsRequested, craCheckReportVerificationPdfGetRequest.reportsRequested) && + Objects.equals(this.hideGseDetails, craCheckReportVerificationPdfGetRequest.hideGseDetails) && + Objects.equals(this.userToken, craCheckReportVerificationPdfGetRequest.userToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, thirdPartyUserToken, reportRequested, reportsRequested, hideGseDetails, userToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCheckReportVerificationPdfGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" thirdPartyUserToken: ").append(toIndentedString(thirdPartyUserToken)).append("\n"); + sb.append(" reportRequested: ").append(toIndentedString(reportRequested)).append("\n"); + sb.append(" reportsRequested: ").append(toIndentedString(reportsRequested)).append("\n"); + sb.append(" hideGseDetails: ").append(toIndentedString(hideGseDetails)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCheckReportVerificationPdfReportType.java b/src/main/java/com/plaid/client/model/CraCheckReportVerificationPdfReportType.java new file mode 100644 index 0000000000..34a0e28b2c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCheckReportVerificationPdfReportType.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of verification PDF report to fetch. + */ +@JsonAdapter(CraCheckReportVerificationPdfReportType.Adapter.class) +public enum CraCheckReportVerificationPdfReportType { + + VOA("voa"), + + EMPLOYMENT_REFRESH("employment_refresh"), + + INCOME("income"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraCheckReportVerificationPdfReportType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraCheckReportVerificationPdfReportType fromValue(String value) { + for (CraCheckReportVerificationPdfReportType b : CraCheckReportVerificationPdfReportType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraCheckReportVerificationPdfReportType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraCheckReportVerificationPdfReportType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraCheckReportVerificationPdfReportType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraCheckReportVerificationPdfReportType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraCreditProfileInquiryType.java b/src/main/java/com/plaid/client/model/CraCreditProfileInquiryType.java new file mode 100644 index 0000000000..9c588ca25f --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCreditProfileInquiryType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The inquiry type of credit profile report. + */ +@JsonAdapter(CraCreditProfileInquiryType.Adapter.class) +public enum CraCreditProfileInquiryType { + + SOFT_INQUIRY("SOFT_INQUIRY"), + + STANDARD_INQUIRY("STANDARD_INQUIRY"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraCreditProfileInquiryType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraCreditProfileInquiryType fromValue(String value) { + for (CraCreditProfileInquiryType b : CraCreditProfileInquiryType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraCreditProfileInquiryType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraCreditProfileInquiryType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraCreditProfileInquiryType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraCreditProfileInquiryType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraCreditProfileLendScore.java b/src/main/java/com/plaid/client/model/CraCreditProfileLendScore.java new file mode 100644 index 0000000000..a16db6b5ad --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCreditProfileLendScore.java @@ -0,0 +1,191 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An individual LendScore result within a credit profile report. + */ +@ApiModel(description = "An individual LendScore result within a credit profile report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCreditProfileLendScore { + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_REASON_CODES = "reason_codes"; + @SerializedName(SERIALIZED_NAME_REASON_CODES) + private List reasonCodes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_VARIANT = "variant"; + @SerializedName(SERIALIZED_NAME_VARIANT) + private String variant; + + public static final String SERIALIZED_NAME_ERROR_REASON = "error_reason"; + @SerializedName(SERIALIZED_NAME_ERROR_REASON) + private String errorReason; + + + public CraCreditProfileLendScore score(Integer score) { + + this.score = score; + return this; + } + + /** + * The score returned by the LendScore model. Will be an integer in the range 1 to 99. Higher scores indicate lower credit risk. + * @return score + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The score returned by the LendScore model. Will be an integer in the range 1 to 99. Higher scores indicate lower credit risk.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public CraCreditProfileLendScore reasonCodes(List reasonCodes) { + + this.reasonCodes = reasonCodes; + return this; + } + + public CraCreditProfileLendScore addReasonCodesItem(String reasonCodesItem) { + this.reasonCodes.add(reasonCodesItem); + return this; + } + + /** + * The reasons for an individual having risk according to the LendScore. For a full list of possible reason codes and a mapping of reason codes to human-readable reasons, contact your Plaid account manager. Different LendScore versions will use different sets of reason codes. + * @return reasonCodes + **/ + @ApiModelProperty(required = true, value = "The reasons for an individual having risk according to the LendScore. For a full list of possible reason codes and a mapping of reason codes to human-readable reasons, contact your Plaid account manager. Different LendScore versions will use different sets of reason codes.") + + public List getReasonCodes() { + return reasonCodes; + } + + + public void setReasonCodes(List reasonCodes) { + this.reasonCodes = reasonCodes; + } + + + public CraCreditProfileLendScore variant(String variant) { + + this.variant = variant; + return this; + } + + /** + * The variant identifier for this LendScore result. + * @return variant + **/ + @ApiModelProperty(required = true, value = "The variant identifier for this LendScore result.") + + public String getVariant() { + return variant; + } + + + public void setVariant(String variant) { + this.variant = variant; + } + + + public CraCreditProfileLendScore errorReason(String errorReason) { + + this.errorReason = errorReason; + return this; + } + + /** + * Human-readable description of why the LendScore could not be computed. + * @return errorReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Human-readable description of why the LendScore could not be computed.") + + public String getErrorReason() { + return errorReason; + } + + + public void setErrorReason(String errorReason) { + this.errorReason = errorReason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCreditProfileLendScore craCreditProfileLendScore = (CraCreditProfileLendScore) o; + return Objects.equals(this.score, craCreditProfileLendScore.score) && + Objects.equals(this.reasonCodes, craCreditProfileLendScore.reasonCodes) && + Objects.equals(this.variant, craCreditProfileLendScore.variant) && + Objects.equals(this.errorReason, craCreditProfileLendScore.errorReason); + } + + @Override + public int hashCode() { + return Objects.hash(score, reasonCodes, variant, errorReason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCreditProfileLendScore {\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" reasonCodes: ").append(toIndentedString(reasonCodes)).append("\n"); + sb.append(" variant: ").append(toIndentedString(variant)).append("\n"); + sb.append(" errorReason: ").append(toIndentedString(errorReason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCreditProfileReport.java b/src/main/java/com/plaid/client/model/CraCreditProfileReport.java new file mode 100644 index 0000000000..f13915091a --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCreditProfileReport.java @@ -0,0 +1,280 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCreditProfileInquiryType; +import com.plaid.client.model.CraCreditProfileLendScore; +import com.plaid.client.model.CraCreditProfileReportMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Contains data for the CRA Credit Profile Report. + */ +@ApiModel(description = "Contains data for the CRA Credit Profile Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCreditProfileReport { + public static final String SERIALIZED_NAME_DATE_RETRIEVED = "date_retrieved"; + @SerializedName(SERIALIZED_NAME_DATE_RETRIEVED) + private OffsetDateTime dateRetrieved; + + public static final String SERIALIZED_NAME_INQUIRY_TYPE = "inquiry_type"; + @SerializedName(SERIALIZED_NAME_INQUIRY_TYPE) + private CraCreditProfileInquiryType inquiryType; + + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + public static final String SERIALIZED_NAME_LEND_SCORES = "lend_scores"; + @SerializedName(SERIALIZED_NAME_LEND_SCORES) + private List lendScores = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CASHFLOW_INSIGHTS_ATTRIBUTES = "cashflow_insights_attributes"; + @SerializedName(SERIALIZED_NAME_CASHFLOW_INSIGHTS_ATTRIBUTES) + private Object cashflowInsightsAttributes; + + public static final String SERIALIZED_NAME_NETWORK_INSIGHTS_ATTRIBUTES = "network_insights_attributes"; + @SerializedName(SERIALIZED_NAME_NETWORK_INSIGHTS_ATTRIBUTES) + private Object networkInsightsAttributes; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private CraCreditProfileReportMetadata metadata; + + + public CraCreditProfileReport dateRetrieved(OffsetDateTime dateRetrieved) { + + this.dateRetrieved = dateRetrieved; + return this; + } + + /** + * The time when the report was retrieved. + * @return dateRetrieved + **/ + @ApiModelProperty(required = true, value = "The time when the report was retrieved.") + + public OffsetDateTime getDateRetrieved() { + return dateRetrieved; + } + + + public void setDateRetrieved(OffsetDateTime dateRetrieved) { + this.dateRetrieved = dateRetrieved; + } + + + public CraCreditProfileReport inquiryType(CraCreditProfileInquiryType inquiryType) { + + this.inquiryType = inquiryType; + return this; + } + + /** + * Get inquiryType + * @return inquiryType + **/ + @ApiModelProperty(required = true, value = "") + + public CraCreditProfileInquiryType getInquiryType() { + return inquiryType; + } + + + public void setInquiryType(CraCreditProfileInquiryType inquiryType) { + this.inquiryType = inquiryType; + } + + + public CraCreditProfileReport clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * Client-generated identifier, which can be used by lenders to track loan applications. + * @return clientReportId + **/ + @ApiModelProperty(required = true, value = "Client-generated identifier, which can be used by lenders to track loan applications.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + public CraCreditProfileReport lendScores(List lendScores) { + + this.lendScores = lendScores; + return this; + } + + public CraCreditProfileReport addLendScoresItem(CraCreditProfileLendScore lendScoresItem) { + this.lendScores.add(lendScoresItem); + return this; + } + + /** + * The LendScore results for the credit profile report. + * @return lendScores + **/ + @ApiModelProperty(required = true, value = "The LendScore results for the credit profile report.") + + public List getLendScores() { + return lendScores; + } + + + public void setLendScores(List lendScores) { + this.lendScores = lendScores; + } + + + public CraCreditProfileReport cashflowInsightsAttributes(Object cashflowInsightsAttributes) { + + this.cashflowInsightsAttributes = cashflowInsightsAttributes; + return this; + } + + /** + * A map of cash flow attributes, where the key is a string, and the value is a string, float, int, or boolean. The specific list of attributes will depend on the cash flow attributes version used. For a full list of attributes, contact your account manager. + * @return cashflowInsightsAttributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A map of cash flow attributes, where the key is a string, and the value is a string, float, int, or boolean. The specific list of attributes will depend on the cash flow attributes version used. For a full list of attributes, contact your account manager.") + + public Object getCashflowInsightsAttributes() { + return cashflowInsightsAttributes; + } + + + public void setCashflowInsightsAttributes(Object cashflowInsightsAttributes) { + this.cashflowInsightsAttributes = cashflowInsightsAttributes; + } + + + public CraCreditProfileReport networkInsightsAttributes(Object networkInsightsAttributes) { + + this.networkInsightsAttributes = networkInsightsAttributes; + return this; + } + + /** + * A map of network attributes, where the key is a string, and the value is a float, int, or boolean. For a full list of attributes, contact your account manager. + * @return networkInsightsAttributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A map of network attributes, where the key is a string, and the value is a float, int, or boolean. For a full list of attributes, contact your account manager.") + + public Object getNetworkInsightsAttributes() { + return networkInsightsAttributes; + } + + + public void setNetworkInsightsAttributes(Object networkInsightsAttributes) { + this.networkInsightsAttributes = networkInsightsAttributes; + } + + + public CraCreditProfileReport metadata(CraCreditProfileReportMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public CraCreditProfileReportMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(CraCreditProfileReportMetadata metadata) { + this.metadata = metadata; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCreditProfileReport craCreditProfileReport = (CraCreditProfileReport) o; + return Objects.equals(this.dateRetrieved, craCreditProfileReport.dateRetrieved) && + Objects.equals(this.inquiryType, craCreditProfileReport.inquiryType) && + Objects.equals(this.clientReportId, craCreditProfileReport.clientReportId) && + Objects.equals(this.lendScores, craCreditProfileReport.lendScores) && + Objects.equals(this.cashflowInsightsAttributes, craCreditProfileReport.cashflowInsightsAttributes) && + Objects.equals(this.networkInsightsAttributes, craCreditProfileReport.networkInsightsAttributes) && + Objects.equals(this.metadata, craCreditProfileReport.metadata); + } + + @Override + public int hashCode() { + return Objects.hash(dateRetrieved, inquiryType, clientReportId, lendScores, cashflowInsightsAttributes, networkInsightsAttributes, metadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCreditProfileReport {\n"); + sb.append(" dateRetrieved: ").append(toIndentedString(dateRetrieved)).append("\n"); + sb.append(" inquiryType: ").append(toIndentedString(inquiryType)).append("\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append(" lendScores: ").append(toIndentedString(lendScores)).append("\n"); + sb.append(" cashflowInsightsAttributes: ").append(toIndentedString(cashflowInsightsAttributes)).append("\n"); + sb.append(" networkInsightsAttributes: ").append(toIndentedString(networkInsightsAttributes)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCreditProfileReportGetRequest.java b/src/main/java/com/plaid/client/model/CraCreditProfileReportGetRequest.java new file mode 100644 index 0000000000..14acef3357 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCreditProfileReportGetRequest.java @@ -0,0 +1,300 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ConsumerReportPermissiblePurpose; +import com.plaid.client.model.CraCreditProfileInquiryType; +import com.plaid.client.model.CraCreditProfileReportType; +import com.plaid.client.model.CraCreditProfileReportVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraCreditProfileReportGetRequest defines the request schema for `/cra/credit_profile/report/get`. + */ +@ApiModel(description = "CraCreditProfileReportGetRequest defines the request schema for `/cra/credit_profile/report/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCreditProfileReportGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE = "consumer_report_permissible_purpose"; + @SerializedName(SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE) + private ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose; + + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + public static final String SERIALIZED_NAME_REPORT_TYPE = "report_type"; + @SerializedName(SERIALIZED_NAME_REPORT_TYPE) + private CraCreditProfileReportType reportType; + + public static final String SERIALIZED_NAME_INQUIRY_TYPE = "inquiry_type"; + @SerializedName(SERIALIZED_NAME_INQUIRY_TYPE) + private CraCreditProfileInquiryType inquiryType; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private CraCreditProfileReportVersion version; + + + public CraCreditProfileReportGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraCreditProfileReportGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraCreditProfileReportGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @ApiModelProperty(required = true, value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCreditProfileReportGetRequest consumerReportPermissiblePurpose(ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose) { + + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + return this; + } + + /** + * Get consumerReportPermissiblePurpose + * @return consumerReportPermissiblePurpose + **/ + @ApiModelProperty(required = true, value = "") + + public ConsumerReportPermissiblePurpose getConsumerReportPermissiblePurpose() { + return consumerReportPermissiblePurpose; + } + + + public void setConsumerReportPermissiblePurpose(ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose) { + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + } + + + public CraCreditProfileReportGetRequest clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * Client-generated identifier, which can be used by lenders to track loan applications. + * @return clientReportId + **/ + @ApiModelProperty(required = true, value = "Client-generated identifier, which can be used by lenders to track loan applications.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + public CraCreditProfileReportGetRequest reportType(CraCreditProfileReportType reportType) { + + this.reportType = reportType; + return this; + } + + /** + * Get reportType + * @return reportType + **/ + @ApiModelProperty(required = true, value = "") + + public CraCreditProfileReportType getReportType() { + return reportType; + } + + + public void setReportType(CraCreditProfileReportType reportType) { + this.reportType = reportType; + } + + + public CraCreditProfileReportGetRequest inquiryType(CraCreditProfileInquiryType inquiryType) { + + this.inquiryType = inquiryType; + return this; + } + + /** + * Get inquiryType + * @return inquiryType + **/ + @ApiModelProperty(required = true, value = "") + + public CraCreditProfileInquiryType getInquiryType() { + return inquiryType; + } + + + public void setInquiryType(CraCreditProfileInquiryType inquiryType) { + this.inquiryType = inquiryType; + } + + + public CraCreditProfileReportGetRequest version(CraCreditProfileReportVersion version) { + + this.version = version; + return this; + } + + /** + * Get version + * @return version + **/ + @ApiModelProperty(required = true, value = "") + + public CraCreditProfileReportVersion getVersion() { + return version; + } + + + public void setVersion(CraCreditProfileReportVersion version) { + this.version = version; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCreditProfileReportGetRequest craCreditProfileReportGetRequest = (CraCreditProfileReportGetRequest) o; + return Objects.equals(this.clientId, craCreditProfileReportGetRequest.clientId) && + Objects.equals(this.secret, craCreditProfileReportGetRequest.secret) && + Objects.equals(this.userId, craCreditProfileReportGetRequest.userId) && + Objects.equals(this.consumerReportPermissiblePurpose, craCreditProfileReportGetRequest.consumerReportPermissiblePurpose) && + Objects.equals(this.clientReportId, craCreditProfileReportGetRequest.clientReportId) && + Objects.equals(this.reportType, craCreditProfileReportGetRequest.reportType) && + Objects.equals(this.inquiryType, craCreditProfileReportGetRequest.inquiryType) && + Objects.equals(this.version, craCreditProfileReportGetRequest.version); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, consumerReportPermissiblePurpose, clientReportId, reportType, inquiryType, version); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCreditProfileReportGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" consumerReportPermissiblePurpose: ").append(toIndentedString(consumerReportPermissiblePurpose)).append("\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append(" reportType: ").append(toIndentedString(reportType)).append("\n"); + sb.append(" inquiryType: ").append(toIndentedString(inquiryType)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCreditProfileReportGetResponse.java b/src/main/java/com/plaid/client/model/CraCreditProfileReportGetResponse.java new file mode 100644 index 0000000000..075927d987 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCreditProfileReportGetResponse.java @@ -0,0 +1,192 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CheckReportWarning; +import com.plaid.client.model.CraCreditProfileReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraCreditProfileReportGetResponse defines the response schema for `/cra/credit_profile/report/get`. + */ +@ApiModel(description = "CraCreditProfileReportGetResponse defines the response schema for `/cra/credit_profile/report/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCreditProfileReportGetResponse { + public static final String SERIALIZED_NAME_REPORT = "report"; + @SerializedName(SERIALIZED_NAME_REPORT) + private CraCreditProfileReport report; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = new ArrayList<>(); + + + public CraCreditProfileReportGetResponse report(CraCreditProfileReport report) { + + this.report = report; + return this; + } + + /** + * Get report + * @return report + **/ + @ApiModelProperty(required = true, value = "") + + public CraCreditProfileReport getReport() { + return report; + } + + + public void setReport(CraCreditProfileReport report) { + this.report = report; + } + + + public CraCreditProfileReportGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CraCreditProfileReportGetResponse userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraCreditProfileReportGetResponse warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public CraCreditProfileReportGetResponse addWarningsItem(CheckReportWarning warningsItem) { + this.warnings.add(warningsItem); + return this; + } + + /** + * If the report generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing + * @return warnings + **/ + @ApiModelProperty(required = true, value = "If the report generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCreditProfileReportGetResponse craCreditProfileReportGetResponse = (CraCreditProfileReportGetResponse) o; + return Objects.equals(this.report, craCreditProfileReportGetResponse.report) && + Objects.equals(this.requestId, craCreditProfileReportGetResponse.requestId) && + Objects.equals(this.userId, craCreditProfileReportGetResponse.userId) && + Objects.equals(this.warnings, craCreditProfileReportGetResponse.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(report, requestId, userId, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCreditProfileReportGetResponse {\n"); + sb.append(" report: ").append(toIndentedString(report)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCreditProfileReportMetadata.java b/src/main/java/com/plaid/client/model/CraCreditProfileReportMetadata.java new file mode 100644 index 0000000000..0e67872442 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCreditProfileReportMetadata.java @@ -0,0 +1,387 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Metadata about the CRA Credit Profile Report. + */ +@ApiModel(description = "Metadata about the CRA Credit Profile Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCreditProfileReportMetadata { + public static final String SERIALIZED_NAME_ITEM_COUNT = "item_count"; + @SerializedName(SERIALIZED_NAME_ITEM_COUNT) + private Integer itemCount; + + public static final String SERIALIZED_NAME_INSTITUTION_IDS = "institution_ids"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_IDS) + private List institutionIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ACCOUNT_COUNT = "account_count"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_COUNT) + private Integer accountCount; + + public static final String SERIALIZED_NAME_PRIMARY_ACCOUNT_COUNT = "primary_account_count"; + @SerializedName(SERIALIZED_NAME_PRIMARY_ACCOUNT_COUNT) + private Integer primaryAccountCount; + + public static final String SERIALIZED_NAME_DEPOSITORY_ACCOUNT_TYPE_COUNT = "depository_account_type_count"; + @SerializedName(SERIALIZED_NAME_DEPOSITORY_ACCOUNT_TYPE_COUNT) + private Integer depositoryAccountTypeCount; + + public static final String SERIALIZED_NAME_CREDIT_ACCOUNT_TYPE_COUNT = "credit_account_type_count"; + @SerializedName(SERIALIZED_NAME_CREDIT_ACCOUNT_TYPE_COUNT) + private Integer creditAccountTypeCount; + + public static final String SERIALIZED_NAME_OTHER_ACCOUNT_TYPE_COUNT = "other_account_type_count"; + @SerializedName(SERIALIZED_NAME_OTHER_ACCOUNT_TYPE_COUNT) + private Integer otherAccountTypeCount; + + public static final String SERIALIZED_NAME_MULTIPLE_OWNER_ACCOUNT_COUNT = "multiple_owner_account_count"; + @SerializedName(SERIALIZED_NAME_MULTIPLE_OWNER_ACCOUNT_COUNT) + private Integer multipleOwnerAccountCount; + + public static final String SERIALIZED_NAME_GENERATED_AT = "generated_at"; + @SerializedName(SERIALIZED_NAME_GENERATED_AT) + private OffsetDateTime generatedAt; + + public static final String SERIALIZED_NAME_OLDEST_TRANSACTION_DATE = "oldest_transaction_date"; + @SerializedName(SERIALIZED_NAME_OLDEST_TRANSACTION_DATE) + private LocalDate oldestTransactionDate; + + public static final String SERIALIZED_NAME_MOST_RECENT_TRANSACTION_DATE = "most_recent_transaction_date"; + @SerializedName(SERIALIZED_NAME_MOST_RECENT_TRANSACTION_DATE) + private LocalDate mostRecentTransactionDate; + + + public CraCreditProfileReportMetadata itemCount(Integer itemCount) { + + this.itemCount = itemCount; + return this; + } + + /** + * The number of items used to calculate the report. + * @return itemCount + **/ + @ApiModelProperty(required = true, value = "The number of items used to calculate the report.") + + public Integer getItemCount() { + return itemCount; + } + + + public void setItemCount(Integer itemCount) { + this.itemCount = itemCount; + } + + + public CraCreditProfileReportMetadata institutionIds(List institutionIds) { + + this.institutionIds = institutionIds; + return this; + } + + public CraCreditProfileReportMetadata addInstitutionIdsItem(String institutionIdsItem) { + this.institutionIds.add(institutionIdsItem); + return this; + } + + /** + * The institution IDs associated with the report. + * @return institutionIds + **/ + @ApiModelProperty(required = true, value = "The institution IDs associated with the report.") + + public List getInstitutionIds() { + return institutionIds; + } + + + public void setInstitutionIds(List institutionIds) { + this.institutionIds = institutionIds; + } + + + public CraCreditProfileReportMetadata accountCount(Integer accountCount) { + + this.accountCount = accountCount; + return this; + } + + /** + * The total number of accounts in the report. + * @return accountCount + **/ + @ApiModelProperty(required = true, value = "The total number of accounts in the report.") + + public Integer getAccountCount() { + return accountCount; + } + + + public void setAccountCount(Integer accountCount) { + this.accountCount = accountCount; + } + + + public CraCreditProfileReportMetadata primaryAccountCount(Integer primaryAccountCount) { + + this.primaryAccountCount = primaryAccountCount; + return this; + } + + /** + * The number of primary accounts in the report. + * @return primaryAccountCount + **/ + @ApiModelProperty(required = true, value = "The number of primary accounts in the report.") + + public Integer getPrimaryAccountCount() { + return primaryAccountCount; + } + + + public void setPrimaryAccountCount(Integer primaryAccountCount) { + this.primaryAccountCount = primaryAccountCount; + } + + + public CraCreditProfileReportMetadata depositoryAccountTypeCount(Integer depositoryAccountTypeCount) { + + this.depositoryAccountTypeCount = depositoryAccountTypeCount; + return this; + } + + /** + * The number of depository accounts in the report. + * @return depositoryAccountTypeCount + **/ + @ApiModelProperty(required = true, value = "The number of depository accounts in the report.") + + public Integer getDepositoryAccountTypeCount() { + return depositoryAccountTypeCount; + } + + + public void setDepositoryAccountTypeCount(Integer depositoryAccountTypeCount) { + this.depositoryAccountTypeCount = depositoryAccountTypeCount; + } + + + public CraCreditProfileReportMetadata creditAccountTypeCount(Integer creditAccountTypeCount) { + + this.creditAccountTypeCount = creditAccountTypeCount; + return this; + } + + /** + * The number of credit accounts in the report. + * @return creditAccountTypeCount + **/ + @ApiModelProperty(required = true, value = "The number of credit accounts in the report.") + + public Integer getCreditAccountTypeCount() { + return creditAccountTypeCount; + } + + + public void setCreditAccountTypeCount(Integer creditAccountTypeCount) { + this.creditAccountTypeCount = creditAccountTypeCount; + } + + + public CraCreditProfileReportMetadata otherAccountTypeCount(Integer otherAccountTypeCount) { + + this.otherAccountTypeCount = otherAccountTypeCount; + return this; + } + + /** + * The number of other accounts in the report. + * @return otherAccountTypeCount + **/ + @ApiModelProperty(required = true, value = "The number of other accounts in the report.") + + public Integer getOtherAccountTypeCount() { + return otherAccountTypeCount; + } + + + public void setOtherAccountTypeCount(Integer otherAccountTypeCount) { + this.otherAccountTypeCount = otherAccountTypeCount; + } + + + public CraCreditProfileReportMetadata multipleOwnerAccountCount(Integer multipleOwnerAccountCount) { + + this.multipleOwnerAccountCount = multipleOwnerAccountCount; + return this; + } + + /** + * The number of accounts with multiple owners in the report. + * @return multipleOwnerAccountCount + **/ + @ApiModelProperty(required = true, value = "The number of accounts with multiple owners in the report.") + + public Integer getMultipleOwnerAccountCount() { + return multipleOwnerAccountCount; + } + + + public void setMultipleOwnerAccountCount(Integer multipleOwnerAccountCount) { + this.multipleOwnerAccountCount = multipleOwnerAccountCount; + } + + + public CraCreditProfileReportMetadata generatedAt(OffsetDateTime generatedAt) { + + this.generatedAt = generatedAt; + return this; + } + + /** + * The time when the report was generated. + * @return generatedAt + **/ + @ApiModelProperty(required = true, value = "The time when the report was generated.") + + public OffsetDateTime getGeneratedAt() { + return generatedAt; + } + + + public void setGeneratedAt(OffsetDateTime generatedAt) { + this.generatedAt = generatedAt; + } + + + public CraCreditProfileReportMetadata oldestTransactionDate(LocalDate oldestTransactionDate) { + + this.oldestTransactionDate = oldestTransactionDate; + return this; + } + + /** + * The date of the oldest transaction in the report. + * @return oldestTransactionDate + **/ + @ApiModelProperty(required = true, value = "The date of the oldest transaction in the report.") + + public LocalDate getOldestTransactionDate() { + return oldestTransactionDate; + } + + + public void setOldestTransactionDate(LocalDate oldestTransactionDate) { + this.oldestTransactionDate = oldestTransactionDate; + } + + + public CraCreditProfileReportMetadata mostRecentTransactionDate(LocalDate mostRecentTransactionDate) { + + this.mostRecentTransactionDate = mostRecentTransactionDate; + return this; + } + + /** + * The date of the most recent transaction in the report. + * @return mostRecentTransactionDate + **/ + @ApiModelProperty(required = true, value = "The date of the most recent transaction in the report.") + + public LocalDate getMostRecentTransactionDate() { + return mostRecentTransactionDate; + } + + + public void setMostRecentTransactionDate(LocalDate mostRecentTransactionDate) { + this.mostRecentTransactionDate = mostRecentTransactionDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCreditProfileReportMetadata craCreditProfileReportMetadata = (CraCreditProfileReportMetadata) o; + return Objects.equals(this.itemCount, craCreditProfileReportMetadata.itemCount) && + Objects.equals(this.institutionIds, craCreditProfileReportMetadata.institutionIds) && + Objects.equals(this.accountCount, craCreditProfileReportMetadata.accountCount) && + Objects.equals(this.primaryAccountCount, craCreditProfileReportMetadata.primaryAccountCount) && + Objects.equals(this.depositoryAccountTypeCount, craCreditProfileReportMetadata.depositoryAccountTypeCount) && + Objects.equals(this.creditAccountTypeCount, craCreditProfileReportMetadata.creditAccountTypeCount) && + Objects.equals(this.otherAccountTypeCount, craCreditProfileReportMetadata.otherAccountTypeCount) && + Objects.equals(this.multipleOwnerAccountCount, craCreditProfileReportMetadata.multipleOwnerAccountCount) && + Objects.equals(this.generatedAt, craCreditProfileReportMetadata.generatedAt) && + Objects.equals(this.oldestTransactionDate, craCreditProfileReportMetadata.oldestTransactionDate) && + Objects.equals(this.mostRecentTransactionDate, craCreditProfileReportMetadata.mostRecentTransactionDate); + } + + @Override + public int hashCode() { + return Objects.hash(itemCount, institutionIds, accountCount, primaryAccountCount, depositoryAccountTypeCount, creditAccountTypeCount, otherAccountTypeCount, multipleOwnerAccountCount, generatedAt, oldestTransactionDate, mostRecentTransactionDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCreditProfileReportMetadata {\n"); + sb.append(" itemCount: ").append(toIndentedString(itemCount)).append("\n"); + sb.append(" institutionIds: ").append(toIndentedString(institutionIds)).append("\n"); + sb.append(" accountCount: ").append(toIndentedString(accountCount)).append("\n"); + sb.append(" primaryAccountCount: ").append(toIndentedString(primaryAccountCount)).append("\n"); + sb.append(" depositoryAccountTypeCount: ").append(toIndentedString(depositoryAccountTypeCount)).append("\n"); + sb.append(" creditAccountTypeCount: ").append(toIndentedString(creditAccountTypeCount)).append("\n"); + sb.append(" otherAccountTypeCount: ").append(toIndentedString(otherAccountTypeCount)).append("\n"); + sb.append(" multipleOwnerAccountCount: ").append(toIndentedString(multipleOwnerAccountCount)).append("\n"); + sb.append(" generatedAt: ").append(toIndentedString(generatedAt)).append("\n"); + sb.append(" oldestTransactionDate: ").append(toIndentedString(oldestTransactionDate)).append("\n"); + sb.append(" mostRecentTransactionDate: ").append(toIndentedString(mostRecentTransactionDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraCreditProfileReportType.java b/src/main/java/com/plaid/client/model/CraCreditProfileReportType.java new file mode 100644 index 0000000000..89073f1dc7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCreditProfileReportType.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The product type for the credit profile report request. + */ +@JsonAdapter(CraCreditProfileReportType.Adapter.class) +public enum CraCreditProfileReportType { + + QUALIFY("QUALIFY"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraCreditProfileReportType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraCreditProfileReportType fromValue(String value) { + for (CraCreditProfileReportType b : CraCreditProfileReportType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraCreditProfileReportType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraCreditProfileReportType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraCreditProfileReportType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraCreditProfileReportType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraCreditProfileReportVersion.java b/src/main/java/com/plaid/client/model/CraCreditProfileReportVersion.java new file mode 100644 index 0000000000..c09d44e447 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCreditProfileReportVersion.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The version of the credit profile report to retrieve. + */ +@JsonAdapter(CraCreditProfileReportVersion.Adapter.class) +public enum CraCreditProfileReportVersion { + + V1("v1"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraCreditProfileReportVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraCreditProfileReportVersion fromValue(String value) { + for (CraCreditProfileReportVersion b : CraCreditProfileReportVersion.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraCreditProfileReportVersion.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraCreditProfileReportVersion enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraCreditProfileReportVersion read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraCreditProfileReportVersion.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraCurrentModeledIncome.java b/src/main/java/com/plaid/client/model/CraCurrentModeledIncome.java new file mode 100644 index 0000000000..f9aabe80eb --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraCurrentModeledIncome.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraAnnualIncomeValues; +import com.plaid.client.model.CraMonthlyIncomeValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Modeled estimate of current income based on recently observed income transactions. + */ +@ApiModel(description = "Modeled estimate of current income based on recently observed income transactions.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraCurrentModeledIncome { + public static final String SERIALIZED_NAME_MONTHLY = "monthly"; + @SerializedName(SERIALIZED_NAME_MONTHLY) + private CraMonthlyIncomeValues monthly; + + public static final String SERIALIZED_NAME_ANNUAL = "annual"; + @SerializedName(SERIALIZED_NAME_ANNUAL) + private CraAnnualIncomeValues annual; + + + public CraCurrentModeledIncome monthly(CraMonthlyIncomeValues monthly) { + + this.monthly = monthly; + return this; + } + + /** + * Get monthly + * @return monthly + **/ + @ApiModelProperty(required = true, value = "") + + public CraMonthlyIncomeValues getMonthly() { + return monthly; + } + + + public void setMonthly(CraMonthlyIncomeValues monthly) { + this.monthly = monthly; + } + + + public CraCurrentModeledIncome annual(CraAnnualIncomeValues annual) { + + this.annual = annual; + return this; + } + + /** + * Get annual + * @return annual + **/ + @ApiModelProperty(required = true, value = "") + + public CraAnnualIncomeValues getAnnual() { + return annual; + } + + + public void setAnnual(CraAnnualIncomeValues annual) { + this.annual = annual; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraCurrentModeledIncome craCurrentModeledIncome = (CraCurrentModeledIncome) o; + return Objects.equals(this.monthly, craCurrentModeledIncome.monthly) && + Objects.equals(this.annual, craCurrentModeledIncome.annual); + } + + @Override + public int hashCode() { + return Objects.hash(monthly, annual); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraCurrentModeledIncome {\n"); + sb.append(" monthly: ").append(toIndentedString(monthly)).append("\n"); + sb.append(" annual: ").append(toIndentedString(annual)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraEmploymentRefreshReport.java b/src/main/java/com/plaid/client/model/CraEmploymentRefreshReport.java new file mode 100644 index 0000000000..eb38a04b17 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraEmploymentRefreshReport.java @@ -0,0 +1,164 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraEmploymentRefreshReportItem; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing an Employment Refresh Report. + */ +@ApiModel(description = "An object representing an Employment Refresh Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraEmploymentRefreshReport { + public static final String SERIALIZED_NAME_GENERATED_TIME = "generated_time"; + @SerializedName(SERIALIZED_NAME_GENERATED_TIME) + private OffsetDateTime generatedTime; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Double daysRequested; + + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + + public CraEmploymentRefreshReport generatedTime(OffsetDateTime generatedTime) { + + this.generatedTime = generatedTime; + return this; + } + + /** + * The date and time when the Employment Refresh Report was created, in ISO 8601 format (e.g. \"2018-04-12T03:32:11Z\"). + * @return generatedTime + **/ + @ApiModelProperty(required = true, value = "The date and time when the Employment Refresh Report was created, in ISO 8601 format (e.g. \"2018-04-12T03:32:11Z\").") + + public OffsetDateTime getGeneratedTime() { + return generatedTime; + } + + + public void setGeneratedTime(OffsetDateTime generatedTime) { + this.generatedTime = generatedTime; + } + + + public CraEmploymentRefreshReport daysRequested(Double daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days of transaction history that the Employment Refresh Report covers. + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The number of days of transaction history that the Employment Refresh Report covers.") + + public Double getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Double daysRequested) { + this.daysRequested = daysRequested; + } + + + public CraEmploymentRefreshReport items(List items) { + + this.items = items; + return this; + } + + public CraEmploymentRefreshReport addItemsItem(CraEmploymentRefreshReportItem itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * Data returned by Plaid about each of the Items included in the Employment Refresh Report. + * @return items + **/ + @ApiModelProperty(required = true, value = "Data returned by Plaid about each of the Items included in the Employment Refresh Report.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraEmploymentRefreshReport craEmploymentRefreshReport = (CraEmploymentRefreshReport) o; + return Objects.equals(this.generatedTime, craEmploymentRefreshReport.generatedTime) && + Objects.equals(this.daysRequested, craEmploymentRefreshReport.daysRequested) && + Objects.equals(this.items, craEmploymentRefreshReport.items); + } + + @Override + public int hashCode() { + return Objects.hash(generatedTime, daysRequested, items); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraEmploymentRefreshReport {\n"); + sb.append(" generatedTime: ").append(toIndentedString(generatedTime)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraEmploymentRefreshReportAccount.java b/src/main/java/com/plaid/client/model/CraEmploymentRefreshReportAccount.java new file mode 100644 index 0000000000..7da6c41222 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraEmploymentRefreshReportAccount.java @@ -0,0 +1,250 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.CraEmploymentRefreshReportTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Employment Refresh Report information about an account. + */ +@ApiModel(description = "Employment Refresh Report information about an account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraEmploymentRefreshReportAccount { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + + public CraEmploymentRefreshReportAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CraEmploymentRefreshReportAccount name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the account, either assigned by the user or by the financial institution itself. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the account, either assigned by the user or by the financial institution itself.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CraEmploymentRefreshReportAccount officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * The official name of the account as given by the financial institution. + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The official name of the account as given by the financial institution.") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public CraEmploymentRefreshReportAccount type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public CraEmploymentRefreshReportAccount subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public CraEmploymentRefreshReportAccount transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public CraEmploymentRefreshReportAccount addTransactionsItem(CraEmploymentRefreshReportTransaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * Transaction history associated with the account for the Employment Refresh Report. Note that this transaction differs from a Base Report transaction in that it will only be deposits, and the amounts will be omitted. + * @return transactions + **/ + @ApiModelProperty(required = true, value = "Transaction history associated with the account for the Employment Refresh Report. Note that this transaction differs from a Base Report transaction in that it will only be deposits, and the amounts will be omitted.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraEmploymentRefreshReportAccount craEmploymentRefreshReportAccount = (CraEmploymentRefreshReportAccount) o; + return Objects.equals(this.accountId, craEmploymentRefreshReportAccount.accountId) && + Objects.equals(this.name, craEmploymentRefreshReportAccount.name) && + Objects.equals(this.officialName, craEmploymentRefreshReportAccount.officialName) && + Objects.equals(this.type, craEmploymentRefreshReportAccount.type) && + Objects.equals(this.subtype, craEmploymentRefreshReportAccount.subtype) && + Objects.equals(this.transactions, craEmploymentRefreshReportAccount.transactions); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, name, officialName, type, subtype, transactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraEmploymentRefreshReportAccount {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraEmploymentRefreshReportItem.java b/src/main/java/com/plaid/client/model/CraEmploymentRefreshReportItem.java new file mode 100644 index 0000000000..3762b21925 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraEmploymentRefreshReportItem.java @@ -0,0 +1,219 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraEmploymentRefreshReportAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * A representation of an Item within an Employment Refresh Report. + */ +@ApiModel(description = "A representation of an Item within an Employment Refresh Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraEmploymentRefreshReportItem { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_LAST_UPDATE_TIME = "last_update_time"; + @SerializedName(SERIALIZED_NAME_LAST_UPDATE_TIME) + private OffsetDateTime lastUpdateTime; + + + public CraEmploymentRefreshReportItem accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public CraEmploymentRefreshReportItem addAccountsItem(CraEmploymentRefreshReportAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * Data about each of the accounts open on the Item. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "Data about each of the accounts open on the Item.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public CraEmploymentRefreshReportItem institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The full financial institution name associated with the Item. + * @return institutionName + **/ + @ApiModelProperty(required = true, value = "The full financial institution name associated with the Item.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public CraEmploymentRefreshReportItem institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The id of the financial institution associated with the Item. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The id of the financial institution associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public CraEmploymentRefreshReportItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CraEmploymentRefreshReportItem lastUpdateTime(OffsetDateTime lastUpdateTime) { + + this.lastUpdateTime = lastUpdateTime; + return this; + } + + /** + * The date and time when this Item's data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return lastUpdateTime + **/ + @ApiModelProperty(required = true, value = "The date and time when this Item's data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getLastUpdateTime() { + return lastUpdateTime; + } + + + public void setLastUpdateTime(OffsetDateTime lastUpdateTime) { + this.lastUpdateTime = lastUpdateTime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraEmploymentRefreshReportItem craEmploymentRefreshReportItem = (CraEmploymentRefreshReportItem) o; + return Objects.equals(this.accounts, craEmploymentRefreshReportItem.accounts) && + Objects.equals(this.institutionName, craEmploymentRefreshReportItem.institutionName) && + Objects.equals(this.institutionId, craEmploymentRefreshReportItem.institutionId) && + Objects.equals(this.itemId, craEmploymentRefreshReportItem.itemId) && + Objects.equals(this.lastUpdateTime, craEmploymentRefreshReportItem.lastUpdateTime); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, institutionName, institutionId, itemId, lastUpdateTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraEmploymentRefreshReportItem {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" lastUpdateTime: ").append(toIndentedString(lastUpdateTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraEmploymentRefreshReportTransaction.java b/src/main/java/com/plaid/client/model/CraEmploymentRefreshReportTransaction.java new file mode 100644 index 0000000000..940caf863a --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraEmploymentRefreshReportTransaction.java @@ -0,0 +1,211 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * A transaction on the Employment Refresh Report. Note that this transaction differs from a Base Report transaction in that it will only be deposits, and the amounts will be omitted. + */ +@ApiModel(description = "A transaction on the Employment Refresh Report. Note that this transaction differs from a Base Report transaction in that it will only be deposits, and the amounts will be omitted.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraEmploymentRefreshReportTransaction { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ORIGINAL_DESCRIPTION = "original_description"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_DESCRIPTION) + private String originalDescription; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_PENDING = "pending"; + @SerializedName(SERIALIZED_NAME_PENDING) + private Boolean pending; + + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + + public CraEmploymentRefreshReportTransaction accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account in which this transaction occurred. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account in which this transaction occurred.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CraEmploymentRefreshReportTransaction originalDescription(String originalDescription) { + + this.originalDescription = originalDescription; + return this; + } + + /** + * The string returned by the financial institution to describe the transaction. + * @return originalDescription + **/ + @ApiModelProperty(required = true, value = "The string returned by the financial institution to describe the transaction.") + + public String getOriginalDescription() { + return originalDescription; + } + + + public void setOriginalDescription(String originalDescription) { + this.originalDescription = originalDescription; + } + + + public CraEmploymentRefreshReportTransaction date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format ( `YYYY-MM-DD` ). + * @return date + **/ + @ApiModelProperty(required = true, value = "For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format ( `YYYY-MM-DD` ).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public CraEmploymentRefreshReportTransaction pending(Boolean pending) { + + this.pending = pending; + return this; + } + + /** + * When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled. + * @return pending + **/ + @ApiModelProperty(required = true, value = "When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.") + + public Boolean getPending() { + return pending; + } + + + public void setPending(Boolean pending) { + this.pending = pending; + } + + + public CraEmploymentRefreshReportTransaction transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive. + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraEmploymentRefreshReportTransaction craEmploymentRefreshReportTransaction = (CraEmploymentRefreshReportTransaction) o; + return Objects.equals(this.accountId, craEmploymentRefreshReportTransaction.accountId) && + Objects.equals(this.originalDescription, craEmploymentRefreshReportTransaction.originalDescription) && + Objects.equals(this.date, craEmploymentRefreshReportTransaction.date) && + Objects.equals(this.pending, craEmploymentRefreshReportTransaction.pending) && + Objects.equals(this.transactionId, craEmploymentRefreshReportTransaction.transactionId); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, originalDescription, date, pending, transactionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraEmploymentRefreshReportTransaction {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" originalDescription: ").append(toIndentedString(originalDescription)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" pending: ").append(toIndentedString(pending)).append("\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraIncomeCategory.java b/src/main/java/com/plaid/client/model/CraIncomeCategory.java new file mode 100644 index 0000000000..4c77985215 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraIncomeCategory.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The income category for a given stream. The streams returned in the response will be filtered based on these primary and secondary income categories. See the [Income V2 Category Taxonomy](https://plaid.com/documents/income-v2-category-taxonomy.csv) for a full list of income categories. + */ +@ApiModel(description = "The income category for a given stream. The streams returned in the response will be filtered based on these primary and secondary income categories. See the [Income V2 Category Taxonomy](https://plaid.com/documents/income-v2-category-taxonomy.csv) for a full list of income categories.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraIncomeCategory { + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + private String primary; + + public static final String SERIALIZED_NAME_SECONDARY = "secondary"; + @SerializedName(SERIALIZED_NAME_SECONDARY) + private String secondary; + + + public CraIncomeCategory primary(String primary) { + + this.primary = primary; + return this; + } + + /** + * A high level category that communicates the broad category of the stream. + * @return primary + **/ + @ApiModelProperty(required = true, value = "A high level category that communicates the broad category of the stream.") + + public String getPrimary() { + return primary; + } + + + public void setPrimary(String primary) { + this.primary = primary; + } + + + public CraIncomeCategory secondary(String secondary) { + + this.secondary = secondary; + return this; + } + + /** + * A granular category conveying the stream's intent. + * @return secondary + **/ + @ApiModelProperty(required = true, value = "A granular category conveying the stream's intent.") + + public String getSecondary() { + return secondary; + } + + + public void setSecondary(String secondary) { + this.secondary = secondary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraIncomeCategory craIncomeCategory = (CraIncomeCategory) o; + return Objects.equals(this.primary, craIncomeCategory.primary) && + Objects.equals(this.secondary, craIncomeCategory.secondary); + } + + @Override + public int hashCode() { + return Objects.hash(primary, secondary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraIncomeCategory {\n"); + sb.append(" primary: ").append(toIndentedString(primary)).append("\n"); + sb.append(" secondary: ").append(toIndentedString(secondary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraIncomeInsights.java b/src/main/java/com/plaid/client/model/CraIncomeInsights.java new file mode 100644 index 0000000000..13f9646ce5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraIncomeInsights.java @@ -0,0 +1,359 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraBankIncomeItem; +import com.plaid.client.model.CraBankIncomeSummary; +import com.plaid.client.model.CraBankIncomeWarning; +import com.plaid.client.model.CraIncomeInsightsUserSummary; +import com.plaid.client.model.CraIncomeStream; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * The Check Income Insights Report for an end user. + */ +@ApiModel(description = "The Check Income Insights Report for an end user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraIncomeInsights { + public static final String SERIALIZED_NAME_REPORT_ID = "report_id"; + @SerializedName(SERIALIZED_NAME_REPORT_ID) + private String reportId; + + public static final String SERIALIZED_NAME_GENERATED_TIME = "generated_time"; + @SerializedName(SERIALIZED_NAME_GENERATED_TIME) + private OffsetDateTime generatedTime; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = null; + + public static final String SERIALIZED_NAME_USER_SUMMARY = "user_summary"; + @SerializedName(SERIALIZED_NAME_USER_SUMMARY) + private CraIncomeInsightsUserSummary userSummary; + + public static final String SERIALIZED_NAME_INCOME_STREAMS = "income_streams"; + @SerializedName(SERIALIZED_NAME_INCOME_STREAMS) + private List incomeStreams = new ArrayList<>(); + + public static final String SERIALIZED_NAME_BANK_INCOME_SUMMARY = "bank_income_summary"; + @SerializedName(SERIALIZED_NAME_BANK_INCOME_SUMMARY) + private CraBankIncomeSummary bankIncomeSummary; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = null; + + + public CraIncomeInsights reportId(String reportId) { + + this.reportId = reportId; + return this; + } + + /** + * The unique identifier associated with the Check Income Insights Report. + * @return reportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unique identifier associated with the Check Income Insights Report.") + + public String getReportId() { + return reportId; + } + + + public void setReportId(String reportId) { + this.reportId = reportId; + } + + + public CraIncomeInsights generatedTime(OffsetDateTime generatedTime) { + + this.generatedTime = generatedTime; + return this; + } + + /** + * The time when the Check Income Insights Report was generated. + * @return generatedTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The time when the Check Income Insights Report was generated.") + + public OffsetDateTime getGeneratedTime() { + return generatedTime; + } + + + public void setGeneratedTime(OffsetDateTime generatedTime) { + this.generatedTime = generatedTime; + } + + + public CraIncomeInsights daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days requested by the customer for the Check Income Insights Report. + * @return daysRequested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days requested by the customer for the Check Income Insights Report.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + public CraIncomeInsights clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * Client-generated identifier, which can be used by lenders to track loan applications. + * @return clientReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client-generated identifier, which can be used by lenders to track loan applications.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + public CraIncomeInsights items(List items) { + + this.items = items; + return this; + } + + public CraIncomeInsights addItemsItem(CraBankIncomeItem itemsItem) { + if (this.items == null) { + this.items = new ArrayList<>(); + } + this.items.add(itemsItem); + return this; + } + + /** + * The list of Items in the report along with the associated metadata about the Item. + * @return items + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The list of Items in the report along with the associated metadata about the Item.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + public CraIncomeInsights userSummary(CraIncomeInsightsUserSummary userSummary) { + + this.userSummary = userSummary; + return this; + } + + /** + * Get userSummary + * @return userSummary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraIncomeInsightsUserSummary getUserSummary() { + return userSummary; + } + + + public void setUserSummary(CraIncomeInsightsUserSummary userSummary) { + this.userSummary = userSummary; + } + + + public CraIncomeInsights incomeStreams(List incomeStreams) { + + this.incomeStreams = incomeStreams; + return this; + } + + public CraIncomeInsights addIncomeStreamsItem(CraIncomeStream incomeStreamsItem) { + this.incomeStreams.add(incomeStreamsItem); + return this; + } + + /** + * The list of income streams for this user. + * @return incomeStreams + **/ + @ApiModelProperty(required = true, value = "The list of income streams for this user.") + + public List getIncomeStreams() { + return incomeStreams; + } + + + public void setIncomeStreams(List incomeStreams) { + this.incomeStreams = incomeStreams; + } + + + public CraIncomeInsights bankIncomeSummary(CraBankIncomeSummary bankIncomeSummary) { + + this.bankIncomeSummary = bankIncomeSummary; + return this; + } + + /** + * Get bankIncomeSummary + * @return bankIncomeSummary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraBankIncomeSummary getBankIncomeSummary() { + return bankIncomeSummary; + } + + + public void setBankIncomeSummary(CraBankIncomeSummary bankIncomeSummary) { + this.bankIncomeSummary = bankIncomeSummary; + } + + + public CraIncomeInsights warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public CraIncomeInsights addWarningsItem(CraBankIncomeWarning warningsItem) { + if (this.warnings == null) { + this.warnings = new ArrayList<>(); + } + this.warnings.add(warningsItem); + return this; + } + + /** + * If data from the report was unable to be retrieved, the warnings object will contain information about the error that caused the data to be incomplete. + * @return warnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If data from the report was unable to be retrieved, the warnings object will contain information about the error that caused the data to be incomplete.") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraIncomeInsights craIncomeInsights = (CraIncomeInsights) o; + return Objects.equals(this.reportId, craIncomeInsights.reportId) && + Objects.equals(this.generatedTime, craIncomeInsights.generatedTime) && + Objects.equals(this.daysRequested, craIncomeInsights.daysRequested) && + Objects.equals(this.clientReportId, craIncomeInsights.clientReportId) && + Objects.equals(this.items, craIncomeInsights.items) && + Objects.equals(this.userSummary, craIncomeInsights.userSummary) && + Objects.equals(this.incomeStreams, craIncomeInsights.incomeStreams) && + Objects.equals(this.bankIncomeSummary, craIncomeInsights.bankIncomeSummary) && + Objects.equals(this.warnings, craIncomeInsights.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(reportId, generatedTime, daysRequested, clientReportId, items, userSummary, incomeStreams, bankIncomeSummary, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraIncomeInsights {\n"); + sb.append(" reportId: ").append(toIndentedString(reportId)).append("\n"); + sb.append(" generatedTime: ").append(toIndentedString(generatedTime)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append(" userSummary: ").append(toIndentedString(userSummary)).append("\n"); + sb.append(" incomeStreams: ").append(toIndentedString(incomeStreams)).append("\n"); + sb.append(" bankIncomeSummary: ").append(toIndentedString(bankIncomeSummary)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraIncomeInsightsUserSummary.java b/src/main/java/com/plaid/client/model/CraIncomeInsightsUserSummary.java new file mode 100644 index 0000000000..d3584bd4a4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraIncomeInsightsUserSummary.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraIncomeMetrics; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Aggregated summary of all income streams for this user. + */ +@ApiModel(description = "Aggregated summary of all income streams for this user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraIncomeInsightsUserSummary { + public static final String SERIALIZED_NAME_INCOME_METRICS = "income_metrics"; + @SerializedName(SERIALIZED_NAME_INCOME_METRICS) + private List incomeMetrics = new ArrayList<>(); + + + public CraIncomeInsightsUserSummary incomeMetrics(List incomeMetrics) { + + this.incomeMetrics = incomeMetrics; + return this; + } + + public CraIncomeInsightsUserSummary addIncomeMetricsItem(CraIncomeMetrics incomeMetricsItem) { + this.incomeMetrics.add(incomeMetricsItem); + return this; + } + + /** + * List of a user's aggregated income metrics for each currency. + * @return incomeMetrics + **/ + @ApiModelProperty(required = true, value = "List of a user's aggregated income metrics for each currency.") + + public List getIncomeMetrics() { + return incomeMetrics; + } + + + public void setIncomeMetrics(List incomeMetrics) { + this.incomeMetrics = incomeMetrics; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraIncomeInsightsUserSummary craIncomeInsightsUserSummary = (CraIncomeInsightsUserSummary) o; + return Objects.equals(this.incomeMetrics, craIncomeInsightsUserSummary.incomeMetrics); + } + + @Override + public int hashCode() { + return Objects.hash(incomeMetrics); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraIncomeInsightsUserSummary {\n"); + sb.append(" incomeMetrics: ").append(toIndentedString(incomeMetrics)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraIncomeMetrics.java b/src/main/java/com/plaid/client/model/CraIncomeMetrics.java new file mode 100644 index 0000000000..be4bb6246c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraIncomeMetrics.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCurrentModeledIncome; +import com.plaid.client.model.CraProjectedModeledIncome; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Modeled income metrics for a given income stream or user summary. + */ +@ApiModel(description = "Modeled income metrics for a given income stream or user summary.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraIncomeMetrics { + public static final String SERIALIZED_NAME_CURRENT = "current"; + @SerializedName(SERIALIZED_NAME_CURRENT) + private CraCurrentModeledIncome current; + + public static final String SERIALIZED_NAME_PROJECTED = "projected"; + @SerializedName(SERIALIZED_NAME_PROJECTED) + private CraProjectedModeledIncome projected; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CraIncomeMetrics current(CraCurrentModeledIncome current) { + + this.current = current; + return this; + } + + /** + * Get current + * @return current + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public CraCurrentModeledIncome getCurrent() { + return current; + } + + + public void setCurrent(CraCurrentModeledIncome current) { + this.current = current; + } + + + public CraIncomeMetrics projected(CraProjectedModeledIncome projected) { + + this.projected = projected; + return this; + } + + /** + * Get projected + * @return projected + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public CraProjectedModeledIncome getProjected() { + return projected; + } + + + public void setProjected(CraProjectedModeledIncome projected) { + this.projected = projected; + } + + + public CraIncomeMetrics isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CraIncomeMetrics unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraIncomeMetrics craIncomeMetrics = (CraIncomeMetrics) o; + return Objects.equals(this.current, craIncomeMetrics.current) && + Objects.equals(this.projected, craIncomeMetrics.projected) && + Objects.equals(this.isoCurrencyCode, craIncomeMetrics.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, craIncomeMetrics.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(current, projected, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraIncomeMetrics {\n"); + sb.append(" current: ").append(toIndentedString(current)).append("\n"); + sb.append(" projected: ").append(toIndentedString(projected)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraIncomeNextPayment.java b/src/main/java/com/plaid/client/model/CraIncomeNextPayment.java new file mode 100644 index 0000000000..9fcb5a57f1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraIncomeNextPayment.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Metadata of the income stream's next payment. + */ +@ApiModel(description = "Metadata of the income stream's next payment.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraIncomeNextPayment { + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + + public CraIncomeNextPayment date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The expected date of the income stream's next payment. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return date + **/ + @ApiModelProperty(required = true, value = "The expected date of the income stream's next payment. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraIncomeNextPayment craIncomeNextPayment = (CraIncomeNextPayment) o; + return Objects.equals(this.date, craIncomeNextPayment.date); + } + + @Override + public int hashCode() { + return Objects.hash(date); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraIncomeNextPayment {\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraIncomeStream.java b/src/main/java/com/plaid/client/model/CraIncomeStream.java new file mode 100644 index 0000000000..add4fdf808 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraIncomeStream.java @@ -0,0 +1,277 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraIncomeMetrics; +import com.plaid.client.model.CraIncomeStreamInsights; +import com.plaid.client.model.CraIncomeTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * An income stream detected for the user. + */ +@ApiModel(description = "An income stream detected for the user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraIncomeStream { + public static final String SERIALIZED_NAME_INCOME_STREAM_ID = "income_stream_id"; + @SerializedName(SERIALIZED_NAME_INCOME_STREAM_ID) + private String incomeStreamId; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_INSIGHTS = "insights"; + @SerializedName(SERIALIZED_NAME_INSIGHTS) + private CraIncomeStreamInsights insights; + + public static final String SERIALIZED_NAME_INCOME_METRICS = "income_metrics"; + @SerializedName(SERIALIZED_NAME_INCOME_METRICS) + private CraIncomeMetrics incomeMetrics; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + + public CraIncomeStream incomeStreamId(String incomeStreamId) { + + this.incomeStreamId = incomeStreamId; + return this; + } + + /** + * A unique identifier for an income stream. If the report is regenerated and a new `report_id` is created, the new report will have a new set of `income_stream_id`s. + * @return incomeStreamId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for an income stream. If the report is regenerated and a new `report_id` is created, the new report will have a new set of `income_stream_id`s.") + + public String getIncomeStreamId() { + return incomeStreamId; + } + + + public void setIncomeStreamId(String incomeStreamId) { + this.incomeStreamId = incomeStreamId; + } + + + public CraIncomeStream startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * Minimum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @ApiModelProperty(required = true, value = "Minimum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public CraIncomeStream endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * Maximum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @ApiModelProperty(required = true, value = "Maximum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public CraIncomeStream description(String description) { + + this.description = description; + return this; + } + + /** + * The most common name or original description for the underlying income transactions. + * @return description + **/ + @ApiModelProperty(required = true, value = "The most common name or original description for the underlying income transactions.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public CraIncomeStream insights(CraIncomeStreamInsights insights) { + + this.insights = insights; + return this; + } + + /** + * Get insights + * @return insights + **/ + @ApiModelProperty(required = true, value = "") + + public CraIncomeStreamInsights getInsights() { + return insights; + } + + + public void setInsights(CraIncomeStreamInsights insights) { + this.insights = insights; + } + + + public CraIncomeStream incomeMetrics(CraIncomeMetrics incomeMetrics) { + + this.incomeMetrics = incomeMetrics; + return this; + } + + /** + * Get incomeMetrics + * @return incomeMetrics + **/ + @ApiModelProperty(required = true, value = "") + + public CraIncomeMetrics getIncomeMetrics() { + return incomeMetrics; + } + + + public void setIncomeMetrics(CraIncomeMetrics incomeMetrics) { + this.incomeMetrics = incomeMetrics; + } + + + public CraIncomeStream transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public CraIncomeStream addTransactionsItem(CraIncomeTransaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * The transactions data for the income stream ordered by ascending date. + * @return transactions + **/ + @ApiModelProperty(required = true, value = "The transactions data for the income stream ordered by ascending date.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraIncomeStream craIncomeStream = (CraIncomeStream) o; + return Objects.equals(this.incomeStreamId, craIncomeStream.incomeStreamId) && + Objects.equals(this.startDate, craIncomeStream.startDate) && + Objects.equals(this.endDate, craIncomeStream.endDate) && + Objects.equals(this.description, craIncomeStream.description) && + Objects.equals(this.insights, craIncomeStream.insights) && + Objects.equals(this.incomeMetrics, craIncomeStream.incomeMetrics) && + Objects.equals(this.transactions, craIncomeStream.transactions); + } + + @Override + public int hashCode() { + return Objects.hash(incomeStreamId, startDate, endDate, description, insights, incomeMetrics, transactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraIncomeStream {\n"); + sb.append(" incomeStreamId: ").append(toIndentedString(incomeStreamId)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" insights: ").append(toIndentedString(insights)).append("\n"); + sb.append(" incomeMetrics: ").append(toIndentedString(incomeMetrics)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraIncomeStreamInsights.java b/src/main/java/com/plaid/client/model/CraIncomeStreamInsights.java new file mode 100644 index 0000000000..04f574e01c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraIncomeStreamInsights.java @@ -0,0 +1,217 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraBankIncomeIncomeProvider; +import com.plaid.client.model.CraBankIncomeStatus; +import com.plaid.client.model.CraIncomeCategory; +import com.plaid.client.model.CraIncomeNextPayment; +import com.plaid.client.model.CreditBankIncomePayFrequency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Modeled insights for a given income stream. + */ +@ApiModel(description = "Modeled insights for a given income stream.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraIncomeStreamInsights { + public static final String SERIALIZED_NAME_INCOME_CATEGORY = "income_category"; + @SerializedName(SERIALIZED_NAME_INCOME_CATEGORY) + private CraIncomeCategory incomeCategory; + + public static final String SERIALIZED_NAME_PAY_FREQUENCY = "pay_frequency"; + @SerializedName(SERIALIZED_NAME_PAY_FREQUENCY) + private CreditBankIncomePayFrequency payFrequency; + + public static final String SERIALIZED_NAME_INCOME_PROVIDER = "income_provider"; + @SerializedName(SERIALIZED_NAME_INCOME_PROVIDER) + private CraBankIncomeIncomeProvider incomeProvider; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private CraBankIncomeStatus status; + + public static final String SERIALIZED_NAME_NEXT_PAYMENT = "next_payment"; + @SerializedName(SERIALIZED_NAME_NEXT_PAYMENT) + private CraIncomeNextPayment nextPayment; + + + public CraIncomeStreamInsights incomeCategory(CraIncomeCategory incomeCategory) { + + this.incomeCategory = incomeCategory; + return this; + } + + /** + * Get incomeCategory + * @return incomeCategory + **/ + @ApiModelProperty(required = true, value = "") + + public CraIncomeCategory getIncomeCategory() { + return incomeCategory; + } + + + public void setIncomeCategory(CraIncomeCategory incomeCategory) { + this.incomeCategory = incomeCategory; + } + + + public CraIncomeStreamInsights payFrequency(CreditBankIncomePayFrequency payFrequency) { + + this.payFrequency = payFrequency; + return this; + } + + /** + * Get payFrequency + * @return payFrequency + **/ + @ApiModelProperty(required = true, value = "") + + public CreditBankIncomePayFrequency getPayFrequency() { + return payFrequency; + } + + + public void setPayFrequency(CreditBankIncomePayFrequency payFrequency) { + this.payFrequency = payFrequency; + } + + + public CraIncomeStreamInsights incomeProvider(CraBankIncomeIncomeProvider incomeProvider) { + + this.incomeProvider = incomeProvider; + return this; + } + + /** + * Get incomeProvider + * @return incomeProvider + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public CraBankIncomeIncomeProvider getIncomeProvider() { + return incomeProvider; + } + + + public void setIncomeProvider(CraBankIncomeIncomeProvider incomeProvider) { + this.incomeProvider = incomeProvider; + } + + + public CraIncomeStreamInsights status(CraBankIncomeStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public CraBankIncomeStatus getStatus() { + return status; + } + + + public void setStatus(CraBankIncomeStatus status) { + this.status = status; + } + + + public CraIncomeStreamInsights nextPayment(CraIncomeNextPayment nextPayment) { + + this.nextPayment = nextPayment; + return this; + } + + /** + * Get nextPayment + * @return nextPayment + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public CraIncomeNextPayment getNextPayment() { + return nextPayment; + } + + + public void setNextPayment(CraIncomeNextPayment nextPayment) { + this.nextPayment = nextPayment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraIncomeStreamInsights craIncomeStreamInsights = (CraIncomeStreamInsights) o; + return Objects.equals(this.incomeCategory, craIncomeStreamInsights.incomeCategory) && + Objects.equals(this.payFrequency, craIncomeStreamInsights.payFrequency) && + Objects.equals(this.incomeProvider, craIncomeStreamInsights.incomeProvider) && + Objects.equals(this.status, craIncomeStreamInsights.status) && + Objects.equals(this.nextPayment, craIncomeStreamInsights.nextPayment); + } + + @Override + public int hashCode() { + return Objects.hash(incomeCategory, payFrequency, incomeProvider, status, nextPayment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraIncomeStreamInsights {\n"); + sb.append(" incomeCategory: ").append(toIndentedString(incomeCategory)).append("\n"); + sb.append(" payFrequency: ").append(toIndentedString(payFrequency)).append("\n"); + sb.append(" incomeProvider: ").append(toIndentedString(incomeProvider)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" nextPayment: ").append(toIndentedString(nextPayment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraIncomeTransaction.java b/src/main/java/com/plaid/client/model/CraIncomeTransaction.java new file mode 100644 index 0000000000..07b4408e0c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraIncomeTransaction.java @@ -0,0 +1,327 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraIncomeTransactionOutlier; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * The transaction data for an income stream. + */ +@ApiModel(description = "The transaction data for an income stream.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraIncomeTransaction { + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_ORIGINAL_DESCRIPTION = "original_description"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_DESCRIPTION) + private String originalDescription; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_OUTLIER = "outlier"; + @SerializedName(SERIALIZED_NAME_OUTLIER) + private CraIncomeTransactionOutlier outlier; + + + public CraIncomeTransaction transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive. + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public CraIncomeTransaction itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CraIncomeTransaction accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CraIncomeTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The settled value of the transaction, denominated in the transaction's currency as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The settled value of the transaction, denominated in the transaction's currency as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CraIncomeTransaction date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format (YYYY-MM-DD). + * @return date + **/ + @ApiModelProperty(required = true, value = "For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public CraIncomeTransaction originalDescription(String originalDescription) { + + this.originalDescription = originalDescription; + return this; + } + + /** + * The string returned by the financial institution to describe the transaction. + * @return originalDescription + **/ + @ApiModelProperty(required = true, value = "The string returned by the financial institution to describe the transaction.") + + public String getOriginalDescription() { + return originalDescription; + } + + + public void setOriginalDescription(String originalDescription) { + this.originalDescription = originalDescription; + } + + + public CraIncomeTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CraIncomeTransaction unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public CraIncomeTransaction outlier(CraIncomeTransactionOutlier outlier) { + + this.outlier = outlier; + return this; + } + + /** + * Get outlier + * @return outlier + **/ + @ApiModelProperty(required = true, value = "") + + public CraIncomeTransactionOutlier getOutlier() { + return outlier; + } + + + public void setOutlier(CraIncomeTransactionOutlier outlier) { + this.outlier = outlier; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraIncomeTransaction craIncomeTransaction = (CraIncomeTransaction) o; + return Objects.equals(this.transactionId, craIncomeTransaction.transactionId) && + Objects.equals(this.itemId, craIncomeTransaction.itemId) && + Objects.equals(this.accountId, craIncomeTransaction.accountId) && + Objects.equals(this.amount, craIncomeTransaction.amount) && + Objects.equals(this.date, craIncomeTransaction.date) && + Objects.equals(this.originalDescription, craIncomeTransaction.originalDescription) && + Objects.equals(this.isoCurrencyCode, craIncomeTransaction.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, craIncomeTransaction.unofficialCurrencyCode) && + Objects.equals(this.outlier, craIncomeTransaction.outlier); + } + + @Override + public int hashCode() { + return Objects.hash(transactionId, itemId, accountId, amount, date, originalDescription, isoCurrencyCode, unofficialCurrencyCode, outlier); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraIncomeTransaction {\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" originalDescription: ").append(toIndentedString(originalDescription)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" outlier: ").append(toIndentedString(outlier)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraIncomeTransactionOutlier.java b/src/main/java/com/plaid/client/model/CraIncomeTransactionOutlier.java new file mode 100644 index 0000000000..e70f138be6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraIncomeTransactionOutlier.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Metadata on whether this income transaction is an outlier. + */ +@ApiModel(description = "Metadata on whether this income transaction is an outlier.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraIncomeTransactionOutlier { + public static final String SERIALIZED_NAME_IS_OUTLIER = "is_outlier"; + @SerializedName(SERIALIZED_NAME_IS_OUTLIER) + private Boolean isOutlier; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + + public CraIncomeTransactionOutlier isOutlier(Boolean isOutlier) { + + this.isOutlier = isOutlier; + return this; + } + + /** + * Indicates whether an income transaction amount is unusually high compared to the amounts for that stream. + * @return isOutlier + **/ + @ApiModelProperty(required = true, value = "Indicates whether an income transaction amount is unusually high compared to the amounts for that stream.") + + public Boolean getIsOutlier() { + return isOutlier; + } + + + public void setIsOutlier(Boolean isOutlier) { + this.isOutlier = isOutlier; + } + + + public CraIncomeTransactionOutlier amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The amount that the transaction differs from the stream average transaction amount. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount that the transaction differs from the stream average transaction amount.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraIncomeTransactionOutlier craIncomeTransactionOutlier = (CraIncomeTransactionOutlier) o; + return Objects.equals(this.isOutlier, craIncomeTransactionOutlier.isOutlier) && + Objects.equals(this.amount, craIncomeTransactionOutlier.amount); + } + + @Override + public int hashCode() { + return Objects.hash(isOutlier, amount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraIncomeTransactionOutlier {\n"); + sb.append(" isOutlier: ").append(toIndentedString(isOutlier)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLendScoreReport.java b/src/main/java/com/plaid/client/model/CraLendScoreReport.java new file mode 100644 index 0000000000..108278959a --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLendScoreReport.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LendScore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Contains data for the CRA LendScore Report. + */ +@ApiModel(description = "Contains data for the CRA LendScore Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLendScoreReport { + public static final String SERIALIZED_NAME_REPORT_ID = "report_id"; + @SerializedName(SERIALIZED_NAME_REPORT_ID) + private String reportId; + + public static final String SERIALIZED_NAME_GENERATED_TIME = "generated_time"; + @SerializedName(SERIALIZED_NAME_GENERATED_TIME) + private OffsetDateTime generatedTime; + + public static final String SERIALIZED_NAME_LEND_SCORE = "lend_score"; + @SerializedName(SERIALIZED_NAME_LEND_SCORE) + private LendScore lendScore; + + + public CraLendScoreReport reportId(String reportId) { + + this.reportId = reportId; + return this; + } + + /** + * The unique identifier associated with the report object. + * @return reportId + **/ + @ApiModelProperty(required = true, value = "The unique identifier associated with the report object.") + + public String getReportId() { + return reportId; + } + + + public void setReportId(String reportId) { + this.reportId = reportId; + } + + + public CraLendScoreReport generatedTime(OffsetDateTime generatedTime) { + + this.generatedTime = generatedTime; + return this; + } + + /** + * The time when the report was generated. + * @return generatedTime + **/ + @ApiModelProperty(required = true, value = "The time when the report was generated.") + + public OffsetDateTime getGeneratedTime() { + return generatedTime; + } + + + public void setGeneratedTime(OffsetDateTime generatedTime) { + this.generatedTime = generatedTime; + } + + + public CraLendScoreReport lendScore(LendScore lendScore) { + + this.lendScore = lendScore; + return this; + } + + /** + * Get lendScore + * @return lendScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LendScore getLendScore() { + return lendScore; + } + + + public void setLendScore(LendScore lendScore) { + this.lendScore = lendScore; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLendScoreReport craLendScoreReport = (CraLendScoreReport) o; + return Objects.equals(this.reportId, craLendScoreReport.reportId) && + Objects.equals(this.generatedTime, craLendScoreReport.generatedTime) && + Objects.equals(this.lendScore, craLendScoreReport.lendScore); + } + + @Override + public int hashCode() { + return Objects.hash(reportId, generatedTime, lendScore); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLendScoreReport {\n"); + sb.append(" reportId: ").append(toIndentedString(reportId)).append("\n"); + sb.append(" generatedTime: ").append(toIndentedString(generatedTime)).append("\n"); + sb.append(" lendScore: ").append(toIndentedString(lendScore)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanApplication.java b/src/main/java/com/plaid/client/model/CraLoanApplication.java new file mode 100644 index 0000000000..26c059a616 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanApplication.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraLoanApplicationDecision; +import com.plaid.client.model.CraLoanType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Contains loan application data. + */ +@ApiModel(description = "Contains loan application data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoanApplication { + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_APPLICATION_ID = "application_id"; + @SerializedName(SERIALIZED_NAME_APPLICATION_ID) + private String applicationId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private CraLoanType type; + + public static final String SERIALIZED_NAME_DECISION = "decision"; + @SerializedName(SERIALIZED_NAME_DECISION) + private CraLoanApplicationDecision decision; + + public static final String SERIALIZED_NAME_APPLICATION_DATE = "application_date"; + @SerializedName(SERIALIZED_NAME_APPLICATION_DATE) + private LocalDate applicationDate; + + public static final String SERIALIZED_NAME_DECISION_DATE = "decision_date"; + @SerializedName(SERIALIZED_NAME_DECISION_DATE) + private LocalDate decisionDate; + + + public CraLoanApplication userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token for the user associated with the loan. + * @return userToken + **/ + @ApiModelProperty(required = true, value = "The user token for the user associated with the loan.") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CraLoanApplication applicationId(String applicationId) { + + this.applicationId = applicationId; + return this; + } + + /** + * A unique identifier for the loan application. Personally identifiable information, such as an email address or phone number, should not be used in the `application_id`. + * @return applicationId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the loan application. Personally identifiable information, such as an email address or phone number, should not be used in the `application_id`.") + + public String getApplicationId() { + return applicationId; + } + + + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + + public CraLoanApplication type(CraLoanType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public CraLoanType getType() { + return type; + } + + + public void setType(CraLoanType type) { + this.type = type; + } + + + public CraLoanApplication decision(CraLoanApplicationDecision decision) { + + this.decision = decision; + return this; + } + + /** + * Get decision + * @return decision + **/ + @ApiModelProperty(required = true, value = "") + + public CraLoanApplicationDecision getDecision() { + return decision; + } + + + public void setDecision(CraLoanApplicationDecision decision) { + this.decision = decision; + } + + + public CraLoanApplication applicationDate(LocalDate applicationDate) { + + this.applicationDate = applicationDate; + return this; + } + + /** + * The date the user applied for the loan. The date should be in ISO 8601 format (YYYY-MM-DD). + * @return applicationDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date the user applied for the loan. The date should be in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getApplicationDate() { + return applicationDate; + } + + + public void setApplicationDate(LocalDate applicationDate) { + this.applicationDate = applicationDate; + } + + + public CraLoanApplication decisionDate(LocalDate decisionDate) { + + this.decisionDate = decisionDate; + return this; + } + + /** + * The date when the loan application's decision was made. The date should be in ISO 8601 format (YYYY-MM-DD). + * @return decisionDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date when the loan application's decision was made. The date should be in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getDecisionDate() { + return decisionDate; + } + + + public void setDecisionDate(LocalDate decisionDate) { + this.decisionDate = decisionDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoanApplication craLoanApplication = (CraLoanApplication) o; + return Objects.equals(this.userToken, craLoanApplication.userToken) && + Objects.equals(this.applicationId, craLoanApplication.applicationId) && + Objects.equals(this.type, craLoanApplication.type) && + Objects.equals(this.decision, craLoanApplication.decision) && + Objects.equals(this.applicationDate, craLoanApplication.applicationDate) && + Objects.equals(this.decisionDate, craLoanApplication.decisionDate); + } + + @Override + public int hashCode() { + return Objects.hash(userToken, applicationId, type, decision, applicationDate, decisionDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoanApplication {\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" decision: ").append(toIndentedString(decision)).append("\n"); + sb.append(" applicationDate: ").append(toIndentedString(applicationDate)).append("\n"); + sb.append(" decisionDate: ").append(toIndentedString(decisionDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanApplicationDecision.java b/src/main/java/com/plaid/client/model/CraLoanApplicationDecision.java new file mode 100644 index 0000000000..ee9aba0eaf --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanApplicationDecision.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The decision of the loan application. + */ +@JsonAdapter(CraLoanApplicationDecision.Adapter.class) +public enum CraLoanApplicationDecision { + + APPROVED("APPROVED"), + + DECLINED("DECLINED"), + + OTHER("OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraLoanApplicationDecision(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraLoanApplicationDecision fromValue(String value) { + for (CraLoanApplicationDecision b : CraLoanApplicationDecision.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraLoanApplicationDecision.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraLoanApplicationDecision enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraLoanApplicationDecision read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraLoanApplicationDecision.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanClosedStatus.java b/src/main/java/com/plaid/client/model/CraLoanClosedStatus.java new file mode 100644 index 0000000000..dcc33fe14c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanClosedStatus.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraLoanStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Contains the status and date information of the loan when unregistering. + */ +@ApiModel(description = "Contains the status and date information of the loan when unregistering.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoanClosedStatus { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private CraLoanStatus status; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + + public CraLoanClosedStatus status(CraLoanStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public CraLoanStatus getStatus() { + return status; + } + + + public void setStatus(CraLoanStatus status) { + this.status = status; + } + + + public CraLoanClosedStatus date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The effective date for the status of the loan. The date should be in ISO 8601 format (YYYY-MM-DD). + * @return date + **/ + @ApiModelProperty(required = true, value = "The effective date for the status of the loan. The date should be in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoanClosedStatus craLoanClosedStatus = (CraLoanClosedStatus) o; + return Objects.equals(this.status, craLoanClosedStatus.status) && + Objects.equals(this.date, craLoanClosedStatus.date); + } + + @Override + public int hashCode() { + return Objects.hash(status, date); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoanClosedStatus {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanOpenedStatus.java b/src/main/java/com/plaid/client/model/CraLoanOpenedStatus.java new file mode 100644 index 0000000000..b0bf54d37e --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanOpenedStatus.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraLoanStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Contains the status and date information of the loan when registering. + */ +@ApiModel(description = "Contains the status and date information of the loan when registering.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoanOpenedStatus { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private CraLoanStatus status; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + + public CraLoanOpenedStatus status(CraLoanStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public CraLoanStatus getStatus() { + return status; + } + + + public void setStatus(CraLoanStatus status) { + this.status = status; + } + + + public CraLoanOpenedStatus date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The effective date for the status of the loan. The date should be in ISO 8601 format (YYYY-MM-DD). + * @return date + **/ + @ApiModelProperty(required = true, value = "The effective date for the status of the loan. The date should be in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoanOpenedStatus craLoanOpenedStatus = (CraLoanOpenedStatus) o; + return Objects.equals(this.status, craLoanOpenedStatus.status) && + Objects.equals(this.date, craLoanOpenedStatus.date); + } + + @Override + public int hashCode() { + return Objects.hash(status, date); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoanOpenedStatus {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanPaymentHistory.java b/src/main/java/com/plaid/client/model/CraLoanPaymentHistory.java new file mode 100644 index 0000000000..236924bbd9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanPaymentHistory.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * Contains the payment information for a loan payment period. + */ +@ApiModel(description = "Contains the payment information for a loan payment period.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoanPaymentHistory { + public static final String SERIALIZED_NAME_PERIOD = "period"; + @SerializedName(SERIALIZED_NAME_PERIOD) + private Integer period; + + public static final String SERIALIZED_NAME_DUE_DATE = "due_date"; + @SerializedName(SERIALIZED_NAME_DUE_DATE) + private LocalDate dueDate; + + public static final String SERIALIZED_NAME_DAYS_PAST_DUE = "days_past_due"; + @SerializedName(SERIALIZED_NAME_DAYS_PAST_DUE) + private Integer daysPastDue; + + public static final String SERIALIZED_NAME_AMOUNT_PAST_DUE = "amount_past_due"; + @SerializedName(SERIALIZED_NAME_AMOUNT_PAST_DUE) + private Double amountPastDue; + + public static final String SERIALIZED_NAME_BALANCE_REMAINING = "balance_remaining"; + @SerializedName(SERIALIZED_NAME_BALANCE_REMAINING) + private Double balanceRemaining; + + + public CraLoanPaymentHistory period(Integer period) { + + this.period = period; + return this; + } + + /** + * The index to identify the loan's payment period, starting from 1. For example: 1 means the period between the loan's opening date and the 1st payment due date. 2 means the period between the loan's 1st payment due date and 2nd payment due date. + * @return period + **/ + @ApiModelProperty(required = true, value = "The index to identify the loan's payment period, starting from 1. For example: 1 means the period between the loan's opening date and the 1st payment due date. 2 means the period between the loan's 1st payment due date and 2nd payment due date.") + + public Integer getPeriod() { + return period; + } + + + public void setPeriod(Integer period) { + this.period = period; + } + + + public CraLoanPaymentHistory dueDate(LocalDate dueDate) { + + this.dueDate = dueDate; + return this; + } + + /** + * The payment due date or end date of the payment period. The date should be in ISO 8601 format (YYYY-MM-DD). + * @return dueDate + **/ + @ApiModelProperty(required = true, value = "The payment due date or end date of the payment period. The date should be in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getDueDate() { + return dueDate; + } + + + public void setDueDate(LocalDate dueDate) { + this.dueDate = dueDate; + } + + + public CraLoanPaymentHistory daysPastDue(Integer daysPastDue) { + + this.daysPastDue = daysPastDue; + return this; + } + + /** + * The number of days the loan was delinquent at the end of the pay period. If specified, should be greater than or equal to 0. + * @return daysPastDue + **/ + @ApiModelProperty(required = true, value = "The number of days the loan was delinquent at the end of the pay period. If specified, should be greater than or equal to 0.") + + public Integer getDaysPastDue() { + return daysPastDue; + } + + + public void setDaysPastDue(Integer daysPastDue) { + this.daysPastDue = daysPastDue; + } + + + public CraLoanPaymentHistory amountPastDue(Double amountPastDue) { + + this.amountPastDue = amountPastDue; + return this; + } + + /** + * The amount past due or the charge-off amount of the loan at the end of the payment period. + * @return amountPastDue + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount past due or the charge-off amount of the loan at the end of the payment period.") + + public Double getAmountPastDue() { + return amountPastDue; + } + + + public void setAmountPastDue(Double amountPastDue) { + this.amountPastDue = amountPastDue; + } + + + public CraLoanPaymentHistory balanceRemaining(Double balanceRemaining) { + + this.balanceRemaining = balanceRemaining; + return this; + } + + /** + * The balance remaining on the loan at the end of the payment period. + * @return balanceRemaining + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The balance remaining on the loan at the end of the payment period.") + + public Double getBalanceRemaining() { + return balanceRemaining; + } + + + public void setBalanceRemaining(Double balanceRemaining) { + this.balanceRemaining = balanceRemaining; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoanPaymentHistory craLoanPaymentHistory = (CraLoanPaymentHistory) o; + return Objects.equals(this.period, craLoanPaymentHistory.period) && + Objects.equals(this.dueDate, craLoanPaymentHistory.dueDate) && + Objects.equals(this.daysPastDue, craLoanPaymentHistory.daysPastDue) && + Objects.equals(this.amountPastDue, craLoanPaymentHistory.amountPastDue) && + Objects.equals(this.balanceRemaining, craLoanPaymentHistory.balanceRemaining); + } + + @Override + public int hashCode() { + return Objects.hash(period, dueDate, daysPastDue, amountPastDue, balanceRemaining); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoanPaymentHistory {\n"); + sb.append(" period: ").append(toIndentedString(period)).append("\n"); + sb.append(" dueDate: ").append(toIndentedString(dueDate)).append("\n"); + sb.append(" daysPastDue: ").append(toIndentedString(daysPastDue)).append("\n"); + sb.append(" amountPastDue: ").append(toIndentedString(amountPastDue)).append("\n"); + sb.append(" balanceRemaining: ").append(toIndentedString(balanceRemaining)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanPaymentSchedule.java b/src/main/java/com/plaid/client/model/CraLoanPaymentSchedule.java new file mode 100644 index 0000000000..12732f9671 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanPaymentSchedule.java @@ -0,0 +1,89 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The frequency of a loan's payment schedule. `BIWEEKLY` represents one payment every two weeks. + */ +@JsonAdapter(CraLoanPaymentSchedule.Adapter.class) +public enum CraLoanPaymentSchedule { + + DAILY("DAILY"), + + WEEKLY("WEEKLY"), + + BIWEEKLY("BIWEEKLY"), + + MONTHLY("MONTHLY"), + + QUARTERLY("QUARTERLY"), + + ANNUALLY("ANNUALLY"), + + OTHER("OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraLoanPaymentSchedule(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraLoanPaymentSchedule fromValue(String value) { + for (CraLoanPaymentSchedule b : CraLoanPaymentSchedule.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraLoanPaymentSchedule.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraLoanPaymentSchedule enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraLoanPaymentSchedule read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraLoanPaymentSchedule.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanRegister.java b/src/main/java/com/plaid/client/model/CraLoanRegister.java new file mode 100644 index 0000000000..637b8cd378 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanRegister.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraLoanOpenedStatus; +import com.plaid.client.model.CraLoanPaymentSchedule; +import com.plaid.client.model.CraLoanRegisterApplication; +import com.plaid.client.model.CraLoanType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * Contains loan data to register. + */ +@ApiModel(description = "Contains loan data to register.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoanRegister { + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_LOAN_ID = "loan_id"; + @SerializedName(SERIALIZED_NAME_LOAN_ID) + private String loanId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private CraLoanType type; + + public static final String SERIALIZED_NAME_PAYMENT_SCHEDULE = "payment_schedule"; + @SerializedName(SERIALIZED_NAME_PAYMENT_SCHEDULE) + private CraLoanPaymentSchedule paymentSchedule; + + public static final String SERIALIZED_NAME_OPENED_DATE = "opened_date"; + @SerializedName(SERIALIZED_NAME_OPENED_DATE) + private LocalDate openedDate; + + public static final String SERIALIZED_NAME_OPENED_WITH_STATUS = "opened_with_status"; + @SerializedName(SERIALIZED_NAME_OPENED_WITH_STATUS) + private CraLoanOpenedStatus openedWithStatus; + + public static final String SERIALIZED_NAME_LOAN_AMOUNT = "loan_amount"; + @SerializedName(SERIALIZED_NAME_LOAN_AMOUNT) + private Double loanAmount; + + public static final String SERIALIZED_NAME_APPLICATION = "application"; + @SerializedName(SERIALIZED_NAME_APPLICATION) + private CraLoanRegisterApplication application; + + + public CraLoanRegister userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token for the user associated with the loan. + * @return userToken + **/ + @ApiModelProperty(required = true, value = "The user token for the user associated with the loan.") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CraLoanRegister loanId(String loanId) { + + this.loanId = loanId; + return this; + } + + /** + * A unique identifier for the loan. Personally identifiable information, such as an email address or phone number, should not be used in the `loan_id`. + * @return loanId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the loan. Personally identifiable information, such as an email address or phone number, should not be used in the `loan_id`.") + + public String getLoanId() { + return loanId; + } + + + public void setLoanId(String loanId) { + this.loanId = loanId; + } + + + public CraLoanRegister type(CraLoanType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public CraLoanType getType() { + return type; + } + + + public void setType(CraLoanType type) { + this.type = type; + } + + + public CraLoanRegister paymentSchedule(CraLoanPaymentSchedule paymentSchedule) { + + this.paymentSchedule = paymentSchedule; + return this; + } + + /** + * Get paymentSchedule + * @return paymentSchedule + **/ + @ApiModelProperty(required = true, value = "") + + public CraLoanPaymentSchedule getPaymentSchedule() { + return paymentSchedule; + } + + + public void setPaymentSchedule(CraLoanPaymentSchedule paymentSchedule) { + this.paymentSchedule = paymentSchedule; + } + + + public CraLoanRegister openedDate(LocalDate openedDate) { + + this.openedDate = openedDate; + return this; + } + + /** + * The date the loan account was opened. The date should be in ISO 8601 format (YYYY-MM-DD). + * @return openedDate + **/ + @ApiModelProperty(required = true, value = "The date the loan account was opened. The date should be in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getOpenedDate() { + return openedDate; + } + + + public void setOpenedDate(LocalDate openedDate) { + this.openedDate = openedDate; + } + + + public CraLoanRegister openedWithStatus(CraLoanOpenedStatus openedWithStatus) { + + this.openedWithStatus = openedWithStatus; + return this; + } + + /** + * Get openedWithStatus + * @return openedWithStatus + **/ + @ApiModelProperty(required = true, value = "") + + public CraLoanOpenedStatus getOpenedWithStatus() { + return openedWithStatus; + } + + + public void setOpenedWithStatus(CraLoanOpenedStatus openedWithStatus) { + this.openedWithStatus = openedWithStatus; + } + + + public CraLoanRegister loanAmount(Double loanAmount) { + + this.loanAmount = loanAmount; + return this; + } + + /** + * The total amount of the approved loan. + * @return loanAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total amount of the approved loan.") + + public Double getLoanAmount() { + return loanAmount; + } + + + public void setLoanAmount(Double loanAmount) { + this.loanAmount = loanAmount; + } + + + public CraLoanRegister application(CraLoanRegisterApplication application) { + + this.application = application; + return this; + } + + /** + * Get application + * @return application + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraLoanRegisterApplication getApplication() { + return application; + } + + + public void setApplication(CraLoanRegisterApplication application) { + this.application = application; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoanRegister craLoanRegister = (CraLoanRegister) o; + return Objects.equals(this.userToken, craLoanRegister.userToken) && + Objects.equals(this.loanId, craLoanRegister.loanId) && + Objects.equals(this.type, craLoanRegister.type) && + Objects.equals(this.paymentSchedule, craLoanRegister.paymentSchedule) && + Objects.equals(this.openedDate, craLoanRegister.openedDate) && + Objects.equals(this.openedWithStatus, craLoanRegister.openedWithStatus) && + Objects.equals(this.loanAmount, craLoanRegister.loanAmount) && + Objects.equals(this.application, craLoanRegister.application); + } + + @Override + public int hashCode() { + return Objects.hash(userToken, loanId, type, paymentSchedule, openedDate, openedWithStatus, loanAmount, application); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoanRegister {\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" loanId: ").append(toIndentedString(loanId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" paymentSchedule: ").append(toIndentedString(paymentSchedule)).append("\n"); + sb.append(" openedDate: ").append(toIndentedString(openedDate)).append("\n"); + sb.append(" openedWithStatus: ").append(toIndentedString(openedWithStatus)).append("\n"); + sb.append(" loanAmount: ").append(toIndentedString(loanAmount)).append("\n"); + sb.append(" application: ").append(toIndentedString(application)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanRegisterApplication.java b/src/main/java/com/plaid/client/model/CraLoanRegisterApplication.java new file mode 100644 index 0000000000..c23a63b457 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanRegisterApplication.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Contains loan application data to register. + */ +@ApiModel(description = "Contains loan application data to register.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoanRegisterApplication { + public static final String SERIALIZED_NAME_APPLICATION_ID = "application_id"; + @SerializedName(SERIALIZED_NAME_APPLICATION_ID) + private String applicationId; + + public static final String SERIALIZED_NAME_APPLICATION_DATE = "application_date"; + @SerializedName(SERIALIZED_NAME_APPLICATION_DATE) + private LocalDate applicationDate; + + + public CraLoanRegisterApplication applicationId(String applicationId) { + + this.applicationId = applicationId; + return this; + } + + /** + * A unique identifier for the loan application. Personally identifiable information, such as an email address or phone number, should not be used in the `application_id`. + * @return applicationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the loan application. Personally identifiable information, such as an email address or phone number, should not be used in the `application_id`.") + + public String getApplicationId() { + return applicationId; + } + + + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + + public CraLoanRegisterApplication applicationDate(LocalDate applicationDate) { + + this.applicationDate = applicationDate; + return this; + } + + /** + * The date the user applied for the loan. The date should be in ISO 8601 format (YYYY-MM-DD). + * @return applicationDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date the user applied for the loan. The date should be in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getApplicationDate() { + return applicationDate; + } + + + public void setApplicationDate(LocalDate applicationDate) { + this.applicationDate = applicationDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoanRegisterApplication craLoanRegisterApplication = (CraLoanRegisterApplication) o; + return Objects.equals(this.applicationId, craLoanRegisterApplication.applicationId) && + Objects.equals(this.applicationDate, craLoanRegisterApplication.applicationDate); + } + + @Override + public int hashCode() { + return Objects.hash(applicationId, applicationDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoanRegisterApplication {\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append(" applicationDate: ").append(toIndentedString(applicationDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanStatus.java b/src/main/java/com/plaid/client/model/CraLoanStatus.java new file mode 100644 index 0000000000..5f55385018 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanStatus.java @@ -0,0 +1,95 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the loan. + */ +@JsonAdapter(CraLoanStatus.Adapter.class) +public enum CraLoanStatus { + + APPROVED("APPROVED"), + + DECLINED("DECLINED"), + + BOOKED("BOOKED"), + + CURRENT("CURRENT"), + + DELINQUENT("DELINQUENT"), + + DEFAULT("DEFAULT"), + + CHARGED_OFF("CHARGED_OFF"), + + TRANSFERRED("TRANSFERRED"), + + PAID_OFF("PAID_OFF"), + + OTHER("OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraLoanStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraLoanStatus fromValue(String value) { + for (CraLoanStatus b : CraLoanStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraLoanStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraLoanStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraLoanStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraLoanStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanStatusHistoryUpdate.java b/src/main/java/com/plaid/client/model/CraLoanStatusHistoryUpdate.java new file mode 100644 index 0000000000..67efb07bb5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanStatusHistoryUpdate.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraLoanStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Contains the status and date of an update to the loan. + */ +@ApiModel(description = "Contains the status and date of an update to the loan.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoanStatusHistoryUpdate { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private CraLoanStatus status; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + + public CraLoanStatusHistoryUpdate status(CraLoanStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public CraLoanStatus getStatus() { + return status; + } + + + public void setStatus(CraLoanStatus status) { + this.status = status; + } + + + public CraLoanStatusHistoryUpdate date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The effective date for the status of the loan. The date should be in ISO 8601 format (YYYY-MM-DD). + * @return date + **/ + @ApiModelProperty(required = true, value = "The effective date for the status of the loan. The date should be in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoanStatusHistoryUpdate craLoanStatusHistoryUpdate = (CraLoanStatusHistoryUpdate) o; + return Objects.equals(this.status, craLoanStatusHistoryUpdate.status) && + Objects.equals(this.date, craLoanStatusHistoryUpdate.date); + } + + @Override + public int hashCode() { + return Objects.hash(status, date); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoanStatusHistoryUpdate {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanType.java b/src/main/java/com/plaid/client/model/CraLoanType.java new file mode 100644 index 0000000000..bb1c70fcb9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanType.java @@ -0,0 +1,93 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of loan the user applied for. + */ +@JsonAdapter(CraLoanType.Adapter.class) +public enum CraLoanType { + + PERSONAL("PERSONAL"), + + CREDIT_CARD("CREDIT_CARD"), + + BUSINESS("BUSINESS"), + + MORTGAGE("MORTGAGE"), + + AUTO("AUTO"), + + PAYDAY("PAYDAY"), + + STUDENT("STUDENT"), + + HOME_EQUITY("HOME_EQUITY"), + + OTHER("OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraLoanType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraLoanType fromValue(String value) { + for (CraLoanType b : CraLoanType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraLoanType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraLoanType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraLoanType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraLoanType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanUnregister.java b/src/main/java/com/plaid/client/model/CraLoanUnregister.java new file mode 100644 index 0000000000..f9e6c46020 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanUnregister.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraLoanClosedStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Contains loan data for the loan being unregistered. + */ +@ApiModel(description = "Contains loan data for the loan being unregistered.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoanUnregister { + public static final String SERIALIZED_NAME_LOAN_ID = "loan_id"; + @SerializedName(SERIALIZED_NAME_LOAN_ID) + private String loanId; + + public static final String SERIALIZED_NAME_CLOSED_WITH_STATUS = "closed_with_status"; + @SerializedName(SERIALIZED_NAME_CLOSED_WITH_STATUS) + private CraLoanClosedStatus closedWithStatus; + + + public CraLoanUnregister loanId(String loanId) { + + this.loanId = loanId; + return this; + } + + /** + * A unique identifier for the loan. Personally identifiable information, such as an email address or phone number, should not be used in the `loan_id`. + * @return loanId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the loan. Personally identifiable information, such as an email address or phone number, should not be used in the `loan_id`.") + + public String getLoanId() { + return loanId; + } + + + public void setLoanId(String loanId) { + this.loanId = loanId; + } + + + public CraLoanUnregister closedWithStatus(CraLoanClosedStatus closedWithStatus) { + + this.closedWithStatus = closedWithStatus; + return this; + } + + /** + * Get closedWithStatus + * @return closedWithStatus + **/ + @ApiModelProperty(required = true, value = "") + + public CraLoanClosedStatus getClosedWithStatus() { + return closedWithStatus; + } + + + public void setClosedWithStatus(CraLoanClosedStatus closedWithStatus) { + this.closedWithStatus = closedWithStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoanUnregister craLoanUnregister = (CraLoanUnregister) o; + return Objects.equals(this.loanId, craLoanUnregister.loanId) && + Objects.equals(this.closedWithStatus, craLoanUnregister.closedWithStatus); + } + + @Override + public int hashCode() { + return Objects.hash(loanId, closedWithStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoanUnregister {\n"); + sb.append(" loanId: ").append(toIndentedString(loanId)).append("\n"); + sb.append(" closedWithStatus: ").append(toIndentedString(closedWithStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanUnregisterResponse.java b/src/main/java/com/plaid/client/model/CraLoanUnregisterResponse.java new file mode 100644 index 0000000000..53911c0a87 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanUnregisterResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraLoanUnregisterResponse defines the response schema for `/cra/loans/unregister`. + */ +@ApiModel(description = "CraLoanUnregisterResponse defines the response schema for `/cra/loans/unregister`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoanUnregisterResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CraLoanUnregisterResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoanUnregisterResponse craLoanUnregisterResponse = (CraLoanUnregisterResponse) o; + return Objects.equals(this.requestId, craLoanUnregisterResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoanUnregisterResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoanUpdate.java b/src/main/java/com/plaid/client/model/CraLoanUpdate.java new file mode 100644 index 0000000000..904efde7ff --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoanUpdate.java @@ -0,0 +1,177 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraLoanPaymentHistory; +import com.plaid.client.model.CraLoanStatusHistoryUpdate; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Contains loan data to update. + */ +@ApiModel(description = "Contains loan data to update.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoanUpdate { + public static final String SERIALIZED_NAME_LOAN_ID = "loan_id"; + @SerializedName(SERIALIZED_NAME_LOAN_ID) + private String loanId; + + public static final String SERIALIZED_NAME_STATUS_HISTORY = "status_history"; + @SerializedName(SERIALIZED_NAME_STATUS_HISTORY) + private List statusHistory = null; + + public static final String SERIALIZED_NAME_PAYMENT_HISTORY = "payment_history"; + @SerializedName(SERIALIZED_NAME_PAYMENT_HISTORY) + private List paymentHistory = null; + + + public CraLoanUpdate loanId(String loanId) { + + this.loanId = loanId; + return this; + } + + /** + * A unique identifier for the loan. Personally identifiable information, such as an email address or phone number, should not be used in the `loan_id`. + * @return loanId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the loan. Personally identifiable information, such as an email address or phone number, should not be used in the `loan_id`.") + + public String getLoanId() { + return loanId; + } + + + public void setLoanId(String loanId) { + this.loanId = loanId; + } + + + public CraLoanUpdate statusHistory(List statusHistory) { + + this.statusHistory = statusHistory; + return this; + } + + public CraLoanUpdate addStatusHistoryItem(CraLoanStatusHistoryUpdate statusHistoryItem) { + if (this.statusHistory == null) { + this.statusHistory = new ArrayList<>(); + } + this.statusHistory.add(statusHistoryItem); + return this; + } + + /** + * A list of status update history of the loan. + * @return statusHistory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of status update history of the loan.") + + public List getStatusHistory() { + return statusHistory; + } + + + public void setStatusHistory(List statusHistory) { + this.statusHistory = statusHistory; + } + + + public CraLoanUpdate paymentHistory(List paymentHistory) { + + this.paymentHistory = paymentHistory; + return this; + } + + public CraLoanUpdate addPaymentHistoryItem(CraLoanPaymentHistory paymentHistoryItem) { + if (this.paymentHistory == null) { + this.paymentHistory = new ArrayList<>(); + } + this.paymentHistory.add(paymentHistoryItem); + return this; + } + + /** + * The updates to the payment history for the loan. + * @return paymentHistory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The updates to the payment history for the loan.") + + public List getPaymentHistory() { + return paymentHistory; + } + + + public void setPaymentHistory(List paymentHistory) { + this.paymentHistory = paymentHistory; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoanUpdate craLoanUpdate = (CraLoanUpdate) o; + return Objects.equals(this.loanId, craLoanUpdate.loanId) && + Objects.equals(this.statusHistory, craLoanUpdate.statusHistory) && + Objects.equals(this.paymentHistory, craLoanUpdate.paymentHistory); + } + + @Override + public int hashCode() { + return Objects.hash(loanId, statusHistory, paymentHistory); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoanUpdate {\n"); + sb.append(" loanId: ").append(toIndentedString(loanId)).append("\n"); + sb.append(" statusHistory: ").append(toIndentedString(statusHistory)).append("\n"); + sb.append(" paymentHistory: ").append(toIndentedString(paymentHistory)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoansApplicationsRegisterRequest.java b/src/main/java/com/plaid/client/model/CraLoansApplicationsRegisterRequest.java new file mode 100644 index 0000000000..e991c3fe94 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoansApplicationsRegisterRequest.java @@ -0,0 +1,164 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraLoanApplication; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraLoansApplicationsRegisterRequest defines the request schema for `/cra/loans/applications/register`. + */ +@ApiModel(description = "CraLoansApplicationsRegisterRequest defines the request schema for `/cra/loans/applications/register`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoansApplicationsRegisterRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_APPLICATIONS = "applications"; + @SerializedName(SERIALIZED_NAME_APPLICATIONS) + private List applications = new ArrayList<>(); + + + public CraLoansApplicationsRegisterRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraLoansApplicationsRegisterRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraLoansApplicationsRegisterRequest applications(List applications) { + + this.applications = applications; + return this; + } + + public CraLoansApplicationsRegisterRequest addApplicationsItem(CraLoanApplication applicationsItem) { + this.applications.add(applicationsItem); + return this; + } + + /** + * A list of loan applications to register. + * @return applications + **/ + @ApiModelProperty(required = true, value = "A list of loan applications to register.") + + public List getApplications() { + return applications; + } + + + public void setApplications(List applications) { + this.applications = applications; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoansApplicationsRegisterRequest craLoansApplicationsRegisterRequest = (CraLoansApplicationsRegisterRequest) o; + return Objects.equals(this.clientId, craLoansApplicationsRegisterRequest.clientId) && + Objects.equals(this.secret, craLoansApplicationsRegisterRequest.secret) && + Objects.equals(this.applications, craLoansApplicationsRegisterRequest.applications); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, applications); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoansApplicationsRegisterRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" applications: ").append(toIndentedString(applications)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoansApplicationsRegisterResponse.java b/src/main/java/com/plaid/client/model/CraLoansApplicationsRegisterResponse.java new file mode 100644 index 0000000000..1a51aeec32 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoansApplicationsRegisterResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraLoansApplicationsRegisterResponse defines the response schema for `/cra/loans/applications/register`. + */ +@ApiModel(description = "CraLoansApplicationsRegisterResponse defines the response schema for `/cra/loans/applications/register`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoansApplicationsRegisterResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CraLoansApplicationsRegisterResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoansApplicationsRegisterResponse craLoansApplicationsRegisterResponse = (CraLoansApplicationsRegisterResponse) o; + return Objects.equals(this.requestId, craLoansApplicationsRegisterResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoansApplicationsRegisterResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoansRegisterResponse.java b/src/main/java/com/plaid/client/model/CraLoansRegisterResponse.java new file mode 100644 index 0000000000..98a3aa391c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoansRegisterResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraLoansRegisterResponse defines the response schema for `/cra/loans/register`. + */ +@ApiModel(description = "CraLoansRegisterResponse defines the response schema for `/cra/loans/register`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoansRegisterResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CraLoansRegisterResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoansRegisterResponse craLoansRegisterResponse = (CraLoansRegisterResponse) o; + return Objects.equals(this.requestId, craLoansRegisterResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoansRegisterResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoansUnregisterRequest.java b/src/main/java/com/plaid/client/model/CraLoansUnregisterRequest.java new file mode 100644 index 0000000000..1306e27e85 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoansUnregisterRequest.java @@ -0,0 +1,164 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraLoanUnregister; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraLoansUnregisterRequest defines the request schema for `/cra/loans/unregister` + */ +@ApiModel(description = "CraLoansUnregisterRequest defines the request schema for `/cra/loans/unregister`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoansUnregisterRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_LOANS = "loans"; + @SerializedName(SERIALIZED_NAME_LOANS) + private List loans = new ArrayList<>(); + + + public CraLoansUnregisterRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraLoansUnregisterRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraLoansUnregisterRequest loans(List loans) { + + this.loans = loans; + return this; + } + + public CraLoansUnregisterRequest addLoansItem(CraLoanUnregister loansItem) { + this.loans.add(loansItem); + return this; + } + + /** + * A list of loans to unregister. + * @return loans + **/ + @ApiModelProperty(required = true, value = "A list of loans to unregister.") + + public List getLoans() { + return loans; + } + + + public void setLoans(List loans) { + this.loans = loans; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoansUnregisterRequest craLoansUnregisterRequest = (CraLoansUnregisterRequest) o; + return Objects.equals(this.clientId, craLoansUnregisterRequest.clientId) && + Objects.equals(this.secret, craLoansUnregisterRequest.secret) && + Objects.equals(this.loans, craLoansUnregisterRequest.loans); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, loans); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoansUnregisterRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" loans: ").append(toIndentedString(loans)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoansUpdateRequest.java b/src/main/java/com/plaid/client/model/CraLoansUpdateRequest.java new file mode 100644 index 0000000000..352ebb38f5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoansUpdateRequest.java @@ -0,0 +1,164 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraLoanUpdate; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraLoansUpdateRequest defines the request schema for `/cra/loans/update` + */ +@ApiModel(description = "CraLoansUpdateRequest defines the request schema for `/cra/loans/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoansUpdateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_LOANS = "loans"; + @SerializedName(SERIALIZED_NAME_LOANS) + private List loans = new ArrayList<>(); + + + public CraLoansUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraLoansUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraLoansUpdateRequest loans(List loans) { + + this.loans = loans; + return this; + } + + public CraLoansUpdateRequest addLoansItem(CraLoanUpdate loansItem) { + this.loans.add(loansItem); + return this; + } + + /** + * A list of loans to update. + * @return loans + **/ + @ApiModelProperty(required = true, value = "A list of loans to update.") + + public List getLoans() { + return loans; + } + + + public void setLoans(List loans) { + this.loans = loans; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoansUpdateRequest craLoansUpdateRequest = (CraLoansUpdateRequest) o; + return Objects.equals(this.clientId, craLoansUpdateRequest.clientId) && + Objects.equals(this.secret, craLoansUpdateRequest.secret) && + Objects.equals(this.loans, craLoansUpdateRequest.loans); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, loans); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoansUpdateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" loans: ").append(toIndentedString(loans)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraLoansUpdateResponse.java b/src/main/java/com/plaid/client/model/CraLoansUpdateResponse.java new file mode 100644 index 0000000000..954be8ed40 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraLoansUpdateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraLoansUpdateResponse defines the response schema for `/cra/loans/update`. + */ +@ApiModel(description = "CraLoansUpdateResponse defines the response schema for `/cra/loans/update`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraLoansUpdateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CraLoansUpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraLoansUpdateResponse craLoansUpdateResponse = (CraLoansUpdateResponse) o; + return Objects.equals(this.requestId, craLoansUpdateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraLoansUpdateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraMonitoringInsightsGetRequest.java b/src/main/java/com/plaid/client/model/CraMonitoringInsightsGetRequest.java new file mode 100644 index 0000000000..1860d3eed7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraMonitoringInsightsGetRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MonitoringConsumerReportPermissiblePurpose; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraMonitoringInsightsGetRequest defines the request schema for `/cra/monitoring_insights/get` + */ +@ApiModel(description = "CraMonitoringInsightsGetRequest defines the request schema for `/cra/monitoring_insights/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraMonitoringInsightsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE = "consumer_report_permissible_purpose"; + @SerializedName(SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE) + private MonitoringConsumerReportPermissiblePurpose consumerReportPermissiblePurpose; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + + public CraMonitoringInsightsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraMonitoringInsightsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraMonitoringInsightsGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraMonitoringInsightsGetRequest consumerReportPermissiblePurpose(MonitoringConsumerReportPermissiblePurpose consumerReportPermissiblePurpose) { + + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + return this; + } + + /** + * Get consumerReportPermissiblePurpose + * @return consumerReportPermissiblePurpose + **/ + @ApiModelProperty(required = true, value = "") + + public MonitoringConsumerReportPermissiblePurpose getConsumerReportPermissiblePurpose() { + return consumerReportPermissiblePurpose; + } + + + public void setConsumerReportPermissiblePurpose(MonitoringConsumerReportPermissiblePurpose consumerReportPermissiblePurpose) { + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + } + + + public CraMonitoringInsightsGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraMonitoringInsightsGetRequest craMonitoringInsightsGetRequest = (CraMonitoringInsightsGetRequest) o; + return Objects.equals(this.clientId, craMonitoringInsightsGetRequest.clientId) && + Objects.equals(this.secret, craMonitoringInsightsGetRequest.secret) && + Objects.equals(this.userId, craMonitoringInsightsGetRequest.userId) && + Objects.equals(this.consumerReportPermissiblePurpose, craMonitoringInsightsGetRequest.consumerReportPermissiblePurpose) && + Objects.equals(this.userToken, craMonitoringInsightsGetRequest.userToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, consumerReportPermissiblePurpose, userToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraMonitoringInsightsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" consumerReportPermissiblePurpose: ").append(toIndentedString(consumerReportPermissiblePurpose)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraMonitoringInsightsGetResponse.java b/src/main/java/com/plaid/client/model/CraMonitoringInsightsGetResponse.java new file mode 100644 index 0000000000..1f83fc53f7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraMonitoringInsightsGetResponse.java @@ -0,0 +1,162 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraMonitoringInsightsItem; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraMonitoringInsightsGetResponse defines the response schema for `/cra/monitoring_insights/get` + */ +@ApiModel(description = "CraMonitoringInsightsGetResponse defines the response schema for `/cra/monitoring_insights/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraMonitoringInsightsGetResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_USER_INSIGHTS_ID = "user_insights_id"; + @SerializedName(SERIALIZED_NAME_USER_INSIGHTS_ID) + private String userInsightsId; + + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + + public CraMonitoringInsightsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CraMonitoringInsightsGetResponse userInsightsId(String userInsightsId) { + + this.userInsightsId = userInsightsId; + return this; + } + + /** + * A unique ID identifying a User Monitoring Insights Report. Like all Plaid identifiers, this ID is case sensitive. + * @return userInsightsId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying a User Monitoring Insights Report. Like all Plaid identifiers, this ID is case sensitive.") + + public String getUserInsightsId() { + return userInsightsId; + } + + + public void setUserInsightsId(String userInsightsId) { + this.userInsightsId = userInsightsId; + } + + + public CraMonitoringInsightsGetResponse items(List items) { + + this.items = items; + return this; + } + + public CraMonitoringInsightsGetResponse addItemsItem(CraMonitoringInsightsItem itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * An array of Monitoring Insights Items associated with the user. + * @return items + **/ + @ApiModelProperty(required = true, value = "An array of Monitoring Insights Items associated with the user.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraMonitoringInsightsGetResponse craMonitoringInsightsGetResponse = (CraMonitoringInsightsGetResponse) o; + return Objects.equals(this.requestId, craMonitoringInsightsGetResponse.requestId) && + Objects.equals(this.userInsightsId, craMonitoringInsightsGetResponse.userInsightsId) && + Objects.equals(this.items, craMonitoringInsightsGetResponse.items); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, userInsightsId, items); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraMonitoringInsightsGetResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" userInsightsId: ").append(toIndentedString(userInsightsId)).append("\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraMonitoringInsightsItem.java b/src/main/java/com/plaid/client/model/CraMonitoringInsightsItem.java new file mode 100644 index 0000000000..d0207ac5c0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraMonitoringInsightsItem.java @@ -0,0 +1,282 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BaseReportAccount; +import com.plaid.client.model.MonitoringInsights; +import com.plaid.client.model.MonitoringInsightsItemStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing a Monitoring Insights Item + */ +@ApiModel(description = "An object representing a Monitoring Insights Item") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraMonitoringInsightsItem { + public static final String SERIALIZED_NAME_DATE_GENERATED = "date_generated"; + @SerializedName(SERIALIZED_NAME_DATE_GENERATED) + private OffsetDateTime dateGenerated; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private MonitoringInsightsItemStatus status; + + public static final String SERIALIZED_NAME_INSIGHTS = "insights"; + @SerializedName(SERIALIZED_NAME_INSIGHTS) + private MonitoringInsights insights; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = null; + + + public CraMonitoringInsightsItem dateGenerated(OffsetDateTime dateGenerated) { + + this.dateGenerated = dateGenerated; + return this; + } + + /** + * The date and time when the specific insights were generated (per-item), in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\"). + * @return dateGenerated + **/ + @ApiModelProperty(required = true, value = "The date and time when the specific insights were generated (per-item), in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\").") + + public OffsetDateTime getDateGenerated() { + return dateGenerated; + } + + + public void setDateGenerated(OffsetDateTime dateGenerated) { + this.dateGenerated = dateGenerated; + } + + + public CraMonitoringInsightsItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with the insights + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with the insights") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CraMonitoringInsightsItem institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The id of the financial institution associated with the Item. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The id of the financial institution associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public CraMonitoringInsightsItem institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The full financial institution name associated with the Item. + * @return institutionName + **/ + @ApiModelProperty(required = true, value = "The full financial institution name associated with the Item.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public CraMonitoringInsightsItem status(MonitoringInsightsItemStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public MonitoringInsightsItemStatus getStatus() { + return status; + } + + + public void setStatus(MonitoringInsightsItemStatus status) { + this.status = status; + } + + + public CraMonitoringInsightsItem insights(MonitoringInsights insights) { + + this.insights = insights; + return this; + } + + /** + * Get insights + * @return insights + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public MonitoringInsights getInsights() { + return insights; + } + + + public void setInsights(MonitoringInsights insights) { + this.insights = insights; + } + + + public CraMonitoringInsightsItem accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public CraMonitoringInsightsItem addAccountsItem(BaseReportAccount accountsItem) { + if (this.accounts == null) { + this.accounts = new ArrayList<>(); + } + this.accounts.add(accountsItem); + return this; + } + + /** + * Data about each of the accounts open on the Item. + * @return accounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Data about each of the accounts open on the Item.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraMonitoringInsightsItem craMonitoringInsightsItem = (CraMonitoringInsightsItem) o; + return Objects.equals(this.dateGenerated, craMonitoringInsightsItem.dateGenerated) && + Objects.equals(this.itemId, craMonitoringInsightsItem.itemId) && + Objects.equals(this.institutionId, craMonitoringInsightsItem.institutionId) && + Objects.equals(this.institutionName, craMonitoringInsightsItem.institutionName) && + Objects.equals(this.status, craMonitoringInsightsItem.status) && + Objects.equals(this.insights, craMonitoringInsightsItem.insights) && + Objects.equals(this.accounts, craMonitoringInsightsItem.accounts); + } + + @Override + public int hashCode() { + return Objects.hash(dateGenerated, itemId, institutionId, institutionName, status, insights, accounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraMonitoringInsightsItem {\n"); + sb.append(" dateGenerated: ").append(toIndentedString(dateGenerated)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" insights: ").append(toIndentedString(insights)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraMonitoringInsightsSubscribeRequest.java b/src/main/java/com/plaid/client/model/CraMonitoringInsightsSubscribeRequest.java new file mode 100644 index 0000000000..6f0bb5b327 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraMonitoringInsightsSubscribeRequest.java @@ -0,0 +1,283 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankIncomeCategory; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraMonitoringInsightsSubscribeRequest defines the request schema for `/cra/monitoring_insights/subscribe` + */ +@ApiModel(description = "CraMonitoringInsightsSubscribeRequest defines the request schema for `/cra/monitoring_insights/subscribe`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraMonitoringInsightsSubscribeRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + public static final String SERIALIZED_NAME_INCOME_CATEGORIES = "income_categories"; + @SerializedName(SERIALIZED_NAME_INCOME_CATEGORIES) + private List incomeCategories = null; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + + public CraMonitoringInsightsSubscribeRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraMonitoringInsightsSubscribeRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraMonitoringInsightsSubscribeRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraMonitoringInsightsSubscribeRequest itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Item ID to subscribe for Cash Flow Updates. + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Item ID to subscribe for Cash Flow Updates.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CraMonitoringInsightsSubscribeRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * URL to which Plaid will send Cash Flow Updates webhooks, for example when the requested Cash Flow Updates report is ready. + * @return webhook + **/ + @ApiModelProperty(required = true, value = "URL to which Plaid will send Cash Flow Updates webhooks, for example when the requested Cash Flow Updates report is ready.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + public CraMonitoringInsightsSubscribeRequest incomeCategories(List incomeCategories) { + + this.incomeCategories = incomeCategories; + return this; + } + + public CraMonitoringInsightsSubscribeRequest addIncomeCategoriesItem(CreditBankIncomeCategory incomeCategoriesItem) { + if (this.incomeCategories == null) { + this.incomeCategories = new ArrayList<>(); + } + this.incomeCategories.add(incomeCategoriesItem); + return this; + } + + /** + * Income categories to include in Cash Flow Updates. If empty or `null`, this field will default to including all possible categories. + * @return incomeCategories + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Income categories to include in Cash Flow Updates. If empty or `null`, this field will default to including all possible categories.") + + public List getIncomeCategories() { + return incomeCategories; + } + + + public void setIncomeCategories(List incomeCategories) { + this.incomeCategories = incomeCategories; + } + + + public CraMonitoringInsightsSubscribeRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraMonitoringInsightsSubscribeRequest craMonitoringInsightsSubscribeRequest = (CraMonitoringInsightsSubscribeRequest) o; + return Objects.equals(this.clientId, craMonitoringInsightsSubscribeRequest.clientId) && + Objects.equals(this.secret, craMonitoringInsightsSubscribeRequest.secret) && + Objects.equals(this.userId, craMonitoringInsightsSubscribeRequest.userId) && + Objects.equals(this.itemId, craMonitoringInsightsSubscribeRequest.itemId) && + Objects.equals(this.webhook, craMonitoringInsightsSubscribeRequest.webhook) && + Objects.equals(this.incomeCategories, craMonitoringInsightsSubscribeRequest.incomeCategories) && + Objects.equals(this.userToken, craMonitoringInsightsSubscribeRequest.userToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, itemId, webhook, incomeCategories, userToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraMonitoringInsightsSubscribeRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append(" incomeCategories: ").append(toIndentedString(incomeCategories)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraMonitoringInsightsSubscribeResponse.java b/src/main/java/com/plaid/client/model/CraMonitoringInsightsSubscribeResponse.java new file mode 100644 index 0000000000..9dc55135da --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraMonitoringInsightsSubscribeResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraMonitoringInsightsSubscribeResponse defines the response schema for `/cra/monitoring_insights/subscribe` + */ +@ApiModel(description = "CraMonitoringInsightsSubscribeResponse defines the response schema for `/cra/monitoring_insights/subscribe`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraMonitoringInsightsSubscribeResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_SUBSCRIPTION_ID = "subscription_id"; + @SerializedName(SERIALIZED_NAME_SUBSCRIPTION_ID) + private String subscriptionId; + + + public CraMonitoringInsightsSubscribeResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CraMonitoringInsightsSubscribeResponse subscriptionId(String subscriptionId) { + + this.subscriptionId = subscriptionId; + return this; + } + + /** + * A unique identifier for the subscription. + * @return subscriptionId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the subscription.") + + public String getSubscriptionId() { + return subscriptionId; + } + + + public void setSubscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraMonitoringInsightsSubscribeResponse craMonitoringInsightsSubscribeResponse = (CraMonitoringInsightsSubscribeResponse) o; + return Objects.equals(this.requestId, craMonitoringInsightsSubscribeResponse.requestId) && + Objects.equals(this.subscriptionId, craMonitoringInsightsSubscribeResponse.subscriptionId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, subscriptionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraMonitoringInsightsSubscribeResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" subscriptionId: ").append(toIndentedString(subscriptionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraMonitoringInsightsUnsubscribeRequest.java b/src/main/java/com/plaid/client/model/CraMonitoringInsightsUnsubscribeRequest.java new file mode 100644 index 0000000000..4ad5e93041 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraMonitoringInsightsUnsubscribeRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraMonitoringInsightsUnsubscribeRequest defines the request schema for `/cra/monitoring_insights/unsubscribe` + */ +@ApiModel(description = "CraMonitoringInsightsUnsubscribeRequest defines the request schema for `/cra/monitoring_insights/unsubscribe`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraMonitoringInsightsUnsubscribeRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_SUBSCRIPTION_ID = "subscription_id"; + @SerializedName(SERIALIZED_NAME_SUBSCRIPTION_ID) + private String subscriptionId; + + + public CraMonitoringInsightsUnsubscribeRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraMonitoringInsightsUnsubscribeRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraMonitoringInsightsUnsubscribeRequest subscriptionId(String subscriptionId) { + + this.subscriptionId = subscriptionId; + return this; + } + + /** + * A unique identifier for the subscription. + * @return subscriptionId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the subscription.") + + public String getSubscriptionId() { + return subscriptionId; + } + + + public void setSubscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraMonitoringInsightsUnsubscribeRequest craMonitoringInsightsUnsubscribeRequest = (CraMonitoringInsightsUnsubscribeRequest) o; + return Objects.equals(this.clientId, craMonitoringInsightsUnsubscribeRequest.clientId) && + Objects.equals(this.secret, craMonitoringInsightsUnsubscribeRequest.secret) && + Objects.equals(this.subscriptionId, craMonitoringInsightsUnsubscribeRequest.subscriptionId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, subscriptionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraMonitoringInsightsUnsubscribeRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" subscriptionId: ").append(toIndentedString(subscriptionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraMonitoringInsightsUnsubscribeResponse.java b/src/main/java/com/plaid/client/model/CraMonitoringInsightsUnsubscribeResponse.java new file mode 100644 index 0000000000..7c802d2951 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraMonitoringInsightsUnsubscribeResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraMonitoringInsightsUnsubscribeResponse defines the response schema for `/cra/monitoring_insights/unsubscribe` + */ +@ApiModel(description = "CraMonitoringInsightsUnsubscribeResponse defines the response schema for `/cra/monitoring_insights/unsubscribe`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraMonitoringInsightsUnsubscribeResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CraMonitoringInsightsUnsubscribeResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraMonitoringInsightsUnsubscribeResponse craMonitoringInsightsUnsubscribeResponse = (CraMonitoringInsightsUnsubscribeResponse) o; + return Objects.equals(this.requestId, craMonitoringInsightsUnsubscribeResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraMonitoringInsightsUnsubscribeResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraMonthlyIncomeValues.java b/src/main/java/com/plaid/client/model/CraMonthlyIncomeValues.java new file mode 100644 index 0000000000..631a41096b --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraMonthlyIncomeValues.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Modeled estimate of the monthly income. + */ +@ApiModel(description = "Modeled estimate of the monthly income.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraMonthlyIncomeValues { + public static final String SERIALIZED_NAME_GROSS_INCOME = "gross_income"; + @SerializedName(SERIALIZED_NAME_GROSS_INCOME) + private Double grossIncome; + + public static final String SERIALIZED_NAME_NET_INCOME = "net_income"; + @SerializedName(SERIALIZED_NAME_NET_INCOME) + private Double netIncome; + + + public CraMonthlyIncomeValues grossIncome(Double grossIncome) { + + this.grossIncome = grossIncome; + return this; + } + + /** + * Gross Income modeled from trends of observed transactions. + * @return grossIncome + **/ + @ApiModelProperty(required = true, value = "Gross Income modeled from trends of observed transactions.") + + public Double getGrossIncome() { + return grossIncome; + } + + + public void setGrossIncome(Double grossIncome) { + this.grossIncome = grossIncome; + } + + + public CraMonthlyIncomeValues netIncome(Double netIncome) { + + this.netIncome = netIncome; + return this; + } + + /** + * Net Income estimated from observed transactions. + * @return netIncome + **/ + @ApiModelProperty(required = true, value = "Net Income estimated from observed transactions.") + + public Double getNetIncome() { + return netIncome; + } + + + public void setNetIncome(Double netIncome) { + this.netIncome = netIncome; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraMonthlyIncomeValues craMonthlyIncomeValues = (CraMonthlyIncomeValues) o; + return Objects.equals(this.grossIncome, craMonthlyIncomeValues.grossIncome) && + Objects.equals(this.netIncome, craMonthlyIncomeValues.netIncome); + } + + @Override + public int hashCode() { + return Objects.hash(grossIncome, netIncome); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraMonthlyIncomeValues {\n"); + sb.append(" grossIncome: ").append(toIndentedString(grossIncome)).append("\n"); + sb.append(" netIncome: ").append(toIndentedString(netIncome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraNetworkInsightsItem.java b/src/main/java/com/plaid/client/model/CraNetworkInsightsItem.java new file mode 100644 index 0000000000..0b2ce18141 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraNetworkInsightsItem.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Contains data about the connected Item. + */ +@ApiModel(description = "Contains data about the connected Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraNetworkInsightsItem { + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + + public CraNetworkInsightsItem institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The ID for the institution the user linked. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The ID for the institution the user linked.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public CraNetworkInsightsItem institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The name of the institution the user linked. + * @return institutionName + **/ + @ApiModelProperty(required = true, value = "The name of the institution the user linked.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public CraNetworkInsightsItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The identifier for the Item. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The identifier for the Item.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraNetworkInsightsItem craNetworkInsightsItem = (CraNetworkInsightsItem) o; + return Objects.equals(this.institutionId, craNetworkInsightsItem.institutionId) && + Objects.equals(this.institutionName, craNetworkInsightsItem.institutionName) && + Objects.equals(this.itemId, craNetworkInsightsItem.itemId); + } + + @Override + public int hashCode() { + return Objects.hash(institutionId, institutionName, itemId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraNetworkInsightsItem {\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraNetworkInsightsReport.java b/src/main/java/com/plaid/client/model/CraNetworkInsightsReport.java new file mode 100644 index 0000000000..8dbb1e2c0a --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraNetworkInsightsReport.java @@ -0,0 +1,191 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraNetworkInsightsItem; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Contains data for the CRA Network Attributes Report. + */ +@ApiModel(description = "Contains data for the CRA Network Attributes Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraNetworkInsightsReport { + public static final String SERIALIZED_NAME_REPORT_ID = "report_id"; + @SerializedName(SERIALIZED_NAME_REPORT_ID) + private String reportId; + + public static final String SERIALIZED_NAME_GENERATED_TIME = "generated_time"; + @SerializedName(SERIALIZED_NAME_GENERATED_TIME) + private OffsetDateTime generatedTime; + + public static final String SERIALIZED_NAME_NETWORK_ATTRIBUTES = "network_attributes"; + @SerializedName(SERIALIZED_NAME_NETWORK_ATTRIBUTES) + private Object networkAttributes; + + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + + public CraNetworkInsightsReport reportId(String reportId) { + + this.reportId = reportId; + return this; + } + + /** + * The unique identifier associated with the report object. + * @return reportId + **/ + @ApiModelProperty(required = true, value = "The unique identifier associated with the report object.") + + public String getReportId() { + return reportId; + } + + + public void setReportId(String reportId) { + this.reportId = reportId; + } + + + public CraNetworkInsightsReport generatedTime(OffsetDateTime generatedTime) { + + this.generatedTime = generatedTime; + return this; + } + + /** + * The time when the report was generated. + * @return generatedTime + **/ + @ApiModelProperty(required = true, value = "The time when the report was generated.") + + public OffsetDateTime getGeneratedTime() { + return generatedTime; + } + + + public void setGeneratedTime(OffsetDateTime generatedTime) { + this.generatedTime = generatedTime; + } + + + public CraNetworkInsightsReport networkAttributes(Object networkAttributes) { + + this.networkAttributes = networkAttributes; + return this; + } + + /** + * A map of network attributes, where the key is a string, and the value is a float, int, or boolean. For a full list of attributes, contact your account manager. + * @return networkAttributes + **/ + @ApiModelProperty(required = true, value = "A map of network attributes, where the key is a string, and the value is a float, int, or boolean. For a full list of attributes, contact your account manager.") + + public Object getNetworkAttributes() { + return networkAttributes; + } + + + public void setNetworkAttributes(Object networkAttributes) { + this.networkAttributes = networkAttributes; + } + + + public CraNetworkInsightsReport items(List items) { + + this.items = items; + return this; + } + + public CraNetworkInsightsReport addItemsItem(CraNetworkInsightsItem itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * The Items the end user connected in Link. + * @return items + **/ + @ApiModelProperty(required = true, value = "The Items the end user connected in Link.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraNetworkInsightsReport craNetworkInsightsReport = (CraNetworkInsightsReport) o; + return Objects.equals(this.reportId, craNetworkInsightsReport.reportId) && + Objects.equals(this.generatedTime, craNetworkInsightsReport.generatedTime) && + Objects.equals(this.networkAttributes, craNetworkInsightsReport.networkAttributes) && + Objects.equals(this.items, craNetworkInsightsReport.items); + } + + @Override + public int hashCode() { + return Objects.hash(reportId, generatedTime, networkAttributes, items); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraNetworkInsightsReport {\n"); + sb.append(" reportId: ").append(toIndentedString(reportId)).append("\n"); + sb.append(" generatedTime: ").append(toIndentedString(generatedTime)).append("\n"); + sb.append(" networkAttributes: ").append(toIndentedString(networkAttributes)).append("\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPDFAddOns.java b/src/main/java/com/plaid/client/model/CraPDFAddOns.java new file mode 100644 index 0000000000..15e44e5915 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPDFAddOns.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A list of add-ons that can be included in the PDF. `cra_income_insights`: Include Income Insights report in the PDF. `cra_partner_insights`: Include Partner Insights report in the PDF. + */ +@JsonAdapter(CraPDFAddOns.Adapter.class) +public enum CraPDFAddOns { + + INCOME_INSIGHTS("cra_income_insights"), + + PARTNER_INSIGHTS("cra_partner_insights"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraPDFAddOns(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraPDFAddOns fromValue(String value) { + for (CraPDFAddOns b : CraPDFAddOns.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraPDFAddOns.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraPDFAddOns enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraPDFAddOns read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraPDFAddOns.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsights.java b/src/main/java/com/plaid/client/model/CraPartnerInsights.java new file mode 100644 index 0000000000..d4c97e2e0e --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsights.java @@ -0,0 +1,258 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPartnerInsightsFicoResults; +import com.plaid.client.model.CraPartnerInsightsItem; +import com.plaid.client.model.CraPartnerInsightsPrism; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * The Partner Insights report of the bank data for an end user. + */ +@ApiModel(description = "The Partner Insights report of the bank data for an end user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsights { + public static final String SERIALIZED_NAME_REPORT_ID = "report_id"; + @SerializedName(SERIALIZED_NAME_REPORT_ID) + private String reportId; + + public static final String SERIALIZED_NAME_GENERATED_TIME = "generated_time"; + @SerializedName(SERIALIZED_NAME_GENERATED_TIME) + private OffsetDateTime generatedTime; + + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + public static final String SERIALIZED_NAME_FICO = "fico"; + @SerializedName(SERIALIZED_NAME_FICO) + private CraPartnerInsightsFicoResults fico; + + public static final String SERIALIZED_NAME_PRISM = "prism"; + @SerializedName(SERIALIZED_NAME_PRISM) + private CraPartnerInsightsPrism prism; + + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = null; + + + public CraPartnerInsights reportId(String reportId) { + + this.reportId = reportId; + return this; + } + + /** + * A unique identifier associated with the Partner Insights object. + * @return reportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier associated with the Partner Insights object.") + + public String getReportId() { + return reportId; + } + + + public void setReportId(String reportId) { + this.reportId = reportId; + } + + + public CraPartnerInsights generatedTime(OffsetDateTime generatedTime) { + + this.generatedTime = generatedTime; + return this; + } + + /** + * The time when the Partner Insights report was generated. + * @return generatedTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The time when the Partner Insights report was generated.") + + public OffsetDateTime getGeneratedTime() { + return generatedTime; + } + + + public void setGeneratedTime(OffsetDateTime generatedTime) { + this.generatedTime = generatedTime; + } + + + public CraPartnerInsights clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * Client-generated identifier, which can be used by lenders to track loan applications. + * @return clientReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client-generated identifier, which can be used by lenders to track loan applications.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + public CraPartnerInsights fico(CraPartnerInsightsFicoResults fico) { + + this.fico = fico; + return this; + } + + /** + * Get fico + * @return fico + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraPartnerInsightsFicoResults getFico() { + return fico; + } + + + public void setFico(CraPartnerInsightsFicoResults fico) { + this.fico = fico; + } + + + public CraPartnerInsights prism(CraPartnerInsightsPrism prism) { + + this.prism = prism; + return this; + } + + /** + * Get prism + * @return prism + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraPartnerInsightsPrism getPrism() { + return prism; + } + + + public void setPrism(CraPartnerInsightsPrism prism) { + this.prism = prism; + } + + + public CraPartnerInsights items(List items) { + + this.items = items; + return this; + } + + public CraPartnerInsights addItemsItem(CraPartnerInsightsItem itemsItem) { + if (this.items == null) { + this.items = new ArrayList<>(); + } + this.items.add(itemsItem); + return this; + } + + /** + * The list of Items used in the report along with the associated metadata about the Item. + * @return items + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The list of Items used in the report along with the associated metadata about the Item.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsights craPartnerInsights = (CraPartnerInsights) o; + return Objects.equals(this.reportId, craPartnerInsights.reportId) && + Objects.equals(this.generatedTime, craPartnerInsights.generatedTime) && + Objects.equals(this.clientReportId, craPartnerInsights.clientReportId) && + Objects.equals(this.fico, craPartnerInsights.fico) && + Objects.equals(this.prism, craPartnerInsights.prism) && + Objects.equals(this.items, craPartnerInsights.items); + } + + @Override + public int hashCode() { + return Objects.hash(reportId, generatedTime, clientReportId, fico, prism, items); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsights {\n"); + sb.append(" reportId: ").append(toIndentedString(reportId)).append("\n"); + sb.append(" generatedTime: ").append(toIndentedString(generatedTime)).append("\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append(" fico: ").append(toIndentedString(fico)).append("\n"); + sb.append(" prism: ").append(toIndentedString(prism)).append("\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsBaseFicoScore.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsBaseFicoScore.java new file mode 100644 index 0000000000..7df040e1d0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsBaseFicoScore.java @@ -0,0 +1,340 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPartnerInsightsBaseFicoScoreVersion; +import com.plaid.client.model.CraPartnerInsightsBureau; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Details about the base FICO score associated with an UltraFICO® scoring request. + */ +@ApiModel(description = "Details about the base FICO score associated with an UltraFICO® scoring request.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsBaseFicoScore { + public static final String SERIALIZED_NAME_BUREAU = "bureau"; + @SerializedName(SERIALIZED_NAME_BUREAU) + private CraPartnerInsightsBureau bureau; + + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_REASON_CODES = "reason_codes"; + @SerializedName(SERIALIZED_NAME_REASON_CODES) + private List reasonCodes = null; + + public static final String SERIALIZED_NAME_REASON_CODE1 = "reason_code_1"; + @SerializedName(SERIALIZED_NAME_REASON_CODE1) + private String reasonCode1; + + public static final String SERIALIZED_NAME_REASON_CODE2 = "reason_code_2"; + @SerializedName(SERIALIZED_NAME_REASON_CODE2) + private String reasonCode2; + + public static final String SERIALIZED_NAME_REASON_CODE3 = "reason_code_3"; + @SerializedName(SERIALIZED_NAME_REASON_CODE3) + private String reasonCode3; + + public static final String SERIALIZED_NAME_REASON_CODE4 = "reason_code_4"; + @SerializedName(SERIALIZED_NAME_REASON_CODE4) + private String reasonCode4; + + public static final String SERIALIZED_NAME_DID_INQUIRIES_ADVERSELY_AFFECT_SCORE = "did_inquiries_adversely_affect_score"; + @SerializedName(SERIALIZED_NAME_DID_INQUIRIES_ADVERSELY_AFFECT_SCORE) + private Boolean didInquiriesAdverselyAffectScore; + + public static final String SERIALIZED_NAME_BASE_FICO_SCORE_VERSION = "base_fico_score_version"; + @SerializedName(SERIALIZED_NAME_BASE_FICO_SCORE_VERSION) + private CraPartnerInsightsBaseFicoScoreVersion baseFicoScoreVersion; + + + public CraPartnerInsightsBaseFicoScore bureau(CraPartnerInsightsBureau bureau) { + + this.bureau = bureau; + return this; + } + + /** + * Get bureau + * @return bureau + **/ + @ApiModelProperty(required = true, value = "") + + public CraPartnerInsightsBureau getBureau() { + return bureau; + } + + + public void setBureau(CraPartnerInsightsBureau bureau) { + this.bureau = bureau; + } + + + public CraPartnerInsightsBaseFicoScore score(Integer score) { + + this.score = score; + return this; + } + + /** + * Numeric value of the base FICO score. + * @return score + **/ + @ApiModelProperty(required = true, value = "Numeric value of the base FICO score.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public CraPartnerInsightsBaseFicoScore reasonCodes(List reasonCodes) { + + this.reasonCodes = reasonCodes; + return this; + } + + public CraPartnerInsightsBaseFicoScore addReasonCodesItem(String reasonCodesItem) { + if (this.reasonCodes == null) { + this.reasonCodes = new ArrayList<>(); + } + this.reasonCodes.add(reasonCodesItem); + return this; + } + + /** + * Reason codes associated with the score, in priority order. May contain up to 4 items. + * @return reasonCodes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Reason codes associated with the score, in priority order. May contain up to 4 items.") + + public List getReasonCodes() { + return reasonCodes; + } + + + public void setReasonCodes(List reasonCodes) { + this.reasonCodes = reasonCodes; + } + + + public CraPartnerInsightsBaseFicoScore reasonCode1(String reasonCode1) { + + this.reasonCode1 = reasonCode1; + return this; + } + + /** + * Deprecated. Use `reason_codes` instead. The first reason code associated with the score. + * @return reasonCode1 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated. Use `reason_codes` instead. The first reason code associated with the score.") + + public String getReasonCode1() { + return reasonCode1; + } + + + public void setReasonCode1(String reasonCode1) { + this.reasonCode1 = reasonCode1; + } + + + public CraPartnerInsightsBaseFicoScore reasonCode2(String reasonCode2) { + + this.reasonCode2 = reasonCode2; + return this; + } + + /** + * Deprecated. Use `reason_codes` instead. The second reason code associated with the score. + * @return reasonCode2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated. Use `reason_codes` instead. The second reason code associated with the score.") + + public String getReasonCode2() { + return reasonCode2; + } + + + public void setReasonCode2(String reasonCode2) { + this.reasonCode2 = reasonCode2; + } + + + public CraPartnerInsightsBaseFicoScore reasonCode3(String reasonCode3) { + + this.reasonCode3 = reasonCode3; + return this; + } + + /** + * Deprecated. Use `reason_codes` instead. The third reason code associated with the score. + * @return reasonCode3 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated. Use `reason_codes` instead. The third reason code associated with the score.") + + public String getReasonCode3() { + return reasonCode3; + } + + + public void setReasonCode3(String reasonCode3) { + this.reasonCode3 = reasonCode3; + } + + + public CraPartnerInsightsBaseFicoScore reasonCode4(String reasonCode4) { + + this.reasonCode4 = reasonCode4; + return this; + } + + /** + * Deprecated. Use `reason_codes` instead. The fourth reason code associated with the score. + * @return reasonCode4 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated. Use `reason_codes` instead. The fourth reason code associated with the score.") + + public String getReasonCode4() { + return reasonCode4; + } + + + public void setReasonCode4(String reasonCode4) { + this.reasonCode4 = reasonCode4; + } + + + public CraPartnerInsightsBaseFicoScore didInquiriesAdverselyAffectScore(Boolean didInquiriesAdverselyAffectScore) { + + this.didInquiriesAdverselyAffectScore = didInquiriesAdverselyAffectScore; + return this; + } + + /** + * Whether inquiries adversely affected the score but were not represented in one of the four reason codes. Sometimes referred to as the FACTA Flag. + * @return didInquiriesAdverselyAffectScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether inquiries adversely affected the score but were not represented in one of the four reason codes. Sometimes referred to as the FACTA Flag.") + + public Boolean getDidInquiriesAdverselyAffectScore() { + return didInquiriesAdverselyAffectScore; + } + + + public void setDidInquiriesAdverselyAffectScore(Boolean didInquiriesAdverselyAffectScore) { + this.didInquiriesAdverselyAffectScore = didInquiriesAdverselyAffectScore; + } + + + public CraPartnerInsightsBaseFicoScore baseFicoScoreVersion(CraPartnerInsightsBaseFicoScoreVersion baseFicoScoreVersion) { + + this.baseFicoScoreVersion = baseFicoScoreVersion; + return this; + } + + /** + * Get baseFicoScoreVersion + * @return baseFicoScoreVersion + **/ + @ApiModelProperty(required = true, value = "") + + public CraPartnerInsightsBaseFicoScoreVersion getBaseFicoScoreVersion() { + return baseFicoScoreVersion; + } + + + public void setBaseFicoScoreVersion(CraPartnerInsightsBaseFicoScoreVersion baseFicoScoreVersion) { + this.baseFicoScoreVersion = baseFicoScoreVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsBaseFicoScore craPartnerInsightsBaseFicoScore = (CraPartnerInsightsBaseFicoScore) o; + return Objects.equals(this.bureau, craPartnerInsightsBaseFicoScore.bureau) && + Objects.equals(this.score, craPartnerInsightsBaseFicoScore.score) && + Objects.equals(this.reasonCodes, craPartnerInsightsBaseFicoScore.reasonCodes) && + Objects.equals(this.reasonCode1, craPartnerInsightsBaseFicoScore.reasonCode1) && + Objects.equals(this.reasonCode2, craPartnerInsightsBaseFicoScore.reasonCode2) && + Objects.equals(this.reasonCode3, craPartnerInsightsBaseFicoScore.reasonCode3) && + Objects.equals(this.reasonCode4, craPartnerInsightsBaseFicoScore.reasonCode4) && + Objects.equals(this.didInquiriesAdverselyAffectScore, craPartnerInsightsBaseFicoScore.didInquiriesAdverselyAffectScore) && + Objects.equals(this.baseFicoScoreVersion, craPartnerInsightsBaseFicoScore.baseFicoScoreVersion); + } + + @Override + public int hashCode() { + return Objects.hash(bureau, score, reasonCodes, reasonCode1, reasonCode2, reasonCode3, reasonCode4, didInquiriesAdverselyAffectScore, baseFicoScoreVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsBaseFicoScore {\n"); + sb.append(" bureau: ").append(toIndentedString(bureau)).append("\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" reasonCodes: ").append(toIndentedString(reasonCodes)).append("\n"); + sb.append(" reasonCode1: ").append(toIndentedString(reasonCode1)).append("\n"); + sb.append(" reasonCode2: ").append(toIndentedString(reasonCode2)).append("\n"); + sb.append(" reasonCode3: ").append(toIndentedString(reasonCode3)).append("\n"); + sb.append(" reasonCode4: ").append(toIndentedString(reasonCode4)).append("\n"); + sb.append(" didInquiriesAdverselyAffectScore: ").append(toIndentedString(didInquiriesAdverselyAffectScore)).append("\n"); + sb.append(" baseFicoScoreVersion: ").append(toIndentedString(baseFicoScoreVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsBaseFicoScoreVersion.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsBaseFicoScoreVersion.java new file mode 100644 index 0000000000..d30bbd56d4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsBaseFicoScoreVersion.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The version of the base FICO score model. + */ +@JsonAdapter(CraPartnerInsightsBaseFicoScoreVersion.Adapter.class) +public enum CraPartnerInsightsBaseFicoScoreVersion { + + _8("8"), + + _9("9"), + + _10("10"), + + _10T("10T"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraPartnerInsightsBaseFicoScoreVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraPartnerInsightsBaseFicoScoreVersion fromValue(String value) { + for (CraPartnerInsightsBaseFicoScoreVersion b : CraPartnerInsightsBaseFicoScoreVersion.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraPartnerInsightsBaseFicoScoreVersion.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraPartnerInsightsBaseFicoScoreVersion enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraPartnerInsightsBaseFicoScoreVersion read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraPartnerInsightsBaseFicoScoreVersion.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsBureau.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsBureau.java new file mode 100644 index 0000000000..7abb4972b8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsBureau.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The credit bureau that provided the base FICO score. + */ +@JsonAdapter(CraPartnerInsightsBureau.Adapter.class) +public enum CraPartnerInsightsBureau { + + EQUIFAX("EQUIFAX"), + + EXPERIAN("EXPERIAN"), + + TRANSUNION("TRANSUNION"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraPartnerInsightsBureau(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraPartnerInsightsBureau fromValue(String value) { + for (CraPartnerInsightsBureau b : CraPartnerInsightsBureau.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraPartnerInsightsBureau.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraPartnerInsightsBureau enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraPartnerInsightsBureau read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraPartnerInsightsBureau.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsCompleteWebhook.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsCompleteWebhook.java new file mode 100644 index 0000000000..9056cd51d5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsCompleteWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when a partner insights report has finished generating and results are available + */ +@ApiModel(description = "Fired when a partner insights report has finished generating and results are available") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsCompleteWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CraPartnerInsightsCompleteWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CRA_INSIGHTS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CRA_INSIGHTS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CraPartnerInsightsCompleteWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `PARTNER_INSIGHTS_COMPLETE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`PARTNER_INSIGHTS_COMPLETE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CraPartnerInsightsCompleteWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the user the webhook has fired for. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` corresponding to the user the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraPartnerInsightsCompleteWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsCompleteWebhook craPartnerInsightsCompleteWebhook = (CraPartnerInsightsCompleteWebhook) o; + return Objects.equals(this.webhookType, craPartnerInsightsCompleteWebhook.webhookType) && + Objects.equals(this.webhookCode, craPartnerInsightsCompleteWebhook.webhookCode) && + Objects.equals(this.userId, craPartnerInsightsCompleteWebhook.userId) && + Objects.equals(this.environment, craPartnerInsightsCompleteWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsCompleteWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsErrorWebhook.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsErrorWebhook.java new file mode 100644 index 0000000000..3b89599247 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsErrorWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when a partner insights report has failed to generate + */ +@ApiModel(description = "Fired when a partner insights report has failed to generate") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsErrorWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CraPartnerInsightsErrorWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CRA_INSIGHTS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CRA_INSIGHTS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CraPartnerInsightsErrorWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `PARTNER_INSIGHTS_ERROR` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`PARTNER_INSIGHTS_ERROR`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CraPartnerInsightsErrorWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the user the webhook has fired for. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` corresponding to the user the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraPartnerInsightsErrorWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsErrorWebhook craPartnerInsightsErrorWebhook = (CraPartnerInsightsErrorWebhook) o; + return Objects.equals(this.webhookType, craPartnerInsightsErrorWebhook.webhookType) && + Objects.equals(this.webhookCode, craPartnerInsightsErrorWebhook.webhookCode) && + Objects.equals(this.userId, craPartnerInsightsErrorWebhook.userId) && + Objects.equals(this.environment, craPartnerInsightsErrorWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsErrorWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsFicoInput.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsFicoInput.java new file mode 100644 index 0000000000..5469d23af7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsFicoInput.java @@ -0,0 +1,162 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPartnerInsightsUltraFicoScoreRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Configuration for the FICO products used in the Partner Insights product. + */ +@ApiModel(description = "Configuration for the FICO products used in the Partner Insights product.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsFicoInput { + public static final String SERIALIZED_NAME_FICO_LENDER_ID = "fico_lender_id"; + @SerializedName(SERIALIZED_NAME_FICO_LENDER_ID) + private String ficoLenderId; + + public static final String SERIALIZED_NAME_LENDER_APPLICATION_ID = "lender_application_id"; + @SerializedName(SERIALIZED_NAME_LENDER_APPLICATION_ID) + private String lenderApplicationId; + + public static final String SERIALIZED_NAME_ULTRAFICO_SCORE_REQUESTS = "ultrafico_score_requests"; + @SerializedName(SERIALIZED_NAME_ULTRAFICO_SCORE_REQUESTS) + private List ultraficoScoreRequests = new ArrayList<>(); + + + public CraPartnerInsightsFicoInput ficoLenderId(String ficoLenderId) { + + this.ficoLenderId = ficoLenderId; + return this; + } + + /** + * ID provided by FICO that uniquely identifies the lender. Required for UltraFICO® score generation. Sometimes referred to as Lender Org ID. + * @return ficoLenderId + **/ + @ApiModelProperty(required = true, value = "ID provided by FICO that uniquely identifies the lender. Required for UltraFICO® score generation. Sometimes referred to as Lender Org ID.") + + public String getFicoLenderId() { + return ficoLenderId; + } + + + public void setFicoLenderId(String ficoLenderId) { + this.ficoLenderId = ficoLenderId; + } + + + public CraPartnerInsightsFicoInput lenderApplicationId(String lenderApplicationId) { + + this.lenderApplicationId = lenderApplicationId; + return this; + } + + /** + * Client-generated identifier that uniquely identifies the FICO Application across FICO systems. + * @return lenderApplicationId + **/ + @ApiModelProperty(required = true, value = "Client-generated identifier that uniquely identifies the FICO Application across FICO systems.") + + public String getLenderApplicationId() { + return lenderApplicationId; + } + + + public void setLenderApplicationId(String lenderApplicationId) { + this.lenderApplicationId = lenderApplicationId; + } + + + public CraPartnerInsightsFicoInput ultraficoScoreRequests(List ultraficoScoreRequests) { + + this.ultraficoScoreRequests = ultraficoScoreRequests; + return this; + } + + public CraPartnerInsightsFicoInput addUltraficoScoreRequestsItem(CraPartnerInsightsUltraFicoScoreRequest ultraficoScoreRequestsItem) { + this.ultraficoScoreRequests.add(ultraficoScoreRequestsItem); + return this; + } + + /** + * A list of UltraFICO® scoring requests. Each request contains all configuration required to generate an UltraFICO score. + * @return ultraficoScoreRequests + **/ + @ApiModelProperty(required = true, value = "A list of UltraFICO® scoring requests. Each request contains all configuration required to generate an UltraFICO score.") + + public List getUltraficoScoreRequests() { + return ultraficoScoreRequests; + } + + + public void setUltraficoScoreRequests(List ultraficoScoreRequests) { + this.ultraficoScoreRequests = ultraficoScoreRequests; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsFicoInput craPartnerInsightsFicoInput = (CraPartnerInsightsFicoInput) o; + return Objects.equals(this.ficoLenderId, craPartnerInsightsFicoInput.ficoLenderId) && + Objects.equals(this.lenderApplicationId, craPartnerInsightsFicoInput.lenderApplicationId) && + Objects.equals(this.ultraficoScoreRequests, craPartnerInsightsFicoInput.ultraficoScoreRequests); + } + + @Override + public int hashCode() { + return Objects.hash(ficoLenderId, lenderApplicationId, ultraficoScoreRequests); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsFicoInput {\n"); + sb.append(" ficoLenderId: ").append(toIndentedString(ficoLenderId)).append("\n"); + sb.append(" lenderApplicationId: ").append(toIndentedString(lenderApplicationId)).append("\n"); + sb.append(" ultraficoScoreRequests: ").append(toIndentedString(ultraficoScoreRequests)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsFicoReportCharacteristics.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsFicoReportCharacteristics.java new file mode 100644 index 0000000000..db754f8826 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsFicoReportCharacteristics.java @@ -0,0 +1,679 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Report characteristics returned by FICO describing the banking data used to generate the UltraFICO® score. + */ +@ApiModel(description = "Report characteristics returned by FICO describing the banking data used to generate the UltraFICO® score.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsFicoReportCharacteristics { + public static final String SERIALIZED_NAME_NUM_ACCOUNTS = "num_accounts"; + @SerializedName(SERIALIZED_NAME_NUM_ACCOUNTS) + private Integer numAccounts; + + public static final String SERIALIZED_NAME_AVG_DAILY_BALANCE_OVER1_MONTH = "avg_daily_balance_over_1_month"; + @SerializedName(SERIALIZED_NAME_AVG_DAILY_BALANCE_OVER1_MONTH) + private Double avgDailyBalanceOver1Month; + + public static final String SERIALIZED_NAME_AVG_DAILY_BALANCE_OVER3_MONTHS = "avg_daily_balance_over_3_months"; + @SerializedName(SERIALIZED_NAME_AVG_DAILY_BALANCE_OVER3_MONTHS) + private Double avgDailyBalanceOver3Months; + + public static final String SERIALIZED_NAME_AVG_DAILY_BALANCE_OVER6_MONTHS = "avg_daily_balance_over_6_months"; + @SerializedName(SERIALIZED_NAME_AVG_DAILY_BALANCE_OVER6_MONTHS) + private Double avgDailyBalanceOver6Months; + + public static final String SERIALIZED_NAME_AVG_DAILY_BALANCE_OVER12_MONTHS = "avg_daily_balance_over_12_months"; + @SerializedName(SERIALIZED_NAME_AVG_DAILY_BALANCE_OVER12_MONTHS) + private Double avgDailyBalanceOver12Months; + + public static final String SERIALIZED_NAME_DAYS_SINCE_EARLIEST_TX = "days_since_earliest_tx"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_EARLIEST_TX) + private Integer daysSinceEarliestTx; + + public static final String SERIALIZED_NAME_DAYS_SINCE_MOST_RECENT_NEGATIVE_ENDING_BALANCE = "days_since_most_recent_negative_ending_balance"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_MOST_RECENT_NEGATIVE_ENDING_BALANCE) + private Integer daysSinceMostRecentNegativeEndingBalance; + + public static final String SERIALIZED_NAME_DAYS_SINCE_MOST_RECENT_INSUFFICIENT_FUNDS_FEE_DEBIT_TX = "days_since_most_recent_insufficient_funds_fee_debit_tx"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_MOST_RECENT_INSUFFICIENT_FUNDS_FEE_DEBIT_TX) + private Integer daysSinceMostRecentInsufficientFundsFeeDebitTx; + + public static final String SERIALIZED_NAME_TOT_NUMBER_DAYS_WITH_NEGATIVE_BALANCE_OVER1_MONTH = "tot_number_days_with_negative_balance_over_1_month"; + @SerializedName(SERIALIZED_NAME_TOT_NUMBER_DAYS_WITH_NEGATIVE_BALANCE_OVER1_MONTH) + private Integer totNumberDaysWithNegativeBalanceOver1Month; + + public static final String SERIALIZED_NAME_TOT_NUMBER_DAYS_WITH_NEGATIVE_BALANCE_OVER3_MONTHS = "tot_number_days_with_negative_balance_over_3_months"; + @SerializedName(SERIALIZED_NAME_TOT_NUMBER_DAYS_WITH_NEGATIVE_BALANCE_OVER3_MONTHS) + private Integer totNumberDaysWithNegativeBalanceOver3Months; + + public static final String SERIALIZED_NAME_TOT_NUMBER_DAYS_WITH_NEGATIVE_BALANCE_OVER6_MONTHS = "tot_number_days_with_negative_balance_over_6_months"; + @SerializedName(SERIALIZED_NAME_TOT_NUMBER_DAYS_WITH_NEGATIVE_BALANCE_OVER6_MONTHS) + private Integer totNumberDaysWithNegativeBalanceOver6Months; + + public static final String SERIALIZED_NAME_TOT_NUMBER_DAYS_WITH_NEGATIVE_BALANCE_OVER12_MONTHS = "tot_number_days_with_negative_balance_over_12_months"; + @SerializedName(SERIALIZED_NAME_TOT_NUMBER_DAYS_WITH_NEGATIVE_BALANCE_OVER12_MONTHS) + private Integer totNumberDaysWithNegativeBalanceOver12Months; + + public static final String SERIALIZED_NAME_DAYS_SINCE_MOST_RECENT_TX = "days_since_most_recent_tx"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_MOST_RECENT_TX) + private Integer daysSinceMostRecentTx; + + public static final String SERIALIZED_NAME_DAYS_WITH_TX_OVER1_MONTH = "days_with_tx_over_1_month"; + @SerializedName(SERIALIZED_NAME_DAYS_WITH_TX_OVER1_MONTH) + private Integer daysWithTxOver1Month; + + public static final String SERIALIZED_NAME_DAYS_WITH_TX_OVER3_MONTHS = "days_with_tx_over_3_months"; + @SerializedName(SERIALIZED_NAME_DAYS_WITH_TX_OVER3_MONTHS) + private Integer daysWithTxOver3Months; + + public static final String SERIALIZED_NAME_DAYS_WITH_TX_OVER6_MONTHS = "days_with_tx_over_6_months"; + @SerializedName(SERIALIZED_NAME_DAYS_WITH_TX_OVER6_MONTHS) + private Integer daysWithTxOver6Months; + + public static final String SERIALIZED_NAME_DAYS_WITH_TX_OVER12_MONTHS = "days_with_tx_over_12_months"; + @SerializedName(SERIALIZED_NAME_DAYS_WITH_TX_OVER12_MONTHS) + private Integer daysWithTxOver12Months; + + public static final String SERIALIZED_NAME_TOT_CURRENT_BALANCES = "tot_current_balances"; + @SerializedName(SERIALIZED_NAME_TOT_CURRENT_BALANCES) + private Double totCurrentBalances; + + public static final String SERIALIZED_NAME_NUM_CHECKING_ACCOUNTS = "num_checking_accounts"; + @SerializedName(SERIALIZED_NAME_NUM_CHECKING_ACCOUNTS) + private Integer numCheckingAccounts; + + public static final String SERIALIZED_NAME_NUM_MONEY_MARKET_ACCOUNTS = "num_money_market_accounts"; + @SerializedName(SERIALIZED_NAME_NUM_MONEY_MARKET_ACCOUNTS) + private Integer numMoneyMarketAccounts; + + public static final String SERIALIZED_NAME_NUM_SAVINGS_ACCOUNTS = "num_savings_accounts"; + @SerializedName(SERIALIZED_NAME_NUM_SAVINGS_ACCOUNTS) + private Integer numSavingsAccounts; + + + public CraPartnerInsightsFicoReportCharacteristics numAccounts(Integer numAccounts) { + + this.numAccounts = numAccounts; + return this; + } + + /** + * Total number of accounts included in the report. Limited to checking, savings, and money market accounts. + * @return numAccounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total number of accounts included in the report. Limited to checking, savings, and money market accounts.") + + public Integer getNumAccounts() { + return numAccounts; + } + + + public void setNumAccounts(Integer numAccounts) { + this.numAccounts = numAccounts; + } + + + public CraPartnerInsightsFicoReportCharacteristics avgDailyBalanceOver1Month(Double avgDailyBalanceOver1Month) { + + this.avgDailyBalanceOver1Month = avgDailyBalanceOver1Month; + return this; + } + + /** + * Average daily balance over the past 1 month. + * @return avgDailyBalanceOver1Month + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Average daily balance over the past 1 month.") + + public Double getAvgDailyBalanceOver1Month() { + return avgDailyBalanceOver1Month; + } + + + public void setAvgDailyBalanceOver1Month(Double avgDailyBalanceOver1Month) { + this.avgDailyBalanceOver1Month = avgDailyBalanceOver1Month; + } + + + public CraPartnerInsightsFicoReportCharacteristics avgDailyBalanceOver3Months(Double avgDailyBalanceOver3Months) { + + this.avgDailyBalanceOver3Months = avgDailyBalanceOver3Months; + return this; + } + + /** + * Average daily balance over the past 3 months. + * @return avgDailyBalanceOver3Months + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Average daily balance over the past 3 months.") + + public Double getAvgDailyBalanceOver3Months() { + return avgDailyBalanceOver3Months; + } + + + public void setAvgDailyBalanceOver3Months(Double avgDailyBalanceOver3Months) { + this.avgDailyBalanceOver3Months = avgDailyBalanceOver3Months; + } + + + public CraPartnerInsightsFicoReportCharacteristics avgDailyBalanceOver6Months(Double avgDailyBalanceOver6Months) { + + this.avgDailyBalanceOver6Months = avgDailyBalanceOver6Months; + return this; + } + + /** + * Average daily balance over the past 6 months. + * @return avgDailyBalanceOver6Months + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Average daily balance over the past 6 months.") + + public Double getAvgDailyBalanceOver6Months() { + return avgDailyBalanceOver6Months; + } + + + public void setAvgDailyBalanceOver6Months(Double avgDailyBalanceOver6Months) { + this.avgDailyBalanceOver6Months = avgDailyBalanceOver6Months; + } + + + public CraPartnerInsightsFicoReportCharacteristics avgDailyBalanceOver12Months(Double avgDailyBalanceOver12Months) { + + this.avgDailyBalanceOver12Months = avgDailyBalanceOver12Months; + return this; + } + + /** + * Average daily balance over the past 12 months. + * @return avgDailyBalanceOver12Months + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Average daily balance over the past 12 months.") + + public Double getAvgDailyBalanceOver12Months() { + return avgDailyBalanceOver12Months; + } + + + public void setAvgDailyBalanceOver12Months(Double avgDailyBalanceOver12Months) { + this.avgDailyBalanceOver12Months = avgDailyBalanceOver12Months; + } + + + public CraPartnerInsightsFicoReportCharacteristics daysSinceEarliestTx(Integer daysSinceEarliestTx) { + + this.daysSinceEarliestTx = daysSinceEarliestTx; + return this; + } + + /** + * Number of days since the earliest transaction in the report. + * @return daysSinceEarliestTx + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of days since the earliest transaction in the report.") + + public Integer getDaysSinceEarliestTx() { + return daysSinceEarliestTx; + } + + + public void setDaysSinceEarliestTx(Integer daysSinceEarliestTx) { + this.daysSinceEarliestTx = daysSinceEarliestTx; + } + + + public CraPartnerInsightsFicoReportCharacteristics daysSinceMostRecentNegativeEndingBalance(Integer daysSinceMostRecentNegativeEndingBalance) { + + this.daysSinceMostRecentNegativeEndingBalance = daysSinceMostRecentNegativeEndingBalance; + return this; + } + + /** + * Number of days since the most recent day with a negative ending balance. + * @return daysSinceMostRecentNegativeEndingBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of days since the most recent day with a negative ending balance.") + + public Integer getDaysSinceMostRecentNegativeEndingBalance() { + return daysSinceMostRecentNegativeEndingBalance; + } + + + public void setDaysSinceMostRecentNegativeEndingBalance(Integer daysSinceMostRecentNegativeEndingBalance) { + this.daysSinceMostRecentNegativeEndingBalance = daysSinceMostRecentNegativeEndingBalance; + } + + + public CraPartnerInsightsFicoReportCharacteristics daysSinceMostRecentInsufficientFundsFeeDebitTx(Integer daysSinceMostRecentInsufficientFundsFeeDebitTx) { + + this.daysSinceMostRecentInsufficientFundsFeeDebitTx = daysSinceMostRecentInsufficientFundsFeeDebitTx; + return this; + } + + /** + * Number of days since the most recent insufficient funds fee debit transaction. + * @return daysSinceMostRecentInsufficientFundsFeeDebitTx + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of days since the most recent insufficient funds fee debit transaction.") + + public Integer getDaysSinceMostRecentInsufficientFundsFeeDebitTx() { + return daysSinceMostRecentInsufficientFundsFeeDebitTx; + } + + + public void setDaysSinceMostRecentInsufficientFundsFeeDebitTx(Integer daysSinceMostRecentInsufficientFundsFeeDebitTx) { + this.daysSinceMostRecentInsufficientFundsFeeDebitTx = daysSinceMostRecentInsufficientFundsFeeDebitTx; + } + + + public CraPartnerInsightsFicoReportCharacteristics totNumberDaysWithNegativeBalanceOver1Month(Integer totNumberDaysWithNegativeBalanceOver1Month) { + + this.totNumberDaysWithNegativeBalanceOver1Month = totNumberDaysWithNegativeBalanceOver1Month; + return this; + } + + /** + * Total number of days with a negative balance over the past 1 month. + * @return totNumberDaysWithNegativeBalanceOver1Month + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total number of days with a negative balance over the past 1 month.") + + public Integer getTotNumberDaysWithNegativeBalanceOver1Month() { + return totNumberDaysWithNegativeBalanceOver1Month; + } + + + public void setTotNumberDaysWithNegativeBalanceOver1Month(Integer totNumberDaysWithNegativeBalanceOver1Month) { + this.totNumberDaysWithNegativeBalanceOver1Month = totNumberDaysWithNegativeBalanceOver1Month; + } + + + public CraPartnerInsightsFicoReportCharacteristics totNumberDaysWithNegativeBalanceOver3Months(Integer totNumberDaysWithNegativeBalanceOver3Months) { + + this.totNumberDaysWithNegativeBalanceOver3Months = totNumberDaysWithNegativeBalanceOver3Months; + return this; + } + + /** + * Total number of days with a negative balance over the past 3 months. + * @return totNumberDaysWithNegativeBalanceOver3Months + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total number of days with a negative balance over the past 3 months.") + + public Integer getTotNumberDaysWithNegativeBalanceOver3Months() { + return totNumberDaysWithNegativeBalanceOver3Months; + } + + + public void setTotNumberDaysWithNegativeBalanceOver3Months(Integer totNumberDaysWithNegativeBalanceOver3Months) { + this.totNumberDaysWithNegativeBalanceOver3Months = totNumberDaysWithNegativeBalanceOver3Months; + } + + + public CraPartnerInsightsFicoReportCharacteristics totNumberDaysWithNegativeBalanceOver6Months(Integer totNumberDaysWithNegativeBalanceOver6Months) { + + this.totNumberDaysWithNegativeBalanceOver6Months = totNumberDaysWithNegativeBalanceOver6Months; + return this; + } + + /** + * Total number of days with a negative balance over the past 6 months. + * @return totNumberDaysWithNegativeBalanceOver6Months + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total number of days with a negative balance over the past 6 months.") + + public Integer getTotNumberDaysWithNegativeBalanceOver6Months() { + return totNumberDaysWithNegativeBalanceOver6Months; + } + + + public void setTotNumberDaysWithNegativeBalanceOver6Months(Integer totNumberDaysWithNegativeBalanceOver6Months) { + this.totNumberDaysWithNegativeBalanceOver6Months = totNumberDaysWithNegativeBalanceOver6Months; + } + + + public CraPartnerInsightsFicoReportCharacteristics totNumberDaysWithNegativeBalanceOver12Months(Integer totNumberDaysWithNegativeBalanceOver12Months) { + + this.totNumberDaysWithNegativeBalanceOver12Months = totNumberDaysWithNegativeBalanceOver12Months; + return this; + } + + /** + * Total number of days with a negative balance over the past 12 months. + * @return totNumberDaysWithNegativeBalanceOver12Months + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total number of days with a negative balance over the past 12 months.") + + public Integer getTotNumberDaysWithNegativeBalanceOver12Months() { + return totNumberDaysWithNegativeBalanceOver12Months; + } + + + public void setTotNumberDaysWithNegativeBalanceOver12Months(Integer totNumberDaysWithNegativeBalanceOver12Months) { + this.totNumberDaysWithNegativeBalanceOver12Months = totNumberDaysWithNegativeBalanceOver12Months; + } + + + public CraPartnerInsightsFicoReportCharacteristics daysSinceMostRecentTx(Integer daysSinceMostRecentTx) { + + this.daysSinceMostRecentTx = daysSinceMostRecentTx; + return this; + } + + /** + * Number of days since the most recent transaction. + * @return daysSinceMostRecentTx + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of days since the most recent transaction.") + + public Integer getDaysSinceMostRecentTx() { + return daysSinceMostRecentTx; + } + + + public void setDaysSinceMostRecentTx(Integer daysSinceMostRecentTx) { + this.daysSinceMostRecentTx = daysSinceMostRecentTx; + } + + + public CraPartnerInsightsFicoReportCharacteristics daysWithTxOver1Month(Integer daysWithTxOver1Month) { + + this.daysWithTxOver1Month = daysWithTxOver1Month; + return this; + } + + /** + * Number of days with at least one transaction over the past 1 month. + * @return daysWithTxOver1Month + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of days with at least one transaction over the past 1 month.") + + public Integer getDaysWithTxOver1Month() { + return daysWithTxOver1Month; + } + + + public void setDaysWithTxOver1Month(Integer daysWithTxOver1Month) { + this.daysWithTxOver1Month = daysWithTxOver1Month; + } + + + public CraPartnerInsightsFicoReportCharacteristics daysWithTxOver3Months(Integer daysWithTxOver3Months) { + + this.daysWithTxOver3Months = daysWithTxOver3Months; + return this; + } + + /** + * Number of days with at least one transaction over the past 3 months. + * @return daysWithTxOver3Months + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of days with at least one transaction over the past 3 months.") + + public Integer getDaysWithTxOver3Months() { + return daysWithTxOver3Months; + } + + + public void setDaysWithTxOver3Months(Integer daysWithTxOver3Months) { + this.daysWithTxOver3Months = daysWithTxOver3Months; + } + + + public CraPartnerInsightsFicoReportCharacteristics daysWithTxOver6Months(Integer daysWithTxOver6Months) { + + this.daysWithTxOver6Months = daysWithTxOver6Months; + return this; + } + + /** + * Number of days with at least one transaction over the past 6 months. + * @return daysWithTxOver6Months + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of days with at least one transaction over the past 6 months.") + + public Integer getDaysWithTxOver6Months() { + return daysWithTxOver6Months; + } + + + public void setDaysWithTxOver6Months(Integer daysWithTxOver6Months) { + this.daysWithTxOver6Months = daysWithTxOver6Months; + } + + + public CraPartnerInsightsFicoReportCharacteristics daysWithTxOver12Months(Integer daysWithTxOver12Months) { + + this.daysWithTxOver12Months = daysWithTxOver12Months; + return this; + } + + /** + * Number of days with at least one transaction over the past 12 months. + * @return daysWithTxOver12Months + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of days with at least one transaction over the past 12 months.") + + public Integer getDaysWithTxOver12Months() { + return daysWithTxOver12Months; + } + + + public void setDaysWithTxOver12Months(Integer daysWithTxOver12Months) { + this.daysWithTxOver12Months = daysWithTxOver12Months; + } + + + public CraPartnerInsightsFicoReportCharacteristics totCurrentBalances(Double totCurrentBalances) { + + this.totCurrentBalances = totCurrentBalances; + return this; + } + + /** + * Sum of current balances across all accounts in the report. + * @return totCurrentBalances + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Sum of current balances across all accounts in the report.") + + public Double getTotCurrentBalances() { + return totCurrentBalances; + } + + + public void setTotCurrentBalances(Double totCurrentBalances) { + this.totCurrentBalances = totCurrentBalances; + } + + + public CraPartnerInsightsFicoReportCharacteristics numCheckingAccounts(Integer numCheckingAccounts) { + + this.numCheckingAccounts = numCheckingAccounts; + return this; + } + + /** + * Number of checking accounts included in the report. + * @return numCheckingAccounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of checking accounts included in the report.") + + public Integer getNumCheckingAccounts() { + return numCheckingAccounts; + } + + + public void setNumCheckingAccounts(Integer numCheckingAccounts) { + this.numCheckingAccounts = numCheckingAccounts; + } + + + public CraPartnerInsightsFicoReportCharacteristics numMoneyMarketAccounts(Integer numMoneyMarketAccounts) { + + this.numMoneyMarketAccounts = numMoneyMarketAccounts; + return this; + } + + /** + * Number of money market accounts included in the report. + * @return numMoneyMarketAccounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of money market accounts included in the report.") + + public Integer getNumMoneyMarketAccounts() { + return numMoneyMarketAccounts; + } + + + public void setNumMoneyMarketAccounts(Integer numMoneyMarketAccounts) { + this.numMoneyMarketAccounts = numMoneyMarketAccounts; + } + + + public CraPartnerInsightsFicoReportCharacteristics numSavingsAccounts(Integer numSavingsAccounts) { + + this.numSavingsAccounts = numSavingsAccounts; + return this; + } + + /** + * Number of savings accounts included in the report. + * @return numSavingsAccounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of savings accounts included in the report.") + + public Integer getNumSavingsAccounts() { + return numSavingsAccounts; + } + + + public void setNumSavingsAccounts(Integer numSavingsAccounts) { + this.numSavingsAccounts = numSavingsAccounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsFicoReportCharacteristics craPartnerInsightsFicoReportCharacteristics = (CraPartnerInsightsFicoReportCharacteristics) o; + return Objects.equals(this.numAccounts, craPartnerInsightsFicoReportCharacteristics.numAccounts) && + Objects.equals(this.avgDailyBalanceOver1Month, craPartnerInsightsFicoReportCharacteristics.avgDailyBalanceOver1Month) && + Objects.equals(this.avgDailyBalanceOver3Months, craPartnerInsightsFicoReportCharacteristics.avgDailyBalanceOver3Months) && + Objects.equals(this.avgDailyBalanceOver6Months, craPartnerInsightsFicoReportCharacteristics.avgDailyBalanceOver6Months) && + Objects.equals(this.avgDailyBalanceOver12Months, craPartnerInsightsFicoReportCharacteristics.avgDailyBalanceOver12Months) && + Objects.equals(this.daysSinceEarliestTx, craPartnerInsightsFicoReportCharacteristics.daysSinceEarliestTx) && + Objects.equals(this.daysSinceMostRecentNegativeEndingBalance, craPartnerInsightsFicoReportCharacteristics.daysSinceMostRecentNegativeEndingBalance) && + Objects.equals(this.daysSinceMostRecentInsufficientFundsFeeDebitTx, craPartnerInsightsFicoReportCharacteristics.daysSinceMostRecentInsufficientFundsFeeDebitTx) && + Objects.equals(this.totNumberDaysWithNegativeBalanceOver1Month, craPartnerInsightsFicoReportCharacteristics.totNumberDaysWithNegativeBalanceOver1Month) && + Objects.equals(this.totNumberDaysWithNegativeBalanceOver3Months, craPartnerInsightsFicoReportCharacteristics.totNumberDaysWithNegativeBalanceOver3Months) && + Objects.equals(this.totNumberDaysWithNegativeBalanceOver6Months, craPartnerInsightsFicoReportCharacteristics.totNumberDaysWithNegativeBalanceOver6Months) && + Objects.equals(this.totNumberDaysWithNegativeBalanceOver12Months, craPartnerInsightsFicoReportCharacteristics.totNumberDaysWithNegativeBalanceOver12Months) && + Objects.equals(this.daysSinceMostRecentTx, craPartnerInsightsFicoReportCharacteristics.daysSinceMostRecentTx) && + Objects.equals(this.daysWithTxOver1Month, craPartnerInsightsFicoReportCharacteristics.daysWithTxOver1Month) && + Objects.equals(this.daysWithTxOver3Months, craPartnerInsightsFicoReportCharacteristics.daysWithTxOver3Months) && + Objects.equals(this.daysWithTxOver6Months, craPartnerInsightsFicoReportCharacteristics.daysWithTxOver6Months) && + Objects.equals(this.daysWithTxOver12Months, craPartnerInsightsFicoReportCharacteristics.daysWithTxOver12Months) && + Objects.equals(this.totCurrentBalances, craPartnerInsightsFicoReportCharacteristics.totCurrentBalances) && + Objects.equals(this.numCheckingAccounts, craPartnerInsightsFicoReportCharacteristics.numCheckingAccounts) && + Objects.equals(this.numMoneyMarketAccounts, craPartnerInsightsFicoReportCharacteristics.numMoneyMarketAccounts) && + Objects.equals(this.numSavingsAccounts, craPartnerInsightsFicoReportCharacteristics.numSavingsAccounts); + } + + @Override + public int hashCode() { + return Objects.hash(numAccounts, avgDailyBalanceOver1Month, avgDailyBalanceOver3Months, avgDailyBalanceOver6Months, avgDailyBalanceOver12Months, daysSinceEarliestTx, daysSinceMostRecentNegativeEndingBalance, daysSinceMostRecentInsufficientFundsFeeDebitTx, totNumberDaysWithNegativeBalanceOver1Month, totNumberDaysWithNegativeBalanceOver3Months, totNumberDaysWithNegativeBalanceOver6Months, totNumberDaysWithNegativeBalanceOver12Months, daysSinceMostRecentTx, daysWithTxOver1Month, daysWithTxOver3Months, daysWithTxOver6Months, daysWithTxOver12Months, totCurrentBalances, numCheckingAccounts, numMoneyMarketAccounts, numSavingsAccounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsFicoReportCharacteristics {\n"); + sb.append(" numAccounts: ").append(toIndentedString(numAccounts)).append("\n"); + sb.append(" avgDailyBalanceOver1Month: ").append(toIndentedString(avgDailyBalanceOver1Month)).append("\n"); + sb.append(" avgDailyBalanceOver3Months: ").append(toIndentedString(avgDailyBalanceOver3Months)).append("\n"); + sb.append(" avgDailyBalanceOver6Months: ").append(toIndentedString(avgDailyBalanceOver6Months)).append("\n"); + sb.append(" avgDailyBalanceOver12Months: ").append(toIndentedString(avgDailyBalanceOver12Months)).append("\n"); + sb.append(" daysSinceEarliestTx: ").append(toIndentedString(daysSinceEarliestTx)).append("\n"); + sb.append(" daysSinceMostRecentNegativeEndingBalance: ").append(toIndentedString(daysSinceMostRecentNegativeEndingBalance)).append("\n"); + sb.append(" daysSinceMostRecentInsufficientFundsFeeDebitTx: ").append(toIndentedString(daysSinceMostRecentInsufficientFundsFeeDebitTx)).append("\n"); + sb.append(" totNumberDaysWithNegativeBalanceOver1Month: ").append(toIndentedString(totNumberDaysWithNegativeBalanceOver1Month)).append("\n"); + sb.append(" totNumberDaysWithNegativeBalanceOver3Months: ").append(toIndentedString(totNumberDaysWithNegativeBalanceOver3Months)).append("\n"); + sb.append(" totNumberDaysWithNegativeBalanceOver6Months: ").append(toIndentedString(totNumberDaysWithNegativeBalanceOver6Months)).append("\n"); + sb.append(" totNumberDaysWithNegativeBalanceOver12Months: ").append(toIndentedString(totNumberDaysWithNegativeBalanceOver12Months)).append("\n"); + sb.append(" daysSinceMostRecentTx: ").append(toIndentedString(daysSinceMostRecentTx)).append("\n"); + sb.append(" daysWithTxOver1Month: ").append(toIndentedString(daysWithTxOver1Month)).append("\n"); + sb.append(" daysWithTxOver3Months: ").append(toIndentedString(daysWithTxOver3Months)).append("\n"); + sb.append(" daysWithTxOver6Months: ").append(toIndentedString(daysWithTxOver6Months)).append("\n"); + sb.append(" daysWithTxOver12Months: ").append(toIndentedString(daysWithTxOver12Months)).append("\n"); + sb.append(" totCurrentBalances: ").append(toIndentedString(totCurrentBalances)).append("\n"); + sb.append(" numCheckingAccounts: ").append(toIndentedString(numCheckingAccounts)).append("\n"); + sb.append(" numMoneyMarketAccounts: ").append(toIndentedString(numMoneyMarketAccounts)).append("\n"); + sb.append(" numSavingsAccounts: ").append(toIndentedString(numSavingsAccounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsFicoResults.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsFicoResults.java new file mode 100644 index 0000000000..bf11499114 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsFicoResults.java @@ -0,0 +1,164 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPartnerInsightsFicoReportCharacteristics; +import com.plaid.client.model.CraPartnerInsightsUltraFicoScoreResult; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The calculated UltraFICO® scores returned as part of the Partner Insights report. + */ +@ApiModel(description = "The calculated UltraFICO® scores returned as part of the Partner Insights report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsFicoResults { + public static final String SERIALIZED_NAME_LENDER_APPLICATION_ID = "lender_application_id"; + @SerializedName(SERIALIZED_NAME_LENDER_APPLICATION_ID) + private String lenderApplicationId; + + public static final String SERIALIZED_NAME_ULTRAFICO_SCORE_RESULTS = "ultrafico_score_results"; + @SerializedName(SERIALIZED_NAME_ULTRAFICO_SCORE_RESULTS) + private List ultraficoScoreResults = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REPORT_CHARACTERISTICS = "report_characteristics"; + @SerializedName(SERIALIZED_NAME_REPORT_CHARACTERISTICS) + private CraPartnerInsightsFicoReportCharacteristics reportCharacteristics; + + + public CraPartnerInsightsFicoResults lenderApplicationId(String lenderApplicationId) { + + this.lenderApplicationId = lenderApplicationId; + return this; + } + + /** + * Client-generated identifier that uniquely identifies the FICO Application across FICO systems. + * @return lenderApplicationId + **/ + @ApiModelProperty(required = true, value = "Client-generated identifier that uniquely identifies the FICO Application across FICO systems.") + + public String getLenderApplicationId() { + return lenderApplicationId; + } + + + public void setLenderApplicationId(String lenderApplicationId) { + this.lenderApplicationId = lenderApplicationId; + } + + + public CraPartnerInsightsFicoResults ultraficoScoreResults(List ultraficoScoreResults) { + + this.ultraficoScoreResults = ultraficoScoreResults; + return this; + } + + public CraPartnerInsightsFicoResults addUltraficoScoreResultsItem(CraPartnerInsightsUltraFicoScoreResult ultraficoScoreResultsItem) { + this.ultraficoScoreResults.add(ultraficoScoreResultsItem); + return this; + } + + /** + * UltraFICO® scoring results, one per provided UltraFICO scoring request. + * @return ultraficoScoreResults + **/ + @ApiModelProperty(required = true, value = "UltraFICO® scoring results, one per provided UltraFICO scoring request.") + + public List getUltraficoScoreResults() { + return ultraficoScoreResults; + } + + + public void setUltraficoScoreResults(List ultraficoScoreResults) { + this.ultraficoScoreResults = ultraficoScoreResults; + } + + + public CraPartnerInsightsFicoResults reportCharacteristics(CraPartnerInsightsFicoReportCharacteristics reportCharacteristics) { + + this.reportCharacteristics = reportCharacteristics; + return this; + } + + /** + * Get reportCharacteristics + * @return reportCharacteristics + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraPartnerInsightsFicoReportCharacteristics getReportCharacteristics() { + return reportCharacteristics; + } + + + public void setReportCharacteristics(CraPartnerInsightsFicoReportCharacteristics reportCharacteristics) { + this.reportCharacteristics = reportCharacteristics; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsFicoResults craPartnerInsightsFicoResults = (CraPartnerInsightsFicoResults) o; + return Objects.equals(this.lenderApplicationId, craPartnerInsightsFicoResults.lenderApplicationId) && + Objects.equals(this.ultraficoScoreResults, craPartnerInsightsFicoResults.ultraficoScoreResults) && + Objects.equals(this.reportCharacteristics, craPartnerInsightsFicoResults.reportCharacteristics); + } + + @Override + public int hashCode() { + return Objects.hash(lenderApplicationId, ultraficoScoreResults, reportCharacteristics); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsFicoResults {\n"); + sb.append(" lenderApplicationId: ").append(toIndentedString(lenderApplicationId)).append("\n"); + sb.append(" ultraficoScoreResults: ").append(toIndentedString(ultraficoScoreResults)).append("\n"); + sb.append(" reportCharacteristics: ").append(toIndentedString(reportCharacteristics)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsGetRequest.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsGetRequest.java new file mode 100644 index 0000000000..15a3755ac4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraUserTier; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraPartnerInsightsGetRequest defines the request schema for `/cra/partner_insights/get`. + */ +@ApiModel(description = "CraPartnerInsightsGetRequest defines the request schema for `/cra/partner_insights/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_TIER = "user_tier"; + @SerializedName(SERIALIZED_NAME_USER_TIER) + private CraUserTier userTier; + + + public CraPartnerInsightsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraPartnerInsightsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraPartnerInsightsGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @ApiModelProperty(required = true, value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CraPartnerInsightsGetRequest userTier(CraUserTier userTier) { + + this.userTier = userTier; + return this; + } + + /** + * Get userTier + * @return userTier + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraUserTier getUserTier() { + return userTier; + } + + + public void setUserTier(CraUserTier userTier) { + this.userTier = userTier; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsGetRequest craPartnerInsightsGetRequest = (CraPartnerInsightsGetRequest) o; + return Objects.equals(this.clientId, craPartnerInsightsGetRequest.clientId) && + Objects.equals(this.secret, craPartnerInsightsGetRequest.secret) && + Objects.equals(this.userToken, craPartnerInsightsGetRequest.userToken) && + Objects.equals(this.userTier, craPartnerInsightsGetRequest.userTier); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userTier); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userTier: ").append(toIndentedString(userTier)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsGetResponse.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsGetResponse.java new file mode 100644 index 0000000000..6e5f2b8fa5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsGetResponse.java @@ -0,0 +1,138 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPartnerInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraPartnerInsightsGetResponse defines the response schema for `/cra/partner_insights/get`. + */ +@ApiModel(description = "CraPartnerInsightsGetResponse defines the response schema for `/cra/partner_insights/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsGetResponse { + public static final String SERIALIZED_NAME_REPORT = "report"; + @SerializedName(SERIALIZED_NAME_REPORT) + private List report = null; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CraPartnerInsightsGetResponse report(List report) { + + this.report = report; + return this; + } + + public CraPartnerInsightsGetResponse addReportItem(CraPartnerInsights reportItem) { + if (this.report == null) { + this.report = new ArrayList<>(); + } + this.report.add(reportItem); + return this; + } + + /** + * Get report + * @return report + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getReport() { + return report; + } + + + public void setReport(List report) { + this.report = report; + } + + + public CraPartnerInsightsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsGetResponse craPartnerInsightsGetResponse = (CraPartnerInsightsGetResponse) o; + return Objects.equals(this.report, craPartnerInsightsGetResponse.report) && + Objects.equals(this.requestId, craPartnerInsightsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(report, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsGetResponse {\n"); + sb.append(" report: ").append(toIndentedString(report)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsItem.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsItem.java new file mode 100644 index 0000000000..b37feab367 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsItem.java @@ -0,0 +1,197 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPartnerInsightsItemAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The details and metadata for an end user's Item. + */ +@ApiModel(description = "The details and metadata for an end user's Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsItem { + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = null; + + + public CraPartnerInsightsItem institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The ID for the institution that the user linked. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID for the institution that the user linked.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public CraPartnerInsightsItem institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The name of the institution the user linked. + * @return institutionName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the institution the user linked.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public CraPartnerInsightsItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The identifier for the Item. + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The identifier for the Item.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CraPartnerInsightsItem accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public CraPartnerInsightsItem addAccountsItem(CraPartnerInsightsItemAccount accountsItem) { + if (this.accounts == null) { + this.accounts = new ArrayList<>(); + } + this.accounts.add(accountsItem); + return this; + } + + /** + * A list of accounts in the Item. + * @return accounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of accounts in the Item.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsItem craPartnerInsightsItem = (CraPartnerInsightsItem) o; + return Objects.equals(this.institutionId, craPartnerInsightsItem.institutionId) && + Objects.equals(this.institutionName, craPartnerInsightsItem.institutionName) && + Objects.equals(this.itemId, craPartnerInsightsItem.itemId) && + Objects.equals(this.accounts, craPartnerInsightsItem.accounts); + } + + @Override + public int hashCode() { + return Objects.hash(institutionId, institutionName, itemId, accounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsItem {\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsItemAccount.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsItemAccount.java new file mode 100644 index 0000000000..4471040c3d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsItemAccount.java @@ -0,0 +1,308 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPartnerInsightsItemAccountMetadata; +import com.plaid.client.model.CreditBankIncomeAccountType; +import com.plaid.client.model.DepositoryAccountSubtype; +import com.plaid.client.model.Owner; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Account data corresponding to the Item from which Partner Insights were generated. + */ +@ApiModel(description = "Account data corresponding to the Item from which Partner Insights were generated.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsItemAccount { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private CraPartnerInsightsItemAccountMetadata metadata; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private DepositoryAccountSubtype subtype; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private CreditBankIncomeAccountType type; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = new ArrayList<>(); + + + public CraPartnerInsightsItemAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CraPartnerInsightsItemAccount mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public CraPartnerInsightsItemAccount metadata(CraPartnerInsightsItemAccountMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @ApiModelProperty(required = true, value = "") + + public CraPartnerInsightsItemAccountMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(CraPartnerInsightsItemAccountMetadata metadata) { + this.metadata = metadata; + } + + + public CraPartnerInsightsItemAccount name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the account + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the account") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CraPartnerInsightsItemAccount officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * The official name of the bank account. + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The official name of the bank account.") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public CraPartnerInsightsItemAccount subtype(DepositoryAccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @ApiModelProperty(required = true, value = "") + + public DepositoryAccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(DepositoryAccountSubtype subtype) { + this.subtype = subtype; + } + + + public CraPartnerInsightsItemAccount type(CreditBankIncomeAccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public CreditBankIncomeAccountType getType() { + return type; + } + + + public void setType(CreditBankIncomeAccountType type) { + this.type = type; + } + + + public CraPartnerInsightsItemAccount owners(List owners) { + + this.owners = owners; + return this; + } + + public CraPartnerInsightsItemAccount addOwnersItem(Owner ownersItem) { + this.owners.add(ownersItem); + return this; + } + + /** + * Data returned by the financial institution about the account owner or owners. Identity information is optional, so field may return an empty array. + * @return owners + **/ + @ApiModelProperty(required = true, value = "Data returned by the financial institution about the account owner or owners. Identity information is optional, so field may return an empty array.") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsItemAccount craPartnerInsightsItemAccount = (CraPartnerInsightsItemAccount) o; + return Objects.equals(this.accountId, craPartnerInsightsItemAccount.accountId) && + Objects.equals(this.mask, craPartnerInsightsItemAccount.mask) && + Objects.equals(this.metadata, craPartnerInsightsItemAccount.metadata) && + Objects.equals(this.name, craPartnerInsightsItemAccount.name) && + Objects.equals(this.officialName, craPartnerInsightsItemAccount.officialName) && + Objects.equals(this.subtype, craPartnerInsightsItemAccount.subtype) && + Objects.equals(this.type, craPartnerInsightsItemAccount.type) && + Objects.equals(this.owners, craPartnerInsightsItemAccount.owners); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, mask, metadata, name, officialName, subtype, type, owners); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsItemAccount {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsItemAccountMetadata.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsItemAccountMetadata.java new file mode 100644 index 0000000000..750766d8cd --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsItemAccountMetadata.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An object containing metadata about the extracted account. + */ +@ApiModel(description = "An object containing metadata about the extracted account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsItemAccountMetadata { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + + public CraPartnerInsightsItemAccountMetadata startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The date of the earliest extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date of the earliest extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public CraPartnerInsightsItemAccountMetadata endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The date of the most recent extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date of the most recent extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsItemAccountMetadata craPartnerInsightsItemAccountMetadata = (CraPartnerInsightsItemAccountMetadata) o; + return Objects.equals(this.startDate, craPartnerInsightsItemAccountMetadata.startDate) && + Objects.equals(this.endDate, craPartnerInsightsItemAccountMetadata.endDate); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsItemAccountMetadata {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsPrism.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsPrism.java new file mode 100644 index 0000000000..7afbcb51d0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsPrism.java @@ -0,0 +1,248 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PrismCashScore; +import com.plaid.client.model.PrismDetect; +import com.plaid.client.model.PrismExtend; +import com.plaid.client.model.PrismFirstDetect; +import com.plaid.client.model.PrismInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The Prism Data insights for the user. + */ +@ApiModel(description = "The Prism Data insights for the user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsPrism { + public static final String SERIALIZED_NAME_INSIGHTS = "insights"; + @SerializedName(SERIALIZED_NAME_INSIGHTS) + private PrismInsights insights; + + public static final String SERIALIZED_NAME_CASH_SCORE = "cash_score"; + @SerializedName(SERIALIZED_NAME_CASH_SCORE) + private PrismCashScore cashScore; + + public static final String SERIALIZED_NAME_EXTEND = "extend"; + @SerializedName(SERIALIZED_NAME_EXTEND) + private PrismExtend extend; + + public static final String SERIALIZED_NAME_FIRST_DETECT = "first_detect"; + @SerializedName(SERIALIZED_NAME_FIRST_DETECT) + private PrismFirstDetect firstDetect; + + public static final String SERIALIZED_NAME_DETECT = "detect"; + @SerializedName(SERIALIZED_NAME_DETECT) + private PrismDetect detect; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private String status; + + + public CraPartnerInsightsPrism insights(PrismInsights insights) { + + this.insights = insights; + return this; + } + + /** + * Get insights + * @return insights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismInsights getInsights() { + return insights; + } + + + public void setInsights(PrismInsights insights) { + this.insights = insights; + } + + + public CraPartnerInsightsPrism cashScore(PrismCashScore cashScore) { + + this.cashScore = cashScore; + return this; + } + + /** + * Get cashScore + * @return cashScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismCashScore getCashScore() { + return cashScore; + } + + + public void setCashScore(PrismCashScore cashScore) { + this.cashScore = cashScore; + } + + + public CraPartnerInsightsPrism extend(PrismExtend extend) { + + this.extend = extend; + return this; + } + + /** + * Get extend + * @return extend + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismExtend getExtend() { + return extend; + } + + + public void setExtend(PrismExtend extend) { + this.extend = extend; + } + + + public CraPartnerInsightsPrism firstDetect(PrismFirstDetect firstDetect) { + + this.firstDetect = firstDetect; + return this; + } + + /** + * Get firstDetect + * @return firstDetect + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismFirstDetect getFirstDetect() { + return firstDetect; + } + + + public void setFirstDetect(PrismFirstDetect firstDetect) { + this.firstDetect = firstDetect; + } + + + public CraPartnerInsightsPrism detect(PrismDetect detect) { + + this.detect = detect; + return this; + } + + /** + * Get detect + * @return detect + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismDetect getDetect() { + return detect; + } + + + public void setDetect(PrismDetect detect) { + this.detect = detect; + } + + + public CraPartnerInsightsPrism status(String status) { + + this.status = status; + return this; + } + + /** + * Details on whether the Prism Data attributes succeeded or failed to be generated. + * @return status + **/ + @ApiModelProperty(required = true, value = "Details on whether the Prism Data attributes succeeded or failed to be generated.") + + public String getStatus() { + return status; + } + + + public void setStatus(String status) { + this.status = status; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsPrism craPartnerInsightsPrism = (CraPartnerInsightsPrism) o; + return Objects.equals(this.insights, craPartnerInsightsPrism.insights) && + Objects.equals(this.cashScore, craPartnerInsightsPrism.cashScore) && + Objects.equals(this.extend, craPartnerInsightsPrism.extend) && + Objects.equals(this.firstDetect, craPartnerInsightsPrism.firstDetect) && + Objects.equals(this.detect, craPartnerInsightsPrism.detect) && + Objects.equals(this.status, craPartnerInsightsPrism.status); + } + + @Override + public int hashCode() { + return Objects.hash(insights, cashScore, extend, firstDetect, detect, status); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsPrism {\n"); + sb.append(" insights: ").append(toIndentedString(insights)).append("\n"); + sb.append(" cashScore: ").append(toIndentedString(cashScore)).append("\n"); + sb.append(" extend: ").append(toIndentedString(extend)).append("\n"); + sb.append(" firstDetect: ").append(toIndentedString(firstDetect)).append("\n"); + sb.append(" detect: ").append(toIndentedString(detect)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsUltraFicoScore.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsUltraFicoScore.java new file mode 100644 index 0000000000..b4640f056d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsUltraFicoScore.java @@ -0,0 +1,464 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPartnerInsightsUltraFicoScoreVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The calculated UltraFICO® score. + */ +@ApiModel(description = "The calculated UltraFICO® score.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsUltraFicoScore { + public static final String SERIALIZED_NAME_ULTRAFICO_SCORE_VERSION = "ultrafico_score_version"; + @SerializedName(SERIALIZED_NAME_ULTRAFICO_SCORE_VERSION) + private CraPartnerInsightsUltraFicoScoreVersion ultraficoScoreVersion; + + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_NEGATIVE_REASON_CODES = "negative_reason_codes"; + @SerializedName(SERIALIZED_NAME_NEGATIVE_REASON_CODES) + private List negativeReasonCodes = null; + + public static final String SERIALIZED_NAME_POSITIVE_REASON_CODES = "positive_reason_codes"; + @SerializedName(SERIALIZED_NAME_POSITIVE_REASON_CODES) + private List positiveReasonCodes = null; + + public static final String SERIALIZED_NAME_REASON_CODE1 = "reason_code_1"; + @SerializedName(SERIALIZED_NAME_REASON_CODE1) + private String reasonCode1; + + public static final String SERIALIZED_NAME_REASON_CODE2 = "reason_code_2"; + @SerializedName(SERIALIZED_NAME_REASON_CODE2) + private String reasonCode2; + + public static final String SERIALIZED_NAME_REASON_CODE3 = "reason_code_3"; + @SerializedName(SERIALIZED_NAME_REASON_CODE3) + private String reasonCode3; + + public static final String SERIALIZED_NAME_REASON_CODE4 = "reason_code_4"; + @SerializedName(SERIALIZED_NAME_REASON_CODE4) + private String reasonCode4; + + public static final String SERIALIZED_NAME_POSITIVE_REASON_CODE1 = "positive_reason_code_1"; + @SerializedName(SERIALIZED_NAME_POSITIVE_REASON_CODE1) + private String positiveReasonCode1; + + public static final String SERIALIZED_NAME_POSITIVE_REASON_CODE2 = "positive_reason_code_2"; + @SerializedName(SERIALIZED_NAME_POSITIVE_REASON_CODE2) + private String positiveReasonCode2; + + public static final String SERIALIZED_NAME_POSITIVE_REASON_CODE3 = "positive_reason_code_3"; + @SerializedName(SERIALIZED_NAME_POSITIVE_REASON_CODE3) + private String positiveReasonCode3; + + public static final String SERIALIZED_NAME_POSITIVE_REASON_CODE4 = "positive_reason_code_4"; + @SerializedName(SERIALIZED_NAME_POSITIVE_REASON_CODE4) + private String positiveReasonCode4; + + public static final String SERIALIZED_NAME_DID_INQUIRIES_ADVERSELY_AFFECT_SCORE = "did_inquiries_adversely_affect_score"; + @SerializedName(SERIALIZED_NAME_DID_INQUIRIES_ADVERSELY_AFFECT_SCORE) + private Boolean didInquiriesAdverselyAffectScore; + + + public CraPartnerInsightsUltraFicoScore ultraficoScoreVersion(CraPartnerInsightsUltraFicoScoreVersion ultraficoScoreVersion) { + + this.ultraficoScoreVersion = ultraficoScoreVersion; + return this; + } + + /** + * Get ultraficoScoreVersion + * @return ultraficoScoreVersion + **/ + @ApiModelProperty(required = true, value = "") + + public CraPartnerInsightsUltraFicoScoreVersion getUltraficoScoreVersion() { + return ultraficoScoreVersion; + } + + + public void setUltraficoScoreVersion(CraPartnerInsightsUltraFicoScoreVersion ultraficoScoreVersion) { + this.ultraficoScoreVersion = ultraficoScoreVersion; + } + + + public CraPartnerInsightsUltraFicoScore score(Integer score) { + + this.score = score; + return this; + } + + /** + * Numeric value of the UltraFICO® score. + * @return score + **/ + @ApiModelProperty(required = true, value = "Numeric value of the UltraFICO® score.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public CraPartnerInsightsUltraFicoScore negativeReasonCodes(List negativeReasonCodes) { + + this.negativeReasonCodes = negativeReasonCodes; + return this; + } + + public CraPartnerInsightsUltraFicoScore addNegativeReasonCodesItem(String negativeReasonCodesItem) { + if (this.negativeReasonCodes == null) { + this.negativeReasonCodes = new ArrayList<>(); + } + this.negativeReasonCodes.add(negativeReasonCodesItem); + return this; + } + + /** + * Negative reason codes associated with the score (reasons the score moved downward), in priority order. May contain up to 4 items. + * @return negativeReasonCodes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Negative reason codes associated with the score (reasons the score moved downward), in priority order. May contain up to 4 items.") + + public List getNegativeReasonCodes() { + return negativeReasonCodes; + } + + + public void setNegativeReasonCodes(List negativeReasonCodes) { + this.negativeReasonCodes = negativeReasonCodes; + } + + + public CraPartnerInsightsUltraFicoScore positiveReasonCodes(List positiveReasonCodes) { + + this.positiveReasonCodes = positiveReasonCodes; + return this; + } + + public CraPartnerInsightsUltraFicoScore addPositiveReasonCodesItem(String positiveReasonCodesItem) { + if (this.positiveReasonCodes == null) { + this.positiveReasonCodes = new ArrayList<>(); + } + this.positiveReasonCodes.add(positiveReasonCodesItem); + return this; + } + + /** + * Positive reason codes associated with the score (reasons the score moved upward), in priority order. May contain up to 4 items. + * @return positiveReasonCodes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Positive reason codes associated with the score (reasons the score moved upward), in priority order. May contain up to 4 items.") + + public List getPositiveReasonCodes() { + return positiveReasonCodes; + } + + + public void setPositiveReasonCodes(List positiveReasonCodes) { + this.positiveReasonCodes = positiveReasonCodes; + } + + + public CraPartnerInsightsUltraFicoScore reasonCode1(String reasonCode1) { + + this.reasonCode1 = reasonCode1; + return this; + } + + /** + * Deprecated. Use `negative_reason_codes` instead. The first reason code associated with the score. + * @return reasonCode1 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated. Use `negative_reason_codes` instead. The first reason code associated with the score.") + + public String getReasonCode1() { + return reasonCode1; + } + + + public void setReasonCode1(String reasonCode1) { + this.reasonCode1 = reasonCode1; + } + + + public CraPartnerInsightsUltraFicoScore reasonCode2(String reasonCode2) { + + this.reasonCode2 = reasonCode2; + return this; + } + + /** + * Deprecated. Use `negative_reason_codes` instead. The second reason code associated with the score. + * @return reasonCode2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated. Use `negative_reason_codes` instead. The second reason code associated with the score.") + + public String getReasonCode2() { + return reasonCode2; + } + + + public void setReasonCode2(String reasonCode2) { + this.reasonCode2 = reasonCode2; + } + + + public CraPartnerInsightsUltraFicoScore reasonCode3(String reasonCode3) { + + this.reasonCode3 = reasonCode3; + return this; + } + + /** + * Deprecated. Use `negative_reason_codes` instead. The third reason code associated with the score. + * @return reasonCode3 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated. Use `negative_reason_codes` instead. The third reason code associated with the score.") + + public String getReasonCode3() { + return reasonCode3; + } + + + public void setReasonCode3(String reasonCode3) { + this.reasonCode3 = reasonCode3; + } + + + public CraPartnerInsightsUltraFicoScore reasonCode4(String reasonCode4) { + + this.reasonCode4 = reasonCode4; + return this; + } + + /** + * Deprecated. Use `negative_reason_codes` instead. The fourth reason code associated with the score. + * @return reasonCode4 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated. Use `negative_reason_codes` instead. The fourth reason code associated with the score.") + + public String getReasonCode4() { + return reasonCode4; + } + + + public void setReasonCode4(String reasonCode4) { + this.reasonCode4 = reasonCode4; + } + + + public CraPartnerInsightsUltraFicoScore positiveReasonCode1(String positiveReasonCode1) { + + this.positiveReasonCode1 = positiveReasonCode1; + return this; + } + + /** + * Deprecated. Use `positive_reason_codes` instead. The first positive reason code associated with the score. + * @return positiveReasonCode1 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated. Use `positive_reason_codes` instead. The first positive reason code associated with the score.") + + public String getPositiveReasonCode1() { + return positiveReasonCode1; + } + + + public void setPositiveReasonCode1(String positiveReasonCode1) { + this.positiveReasonCode1 = positiveReasonCode1; + } + + + public CraPartnerInsightsUltraFicoScore positiveReasonCode2(String positiveReasonCode2) { + + this.positiveReasonCode2 = positiveReasonCode2; + return this; + } + + /** + * Deprecated. Use `positive_reason_codes` instead. The second positive reason code associated with the score. + * @return positiveReasonCode2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated. Use `positive_reason_codes` instead. The second positive reason code associated with the score.") + + public String getPositiveReasonCode2() { + return positiveReasonCode2; + } + + + public void setPositiveReasonCode2(String positiveReasonCode2) { + this.positiveReasonCode2 = positiveReasonCode2; + } + + + public CraPartnerInsightsUltraFicoScore positiveReasonCode3(String positiveReasonCode3) { + + this.positiveReasonCode3 = positiveReasonCode3; + return this; + } + + /** + * Deprecated. Use `positive_reason_codes` instead. The third positive reason code associated with the score. + * @return positiveReasonCode3 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated. Use `positive_reason_codes` instead. The third positive reason code associated with the score.") + + public String getPositiveReasonCode3() { + return positiveReasonCode3; + } + + + public void setPositiveReasonCode3(String positiveReasonCode3) { + this.positiveReasonCode3 = positiveReasonCode3; + } + + + public CraPartnerInsightsUltraFicoScore positiveReasonCode4(String positiveReasonCode4) { + + this.positiveReasonCode4 = positiveReasonCode4; + return this; + } + + /** + * Deprecated. Use `positive_reason_codes` instead. The fourth positive reason code associated with the score. + * @return positiveReasonCode4 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated. Use `positive_reason_codes` instead. The fourth positive reason code associated with the score.") + + public String getPositiveReasonCode4() { + return positiveReasonCode4; + } + + + public void setPositiveReasonCode4(String positiveReasonCode4) { + this.positiveReasonCode4 = positiveReasonCode4; + } + + + public CraPartnerInsightsUltraFicoScore didInquiriesAdverselyAffectScore(Boolean didInquiriesAdverselyAffectScore) { + + this.didInquiriesAdverselyAffectScore = didInquiriesAdverselyAffectScore; + return this; + } + + /** + * Whether inquiries adversely affected the score but were not represented in one of the four reason codes. Sometimes referred to as the FACTA Flag. + * @return didInquiriesAdverselyAffectScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether inquiries adversely affected the score but were not represented in one of the four reason codes. Sometimes referred to as the FACTA Flag.") + + public Boolean getDidInquiriesAdverselyAffectScore() { + return didInquiriesAdverselyAffectScore; + } + + + public void setDidInquiriesAdverselyAffectScore(Boolean didInquiriesAdverselyAffectScore) { + this.didInquiriesAdverselyAffectScore = didInquiriesAdverselyAffectScore; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsUltraFicoScore craPartnerInsightsUltraFicoScore = (CraPartnerInsightsUltraFicoScore) o; + return Objects.equals(this.ultraficoScoreVersion, craPartnerInsightsUltraFicoScore.ultraficoScoreVersion) && + Objects.equals(this.score, craPartnerInsightsUltraFicoScore.score) && + Objects.equals(this.negativeReasonCodes, craPartnerInsightsUltraFicoScore.negativeReasonCodes) && + Objects.equals(this.positiveReasonCodes, craPartnerInsightsUltraFicoScore.positiveReasonCodes) && + Objects.equals(this.reasonCode1, craPartnerInsightsUltraFicoScore.reasonCode1) && + Objects.equals(this.reasonCode2, craPartnerInsightsUltraFicoScore.reasonCode2) && + Objects.equals(this.reasonCode3, craPartnerInsightsUltraFicoScore.reasonCode3) && + Objects.equals(this.reasonCode4, craPartnerInsightsUltraFicoScore.reasonCode4) && + Objects.equals(this.positiveReasonCode1, craPartnerInsightsUltraFicoScore.positiveReasonCode1) && + Objects.equals(this.positiveReasonCode2, craPartnerInsightsUltraFicoScore.positiveReasonCode2) && + Objects.equals(this.positiveReasonCode3, craPartnerInsightsUltraFicoScore.positiveReasonCode3) && + Objects.equals(this.positiveReasonCode4, craPartnerInsightsUltraFicoScore.positiveReasonCode4) && + Objects.equals(this.didInquiriesAdverselyAffectScore, craPartnerInsightsUltraFicoScore.didInquiriesAdverselyAffectScore); + } + + @Override + public int hashCode() { + return Objects.hash(ultraficoScoreVersion, score, negativeReasonCodes, positiveReasonCodes, reasonCode1, reasonCode2, reasonCode3, reasonCode4, positiveReasonCode1, positiveReasonCode2, positiveReasonCode3, positiveReasonCode4, didInquiriesAdverselyAffectScore); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsUltraFicoScore {\n"); + sb.append(" ultraficoScoreVersion: ").append(toIndentedString(ultraficoScoreVersion)).append("\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" negativeReasonCodes: ").append(toIndentedString(negativeReasonCodes)).append("\n"); + sb.append(" positiveReasonCodes: ").append(toIndentedString(positiveReasonCodes)).append("\n"); + sb.append(" reasonCode1: ").append(toIndentedString(reasonCode1)).append("\n"); + sb.append(" reasonCode2: ").append(toIndentedString(reasonCode2)).append("\n"); + sb.append(" reasonCode3: ").append(toIndentedString(reasonCode3)).append("\n"); + sb.append(" reasonCode4: ").append(toIndentedString(reasonCode4)).append("\n"); + sb.append(" positiveReasonCode1: ").append(toIndentedString(positiveReasonCode1)).append("\n"); + sb.append(" positiveReasonCode2: ").append(toIndentedString(positiveReasonCode2)).append("\n"); + sb.append(" positiveReasonCode3: ").append(toIndentedString(positiveReasonCode3)).append("\n"); + sb.append(" positiveReasonCode4: ").append(toIndentedString(positiveReasonCode4)).append("\n"); + sb.append(" didInquiriesAdverselyAffectScore: ").append(toIndentedString(didInquiriesAdverselyAffectScore)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsUltraFicoScoreRequest.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsUltraFicoScoreRequest.java new file mode 100644 index 0000000000..25002c3707 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsUltraFicoScoreRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPartnerInsightsBaseFicoScore; +import com.plaid.client.model.CraPartnerInsightsUltraFicoScoreVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Configuration required to generate a single UltraFICO® score. + */ +@ApiModel(description = "Configuration required to generate a single UltraFICO® score.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsUltraFicoScoreRequest { + public static final String SERIALIZED_NAME_ULTRAFICO_SCORE_VERSION = "ultrafico_score_version"; + @SerializedName(SERIALIZED_NAME_ULTRAFICO_SCORE_VERSION) + private CraPartnerInsightsUltraFicoScoreVersion ultraficoScoreVersion; + + public static final String SERIALIZED_NAME_FICO_SCORING_REQUEST_ID = "fico_scoring_request_id"; + @SerializedName(SERIALIZED_NAME_FICO_SCORING_REQUEST_ID) + private String ficoScoringRequestId; + + public static final String SERIALIZED_NAME_REQUEST_CORRELATION_ID = "request_correlation_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_CORRELATION_ID) + private String requestCorrelationId; + + public static final String SERIALIZED_NAME_BASE_FICO_SCORE = "base_fico_score"; + @SerializedName(SERIALIZED_NAME_BASE_FICO_SCORE) + private CraPartnerInsightsBaseFicoScore baseFicoScore; + + + public CraPartnerInsightsUltraFicoScoreRequest ultraficoScoreVersion(CraPartnerInsightsUltraFicoScoreVersion ultraficoScoreVersion) { + + this.ultraficoScoreVersion = ultraficoScoreVersion; + return this; + } + + /** + * Get ultraficoScoreVersion + * @return ultraficoScoreVersion + **/ + @ApiModelProperty(required = true, value = "") + + public CraPartnerInsightsUltraFicoScoreVersion getUltraficoScoreVersion() { + return ultraficoScoreVersion; + } + + + public void setUltraficoScoreVersion(CraPartnerInsightsUltraFicoScoreVersion ultraficoScoreVersion) { + this.ultraficoScoreVersion = ultraficoScoreVersion; + } + + + public CraPartnerInsightsUltraFicoScoreRequest ficoScoringRequestId(String ficoScoringRequestId) { + + this.ficoScoringRequestId = ficoScoringRequestId; + return this; + } + + /** + * FICO identifier for a particular scoring request. Should only be provided by FICO as part of the FICO-led flow. + * @return ficoScoringRequestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "FICO identifier for a particular scoring request. Should only be provided by FICO as part of the FICO-led flow.") + + public String getFicoScoringRequestId() { + return ficoScoringRequestId; + } + + + public void setFicoScoringRequestId(String ficoScoringRequestId) { + this.ficoScoringRequestId = ficoScoringRequestId; + } + + + public CraPartnerInsightsUltraFicoScoreRequest requestCorrelationId(String requestCorrelationId) { + + this.requestCorrelationId = requestCorrelationId; + return this; + } + + /** + * Client-generated identifier that can be used to correlate scoring requests with their scoring results. + * @return requestCorrelationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client-generated identifier that can be used to correlate scoring requests with their scoring results.") + + public String getRequestCorrelationId() { + return requestCorrelationId; + } + + + public void setRequestCorrelationId(String requestCorrelationId) { + this.requestCorrelationId = requestCorrelationId; + } + + + public CraPartnerInsightsUltraFicoScoreRequest baseFicoScore(CraPartnerInsightsBaseFicoScore baseFicoScore) { + + this.baseFicoScore = baseFicoScore; + return this; + } + + /** + * Get baseFicoScore + * @return baseFicoScore + **/ + @ApiModelProperty(required = true, value = "") + + public CraPartnerInsightsBaseFicoScore getBaseFicoScore() { + return baseFicoScore; + } + + + public void setBaseFicoScore(CraPartnerInsightsBaseFicoScore baseFicoScore) { + this.baseFicoScore = baseFicoScore; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsUltraFicoScoreRequest craPartnerInsightsUltraFicoScoreRequest = (CraPartnerInsightsUltraFicoScoreRequest) o; + return Objects.equals(this.ultraficoScoreVersion, craPartnerInsightsUltraFicoScoreRequest.ultraficoScoreVersion) && + Objects.equals(this.ficoScoringRequestId, craPartnerInsightsUltraFicoScoreRequest.ficoScoringRequestId) && + Objects.equals(this.requestCorrelationId, craPartnerInsightsUltraFicoScoreRequest.requestCorrelationId) && + Objects.equals(this.baseFicoScore, craPartnerInsightsUltraFicoScoreRequest.baseFicoScore); + } + + @Override + public int hashCode() { + return Objects.hash(ultraficoScoreVersion, ficoScoringRequestId, requestCorrelationId, baseFicoScore); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsUltraFicoScoreRequest {\n"); + sb.append(" ultraficoScoreVersion: ").append(toIndentedString(ultraficoScoreVersion)).append("\n"); + sb.append(" ficoScoringRequestId: ").append(toIndentedString(ficoScoringRequestId)).append("\n"); + sb.append(" requestCorrelationId: ").append(toIndentedString(requestCorrelationId)).append("\n"); + sb.append(" baseFicoScore: ").append(toIndentedString(baseFicoScore)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsUltraFicoScoreResult.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsUltraFicoScoreResult.java new file mode 100644 index 0000000000..9cf205bf7e --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsUltraFicoScoreResult.java @@ -0,0 +1,216 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPartnerInsightsUltraFicoScore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The result of a single UltraFICO® score generation request. + */ +@ApiModel(description = "The result of a single UltraFICO® score generation request.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPartnerInsightsUltraFicoScoreResult { + public static final String SERIALIZED_NAME_REQUEST_CORRELATION_ID = "request_correlation_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_CORRELATION_ID) + private String requestCorrelationId; + + public static final String SERIALIZED_NAME_FICO_SCORING_REQUEST_ID = "fico_scoring_request_id"; + @SerializedName(SERIALIZED_NAME_FICO_SCORING_REQUEST_ID) + private String ficoScoringRequestId; + + public static final String SERIALIZED_NAME_ULTRAFICO_SCORE = "ultrafico_score"; + @SerializedName(SERIALIZED_NAME_ULTRAFICO_SCORE) + private CraPartnerInsightsUltraFicoScore ultraficoScore; + + public static final String SERIALIZED_NAME_ERROR_REASON = "error_reason"; + @SerializedName(SERIALIZED_NAME_ERROR_REASON) + private String errorReason; + + public static final String SERIALIZED_NAME_EXCLUSION_CODE = "exclusion_code"; + @SerializedName(SERIALIZED_NAME_EXCLUSION_CODE) + private String exclusionCode; + + + public CraPartnerInsightsUltraFicoScoreResult requestCorrelationId(String requestCorrelationId) { + + this.requestCorrelationId = requestCorrelationId; + return this; + } + + /** + * Client-generated identifier that can be used to correlate scoring requests with their scoring results. + * @return requestCorrelationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client-generated identifier that can be used to correlate scoring requests with their scoring results.") + + public String getRequestCorrelationId() { + return requestCorrelationId; + } + + + public void setRequestCorrelationId(String requestCorrelationId) { + this.requestCorrelationId = requestCorrelationId; + } + + + public CraPartnerInsightsUltraFicoScoreResult ficoScoringRequestId(String ficoScoringRequestId) { + + this.ficoScoringRequestId = ficoScoringRequestId; + return this; + } + + /** + * FICO-provided identifier that uniquely identifies this score generation request. + * @return ficoScoringRequestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "FICO-provided identifier that uniquely identifies this score generation request.") + + public String getFicoScoringRequestId() { + return ficoScoringRequestId; + } + + + public void setFicoScoringRequestId(String ficoScoringRequestId) { + this.ficoScoringRequestId = ficoScoringRequestId; + } + + + public CraPartnerInsightsUltraFicoScoreResult ultraficoScore(CraPartnerInsightsUltraFicoScore ultraficoScore) { + + this.ultraficoScore = ultraficoScore; + return this; + } + + /** + * Get ultraficoScore + * @return ultraficoScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraPartnerInsightsUltraFicoScore getUltraficoScore() { + return ultraficoScore; + } + + + public void setUltraficoScore(CraPartnerInsightsUltraFicoScore ultraficoScore) { + this.ultraficoScore = ultraficoScore; + } + + + public CraPartnerInsightsUltraFicoScoreResult errorReason(String errorReason) { + + this.errorReason = errorReason; + return this; + } + + /** + * Human-readable description of why the UltraFICO® score could not be computed. + * @return errorReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Human-readable description of why the UltraFICO® score could not be computed.") + + public String getErrorReason() { + return errorReason; + } + + + public void setErrorReason(String errorReason) { + this.errorReason = errorReason; + } + + + public CraPartnerInsightsUltraFicoScoreResult exclusionCode(String exclusionCode) { + + this.exclusionCode = exclusionCode; + return this; + } + + /** + * FICO exclusion code indicating why an UltraFICO® score could not be computed due to consumer-data conditions (e.g. insufficient account history). `null` when the exclusion code is not set; \"0\" when a score was produced. + * @return exclusionCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "FICO exclusion code indicating why an UltraFICO® score could not be computed due to consumer-data conditions (e.g. insufficient account history). `null` when the exclusion code is not set; \"0\" when a score was produced.") + + public String getExclusionCode() { + return exclusionCode; + } + + + public void setExclusionCode(String exclusionCode) { + this.exclusionCode = exclusionCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPartnerInsightsUltraFicoScoreResult craPartnerInsightsUltraFicoScoreResult = (CraPartnerInsightsUltraFicoScoreResult) o; + return Objects.equals(this.requestCorrelationId, craPartnerInsightsUltraFicoScoreResult.requestCorrelationId) && + Objects.equals(this.ficoScoringRequestId, craPartnerInsightsUltraFicoScoreResult.ficoScoringRequestId) && + Objects.equals(this.ultraficoScore, craPartnerInsightsUltraFicoScoreResult.ultraficoScore) && + Objects.equals(this.errorReason, craPartnerInsightsUltraFicoScoreResult.errorReason) && + Objects.equals(this.exclusionCode, craPartnerInsightsUltraFicoScoreResult.exclusionCode); + } + + @Override + public int hashCode() { + return Objects.hash(requestCorrelationId, ficoScoringRequestId, ultraficoScore, errorReason, exclusionCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPartnerInsightsUltraFicoScoreResult {\n"); + sb.append(" requestCorrelationId: ").append(toIndentedString(requestCorrelationId)).append("\n"); + sb.append(" ficoScoringRequestId: ").append(toIndentedString(ficoScoringRequestId)).append("\n"); + sb.append(" ultraficoScore: ").append(toIndentedString(ultraficoScore)).append("\n"); + sb.append(" errorReason: ").append(toIndentedString(errorReason)).append("\n"); + sb.append(" exclusionCode: ").append(toIndentedString(exclusionCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraPartnerInsightsUltraFicoScoreVersion.java b/src/main/java/com/plaid/client/model/CraPartnerInsightsUltraFicoScoreVersion.java new file mode 100644 index 0000000000..e6f42ae889 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPartnerInsightsUltraFicoScoreVersion.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The version of the UltraFICO® score. + */ +@JsonAdapter(CraPartnerInsightsUltraFicoScoreVersion.Adapter.class) +public enum CraPartnerInsightsUltraFicoScoreVersion { + + _1_0("1.0"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraPartnerInsightsUltraFicoScoreVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraPartnerInsightsUltraFicoScoreVersion fromValue(String value) { + for (CraPartnerInsightsUltraFicoScoreVersion b : CraPartnerInsightsUltraFicoScoreVersion.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraPartnerInsightsUltraFicoScoreVersion.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraPartnerInsightsUltraFicoScoreVersion enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraPartnerInsightsUltraFicoScoreVersion read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraPartnerInsightsUltraFicoScoreVersion.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraPredictionInterval.java b/src/main/java/com/plaid/client/model/CraPredictionInterval.java new file mode 100644 index 0000000000..237ba1d525 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraPredictionInterval.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * The object containing prediction interval data. + */ +@ApiModel(description = "The object containing prediction interval data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraPredictionInterval { + public static final String SERIALIZED_NAME_LOWER_BOUND = "lower_bound"; + @SerializedName(SERIALIZED_NAME_LOWER_BOUND) + private Double lowerBound; + + public static final String SERIALIZED_NAME_UPPER_BOUND = "upper_bound"; + @SerializedName(SERIALIZED_NAME_UPPER_BOUND) + private Double upperBound; + + public static final String SERIALIZED_NAME_PROBABILITY = "probability"; + @SerializedName(SERIALIZED_NAME_PROBABILITY) + private Double probability; + + + public CraPredictionInterval lowerBound(Double lowerBound) { + + this.lowerBound = lowerBound; + return this; + } + + /** + * The lower bound of the predicted attribute for the given probability. + * @return lowerBound + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The lower bound of the predicted attribute for the given probability.") + + public Double getLowerBound() { + return lowerBound; + } + + + public void setLowerBound(Double lowerBound) { + this.lowerBound = lowerBound; + } + + + public CraPredictionInterval upperBound(Double upperBound) { + + this.upperBound = upperBound; + return this; + } + + /** + * The upper bound of the predicted attribute for the given probability. + * @return upperBound + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The upper bound of the predicted attribute for the given probability.") + + public Double getUpperBound() { + return upperBound; + } + + + public void setUpperBound(Double upperBound) { + this.upperBound = upperBound; + } + + + public CraPredictionInterval probability(Double probability) { + + this.probability = probability; + return this; + } + + /** + * The probability of the actual value of the attribute falling within the upper and lower bound. This is a percentage represented as a value between 0 and 1. + * @return probability + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The probability of the actual value of the attribute falling within the upper and lower bound. This is a percentage represented as a value between 0 and 1.") + + public Double getProbability() { + return probability; + } + + + public void setProbability(Double probability) { + this.probability = probability; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraPredictionInterval craPredictionInterval = (CraPredictionInterval) o; + return Objects.equals(this.lowerBound, craPredictionInterval.lowerBound) && + Objects.equals(this.upperBound, craPredictionInterval.upperBound) && + Objects.equals(this.probability, craPredictionInterval.probability); + } + + @Override + public int hashCode() { + return Objects.hash(lowerBound, upperBound, probability); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraPredictionInterval {\n"); + sb.append(" lowerBound: ").append(toIndentedString(lowerBound)).append("\n"); + sb.append(" upperBound: ").append(toIndentedString(upperBound)).append("\n"); + sb.append(" probability: ").append(toIndentedString(probability)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraProjectedModeledIncome.java b/src/main/java/com/plaid/client/model/CraProjectedModeledIncome.java new file mode 100644 index 0000000000..8c197073b3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraProjectedModeledIncome.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraAnnualIncomeValues; +import com.plaid.client.model.CraMonthlyIncomeValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Forward-looking modeled estimate of income based on recent income transactions and trends in active streams. + */ +@ApiModel(description = "Forward-looking modeled estimate of income based on recent income transactions and trends in active streams.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraProjectedModeledIncome { + public static final String SERIALIZED_NAME_MONTHLY = "monthly"; + @SerializedName(SERIALIZED_NAME_MONTHLY) + private CraMonthlyIncomeValues monthly; + + public static final String SERIALIZED_NAME_ANNUAL = "annual"; + @SerializedName(SERIALIZED_NAME_ANNUAL) + private CraAnnualIncomeValues annual; + + + public CraProjectedModeledIncome monthly(CraMonthlyIncomeValues monthly) { + + this.monthly = monthly; + return this; + } + + /** + * Get monthly + * @return monthly + **/ + @ApiModelProperty(required = true, value = "") + + public CraMonthlyIncomeValues getMonthly() { + return monthly; + } + + + public void setMonthly(CraMonthlyIncomeValues monthly) { + this.monthly = monthly; + } + + + public CraProjectedModeledIncome annual(CraAnnualIncomeValues annual) { + + this.annual = annual; + return this; + } + + /** + * Get annual + * @return annual + **/ + @ApiModelProperty(required = true, value = "") + + public CraAnnualIncomeValues getAnnual() { + return annual; + } + + + public void setAnnual(CraAnnualIncomeValues annual) { + this.annual = annual; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraProjectedModeledIncome craProjectedModeledIncome = (CraProjectedModeledIncome) o; + return Objects.equals(this.monthly, craProjectedModeledIncome.monthly) && + Objects.equals(this.annual, craProjectedModeledIncome.annual); + } + + @Override + public int hashCode() { + return Objects.hash(monthly, annual); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraProjectedModeledIncome {\n"); + sb.append(" monthly: ").append(toIndentedString(monthly)).append("\n"); + sb.append(" annual: ").append(toIndentedString(annual)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraReportDecisionStage.java b/src/main/java/com/plaid/client/model/CraReportDecisionStage.java new file mode 100644 index 0000000000..daca303bcb --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraReportDecisionStage.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The stage in the lending lifecycle for which the report is being retrieved. + */ +@JsonAdapter(CraReportDecisionStage.Adapter.class) +public enum CraReportDecisionStage { + + PREQUALIFICATION("PREQUALIFICATION"), + + DECISIONING("DECISIONING"), + + SERVICING("SERVICING"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraReportDecisionStage(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraReportDecisionStage fromValue(String value) { + for (CraReportDecisionStage b : CraReportDecisionStage.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraReportDecisionStage.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraReportDecisionStage enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraReportDecisionStage read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraReportDecisionStage.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraReportGetReport.java b/src/main/java/com/plaid/client/model/CraReportGetReport.java new file mode 100644 index 0000000000..85dc3b8cc7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraReportGetReport.java @@ -0,0 +1,222 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ConsumerReportPermissiblePurpose; +import com.plaid.client.model.CraReportDecisionStage; +import com.plaid.client.model.CraReportGetResponseProduct; +import com.plaid.client.model.CraReportScope; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * The CRA report returned by `/cra/report/get`. + */ +@ApiModel(description = "The CRA report returned by `/cra/report/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraReportGetReport { + public static final String SERIALIZED_NAME_RETRIEVED_TIME = "retrieved_time"; + @SerializedName(SERIALIZED_NAME_RETRIEVED_TIME) + private OffsetDateTime retrievedTime; + + public static final String SERIALIZED_NAME_SCOPE = "scope"; + @SerializedName(SERIALIZED_NAME_SCOPE) + private CraReportScope scope; + + public static final String SERIALIZED_NAME_DECISION_STAGE = "decision_stage"; + @SerializedName(SERIALIZED_NAME_DECISION_STAGE) + private CraReportDecisionStage decisionStage; + + public static final String SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE = "consumer_report_permissible_purpose"; + @SerializedName(SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE) + private ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = new ArrayList<>(); + + + public CraReportGetReport retrievedTime(OffsetDateTime retrievedTime) { + + this.retrievedTime = retrievedTime; + return this; + } + + /** + * The date and time the report was retrieved. + * @return retrievedTime + **/ + @ApiModelProperty(required = true, value = "The date and time the report was retrieved.") + + public OffsetDateTime getRetrievedTime() { + return retrievedTime; + } + + + public void setRetrievedTime(OffsetDateTime retrievedTime) { + this.retrievedTime = retrievedTime; + } + + + public CraReportGetReport scope(CraReportScope scope) { + + this.scope = scope; + return this; + } + + /** + * Get scope + * @return scope + **/ + @ApiModelProperty(required = true, value = "") + + public CraReportScope getScope() { + return scope; + } + + + public void setScope(CraReportScope scope) { + this.scope = scope; + } + + + public CraReportGetReport decisionStage(CraReportDecisionStage decisionStage) { + + this.decisionStage = decisionStage; + return this; + } + + /** + * Get decisionStage + * @return decisionStage + **/ + @ApiModelProperty(required = true, value = "") + + public CraReportDecisionStage getDecisionStage() { + return decisionStage; + } + + + public void setDecisionStage(CraReportDecisionStage decisionStage) { + this.decisionStage = decisionStage; + } + + + public CraReportGetReport consumerReportPermissiblePurpose(ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose) { + + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + return this; + } + + /** + * Get consumerReportPermissiblePurpose + * @return consumerReportPermissiblePurpose + **/ + @ApiModelProperty(required = true, value = "") + + public ConsumerReportPermissiblePurpose getConsumerReportPermissiblePurpose() { + return consumerReportPermissiblePurpose; + } + + + public void setConsumerReportPermissiblePurpose(ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose) { + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + } + + + public CraReportGetReport products(List products) { + + this.products = products; + return this; + } + + public CraReportGetReport addProductsItem(CraReportGetResponseProduct productsItem) { + this.products.add(productsItem); + return this; + } + + /** + * Per-product report data. Each entry corresponds to one requested product. + * @return products + **/ + @ApiModelProperty(required = true, value = "Per-product report data. Each entry corresponds to one requested product.") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraReportGetReport craReportGetReport = (CraReportGetReport) o; + return Objects.equals(this.retrievedTime, craReportGetReport.retrievedTime) && + Objects.equals(this.scope, craReportGetReport.scope) && + Objects.equals(this.decisionStage, craReportGetReport.decisionStage) && + Objects.equals(this.consumerReportPermissiblePurpose, craReportGetReport.consumerReportPermissiblePurpose) && + Objects.equals(this.products, craReportGetReport.products); + } + + @Override + public int hashCode() { + return Objects.hash(retrievedTime, scope, decisionStage, consumerReportPermissiblePurpose, products); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraReportGetReport {\n"); + sb.append(" retrievedTime: ").append(toIndentedString(retrievedTime)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append(" decisionStage: ").append(toIndentedString(decisionStage)).append("\n"); + sb.append(" consumerReportPermissiblePurpose: ").append(toIndentedString(consumerReportPermissiblePurpose)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraReportGetRequest.java b/src/main/java/com/plaid/client/model/CraReportGetRequest.java new file mode 100644 index 0000000000..08b9c52feb --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraReportGetRequest.java @@ -0,0 +1,280 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ConsumerReportPermissiblePurpose; +import com.plaid.client.model.CraReportDecisionStage; +import com.plaid.client.model.CraReportGetRequestProduct; +import com.plaid.client.model.CraReportScope; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraReportGetRequest defines the request schema for `/cra/report/get`. + */ +@ApiModel(description = "CraReportGetRequest defines the request schema for `/cra/report/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraReportGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SCOPE = "scope"; + @SerializedName(SERIALIZED_NAME_SCOPE) + private CraReportScope scope; + + public static final String SERIALIZED_NAME_DECISION_STAGE = "decision_stage"; + @SerializedName(SERIALIZED_NAME_DECISION_STAGE) + private CraReportDecisionStage decisionStage; + + public static final String SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE = "consumer_report_permissible_purpose"; + @SerializedName(SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE) + private ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose; + + + public CraReportGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CraReportGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CraReportGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @ApiModelProperty(required = true, value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraReportGetRequest products(List products) { + + this.products = products; + return this; + } + + public CraReportGetRequest addProductsItem(CraReportGetRequestProduct productsItem) { + this.products.add(productsItem); + return this; + } + + /** + * The requested products and their versions, e.g. `[{\"product\":\"cra_qualify\",\"version\":\"V1\"}]`. + * @return products + **/ + @ApiModelProperty(required = true, value = "The requested products and their versions, e.g. `[{\"product\":\"cra_qualify\",\"version\":\"V1\"}]`.") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + public CraReportGetRequest scope(CraReportScope scope) { + + this.scope = scope; + return this; + } + + /** + * Get scope + * @return scope + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraReportScope getScope() { + return scope; + } + + + public void setScope(CraReportScope scope) { + this.scope = scope; + } + + + public CraReportGetRequest decisionStage(CraReportDecisionStage decisionStage) { + + this.decisionStage = decisionStage; + return this; + } + + /** + * Get decisionStage + * @return decisionStage + **/ + @ApiModelProperty(required = true, value = "") + + public CraReportDecisionStage getDecisionStage() { + return decisionStage; + } + + + public void setDecisionStage(CraReportDecisionStage decisionStage) { + this.decisionStage = decisionStage; + } + + + public CraReportGetRequest consumerReportPermissiblePurpose(ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose) { + + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + return this; + } + + /** + * Get consumerReportPermissiblePurpose + * @return consumerReportPermissiblePurpose + **/ + @ApiModelProperty(required = true, value = "") + + public ConsumerReportPermissiblePurpose getConsumerReportPermissiblePurpose() { + return consumerReportPermissiblePurpose; + } + + + public void setConsumerReportPermissiblePurpose(ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose) { + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraReportGetRequest craReportGetRequest = (CraReportGetRequest) o; + return Objects.equals(this.clientId, craReportGetRequest.clientId) && + Objects.equals(this.secret, craReportGetRequest.secret) && + Objects.equals(this.userId, craReportGetRequest.userId) && + Objects.equals(this.products, craReportGetRequest.products) && + Objects.equals(this.scope, craReportGetRequest.scope) && + Objects.equals(this.decisionStage, craReportGetRequest.decisionStage) && + Objects.equals(this.consumerReportPermissiblePurpose, craReportGetRequest.consumerReportPermissiblePurpose); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, products, scope, decisionStage, consumerReportPermissiblePurpose); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraReportGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append(" decisionStage: ").append(toIndentedString(decisionStage)).append("\n"); + sb.append(" consumerReportPermissiblePurpose: ").append(toIndentedString(consumerReportPermissiblePurpose)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraReportGetRequestProduct.java b/src/main/java/com/plaid/client/model/CraReportGetRequestProduct.java new file mode 100644 index 0000000000..184ed6ffe5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraReportGetRequestProduct.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CraReportGetRequestProduct specifies a product and version for a `/cra/report/get` call. + */ +@ApiModel(description = "CraReportGetRequestProduct specifies a product and version for a `/cra/report/get` call.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraReportGetRequestProduct { + public static final String SERIALIZED_NAME_PRODUCT = "product"; + @SerializedName(SERIALIZED_NAME_PRODUCT) + private Products product; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private String version; + + + public CraReportGetRequestProduct product(Products product) { + + this.product = product; + return this; + } + + /** + * Get product + * @return product + **/ + @ApiModelProperty(required = true, value = "") + + public Products getProduct() { + return product; + } + + + public void setProduct(Products product) { + this.product = product; + } + + + public CraReportGetRequestProduct version(String version) { + + this.version = version; + return this; + } + + /** + * The version of the product that was generated. + * @return version + **/ + @ApiModelProperty(required = true, value = "The version of the product that was generated.") + + public String getVersion() { + return version; + } + + + public void setVersion(String version) { + this.version = version; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraReportGetRequestProduct craReportGetRequestProduct = (CraReportGetRequestProduct) o; + return Objects.equals(this.product, craReportGetRequestProduct.product) && + Objects.equals(this.version, craReportGetRequestProduct.version); + } + + @Override + public int hashCode() { + return Objects.hash(product, version); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraReportGetRequestProduct {\n"); + sb.append(" product: ").append(toIndentedString(product)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraReportGetResponse.java b/src/main/java/com/plaid/client/model/CraReportGetResponse.java new file mode 100644 index 0000000000..4a9dc953fb --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraReportGetResponse.java @@ -0,0 +1,191 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CheckReportWarning; +import com.plaid.client.model.CraReportGetReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CraReportGetResponse defines the response schema for `/cra/report/get`. + */ +@ApiModel(description = "CraReportGetResponse defines the response schema for `/cra/report/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraReportGetResponse { + public static final String SERIALIZED_NAME_REPORT = "report"; + @SerializedName(SERIALIZED_NAME_REPORT) + private CraReportGetReport report; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = new ArrayList<>(); + + + public CraReportGetResponse report(CraReportGetReport report) { + + this.report = report; + return this; + } + + /** + * Get report + * @return report + **/ + @ApiModelProperty(required = true, value = "") + + public CraReportGetReport getReport() { + return report; + } + + + public void setReport(CraReportGetReport report) { + this.report = report; + } + + + public CraReportGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CraReportGetResponse userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @ApiModelProperty(required = true, value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraReportGetResponse warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public CraReportGetResponse addWarningsItem(CheckReportWarning warningsItem) { + this.warnings.add(warningsItem); + return this; + } + + /** + * User or report-level errors that affected the overall report but do not map to a specific product failure. + * @return warnings + **/ + @ApiModelProperty(required = true, value = "User or report-level errors that affected the overall report but do not map to a specific product failure.") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraReportGetResponse craReportGetResponse = (CraReportGetResponse) o; + return Objects.equals(this.report, craReportGetResponse.report) && + Objects.equals(this.requestId, craReportGetResponse.requestId) && + Objects.equals(this.userId, craReportGetResponse.userId) && + Objects.equals(this.warnings, craReportGetResponse.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(report, requestId, userId, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraReportGetResponse {\n"); + sb.append(" report: ").append(toIndentedString(report)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraReportGetResponseProduct.java b/src/main/java/com/plaid/client/model/CraReportGetResponseProduct.java new file mode 100644 index 0000000000..61aa9472f9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraReportGetResponseProduct.java @@ -0,0 +1,221 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Per-product report data. `attributes` is an opaque map of key-value pairs; for a full list of attributes per product and version, see the data dictionary. + */ +@ApiModel(description = "Per-product report data. `attributes` is an opaque map of key-value pairs; for a full list of attributes per product and version, see the data dictionary.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraReportGetResponseProduct { + public static final String SERIALIZED_NAME_PRODUCT = "product"; + @SerializedName(SERIALIZED_NAME_PRODUCT) + private Products product; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private String version; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private Object metadata; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_ERRORS = "errors"; + @SerializedName(SERIALIZED_NAME_ERRORS) + private List errors = new ArrayList<>(); + + + public CraReportGetResponseProduct product(Products product) { + + this.product = product; + return this; + } + + /** + * Get product + * @return product + **/ + @ApiModelProperty(required = true, value = "") + + public Products getProduct() { + return product; + } + + + public void setProduct(Products product) { + this.product = product; + } + + + public CraReportGetResponseProduct version(String version) { + + this.version = version; + return this; + } + + /** + * The version of the product that was generated. + * @return version + **/ + @ApiModelProperty(required = true, value = "The version of the product that was generated.") + + public String getVersion() { + return version; + } + + + public void setVersion(String version) { + this.version = version; + } + + + public CraReportGetResponseProduct metadata(Object metadata) { + + this.metadata = metadata; + return this; + } + + /** + * A map of product report metadata, where the key is a string and the value varies by product. For a full list of metadata fields per product, see the data dictionary. May be `null` if metadata was not available. + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A map of product report metadata, where the key is a string and the value varies by product. For a full list of metadata fields per product, see the data dictionary. May be `null` if metadata was not available.") + + public Object getMetadata() { + return metadata; + } + + + public void setMetadata(Object metadata) { + this.metadata = metadata; + } + + + public CraReportGetResponseProduct attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * A map of product attributes, where the key is a string and the value can be any JSON value. The specific list of attributes depends on the product and version. For a full list, see the data dictionary. May be `null` if attributes were not available. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A map of product attributes, where the key is a string and the value can be any JSON value. The specific list of attributes depends on the product and version. For a full list, see the data dictionary. May be `null` if attributes were not available.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public CraReportGetResponseProduct errors(List errors) { + + this.errors = errors; + return this; + } + + public CraReportGetResponseProduct addErrorsItem(PlaidError errorsItem) { + this.errors.add(errorsItem); + return this; + } + + /** + * Product-level errors. Non-empty when this product failed to generate; empty on success. + * @return errors + **/ + @ApiModelProperty(required = true, value = "Product-level errors. Non-empty when this product failed to generate; empty on success.") + + public List getErrors() { + return errors; + } + + + public void setErrors(List errors) { + this.errors = errors; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraReportGetResponseProduct craReportGetResponseProduct = (CraReportGetResponseProduct) o; + return Objects.equals(this.product, craReportGetResponseProduct.product) && + Objects.equals(this.version, craReportGetResponseProduct.version) && + Objects.equals(this.metadata, craReportGetResponseProduct.metadata) && + Objects.equals(this.attributes, craReportGetResponseProduct.attributes) && + Objects.equals(this.errors, craReportGetResponseProduct.errors); + } + + @Override + public int hashCode() { + return Objects.hash(product, version, metadata, attributes, errors); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraReportGetResponseProduct {\n"); + sb.append(" product: ").append(toIndentedString(product)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" errors: ").append(toIndentedString(errors)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraReportScope.java b/src/main/java/com/plaid/client/model/CraReportScope.java new file mode 100644 index 0000000000..d4d4e7bb19 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraReportScope.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Determines whose items are used. `PLAID_NETWORK` (default) uses the Plaid Network view of the user's profile. `CLIENT_USER` uses only the items linked by this client. + */ +@JsonAdapter(CraReportScope.Adapter.class) +public enum CraReportScope { + + PLAID_NETWORK("PLAID_NETWORK"), + + CLIENT_USER("CLIENT_USER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraReportScope(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraReportScope fromValue(String value) { + for (CraReportScope b : CraReportScope.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraReportScope.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraReportScope enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraReportScope read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraReportScope.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraUpgradeFailedWebhook.java b/src/main/java/com/plaid/client/model/CraUpgradeFailedWebhook.java new file mode 100644 index 0000000000..737d8e067b --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraUpgradeFailedWebhook.java @@ -0,0 +1,218 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Fired when a Check Report upgrade attempt has failed + */ +@ApiModel(description = "Fired when a Check Report upgrade attempt has failed") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraUpgradeFailedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CraUpgradeFailedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CHECK_REPORT` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CHECK_REPORT`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CraUpgradeFailedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `UPGRADE_FAILED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`UPGRADE_FAILED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CraUpgradeFailedWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the user the webhook has fired for. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` corresponding to the user the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraUpgradeFailedWebhook itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public CraUpgradeFailedWebhook addItemIdsItem(String itemIdsItem) { + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * An array of `item_id`s for items that failed to be upgraded by a Check Report upgrade attempt. + * @return itemIds + **/ + @ApiModelProperty(required = true, value = "An array of `item_id`s for items that failed to be upgraded by a Check Report upgrade attempt.") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + public CraUpgradeFailedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraUpgradeFailedWebhook craUpgradeFailedWebhook = (CraUpgradeFailedWebhook) o; + return Objects.equals(this.webhookType, craUpgradeFailedWebhook.webhookType) && + Objects.equals(this.webhookCode, craUpgradeFailedWebhook.webhookCode) && + Objects.equals(this.userId, craUpgradeFailedWebhook.userId) && + Objects.equals(this.itemIds, craUpgradeFailedWebhook.itemIds) && + Objects.equals(this.environment, craUpgradeFailedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, userId, itemIds, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraUpgradeFailedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraUserCheckReportFailedWebhook.java b/src/main/java/com/plaid/client/model/CraUserCheckReportFailedWebhook.java new file mode 100644 index 0000000000..986aad8ede --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraUserCheckReportFailedWebhook.java @@ -0,0 +1,328 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CheckReportRepairableItem; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.Products; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Fired when a Check Report has failed to generate. To get more details, call `/user/items/get` and check for non-null `error` objects on the associated Items in the response. These `error` objects will contain more details on why the Item is in an error state and how to resolve it. After resolving the errors, you can try to re-generate the report. + */ +@ApiModel(description = "Fired when a Check Report has failed to generate. To get more details, call `/user/items/get` and check for non-null `error` objects on the associated Items in the response. These `error` objects will contain more details on why the Item is in an error state and how to resolve it. After resolving the errors, you can try to re-generate the report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraUserCheckReportFailedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_REPAIRABLE_ITEMS = "repairable_items"; + @SerializedName(SERIALIZED_NAME_REPAIRABLE_ITEMS) + private List repairableItems = null; + + public static final String SERIALIZED_NAME_FAILED_PRODUCTS = "failed_products"; + @SerializedName(SERIALIZED_NAME_FAILED_PRODUCTS) + private List failedProducts = null; + + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = null; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CraUserCheckReportFailedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CHECK_REPORT` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CHECK_REPORT`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CraUserCheckReportFailedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `USER_CHECK_REPORT_FAILED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`USER_CHECK_REPORT_FAILED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CraUserCheckReportFailedWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` associated with the user whose data is being requested. This is received by calling `/user/create`. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` associated with the user whose data is being requested. This is received by calling `/user/create`.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraUserCheckReportFailedWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Details on why the Check Report failed and how to resolve it. + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Details on why the Check Report failed and how to resolve it.") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public CraUserCheckReportFailedWebhook repairableItems(List repairableItems) { + + this.repairableItems = repairableItems; + return this; + } + + public CraUserCheckReportFailedWebhook addRepairableItemsItem(CheckReportRepairableItem repairableItemsItem) { + if (this.repairableItems == null) { + this.repairableItems = new ArrayList<>(); + } + this.repairableItems.add(repairableItemsItem); + return this; + } + + /** + * A list of Items that the end user can repair via Link [update mode](https://plaid.com/docs/link/update-mode). Empty when no Item is user-repairable. After repairing these Items, call `/cra/check_report/create` to regenerate the report. + * @return repairableItems + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of Items that the end user can repair via Link [update mode](https://plaid.com/docs/link/update-mode). Empty when no Item is user-repairable. After repairing these Items, call `/cra/check_report/create` to regenerate the report.") + + public List getRepairableItems() { + return repairableItems; + } + + + public void setRepairableItems(List repairableItems) { + this.repairableItems = repairableItems; + } + + + public CraUserCheckReportFailedWebhook failedProducts(List failedProducts) { + + this.failedProducts = failedProducts; + return this; + } + + public CraUserCheckReportFailedWebhook addFailedProductsItem(Products failedProductsItem) { + if (this.failedProducts == null) { + this.failedProducts = new ArrayList<>(); + } + this.failedProducts.add(failedProductsItem); + return this; + } + + /** + * Specifies a list of products that failed to generate for the report. Populated when generation was attempted and all requested products failed. Additional detail on what caused the failure can be found by calling the product /get endpoint. + * @return failedProducts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies a list of products that failed to generate for the report. Populated when generation was attempted and all requested products failed. Additional detail on what caused the failure can be found by calling the product /get endpoint.") + + public List getFailedProducts() { + return failedProducts; + } + + + public void setFailedProducts(List failedProducts) { + this.failedProducts = failedProducts; + } + + + public CraUserCheckReportFailedWebhook itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public CraUserCheckReportFailedWebhook addItemIdsItem(String itemIdsItem) { + if (this.itemIds == null) { + this.itemIds = new ArrayList<>(); + } + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * A list of `item_ids` included in the Check Report. Access to this field is in closed beta. + * @return itemIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of `item_ids` included in the Check Report. Access to this field is in closed beta.") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + public CraUserCheckReportFailedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraUserCheckReportFailedWebhook craUserCheckReportFailedWebhook = (CraUserCheckReportFailedWebhook) o; + return Objects.equals(this.webhookType, craUserCheckReportFailedWebhook.webhookType) && + Objects.equals(this.webhookCode, craUserCheckReportFailedWebhook.webhookCode) && + Objects.equals(this.userId, craUserCheckReportFailedWebhook.userId) && + Objects.equals(this.error, craUserCheckReportFailedWebhook.error) && + Objects.equals(this.repairableItems, craUserCheckReportFailedWebhook.repairableItems) && + Objects.equals(this.failedProducts, craUserCheckReportFailedWebhook.failedProducts) && + Objects.equals(this.itemIds, craUserCheckReportFailedWebhook.itemIds) && + Objects.equals(this.environment, craUserCheckReportFailedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, userId, error, repairableItems, failedProducts, itemIds, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraUserCheckReportFailedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" repairableItems: ").append(toIndentedString(repairableItems)).append("\n"); + sb.append(" failedProducts: ").append(toIndentedString(failedProducts)).append("\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraUserCheckReportReadyWebhook.java b/src/main/java/com/plaid/client/model/CraUserCheckReportReadyWebhook.java new file mode 100644 index 0000000000..c3b96fa7ac --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraUserCheckReportReadyWebhook.java @@ -0,0 +1,297 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Products; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Fired when the Check Report is ready to be retrieved. Once this webhook has fired, the report will be available to retrieve for 24 hours. + */ +@ApiModel(description = "Fired when the Check Report is ready to be retrieved. Once this webhook has fired, the report will be available to retrieve for 24 hours.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraUserCheckReportReadyWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_SUCCESSFUL_PRODUCTS = "successful_products"; + @SerializedName(SERIALIZED_NAME_SUCCESSFUL_PRODUCTS) + private List successfulProducts = null; + + public static final String SERIALIZED_NAME_FAILED_PRODUCTS = "failed_products"; + @SerializedName(SERIALIZED_NAME_FAILED_PRODUCTS) + private List failedProducts = null; + + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = null; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public CraUserCheckReportReadyWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `CHECK_REPORT` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`CHECK_REPORT`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public CraUserCheckReportReadyWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `USER_CHECK_REPORT_READY` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`USER_CHECK_REPORT_READY`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public CraUserCheckReportReadyWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` associated with the user whose data is being requested. This is received by calling `/user/create`. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` associated with the user whose data is being requested. This is received by calling `/user/create`.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CraUserCheckReportReadyWebhook successfulProducts(List successfulProducts) { + + this.successfulProducts = successfulProducts; + return this; + } + + public CraUserCheckReportReadyWebhook addSuccessfulProductsItem(Products successfulProductsItem) { + if (this.successfulProducts == null) { + this.successfulProducts = new ArrayList<>(); + } + this.successfulProducts.add(successfulProductsItem); + return this; + } + + /** + * Specifies a list of products that have successfully been generated for the report. + * @return successfulProducts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies a list of products that have successfully been generated for the report.") + + public List getSuccessfulProducts() { + return successfulProducts; + } + + + public void setSuccessfulProducts(List successfulProducts) { + this.successfulProducts = successfulProducts; + } + + + public CraUserCheckReportReadyWebhook failedProducts(List failedProducts) { + + this.failedProducts = failedProducts; + return this; + } + + public CraUserCheckReportReadyWebhook addFailedProductsItem(Products failedProductsItem) { + if (this.failedProducts == null) { + this.failedProducts = new ArrayList<>(); + } + this.failedProducts.add(failedProductsItem); + return this; + } + + /** + * Specifies a list of products that have failed to generate for the report. Additional detail on what caused the failure can be found by calling the product /get endpoint. + * @return failedProducts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies a list of products that have failed to generate for the report. Additional detail on what caused the failure can be found by calling the product /get endpoint.") + + public List getFailedProducts() { + return failedProducts; + } + + + public void setFailedProducts(List failedProducts) { + this.failedProducts = failedProducts; + } + + + public CraUserCheckReportReadyWebhook itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public CraUserCheckReportReadyWebhook addItemIdsItem(String itemIdsItem) { + if (this.itemIds == null) { + this.itemIds = new ArrayList<>(); + } + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * A list of `item_ids` included in the Check Report. Access to this field is in closed beta. + * @return itemIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of `item_ids` included in the Check Report. Access to this field is in closed beta.") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + public CraUserCheckReportReadyWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraUserCheckReportReadyWebhook craUserCheckReportReadyWebhook = (CraUserCheckReportReadyWebhook) o; + return Objects.equals(this.webhookType, craUserCheckReportReadyWebhook.webhookType) && + Objects.equals(this.webhookCode, craUserCheckReportReadyWebhook.webhookCode) && + Objects.equals(this.userId, craUserCheckReportReadyWebhook.userId) && + Objects.equals(this.successfulProducts, craUserCheckReportReadyWebhook.successfulProducts) && + Objects.equals(this.failedProducts, craUserCheckReportReadyWebhook.failedProducts) && + Objects.equals(this.itemIds, craUserCheckReportReadyWebhook.itemIds) && + Objects.equals(this.environment, craUserCheckReportReadyWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, userId, successfulProducts, failedProducts, itemIds, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraUserCheckReportReadyWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" successfulProducts: ").append(toIndentedString(successfulProducts)).append("\n"); + sb.append(" failedProducts: ").append(toIndentedString(failedProducts)).append("\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraUserTier.java b/src/main/java/com/plaid/client/model/CraUserTier.java new file mode 100644 index 0000000000..3208652a9a --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraUserTier.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The tier of the user. + */ +@JsonAdapter(CraUserTier.Adapter.class) +public enum CraUserTier { + + FREE("free"), + + PAID("paid"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraUserTier(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraUserTier fromValue(String value) { + for (CraUserTier b : CraUserTier.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraUserTier enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraUserTier read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraUserTier.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeAccount.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeAccount.java new file mode 100644 index 0000000000..cded97ac43 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeAccount.java @@ -0,0 +1,272 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.CraBankIncomeAccountMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Account information within the Home Lending Income Report. + */ +@ApiModel(description = "Account information within the Home Lending Income Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationIncomeAccount { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private CraBankIncomeAccountMetadata metadata; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + + public CraVerificationIncomeAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CraVerificationIncomeAccount mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public CraVerificationIncomeAccount metadata(CraBankIncomeAccountMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @ApiModelProperty(required = true, value = "") + + public CraBankIncomeAccountMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(CraBankIncomeAccountMetadata metadata) { + this.metadata = metadata; + } + + + public CraVerificationIncomeAccount name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the account, either assigned by the user or by the financial institution itself. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the account, either assigned by the user or by the financial institution itself.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CraVerificationIncomeAccount officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * The official name of the account as given by the financial institution. + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The official name of the account as given by the financial institution.") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public CraVerificationIncomeAccount subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public CraVerificationIncomeAccount type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationIncomeAccount craVerificationIncomeAccount = (CraVerificationIncomeAccount) o; + return Objects.equals(this.accountId, craVerificationIncomeAccount.accountId) && + Objects.equals(this.mask, craVerificationIncomeAccount.mask) && + Objects.equals(this.metadata, craVerificationIncomeAccount.metadata) && + Objects.equals(this.name, craVerificationIncomeAccount.name) && + Objects.equals(this.officialName, craVerificationIncomeAccount.officialName) && + Objects.equals(this.subtype, craVerificationIncomeAccount.subtype) && + Objects.equals(this.type, craVerificationIncomeAccount.type); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, mask, metadata, name, officialName, subtype, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationIncomeAccount {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeCategory.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeCategory.java new file mode 100644 index 0000000000..7caee7796d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeCategory.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The income category for a given stream. The streams returned in the response will be filtered based on these primary and secondary income categories. See the [Income V2 Category Taxonomy](https://plaid.com/documents/income-v2-category-taxonomy.csv) for a full list of income categories. + */ +@ApiModel(description = "The income category for a given stream. The streams returned in the response will be filtered based on these primary and secondary income categories. See the [Income V2 Category Taxonomy](https://plaid.com/documents/income-v2-category-taxonomy.csv) for a full list of income categories.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationIncomeCategory { + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + private String primary; + + public static final String SERIALIZED_NAME_SECONDARY = "secondary"; + @SerializedName(SERIALIZED_NAME_SECONDARY) + private String secondary; + + + public CraVerificationIncomeCategory primary(String primary) { + + this.primary = primary; + return this; + } + + /** + * A high level category that communicates the broad category of the stream. + * @return primary + **/ + @ApiModelProperty(required = true, value = "A high level category that communicates the broad category of the stream.") + + public String getPrimary() { + return primary; + } + + + public void setPrimary(String primary) { + this.primary = primary; + } + + + public CraVerificationIncomeCategory secondary(String secondary) { + + this.secondary = secondary; + return this; + } + + /** + * A granular category conveying the stream's intent. + * @return secondary + **/ + @ApiModelProperty(required = true, value = "A granular category conveying the stream's intent.") + + public String getSecondary() { + return secondary; + } + + + public void setSecondary(String secondary) { + this.secondary = secondary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationIncomeCategory craVerificationIncomeCategory = (CraVerificationIncomeCategory) o; + return Objects.equals(this.primary, craVerificationIncomeCategory.primary) && + Objects.equals(this.secondary, craVerificationIncomeCategory.secondary); + } + + @Override + public int hashCode() { + return Objects.hash(primary, secondary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationIncomeCategory {\n"); + sb.append(" primary: ").append(toIndentedString(primary)).append("\n"); + sb.append(" secondary: ").append(toIndentedString(secondary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeItem.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeItem.java new file mode 100644 index 0000000000..ed6e7071ea --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeItem.java @@ -0,0 +1,219 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraVerificationIncomeAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * The details and metadata for an end user's Item within the Home Lending Income Report. + */ +@ApiModel(description = "The details and metadata for an end user's Item within the Home Lending Income Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationIncomeItem { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LAST_UPDATED_TIME = "last_updated_time"; + @SerializedName(SERIALIZED_NAME_LAST_UPDATED_TIME) + private OffsetDateTime lastUpdatedTime; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + + public CraVerificationIncomeItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CraVerificationIncomeItem accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public CraVerificationIncomeItem addAccountsItem(CraVerificationIncomeAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * The Item's accounts that have bank income data. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "The Item's accounts that have bank income data.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public CraVerificationIncomeItem lastUpdatedTime(OffsetDateTime lastUpdatedTime) { + + this.lastUpdatedTime = lastUpdatedTime; + return this; + } + + /** + * The time when this Item's data was last retrieved from the financial institution. + * @return lastUpdatedTime + **/ + @ApiModelProperty(required = true, value = "The time when this Item's data was last retrieved from the financial institution.") + + public OffsetDateTime getLastUpdatedTime() { + return lastUpdatedTime; + } + + + public void setLastUpdatedTime(OffsetDateTime lastUpdatedTime) { + this.lastUpdatedTime = lastUpdatedTime; + } + + + public CraVerificationIncomeItem institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The unique identifier of the institution associated with the Item. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The unique identifier of the institution associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public CraVerificationIncomeItem institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The name of the institution associated with the Item. + * @return institutionName + **/ + @ApiModelProperty(required = true, value = "The name of the institution associated with the Item.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationIncomeItem craVerificationIncomeItem = (CraVerificationIncomeItem) o; + return Objects.equals(this.itemId, craVerificationIncomeItem.itemId) && + Objects.equals(this.accounts, craVerificationIncomeItem.accounts) && + Objects.equals(this.lastUpdatedTime, craVerificationIncomeItem.lastUpdatedTime) && + Objects.equals(this.institutionId, craVerificationIncomeItem.institutionId) && + Objects.equals(this.institutionName, craVerificationIncomeItem.institutionName); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, accounts, lastUpdatedTime, institutionId, institutionName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationIncomeItem {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" lastUpdatedTime: ").append(toIndentedString(lastUpdatedTime)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeMetrics.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeMetrics.java new file mode 100644 index 0000000000..69a9c2cbe9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeMetrics.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraVerificationModeledIncome; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Modeled income metrics for a given income stream or user summary. + */ +@ApiModel(description = "Modeled income metrics for a given income stream or user summary.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationIncomeMetrics { + public static final String SERIALIZED_NAME_CURRENT = "current"; + @SerializedName(SERIALIZED_NAME_CURRENT) + private CraVerificationModeledIncome current; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CraVerificationIncomeMetrics current(CraVerificationModeledIncome current) { + + this.current = current; + return this; + } + + /** + * Get current + * @return current + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public CraVerificationModeledIncome getCurrent() { + return current; + } + + + public void setCurrent(CraVerificationModeledIncome current) { + this.current = current; + } + + + public CraVerificationIncomeMetrics isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CraVerificationIncomeMetrics unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationIncomeMetrics craVerificationIncomeMetrics = (CraVerificationIncomeMetrics) o; + return Objects.equals(this.current, craVerificationIncomeMetrics.current) && + Objects.equals(this.isoCurrencyCode, craVerificationIncomeMetrics.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, craVerificationIncomeMetrics.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(current, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationIncomeMetrics {\n"); + sb.append(" current: ").append(toIndentedString(current)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeNextPayment.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeNextPayment.java new file mode 100644 index 0000000000..8c0122fdc8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeNextPayment.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Metadata of the income stream's next payment. + */ +@ApiModel(description = "Metadata of the income stream's next payment.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationIncomeNextPayment { + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + + public CraVerificationIncomeNextPayment date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The expected date of the income stream's next payment. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return date + **/ + @ApiModelProperty(required = true, value = "The expected date of the income stream's next payment. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationIncomeNextPayment craVerificationIncomeNextPayment = (CraVerificationIncomeNextPayment) o; + return Objects.equals(this.date, craVerificationIncomeNextPayment.date); + } + + @Override + public int hashCode() { + return Objects.hash(date); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationIncomeNextPayment {\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomePayFrequency.java b/src/main/java/com/plaid/client/model/CraVerificationIncomePayFrequency.java new file mode 100644 index 0000000000..eb14e64a77 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomePayFrequency.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The income pay frequency. `WEEKLY`: Weekly pay frequency. `BIWEEKLY`: Biweekly pay frequency. `SEMI_MONTHLY`: Semi-monthly pay frequency. `MONTHLY`: Monthly pay frequency. `DAILY`: Daily pay frequency. `UNKNOWN`: Pay frequency is unknown. + */ +@JsonAdapter(CraVerificationIncomePayFrequency.Adapter.class) +public enum CraVerificationIncomePayFrequency { + + WEEKLY("WEEKLY"), + + BIWEEKLY("BIWEEKLY"), + + SEMI_MONTHLY("SEMI_MONTHLY"), + + MONTHLY("MONTHLY"), + + DAILY("DAILY"), + + UNKNOWN("UNKNOWN"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraVerificationIncomePayFrequency(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraVerificationIncomePayFrequency fromValue(String value) { + for (CraVerificationIncomePayFrequency b : CraVerificationIncomePayFrequency.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraVerificationIncomePayFrequency.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraVerificationIncomePayFrequency enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraVerificationIncomePayFrequency read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraVerificationIncomePayFrequency.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeProvider.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeProvider.java new file mode 100644 index 0000000000..a2c6b77af8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeProvider.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The object containing data about the income provider. + */ +@ApiModel(description = "The object containing data about the income provider.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationIncomeProvider { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_IS_NORMALIZED = "is_normalized"; + @SerializedName(SERIALIZED_NAME_IS_NORMALIZED) + private Boolean isNormalized; + + + public CraVerificationIncomeProvider name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the income provider. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the income provider.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CraVerificationIncomeProvider isNormalized(Boolean isNormalized) { + + this.isNormalized = isNormalized; + return this; + } + + /** + * Indicates whether the income provider name is normalized by comparing it against a canonical set of known providers. + * @return isNormalized + **/ + @ApiModelProperty(required = true, value = "Indicates whether the income provider name is normalized by comparing it against a canonical set of known providers.") + + public Boolean getIsNormalized() { + return isNormalized; + } + + + public void setIsNormalized(Boolean isNormalized) { + this.isNormalized = isNormalized; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationIncomeProvider craVerificationIncomeProvider = (CraVerificationIncomeProvider) o; + return Objects.equals(this.name, craVerificationIncomeProvider.name) && + Objects.equals(this.isNormalized, craVerificationIncomeProvider.isNormalized); + } + + @Override + public int hashCode() { + return Objects.hash(name, isNormalized); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationIncomeProvider {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" isNormalized: ").append(toIndentedString(isNormalized)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeReport.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeReport.java new file mode 100644 index 0000000000..dc2c055226 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeReport.java @@ -0,0 +1,227 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraVerificationIncomeItem; +import com.plaid.client.model.CraVerificationIncomeStream; +import com.plaid.client.model.CraVerificationIncomeUserSummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing an Income Report within the Home Lending Report. + */ +@ApiModel(description = "An object representing an Income Report within the Home Lending Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationIncomeReport { + public static final String SERIALIZED_NAME_GENERATED_TIME = "generated_time"; + @SerializedName(SERIALIZED_NAME_GENERATED_TIME) + private OffsetDateTime generatedTime; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + public static final String SERIALIZED_NAME_USER_SUMMARY = "user_summary"; + @SerializedName(SERIALIZED_NAME_USER_SUMMARY) + private CraVerificationIncomeUserSummary userSummary; + + public static final String SERIALIZED_NAME_INCOME_STREAMS = "income_streams"; + @SerializedName(SERIALIZED_NAME_INCOME_STREAMS) + private List incomeStreams = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + + public CraVerificationIncomeReport generatedTime(OffsetDateTime generatedTime) { + + this.generatedTime = generatedTime; + return this; + } + + /** + * The time when the Home Lending Income Report was generated. + * @return generatedTime + **/ + @ApiModelProperty(required = true, value = "The time when the Home Lending Income Report was generated.") + + public OffsetDateTime getGeneratedTime() { + return generatedTime; + } + + + public void setGeneratedTime(OffsetDateTime generatedTime) { + this.generatedTime = generatedTime; + } + + + public CraVerificationIncomeReport daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days requested by the customer for the Home Lending Income Report. + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The number of days requested by the customer for the Home Lending Income Report.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + public CraVerificationIncomeReport userSummary(CraVerificationIncomeUserSummary userSummary) { + + this.userSummary = userSummary; + return this; + } + + /** + * Get userSummary + * @return userSummary + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public CraVerificationIncomeUserSummary getUserSummary() { + return userSummary; + } + + + public void setUserSummary(CraVerificationIncomeUserSummary userSummary) { + this.userSummary = userSummary; + } + + + public CraVerificationIncomeReport incomeStreams(List incomeStreams) { + + this.incomeStreams = incomeStreams; + return this; + } + + public CraVerificationIncomeReport addIncomeStreamsItem(CraVerificationIncomeStream incomeStreamsItem) { + this.incomeStreams.add(incomeStreamsItem); + return this; + } + + /** + * The list of income streams for this user. + * @return incomeStreams + **/ + @ApiModelProperty(required = true, value = "The list of income streams for this user.") + + public List getIncomeStreams() { + return incomeStreams; + } + + + public void setIncomeStreams(List incomeStreams) { + this.incomeStreams = incomeStreams; + } + + + public CraVerificationIncomeReport items(List items) { + + this.items = items; + return this; + } + + public CraVerificationIncomeReport addItemsItem(CraVerificationIncomeItem itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * The list of Items in the report along with the associated metadata about the Item. + * @return items + **/ + @ApiModelProperty(required = true, value = "The list of Items in the report along with the associated metadata about the Item.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationIncomeReport craVerificationIncomeReport = (CraVerificationIncomeReport) o; + return Objects.equals(this.generatedTime, craVerificationIncomeReport.generatedTime) && + Objects.equals(this.daysRequested, craVerificationIncomeReport.daysRequested) && + Objects.equals(this.userSummary, craVerificationIncomeReport.userSummary) && + Objects.equals(this.incomeStreams, craVerificationIncomeReport.incomeStreams) && + Objects.equals(this.items, craVerificationIncomeReport.items); + } + + @Override + public int hashCode() { + return Objects.hash(generatedTime, daysRequested, userSummary, incomeStreams, items); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationIncomeReport {\n"); + sb.append(" generatedTime: ").append(toIndentedString(generatedTime)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" userSummary: ").append(toIndentedString(userSummary)).append("\n"); + sb.append(" incomeStreams: ").append(toIndentedString(incomeStreams)).append("\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeStatus.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeStatus.java new file mode 100644 index 0000000000..b6dcf8fab7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the income source. `ACTIVE`: The income source is active. `INACTIVE`: The income source is inactive. `UNKNOWN`: The income source status is unknown. + */ +@JsonAdapter(CraVerificationIncomeStatus.Adapter.class) +public enum CraVerificationIncomeStatus { + + ACTIVE("ACTIVE"), + + INACTIVE("INACTIVE"), + + UNKNOWN("UNKNOWN"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CraVerificationIncomeStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CraVerificationIncomeStatus fromValue(String value) { + for (CraVerificationIncomeStatus b : CraVerificationIncomeStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CraVerificationIncomeStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CraVerificationIncomeStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CraVerificationIncomeStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CraVerificationIncomeStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeStream.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeStream.java new file mode 100644 index 0000000000..b9fe1a7870 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeStream.java @@ -0,0 +1,277 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraVerificationIncomeMetrics; +import com.plaid.client.model.CraVerificationIncomeStreamInsights; +import com.plaid.client.model.CraVerificationIncomeTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * An income stream detected for the user. + */ +@ApiModel(description = "An income stream detected for the user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationIncomeStream { + public static final String SERIALIZED_NAME_INCOME_STREAM_ID = "income_stream_id"; + @SerializedName(SERIALIZED_NAME_INCOME_STREAM_ID) + private String incomeStreamId; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_INSIGHTS = "insights"; + @SerializedName(SERIALIZED_NAME_INSIGHTS) + private CraVerificationIncomeStreamInsights insights; + + public static final String SERIALIZED_NAME_INCOME_METRICS = "income_metrics"; + @SerializedName(SERIALIZED_NAME_INCOME_METRICS) + private CraVerificationIncomeMetrics incomeMetrics; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + + public CraVerificationIncomeStream incomeStreamId(String incomeStreamId) { + + this.incomeStreamId = incomeStreamId; + return this; + } + + /** + * A unique identifier for an income stream. If the report is regenerated and a new `report_id` is created, the new report will have a new set of `income_stream_id`s. + * @return incomeStreamId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for an income stream. If the report is regenerated and a new `report_id` is created, the new report will have a new set of `income_stream_id`s.") + + public String getIncomeStreamId() { + return incomeStreamId; + } + + + public void setIncomeStreamId(String incomeStreamId) { + this.incomeStreamId = incomeStreamId; + } + + + public CraVerificationIncomeStream startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * Minimum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @ApiModelProperty(required = true, value = "Minimum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public CraVerificationIncomeStream endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * Maximum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @ApiModelProperty(required = true, value = "Maximum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public CraVerificationIncomeStream description(String description) { + + this.description = description; + return this; + } + + /** + * The most common name or original description for the underlying income transactions. + * @return description + **/ + @ApiModelProperty(required = true, value = "The most common name or original description for the underlying income transactions.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public CraVerificationIncomeStream insights(CraVerificationIncomeStreamInsights insights) { + + this.insights = insights; + return this; + } + + /** + * Get insights + * @return insights + **/ + @ApiModelProperty(required = true, value = "") + + public CraVerificationIncomeStreamInsights getInsights() { + return insights; + } + + + public void setInsights(CraVerificationIncomeStreamInsights insights) { + this.insights = insights; + } + + + public CraVerificationIncomeStream incomeMetrics(CraVerificationIncomeMetrics incomeMetrics) { + + this.incomeMetrics = incomeMetrics; + return this; + } + + /** + * Get incomeMetrics + * @return incomeMetrics + **/ + @ApiModelProperty(required = true, value = "") + + public CraVerificationIncomeMetrics getIncomeMetrics() { + return incomeMetrics; + } + + + public void setIncomeMetrics(CraVerificationIncomeMetrics incomeMetrics) { + this.incomeMetrics = incomeMetrics; + } + + + public CraVerificationIncomeStream transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public CraVerificationIncomeStream addTransactionsItem(CraVerificationIncomeTransaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * The transactions data for the income stream ordered by ascending date. + * @return transactions + **/ + @ApiModelProperty(required = true, value = "The transactions data for the income stream ordered by ascending date.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationIncomeStream craVerificationIncomeStream = (CraVerificationIncomeStream) o; + return Objects.equals(this.incomeStreamId, craVerificationIncomeStream.incomeStreamId) && + Objects.equals(this.startDate, craVerificationIncomeStream.startDate) && + Objects.equals(this.endDate, craVerificationIncomeStream.endDate) && + Objects.equals(this.description, craVerificationIncomeStream.description) && + Objects.equals(this.insights, craVerificationIncomeStream.insights) && + Objects.equals(this.incomeMetrics, craVerificationIncomeStream.incomeMetrics) && + Objects.equals(this.transactions, craVerificationIncomeStream.transactions); + } + + @Override + public int hashCode() { + return Objects.hash(incomeStreamId, startDate, endDate, description, insights, incomeMetrics, transactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationIncomeStream {\n"); + sb.append(" incomeStreamId: ").append(toIndentedString(incomeStreamId)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" insights: ").append(toIndentedString(insights)).append("\n"); + sb.append(" incomeMetrics: ").append(toIndentedString(incomeMetrics)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeStreamInsights.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeStreamInsights.java new file mode 100644 index 0000000000..148f3373cc --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeStreamInsights.java @@ -0,0 +1,217 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraVerificationIncomeCategory; +import com.plaid.client.model.CraVerificationIncomeNextPayment; +import com.plaid.client.model.CraVerificationIncomePayFrequency; +import com.plaid.client.model.CraVerificationIncomeProvider; +import com.plaid.client.model.CraVerificationIncomeStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Modeled insights for a given income stream. + */ +@ApiModel(description = "Modeled insights for a given income stream.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationIncomeStreamInsights { + public static final String SERIALIZED_NAME_INCOME_CATEGORY = "income_category"; + @SerializedName(SERIALIZED_NAME_INCOME_CATEGORY) + private CraVerificationIncomeCategory incomeCategory; + + public static final String SERIALIZED_NAME_PAY_FREQUENCY = "pay_frequency"; + @SerializedName(SERIALIZED_NAME_PAY_FREQUENCY) + private CraVerificationIncomePayFrequency payFrequency; + + public static final String SERIALIZED_NAME_INCOME_PROVIDER = "income_provider"; + @SerializedName(SERIALIZED_NAME_INCOME_PROVIDER) + private CraVerificationIncomeProvider incomeProvider; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private CraVerificationIncomeStatus status; + + public static final String SERIALIZED_NAME_NEXT_PAYMENT = "next_payment"; + @SerializedName(SERIALIZED_NAME_NEXT_PAYMENT) + private CraVerificationIncomeNextPayment nextPayment; + + + public CraVerificationIncomeStreamInsights incomeCategory(CraVerificationIncomeCategory incomeCategory) { + + this.incomeCategory = incomeCategory; + return this; + } + + /** + * Get incomeCategory + * @return incomeCategory + **/ + @ApiModelProperty(required = true, value = "") + + public CraVerificationIncomeCategory getIncomeCategory() { + return incomeCategory; + } + + + public void setIncomeCategory(CraVerificationIncomeCategory incomeCategory) { + this.incomeCategory = incomeCategory; + } + + + public CraVerificationIncomeStreamInsights payFrequency(CraVerificationIncomePayFrequency payFrequency) { + + this.payFrequency = payFrequency; + return this; + } + + /** + * Get payFrequency + * @return payFrequency + **/ + @ApiModelProperty(required = true, value = "") + + public CraVerificationIncomePayFrequency getPayFrequency() { + return payFrequency; + } + + + public void setPayFrequency(CraVerificationIncomePayFrequency payFrequency) { + this.payFrequency = payFrequency; + } + + + public CraVerificationIncomeStreamInsights incomeProvider(CraVerificationIncomeProvider incomeProvider) { + + this.incomeProvider = incomeProvider; + return this; + } + + /** + * Get incomeProvider + * @return incomeProvider + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public CraVerificationIncomeProvider getIncomeProvider() { + return incomeProvider; + } + + + public void setIncomeProvider(CraVerificationIncomeProvider incomeProvider) { + this.incomeProvider = incomeProvider; + } + + + public CraVerificationIncomeStreamInsights status(CraVerificationIncomeStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public CraVerificationIncomeStatus getStatus() { + return status; + } + + + public void setStatus(CraVerificationIncomeStatus status) { + this.status = status; + } + + + public CraVerificationIncomeStreamInsights nextPayment(CraVerificationIncomeNextPayment nextPayment) { + + this.nextPayment = nextPayment; + return this; + } + + /** + * Get nextPayment + * @return nextPayment + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public CraVerificationIncomeNextPayment getNextPayment() { + return nextPayment; + } + + + public void setNextPayment(CraVerificationIncomeNextPayment nextPayment) { + this.nextPayment = nextPayment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationIncomeStreamInsights craVerificationIncomeStreamInsights = (CraVerificationIncomeStreamInsights) o; + return Objects.equals(this.incomeCategory, craVerificationIncomeStreamInsights.incomeCategory) && + Objects.equals(this.payFrequency, craVerificationIncomeStreamInsights.payFrequency) && + Objects.equals(this.incomeProvider, craVerificationIncomeStreamInsights.incomeProvider) && + Objects.equals(this.status, craVerificationIncomeStreamInsights.status) && + Objects.equals(this.nextPayment, craVerificationIncomeStreamInsights.nextPayment); + } + + @Override + public int hashCode() { + return Objects.hash(incomeCategory, payFrequency, incomeProvider, status, nextPayment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationIncomeStreamInsights {\n"); + sb.append(" incomeCategory: ").append(toIndentedString(incomeCategory)).append("\n"); + sb.append(" payFrequency: ").append(toIndentedString(payFrequency)).append("\n"); + sb.append(" incomeProvider: ").append(toIndentedString(incomeProvider)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" nextPayment: ").append(toIndentedString(nextPayment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeTransaction.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeTransaction.java new file mode 100644 index 0000000000..9ba6ac42c0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeTransaction.java @@ -0,0 +1,326 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraVerificationIncomeTransactionOutlier; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * The transaction data for an income stream. + */ +@ApiModel(description = "The transaction data for an income stream.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationIncomeTransaction { + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_ORIGINAL_DESCRIPTION = "original_description"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_DESCRIPTION) + private String originalDescription; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_OUTLIER = "outlier"; + @SerializedName(SERIALIZED_NAME_OUTLIER) + private CraVerificationIncomeTransactionOutlier outlier; + + + public CraVerificationIncomeTransaction transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive. + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public CraVerificationIncomeTransaction itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CraVerificationIncomeTransaction accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CraVerificationIncomeTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The settled value of the transaction, denominated in the transaction's currency as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The settled value of the transaction, denominated in the transaction's currency as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CraVerificationIncomeTransaction date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format (YYYY-MM-DD). + * @return date + **/ + @ApiModelProperty(required = true, value = "For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public CraVerificationIncomeTransaction originalDescription(String originalDescription) { + + this.originalDescription = originalDescription; + return this; + } + + /** + * The string returned by the financial institution to describe the transaction. + * @return originalDescription + **/ + @ApiModelProperty(required = true, value = "The string returned by the financial institution to describe the transaction.") + + public String getOriginalDescription() { + return originalDescription; + } + + + public void setOriginalDescription(String originalDescription) { + this.originalDescription = originalDescription; + } + + + public CraVerificationIncomeTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CraVerificationIncomeTransaction unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public CraVerificationIncomeTransaction outlier(CraVerificationIncomeTransactionOutlier outlier) { + + this.outlier = outlier; + return this; + } + + /** + * Get outlier + * @return outlier + **/ + @ApiModelProperty(required = true, value = "") + + public CraVerificationIncomeTransactionOutlier getOutlier() { + return outlier; + } + + + public void setOutlier(CraVerificationIncomeTransactionOutlier outlier) { + this.outlier = outlier; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationIncomeTransaction craVerificationIncomeTransaction = (CraVerificationIncomeTransaction) o; + return Objects.equals(this.transactionId, craVerificationIncomeTransaction.transactionId) && + Objects.equals(this.itemId, craVerificationIncomeTransaction.itemId) && + Objects.equals(this.accountId, craVerificationIncomeTransaction.accountId) && + Objects.equals(this.amount, craVerificationIncomeTransaction.amount) && + Objects.equals(this.date, craVerificationIncomeTransaction.date) && + Objects.equals(this.originalDescription, craVerificationIncomeTransaction.originalDescription) && + Objects.equals(this.isoCurrencyCode, craVerificationIncomeTransaction.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, craVerificationIncomeTransaction.unofficialCurrencyCode) && + Objects.equals(this.outlier, craVerificationIncomeTransaction.outlier); + } + + @Override + public int hashCode() { + return Objects.hash(transactionId, itemId, accountId, amount, date, originalDescription, isoCurrencyCode, unofficialCurrencyCode, outlier); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationIncomeTransaction {\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" originalDescription: ").append(toIndentedString(originalDescription)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" outlier: ").append(toIndentedString(outlier)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeTransactionOutlier.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeTransactionOutlier.java new file mode 100644 index 0000000000..108f28ab9f --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeTransactionOutlier.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Metadata on whether this income transaction is an outlier. + */ +@ApiModel(description = "Metadata on whether this income transaction is an outlier.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationIncomeTransactionOutlier { + public static final String SERIALIZED_NAME_IS_OUTLIER = "is_outlier"; + @SerializedName(SERIALIZED_NAME_IS_OUTLIER) + private Boolean isOutlier; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + + public CraVerificationIncomeTransactionOutlier isOutlier(Boolean isOutlier) { + + this.isOutlier = isOutlier; + return this; + } + + /** + * Indicates whether an income transaction amount is unusually high compared to the amounts for that stream. + * @return isOutlier + **/ + @ApiModelProperty(required = true, value = "Indicates whether an income transaction amount is unusually high compared to the amounts for that stream.") + + public Boolean getIsOutlier() { + return isOutlier; + } + + + public void setIsOutlier(Boolean isOutlier) { + this.isOutlier = isOutlier; + } + + + public CraVerificationIncomeTransactionOutlier amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The amount that the transaction differs from the stream average transaction amount. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount that the transaction differs from the stream average transaction amount.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationIncomeTransactionOutlier craVerificationIncomeTransactionOutlier = (CraVerificationIncomeTransactionOutlier) o; + return Objects.equals(this.isOutlier, craVerificationIncomeTransactionOutlier.isOutlier) && + Objects.equals(this.amount, craVerificationIncomeTransactionOutlier.amount); + } + + @Override + public int hashCode() { + return Objects.hash(isOutlier, amount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationIncomeTransactionOutlier {\n"); + sb.append(" isOutlier: ").append(toIndentedString(isOutlier)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeUserSummary.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeUserSummary.java new file mode 100644 index 0000000000..373f0c23e2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeUserSummary.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraVerificationIncomeMetrics; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Aggregated summary of all income streams for this user. + */ +@ApiModel(description = "Aggregated summary of all income streams for this user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationIncomeUserSummary { + public static final String SERIALIZED_NAME_INCOME_METRICS = "income_metrics"; + @SerializedName(SERIALIZED_NAME_INCOME_METRICS) + private List incomeMetrics = new ArrayList<>(); + + + public CraVerificationIncomeUserSummary incomeMetrics(List incomeMetrics) { + + this.incomeMetrics = incomeMetrics; + return this; + } + + public CraVerificationIncomeUserSummary addIncomeMetricsItem(CraVerificationIncomeMetrics incomeMetricsItem) { + this.incomeMetrics.add(incomeMetricsItem); + return this; + } + + /** + * List of a user's aggregated income metrics for each currency. + * @return incomeMetrics + **/ + @ApiModelProperty(required = true, value = "List of a user's aggregated income metrics for each currency.") + + public List getIncomeMetrics() { + return incomeMetrics; + } + + + public void setIncomeMetrics(List incomeMetrics) { + this.incomeMetrics = incomeMetrics; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationIncomeUserSummary craVerificationIncomeUserSummary = (CraVerificationIncomeUserSummary) o; + return Objects.equals(this.incomeMetrics, craVerificationIncomeUserSummary.incomeMetrics); + } + + @Override + public int hashCode() { + return Objects.hash(incomeMetrics); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationIncomeUserSummary {\n"); + sb.append(" incomeMetrics: ").append(toIndentedString(incomeMetrics)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationIncomeValues.java b/src/main/java/com/plaid/client/model/CraVerificationIncomeValues.java new file mode 100644 index 0000000000..d03f278ac9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationIncomeValues.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Modeled income values for a given time period. + */ +@ApiModel(description = "Modeled income values for a given time period.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationIncomeValues { + public static final String SERIALIZED_NAME_GROSS_INCOME = "gross_income"; + @SerializedName(SERIALIZED_NAME_GROSS_INCOME) + private Double grossIncome; + + public static final String SERIALIZED_NAME_NET_INCOME = "net_income"; + @SerializedName(SERIALIZED_NAME_NET_INCOME) + private Double netIncome; + + + public CraVerificationIncomeValues grossIncome(Double grossIncome) { + + this.grossIncome = grossIncome; + return this; + } + + /** + * Gross Income modeled from trends of observed transactions. + * @return grossIncome + **/ + @ApiModelProperty(required = true, value = "Gross Income modeled from trends of observed transactions.") + + public Double getGrossIncome() { + return grossIncome; + } + + + public void setGrossIncome(Double grossIncome) { + this.grossIncome = grossIncome; + } + + + public CraVerificationIncomeValues netIncome(Double netIncome) { + + this.netIncome = netIncome; + return this; + } + + /** + * Net Income estimated from observed transactions. + * @return netIncome + **/ + @ApiModelProperty(required = true, value = "Net Income estimated from observed transactions.") + + public Double getNetIncome() { + return netIncome; + } + + + public void setNetIncome(Double netIncome) { + this.netIncome = netIncome; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationIncomeValues craVerificationIncomeValues = (CraVerificationIncomeValues) o; + return Objects.equals(this.grossIncome, craVerificationIncomeValues.grossIncome) && + Objects.equals(this.netIncome, craVerificationIncomeValues.netIncome); + } + + @Override + public int hashCode() { + return Objects.hash(grossIncome, netIncome); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationIncomeValues {\n"); + sb.append(" grossIncome: ").append(toIndentedString(grossIncome)).append("\n"); + sb.append(" netIncome: ").append(toIndentedString(netIncome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationModeledIncome.java b/src/main/java/com/plaid/client/model/CraVerificationModeledIncome.java new file mode 100644 index 0000000000..42712ab992 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationModeledIncome.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraVerificationIncomeValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Modeled estimate of current income based on recently observed income transactions. + */ +@ApiModel(description = "Modeled estimate of current income based on recently observed income transactions.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationModeledIncome { + public static final String SERIALIZED_NAME_MONTHLY = "monthly"; + @SerializedName(SERIALIZED_NAME_MONTHLY) + private CraVerificationIncomeValues monthly; + + public static final String SERIALIZED_NAME_ANNUAL = "annual"; + @SerializedName(SERIALIZED_NAME_ANNUAL) + private CraVerificationIncomeValues annual; + + + public CraVerificationModeledIncome monthly(CraVerificationIncomeValues monthly) { + + this.monthly = monthly; + return this; + } + + /** + * Get monthly + * @return monthly + **/ + @ApiModelProperty(required = true, value = "") + + public CraVerificationIncomeValues getMonthly() { + return monthly; + } + + + public void setMonthly(CraVerificationIncomeValues monthly) { + this.monthly = monthly; + } + + + public CraVerificationModeledIncome annual(CraVerificationIncomeValues annual) { + + this.annual = annual; + return this; + } + + /** + * Get annual + * @return annual + **/ + @ApiModelProperty(required = true, value = "") + + public CraVerificationIncomeValues getAnnual() { + return annual; + } + + + public void setAnnual(CraVerificationIncomeValues annual) { + this.annual = annual; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationModeledIncome craVerificationModeledIncome = (CraVerificationModeledIncome) o; + return Objects.equals(this.monthly, craVerificationModeledIncome.monthly) && + Objects.equals(this.annual, craVerificationModeledIncome.annual); + } + + @Override + public int hashCode() { + return Objects.hash(monthly, annual); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationModeledIncome {\n"); + sb.append(" monthly: ").append(toIndentedString(monthly)).append("\n"); + sb.append(" annual: ").append(toIndentedString(annual)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVerificationReport.java b/src/main/java/com/plaid/client/model/CraVerificationReport.java new file mode 100644 index 0000000000..dbf3867871 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVerificationReport.java @@ -0,0 +1,246 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraEmploymentRefreshReport; +import com.plaid.client.model.CraVerificationIncomeReport; +import com.plaid.client.model.CraVoaReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Contains data for the CRA Home Lending Report. + */ +@ApiModel(description = "Contains data for the CRA Home Lending Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVerificationReport { + public static final String SERIALIZED_NAME_REPORT_ID = "report_id"; + @SerializedName(SERIALIZED_NAME_REPORT_ID) + private String reportId; + + public static final String SERIALIZED_NAME_GSE_REFERENCE_ID = "gse_reference_id"; + @SerializedName(SERIALIZED_NAME_GSE_REFERENCE_ID) + private String gseReferenceId; + + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + public static final String SERIALIZED_NAME_VOA = "voa"; + @SerializedName(SERIALIZED_NAME_VOA) + private CraVoaReport voa; + + public static final String SERIALIZED_NAME_EMPLOYMENT_REFRESH = "employment_refresh"; + @SerializedName(SERIALIZED_NAME_EMPLOYMENT_REFRESH) + private CraEmploymentRefreshReport employmentRefresh; + + public static final String SERIALIZED_NAME_INCOME = "income"; + @SerializedName(SERIALIZED_NAME_INCOME) + private CraVerificationIncomeReport income; + + + public CraVerificationReport reportId(String reportId) { + + this.reportId = reportId; + return this; + } + + /** + * The unique identifier associated with the Home Lending Report object. This ID will be the same as the Base Report ID. + * @return reportId + **/ + @ApiModelProperty(required = true, value = "The unique identifier associated with the Home Lending Report object. This ID will be the same as the Base Report ID.") + + public String getReportId() { + return reportId; + } + + + public void setReportId(String reportId) { + this.reportId = reportId; + } + + + public CraVerificationReport gseReferenceId(String gseReferenceId) { + + this.gseReferenceId = gseReferenceId; + return this; + } + + /** + * A unique token that can be shared with GSEs in order to provide them access to the report. This is automatically created during report generation when GSE options are specified. + * @return gseReferenceId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique token that can be shared with GSEs in order to provide them access to the report. This is automatically created during report generation when GSE options are specified.") + + public String getGseReferenceId() { + return gseReferenceId; + } + + + public void setGseReferenceId(String gseReferenceId) { + this.gseReferenceId = gseReferenceId; + } + + + public CraVerificationReport clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * Client-generated identifier, which can be used by lenders to track loan applications. + * @return clientReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client-generated identifier, which can be used by lenders to track loan applications.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + public CraVerificationReport voa(CraVoaReport voa) { + + this.voa = voa; + return this; + } + + /** + * Get voa + * @return voa + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraVoaReport getVoa() { + return voa; + } + + + public void setVoa(CraVoaReport voa) { + this.voa = voa; + } + + + public CraVerificationReport employmentRefresh(CraEmploymentRefreshReport employmentRefresh) { + + this.employmentRefresh = employmentRefresh; + return this; + } + + /** + * Get employmentRefresh + * @return employmentRefresh + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraEmploymentRefreshReport getEmploymentRefresh() { + return employmentRefresh; + } + + + public void setEmploymentRefresh(CraEmploymentRefreshReport employmentRefresh) { + this.employmentRefresh = employmentRefresh; + } + + + public CraVerificationReport income(CraVerificationIncomeReport income) { + + this.income = income; + return this; + } + + /** + * Get income + * @return income + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraVerificationIncomeReport getIncome() { + return income; + } + + + public void setIncome(CraVerificationIncomeReport income) { + this.income = income; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVerificationReport craVerificationReport = (CraVerificationReport) o; + return Objects.equals(this.reportId, craVerificationReport.reportId) && + Objects.equals(this.gseReferenceId, craVerificationReport.gseReferenceId) && + Objects.equals(this.clientReportId, craVerificationReport.clientReportId) && + Objects.equals(this.voa, craVerificationReport.voa) && + Objects.equals(this.employmentRefresh, craVerificationReport.employmentRefresh) && + Objects.equals(this.income, craVerificationReport.income); + } + + @Override + public int hashCode() { + return Objects.hash(reportId, gseReferenceId, clientReportId, voa, employmentRefresh, income); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVerificationReport {\n"); + sb.append(" reportId: ").append(toIndentedString(reportId)).append("\n"); + sb.append(" gseReferenceId: ").append(toIndentedString(gseReferenceId)).append("\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append(" voa: ").append(toIndentedString(voa)).append("\n"); + sb.append(" employmentRefresh: ").append(toIndentedString(employmentRefresh)).append("\n"); + sb.append(" income: ").append(toIndentedString(income)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVoaReport.java b/src/main/java/com/plaid/client/model/CraVoaReport.java new file mode 100644 index 0000000000..55301c1fbd --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVoaReport.java @@ -0,0 +1,193 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraVoaReportAttributes; +import com.plaid.client.model.CraVoaReportItem; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing a VOA report. + */ +@ApiModel(description = "An object representing a VOA report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVoaReport { + public static final String SERIALIZED_NAME_GENERATED_TIME = "generated_time"; + @SerializedName(SERIALIZED_NAME_GENERATED_TIME) + private OffsetDateTime generatedTime; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Double daysRequested; + + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private CraVoaReportAttributes attributes; + + + public CraVoaReport generatedTime(OffsetDateTime generatedTime) { + + this.generatedTime = generatedTime; + return this; + } + + /** + * The date and time when the VOA Report was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\"). + * @return generatedTime + **/ + @ApiModelProperty(required = true, value = "The date and time when the VOA Report was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\").") + + public OffsetDateTime getGeneratedTime() { + return generatedTime; + } + + + public void setGeneratedTime(OffsetDateTime generatedTime) { + this.generatedTime = generatedTime; + } + + + public CraVoaReport daysRequested(Double daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days of transaction history that the VOA report covers. + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The number of days of transaction history that the VOA report covers.") + + public Double getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Double daysRequested) { + this.daysRequested = daysRequested; + } + + + public CraVoaReport items(List items) { + + this.items = items; + return this; + } + + public CraVoaReport addItemsItem(CraVoaReportItem itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * Data returned by Plaid about each of the Items included in the Base Report. + * @return items + **/ + @ApiModelProperty(required = true, value = "Data returned by Plaid about each of the Items included in the Base Report.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + public CraVoaReport attributes(CraVoaReportAttributes attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + **/ + @ApiModelProperty(required = true, value = "") + + public CraVoaReportAttributes getAttributes() { + return attributes; + } + + + public void setAttributes(CraVoaReportAttributes attributes) { + this.attributes = attributes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVoaReport craVoaReport = (CraVoaReport) o; + return Objects.equals(this.generatedTime, craVoaReport.generatedTime) && + Objects.equals(this.daysRequested, craVoaReport.daysRequested) && + Objects.equals(this.items, craVoaReport.items) && + Objects.equals(this.attributes, craVoaReport.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(generatedTime, daysRequested, items, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVoaReport {\n"); + sb.append(" generatedTime: ").append(toIndentedString(generatedTime)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVoaReportAccount.java b/src/main/java/com/plaid/client/model/CraVoaReportAccount.java new file mode 100644 index 0000000000..608ac04d67 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVoaReportAccount.java @@ -0,0 +1,460 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.BaseReportInvestments; +import com.plaid.client.model.ConsumerDispute; +import com.plaid.client.model.CraVoaReportAccountBalances; +import com.plaid.client.model.CraVoaReportTransactionsInsights; +import com.plaid.client.model.Owner; +import com.plaid.client.model.OwnershipType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +/** + * VOA Report information about an account. + */ +@ApiModel(description = "VOA Report information about an account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVoaReportAccount { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_BALANCES = "balances"; + @SerializedName(SERIALIZED_NAME_BALANCES) + private CraVoaReportAccountBalances balances; + + public static final String SERIALIZED_NAME_CONSUMER_DISPUTES = "consumer_disputes"; + @SerializedName(SERIALIZED_NAME_CONSUMER_DISPUTES) + private List consumerDisputes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + public static final String SERIALIZED_NAME_DAYS_AVAILABLE = "days_available"; + @SerializedName(SERIALIZED_NAME_DAYS_AVAILABLE) + private Double daysAvailable; + + public static final String SERIALIZED_NAME_TRANSACTIONS_INSIGHTS = "transactions_insights"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_INSIGHTS) + private CraVoaReportTransactionsInsights transactionsInsights; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OWNERSHIP_TYPE = "ownership_type"; + @SerializedName(SERIALIZED_NAME_OWNERSHIP_TYPE) + private OwnershipType ownershipType; + + public static final String SERIALIZED_NAME_INVESTMENTS = "investments"; + @SerializedName(SERIALIZED_NAME_INVESTMENTS) + private BaseReportInvestments investments; + + + public CraVoaReportAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CraVoaReportAccount balances(CraVoaReportAccountBalances balances) { + + this.balances = balances; + return this; + } + + /** + * Get balances + * @return balances + **/ + @ApiModelProperty(required = true, value = "") + + public CraVoaReportAccountBalances getBalances() { + return balances; + } + + + public void setBalances(CraVoaReportAccountBalances balances) { + this.balances = balances; + } + + + public CraVoaReportAccount consumerDisputes(List consumerDisputes) { + + this.consumerDisputes = consumerDisputes; + return this; + } + + public CraVoaReportAccount addConsumerDisputesItem(ConsumerDispute consumerDisputesItem) { + this.consumerDisputes.add(consumerDisputesItem); + return this; + } + + /** + * The information about previously submitted valid dispute statements by the consumer + * @return consumerDisputes + **/ + @ApiModelProperty(required = true, value = "The information about previously submitted valid dispute statements by the consumer") + + public List getConsumerDisputes() { + return consumerDisputes; + } + + + public void setConsumerDisputes(List consumerDisputes) { + this.consumerDisputes = consumerDisputes; + } + + + public CraVoaReportAccount mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public CraVoaReportAccount name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the account, either assigned by the user or by the financial institution itself. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the account, either assigned by the user or by the financial institution itself.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CraVoaReportAccount officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * The official name of the account as given by the financial institution. + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The official name of the account as given by the financial institution.") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public CraVoaReportAccount type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public CraVoaReportAccount subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public CraVoaReportAccount daysAvailable(Double daysAvailable) { + + this.daysAvailable = daysAvailable; + return this; + } + + /** + * The duration of transaction history available within this report for this Item, typically defined as the time since the date of the earliest transaction in that account. + * @return daysAvailable + **/ + @ApiModelProperty(required = true, value = "The duration of transaction history available within this report for this Item, typically defined as the time since the date of the earliest transaction in that account.") + + public Double getDaysAvailable() { + return daysAvailable; + } + + + public void setDaysAvailable(Double daysAvailable) { + this.daysAvailable = daysAvailable; + } + + + public CraVoaReportAccount transactionsInsights(CraVoaReportTransactionsInsights transactionsInsights) { + + this.transactionsInsights = transactionsInsights; + return this; + } + + /** + * Get transactionsInsights + * @return transactionsInsights + **/ + @ApiModelProperty(required = true, value = "") + + public CraVoaReportTransactionsInsights getTransactionsInsights() { + return transactionsInsights; + } + + + public void setTransactionsInsights(CraVoaReportTransactionsInsights transactionsInsights) { + this.transactionsInsights = transactionsInsights; + } + + + public CraVoaReportAccount owners(List owners) { + + this.owners = owners; + return this; + } + + public CraVoaReportAccount addOwnersItem(Owner ownersItem) { + this.owners.add(ownersItem); + return this; + } + + /** + * Data returned by the financial institution about the account owner or owners. + * @return owners + **/ + @ApiModelProperty(required = true, value = "Data returned by the financial institution about the account owner or owners.") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + public CraVoaReportAccount ownershipType(OwnershipType ownershipType) { + + this.ownershipType = ownershipType; + return this; + } + + /** + * Get ownershipType + * @return ownershipType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public OwnershipType getOwnershipType() { + return ownershipType; + } + + + public void setOwnershipType(OwnershipType ownershipType) { + this.ownershipType = ownershipType; + } + + + public CraVoaReportAccount investments(BaseReportInvestments investments) { + + this.investments = investments; + return this; + } + + /** + * Get investments + * @return investments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BaseReportInvestments getInvestments() { + return investments; + } + + + public void setInvestments(BaseReportInvestments investments) { + this.investments = investments; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVoaReportAccount craVoaReportAccount = (CraVoaReportAccount) o; + return Objects.equals(this.accountId, craVoaReportAccount.accountId) && + Objects.equals(this.balances, craVoaReportAccount.balances) && + Objects.equals(this.consumerDisputes, craVoaReportAccount.consumerDisputes) && + Objects.equals(this.mask, craVoaReportAccount.mask) && + Objects.equals(this.name, craVoaReportAccount.name) && + Objects.equals(this.officialName, craVoaReportAccount.officialName) && + Objects.equals(this.type, craVoaReportAccount.type) && + Objects.equals(this.subtype, craVoaReportAccount.subtype) && + Objects.equals(this.daysAvailable, craVoaReportAccount.daysAvailable) && + Objects.equals(this.transactionsInsights, craVoaReportAccount.transactionsInsights) && + Objects.equals(this.owners, craVoaReportAccount.owners) && + Objects.equals(this.ownershipType, craVoaReportAccount.ownershipType) && + Objects.equals(this.investments, craVoaReportAccount.investments); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, balances, consumerDisputes, mask, name, officialName, type, subtype, daysAvailable, transactionsInsights, owners, ownershipType, investments); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVoaReportAccount {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" balances: ").append(toIndentedString(balances)).append("\n"); + sb.append(" consumerDisputes: ").append(toIndentedString(consumerDisputes)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" daysAvailable: ").append(toIndentedString(daysAvailable)).append("\n"); + sb.append(" transactionsInsights: ").append(toIndentedString(transactionsInsights)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append(" ownershipType: ").append(toIndentedString(ownershipType)).append("\n"); + sb.append(" investments: ").append(toIndentedString(investments)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVoaReportAccountBalances.java b/src/main/java/com/plaid/client/model/CraVoaReportAccountBalances.java new file mode 100644 index 0000000000..a628497d38 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVoaReportAccountBalances.java @@ -0,0 +1,309 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraVoaReportAccountHistoricalBalance; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +/** + * VOA Report information about an account's balances. + */ +@ApiModel(description = "VOA Report information about an account's balances.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVoaReportAccountBalances { + public static final String SERIALIZED_NAME_AVAILABLE = "available"; + @SerializedName(SERIALIZED_NAME_AVAILABLE) + private Double available; + + public static final String SERIALIZED_NAME_CURRENT = "current"; + @SerializedName(SERIALIZED_NAME_CURRENT) + private Double current; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_HISTORICAL_BALANCES = "historical_balances"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_BALANCES) + private List historicalBalances = new ArrayList<>(); + + public static final String SERIALIZED_NAME_AVERAGE_BALANCE30_DAYS = "average_balance_30_days"; + @SerializedName(SERIALIZED_NAME_AVERAGE_BALANCE30_DAYS) + private Double averageBalance30Days; + + public static final String SERIALIZED_NAME_AVERAGE_BALANCE60_DAYS = "average_balance_60_days"; + @SerializedName(SERIALIZED_NAME_AVERAGE_BALANCE60_DAYS) + private Double averageBalance60Days; + + public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT = "nsf_overdraft_transactions_count"; + @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT) + private Double nsfOverdraftTransactionsCount; + + + public CraVoaReportAccountBalances available(Double available) { + + this.available = available; + return this; + } + + /** + * The amount of funds available to be withdrawn from the account, as determined by the financial institution. For `credit`-type accounts, the `available` balance typically equals the `limit` less the `current` balance, less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance typically equals the `current` balance less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance does not include the overdraft limit. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the `available` balance is the total cash available to withdraw as presented by the institution. Note that not all institutions calculate the `available` balance. In the event that `available` balance is unavailable, Plaid will return an `available` balance value of `null`. Available balance may be cached and is not guaranteed to be up-to-date in real-time unless the value was returned by `/accounts/balance/get`. If `current` is `null` this field is guaranteed not to be `null`. + * @return available + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The amount of funds available to be withdrawn from the account, as determined by the financial institution. For `credit`-type accounts, the `available` balance typically equals the `limit` less the `current` balance, less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance typically equals the `current` balance less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance does not include the overdraft limit. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the `available` balance is the total cash available to withdraw as presented by the institution. Note that not all institutions calculate the `available` balance. In the event that `available` balance is unavailable, Plaid will return an `available` balance value of `null`. Available balance may be cached and is not guaranteed to be up-to-date in real-time unless the value was returned by `/accounts/balance/get`. If `current` is `null` this field is guaranteed not to be `null`.") + + public Double getAvailable() { + return available; + } + + + public void setAvailable(Double available) { + this.available = available; + } + + + public CraVoaReportAccountBalances current(Double current) { + + this.current = current; + return this; + } + + /** + * The total amount of funds in or owed by the account. For `credit`-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder. For `loan`-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (`ins_116944`). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the current balance is the total value of assets as presented by the institution. Note that balance information may be cached unless the value was returned by `/accounts/balance/get`; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require real-time balance information, use the `available` balance as provided by `/accounts/balance/get`. When returned by `/accounts/balance/get`, this field may be `null`. When this happens, `available` is guaranteed not to be `null`. + * @return current + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total amount of funds in or owed by the account. For `credit`-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder. For `loan`-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (`ins_116944`). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the current balance is the total value of assets as presented by the institution. Note that balance information may be cached unless the value was returned by `/accounts/balance/get`; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require real-time balance information, use the `available` balance as provided by `/accounts/balance/get`. When returned by `/accounts/balance/get`, this field may be `null`. When this happens, `available` is guaranteed not to be `null`.") + + public Double getCurrent() { + return current; + } + + + public void setCurrent(Double current) { + this.current = current; + } + + + public CraVoaReportAccountBalances isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CraVoaReportAccountBalances unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the balance. Always null if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the balance. Always null if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public CraVoaReportAccountBalances historicalBalances(List historicalBalances) { + + this.historicalBalances = historicalBalances; + return this; + } + + public CraVoaReportAccountBalances addHistoricalBalancesItem(CraVoaReportAccountHistoricalBalance historicalBalancesItem) { + this.historicalBalances.add(historicalBalancesItem); + return this; + } + + /** + * Calculated data about the historical balances on the account. Available for `credit` and `depository` type accounts. + * @return historicalBalances + **/ + @ApiModelProperty(required = true, value = "Calculated data about the historical balances on the account. Available for `credit` and `depository` type accounts.") + + public List getHistoricalBalances() { + return historicalBalances; + } + + + public void setHistoricalBalances(List historicalBalances) { + this.historicalBalances = historicalBalances; + } + + + public CraVoaReportAccountBalances averageBalance30Days(Double averageBalance30Days) { + + this.averageBalance30Days = averageBalance30Days; + return this; + } + + /** + * The average balance in the account over the last 30 days. Calculated using the derived historical balances. + * @return averageBalance30Days + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The average balance in the account over the last 30 days. Calculated using the derived historical balances.") + + public Double getAverageBalance30Days() { + return averageBalance30Days; + } + + + public void setAverageBalance30Days(Double averageBalance30Days) { + this.averageBalance30Days = averageBalance30Days; + } + + + public CraVoaReportAccountBalances averageBalance60Days(Double averageBalance60Days) { + + this.averageBalance60Days = averageBalance60Days; + return this; + } + + /** + * The average balance in the account over the last 60 days. Calculated using the derived historical balances. + * @return averageBalance60Days + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The average balance in the account over the last 60 days. Calculated using the derived historical balances.") + + public Double getAverageBalance60Days() { + return averageBalance60Days; + } + + + public void setAverageBalance60Days(Double averageBalance60Days) { + this.averageBalance60Days = averageBalance60Days; + } + + + public CraVoaReportAccountBalances nsfOverdraftTransactionsCount(Double nsfOverdraftTransactionsCount) { + + this.nsfOverdraftTransactionsCount = nsfOverdraftTransactionsCount; + return this; + } + + /** + * The number of net NSF fee transactions in the time range for the report in the given account (not counting any fees that were reversed within the time range). + * @return nsfOverdraftTransactionsCount + **/ + @ApiModelProperty(required = true, value = "The number of net NSF fee transactions in the time range for the report in the given account (not counting any fees that were reversed within the time range).") + + public Double getNsfOverdraftTransactionsCount() { + return nsfOverdraftTransactionsCount; + } + + + public void setNsfOverdraftTransactionsCount(Double nsfOverdraftTransactionsCount) { + this.nsfOverdraftTransactionsCount = nsfOverdraftTransactionsCount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVoaReportAccountBalances craVoaReportAccountBalances = (CraVoaReportAccountBalances) o; + return Objects.equals(this.available, craVoaReportAccountBalances.available) && + Objects.equals(this.current, craVoaReportAccountBalances.current) && + Objects.equals(this.isoCurrencyCode, craVoaReportAccountBalances.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, craVoaReportAccountBalances.unofficialCurrencyCode) && + Objects.equals(this.historicalBalances, craVoaReportAccountBalances.historicalBalances) && + Objects.equals(this.averageBalance30Days, craVoaReportAccountBalances.averageBalance30Days) && + Objects.equals(this.averageBalance60Days, craVoaReportAccountBalances.averageBalance60Days) && + Objects.equals(this.nsfOverdraftTransactionsCount, craVoaReportAccountBalances.nsfOverdraftTransactionsCount); + } + + @Override + public int hashCode() { + return Objects.hash(available, current, isoCurrencyCode, unofficialCurrencyCode, historicalBalances, averageBalance30Days, averageBalance60Days, nsfOverdraftTransactionsCount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVoaReportAccountBalances {\n"); + sb.append(" available: ").append(toIndentedString(available)).append("\n"); + sb.append(" current: ").append(toIndentedString(current)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" historicalBalances: ").append(toIndentedString(historicalBalances)).append("\n"); + sb.append(" averageBalance30Days: ").append(toIndentedString(averageBalance30Days)).append("\n"); + sb.append(" averageBalance60Days: ").append(toIndentedString(averageBalance60Days)).append("\n"); + sb.append(" nsfOverdraftTransactionsCount: ").append(toIndentedString(nsfOverdraftTransactionsCount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVoaReportAccountHistoricalBalance.java b/src/main/java/com/plaid/client/model/CraVoaReportAccountHistoricalBalance.java new file mode 100644 index 0000000000..6239724def --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVoaReportAccountHistoricalBalance.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An object representing a balance held by an account in the past. + */ +@ApiModel(description = "An object representing a balance held by an account in the past.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVoaReportAccountHistoricalBalance { + public static final String SERIALIZED_NAME_CURRENT = "current"; + @SerializedName(SERIALIZED_NAME_CURRENT) + private Double current; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CraVoaReportAccountHistoricalBalance current(Double current) { + + this.current = current; + return this; + } + + /** + * The total amount of funds in the account, calculated from the `current` balance in the `balance` object by subtracting inflows and adding back outflows according to the posted date of each transaction. + * @return current + **/ + @ApiModelProperty(required = true, value = "The total amount of funds in the account, calculated from the `current` balance in the `balance` object by subtracting inflows and adding back outflows according to the posted date of each transaction.") + + public Double getCurrent() { + return current; + } + + + public void setCurrent(Double current) { + this.current = current; + } + + + public CraVoaReportAccountHistoricalBalance date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The date of the calculated historical balance, in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return date + **/ + @ApiModelProperty(required = true, value = "The date of the calculated historical balance, in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public CraVoaReportAccountHistoricalBalance isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the balance. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the balance. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CraVoaReportAccountHistoricalBalance unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the balance. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the balance. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVoaReportAccountHistoricalBalance craVoaReportAccountHistoricalBalance = (CraVoaReportAccountHistoricalBalance) o; + return Objects.equals(this.current, craVoaReportAccountHistoricalBalance.current) && + Objects.equals(this.date, craVoaReportAccountHistoricalBalance.date) && + Objects.equals(this.isoCurrencyCode, craVoaReportAccountHistoricalBalance.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, craVoaReportAccountHistoricalBalance.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(current, date, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVoaReportAccountHistoricalBalance {\n"); + sb.append(" current: ").append(toIndentedString(current)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVoaReportAttributes.java b/src/main/java/com/plaid/client/model/CraVoaReportAttributes.java new file mode 100644 index 0000000000..e5c9682186 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVoaReportAttributes.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TotalReportInflowAmount; +import com.plaid.client.model.TotalReportOutflowAmount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Attributes for the VOA report. + */ +@ApiModel(description = "Attributes for the VOA report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVoaReportAttributes { + public static final String SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT = "total_inflow_amount"; + @SerializedName(SERIALIZED_NAME_TOTAL_INFLOW_AMOUNT) + private TotalReportInflowAmount totalInflowAmount; + + public static final String SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT = "total_outflow_amount"; + @SerializedName(SERIALIZED_NAME_TOTAL_OUTFLOW_AMOUNT) + private TotalReportOutflowAmount totalOutflowAmount; + + + public CraVoaReportAttributes totalInflowAmount(TotalReportInflowAmount totalInflowAmount) { + + this.totalInflowAmount = totalInflowAmount; + return this; + } + + /** + * Get totalInflowAmount + * @return totalInflowAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TotalReportInflowAmount getTotalInflowAmount() { + return totalInflowAmount; + } + + + public void setTotalInflowAmount(TotalReportInflowAmount totalInflowAmount) { + this.totalInflowAmount = totalInflowAmount; + } + + + public CraVoaReportAttributes totalOutflowAmount(TotalReportOutflowAmount totalOutflowAmount) { + + this.totalOutflowAmount = totalOutflowAmount; + return this; + } + + /** + * Get totalOutflowAmount + * @return totalOutflowAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TotalReportOutflowAmount getTotalOutflowAmount() { + return totalOutflowAmount; + } + + + public void setTotalOutflowAmount(TotalReportOutflowAmount totalOutflowAmount) { + this.totalOutflowAmount = totalOutflowAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVoaReportAttributes craVoaReportAttributes = (CraVoaReportAttributes) o; + return Objects.equals(this.totalInflowAmount, craVoaReportAttributes.totalInflowAmount) && + Objects.equals(this.totalOutflowAmount, craVoaReportAttributes.totalOutflowAmount); + } + + @Override + public int hashCode() { + return Objects.hash(totalInflowAmount, totalOutflowAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVoaReportAttributes {\n"); + sb.append(" totalInflowAmount: ").append(toIndentedString(totalInflowAmount)).append("\n"); + sb.append(" totalOutflowAmount: ").append(toIndentedString(totalOutflowAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVoaReportItem.java b/src/main/java/com/plaid/client/model/CraVoaReportItem.java new file mode 100644 index 0000000000..c31857cf7a --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVoaReportItem.java @@ -0,0 +1,219 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraVoaReportAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * A representation of an Item within a VOA report. + */ +@ApiModel(description = "A representation of an Item within a VOA report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVoaReportItem { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_LAST_UPDATE_TIME = "last_update_time"; + @SerializedName(SERIALIZED_NAME_LAST_UPDATE_TIME) + private OffsetDateTime lastUpdateTime; + + + public CraVoaReportItem accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public CraVoaReportItem addAccountsItem(CraVoaReportAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * Data about each of the accounts open on the Item. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "Data about each of the accounts open on the Item.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public CraVoaReportItem institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The full financial institution name associated with the Item. + * @return institutionName + **/ + @ApiModelProperty(required = true, value = "The full financial institution name associated with the Item.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public CraVoaReportItem institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The id of the financial institution associated with the Item. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The id of the financial institution associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public CraVoaReportItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CraVoaReportItem lastUpdateTime(OffsetDateTime lastUpdateTime) { + + this.lastUpdateTime = lastUpdateTime; + return this; + } + + /** + * The date and time when this Item's data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return lastUpdateTime + **/ + @ApiModelProperty(required = true, value = "The date and time when this Item's data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getLastUpdateTime() { + return lastUpdateTime; + } + + + public void setLastUpdateTime(OffsetDateTime lastUpdateTime) { + this.lastUpdateTime = lastUpdateTime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVoaReportItem craVoaReportItem = (CraVoaReportItem) o; + return Objects.equals(this.accounts, craVoaReportItem.accounts) && + Objects.equals(this.institutionName, craVoaReportItem.institutionName) && + Objects.equals(this.institutionId, craVoaReportItem.institutionId) && + Objects.equals(this.itemId, craVoaReportItem.itemId) && + Objects.equals(this.lastUpdateTime, craVoaReportItem.lastUpdateTime); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, institutionName, institutionId, itemId, lastUpdateTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVoaReportItem {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" lastUpdateTime: ").append(toIndentedString(lastUpdateTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CraVoaReportTransactionsInsights.java b/src/main/java/com/plaid/client/model/CraVoaReportTransactionsInsights.java new file mode 100644 index 0000000000..5ffb9bd8bb --- /dev/null +++ b/src/main/java/com/plaid/client/model/CraVoaReportTransactionsInsights.java @@ -0,0 +1,165 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BaseReportTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * Transaction data associated with the account. + */ +@ApiModel(description = "Transaction data associated with the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CraVoaReportTransactionsInsights { + public static final String SERIALIZED_NAME_ALL_TRANSACTIONS = "all_transactions"; + @SerializedName(SERIALIZED_NAME_ALL_TRANSACTIONS) + private List allTransactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + + public CraVoaReportTransactionsInsights allTransactions(List allTransactions) { + + this.allTransactions = allTransactions; + return this; + } + + public CraVoaReportTransactionsInsights addAllTransactionsItem(BaseReportTransaction allTransactionsItem) { + this.allTransactions.add(allTransactionsItem); + return this; + } + + /** + * Transaction history associated with the account. + * @return allTransactions + **/ + @ApiModelProperty(required = true, value = "Transaction history associated with the account.") + + public List getAllTransactions() { + return allTransactions; + } + + + public void setAllTransactions(List allTransactions) { + this.allTransactions = allTransactions; + } + + + public CraVoaReportTransactionsInsights endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The latest timeframe provided by the FI, in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The latest timeframe provided by the FI, in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public CraVoaReportTransactionsInsights startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The earliest timeframe provided by the FI, in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The earliest timeframe provided by the FI, in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CraVoaReportTransactionsInsights craVoaReportTransactionsInsights = (CraVoaReportTransactionsInsights) o; + return Objects.equals(this.allTransactions, craVoaReportTransactionsInsights.allTransactions) && + Objects.equals(this.endDate, craVoaReportTransactionsInsights.endDate) && + Objects.equals(this.startDate, craVoaReportTransactionsInsights.startDate); + } + + @Override + public int hashCode() { + return Objects.hash(allTransactions, endDate, startDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CraVoaReportTransactionsInsights {\n"); + sb.append(" allTransactions: ").append(toIndentedString(allTransactions)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Credit1099.java b/src/main/java/com/plaid/client/model/Credit1099.java new file mode 100644 index 0000000000..96eefd2fce --- /dev/null +++ b/src/main/java/com/plaid/client/model/Credit1099.java @@ -0,0 +1,1583 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Credit1099Filer; +import com.plaid.client.model.Credit1099Payer; +import com.plaid.client.model.Credit1099Recipient; +import com.plaid.client.model.CreditDocumentMetadata; +import com.plaid.client.model.Form1099Type; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing an end user's 1099 tax form + */ +@ApiModel(description = "An object representing an end user's 1099 tax form") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Credit1099 { + public static final String SERIALIZED_NAME_DOCUMENT_ID = "document_id"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_ID) + private String documentId; + + public static final String SERIALIZED_NAME_DOCUMENT_METADATA = "document_metadata"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_METADATA) + private CreditDocumentMetadata documentMetadata; + + public static final String SERIALIZED_NAME_FORM1099_TYPE = "form_1099_type"; + @SerializedName(SERIALIZED_NAME_FORM1099_TYPE) + private Form1099Type form1099Type; + + public static final String SERIALIZED_NAME_RECIPIENT = "recipient"; + @SerializedName(SERIALIZED_NAME_RECIPIENT) + private Credit1099Recipient recipient; + + public static final String SERIALIZED_NAME_PAYER = "payer"; + @SerializedName(SERIALIZED_NAME_PAYER) + private Credit1099Payer payer; + + public static final String SERIALIZED_NAME_FILER = "filer"; + @SerializedName(SERIALIZED_NAME_FILER) + private Credit1099Filer filer; + + public static final String SERIALIZED_NAME_TAX_YEAR = "tax_year"; + @SerializedName(SERIALIZED_NAME_TAX_YEAR) + private String taxYear; + + public static final String SERIALIZED_NAME_RENTS = "rents"; + @SerializedName(SERIALIZED_NAME_RENTS) + private Double rents; + + public static final String SERIALIZED_NAME_ROYALTIES = "royalties"; + @SerializedName(SERIALIZED_NAME_ROYALTIES) + private Double royalties; + + public static final String SERIALIZED_NAME_OTHER_INCOME = "other_income"; + @SerializedName(SERIALIZED_NAME_OTHER_INCOME) + private Double otherIncome; + + public static final String SERIALIZED_NAME_FEDERAL_INCOME_TAX_WITHHELD = "federal_income_tax_withheld"; + @SerializedName(SERIALIZED_NAME_FEDERAL_INCOME_TAX_WITHHELD) + private Double federalIncomeTaxWithheld; + + public static final String SERIALIZED_NAME_FISHING_BOAT_PROCEEDS = "fishing_boat_proceeds"; + @SerializedName(SERIALIZED_NAME_FISHING_BOAT_PROCEEDS) + private Double fishingBoatProceeds; + + public static final String SERIALIZED_NAME_MEDICAL_AND_HEALTHCARE_PAYMENTS = "medical_and_healthcare_payments"; + @SerializedName(SERIALIZED_NAME_MEDICAL_AND_HEALTHCARE_PAYMENTS) + private Double medicalAndHealthcarePayments; + + public static final String SERIALIZED_NAME_NONEMPLOYEE_COMPENSATION = "nonemployee_compensation"; + @SerializedName(SERIALIZED_NAME_NONEMPLOYEE_COMPENSATION) + private Double nonemployeeCompensation; + + public static final String SERIALIZED_NAME_SUBSTITUTE_PAYMENTS_IN_LIEU_OF_DIVIDENDS_OR_INTEREST = "substitute_payments_in_lieu_of_dividends_or_interest"; + @SerializedName(SERIALIZED_NAME_SUBSTITUTE_PAYMENTS_IN_LIEU_OF_DIVIDENDS_OR_INTEREST) + private Double substitutePaymentsInLieuOfDividendsOrInterest; + + public static final String SERIALIZED_NAME_PAYER_MADE_DIRECT_SALES_OF5000_OR_MORE_OF_CONSUMER_PRODUCTS_TO_BUYER = "payer_made_direct_sales_of_5000_or_more_of_consumer_products_to_buyer"; + @SerializedName(SERIALIZED_NAME_PAYER_MADE_DIRECT_SALES_OF5000_OR_MORE_OF_CONSUMER_PRODUCTS_TO_BUYER) + private String payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer; + + public static final String SERIALIZED_NAME_CROP_INSURANCE_PROCEEDS = "crop_insurance_proceeds"; + @SerializedName(SERIALIZED_NAME_CROP_INSURANCE_PROCEEDS) + private Double cropInsuranceProceeds; + + public static final String SERIALIZED_NAME_EXCESS_GOLDEN_PARACHUTE_PAYMENTS = "excess_golden_parachute_payments"; + @SerializedName(SERIALIZED_NAME_EXCESS_GOLDEN_PARACHUTE_PAYMENTS) + private Double excessGoldenParachutePayments; + + public static final String SERIALIZED_NAME_GROSS_PROCEEDS_PAID_TO_AN_ATTORNEY = "gross_proceeds_paid_to_an_attorney"; + @SerializedName(SERIALIZED_NAME_GROSS_PROCEEDS_PAID_TO_AN_ATTORNEY) + private Double grossProceedsPaidToAnAttorney; + + public static final String SERIALIZED_NAME_SECTION409A_DEFERRALS = "section_409a_deferrals"; + @SerializedName(SERIALIZED_NAME_SECTION409A_DEFERRALS) + private Double section409aDeferrals; + + public static final String SERIALIZED_NAME_SECTION409A_INCOME = "section_409a_income"; + @SerializedName(SERIALIZED_NAME_SECTION409A_INCOME) + private Double section409aIncome; + + public static final String SERIALIZED_NAME_STATE_TAX_WITHHELD = "state_tax_withheld"; + @SerializedName(SERIALIZED_NAME_STATE_TAX_WITHHELD) + private Double stateTaxWithheld; + + public static final String SERIALIZED_NAME_STATE_TAX_WITHHELD_LOWER = "state_tax_withheld_lower"; + @SerializedName(SERIALIZED_NAME_STATE_TAX_WITHHELD_LOWER) + private Double stateTaxWithheldLower; + + public static final String SERIALIZED_NAME_PAYER_STATE_NUMBER = "payer_state_number"; + @SerializedName(SERIALIZED_NAME_PAYER_STATE_NUMBER) + private String payerStateNumber; + + public static final String SERIALIZED_NAME_PAYER_STATE_NUMBER_LOWER = "payer_state_number_lower"; + @SerializedName(SERIALIZED_NAME_PAYER_STATE_NUMBER_LOWER) + private String payerStateNumberLower; + + public static final String SERIALIZED_NAME_STATE_INCOME = "state_income"; + @SerializedName(SERIALIZED_NAME_STATE_INCOME) + private Double stateIncome; + + public static final String SERIALIZED_NAME_STATE_INCOME_LOWER = "state_income_lower"; + @SerializedName(SERIALIZED_NAME_STATE_INCOME_LOWER) + private Double stateIncomeLower; + + public static final String SERIALIZED_NAME_TRANSACTIONS_REPORTED = "transactions_reported"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_REPORTED) + private String transactionsReported; + + public static final String SERIALIZED_NAME_PSE_NAME = "pse_name"; + @SerializedName(SERIALIZED_NAME_PSE_NAME) + private String pseName; + + public static final String SERIALIZED_NAME_PSE_TELEPHONE_NUMBER = "pse_telephone_number"; + @SerializedName(SERIALIZED_NAME_PSE_TELEPHONE_NUMBER) + private String pseTelephoneNumber; + + public static final String SERIALIZED_NAME_GROSS_AMOUNT = "gross_amount"; + @SerializedName(SERIALIZED_NAME_GROSS_AMOUNT) + private Double grossAmount; + + public static final String SERIALIZED_NAME_CARD_NOT_PRESENT_TRANSACTION = "card_not_present_transaction"; + @SerializedName(SERIALIZED_NAME_CARD_NOT_PRESENT_TRANSACTION) + private Double cardNotPresentTransaction; + + public static final String SERIALIZED_NAME_MERCHANT_CATEGORY_CODE = "merchant_category_code"; + @SerializedName(SERIALIZED_NAME_MERCHANT_CATEGORY_CODE) + private String merchantCategoryCode; + + public static final String SERIALIZED_NAME_NUMBER_OF_PAYMENT_TRANSACTIONS = "number_of_payment_transactions"; + @SerializedName(SERIALIZED_NAME_NUMBER_OF_PAYMENT_TRANSACTIONS) + private String numberOfPaymentTransactions; + + public static final String SERIALIZED_NAME_JANUARY_AMOUNT = "january_amount"; + @SerializedName(SERIALIZED_NAME_JANUARY_AMOUNT) + private Double januaryAmount; + + public static final String SERIALIZED_NAME_FEBRUARY_AMOUNT = "february_amount"; + @SerializedName(SERIALIZED_NAME_FEBRUARY_AMOUNT) + private Double februaryAmount; + + public static final String SERIALIZED_NAME_MARCH_AMOUNT = "march_amount"; + @SerializedName(SERIALIZED_NAME_MARCH_AMOUNT) + private Double marchAmount; + + public static final String SERIALIZED_NAME_APRIL_AMOUNT = "april_amount"; + @SerializedName(SERIALIZED_NAME_APRIL_AMOUNT) + private Double aprilAmount; + + public static final String SERIALIZED_NAME_MAY_AMOUNT = "may_amount"; + @SerializedName(SERIALIZED_NAME_MAY_AMOUNT) + private Double mayAmount; + + public static final String SERIALIZED_NAME_JUNE_AMOUNT = "june_amount"; + @SerializedName(SERIALIZED_NAME_JUNE_AMOUNT) + private Double juneAmount; + + public static final String SERIALIZED_NAME_JULY_AMOUNT = "july_amount"; + @SerializedName(SERIALIZED_NAME_JULY_AMOUNT) + private Double julyAmount; + + public static final String SERIALIZED_NAME_AUGUST_AMOUNT = "august_amount"; + @SerializedName(SERIALIZED_NAME_AUGUST_AMOUNT) + private Double augustAmount; + + public static final String SERIALIZED_NAME_SEPTEMBER_AMOUNT = "september_amount"; + @SerializedName(SERIALIZED_NAME_SEPTEMBER_AMOUNT) + private Double septemberAmount; + + public static final String SERIALIZED_NAME_OCTOBER_AMOUNT = "october_amount"; + @SerializedName(SERIALIZED_NAME_OCTOBER_AMOUNT) + private Double octoberAmount; + + public static final String SERIALIZED_NAME_NOVEMBER_AMOUNT = "november_amount"; + @SerializedName(SERIALIZED_NAME_NOVEMBER_AMOUNT) + private Double novemberAmount; + + public static final String SERIALIZED_NAME_DECEMBER_AMOUNT = "december_amount"; + @SerializedName(SERIALIZED_NAME_DECEMBER_AMOUNT) + private Double decemberAmount; + + public static final String SERIALIZED_NAME_PRIMARY_STATE = "primary_state"; + @SerializedName(SERIALIZED_NAME_PRIMARY_STATE) + private String primaryState; + + public static final String SERIALIZED_NAME_SECONDARY_STATE = "secondary_state"; + @SerializedName(SERIALIZED_NAME_SECONDARY_STATE) + private String secondaryState; + + public static final String SERIALIZED_NAME_PRIMARY_STATE_ID = "primary_state_id"; + @SerializedName(SERIALIZED_NAME_PRIMARY_STATE_ID) + private String primaryStateId; + + public static final String SERIALIZED_NAME_SECONDARY_STATE_ID = "secondary_state_id"; + @SerializedName(SERIALIZED_NAME_SECONDARY_STATE_ID) + private String secondaryStateId; + + public static final String SERIALIZED_NAME_PRIMARY_STATE_INCOME_TAX = "primary_state_income_tax"; + @SerializedName(SERIALIZED_NAME_PRIMARY_STATE_INCOME_TAX) + private Double primaryStateIncomeTax; + + public static final String SERIALIZED_NAME_SECONDARY_STATE_INCOME_TAX = "secondary_state_income_tax"; + @SerializedName(SERIALIZED_NAME_SECONDARY_STATE_INCOME_TAX) + private Double secondaryStateIncomeTax; + + + public Credit1099 documentId(String documentId) { + + this.documentId = documentId; + return this; + } + + /** + * An identifier of the document referenced by the document metadata. + * @return documentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "An identifier of the document referenced by the document metadata.") + + public String getDocumentId() { + return documentId; + } + + + public void setDocumentId(String documentId) { + this.documentId = documentId; + } + + + public Credit1099 documentMetadata(CreditDocumentMetadata documentMetadata) { + + this.documentMetadata = documentMetadata; + return this; + } + + /** + * Get documentMetadata + * @return documentMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditDocumentMetadata getDocumentMetadata() { + return documentMetadata; + } + + + public void setDocumentMetadata(CreditDocumentMetadata documentMetadata) { + this.documentMetadata = documentMetadata; + } + + + public Credit1099 form1099Type(Form1099Type form1099Type) { + + this.form1099Type = form1099Type; + return this; + } + + /** + * Get form1099Type + * @return form1099Type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Form1099Type getForm1099Type() { + return form1099Type; + } + + + public void setForm1099Type(Form1099Type form1099Type) { + this.form1099Type = form1099Type; + } + + + public Credit1099 recipient(Credit1099Recipient recipient) { + + this.recipient = recipient; + return this; + } + + /** + * Get recipient + * @return recipient + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Credit1099Recipient getRecipient() { + return recipient; + } + + + public void setRecipient(Credit1099Recipient recipient) { + this.recipient = recipient; + } + + + public Credit1099 payer(Credit1099Payer payer) { + + this.payer = payer; + return this; + } + + /** + * Get payer + * @return payer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Credit1099Payer getPayer() { + return payer; + } + + + public void setPayer(Credit1099Payer payer) { + this.payer = payer; + } + + + public Credit1099 filer(Credit1099Filer filer) { + + this.filer = filer; + return this; + } + + /** + * Get filer + * @return filer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Credit1099Filer getFiler() { + return filer; + } + + + public void setFiler(Credit1099Filer filer) { + this.filer = filer; + } + + + public Credit1099 taxYear(String taxYear) { + + this.taxYear = taxYear; + return this; + } + + /** + * Tax year of the tax form. + * @return taxYear + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Tax year of the tax form.") + + public String getTaxYear() { + return taxYear; + } + + + public void setTaxYear(String taxYear) { + this.taxYear = taxYear; + } + + + public Credit1099 rents(Double rents) { + + this.rents = rents; + return this; + } + + /** + * Amount in rent by payer. + * @return rents + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount in rent by payer.") + + public Double getRents() { + return rents; + } + + + public void setRents(Double rents) { + this.rents = rents; + } + + + public Credit1099 royalties(Double royalties) { + + this.royalties = royalties; + return this; + } + + /** + * Amount in royalties by payer. + * @return royalties + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount in royalties by payer.") + + public Double getRoyalties() { + return royalties; + } + + + public void setRoyalties(Double royalties) { + this.royalties = royalties; + } + + + public Credit1099 otherIncome(Double otherIncome) { + + this.otherIncome = otherIncome; + return this; + } + + /** + * Amount in other income by payer. + * @return otherIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount in other income by payer.") + + public Double getOtherIncome() { + return otherIncome; + } + + + public void setOtherIncome(Double otherIncome) { + this.otherIncome = otherIncome; + } + + + public Credit1099 federalIncomeTaxWithheld(Double federalIncomeTaxWithheld) { + + this.federalIncomeTaxWithheld = federalIncomeTaxWithheld; + return this; + } + + /** + * Amount of federal income tax withheld from payer. + * @return federalIncomeTaxWithheld + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of federal income tax withheld from payer.") + + public Double getFederalIncomeTaxWithheld() { + return federalIncomeTaxWithheld; + } + + + public void setFederalIncomeTaxWithheld(Double federalIncomeTaxWithheld) { + this.federalIncomeTaxWithheld = federalIncomeTaxWithheld; + } + + + public Credit1099 fishingBoatProceeds(Double fishingBoatProceeds) { + + this.fishingBoatProceeds = fishingBoatProceeds; + return this; + } + + /** + * Amount of fishing boat proceeds from payer. + * @return fishingBoatProceeds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of fishing boat proceeds from payer.") + + public Double getFishingBoatProceeds() { + return fishingBoatProceeds; + } + + + public void setFishingBoatProceeds(Double fishingBoatProceeds) { + this.fishingBoatProceeds = fishingBoatProceeds; + } + + + public Credit1099 medicalAndHealthcarePayments(Double medicalAndHealthcarePayments) { + + this.medicalAndHealthcarePayments = medicalAndHealthcarePayments; + return this; + } + + /** + * Amount of medical and healthcare payments from payer. + * @return medicalAndHealthcarePayments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of medical and healthcare payments from payer.") + + public Double getMedicalAndHealthcarePayments() { + return medicalAndHealthcarePayments; + } + + + public void setMedicalAndHealthcarePayments(Double medicalAndHealthcarePayments) { + this.medicalAndHealthcarePayments = medicalAndHealthcarePayments; + } + + + public Credit1099 nonemployeeCompensation(Double nonemployeeCompensation) { + + this.nonemployeeCompensation = nonemployeeCompensation; + return this; + } + + /** + * Amount of nonemployee compensation from payer. + * @return nonemployeeCompensation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of nonemployee compensation from payer.") + + public Double getNonemployeeCompensation() { + return nonemployeeCompensation; + } + + + public void setNonemployeeCompensation(Double nonemployeeCompensation) { + this.nonemployeeCompensation = nonemployeeCompensation; + } + + + public Credit1099 substitutePaymentsInLieuOfDividendsOrInterest(Double substitutePaymentsInLieuOfDividendsOrInterest) { + + this.substitutePaymentsInLieuOfDividendsOrInterest = substitutePaymentsInLieuOfDividendsOrInterest; + return this; + } + + /** + * Amount of substitute payments made by payer. + * @return substitutePaymentsInLieuOfDividendsOrInterest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of substitute payments made by payer.") + + public Double getSubstitutePaymentsInLieuOfDividendsOrInterest() { + return substitutePaymentsInLieuOfDividendsOrInterest; + } + + + public void setSubstitutePaymentsInLieuOfDividendsOrInterest(Double substitutePaymentsInLieuOfDividendsOrInterest) { + this.substitutePaymentsInLieuOfDividendsOrInterest = substitutePaymentsInLieuOfDividendsOrInterest; + } + + + public Credit1099 payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer(String payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer) { + + this.payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer = payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer; + return this; + } + + /** + * Whether or not payer made direct sales over $5000 of consumer products. + * @return payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether or not payer made direct sales over $5000 of consumer products.") + + public String getPayerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer() { + return payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer; + } + + + public void setPayerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer(String payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer) { + this.payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer = payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer; + } + + + public Credit1099 cropInsuranceProceeds(Double cropInsuranceProceeds) { + + this.cropInsuranceProceeds = cropInsuranceProceeds; + return this; + } + + /** + * Amount of crop insurance proceeds. + * @return cropInsuranceProceeds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of crop insurance proceeds.") + + public Double getCropInsuranceProceeds() { + return cropInsuranceProceeds; + } + + + public void setCropInsuranceProceeds(Double cropInsuranceProceeds) { + this.cropInsuranceProceeds = cropInsuranceProceeds; + } + + + public Credit1099 excessGoldenParachutePayments(Double excessGoldenParachutePayments) { + + this.excessGoldenParachutePayments = excessGoldenParachutePayments; + return this; + } + + /** + * Amount of golden parachute payments made by payer. + * @return excessGoldenParachutePayments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of golden parachute payments made by payer.") + + public Double getExcessGoldenParachutePayments() { + return excessGoldenParachutePayments; + } + + + public void setExcessGoldenParachutePayments(Double excessGoldenParachutePayments) { + this.excessGoldenParachutePayments = excessGoldenParachutePayments; + } + + + public Credit1099 grossProceedsPaidToAnAttorney(Double grossProceedsPaidToAnAttorney) { + + this.grossProceedsPaidToAnAttorney = grossProceedsPaidToAnAttorney; + return this; + } + + /** + * Amount of gross proceeds paid to an attorney by payer. + * @return grossProceedsPaidToAnAttorney + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of gross proceeds paid to an attorney by payer.") + + public Double getGrossProceedsPaidToAnAttorney() { + return grossProceedsPaidToAnAttorney; + } + + + public void setGrossProceedsPaidToAnAttorney(Double grossProceedsPaidToAnAttorney) { + this.grossProceedsPaidToAnAttorney = grossProceedsPaidToAnAttorney; + } + + + public Credit1099 section409aDeferrals(Double section409aDeferrals) { + + this.section409aDeferrals = section409aDeferrals; + return this; + } + + /** + * Amount of 409A deferrals earned by payer. + * @return section409aDeferrals + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of 409A deferrals earned by payer.") + + public Double getSection409aDeferrals() { + return section409aDeferrals; + } + + + public void setSection409aDeferrals(Double section409aDeferrals) { + this.section409aDeferrals = section409aDeferrals; + } + + + public Credit1099 section409aIncome(Double section409aIncome) { + + this.section409aIncome = section409aIncome; + return this; + } + + /** + * Amount of 409A income earned by payer. + * @return section409aIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of 409A income earned by payer.") + + public Double getSection409aIncome() { + return section409aIncome; + } + + + public void setSection409aIncome(Double section409aIncome) { + this.section409aIncome = section409aIncome; + } + + + public Credit1099 stateTaxWithheld(Double stateTaxWithheld) { + + this.stateTaxWithheld = stateTaxWithheld; + return this; + } + + /** + * Amount of state tax withheld of payer for primary state. + * @return stateTaxWithheld + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of state tax withheld of payer for primary state.") + + public Double getStateTaxWithheld() { + return stateTaxWithheld; + } + + + public void setStateTaxWithheld(Double stateTaxWithheld) { + this.stateTaxWithheld = stateTaxWithheld; + } + + + public Credit1099 stateTaxWithheldLower(Double stateTaxWithheldLower) { + + this.stateTaxWithheldLower = stateTaxWithheldLower; + return this; + } + + /** + * Amount of state tax withheld of payer for secondary state. + * @return stateTaxWithheldLower + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of state tax withheld of payer for secondary state.") + + public Double getStateTaxWithheldLower() { + return stateTaxWithheldLower; + } + + + public void setStateTaxWithheldLower(Double stateTaxWithheldLower) { + this.stateTaxWithheldLower = stateTaxWithheldLower; + } + + + public Credit1099 payerStateNumber(String payerStateNumber) { + + this.payerStateNumber = payerStateNumber; + return this; + } + + /** + * Primary state ID. + * @return payerStateNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Primary state ID.") + + public String getPayerStateNumber() { + return payerStateNumber; + } + + + public void setPayerStateNumber(String payerStateNumber) { + this.payerStateNumber = payerStateNumber; + } + + + public Credit1099 payerStateNumberLower(String payerStateNumberLower) { + + this.payerStateNumberLower = payerStateNumberLower; + return this; + } + + /** + * Secondary state ID. + * @return payerStateNumberLower + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Secondary state ID.") + + public String getPayerStateNumberLower() { + return payerStateNumberLower; + } + + + public void setPayerStateNumberLower(String payerStateNumberLower) { + this.payerStateNumberLower = payerStateNumberLower; + } + + + public Credit1099 stateIncome(Double stateIncome) { + + this.stateIncome = stateIncome; + return this; + } + + /** + * State income reported for primary state. + * @return stateIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "State income reported for primary state.") + + public Double getStateIncome() { + return stateIncome; + } + + + public void setStateIncome(Double stateIncome) { + this.stateIncome = stateIncome; + } + + + public Credit1099 stateIncomeLower(Double stateIncomeLower) { + + this.stateIncomeLower = stateIncomeLower; + return this; + } + + /** + * State income reported for secondary state. + * @return stateIncomeLower + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "State income reported for secondary state.") + + public Double getStateIncomeLower() { + return stateIncomeLower; + } + + + public void setStateIncomeLower(Double stateIncomeLower) { + this.stateIncomeLower = stateIncomeLower; + } + + + public Credit1099 transactionsReported(String transactionsReported) { + + this.transactionsReported = transactionsReported; + return this; + } + + /** + * One of the values will be provided Payment card Third party network + * @return transactionsReported + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "One of the values will be provided Payment card Third party network") + + public String getTransactionsReported() { + return transactionsReported; + } + + + public void setTransactionsReported(String transactionsReported) { + this.transactionsReported = transactionsReported; + } + + + public Credit1099 pseName(String pseName) { + + this.pseName = pseName; + return this; + } + + /** + * Name of the PSE (Payment Settlement Entity). + * @return pseName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the PSE (Payment Settlement Entity).") + + public String getPseName() { + return pseName; + } + + + public void setPseName(String pseName) { + this.pseName = pseName; + } + + + public Credit1099 pseTelephoneNumber(String pseTelephoneNumber) { + + this.pseTelephoneNumber = pseTelephoneNumber; + return this; + } + + /** + * Formatted (XXX) XXX-XXXX. Phone number of the PSE (Payment Settlement Entity). + * @return pseTelephoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Formatted (XXX) XXX-XXXX. Phone number of the PSE (Payment Settlement Entity).") + + public String getPseTelephoneNumber() { + return pseTelephoneNumber; + } + + + public void setPseTelephoneNumber(String pseTelephoneNumber) { + this.pseTelephoneNumber = pseTelephoneNumber; + } + + + public Credit1099 grossAmount(Double grossAmount) { + + this.grossAmount = grossAmount; + return this; + } + + /** + * Gross amount reported. + * @return grossAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Gross amount reported.") + + public Double getGrossAmount() { + return grossAmount; + } + + + public void setGrossAmount(Double grossAmount) { + this.grossAmount = grossAmount; + } + + + public Credit1099 cardNotPresentTransaction(Double cardNotPresentTransaction) { + + this.cardNotPresentTransaction = cardNotPresentTransaction; + return this; + } + + /** + * Amount in card not present transactions. + * @return cardNotPresentTransaction + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount in card not present transactions.") + + public Double getCardNotPresentTransaction() { + return cardNotPresentTransaction; + } + + + public void setCardNotPresentTransaction(Double cardNotPresentTransaction) { + this.cardNotPresentTransaction = cardNotPresentTransaction; + } + + + public Credit1099 merchantCategoryCode(String merchantCategoryCode) { + + this.merchantCategoryCode = merchantCategoryCode; + return this; + } + + /** + * Merchant category of filer. + * @return merchantCategoryCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Merchant category of filer.") + + public String getMerchantCategoryCode() { + return merchantCategoryCode; + } + + + public void setMerchantCategoryCode(String merchantCategoryCode) { + this.merchantCategoryCode = merchantCategoryCode; + } + + + public Credit1099 numberOfPaymentTransactions(String numberOfPaymentTransactions) { + + this.numberOfPaymentTransactions = numberOfPaymentTransactions; + return this; + } + + /** + * Number of payment transactions made. + * @return numberOfPaymentTransactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of payment transactions made.") + + public String getNumberOfPaymentTransactions() { + return numberOfPaymentTransactions; + } + + + public void setNumberOfPaymentTransactions(String numberOfPaymentTransactions) { + this.numberOfPaymentTransactions = numberOfPaymentTransactions; + } + + + public Credit1099 januaryAmount(Double januaryAmount) { + + this.januaryAmount = januaryAmount; + return this; + } + + /** + * Amount reported for January. + * @return januaryAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount reported for January.") + + public Double getJanuaryAmount() { + return januaryAmount; + } + + + public void setJanuaryAmount(Double januaryAmount) { + this.januaryAmount = januaryAmount; + } + + + public Credit1099 februaryAmount(Double februaryAmount) { + + this.februaryAmount = februaryAmount; + return this; + } + + /** + * Amount reported for February. + * @return februaryAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount reported for February.") + + public Double getFebruaryAmount() { + return februaryAmount; + } + + + public void setFebruaryAmount(Double februaryAmount) { + this.februaryAmount = februaryAmount; + } + + + public Credit1099 marchAmount(Double marchAmount) { + + this.marchAmount = marchAmount; + return this; + } + + /** + * Amount reported for March. + * @return marchAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount reported for March.") + + public Double getMarchAmount() { + return marchAmount; + } + + + public void setMarchAmount(Double marchAmount) { + this.marchAmount = marchAmount; + } + + + public Credit1099 aprilAmount(Double aprilAmount) { + + this.aprilAmount = aprilAmount; + return this; + } + + /** + * Amount reported for April. + * @return aprilAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount reported for April.") + + public Double getAprilAmount() { + return aprilAmount; + } + + + public void setAprilAmount(Double aprilAmount) { + this.aprilAmount = aprilAmount; + } + + + public Credit1099 mayAmount(Double mayAmount) { + + this.mayAmount = mayAmount; + return this; + } + + /** + * Amount reported for May. + * @return mayAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount reported for May.") + + public Double getMayAmount() { + return mayAmount; + } + + + public void setMayAmount(Double mayAmount) { + this.mayAmount = mayAmount; + } + + + public Credit1099 juneAmount(Double juneAmount) { + + this.juneAmount = juneAmount; + return this; + } + + /** + * Amount reported for June. + * @return juneAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount reported for June.") + + public Double getJuneAmount() { + return juneAmount; + } + + + public void setJuneAmount(Double juneAmount) { + this.juneAmount = juneAmount; + } + + + public Credit1099 julyAmount(Double julyAmount) { + + this.julyAmount = julyAmount; + return this; + } + + /** + * Amount reported for July. + * @return julyAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount reported for July.") + + public Double getJulyAmount() { + return julyAmount; + } + + + public void setJulyAmount(Double julyAmount) { + this.julyAmount = julyAmount; + } + + + public Credit1099 augustAmount(Double augustAmount) { + + this.augustAmount = augustAmount; + return this; + } + + /** + * Amount reported for August. + * @return augustAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount reported for August.") + + public Double getAugustAmount() { + return augustAmount; + } + + + public void setAugustAmount(Double augustAmount) { + this.augustAmount = augustAmount; + } + + + public Credit1099 septemberAmount(Double septemberAmount) { + + this.septemberAmount = septemberAmount; + return this; + } + + /** + * Amount reported for September. + * @return septemberAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount reported for September.") + + public Double getSeptemberAmount() { + return septemberAmount; + } + + + public void setSeptemberAmount(Double septemberAmount) { + this.septemberAmount = septemberAmount; + } + + + public Credit1099 octoberAmount(Double octoberAmount) { + + this.octoberAmount = octoberAmount; + return this; + } + + /** + * Amount reported for October. + * @return octoberAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount reported for October.") + + public Double getOctoberAmount() { + return octoberAmount; + } + + + public void setOctoberAmount(Double octoberAmount) { + this.octoberAmount = octoberAmount; + } + + + public Credit1099 novemberAmount(Double novemberAmount) { + + this.novemberAmount = novemberAmount; + return this; + } + + /** + * Amount reported for November. + * @return novemberAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount reported for November.") + + public Double getNovemberAmount() { + return novemberAmount; + } + + + public void setNovemberAmount(Double novemberAmount) { + this.novemberAmount = novemberAmount; + } + + + public Credit1099 decemberAmount(Double decemberAmount) { + + this.decemberAmount = decemberAmount; + return this; + } + + /** + * Amount reported for December. + * @return decemberAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount reported for December.") + + public Double getDecemberAmount() { + return decemberAmount; + } + + + public void setDecemberAmount(Double decemberAmount) { + this.decemberAmount = decemberAmount; + } + + + public Credit1099 primaryState(String primaryState) { + + this.primaryState = primaryState; + return this; + } + + /** + * Primary state of business. + * @return primaryState + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Primary state of business.") + + public String getPrimaryState() { + return primaryState; + } + + + public void setPrimaryState(String primaryState) { + this.primaryState = primaryState; + } + + + public Credit1099 secondaryState(String secondaryState) { + + this.secondaryState = secondaryState; + return this; + } + + /** + * Secondary state of business. + * @return secondaryState + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Secondary state of business.") + + public String getSecondaryState() { + return secondaryState; + } + + + public void setSecondaryState(String secondaryState) { + this.secondaryState = secondaryState; + } + + + public Credit1099 primaryStateId(String primaryStateId) { + + this.primaryStateId = primaryStateId; + return this; + } + + /** + * Primary state ID. + * @return primaryStateId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Primary state ID.") + + public String getPrimaryStateId() { + return primaryStateId; + } + + + public void setPrimaryStateId(String primaryStateId) { + this.primaryStateId = primaryStateId; + } + + + public Credit1099 secondaryStateId(String secondaryStateId) { + + this.secondaryStateId = secondaryStateId; + return this; + } + + /** + * Secondary state ID. + * @return secondaryStateId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Secondary state ID.") + + public String getSecondaryStateId() { + return secondaryStateId; + } + + + public void setSecondaryStateId(String secondaryStateId) { + this.secondaryStateId = secondaryStateId; + } + + + public Credit1099 primaryStateIncomeTax(Double primaryStateIncomeTax) { + + this.primaryStateIncomeTax = primaryStateIncomeTax; + return this; + } + + /** + * State income tax reported for primary state. + * @return primaryStateIncomeTax + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "State income tax reported for primary state.") + + public Double getPrimaryStateIncomeTax() { + return primaryStateIncomeTax; + } + + + public void setPrimaryStateIncomeTax(Double primaryStateIncomeTax) { + this.primaryStateIncomeTax = primaryStateIncomeTax; + } + + + public Credit1099 secondaryStateIncomeTax(Double secondaryStateIncomeTax) { + + this.secondaryStateIncomeTax = secondaryStateIncomeTax; + return this; + } + + /** + * State income tax reported for secondary state. + * @return secondaryStateIncomeTax + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "State income tax reported for secondary state.") + + public Double getSecondaryStateIncomeTax() { + return secondaryStateIncomeTax; + } + + + public void setSecondaryStateIncomeTax(Double secondaryStateIncomeTax) { + this.secondaryStateIncomeTax = secondaryStateIncomeTax; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Credit1099 credit1099 = (Credit1099) o; + return Objects.equals(this.documentId, credit1099.documentId) && + Objects.equals(this.documentMetadata, credit1099.documentMetadata) && + Objects.equals(this.form1099Type, credit1099.form1099Type) && + Objects.equals(this.recipient, credit1099.recipient) && + Objects.equals(this.payer, credit1099.payer) && + Objects.equals(this.filer, credit1099.filer) && + Objects.equals(this.taxYear, credit1099.taxYear) && + Objects.equals(this.rents, credit1099.rents) && + Objects.equals(this.royalties, credit1099.royalties) && + Objects.equals(this.otherIncome, credit1099.otherIncome) && + Objects.equals(this.federalIncomeTaxWithheld, credit1099.federalIncomeTaxWithheld) && + Objects.equals(this.fishingBoatProceeds, credit1099.fishingBoatProceeds) && + Objects.equals(this.medicalAndHealthcarePayments, credit1099.medicalAndHealthcarePayments) && + Objects.equals(this.nonemployeeCompensation, credit1099.nonemployeeCompensation) && + Objects.equals(this.substitutePaymentsInLieuOfDividendsOrInterest, credit1099.substitutePaymentsInLieuOfDividendsOrInterest) && + Objects.equals(this.payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer, credit1099.payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer) && + Objects.equals(this.cropInsuranceProceeds, credit1099.cropInsuranceProceeds) && + Objects.equals(this.excessGoldenParachutePayments, credit1099.excessGoldenParachutePayments) && + Objects.equals(this.grossProceedsPaidToAnAttorney, credit1099.grossProceedsPaidToAnAttorney) && + Objects.equals(this.section409aDeferrals, credit1099.section409aDeferrals) && + Objects.equals(this.section409aIncome, credit1099.section409aIncome) && + Objects.equals(this.stateTaxWithheld, credit1099.stateTaxWithheld) && + Objects.equals(this.stateTaxWithheldLower, credit1099.stateTaxWithheldLower) && + Objects.equals(this.payerStateNumber, credit1099.payerStateNumber) && + Objects.equals(this.payerStateNumberLower, credit1099.payerStateNumberLower) && + Objects.equals(this.stateIncome, credit1099.stateIncome) && + Objects.equals(this.stateIncomeLower, credit1099.stateIncomeLower) && + Objects.equals(this.transactionsReported, credit1099.transactionsReported) && + Objects.equals(this.pseName, credit1099.pseName) && + Objects.equals(this.pseTelephoneNumber, credit1099.pseTelephoneNumber) && + Objects.equals(this.grossAmount, credit1099.grossAmount) && + Objects.equals(this.cardNotPresentTransaction, credit1099.cardNotPresentTransaction) && + Objects.equals(this.merchantCategoryCode, credit1099.merchantCategoryCode) && + Objects.equals(this.numberOfPaymentTransactions, credit1099.numberOfPaymentTransactions) && + Objects.equals(this.januaryAmount, credit1099.januaryAmount) && + Objects.equals(this.februaryAmount, credit1099.februaryAmount) && + Objects.equals(this.marchAmount, credit1099.marchAmount) && + Objects.equals(this.aprilAmount, credit1099.aprilAmount) && + Objects.equals(this.mayAmount, credit1099.mayAmount) && + Objects.equals(this.juneAmount, credit1099.juneAmount) && + Objects.equals(this.julyAmount, credit1099.julyAmount) && + Objects.equals(this.augustAmount, credit1099.augustAmount) && + Objects.equals(this.septemberAmount, credit1099.septemberAmount) && + Objects.equals(this.octoberAmount, credit1099.octoberAmount) && + Objects.equals(this.novemberAmount, credit1099.novemberAmount) && + Objects.equals(this.decemberAmount, credit1099.decemberAmount) && + Objects.equals(this.primaryState, credit1099.primaryState) && + Objects.equals(this.secondaryState, credit1099.secondaryState) && + Objects.equals(this.primaryStateId, credit1099.primaryStateId) && + Objects.equals(this.secondaryStateId, credit1099.secondaryStateId) && + Objects.equals(this.primaryStateIncomeTax, credit1099.primaryStateIncomeTax) && + Objects.equals(this.secondaryStateIncomeTax, credit1099.secondaryStateIncomeTax); + } + + @Override + public int hashCode() { + return Objects.hash(documentId, documentMetadata, form1099Type, recipient, payer, filer, taxYear, rents, royalties, otherIncome, federalIncomeTaxWithheld, fishingBoatProceeds, medicalAndHealthcarePayments, nonemployeeCompensation, substitutePaymentsInLieuOfDividendsOrInterest, payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer, cropInsuranceProceeds, excessGoldenParachutePayments, grossProceedsPaidToAnAttorney, section409aDeferrals, section409aIncome, stateTaxWithheld, stateTaxWithheldLower, payerStateNumber, payerStateNumberLower, stateIncome, stateIncomeLower, transactionsReported, pseName, pseTelephoneNumber, grossAmount, cardNotPresentTransaction, merchantCategoryCode, numberOfPaymentTransactions, januaryAmount, februaryAmount, marchAmount, aprilAmount, mayAmount, juneAmount, julyAmount, augustAmount, septemberAmount, octoberAmount, novemberAmount, decemberAmount, primaryState, secondaryState, primaryStateId, secondaryStateId, primaryStateIncomeTax, secondaryStateIncomeTax); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Credit1099 {\n"); + sb.append(" documentId: ").append(toIndentedString(documentId)).append("\n"); + sb.append(" documentMetadata: ").append(toIndentedString(documentMetadata)).append("\n"); + sb.append(" form1099Type: ").append(toIndentedString(form1099Type)).append("\n"); + sb.append(" recipient: ").append(toIndentedString(recipient)).append("\n"); + sb.append(" payer: ").append(toIndentedString(payer)).append("\n"); + sb.append(" filer: ").append(toIndentedString(filer)).append("\n"); + sb.append(" taxYear: ").append(toIndentedString(taxYear)).append("\n"); + sb.append(" rents: ").append(toIndentedString(rents)).append("\n"); + sb.append(" royalties: ").append(toIndentedString(royalties)).append("\n"); + sb.append(" otherIncome: ").append(toIndentedString(otherIncome)).append("\n"); + sb.append(" federalIncomeTaxWithheld: ").append(toIndentedString(federalIncomeTaxWithheld)).append("\n"); + sb.append(" fishingBoatProceeds: ").append(toIndentedString(fishingBoatProceeds)).append("\n"); + sb.append(" medicalAndHealthcarePayments: ").append(toIndentedString(medicalAndHealthcarePayments)).append("\n"); + sb.append(" nonemployeeCompensation: ").append(toIndentedString(nonemployeeCompensation)).append("\n"); + sb.append(" substitutePaymentsInLieuOfDividendsOrInterest: ").append(toIndentedString(substitutePaymentsInLieuOfDividendsOrInterest)).append("\n"); + sb.append(" payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer: ").append(toIndentedString(payerMadeDirectSalesOf5000OrMoreOfConsumerProductsToBuyer)).append("\n"); + sb.append(" cropInsuranceProceeds: ").append(toIndentedString(cropInsuranceProceeds)).append("\n"); + sb.append(" excessGoldenParachutePayments: ").append(toIndentedString(excessGoldenParachutePayments)).append("\n"); + sb.append(" grossProceedsPaidToAnAttorney: ").append(toIndentedString(grossProceedsPaidToAnAttorney)).append("\n"); + sb.append(" section409aDeferrals: ").append(toIndentedString(section409aDeferrals)).append("\n"); + sb.append(" section409aIncome: ").append(toIndentedString(section409aIncome)).append("\n"); + sb.append(" stateTaxWithheld: ").append(toIndentedString(stateTaxWithheld)).append("\n"); + sb.append(" stateTaxWithheldLower: ").append(toIndentedString(stateTaxWithheldLower)).append("\n"); + sb.append(" payerStateNumber: ").append(toIndentedString(payerStateNumber)).append("\n"); + sb.append(" payerStateNumberLower: ").append(toIndentedString(payerStateNumberLower)).append("\n"); + sb.append(" stateIncome: ").append(toIndentedString(stateIncome)).append("\n"); + sb.append(" stateIncomeLower: ").append(toIndentedString(stateIncomeLower)).append("\n"); + sb.append(" transactionsReported: ").append(toIndentedString(transactionsReported)).append("\n"); + sb.append(" pseName: ").append(toIndentedString(pseName)).append("\n"); + sb.append(" pseTelephoneNumber: ").append(toIndentedString(pseTelephoneNumber)).append("\n"); + sb.append(" grossAmount: ").append(toIndentedString(grossAmount)).append("\n"); + sb.append(" cardNotPresentTransaction: ").append(toIndentedString(cardNotPresentTransaction)).append("\n"); + sb.append(" merchantCategoryCode: ").append(toIndentedString(merchantCategoryCode)).append("\n"); + sb.append(" numberOfPaymentTransactions: ").append(toIndentedString(numberOfPaymentTransactions)).append("\n"); + sb.append(" januaryAmount: ").append(toIndentedString(januaryAmount)).append("\n"); + sb.append(" februaryAmount: ").append(toIndentedString(februaryAmount)).append("\n"); + sb.append(" marchAmount: ").append(toIndentedString(marchAmount)).append("\n"); + sb.append(" aprilAmount: ").append(toIndentedString(aprilAmount)).append("\n"); + sb.append(" mayAmount: ").append(toIndentedString(mayAmount)).append("\n"); + sb.append(" juneAmount: ").append(toIndentedString(juneAmount)).append("\n"); + sb.append(" julyAmount: ").append(toIndentedString(julyAmount)).append("\n"); + sb.append(" augustAmount: ").append(toIndentedString(augustAmount)).append("\n"); + sb.append(" septemberAmount: ").append(toIndentedString(septemberAmount)).append("\n"); + sb.append(" octoberAmount: ").append(toIndentedString(octoberAmount)).append("\n"); + sb.append(" novemberAmount: ").append(toIndentedString(novemberAmount)).append("\n"); + sb.append(" decemberAmount: ").append(toIndentedString(decemberAmount)).append("\n"); + sb.append(" primaryState: ").append(toIndentedString(primaryState)).append("\n"); + sb.append(" secondaryState: ").append(toIndentedString(secondaryState)).append("\n"); + sb.append(" primaryStateId: ").append(toIndentedString(primaryStateId)).append("\n"); + sb.append(" secondaryStateId: ").append(toIndentedString(secondaryStateId)).append("\n"); + sb.append(" primaryStateIncomeTax: ").append(toIndentedString(primaryStateIncomeTax)).append("\n"); + sb.append(" secondaryStateIncomeTax: ").append(toIndentedString(secondaryStateIncomeTax)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Credit1099Filer.java b/src/main/java/com/plaid/client/model/Credit1099Filer.java new file mode 100644 index 0000000000..88610d6832 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Credit1099Filer.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditPayStubAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing a filer used by 1099-K tax documents. + */ +@ApiModel(description = "An object representing a filer used by 1099-K tax documents.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Credit1099Filer { + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private CreditPayStubAddress address; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_TIN = "tin"; + @SerializedName(SERIALIZED_NAME_TIN) + private String tin; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + + public Credit1099Filer address(CreditPayStubAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditPayStubAddress getAddress() { + return address; + } + + + public void setAddress(CreditPayStubAddress address) { + this.address = address; + } + + + public Credit1099Filer name(String name) { + + this.name = name; + return this; + } + + /** + * Name of filer. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of filer.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public Credit1099Filer tin(String tin) { + + this.tin = tin; + return this; + } + + /** + * Tax identification number of filer. + * @return tin + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Tax identification number of filer.") + + public String getTin() { + return tin; + } + + + public void setTin(String tin) { + this.tin = tin; + } + + + public Credit1099Filer type(String type) { + + this.type = type; + return this; + } + + /** + * One of the following values will be provided: Payment Settlement Entity (PSE), Electronic Payment Facilitator (EPF), Other Third Party + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "One of the following values will be provided: Payment Settlement Entity (PSE), Electronic Payment Facilitator (EPF), Other Third Party") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Credit1099Filer credit1099Filer = (Credit1099Filer) o; + return Objects.equals(this.address, credit1099Filer.address) && + Objects.equals(this.name, credit1099Filer.name) && + Objects.equals(this.tin, credit1099Filer.tin) && + Objects.equals(this.type, credit1099Filer.type); + } + + @Override + public int hashCode() { + return Objects.hash(address, name, tin, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Credit1099Filer {\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" tin: ").append(toIndentedString(tin)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Credit1099Payer.java b/src/main/java/com/plaid/client/model/Credit1099Payer.java new file mode 100644 index 0000000000..38c3f4dea0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Credit1099Payer.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditPayStubAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing a payer used by 1099-MISC tax documents. + */ +@ApiModel(description = "An object representing a payer used by 1099-MISC tax documents.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Credit1099Payer { + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private CreditPayStubAddress address; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_TIN = "tin"; + @SerializedName(SERIALIZED_NAME_TIN) + private String tin; + + public static final String SERIALIZED_NAME_TELEPHONE_NUMBER = "telephone_number"; + @SerializedName(SERIALIZED_NAME_TELEPHONE_NUMBER) + private String telephoneNumber; + + + public Credit1099Payer address(CreditPayStubAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditPayStubAddress getAddress() { + return address; + } + + + public void setAddress(CreditPayStubAddress address) { + this.address = address; + } + + + public Credit1099Payer name(String name) { + + this.name = name; + return this; + } + + /** + * Name of payer. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of payer.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public Credit1099Payer tin(String tin) { + + this.tin = tin; + return this; + } + + /** + * Tax identification number of payer. + * @return tin + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Tax identification number of payer.") + + public String getTin() { + return tin; + } + + + public void setTin(String tin) { + this.tin = tin; + } + + + public Credit1099Payer telephoneNumber(String telephoneNumber) { + + this.telephoneNumber = telephoneNumber; + return this; + } + + /** + * Telephone number of payer. + * @return telephoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Telephone number of payer.") + + public String getTelephoneNumber() { + return telephoneNumber; + } + + + public void setTelephoneNumber(String telephoneNumber) { + this.telephoneNumber = telephoneNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Credit1099Payer credit1099Payer = (Credit1099Payer) o; + return Objects.equals(this.address, credit1099Payer.address) && + Objects.equals(this.name, credit1099Payer.name) && + Objects.equals(this.tin, credit1099Payer.tin) && + Objects.equals(this.telephoneNumber, credit1099Payer.telephoneNumber); + } + + @Override + public int hashCode() { + return Objects.hash(address, name, tin, telephoneNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Credit1099Payer {\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" tin: ").append(toIndentedString(tin)).append("\n"); + sb.append(" telephoneNumber: ").append(toIndentedString(telephoneNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Credit1099Recipient.java b/src/main/java/com/plaid/client/model/Credit1099Recipient.java new file mode 100644 index 0000000000..f0b2b44500 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Credit1099Recipient.java @@ -0,0 +1,245 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditPayStubAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing a recipient used in both 1099-K and 1099-MISC tax documents. + */ +@ApiModel(description = "An object representing a recipient used in both 1099-K and 1099-MISC tax documents.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Credit1099Recipient { + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private CreditPayStubAddress address; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_TIN = "tin"; + @SerializedName(SERIALIZED_NAME_TIN) + private String tin; + + public static final String SERIALIZED_NAME_ACCOUNT_NUMBER = "account_number"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBER) + private String accountNumber; + + public static final String SERIALIZED_NAME_FACTA_FILING_REQUIREMENT = "facta_filing_requirement"; + @SerializedName(SERIALIZED_NAME_FACTA_FILING_REQUIREMENT) + private String factaFilingRequirement; + + public static final String SERIALIZED_NAME_SECOND_TIN_EXISTS = "second_tin_exists"; + @SerializedName(SERIALIZED_NAME_SECOND_TIN_EXISTS) + private String secondTinExists; + + + public Credit1099Recipient address(CreditPayStubAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditPayStubAddress getAddress() { + return address; + } + + + public void setAddress(CreditPayStubAddress address) { + this.address = address; + } + + + public Credit1099Recipient name(String name) { + + this.name = name; + return this; + } + + /** + * Name of recipient. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of recipient.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public Credit1099Recipient tin(String tin) { + + this.tin = tin; + return this; + } + + /** + * Tax identification number of recipient. + * @return tin + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Tax identification number of recipient.") + + public String getTin() { + return tin; + } + + + public void setTin(String tin) { + this.tin = tin; + } + + + public Credit1099Recipient accountNumber(String accountNumber) { + + this.accountNumber = accountNumber; + return this; + } + + /** + * Account number of recipient. + * @return accountNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Account number of recipient.") + + public String getAccountNumber() { + return accountNumber; + } + + + public void setAccountNumber(String accountNumber) { + this.accountNumber = accountNumber; + } + + + public Credit1099Recipient factaFilingRequirement(String factaFilingRequirement) { + + this.factaFilingRequirement = factaFilingRequirement; + return this; + } + + /** + * Checked if FATCA is a filing requirement. + * @return factaFilingRequirement + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Checked if FATCA is a filing requirement.") + + public String getFactaFilingRequirement() { + return factaFilingRequirement; + } + + + public void setFactaFilingRequirement(String factaFilingRequirement) { + this.factaFilingRequirement = factaFilingRequirement; + } + + + public Credit1099Recipient secondTinExists(String secondTinExists) { + + this.secondTinExists = secondTinExists; + return this; + } + + /** + * Checked if 2nd TIN exists. + * @return secondTinExists + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Checked if 2nd TIN exists.") + + public String getSecondTinExists() { + return secondTinExists; + } + + + public void setSecondTinExists(String secondTinExists) { + this.secondTinExists = secondTinExists; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Credit1099Recipient credit1099Recipient = (Credit1099Recipient) o; + return Objects.equals(this.address, credit1099Recipient.address) && + Objects.equals(this.name, credit1099Recipient.name) && + Objects.equals(this.tin, credit1099Recipient.tin) && + Objects.equals(this.accountNumber, credit1099Recipient.accountNumber) && + Objects.equals(this.factaFilingRequirement, credit1099Recipient.factaFilingRequirement) && + Objects.equals(this.secondTinExists, credit1099Recipient.secondTinExists); + } + + @Override + public int hashCode() { + return Objects.hash(address, name, tin, accountNumber, factaFilingRequirement, secondTinExists); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Credit1099Recipient {\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" tin: ").append(toIndentedString(tin)).append("\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).append("\n"); + sb.append(" factaFilingRequirement: ").append(toIndentedString(factaFilingRequirement)).append("\n"); + sb.append(" secondTinExists: ").append(toIndentedString(secondTinExists)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditACHClass.java b/src/main/java/com/plaid/client/model/CreditACHClass.java new file mode 100644 index 0000000000..8a2a3ce071 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditACHClass.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Specifies the use case of the transfer. Required for transfers on an ACH network. `\"ccd\"` - Corporate Credit or Debit - fund transfer between two corporate bank accounts `\"ppd\"` - Prearranged Payment or Deposit - The transfer is part of a pre-existing relationship with a consumer. Authorization was obtained in writing either in person or via an electronic document signing, e.g. Docusign, by the consumer. Can be used for credits or debits. `\"web\"` - Internet-Initiated Entry. The transfer debits a consumer's bank account. Authorization from the consumer is obtained over the Internet (e.g. a web or mobile application). Can be used for single debits or recurring debits. + */ +@JsonAdapter(CreditACHClass.Adapter.class) +public enum CreditACHClass { + + CCD("ccd"), + + PPD("ppd"), + + WEB("web"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CreditACHClass(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CreditACHClass fromValue(String value) { + for (CreditACHClass b : CreditACHClass.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CreditACHClass.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CreditACHClass enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CreditACHClass read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CreditACHClass.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CreditAccountSubtype.java b/src/main/java/com/plaid/client/model/CreditAccountSubtype.java new file mode 100644 index 0000000000..3052e9afbf --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditAccountSubtype.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Valid account subtypes for credit accounts. For a list containing descriptions of each subtype, see [Account schemas](https://plaid.com/docs/api/accounts/#StandaloneAccountType-credit). + */ +@JsonAdapter(CreditAccountSubtype.Adapter.class) +public enum CreditAccountSubtype { + + CREDIT_CARD("credit card"), + + PAYPAL("paypal"), + + ALL("all"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CreditAccountSubtype(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CreditAccountSubtype fromValue(String value) { + for (CreditAccountSubtype b : CreditAccountSubtype.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CreditAccountSubtype.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CreditAccountSubtype enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CreditAccountSubtype read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CreditAccountSubtype.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CreditAmountWithCurrency.java b/src/main/java/com/plaid/client/model/CreditAmountWithCurrency.java new file mode 100644 index 0000000000..382d2514f3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditAmountWithCurrency.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * This contains an amount, denominated in the currency specified by either `iso_currency_code` or `unofficial_currency_code` + */ +@ApiModel(description = "This contains an amount, denominated in the currency specified by either `iso_currency_code` or `unofficial_currency_code`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditAmountWithCurrency { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CreditAmountWithCurrency amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CreditAmountWithCurrency isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CreditAmountWithCurrency unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditAmountWithCurrency creditAmountWithCurrency = (CreditAmountWithCurrency) o; + return Objects.equals(this.amount, creditAmountWithCurrency.amount) && + Objects.equals(this.isoCurrencyCode, creditAmountWithCurrency.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, creditAmountWithCurrency.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditAmountWithCurrency {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditAuditCopyTokenCreateRequest.java b/src/main/java/com/plaid/client/model/CreditAuditCopyTokenCreateRequest.java new file mode 100644 index 0000000000..9fd4908047 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditAuditCopyTokenCreateRequest.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CreditAuditCopyTokenCreateRequest defines the request schema for `/credit/audit_copy_token/create` + */ +@ApiModel(description = "CreditAuditCopyTokenCreateRequest defines the request schema for `/credit/audit_copy_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditAuditCopyTokenCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_REPORT_TOKENS = "report_tokens"; + @SerializedName(SERIALIZED_NAME_REPORT_TOKENS) + private List reportTokens = new ArrayList<>(); + + + public CreditAuditCopyTokenCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditAuditCopyTokenCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditAuditCopyTokenCreateRequest reportTokens(List reportTokens) { + + this.reportTokens = reportTokens; + return this; + } + + public CreditAuditCopyTokenCreateRequest addReportTokensItem(String reportTokensItem) { + this.reportTokens.add(reportTokensItem); + return this; + } + + /** + * List of report tokens; can include at most one VOA/standard Asset Report tokens and one VOE Asset Report Token. + * @return reportTokens + **/ + @ApiModelProperty(required = true, value = "List of report tokens; can include at most one VOA/standard Asset Report tokens and one VOE Asset Report Token.") + + public List getReportTokens() { + return reportTokens; + } + + + public void setReportTokens(List reportTokens) { + this.reportTokens = reportTokens; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditAuditCopyTokenCreateRequest creditAuditCopyTokenCreateRequest = (CreditAuditCopyTokenCreateRequest) o; + return Objects.equals(this.clientId, creditAuditCopyTokenCreateRequest.clientId) && + Objects.equals(this.secret, creditAuditCopyTokenCreateRequest.secret) && + Objects.equals(this.reportTokens, creditAuditCopyTokenCreateRequest.reportTokens); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, reportTokens); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditAuditCopyTokenCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" reportTokens: ").append(toIndentedString(reportTokens)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditAuditCopyTokenCreateResponse.java b/src/main/java/com/plaid/client/model/CreditAuditCopyTokenCreateResponse.java new file mode 100644 index 0000000000..1f1076539b --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditAuditCopyTokenCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditAuditCopyTokenCreateResponse defines the response schema for `/credit/audit_copy_token/create` + */ +@ApiModel(description = "CreditAuditCopyTokenCreateResponse defines the response schema for `/credit/audit_copy_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditAuditCopyTokenCreateResponse { + public static final String SERIALIZED_NAME_AUDIT_COPY_TOKEN = "audit_copy_token"; + @SerializedName(SERIALIZED_NAME_AUDIT_COPY_TOKEN) + private String auditCopyToken; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditAuditCopyTokenCreateResponse auditCopyToken(String auditCopyToken) { + + this.auditCopyToken = auditCopyToken; + return this; + } + + /** + * A token that can be shared with a third party auditor, which allows them to fetch the Asset Reports attached to the token. This token should be stored securely. + * @return auditCopyToken + **/ + @ApiModelProperty(required = true, value = "A token that can be shared with a third party auditor, which allows them to fetch the Asset Reports attached to the token. This token should be stored securely.") + + public String getAuditCopyToken() { + return auditCopyToken; + } + + + public void setAuditCopyToken(String auditCopyToken) { + this.auditCopyToken = auditCopyToken; + } + + + public CreditAuditCopyTokenCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditAuditCopyTokenCreateResponse creditAuditCopyTokenCreateResponse = (CreditAuditCopyTokenCreateResponse) o; + return Objects.equals(this.auditCopyToken, creditAuditCopyTokenCreateResponse.auditCopyToken) && + Objects.equals(this.requestId, creditAuditCopyTokenCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(auditCopyToken, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditAuditCopyTokenCreateResponse {\n"); + sb.append(" auditCopyToken: ").append(toIndentedString(auditCopyToken)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditAuditCopyTokenRemoveRequest.java b/src/main/java/com/plaid/client/model/CreditAuditCopyTokenRemoveRequest.java new file mode 100644 index 0000000000..7b4bbc3768 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditAuditCopyTokenRemoveRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditAuditCopyTokenRemoveRequest defines the request schema for `/credit/audit_copy_token/remove` + */ +@ApiModel(description = "CreditAuditCopyTokenRemoveRequest defines the request schema for `/credit/audit_copy_token/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditAuditCopyTokenRemoveRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_AUDIT_COPY_TOKEN = "audit_copy_token"; + @SerializedName(SERIALIZED_NAME_AUDIT_COPY_TOKEN) + private String auditCopyToken; + + + public CreditAuditCopyTokenRemoveRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditAuditCopyTokenRemoveRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditAuditCopyTokenRemoveRequest auditCopyToken(String auditCopyToken) { + + this.auditCopyToken = auditCopyToken; + return this; + } + + /** + * The `audit_copy_token` granting access to the Audit Copy you would like to revoke. + * @return auditCopyToken + **/ + @ApiModelProperty(required = true, value = "The `audit_copy_token` granting access to the Audit Copy you would like to revoke.") + + public String getAuditCopyToken() { + return auditCopyToken; + } + + + public void setAuditCopyToken(String auditCopyToken) { + this.auditCopyToken = auditCopyToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditAuditCopyTokenRemoveRequest creditAuditCopyTokenRemoveRequest = (CreditAuditCopyTokenRemoveRequest) o; + return Objects.equals(this.clientId, creditAuditCopyTokenRemoveRequest.clientId) && + Objects.equals(this.secret, creditAuditCopyTokenRemoveRequest.secret) && + Objects.equals(this.auditCopyToken, creditAuditCopyTokenRemoveRequest.auditCopyToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, auditCopyToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditAuditCopyTokenRemoveRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" auditCopyToken: ").append(toIndentedString(auditCopyToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditAuditCopyTokenRemoveResponse.java b/src/main/java/com/plaid/client/model/CreditAuditCopyTokenRemoveResponse.java new file mode 100644 index 0000000000..e9471c1689 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditAuditCopyTokenRemoveResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditAuditCopyTokenRemoveResponse defines the response schema for `/credit/audit_copy_token/remove` + */ +@ApiModel(description = "CreditAuditCopyTokenRemoveResponse defines the response schema for `/credit/audit_copy_token/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditAuditCopyTokenRemoveResponse { + public static final String SERIALIZED_NAME_REMOVED = "removed"; + @SerializedName(SERIALIZED_NAME_REMOVED) + private Boolean removed; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditAuditCopyTokenRemoveResponse removed(Boolean removed) { + + this.removed = removed; + return this; + } + + /** + * `true` if the Audit Copy was successfully removed. + * @return removed + **/ + @ApiModelProperty(required = true, value = "`true` if the Audit Copy was successfully removed.") + + public Boolean getRemoved() { + return removed; + } + + + public void setRemoved(Boolean removed) { + this.removed = removed; + } + + + public CreditAuditCopyTokenRemoveResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditAuditCopyTokenRemoveResponse creditAuditCopyTokenRemoveResponse = (CreditAuditCopyTokenRemoveResponse) o; + return Objects.equals(this.removed, creditAuditCopyTokenRemoveResponse.removed) && + Objects.equals(this.requestId, creditAuditCopyTokenRemoveResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(removed, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditAuditCopyTokenRemoveResponse {\n"); + sb.append(" removed: ").append(toIndentedString(removed)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditAuditCopyTokenUpdateRequest.java b/src/main/java/com/plaid/client/model/CreditAuditCopyTokenUpdateRequest.java new file mode 100644 index 0000000000..08c3326862 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditAuditCopyTokenUpdateRequest.java @@ -0,0 +1,191 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CreditAuditCopyTokenUpdateRequest defines the request schema for `/credit/audit_copy_token/update` + */ +@ApiModel(description = "CreditAuditCopyTokenUpdateRequest defines the request schema for `/credit/audit_copy_token/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditAuditCopyTokenUpdateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_AUDIT_COPY_TOKEN = "audit_copy_token"; + @SerializedName(SERIALIZED_NAME_AUDIT_COPY_TOKEN) + private String auditCopyToken; + + public static final String SERIALIZED_NAME_REPORT_TOKENS = "report_tokens"; + @SerializedName(SERIALIZED_NAME_REPORT_TOKENS) + private List reportTokens = new ArrayList<>(); + + + public CreditAuditCopyTokenUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditAuditCopyTokenUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditAuditCopyTokenUpdateRequest auditCopyToken(String auditCopyToken) { + + this.auditCopyToken = auditCopyToken; + return this; + } + + /** + * The `audit_copy_token` you would like to update. + * @return auditCopyToken + **/ + @ApiModelProperty(required = true, value = "The `audit_copy_token` you would like to update.") + + public String getAuditCopyToken() { + return auditCopyToken; + } + + + public void setAuditCopyToken(String auditCopyToken) { + this.auditCopyToken = auditCopyToken; + } + + + public CreditAuditCopyTokenUpdateRequest reportTokens(List reportTokens) { + + this.reportTokens = reportTokens; + return this; + } + + public CreditAuditCopyTokenUpdateRequest addReportTokensItem(String reportTokensItem) { + this.reportTokens.add(reportTokensItem); + return this; + } + + /** + * Array of tokens which the specified Audit Copy Token will be updated with. The types of token supported are asset report token and employment report token. There can be at most 1 of each token type in the array. + * @return reportTokens + **/ + @ApiModelProperty(required = true, value = "Array of tokens which the specified Audit Copy Token will be updated with. The types of token supported are asset report token and employment report token. There can be at most 1 of each token type in the array.") + + public List getReportTokens() { + return reportTokens; + } + + + public void setReportTokens(List reportTokens) { + this.reportTokens = reportTokens; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditAuditCopyTokenUpdateRequest creditAuditCopyTokenUpdateRequest = (CreditAuditCopyTokenUpdateRequest) o; + return Objects.equals(this.clientId, creditAuditCopyTokenUpdateRequest.clientId) && + Objects.equals(this.secret, creditAuditCopyTokenUpdateRequest.secret) && + Objects.equals(this.auditCopyToken, creditAuditCopyTokenUpdateRequest.auditCopyToken) && + Objects.equals(this.reportTokens, creditAuditCopyTokenUpdateRequest.reportTokens); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, auditCopyToken, reportTokens); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditAuditCopyTokenUpdateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" auditCopyToken: ").append(toIndentedString(auditCopyToken)).append("\n"); + sb.append(" reportTokens: ").append(toIndentedString(reportTokens)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditAuditCopyTokenUpdateResponse.java b/src/main/java/com/plaid/client/model/CreditAuditCopyTokenUpdateResponse.java new file mode 100644 index 0000000000..6a63debac6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditAuditCopyTokenUpdateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/credit/audit_copy_token/update` + */ +@ApiModel(description = "Defines the response schema for `/credit/audit_copy_token/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditAuditCopyTokenUpdateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_UPDATED = "updated"; + @SerializedName(SERIALIZED_NAME_UPDATED) + private Boolean updated; + + + public CreditAuditCopyTokenUpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CreditAuditCopyTokenUpdateResponse updated(Boolean updated) { + + this.updated = updated; + return this; + } + + /** + * `true` if the Audit Copy Token was successfully updated. + * @return updated + **/ + @ApiModelProperty(required = true, value = "`true` if the Audit Copy Token was successfully updated.") + + public Boolean getUpdated() { + return updated; + } + + + public void setUpdated(Boolean updated) { + this.updated = updated; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditAuditCopyTokenUpdateResponse creditAuditCopyTokenUpdateResponse = (CreditAuditCopyTokenUpdateResponse) o; + return Objects.equals(this.requestId, creditAuditCopyTokenUpdateResponse.requestId) && + Objects.equals(this.updated, creditAuditCopyTokenUpdateResponse.updated); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, updated); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditAuditCopyTokenUpdateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" updated: ").append(toIndentedString(updated)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankEmployer.java b/src/main/java/com/plaid/client/model/CreditBankEmployer.java new file mode 100644 index 0000000000..2c253991a8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankEmployer.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Object containing employer data. + */ +@ApiModel(description = "Object containing employer data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankEmployer { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + + public CreditBankEmployer name(String name) { + + this.name = name; + return this; + } + + /** + * Name of the employer. + * @return name + **/ + @ApiModelProperty(required = true, value = "Name of the employer.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankEmployer creditBankEmployer = (CreditBankEmployer) o; + return Objects.equals(this.name, creditBankEmployer.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankEmployer {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankEmployment.java b/src/main/java/com/plaid/client/model/CreditBankEmployment.java new file mode 100644 index 0000000000..c8ae875284 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankEmployment.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankEmployer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Detailed information for the bank employment. + */ +@ApiModel(description = "Detailed information for the bank employment.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankEmployment { + public static final String SERIALIZED_NAME_BANK_EMPLOYMENT_ID = "bank_employment_id"; + @SerializedName(SERIALIZED_NAME_BANK_EMPLOYMENT_ID) + private String bankEmploymentId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_EMPLOYER = "employer"; + @SerializedName(SERIALIZED_NAME_EMPLOYER) + private CreditBankEmployer employer; + + public static final String SERIALIZED_NAME_LATEST_DEPOSIT_DATE = "latest_deposit_date"; + @SerializedName(SERIALIZED_NAME_LATEST_DEPOSIT_DATE) + private LocalDate latestDepositDate; + + public static final String SERIALIZED_NAME_EARLIEST_DEPOSIT_DATE = "earliest_deposit_date"; + @SerializedName(SERIALIZED_NAME_EARLIEST_DEPOSIT_DATE) + private LocalDate earliestDepositDate; + + + public CreditBankEmployment bankEmploymentId(String bankEmploymentId) { + + this.bankEmploymentId = bankEmploymentId; + return this; + } + + /** + * A unique identifier for the bank employment. + * @return bankEmploymentId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the bank employment.") + + public String getBankEmploymentId() { + return bankEmploymentId; + } + + + public void setBankEmploymentId(String bankEmploymentId) { + this.bankEmploymentId = bankEmploymentId; + } + + + public CreditBankEmployment accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CreditBankEmployment employer(CreditBankEmployer employer) { + + this.employer = employer; + return this; + } + + /** + * Get employer + * @return employer + **/ + @ApiModelProperty(required = true, value = "") + + public CreditBankEmployer getEmployer() { + return employer; + } + + + public void setEmployer(CreditBankEmployer employer) { + this.employer = employer; + } + + + public CreditBankEmployment latestDepositDate(LocalDate latestDepositDate) { + + this.latestDepositDate = latestDepositDate; + return this; + } + + /** + * The date of the most recent deposit from this employer. + * @return latestDepositDate + **/ + @ApiModelProperty(required = true, value = "The date of the most recent deposit from this employer.") + + public LocalDate getLatestDepositDate() { + return latestDepositDate; + } + + + public void setLatestDepositDate(LocalDate latestDepositDate) { + this.latestDepositDate = latestDepositDate; + } + + + public CreditBankEmployment earliestDepositDate(LocalDate earliestDepositDate) { + + this.earliestDepositDate = earliestDepositDate; + return this; + } + + /** + * The date of the earliest deposit from this employer from within the period of the days requested. + * @return earliestDepositDate + **/ + @ApiModelProperty(required = true, value = "The date of the earliest deposit from this employer from within the period of the days requested.") + + public LocalDate getEarliestDepositDate() { + return earliestDepositDate; + } + + + public void setEarliestDepositDate(LocalDate earliestDepositDate) { + this.earliestDepositDate = earliestDepositDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankEmployment creditBankEmployment = (CreditBankEmployment) o; + return Objects.equals(this.bankEmploymentId, creditBankEmployment.bankEmploymentId) && + Objects.equals(this.accountId, creditBankEmployment.accountId) && + Objects.equals(this.employer, creditBankEmployment.employer) && + Objects.equals(this.latestDepositDate, creditBankEmployment.latestDepositDate) && + Objects.equals(this.earliestDepositDate, creditBankEmployment.earliestDepositDate); + } + + @Override + public int hashCode() { + return Objects.hash(bankEmploymentId, accountId, employer, latestDepositDate, earliestDepositDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankEmployment {\n"); + sb.append(" bankEmploymentId: ").append(toIndentedString(bankEmploymentId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" employer: ").append(toIndentedString(employer)).append("\n"); + sb.append(" latestDepositDate: ").append(toIndentedString(latestDepositDate)).append("\n"); + sb.append(" earliestDepositDate: ").append(toIndentedString(earliestDepositDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankEmploymentGetRequest.java b/src/main/java/com/plaid/client/model/CreditBankEmploymentGetRequest.java new file mode 100644 index 0000000000..34fa1971a4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankEmploymentGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditBankEmploymentGetRequest defines the request schema for `/beta/credit/v1/bank_employment/get`. + */ +@ApiModel(description = "CreditBankEmploymentGetRequest defines the request schema for `/beta/credit/v1/bank_employment/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankEmploymentGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + + public CreditBankEmploymentGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditBankEmploymentGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditBankEmploymentGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @ApiModelProperty(required = true, value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankEmploymentGetRequest creditBankEmploymentGetRequest = (CreditBankEmploymentGetRequest) o; + return Objects.equals(this.clientId, creditBankEmploymentGetRequest.clientId) && + Objects.equals(this.secret, creditBankEmploymentGetRequest.secret) && + Objects.equals(this.userToken, creditBankEmploymentGetRequest.userToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankEmploymentGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankEmploymentGetResponse.java b/src/main/java/com/plaid/client/model/CreditBankEmploymentGetResponse.java new file mode 100644 index 0000000000..ce2d778f5d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankEmploymentGetResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankEmploymentReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CreditBankEmploymentGetResponse defines the response schema for `/beta/credit/v1/bank_employment/get`. + */ +@ApiModel(description = "CreditBankEmploymentGetResponse defines the response schema for `/beta/credit/v1/bank_employment/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankEmploymentGetResponse { + public static final String SERIALIZED_NAME_BANK_EMPLOYMENT_REPORTS = "bank_employment_reports"; + @SerializedName(SERIALIZED_NAME_BANK_EMPLOYMENT_REPORTS) + private List bankEmploymentReports = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditBankEmploymentGetResponse bankEmploymentReports(List bankEmploymentReports) { + + this.bankEmploymentReports = bankEmploymentReports; + return this; + } + + public CreditBankEmploymentGetResponse addBankEmploymentReportsItem(CreditBankEmploymentReport bankEmploymentReportsItem) { + this.bankEmploymentReports.add(bankEmploymentReportsItem); + return this; + } + + /** + * Bank Employment data. Each entry in the array will be a distinct bank employment report. + * @return bankEmploymentReports + **/ + @ApiModelProperty(required = true, value = "Bank Employment data. Each entry in the array will be a distinct bank employment report.") + + public List getBankEmploymentReports() { + return bankEmploymentReports; + } + + + public void setBankEmploymentReports(List bankEmploymentReports) { + this.bankEmploymentReports = bankEmploymentReports; + } + + + public CreditBankEmploymentGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankEmploymentGetResponse creditBankEmploymentGetResponse = (CreditBankEmploymentGetResponse) o; + return Objects.equals(this.bankEmploymentReports, creditBankEmploymentGetResponse.bankEmploymentReports) && + Objects.equals(this.requestId, creditBankEmploymentGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(bankEmploymentReports, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankEmploymentGetResponse {\n"); + sb.append(" bankEmploymentReports: ").append(toIndentedString(bankEmploymentReports)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankEmploymentItem.java b/src/main/java/com/plaid/client/model/CreditBankEmploymentItem.java new file mode 100644 index 0000000000..73a178fef3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankEmploymentItem.java @@ -0,0 +1,253 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankEmployment; +import com.plaid.client.model.CreditBankIncomeAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * The details and metadata for an end user's Item. + */ +@ApiModel(description = "The details and metadata for an end user's Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankEmploymentItem { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_LAST_UPDATED_TIME = "last_updated_time"; + @SerializedName(SERIALIZED_NAME_LAST_UPDATED_TIME) + private OffsetDateTime lastUpdatedTime; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_BANK_EMPLOYMENTS = "bank_employments"; + @SerializedName(SERIALIZED_NAME_BANK_EMPLOYMENTS) + private List bankEmployments = new ArrayList<>(); + + public static final String SERIALIZED_NAME_BANK_EMPLOYMENT_ACCOUNTS = "bank_employment_accounts"; + @SerializedName(SERIALIZED_NAME_BANK_EMPLOYMENT_ACCOUNTS) + private List bankEmploymentAccounts = new ArrayList<>(); + + + public CreditBankEmploymentItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The unique identifier for the Item. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The unique identifier for the Item.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CreditBankEmploymentItem lastUpdatedTime(OffsetDateTime lastUpdatedTime) { + + this.lastUpdatedTime = lastUpdatedTime; + return this; + } + + /** + * The time when this Item's data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\"). + * @return lastUpdatedTime + **/ + @ApiModelProperty(required = true, value = "The time when this Item's data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\").") + + public OffsetDateTime getLastUpdatedTime() { + return lastUpdatedTime; + } + + + public void setLastUpdatedTime(OffsetDateTime lastUpdatedTime) { + this.lastUpdatedTime = lastUpdatedTime; + } + + + public CreditBankEmploymentItem institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The unique identifier of the institution associated with the Item. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The unique identifier of the institution associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public CreditBankEmploymentItem institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The name of the institution associated with the Item. + * @return institutionName + **/ + @ApiModelProperty(required = true, value = "The name of the institution associated with the Item.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public CreditBankEmploymentItem bankEmployments(List bankEmployments) { + + this.bankEmployments = bankEmployments; + return this; + } + + public CreditBankEmploymentItem addBankEmploymentsItem(CreditBankEmployment bankEmploymentsItem) { + this.bankEmployments.add(bankEmploymentsItem); + return this; + } + + /** + * The bank employment information for this Item. Each entry in the array is a different employer found. + * @return bankEmployments + **/ + @ApiModelProperty(required = true, value = "The bank employment information for this Item. Each entry in the array is a different employer found.") + + public List getBankEmployments() { + return bankEmployments; + } + + + public void setBankEmployments(List bankEmployments) { + this.bankEmployments = bankEmployments; + } + + + public CreditBankEmploymentItem bankEmploymentAccounts(List bankEmploymentAccounts) { + + this.bankEmploymentAccounts = bankEmploymentAccounts; + return this; + } + + public CreditBankEmploymentItem addBankEmploymentAccountsItem(CreditBankIncomeAccount bankEmploymentAccountsItem) { + this.bankEmploymentAccounts.add(bankEmploymentAccountsItem); + return this; + } + + /** + * The Item's accounts that have Bank Employment data. + * @return bankEmploymentAccounts + **/ + @ApiModelProperty(required = true, value = "The Item's accounts that have Bank Employment data.") + + public List getBankEmploymentAccounts() { + return bankEmploymentAccounts; + } + + + public void setBankEmploymentAccounts(List bankEmploymentAccounts) { + this.bankEmploymentAccounts = bankEmploymentAccounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankEmploymentItem creditBankEmploymentItem = (CreditBankEmploymentItem) o; + return Objects.equals(this.itemId, creditBankEmploymentItem.itemId) && + Objects.equals(this.lastUpdatedTime, creditBankEmploymentItem.lastUpdatedTime) && + Objects.equals(this.institutionId, creditBankEmploymentItem.institutionId) && + Objects.equals(this.institutionName, creditBankEmploymentItem.institutionName) && + Objects.equals(this.bankEmployments, creditBankEmploymentItem.bankEmployments) && + Objects.equals(this.bankEmploymentAccounts, creditBankEmploymentItem.bankEmploymentAccounts); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, lastUpdatedTime, institutionId, institutionName, bankEmployments, bankEmploymentAccounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankEmploymentItem {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" lastUpdatedTime: ").append(toIndentedString(lastUpdatedTime)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" bankEmployments: ").append(toIndentedString(bankEmployments)).append("\n"); + sb.append(" bankEmploymentAccounts: ").append(toIndentedString(bankEmploymentAccounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankEmploymentReport.java b/src/main/java/com/plaid/client/model/CreditBankEmploymentReport.java new file mode 100644 index 0000000000..be19173e9f --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankEmploymentReport.java @@ -0,0 +1,225 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankEmploymentItem; +import com.plaid.client.model.CreditBankEmploymentWarning; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * The report of the Bank Employment data for an end user. + */ +@ApiModel(description = "The report of the Bank Employment data for an end user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankEmploymentReport { + public static final String SERIALIZED_NAME_BANK_EMPLOYMENT_REPORT_ID = "bank_employment_report_id"; + @SerializedName(SERIALIZED_NAME_BANK_EMPLOYMENT_REPORT_ID) + private String bankEmploymentReportId; + + public static final String SERIALIZED_NAME_GENERATED_TIME = "generated_time"; + @SerializedName(SERIALIZED_NAME_GENERATED_TIME) + private OffsetDateTime generatedTime; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = new ArrayList<>(); + + + public CreditBankEmploymentReport bankEmploymentReportId(String bankEmploymentReportId) { + + this.bankEmploymentReportId = bankEmploymentReportId; + return this; + } + + /** + * The unique identifier associated with the Bank Employment Report. + * @return bankEmploymentReportId + **/ + @ApiModelProperty(required = true, value = "The unique identifier associated with the Bank Employment Report.") + + public String getBankEmploymentReportId() { + return bankEmploymentReportId; + } + + + public void setBankEmploymentReportId(String bankEmploymentReportId) { + this.bankEmploymentReportId = bankEmploymentReportId; + } + + + public CreditBankEmploymentReport generatedTime(OffsetDateTime generatedTime) { + + this.generatedTime = generatedTime; + return this; + } + + /** + * The time when the Bank Employment Report was generated, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\"). + * @return generatedTime + **/ + @ApiModelProperty(required = true, value = "The time when the Bank Employment Report was generated, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\").") + + public OffsetDateTime getGeneratedTime() { + return generatedTime; + } + + + public void setGeneratedTime(OffsetDateTime generatedTime) { + this.generatedTime = generatedTime; + } + + + public CreditBankEmploymentReport daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days requested by the customer for the Bank Employment Report. + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The number of days requested by the customer for the Bank Employment Report.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + public CreditBankEmploymentReport items(List items) { + + this.items = items; + return this; + } + + public CreditBankEmploymentReport addItemsItem(CreditBankEmploymentItem itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * The list of Items in the report along with the associated metadata about the Item. + * @return items + **/ + @ApiModelProperty(required = true, value = "The list of Items in the report along with the associated metadata about the Item.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + public CreditBankEmploymentReport warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public CreditBankEmploymentReport addWarningsItem(CreditBankEmploymentWarning warningsItem) { + this.warnings.add(warningsItem); + return this; + } + + /** + * If data from the Bank Employment report was unable to be retrieved, the warnings will contain information about the error that caused the data to be incomplete. + * @return warnings + **/ + @ApiModelProperty(required = true, value = "If data from the Bank Employment report was unable to be retrieved, the warnings will contain information about the error that caused the data to be incomplete.") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankEmploymentReport creditBankEmploymentReport = (CreditBankEmploymentReport) o; + return Objects.equals(this.bankEmploymentReportId, creditBankEmploymentReport.bankEmploymentReportId) && + Objects.equals(this.generatedTime, creditBankEmploymentReport.generatedTime) && + Objects.equals(this.daysRequested, creditBankEmploymentReport.daysRequested) && + Objects.equals(this.items, creditBankEmploymentReport.items) && + Objects.equals(this.warnings, creditBankEmploymentReport.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(bankEmploymentReportId, generatedTime, daysRequested, items, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankEmploymentReport {\n"); + sb.append(" bankEmploymentReportId: ").append(toIndentedString(bankEmploymentReportId)).append("\n"); + sb.append(" generatedTime: ").append(toIndentedString(generatedTime)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankEmploymentWarning.java b/src/main/java/com/plaid/client/model/CreditBankEmploymentWarning.java new file mode 100644 index 0000000000..a3c1da7fbf --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankEmploymentWarning.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankEmploymentWarningType; +import com.plaid.client.model.CreditBankIncomeCause; +import com.plaid.client.model.CreditBankIncomeWarningCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The warning associated with the data that was unavailable for the Bank Employment Report. + */ +@ApiModel(description = "The warning associated with the data that was unavailable for the Bank Employment Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankEmploymentWarning { + public static final String SERIALIZED_NAME_WARNING_TYPE = "warning_type"; + @SerializedName(SERIALIZED_NAME_WARNING_TYPE) + private CreditBankEmploymentWarningType warningType; + + public static final String SERIALIZED_NAME_WARNING_CODE = "warning_code"; + @SerializedName(SERIALIZED_NAME_WARNING_CODE) + private CreditBankIncomeWarningCode warningCode; + + public static final String SERIALIZED_NAME_CAUSE = "cause"; + @SerializedName(SERIALIZED_NAME_CAUSE) + private CreditBankIncomeCause cause; + + + public CreditBankEmploymentWarning warningType(CreditBankEmploymentWarningType warningType) { + + this.warningType = warningType; + return this; + } + + /** + * Get warningType + * @return warningType + **/ + @ApiModelProperty(required = true, value = "") + + public CreditBankEmploymentWarningType getWarningType() { + return warningType; + } + + + public void setWarningType(CreditBankEmploymentWarningType warningType) { + this.warningType = warningType; + } + + + public CreditBankEmploymentWarning warningCode(CreditBankIncomeWarningCode warningCode) { + + this.warningCode = warningCode; + return this; + } + + /** + * Get warningCode + * @return warningCode + **/ + @ApiModelProperty(required = true, value = "") + + public CreditBankIncomeWarningCode getWarningCode() { + return warningCode; + } + + + public void setWarningCode(CreditBankIncomeWarningCode warningCode) { + this.warningCode = warningCode; + } + + + public CreditBankEmploymentWarning cause(CreditBankIncomeCause cause) { + + this.cause = cause; + return this; + } + + /** + * Get cause + * @return cause + **/ + @ApiModelProperty(required = true, value = "") + + public CreditBankIncomeCause getCause() { + return cause; + } + + + public void setCause(CreditBankIncomeCause cause) { + this.cause = cause; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankEmploymentWarning creditBankEmploymentWarning = (CreditBankEmploymentWarning) o; + return Objects.equals(this.warningType, creditBankEmploymentWarning.warningType) && + Objects.equals(this.warningCode, creditBankEmploymentWarning.warningCode) && + Objects.equals(this.cause, creditBankEmploymentWarning.cause); + } + + @Override + public int hashCode() { + return Objects.hash(warningType, warningCode, cause); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankEmploymentWarning {\n"); + sb.append(" warningType: ").append(toIndentedString(warningType)).append("\n"); + sb.append(" warningCode: ").append(toIndentedString(warningCode)).append("\n"); + sb.append(" cause: ").append(toIndentedString(cause)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankEmploymentWarningType.java b/src/main/java/com/plaid/client/model/CreditBankEmploymentWarningType.java new file mode 100644 index 0000000000..03f331c2dd --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankEmploymentWarningType.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The warning type which will always be `BANK_EMPLOYMENT_WARNING`. + */ +@JsonAdapter(CreditBankEmploymentWarningType.Adapter.class) +public enum CreditBankEmploymentWarningType { + + BANK_EMPLOYMENT_WARNING("BANK_EMPLOYMENT_WARNING"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CreditBankEmploymentWarningType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CreditBankEmploymentWarningType fromValue(String value) { + for (CreditBankEmploymentWarningType b : CreditBankEmploymentWarningType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CreditBankEmploymentWarningType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CreditBankEmploymentWarningType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CreditBankEmploymentWarningType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CreditBankEmploymentWarningType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncome.java b/src/main/java/com/plaid/client/model/CreditBankIncome.java new file mode 100644 index 0000000000..a3d72377d3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncome.java @@ -0,0 +1,266 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankIncomeItem; +import com.plaid.client.model.CreditBankIncomeSummary; +import com.plaid.client.model.CreditBankIncomeWarning; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * The report of the Bank Income data for an end user. + */ +@ApiModel(description = "The report of the Bank Income data for an end user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncome { + public static final String SERIALIZED_NAME_BANK_INCOME_ID = "bank_income_id"; + @SerializedName(SERIALIZED_NAME_BANK_INCOME_ID) + private String bankIncomeId; + + public static final String SERIALIZED_NAME_GENERATED_TIME = "generated_time"; + @SerializedName(SERIALIZED_NAME_GENERATED_TIME) + private OffsetDateTime generatedTime; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = null; + + public static final String SERIALIZED_NAME_BANK_INCOME_SUMMARY = "bank_income_summary"; + @SerializedName(SERIALIZED_NAME_BANK_INCOME_SUMMARY) + private CreditBankIncomeSummary bankIncomeSummary; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = null; + + + public CreditBankIncome bankIncomeId(String bankIncomeId) { + + this.bankIncomeId = bankIncomeId; + return this; + } + + /** + * The unique identifier associated with the Bank Income Report. + * @return bankIncomeId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unique identifier associated with the Bank Income Report.") + + public String getBankIncomeId() { + return bankIncomeId; + } + + + public void setBankIncomeId(String bankIncomeId) { + this.bankIncomeId = bankIncomeId; + } + + + public CreditBankIncome generatedTime(OffsetDateTime generatedTime) { + + this.generatedTime = generatedTime; + return this; + } + + /** + * The time when the report was generated. + * @return generatedTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The time when the report was generated.") + + public OffsetDateTime getGeneratedTime() { + return generatedTime; + } + + + public void setGeneratedTime(OffsetDateTime generatedTime) { + this.generatedTime = generatedTime; + } + + + public CreditBankIncome daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days requested by the customer for the report. + * @return daysRequested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days requested by the customer for the report.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + public CreditBankIncome items(List items) { + + this.items = items; + return this; + } + + public CreditBankIncome addItemsItem(CreditBankIncomeItem itemsItem) { + if (this.items == null) { + this.items = new ArrayList<>(); + } + this.items.add(itemsItem); + return this; + } + + /** + * The list of Items in the report along with the associated metadata about the Item. + * @return items + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The list of Items in the report along with the associated metadata about the Item.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + public CreditBankIncome bankIncomeSummary(CreditBankIncomeSummary bankIncomeSummary) { + + this.bankIncomeSummary = bankIncomeSummary; + return this; + } + + /** + * Get bankIncomeSummary + * @return bankIncomeSummary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditBankIncomeSummary getBankIncomeSummary() { + return bankIncomeSummary; + } + + + public void setBankIncomeSummary(CreditBankIncomeSummary bankIncomeSummary) { + this.bankIncomeSummary = bankIncomeSummary; + } + + + public CreditBankIncome warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public CreditBankIncome addWarningsItem(CreditBankIncomeWarning warningsItem) { + if (this.warnings == null) { + this.warnings = new ArrayList<>(); + } + this.warnings.add(warningsItem); + return this; + } + + /** + * If data from the report was unable to be retrieved, the warnings will contain information about the error that caused the data to be incomplete. + * @return warnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If data from the report was unable to be retrieved, the warnings will contain information about the error that caused the data to be incomplete.") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncome creditBankIncome = (CreditBankIncome) o; + return Objects.equals(this.bankIncomeId, creditBankIncome.bankIncomeId) && + Objects.equals(this.generatedTime, creditBankIncome.generatedTime) && + Objects.equals(this.daysRequested, creditBankIncome.daysRequested) && + Objects.equals(this.items, creditBankIncome.items) && + Objects.equals(this.bankIncomeSummary, creditBankIncome.bankIncomeSummary) && + Objects.equals(this.warnings, creditBankIncome.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(bankIncomeId, generatedTime, daysRequested, items, bankIncomeSummary, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncome {\n"); + sb.append(" bankIncomeId: ").append(toIndentedString(bankIncomeId)).append("\n"); + sb.append(" generatedTime: ").append(toIndentedString(generatedTime)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append(" bankIncomeSummary: ").append(toIndentedString(bankIncomeSummary)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeAccount.java b/src/main/java/com/plaid/client/model/CreditBankIncomeAccount.java new file mode 100644 index 0000000000..c311042300 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeAccount.java @@ -0,0 +1,278 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankIncomeAccountType; +import com.plaid.client.model.DepositoryAccountSubtype; +import com.plaid.client.model.Owner; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The Item's bank accounts that have the selected data. + */ +@ApiModel(description = "The Item's bank accounts that have the selected data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeAccount { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private DepositoryAccountSubtype subtype; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private CreditBankIncomeAccountType type; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = new ArrayList<>(); + + + public CreditBankIncomeAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CreditBankIncomeAccount mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public CreditBankIncomeAccount name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the bank account. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the bank account.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CreditBankIncomeAccount officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * The official name of the bank account. + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The official name of the bank account.") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public CreditBankIncomeAccount subtype(DepositoryAccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @ApiModelProperty(required = true, value = "") + + public DepositoryAccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(DepositoryAccountSubtype subtype) { + this.subtype = subtype; + } + + + public CreditBankIncomeAccount type(CreditBankIncomeAccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public CreditBankIncomeAccountType getType() { + return type; + } + + + public void setType(CreditBankIncomeAccountType type) { + this.type = type; + } + + + public CreditBankIncomeAccount owners(List owners) { + + this.owners = owners; + return this; + } + + public CreditBankIncomeAccount addOwnersItem(Owner ownersItem) { + this.owners.add(ownersItem); + return this; + } + + /** + * Data returned by the financial institution about the account owner or owners. Identity information is optional, so field may return an empty array. + * @return owners + **/ + @ApiModelProperty(required = true, value = "Data returned by the financial institution about the account owner or owners. Identity information is optional, so field may return an empty array.") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeAccount creditBankIncomeAccount = (CreditBankIncomeAccount) o; + return Objects.equals(this.accountId, creditBankIncomeAccount.accountId) && + Objects.equals(this.mask, creditBankIncomeAccount.mask) && + Objects.equals(this.name, creditBankIncomeAccount.name) && + Objects.equals(this.officialName, creditBankIncomeAccount.officialName) && + Objects.equals(this.subtype, creditBankIncomeAccount.subtype) && + Objects.equals(this.type, creditBankIncomeAccount.type) && + Objects.equals(this.owners, creditBankIncomeAccount.owners); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, mask, name, officialName, subtype, type, owners); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeAccount {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeAccountType.java b/src/main/java/com/plaid/client/model/CreditBankIncomeAccountType.java new file mode 100644 index 0000000000..0eb7b7e67d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeAccountType.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The account type. This will always be `depository`. + */ +@JsonAdapter(CreditBankIncomeAccountType.Adapter.class) +public enum CreditBankIncomeAccountType { + + DEPOSITORY("depository"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CreditBankIncomeAccountType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CreditBankIncomeAccountType fromValue(String value) { + for (CreditBankIncomeAccountType b : CreditBankIncomeAccountType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CreditBankIncomeAccountType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CreditBankIncomeAccountType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CreditBankIncomeAccountType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CreditBankIncomeAccountType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeCategory.java b/src/main/java/com/plaid/client/model/CreditBankIncomeCategory.java new file mode 100644 index 0000000000..34e47f0554 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeCategory.java @@ -0,0 +1,105 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The income category. `BANK_INTEREST`: Interest earned from a bank account. `BENEFIT_OTHER`: Government benefits other than retirement, unemployment, child support, or disability. Currently used only in the UK, to represent benefits such as Cost of Living Payments. `CASH`: Deprecated and used only for existing legacy implementations. Has been replaced by `CASH_DEPOSIT` and `TRANSFER_FROM_APPLICATION`. `CASH_DEPOSIT`: A cash or check deposit. `CHILD_SUPPORT`: Child support payments received. `GIG_ECONOMY`: Income earned as a gig economy worker, e.g. driving for Uber, Lyft, Postmates, DoorDash, etc. `LONG_TERM_DISABILITY`: Disability payments, including Social Security disability benefits. `OTHER`: Income that could not be categorized as any other income category. `MILITARY`: Veterans benefits. Income earned as salary for serving in the military (e.g. through DFAS) will be classified as `SALARY` rather than `MILITARY`. `RENTAL`: Income earned from a rental property. Income may be identified as rental when the payment is received through a rental platform, e.g. Airbnb; rent paid directly by the tenant to the property owner (e.g. via cash, check, or ACH) will typically not be classified as rental income. `RETIREMENT`: Payments from private retirement systems, pensions, and government retirement programs, including Social Security retirement benefits. `SALARY`: Payment from an employer to an earner or other form of permanent employment. `TAX_REFUND`: A tax refund. `TRANSFER_FROM_APPLICATION`: Deposits from a money transfer app, such as Venmo, Cash App, or Zelle. `UNEMPLOYMENT`: Unemployment benefits. In the UK, includes certain low-income benefits such as the Universal Credit. + */ +@JsonAdapter(CreditBankIncomeCategory.Adapter.class) +public enum CreditBankIncomeCategory { + + SALARY("SALARY"), + + UNEMPLOYMENT("UNEMPLOYMENT"), + + CASH("CASH"), + + GIG_ECONOMY("GIG_ECONOMY"), + + RENTAL("RENTAL"), + + CHILD_SUPPORT("CHILD_SUPPORT"), + + MILITARY("MILITARY"), + + RETIREMENT("RETIREMENT"), + + LONG_TERM_DISABILITY("LONG_TERM_DISABILITY"), + + BANK_INTEREST("BANK_INTEREST"), + + CASH_DEPOSIT("CASH_DEPOSIT"), + + TRANSFER_FROM_APPLICATION("TRANSFER_FROM_APPLICATION"), + + TAX_REFUND("TAX_REFUND"), + + BENEFIT_OTHER("BENEFIT_OTHER"), + + OTHER("OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CreditBankIncomeCategory(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CreditBankIncomeCategory fromValue(String value) { + for (CreditBankIncomeCategory b : CreditBankIncomeCategory.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CreditBankIncomeCategory.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CreditBankIncomeCategory enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CreditBankIncomeCategory read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CreditBankIncomeCategory.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeCause.java b/src/main/java/com/plaid/client/model/CreditBankIncomeCause.java new file mode 100644 index 0000000000..d36e3ee012 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeCause.java @@ -0,0 +1,211 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankIncomeErrorType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items. + */ +@ApiModel(description = "An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeCause { + public static final String SERIALIZED_NAME_ERROR_TYPE = "error_type"; + @SerializedName(SERIALIZED_NAME_ERROR_TYPE) + private CreditBankIncomeErrorType errorType; + + public static final String SERIALIZED_NAME_ERROR_CODE = "error_code"; + @SerializedName(SERIALIZED_NAME_ERROR_CODE) + private String errorCode; + + public static final String SERIALIZED_NAME_ERROR_MESSAGE = "error_message"; + @SerializedName(SERIALIZED_NAME_ERROR_MESSAGE) + private String errorMessage; + + public static final String SERIALIZED_NAME_DISPLAY_MESSAGE = "display_message"; + @SerializedName(SERIALIZED_NAME_DISPLAY_MESSAGE) + private String displayMessage; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + + public CreditBankIncomeCause errorType(CreditBankIncomeErrorType errorType) { + + this.errorType = errorType; + return this; + } + + /** + * Get errorType + * @return errorType + **/ + @ApiModelProperty(required = true, value = "") + + public CreditBankIncomeErrorType getErrorType() { + return errorType; + } + + + public void setErrorType(CreditBankIncomeErrorType errorType) { + this.errorType = errorType; + } + + + public CreditBankIncomeCause errorCode(String errorCode) { + + this.errorCode = errorCode; + return this; + } + + /** + * We use standard HTTP response codes for success and failure notifications, and our errors are further classified by `error_type`. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will be `null` if no error has occurred. + * @return errorCode + **/ + @ApiModelProperty(required = true, value = "We use standard HTTP response codes for success and failure notifications, and our errors are further classified by `error_type`. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will be `null` if no error has occurred.") + + public String getErrorCode() { + return errorCode; + } + + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + + public CreditBankIncomeCause errorMessage(String errorMessage) { + + this.errorMessage = errorMessage; + return this; + } + + /** + * A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use. + * @return errorMessage + **/ + @ApiModelProperty(required = true, value = "A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.") + + public String getErrorMessage() { + return errorMessage; + } + + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + + + public CreditBankIncomeCause displayMessage(String displayMessage) { + + this.displayMessage = displayMessage; + return this; + } + + /** + * A user-friendly representation of the error code. null if the error is not related to user action. This may change over time and is not safe for programmatic use. + * @return displayMessage + **/ + @ApiModelProperty(required = true, value = "A user-friendly representation of the error code. null if the error is not related to user action. This may change over time and is not safe for programmatic use.") + + public String getDisplayMessage() { + return displayMessage; + } + + + public void setDisplayMessage(String displayMessage) { + this.displayMessage = displayMessage; + } + + + public CreditBankIncomeCause itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this warning. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this warning.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeCause creditBankIncomeCause = (CreditBankIncomeCause) o; + return Objects.equals(this.errorType, creditBankIncomeCause.errorType) && + Objects.equals(this.errorCode, creditBankIncomeCause.errorCode) && + Objects.equals(this.errorMessage, creditBankIncomeCause.errorMessage) && + Objects.equals(this.displayMessage, creditBankIncomeCause.displayMessage) && + Objects.equals(this.itemId, creditBankIncomeCause.itemId); + } + + @Override + public int hashCode() { + return Objects.hash(errorType, errorCode, errorMessage, displayMessage, itemId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeCause {\n"); + sb.append(" errorType: ").append(toIndentedString(errorType)).append("\n"); + sb.append(" errorCode: ").append(toIndentedString(errorCode)).append("\n"); + sb.append(" errorMessage: ").append(toIndentedString(errorMessage)).append("\n"); + sb.append(" displayMessage: ").append(toIndentedString(displayMessage)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeErrorType.java b/src/main/java/com/plaid/client/model/CreditBankIncomeErrorType.java new file mode 100644 index 0000000000..8585cc6b08 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeErrorType.java @@ -0,0 +1,107 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A broad categorization of the error. Safe for programmatic use. + */ +@JsonAdapter(CreditBankIncomeErrorType.Adapter.class) +public enum CreditBankIncomeErrorType { + + INTERNAL_SERVER_ERROR("INTERNAL_SERVER_ERROR"), + + INSUFFICIENT_CREDENTIALS("INSUFFICIENT_CREDENTIALS"), + + ITEM_LOCKED("ITEM_LOCKED"), + + USER_SETUP_REQUIRED("USER_SETUP_REQUIRED"), + + COUNTRY_NOT_SUPPORTED("COUNTRY_NOT_SUPPORTED"), + + INSTITUTION_DOWN("INSTITUTION_DOWN"), + + INSTITUTION_NO_LONGER_SUPPORTED("INSTITUTION_NO_LONGER_SUPPORTED"), + + INSTITUTION_NOT_RESPONDING("INSTITUTION_NOT_RESPONDING"), + + INVALID_CREDENTIALS("INVALID_CREDENTIALS"), + + INVALID_MFA("INVALID_MFA"), + + INVALID_SEND_METHOD("INVALID_SEND_METHOD"), + + ITEM_LOGIN_REQUIRED("ITEM_LOGIN_REQUIRED"), + + MFA_NOT_SUPPORTED("MFA_NOT_SUPPORTED"), + + NO_ACCOUNTS("NO_ACCOUNTS"), + + ITEM_NOT_SUPPORTED("ITEM_NOT_SUPPORTED"), + + ACCESS_NOT_GRANTED("ACCESS_NOT_GRANTED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CreditBankIncomeErrorType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CreditBankIncomeErrorType fromValue(String value) { + for (CreditBankIncomeErrorType b : CreditBankIncomeErrorType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CreditBankIncomeErrorType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CreditBankIncomeErrorType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CreditBankIncomeErrorType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CreditBankIncomeErrorType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeGetRequest.java b/src/main/java/com/plaid/client/model/CreditBankIncomeGetRequest.java new file mode 100644 index 0000000000..9f965056de --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeGetRequest.java @@ -0,0 +1,216 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankIncomeGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditBankIncomeGetRequest defines the request schema for `/credit/bank_income/get`. + */ +@ApiModel(description = "CreditBankIncomeGetRequest defines the request schema for `/credit/bank_income/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private CreditBankIncomeGetRequestOptions options; + + + public CreditBankIncomeGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditBankIncomeGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditBankIncomeGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CreditBankIncomeGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CreditBankIncomeGetRequest options(CreditBankIncomeGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditBankIncomeGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(CreditBankIncomeGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeGetRequest creditBankIncomeGetRequest = (CreditBankIncomeGetRequest) o; + return Objects.equals(this.clientId, creditBankIncomeGetRequest.clientId) && + Objects.equals(this.secret, creditBankIncomeGetRequest.secret) && + Objects.equals(this.userToken, creditBankIncomeGetRequest.userToken) && + Objects.equals(this.userId, creditBankIncomeGetRequest.userId) && + Objects.equals(this.options, creditBankIncomeGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userId, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeGetRequestOptions.java b/src/main/java/com/plaid/client/model/CreditBankIncomeGetRequestOptions.java new file mode 100644 index 0000000000..9ae053a0e2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeGetRequestOptions.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional object for `/credit/bank_income/get` request options. + */ +@ApiModel(description = "An optional object for `/credit/bank_income/get` request options.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeGetRequestOptions { + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 1; + + + public CreditBankIncomeGetRequestOptions count(Integer count) { + + this.count = count; + return this; + } + + /** + * How many Bank Income Reports should be fetched. Multiple reports may be available if the report has been re-created or refreshed. If more than one report is available, the most recent reports will be returned first. + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "How many Bank Income Reports should be fetched. Multiple reports may be available if the report has been re-created or refreshed. If more than one report is available, the most recent reports will be returned first.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeGetRequestOptions creditBankIncomeGetRequestOptions = (CreditBankIncomeGetRequestOptions) o; + return Objects.equals(this.count, creditBankIncomeGetRequestOptions.count); + } + + @Override + public int hashCode() { + return Objects.hash(count); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeGetRequestOptions {\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeGetResponse.java b/src/main/java/com/plaid/client/model/CreditBankIncomeGetResponse.java new file mode 100644 index 0000000000..dc177dbf2b --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeGetResponse.java @@ -0,0 +1,138 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankIncome; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CreditBankIncomeGetResponse defines the response schema for `/credit/bank_income/get` + */ +@ApiModel(description = "CreditBankIncomeGetResponse defines the response schema for `/credit/bank_income/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeGetResponse { + public static final String SERIALIZED_NAME_BANK_INCOME = "bank_income"; + @SerializedName(SERIALIZED_NAME_BANK_INCOME) + private List bankIncome = null; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditBankIncomeGetResponse bankIncome(List bankIncome) { + + this.bankIncome = bankIncome; + return this; + } + + public CreditBankIncomeGetResponse addBankIncomeItem(CreditBankIncome bankIncomeItem) { + if (this.bankIncome == null) { + this.bankIncome = new ArrayList<>(); + } + this.bankIncome.add(bankIncomeItem); + return this; + } + + /** + * Get bankIncome + * @return bankIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getBankIncome() { + return bankIncome; + } + + + public void setBankIncome(List bankIncome) { + this.bankIncome = bankIncome; + } + + + public CreditBankIncomeGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeGetResponse creditBankIncomeGetResponse = (CreditBankIncomeGetResponse) o; + return Objects.equals(this.bankIncome, creditBankIncomeGetResponse.bankIncome) && + Objects.equals(this.requestId, creditBankIncomeGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(bankIncome, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeGetResponse {\n"); + sb.append(" bankIncome: ").append(toIndentedString(bankIncome)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeHistoricalSummary.java b/src/main/java/com/plaid/client/model/CreditBankIncomeHistoricalSummary.java new file mode 100644 index 0000000000..0cde197c79 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeHistoricalSummary.java @@ -0,0 +1,295 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditAmountWithCurrency; +import com.plaid.client.model.CreditBankIncomeTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * The end user's monthly summary for the income source(s). + */ +@ApiModel(description = "The end user's monthly summary for the income source(s).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeHistoricalSummary { + public static final String SERIALIZED_NAME_TOTAL_AMOUNT = "total_amount"; + @SerializedName(SERIALIZED_NAME_TOTAL_AMOUNT) + private Double totalAmount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_TOTAL_AMOUNTS = "total_amounts"; + @SerializedName(SERIALIZED_NAME_TOTAL_AMOUNTS) + private List totalAmounts = null; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = null; + + + public CreditBankIncomeHistoricalSummary totalAmount(Double totalAmount) { + + this.totalAmount = totalAmount; + return this; + } + + /** + * Total amount of earnings for the income source(s) of the user for the month in the summary. This may return an incorrect value if the summary includes income sources in multiple currencies. Please use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-items-bank-income-sources-historical-summary-total-amounts) instead. + * @return totalAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total amount of earnings for the income source(s) of the user for the month in the summary. This may return an incorrect value if the summary includes income sources in multiple currencies. Please use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-items-bank-income-sources-historical-summary-total-amounts) instead.") + + public Double getTotalAmount() { + return totalAmount; + } + + + public void setTotalAmount(Double totalAmount) { + this.totalAmount = totalAmount; + } + + + public CreditBankIncomeHistoricalSummary isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. Please use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-items-bank-income-sources-historical-summary-total-amounts) instead. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO 4217 currency code of the amount or balance. Please use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-items-bank-income-sources-historical-summary-total-amounts) instead.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CreditBankIncomeHistoricalSummary unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. Please use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-items-bank-income-sources-historical-summary-total-amounts) instead. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. Please use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-items-bank-income-sources-historical-summary-total-amounts) instead.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public CreditBankIncomeHistoricalSummary totalAmounts(List totalAmounts) { + + this.totalAmounts = totalAmounts; + return this; + } + + public CreditBankIncomeHistoricalSummary addTotalAmountsItem(CreditAmountWithCurrency totalAmountsItem) { + if (this.totalAmounts == null) { + this.totalAmounts = new ArrayList<>(); + } + this.totalAmounts.add(totalAmountsItem); + return this; + } + + /** + * Total amount of earnings for the income source(s) of the user for the month in the summary. This can contain multiple amounts, with each amount denominated in one unique currency. + * @return totalAmounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total amount of earnings for the income source(s) of the user for the month in the summary. This can contain multiple amounts, with each amount denominated in one unique currency.") + + public List getTotalAmounts() { + return totalAmounts; + } + + + public void setTotalAmounts(List totalAmounts) { + this.totalAmounts = totalAmounts; + } + + + public CreditBankIncomeHistoricalSummary startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date of the period covered in this monthly summary. This date will be the first day of the month, unless the month being covered is a partial month because it is the first month included in the summary and the date range being requested does not begin with the first day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start date of the period covered in this monthly summary. This date will be the first day of the month, unless the month being covered is a partial month because it is the first month included in the summary and the date range being requested does not begin with the first day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public CreditBankIncomeHistoricalSummary endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end date of the period included in this monthly summary. This date will be the last day of the month, unless the month being covered is a partial month because it is the last month included in the summary and the date range being requested does not end with the last day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end date of the period included in this monthly summary. This date will be the last day of the month, unless the month being covered is a partial month because it is the last month included in the summary and the date range being requested does not end with the last day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public CreditBankIncomeHistoricalSummary transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public CreditBankIncomeHistoricalSummary addTransactionsItem(CreditBankIncomeTransaction transactionsItem) { + if (this.transactions == null) { + this.transactions = new ArrayList<>(); + } + this.transactions.add(transactionsItem); + return this; + } + + /** + * Get transactions + * @return transactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeHistoricalSummary creditBankIncomeHistoricalSummary = (CreditBankIncomeHistoricalSummary) o; + return Objects.equals(this.totalAmount, creditBankIncomeHistoricalSummary.totalAmount) && + Objects.equals(this.isoCurrencyCode, creditBankIncomeHistoricalSummary.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, creditBankIncomeHistoricalSummary.unofficialCurrencyCode) && + Objects.equals(this.totalAmounts, creditBankIncomeHistoricalSummary.totalAmounts) && + Objects.equals(this.startDate, creditBankIncomeHistoricalSummary.startDate) && + Objects.equals(this.endDate, creditBankIncomeHistoricalSummary.endDate) && + Objects.equals(this.transactions, creditBankIncomeHistoricalSummary.transactions); + } + + @Override + public int hashCode() { + return Objects.hash(totalAmount, isoCurrencyCode, unofficialCurrencyCode, totalAmounts, startDate, endDate, transactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeHistoricalSummary {\n"); + sb.append(" totalAmount: ").append(toIndentedString(totalAmount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" totalAmounts: ").append(toIndentedString(totalAmounts)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeItem.java b/src/main/java/com/plaid/client/model/CreditBankIncomeItem.java new file mode 100644 index 0000000000..bad127c873 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeItem.java @@ -0,0 +1,265 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankIncomeAccount; +import com.plaid.client.model.CreditBankIncomeSource; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * The details and metadata for an end user's Item. + */ +@ApiModel(description = "The details and metadata for an end user's Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeItem { + public static final String SERIALIZED_NAME_BANK_INCOME_ACCOUNTS = "bank_income_accounts"; + @SerializedName(SERIALIZED_NAME_BANK_INCOME_ACCOUNTS) + private List bankIncomeAccounts = null; + + public static final String SERIALIZED_NAME_BANK_INCOME_SOURCES = "bank_income_sources"; + @SerializedName(SERIALIZED_NAME_BANK_INCOME_SOURCES) + private List bankIncomeSources = null; + + public static final String SERIALIZED_NAME_LAST_UPDATED_TIME = "last_updated_time"; + @SerializedName(SERIALIZED_NAME_LAST_UPDATED_TIME) + private OffsetDateTime lastUpdatedTime; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + + public CreditBankIncomeItem bankIncomeAccounts(List bankIncomeAccounts) { + + this.bankIncomeAccounts = bankIncomeAccounts; + return this; + } + + public CreditBankIncomeItem addBankIncomeAccountsItem(CreditBankIncomeAccount bankIncomeAccountsItem) { + if (this.bankIncomeAccounts == null) { + this.bankIncomeAccounts = new ArrayList<>(); + } + this.bankIncomeAccounts.add(bankIncomeAccountsItem); + return this; + } + + /** + * The Item's accounts that have Bank Income data. + * @return bankIncomeAccounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Item's accounts that have Bank Income data.") + + public List getBankIncomeAccounts() { + return bankIncomeAccounts; + } + + + public void setBankIncomeAccounts(List bankIncomeAccounts) { + this.bankIncomeAccounts = bankIncomeAccounts; + } + + + public CreditBankIncomeItem bankIncomeSources(List bankIncomeSources) { + + this.bankIncomeSources = bankIncomeSources; + return this; + } + + public CreditBankIncomeItem addBankIncomeSourcesItem(CreditBankIncomeSource bankIncomeSourcesItem) { + if (this.bankIncomeSources == null) { + this.bankIncomeSources = new ArrayList<>(); + } + this.bankIncomeSources.add(bankIncomeSourcesItem); + return this; + } + + /** + * The income sources for this Item. Each entry in the array is a single income source. + * @return bankIncomeSources + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The income sources for this Item. Each entry in the array is a single income source.") + + public List getBankIncomeSources() { + return bankIncomeSources; + } + + + public void setBankIncomeSources(List bankIncomeSources) { + this.bankIncomeSources = bankIncomeSources; + } + + + public CreditBankIncomeItem lastUpdatedTime(OffsetDateTime lastUpdatedTime) { + + this.lastUpdatedTime = lastUpdatedTime; + return this; + } + + /** + * The time when this Item's data was last retrieved from the financial institution. + * @return lastUpdatedTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The time when this Item's data was last retrieved from the financial institution.") + + public OffsetDateTime getLastUpdatedTime() { + return lastUpdatedTime; + } + + + public void setLastUpdatedTime(OffsetDateTime lastUpdatedTime) { + this.lastUpdatedTime = lastUpdatedTime; + } + + + public CreditBankIncomeItem institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The unique identifier of the institution associated with the Item. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unique identifier of the institution associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public CreditBankIncomeItem institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The name of the institution associated with the Item. + * @return institutionName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the institution associated with the Item.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public CreditBankIncomeItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The unique identifier for the Item. + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unique identifier for the Item.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeItem creditBankIncomeItem = (CreditBankIncomeItem) o; + return Objects.equals(this.bankIncomeAccounts, creditBankIncomeItem.bankIncomeAccounts) && + Objects.equals(this.bankIncomeSources, creditBankIncomeItem.bankIncomeSources) && + Objects.equals(this.lastUpdatedTime, creditBankIncomeItem.lastUpdatedTime) && + Objects.equals(this.institutionId, creditBankIncomeItem.institutionId) && + Objects.equals(this.institutionName, creditBankIncomeItem.institutionName) && + Objects.equals(this.itemId, creditBankIncomeItem.itemId); + } + + @Override + public int hashCode() { + return Objects.hash(bankIncomeAccounts, bankIncomeSources, lastUpdatedTime, institutionId, institutionName, itemId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeItem {\n"); + sb.append(" bankIncomeAccounts: ").append(toIndentedString(bankIncomeAccounts)).append("\n"); + sb.append(" bankIncomeSources: ").append(toIndentedString(bankIncomeSources)).append("\n"); + sb.append(" lastUpdatedTime: ").append(toIndentedString(lastUpdatedTime)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomePDFGetRequest.java b/src/main/java/com/plaid/client/model/CreditBankIncomePDFGetRequest.java new file mode 100644 index 0000000000..5b965e9d10 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomePDFGetRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditBankIncomePDFGetRequest defines the request schema for `/credit/bank_income/pdf/get` + */ +@ApiModel(description = "CreditBankIncomePDFGetRequest defines the request schema for `/credit/bank_income/pdf/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomePDFGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public CreditBankIncomePDFGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditBankIncomePDFGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditBankIncomePDFGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @ApiModelProperty(required = true, value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CreditBankIncomePDFGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomePDFGetRequest creditBankIncomePDFGetRequest = (CreditBankIncomePDFGetRequest) o; + return Objects.equals(this.clientId, creditBankIncomePDFGetRequest.clientId) && + Objects.equals(this.secret, creditBankIncomePDFGetRequest.secret) && + Objects.equals(this.userToken, creditBankIncomePDFGetRequest.userToken) && + Objects.equals(this.userId, creditBankIncomePDFGetRequest.userId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomePDFGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomePayFrequency.java b/src/main/java/com/plaid/client/model/CreditBankIncomePayFrequency.java new file mode 100644 index 0000000000..b8c367475a --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomePayFrequency.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The income pay frequency. + */ +@JsonAdapter(CreditBankIncomePayFrequency.Adapter.class) +public enum CreditBankIncomePayFrequency { + + WEEKLY("WEEKLY"), + + BIWEEKLY("BIWEEKLY"), + + SEMI_MONTHLY("SEMI_MONTHLY"), + + MONTHLY("MONTHLY"), + + DAILY("DAILY"), + + UNKNOWN("UNKNOWN"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CreditBankIncomePayFrequency(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CreditBankIncomePayFrequency fromValue(String value) { + for (CreditBankIncomePayFrequency b : CreditBankIncomePayFrequency.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CreditBankIncomePayFrequency.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CreditBankIncomePayFrequency enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CreditBankIncomePayFrequency read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CreditBankIncomePayFrequency.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeRefreshRequest.java b/src/main/java/com/plaid/client/model/CreditBankIncomeRefreshRequest.java new file mode 100644 index 0000000000..38d43edae0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeRefreshRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankIncomeRefreshRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditBankIncomeRefreshRequest defines the request schema for `/credit/bank_income/refresh`. + */ +@ApiModel(description = "CreditBankIncomeRefreshRequest defines the request schema for `/credit/bank_income/refresh`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeRefreshRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private CreditBankIncomeRefreshRequestOptions options; + + + public CreditBankIncomeRefreshRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditBankIncomeRefreshRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditBankIncomeRefreshRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @ApiModelProperty(required = true, value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CreditBankIncomeRefreshRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CreditBankIncomeRefreshRequest options(CreditBankIncomeRefreshRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditBankIncomeRefreshRequestOptions getOptions() { + return options; + } + + + public void setOptions(CreditBankIncomeRefreshRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeRefreshRequest creditBankIncomeRefreshRequest = (CreditBankIncomeRefreshRequest) o; + return Objects.equals(this.clientId, creditBankIncomeRefreshRequest.clientId) && + Objects.equals(this.secret, creditBankIncomeRefreshRequest.secret) && + Objects.equals(this.userToken, creditBankIncomeRefreshRequest.userToken) && + Objects.equals(this.userId, creditBankIncomeRefreshRequest.userId) && + Objects.equals(this.options, creditBankIncomeRefreshRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userId, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeRefreshRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeRefreshRequestOptions.java b/src/main/java/com/plaid/client/model/CreditBankIncomeRefreshRequestOptions.java new file mode 100644 index 0000000000..fcf9ffb1b4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeRefreshRequestOptions.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional object for `/credit/bank_income/refresh` request options. + */ +@ApiModel(description = "An optional object for `/credit/bank_income/refresh` request options.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeRefreshRequestOptions { + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + + public CreditBankIncomeRefreshRequestOptions daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * How many days of data to include in the refresh. If not specified, this will default to the days requested in the most recently generated bank income report for the user. + * @return daysRequested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "How many days of data to include in the refresh. If not specified, this will default to the days requested in the most recently generated bank income report for the user.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeRefreshRequestOptions creditBankIncomeRefreshRequestOptions = (CreditBankIncomeRefreshRequestOptions) o; + return Objects.equals(this.daysRequested, creditBankIncomeRefreshRequestOptions.daysRequested); + } + + @Override + public int hashCode() { + return Objects.hash(daysRequested); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeRefreshRequestOptions {\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeRefreshResponse.java b/src/main/java/com/plaid/client/model/CreditBankIncomeRefreshResponse.java new file mode 100644 index 0000000000..2d225205bd --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeRefreshResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditBankIncomeRefreshResponse defines the response schema for `/credit/bank_income/refresh`. + */ +@ApiModel(description = "CreditBankIncomeRefreshResponse defines the response schema for `/credit/bank_income/refresh`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeRefreshResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditBankIncomeRefreshResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeRefreshResponse creditBankIncomeRefreshResponse = (CreditBankIncomeRefreshResponse) o; + return Objects.equals(this.requestId, creditBankIncomeRefreshResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeRefreshResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeSource.java b/src/main/java/com/plaid/client/model/CreditBankIncomeSource.java new file mode 100644 index 0000000000..c56a5fc929 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeSource.java @@ -0,0 +1,375 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankIncomeCategory; +import com.plaid.client.model.CreditBankIncomeHistoricalSummary; +import com.plaid.client.model.CreditBankIncomePayFrequency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * Detailed information for the income source. + */ +@ApiModel(description = "Detailed information for the income source.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeSource { + public static final String SERIALIZED_NAME_INCOME_SOURCE_ID = "income_source_id"; + @SerializedName(SERIALIZED_NAME_INCOME_SOURCE_ID) + private String incomeSourceId; + + public static final String SERIALIZED_NAME_INCOME_DESCRIPTION = "income_description"; + @SerializedName(SERIALIZED_NAME_INCOME_DESCRIPTION) + private String incomeDescription; + + public static final String SERIALIZED_NAME_INCOME_CATEGORY = "income_category"; + @SerializedName(SERIALIZED_NAME_INCOME_CATEGORY) + private CreditBankIncomeCategory incomeCategory; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_PAY_FREQUENCY = "pay_frequency"; + @SerializedName(SERIALIZED_NAME_PAY_FREQUENCY) + private CreditBankIncomePayFrequency payFrequency; + + public static final String SERIALIZED_NAME_TOTAL_AMOUNT = "total_amount"; + @SerializedName(SERIALIZED_NAME_TOTAL_AMOUNT) + private Double totalAmount; + + public static final String SERIALIZED_NAME_TRANSACTION_COUNT = "transaction_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_COUNT) + private Integer transactionCount; + + public static final String SERIALIZED_NAME_HISTORICAL_SUMMARY = "historical_summary"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_SUMMARY) + private List historicalSummary = null; + + + public CreditBankIncomeSource incomeSourceId(String incomeSourceId) { + + this.incomeSourceId = incomeSourceId; + return this; + } + + /** + * A unique identifier for an income source. + * @return incomeSourceId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for an income source.") + + public String getIncomeSourceId() { + return incomeSourceId; + } + + + public void setIncomeSourceId(String incomeSourceId) { + this.incomeSourceId = incomeSourceId; + } + + + public CreditBankIncomeSource incomeDescription(String incomeDescription) { + + this.incomeDescription = incomeDescription; + return this; + } + + /** + * The most common name or original description for the underlying income transactions. + * @return incomeDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The most common name or original description for the underlying income transactions.") + + public String getIncomeDescription() { + return incomeDescription; + } + + + public void setIncomeDescription(String incomeDescription) { + this.incomeDescription = incomeDescription; + } + + + public CreditBankIncomeSource incomeCategory(CreditBankIncomeCategory incomeCategory) { + + this.incomeCategory = incomeCategory; + return this; + } + + /** + * Get incomeCategory + * @return incomeCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditBankIncomeCategory getIncomeCategory() { + return incomeCategory; + } + + + public void setIncomeCategory(CreditBankIncomeCategory incomeCategory) { + this.incomeCategory = incomeCategory; + } + + + public CreditBankIncomeSource accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for the account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CreditBankIncomeSource startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * Minimum of all dates within the specific income sources in the user's bank account for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Minimum of all dates within the specific income sources in the user's bank account for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public CreditBankIncomeSource endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * Maximum of all dates within the specific income sources in the user's bank account for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Maximum of all dates within the specific income sources in the user's bank account for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public CreditBankIncomeSource payFrequency(CreditBankIncomePayFrequency payFrequency) { + + this.payFrequency = payFrequency; + return this; + } + + /** + * Get payFrequency + * @return payFrequency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditBankIncomePayFrequency getPayFrequency() { + return payFrequency; + } + + + public void setPayFrequency(CreditBankIncomePayFrequency payFrequency) { + this.payFrequency = payFrequency; + } + + + public CreditBankIncomeSource totalAmount(Double totalAmount) { + + this.totalAmount = totalAmount; + return this; + } + + /** + * Total amount of earnings in the user's bank account for the specific income source for days requested by the client. + * @return totalAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total amount of earnings in the user's bank account for the specific income source for days requested by the client.") + + public Double getTotalAmount() { + return totalAmount; + } + + + public void setTotalAmount(Double totalAmount) { + this.totalAmount = totalAmount; + } + + + public CreditBankIncomeSource transactionCount(Integer transactionCount) { + + this.transactionCount = transactionCount; + return this; + } + + /** + * Number of transactions for the income source within the start and end date. + * @return transactionCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of transactions for the income source within the start and end date.") + + public Integer getTransactionCount() { + return transactionCount; + } + + + public void setTransactionCount(Integer transactionCount) { + this.transactionCount = transactionCount; + } + + + public CreditBankIncomeSource historicalSummary(List historicalSummary) { + + this.historicalSummary = historicalSummary; + return this; + } + + public CreditBankIncomeSource addHistoricalSummaryItem(CreditBankIncomeHistoricalSummary historicalSummaryItem) { + if (this.historicalSummary == null) { + this.historicalSummary = new ArrayList<>(); + } + this.historicalSummary.add(historicalSummaryItem); + return this; + } + + /** + * Get historicalSummary + * @return historicalSummary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getHistoricalSummary() { + return historicalSummary; + } + + + public void setHistoricalSummary(List historicalSummary) { + this.historicalSummary = historicalSummary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeSource creditBankIncomeSource = (CreditBankIncomeSource) o; + return Objects.equals(this.incomeSourceId, creditBankIncomeSource.incomeSourceId) && + Objects.equals(this.incomeDescription, creditBankIncomeSource.incomeDescription) && + Objects.equals(this.incomeCategory, creditBankIncomeSource.incomeCategory) && + Objects.equals(this.accountId, creditBankIncomeSource.accountId) && + Objects.equals(this.startDate, creditBankIncomeSource.startDate) && + Objects.equals(this.endDate, creditBankIncomeSource.endDate) && + Objects.equals(this.payFrequency, creditBankIncomeSource.payFrequency) && + Objects.equals(this.totalAmount, creditBankIncomeSource.totalAmount) && + Objects.equals(this.transactionCount, creditBankIncomeSource.transactionCount) && + Objects.equals(this.historicalSummary, creditBankIncomeSource.historicalSummary); + } + + @Override + public int hashCode() { + return Objects.hash(incomeSourceId, incomeDescription, incomeCategory, accountId, startDate, endDate, payFrequency, totalAmount, transactionCount, historicalSummary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeSource {\n"); + sb.append(" incomeSourceId: ").append(toIndentedString(incomeSourceId)).append("\n"); + sb.append(" incomeDescription: ").append(toIndentedString(incomeDescription)).append("\n"); + sb.append(" incomeCategory: ").append(toIndentedString(incomeCategory)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" payFrequency: ").append(toIndentedString(payFrequency)).append("\n"); + sb.append(" totalAmount: ").append(toIndentedString(totalAmount)).append("\n"); + sb.append(" transactionCount: ").append(toIndentedString(transactionCount)).append("\n"); + sb.append(" historicalSummary: ").append(toIndentedString(historicalSummary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeSummary.java b/src/main/java/com/plaid/client/model/CreditBankIncomeSummary.java new file mode 100644 index 0000000000..d094f568c7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeSummary.java @@ -0,0 +1,382 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditAmountWithCurrency; +import com.plaid.client.model.CreditBankIncomeHistoricalSummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * Summary for bank income across all income sources and items (max history of 730 days). + */ +@ApiModel(description = "Summary for bank income across all income sources and items (max history of 730 days).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeSummary { + public static final String SERIALIZED_NAME_TOTAL_AMOUNT = "total_amount"; + @SerializedName(SERIALIZED_NAME_TOTAL_AMOUNT) + private Double totalAmount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_TOTAL_AMOUNTS = "total_amounts"; + @SerializedName(SERIALIZED_NAME_TOTAL_AMOUNTS) + private List totalAmounts = null; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_INCOME_SOURCES_COUNT = "income_sources_count"; + @SerializedName(SERIALIZED_NAME_INCOME_SOURCES_COUNT) + private Integer incomeSourcesCount; + + public static final String SERIALIZED_NAME_INCOME_CATEGORIES_COUNT = "income_categories_count"; + @SerializedName(SERIALIZED_NAME_INCOME_CATEGORIES_COUNT) + private Integer incomeCategoriesCount; + + public static final String SERIALIZED_NAME_INCOME_TRANSACTIONS_COUNT = "income_transactions_count"; + @SerializedName(SERIALIZED_NAME_INCOME_TRANSACTIONS_COUNT) + private Integer incomeTransactionsCount; + + public static final String SERIALIZED_NAME_HISTORICAL_SUMMARY = "historical_summary"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_SUMMARY) + private List historicalSummary = null; + + + public CreditBankIncomeSummary totalAmount(Double totalAmount) { + + this.totalAmount = totalAmount; + return this; + } + + /** + * Total amount of earnings across all the income sources in the end user's Items for the days requested by the client. This may return an incorrect value if the summary includes income sources in multiple currencies. Please use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-bank-income-summary-total-amounts) instead. + * @return totalAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total amount of earnings across all the income sources in the end user's Items for the days requested by the client. This may return an incorrect value if the summary includes income sources in multiple currencies. Please use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-bank-income-summary-total-amounts) instead.") + + public Double getTotalAmount() { + return totalAmount; + } + + + public void setTotalAmount(Double totalAmount) { + this.totalAmount = totalAmount; + } + + + public CreditBankIncomeSummary isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. Please use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-bank-income-summary-total-amounts) instead. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO 4217 currency code of the amount or balance. Please use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-bank-income-summary-total-amounts) instead.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CreditBankIncomeSummary unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. Please use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-bank-income-summary-total-amounts) instead. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. Please use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-bank-income-summary-total-amounts) instead.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public CreditBankIncomeSummary totalAmounts(List totalAmounts) { + + this.totalAmounts = totalAmounts; + return this; + } + + public CreditBankIncomeSummary addTotalAmountsItem(CreditAmountWithCurrency totalAmountsItem) { + if (this.totalAmounts == null) { + this.totalAmounts = new ArrayList<>(); + } + this.totalAmounts.add(totalAmountsItem); + return this; + } + + /** + * Total amount of earnings across all the income sources in the end user's Items for the days requested by the client. This can contain multiple amounts, with each amount denominated in one unique currency. + * @return totalAmounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total amount of earnings across all the income sources in the end user's Items for the days requested by the client. This can contain multiple amounts, with each amount denominated in one unique currency.") + + public List getTotalAmounts() { + return totalAmounts; + } + + + public void setTotalAmounts(List totalAmounts) { + this.totalAmounts = totalAmounts; + } + + + public CreditBankIncomeSummary startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The earliest date within the days requested in which all income sources identified by Plaid appear in a user's account. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The earliest date within the days requested in which all income sources identified by Plaid appear in a user's account. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public CreditBankIncomeSummary endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The latest date in which all income sources identified by Plaid appear in the user's account. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The latest date in which all income sources identified by Plaid appear in the user's account. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public CreditBankIncomeSummary incomeSourcesCount(Integer incomeSourcesCount) { + + this.incomeSourcesCount = incomeSourcesCount; + return this; + } + + /** + * Number of income sources per end user. + * @return incomeSourcesCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of income sources per end user.") + + public Integer getIncomeSourcesCount() { + return incomeSourcesCount; + } + + + public void setIncomeSourcesCount(Integer incomeSourcesCount) { + this.incomeSourcesCount = incomeSourcesCount; + } + + + public CreditBankIncomeSummary incomeCategoriesCount(Integer incomeCategoriesCount) { + + this.incomeCategoriesCount = incomeCategoriesCount; + return this; + } + + /** + * Number of income categories per end user. + * @return incomeCategoriesCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of income categories per end user.") + + public Integer getIncomeCategoriesCount() { + return incomeCategoriesCount; + } + + + public void setIncomeCategoriesCount(Integer incomeCategoriesCount) { + this.incomeCategoriesCount = incomeCategoriesCount; + } + + + public CreditBankIncomeSummary incomeTransactionsCount(Integer incomeTransactionsCount) { + + this.incomeTransactionsCount = incomeTransactionsCount; + return this; + } + + /** + * Number of income transactions per end user. + * @return incomeTransactionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of income transactions per end user.") + + public Integer getIncomeTransactionsCount() { + return incomeTransactionsCount; + } + + + public void setIncomeTransactionsCount(Integer incomeTransactionsCount) { + this.incomeTransactionsCount = incomeTransactionsCount; + } + + + public CreditBankIncomeSummary historicalSummary(List historicalSummary) { + + this.historicalSummary = historicalSummary; + return this; + } + + public CreditBankIncomeSummary addHistoricalSummaryItem(CreditBankIncomeHistoricalSummary historicalSummaryItem) { + if (this.historicalSummary == null) { + this.historicalSummary = new ArrayList<>(); + } + this.historicalSummary.add(historicalSummaryItem); + return this; + } + + /** + * Get historicalSummary + * @return historicalSummary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getHistoricalSummary() { + return historicalSummary; + } + + + public void setHistoricalSummary(List historicalSummary) { + this.historicalSummary = historicalSummary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeSummary creditBankIncomeSummary = (CreditBankIncomeSummary) o; + return Objects.equals(this.totalAmount, creditBankIncomeSummary.totalAmount) && + Objects.equals(this.isoCurrencyCode, creditBankIncomeSummary.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, creditBankIncomeSummary.unofficialCurrencyCode) && + Objects.equals(this.totalAmounts, creditBankIncomeSummary.totalAmounts) && + Objects.equals(this.startDate, creditBankIncomeSummary.startDate) && + Objects.equals(this.endDate, creditBankIncomeSummary.endDate) && + Objects.equals(this.incomeSourcesCount, creditBankIncomeSummary.incomeSourcesCount) && + Objects.equals(this.incomeCategoriesCount, creditBankIncomeSummary.incomeCategoriesCount) && + Objects.equals(this.incomeTransactionsCount, creditBankIncomeSummary.incomeTransactionsCount) && + Objects.equals(this.historicalSummary, creditBankIncomeSummary.historicalSummary); + } + + @Override + public int hashCode() { + return Objects.hash(totalAmount, isoCurrencyCode, unofficialCurrencyCode, totalAmounts, startDate, endDate, incomeSourcesCount, incomeCategoriesCount, incomeTransactionsCount, historicalSummary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeSummary {\n"); + sb.append(" totalAmount: ").append(toIndentedString(totalAmount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" totalAmounts: ").append(toIndentedString(totalAmounts)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" incomeSourcesCount: ").append(toIndentedString(incomeSourcesCount)).append("\n"); + sb.append(" incomeCategoriesCount: ").append(toIndentedString(incomeCategoriesCount)).append("\n"); + sb.append(" incomeTransactionsCount: ").append(toIndentedString(incomeTransactionsCount)).append("\n"); + sb.append(" historicalSummary: ").append(toIndentedString(historicalSummary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeTransaction.java b/src/main/java/com/plaid/client/model/CreditBankIncomeTransaction.java new file mode 100644 index 0000000000..d6c6f474ff --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeTransaction.java @@ -0,0 +1,333 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * The transactions data for the end user's income source(s). + */ +@ApiModel(description = "The transactions data for the end user's income source(s).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeTransaction { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ORIGINAL_DESCRIPTION = "original_description"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_DESCRIPTION) + private String originalDescription; + + public static final String SERIALIZED_NAME_PENDING = "pending"; + @SerializedName(SERIALIZED_NAME_PENDING) + private Boolean pending; + + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_CHECK_NUMBER = "check_number"; + @SerializedName(SERIALIZED_NAME_CHECK_NUMBER) + private String checkNumber; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public CreditBankIncomeTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The settled value of the transaction, denominated in the transaction's currency as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The settled value of the transaction, denominated in the transaction's currency as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CreditBankIncomeTransaction date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format (YYYY-MM-DD). + * @return date + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public CreditBankIncomeTransaction name(String name) { + + this.name = name; + return this; + } + + /** + * The merchant name or transaction description. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The merchant name or transaction description.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CreditBankIncomeTransaction originalDescription(String originalDescription) { + + this.originalDescription = originalDescription; + return this; + } + + /** + * The string returned by the financial institution to describe the transaction. + * @return originalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The string returned by the financial institution to describe the transaction.") + + public String getOriginalDescription() { + return originalDescription; + } + + + public void setOriginalDescription(String originalDescription) { + this.originalDescription = originalDescription; + } + + + public CreditBankIncomeTransaction pending(Boolean pending) { + + this.pending = pending; + return this; + } + + /** + * When true, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled. + * @return pending + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When true, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.") + + public Boolean getPending() { + return pending; + } + + + public void setPending(Boolean pending) { + this.pending = pending; + } + + + public CreditBankIncomeTransaction transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive. + * @return transactionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public CreditBankIncomeTransaction checkNumber(String checkNumber) { + + this.checkNumber = checkNumber; + return this; + } + + /** + * The check number of the transaction. This field is only populated for check transactions. + * @return checkNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The check number of the transaction. This field is only populated for check transactions.") + + public String getCheckNumber() { + return checkNumber; + } + + + public void setCheckNumber(String checkNumber) { + this.checkNumber = checkNumber; + } + + + public CreditBankIncomeTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CreditBankIncomeTransaction unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeTransaction creditBankIncomeTransaction = (CreditBankIncomeTransaction) o; + return Objects.equals(this.amount, creditBankIncomeTransaction.amount) && + Objects.equals(this.date, creditBankIncomeTransaction.date) && + Objects.equals(this.name, creditBankIncomeTransaction.name) && + Objects.equals(this.originalDescription, creditBankIncomeTransaction.originalDescription) && + Objects.equals(this.pending, creditBankIncomeTransaction.pending) && + Objects.equals(this.transactionId, creditBankIncomeTransaction.transactionId) && + Objects.equals(this.checkNumber, creditBankIncomeTransaction.checkNumber) && + Objects.equals(this.isoCurrencyCode, creditBankIncomeTransaction.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, creditBankIncomeTransaction.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, date, name, originalDescription, pending, transactionId, checkNumber, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeTransaction {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" originalDescription: ").append(toIndentedString(originalDescription)).append("\n"); + sb.append(" pending: ").append(toIndentedString(pending)).append("\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" checkNumber: ").append(toIndentedString(checkNumber)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeWarning.java b/src/main/java/com/plaid/client/model/CreditBankIncomeWarning.java new file mode 100644 index 0000000000..1a2332ea99 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeWarning.java @@ -0,0 +1,160 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankIncomeCause; +import com.plaid.client.model.CreditBankIncomeWarningCode; +import com.plaid.client.model.CreditBankIncomeWarningType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The warning associated with the data that was unavailable for the Bank Income Report. + */ +@ApiModel(description = "The warning associated with the data that was unavailable for the Bank Income Report.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeWarning { + public static final String SERIALIZED_NAME_WARNING_TYPE = "warning_type"; + @SerializedName(SERIALIZED_NAME_WARNING_TYPE) + private CreditBankIncomeWarningType warningType; + + public static final String SERIALIZED_NAME_WARNING_CODE = "warning_code"; + @SerializedName(SERIALIZED_NAME_WARNING_CODE) + private CreditBankIncomeWarningCode warningCode; + + public static final String SERIALIZED_NAME_CAUSE = "cause"; + @SerializedName(SERIALIZED_NAME_CAUSE) + private CreditBankIncomeCause cause; + + + public CreditBankIncomeWarning warningType(CreditBankIncomeWarningType warningType) { + + this.warningType = warningType; + return this; + } + + /** + * Get warningType + * @return warningType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditBankIncomeWarningType getWarningType() { + return warningType; + } + + + public void setWarningType(CreditBankIncomeWarningType warningType) { + this.warningType = warningType; + } + + + public CreditBankIncomeWarning warningCode(CreditBankIncomeWarningCode warningCode) { + + this.warningCode = warningCode; + return this; + } + + /** + * Get warningCode + * @return warningCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditBankIncomeWarningCode getWarningCode() { + return warningCode; + } + + + public void setWarningCode(CreditBankIncomeWarningCode warningCode) { + this.warningCode = warningCode; + } + + + public CreditBankIncomeWarning cause(CreditBankIncomeCause cause) { + + this.cause = cause; + return this; + } + + /** + * Get cause + * @return cause + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditBankIncomeCause getCause() { + return cause; + } + + + public void setCause(CreditBankIncomeCause cause) { + this.cause = cause; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeWarning creditBankIncomeWarning = (CreditBankIncomeWarning) o; + return Objects.equals(this.warningType, creditBankIncomeWarning.warningType) && + Objects.equals(this.warningCode, creditBankIncomeWarning.warningCode) && + Objects.equals(this.cause, creditBankIncomeWarning.cause); + } + + @Override + public int hashCode() { + return Objects.hash(warningType, warningCode, cause); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeWarning {\n"); + sb.append(" warningType: ").append(toIndentedString(warningType)).append("\n"); + sb.append(" warningCode: ").append(toIndentedString(warningCode)).append("\n"); + sb.append(" cause: ").append(toIndentedString(cause)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeWarningCode.java b/src/main/java/com/plaid/client/model/CreditBankIncomeWarningCode.java new file mode 100644 index 0000000000..22239852f4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeWarningCode.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The warning code identifies a specific kind of warning. `IDENTITY_UNAVAILABLE`: Unable to extract identity for the Item `TRANSACTIONS_UNAVAILABLE`: Unable to extract transactions for the Item `ITEM_UNAPPROVED`: User exited flow before giving permission to share data for the Item `REPORT_DELETED`: Report deleted due to customer or consumer request `DATA_UNAVAILABLE`: No relevant data was found for the Item + */ +@JsonAdapter(CreditBankIncomeWarningCode.Adapter.class) +public enum CreditBankIncomeWarningCode { + + IDENTITY_UNAVAILABLE("IDENTITY_UNAVAILABLE"), + + TRANSACTIONS_UNAVAILABLE("TRANSACTIONS_UNAVAILABLE"), + + ITEM_UNAPPROVED("ITEM_UNAPPROVED"), + + REPORT_DELETED("REPORT_DELETED"), + + DATA_UNAVAILABLE("DATA_UNAVAILABLE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CreditBankIncomeWarningCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CreditBankIncomeWarningCode fromValue(String value) { + for (CreditBankIncomeWarningCode b : CreditBankIncomeWarningCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CreditBankIncomeWarningCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CreditBankIncomeWarningCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CreditBankIncomeWarningCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CreditBankIncomeWarningCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeWarningType.java b/src/main/java/com/plaid/client/model/CreditBankIncomeWarningType.java new file mode 100644 index 0000000000..46104b8501 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeWarningType.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The warning type which will always be `BANK_INCOME_WARNING`. + */ +@JsonAdapter(CreditBankIncomeWarningType.Adapter.class) +public enum CreditBankIncomeWarningType { + + BANK_INCOME_WARNING("BANK_INCOME_WARNING"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CreditBankIncomeWarningType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CreditBankIncomeWarningType fromValue(String value) { + for (CreditBankIncomeWarningType b : CreditBankIncomeWarningType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CreditBankIncomeWarningType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CreditBankIncomeWarningType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CreditBankIncomeWarningType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CreditBankIncomeWarningType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeWebhookUpdateRequest.java b/src/main/java/com/plaid/client/model/CreditBankIncomeWebhookUpdateRequest.java new file mode 100644 index 0000000000..2fd154df5f --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeWebhookUpdateRequest.java @@ -0,0 +1,213 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditBankIncomeWebhookUpdateRequest defines the request schema for `/credit/bank_income/webhook/update`. + */ +@ApiModel(description = "CreditBankIncomeWebhookUpdateRequest defines the request schema for `/credit/bank_income/webhook/update`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeWebhookUpdateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENABLE_WEBHOOKS = "enable_webhooks"; + @SerializedName(SERIALIZED_NAME_ENABLE_WEBHOOKS) + private Boolean enableWebhooks; + + + public CreditBankIncomeWebhookUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditBankIncomeWebhookUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditBankIncomeWebhookUpdateRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @ApiModelProperty(required = true, value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CreditBankIncomeWebhookUpdateRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CreditBankIncomeWebhookUpdateRequest enableWebhooks(Boolean enableWebhooks) { + + this.enableWebhooks = enableWebhooks; + return this; + } + + /** + * Whether the user should be enabled for proactive webhook notifications when their income changes + * @return enableWebhooks + **/ + @ApiModelProperty(required = true, value = "Whether the user should be enabled for proactive webhook notifications when their income changes") + + public Boolean getEnableWebhooks() { + return enableWebhooks; + } + + + public void setEnableWebhooks(Boolean enableWebhooks) { + this.enableWebhooks = enableWebhooks; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeWebhookUpdateRequest creditBankIncomeWebhookUpdateRequest = (CreditBankIncomeWebhookUpdateRequest) o; + return Objects.equals(this.clientId, creditBankIncomeWebhookUpdateRequest.clientId) && + Objects.equals(this.secret, creditBankIncomeWebhookUpdateRequest.secret) && + Objects.equals(this.userToken, creditBankIncomeWebhookUpdateRequest.userToken) && + Objects.equals(this.userId, creditBankIncomeWebhookUpdateRequest.userId) && + Objects.equals(this.enableWebhooks, creditBankIncomeWebhookUpdateRequest.enableWebhooks); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userId, enableWebhooks); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeWebhookUpdateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" enableWebhooks: ").append(toIndentedString(enableWebhooks)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankIncomeWebhookUpdateResponse.java b/src/main/java/com/plaid/client/model/CreditBankIncomeWebhookUpdateResponse.java new file mode 100644 index 0000000000..e4bebe1ce1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankIncomeWebhookUpdateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditBankIncomeWebhookUpdateResponse defines the response schema for `/credit/bank_income/webhook/update`. + */ +@ApiModel(description = "CreditBankIncomeWebhookUpdateResponse defines the response schema for `/credit/bank_income/webhook/update`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankIncomeWebhookUpdateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditBankIncomeWebhookUpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankIncomeWebhookUpdateResponse creditBankIncomeWebhookUpdateResponse = (CreditBankIncomeWebhookUpdateResponse) o; + return Objects.equals(this.requestId, creditBankIncomeWebhookUpdateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankIncomeWebhookUpdateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankStatementUploadAccountOwner.java b/src/main/java/com/plaid/client/model/CreditBankStatementUploadAccountOwner.java new file mode 100644 index 0000000000..1d07ce349c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankStatementUploadAccountOwner.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankStatementUploadAccountOwnerAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object containing data about the owner of the bank account for the uploaded bank statement. + */ +@ApiModel(description = "An object containing data about the owner of the bank account for the uploaded bank statement.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankStatementUploadAccountOwner { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private CreditBankStatementUploadAccountOwnerAddress address; + + + public CreditBankStatementUploadAccountOwner name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the account owner + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The name of the account owner") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CreditBankStatementUploadAccountOwner address(CreditBankStatementUploadAccountOwnerAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public CreditBankStatementUploadAccountOwnerAddress getAddress() { + return address; + } + + + public void setAddress(CreditBankStatementUploadAccountOwnerAddress address) { + this.address = address; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankStatementUploadAccountOwner creditBankStatementUploadAccountOwner = (CreditBankStatementUploadAccountOwner) o; + return Objects.equals(this.name, creditBankStatementUploadAccountOwner.name) && + Objects.equals(this.address, creditBankStatementUploadAccountOwner.address); + } + + @Override + public int hashCode() { + return Objects.hash(name, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankStatementUploadAccountOwner {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankStatementUploadAccountOwnerAddress.java b/src/main/java/com/plaid/client/model/CreditBankStatementUploadAccountOwnerAddress.java new file mode 100644 index 0000000000..e44594da51 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankStatementUploadAccountOwnerAddress.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Address on the uploaded bank statement + */ +@ApiModel(description = "Address on the uploaded bank statement") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankStatementUploadAccountOwnerAddress { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + + public CreditBankStatementUploadAccountOwnerAddress city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The full city name.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public CreditBankStatementUploadAccountOwnerAddress country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code. + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 3166-1 alpha-2 country code.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public CreditBankStatementUploadAccountOwnerAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code of the address. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The postal code of the address.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public CreditBankStatementUploadAccountOwnerAddress region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state. Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The region or state. Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public CreditBankStatementUploadAccountOwnerAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address. + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The full street address.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankStatementUploadAccountOwnerAddress creditBankStatementUploadAccountOwnerAddress = (CreditBankStatementUploadAccountOwnerAddress) o; + return Objects.equals(this.city, creditBankStatementUploadAccountOwnerAddress.city) && + Objects.equals(this.country, creditBankStatementUploadAccountOwnerAddress.country) && + Objects.equals(this.postalCode, creditBankStatementUploadAccountOwnerAddress.postalCode) && + Objects.equals(this.region, creditBankStatementUploadAccountOwnerAddress.region) && + Objects.equals(this.street, creditBankStatementUploadAccountOwnerAddress.street); + } + + @Override + public int hashCode() { + return Objects.hash(city, country, postalCode, region, street); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankStatementUploadAccountOwnerAddress {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankStatementUploadBankAccount.java b/src/main/java/com/plaid/client/model/CreditBankStatementUploadBankAccount.java new file mode 100644 index 0000000000..fadb7b45fe --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankStatementUploadBankAccount.java @@ -0,0 +1,280 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankStatementUploadAccountOwner; +import com.plaid.client.model.CreditBankStatementUploadBankAccountPeriod; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object containing data about a user's bank account related to an uploaded bank statement. + */ +@ApiModel(description = "An object containing data about a user's bank account related to an uploaded bank statement.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankStatementUploadBankAccount { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_BANK_NAME = "bank_name"; + @SerializedName(SERIALIZED_NAME_BANK_NAME) + private String bankName; + + public static final String SERIALIZED_NAME_ACCOUNT_TYPE = "account_type"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_TYPE) + private String accountType; + + public static final String SERIALIZED_NAME_ACCOUNT_NUMBER = "account_number"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBER) + private String accountNumber; + + public static final String SERIALIZED_NAME_OWNER = "owner"; + @SerializedName(SERIALIZED_NAME_OWNER) + private CreditBankStatementUploadAccountOwner owner; + + public static final String SERIALIZED_NAME_PERIODS = "periods"; + @SerializedName(SERIALIZED_NAME_PERIODS) + private List periods = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + + public CreditBankStatementUploadBankAccount name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the bank account + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The name of the bank account") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CreditBankStatementUploadBankAccount bankName(String bankName) { + + this.bankName = bankName; + return this; + } + + /** + * The name of the bank institution. + * @return bankName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The name of the bank institution.") + + public String getBankName() { + return bankName; + } + + + public void setBankName(String bankName) { + this.bankName = bankName; + } + + + public CreditBankStatementUploadBankAccount accountType(String accountType) { + + this.accountType = accountType; + return this; + } + + /** + * The type of the bank account. + * @return accountType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The type of the bank account.") + + public String getAccountType() { + return accountType; + } + + + public void setAccountType(String accountType) { + this.accountType = accountType; + } + + + public CreditBankStatementUploadBankAccount accountNumber(String accountNumber) { + + this.accountNumber = accountNumber; + return this; + } + + /** + * The bank account number. + * @return accountNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The bank account number.") + + public String getAccountNumber() { + return accountNumber; + } + + + public void setAccountNumber(String accountNumber) { + this.accountNumber = accountNumber; + } + + + public CreditBankStatementUploadBankAccount owner(CreditBankStatementUploadAccountOwner owner) { + + this.owner = owner; + return this; + } + + /** + * Get owner + * @return owner + **/ + @ApiModelProperty(required = true, value = "") + + public CreditBankStatementUploadAccountOwner getOwner() { + return owner; + } + + + public void setOwner(CreditBankStatementUploadAccountOwner owner) { + this.owner = owner; + } + + + public CreditBankStatementUploadBankAccount periods(List periods) { + + this.periods = periods; + return this; + } + + public CreditBankStatementUploadBankAccount addPeriodsItem(CreditBankStatementUploadBankAccountPeriod periodsItem) { + this.periods.add(periodsItem); + return this; + } + + /** + * An array of period objects, containing more data on the overall period of the statement. + * @return periods + **/ + @ApiModelProperty(required = true, value = "An array of period objects, containing more data on the overall period of the statement.") + + public List getPeriods() { + return periods; + } + + + public void setPeriods(List periods) { + this.periods = periods; + } + + + public CreditBankStatementUploadBankAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The unique id of the bank account + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unique id of the bank account") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankStatementUploadBankAccount creditBankStatementUploadBankAccount = (CreditBankStatementUploadBankAccount) o; + return Objects.equals(this.name, creditBankStatementUploadBankAccount.name) && + Objects.equals(this.bankName, creditBankStatementUploadBankAccount.bankName) && + Objects.equals(this.accountType, creditBankStatementUploadBankAccount.accountType) && + Objects.equals(this.accountNumber, creditBankStatementUploadBankAccount.accountNumber) && + Objects.equals(this.owner, creditBankStatementUploadBankAccount.owner) && + Objects.equals(this.periods, creditBankStatementUploadBankAccount.periods) && + Objects.equals(this.accountId, creditBankStatementUploadBankAccount.accountId); + } + + @Override + public int hashCode() { + return Objects.hash(name, bankName, accountType, accountNumber, owner, periods, accountId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankStatementUploadBankAccount {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" bankName: ").append(toIndentedString(bankName)).append("\n"); + sb.append(" accountType: ").append(toIndentedString(accountType)).append("\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).append("\n"); + sb.append(" owner: ").append(toIndentedString(owner)).append("\n"); + sb.append(" periods: ").append(toIndentedString(periods)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankStatementUploadBankAccountPeriod.java b/src/main/java/com/plaid/client/model/CreditBankStatementUploadBankAccountPeriod.java new file mode 100644 index 0000000000..30c6b70319 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankStatementUploadBankAccountPeriod.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * An object containing data on the overall period of the statement. + */ +@ApiModel(description = "An object containing data on the overall period of the statement.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankStatementUploadBankAccountPeriod { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_STARTING_BALANCE = "starting_balance"; + @SerializedName(SERIALIZED_NAME_STARTING_BALANCE) + private Double startingBalance; + + public static final String SERIALIZED_NAME_ENDING_BALANCE = "ending_balance"; + @SerializedName(SERIALIZED_NAME_ENDING_BALANCE) + private Double endingBalance; + + + public CreditBankStatementUploadBankAccountPeriod startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date of the statement period in ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The start date of the statement period in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public CreditBankStatementUploadBankAccountPeriod endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end date of the statement period in ISO 8601 format (YYYY-MM-DD). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The end date of the statement period in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public CreditBankStatementUploadBankAccountPeriod startingBalance(Double startingBalance) { + + this.startingBalance = startingBalance; + return this; + } + + /** + * The starting balance of the bank account for the period. + * @return startingBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The starting balance of the bank account for the period.") + + public Double getStartingBalance() { + return startingBalance; + } + + + public void setStartingBalance(Double startingBalance) { + this.startingBalance = startingBalance; + } + + + public CreditBankStatementUploadBankAccountPeriod endingBalance(Double endingBalance) { + + this.endingBalance = endingBalance; + return this; + } + + /** + * The ending balance of the bank account for the period. + * @return endingBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ending balance of the bank account for the period.") + + public Double getEndingBalance() { + return endingBalance; + } + + + public void setEndingBalance(Double endingBalance) { + this.endingBalance = endingBalance; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankStatementUploadBankAccountPeriod creditBankStatementUploadBankAccountPeriod = (CreditBankStatementUploadBankAccountPeriod) o; + return Objects.equals(this.startDate, creditBankStatementUploadBankAccountPeriod.startDate) && + Objects.equals(this.endDate, creditBankStatementUploadBankAccountPeriod.endDate) && + Objects.equals(this.startingBalance, creditBankStatementUploadBankAccountPeriod.startingBalance) && + Objects.equals(this.endingBalance, creditBankStatementUploadBankAccountPeriod.endingBalance); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate, startingBalance, endingBalance); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankStatementUploadBankAccountPeriod {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" startingBalance: ").append(toIndentedString(startingBalance)).append("\n"); + sb.append(" endingBalance: ").append(toIndentedString(endingBalance)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankStatementUploadItem.java b/src/main/java/com/plaid/client/model/CreditBankStatementUploadItem.java new file mode 100644 index 0000000000..435d243d95 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankStatementUploadItem.java @@ -0,0 +1,194 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankStatementUploadObject; +import com.plaid.client.model.PayrollItemStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * An object containing information about the bank statement upload Item. + */ +@ApiModel(description = "An object containing information about the bank statement upload Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankStatementUploadItem { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_BANK_STATEMENTS = "bank_statements"; + @SerializedName(SERIALIZED_NAME_BANK_STATEMENTS) + private List bankStatements = new ArrayList<>(); + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PayrollItemStatus status; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + private OffsetDateTime updatedAt; + + + public CreditBankStatementUploadItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CreditBankStatementUploadItem bankStatements(List bankStatements) { + + this.bankStatements = bankStatements; + return this; + } + + public CreditBankStatementUploadItem addBankStatementsItem(CreditBankStatementUploadObject bankStatementsItem) { + this.bankStatements.add(bankStatementsItem); + return this; + } + + /** + * Get bankStatements + * @return bankStatements + **/ + @ApiModelProperty(required = true, value = "") + + public List getBankStatements() { + return bankStatements; + } + + + public void setBankStatements(List bankStatements) { + this.bankStatements = bankStatements; + } + + + public CreditBankStatementUploadItem status(PayrollItemStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PayrollItemStatus getStatus() { + return status; + } + + + public void setStatus(PayrollItemStatus status) { + this.status = status; + } + + + public CreditBankStatementUploadItem updatedAt(OffsetDateTime updatedAt) { + + this.updatedAt = updatedAt; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDTHH:mm:ssZ) indicating the last time that the Item was updated. + * @return updatedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDTHH:mm:ssZ) indicating the last time that the Item was updated.") + + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + + public void setUpdatedAt(OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankStatementUploadItem creditBankStatementUploadItem = (CreditBankStatementUploadItem) o; + return Objects.equals(this.itemId, creditBankStatementUploadItem.itemId) && + Objects.equals(this.bankStatements, creditBankStatementUploadItem.bankStatements) && + Objects.equals(this.status, creditBankStatementUploadItem.status) && + Objects.equals(this.updatedAt, creditBankStatementUploadItem.updatedAt); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, bankStatements, status, updatedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankStatementUploadItem {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" bankStatements: ").append(toIndentedString(bankStatements)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankStatementUploadObject.java b/src/main/java/com/plaid/client/model/CreditBankStatementUploadObject.java new file mode 100644 index 0000000000..63067de596 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankStatementUploadObject.java @@ -0,0 +1,198 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankStatementUploadBankAccount; +import com.plaid.client.model.CreditBankStatementUploadTransaction; +import com.plaid.client.model.CreditDocumentMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object containing data that has been parsed from a user-uploaded bank statement. + */ +@ApiModel(description = "An object containing data that has been parsed from a user-uploaded bank statement.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankStatementUploadObject { + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DOCUMENT_METADATA = "document_metadata"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_METADATA) + private CreditDocumentMetadata documentMetadata; + + public static final String SERIALIZED_NAME_DOCUMENT_ID = "document_id"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_ID) + private String documentId; + + public static final String SERIALIZED_NAME_BANK_ACCOUNTS = "bank_accounts"; + @SerializedName(SERIALIZED_NAME_BANK_ACCOUNTS) + private List bankAccounts = new ArrayList<>(); + + + public CreditBankStatementUploadObject transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public CreditBankStatementUploadObject addTransactionsItem(CreditBankStatementUploadTransaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * An array of transactions appearing on the bank statement. + * @return transactions + **/ + @ApiModelProperty(required = true, value = "An array of transactions appearing on the bank statement.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + public CreditBankStatementUploadObject documentMetadata(CreditDocumentMetadata documentMetadata) { + + this.documentMetadata = documentMetadata; + return this; + } + + /** + * Get documentMetadata + * @return documentMetadata + **/ + @ApiModelProperty(required = true, value = "") + + public CreditDocumentMetadata getDocumentMetadata() { + return documentMetadata; + } + + + public void setDocumentMetadata(CreditDocumentMetadata documentMetadata) { + this.documentMetadata = documentMetadata; + } + + + public CreditBankStatementUploadObject documentId(String documentId) { + + this.documentId = documentId; + return this; + } + + /** + * An identifier of the document referenced by the document metadata. + * @return documentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "An identifier of the document referenced by the document metadata.") + + public String getDocumentId() { + return documentId; + } + + + public void setDocumentId(String documentId) { + this.documentId = documentId; + } + + + public CreditBankStatementUploadObject bankAccounts(List bankAccounts) { + + this.bankAccounts = bankAccounts; + return this; + } + + public CreditBankStatementUploadObject addBankAccountsItem(CreditBankStatementUploadBankAccount bankAccountsItem) { + this.bankAccounts.add(bankAccountsItem); + return this; + } + + /** + * An array of bank accounts associated with the uploaded bank statement. + * @return bankAccounts + **/ + @ApiModelProperty(required = true, value = "An array of bank accounts associated with the uploaded bank statement.") + + public List getBankAccounts() { + return bankAccounts; + } + + + public void setBankAccounts(List bankAccounts) { + this.bankAccounts = bankAccounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankStatementUploadObject creditBankStatementUploadObject = (CreditBankStatementUploadObject) o; + return Objects.equals(this.transactions, creditBankStatementUploadObject.transactions) && + Objects.equals(this.documentMetadata, creditBankStatementUploadObject.documentMetadata) && + Objects.equals(this.documentId, creditBankStatementUploadObject.documentId) && + Objects.equals(this.bankAccounts, creditBankStatementUploadObject.bankAccounts); + } + + @Override + public int hashCode() { + return Objects.hash(transactions, documentMetadata, documentId, bankAccounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankStatementUploadObject {\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" documentMetadata: ").append(toIndentedString(documentMetadata)).append("\n"); + sb.append(" documentId: ").append(toIndentedString(documentId)).append("\n"); + sb.append(" bankAccounts: ").append(toIndentedString(bankAccounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankStatementUploadTransaction.java b/src/main/java/com/plaid/client/model/CreditBankStatementUploadTransaction.java new file mode 100644 index 0000000000..fe1db02bf2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankStatementUploadTransaction.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * An object containing data about a transaction appearing on a user-uploaded bank statement. + */ +@ApiModel(description = "An object containing data about a transaction appearing on a user-uploaded bank statement.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankStatementUploadTransaction { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_ORIGINAL_DESCRIPTION = "original_description"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_DESCRIPTION) + private String originalDescription; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + + public CreditBankStatementUploadTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The value of the transaction. A negative amount indicates that money moved into the account (such as a paycheck being deposited). + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The value of the transaction. A negative amount indicates that money moved into the account (such as a paycheck being deposited).") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CreditBankStatementUploadTransaction date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The date of when the transaction was made, in ISO 8601 format (YYYY-MM-DD). + * @return date + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date of when the transaction was made, in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public CreditBankStatementUploadTransaction originalDescription(String originalDescription) { + + this.originalDescription = originalDescription; + return this; + } + + /** + * The raw description of the transaction as it appears on the bank statement. + * @return originalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The raw description of the transaction as it appears on the bank statement.") + + public String getOriginalDescription() { + return originalDescription; + } + + + public void setOriginalDescription(String originalDescription) { + this.originalDescription = originalDescription; + } + + + public CreditBankStatementUploadTransaction accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The unique id of the bank account that this transaction occurs in + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unique id of the bank account that this transaction occurs in") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankStatementUploadTransaction creditBankStatementUploadTransaction = (CreditBankStatementUploadTransaction) o; + return Objects.equals(this.amount, creditBankStatementUploadTransaction.amount) && + Objects.equals(this.date, creditBankStatementUploadTransaction.date) && + Objects.equals(this.originalDescription, creditBankStatementUploadTransaction.originalDescription) && + Objects.equals(this.accountId, creditBankStatementUploadTransaction.accountId); + } + + @Override + public int hashCode() { + return Objects.hash(amount, date, originalDescription, accountId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankStatementUploadTransaction {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" originalDescription: ").append(toIndentedString(originalDescription)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankStatementsUploadsGetRequest.java b/src/main/java/com/plaid/client/model/CreditBankStatementsUploadsGetRequest.java new file mode 100644 index 0000000000..5888bce6b7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankStatementsUploadsGetRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankStatementsUploadsGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditBankStatementsUploadsGetRequest defines the request schema for `/credit/bank_statements/uploads/get` + */ +@ApiModel(description = "CreditBankStatementsUploadsGetRequest defines the request schema for `/credit/bank_statements/uploads/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankStatementsUploadsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private CreditBankStatementsUploadsGetRequestOptions options; + + + public CreditBankStatementsUploadsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditBankStatementsUploadsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditBankStatementsUploadsGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @ApiModelProperty(required = true, value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CreditBankStatementsUploadsGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CreditBankStatementsUploadsGetRequest options(CreditBankStatementsUploadsGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditBankStatementsUploadsGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(CreditBankStatementsUploadsGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankStatementsUploadsGetRequest creditBankStatementsUploadsGetRequest = (CreditBankStatementsUploadsGetRequest) o; + return Objects.equals(this.clientId, creditBankStatementsUploadsGetRequest.clientId) && + Objects.equals(this.secret, creditBankStatementsUploadsGetRequest.secret) && + Objects.equals(this.userToken, creditBankStatementsUploadsGetRequest.userToken) && + Objects.equals(this.userId, creditBankStatementsUploadsGetRequest.userId) && + Objects.equals(this.options, creditBankStatementsUploadsGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userId, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankStatementsUploadsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankStatementsUploadsGetRequestOptions.java b/src/main/java/com/plaid/client/model/CreditBankStatementsUploadsGetRequestOptions.java new file mode 100644 index 0000000000..8afb97b984 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankStatementsUploadsGetRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object for `/credit/bank_statements/uploads/get` request options. + */ +@ApiModel(description = "An optional object for `/credit/bank_statements/uploads/get` request options.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankStatementsUploadsGetRequestOptions { + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = null; + + + public CreditBankStatementsUploadsGetRequestOptions itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public CreditBankStatementsUploadsGetRequestOptions addItemIdsItem(String itemIdsItem) { + if (this.itemIds == null) { + this.itemIds = new ArrayList<>(); + } + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * An array of `item_id`s whose bank statements information is returned. Each `item_id` should uniquely identify a bank statements uploaded item. If this field is not provided, all `item_id`s associated with the `user_token` will be returned in the response. + * @return itemIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of `item_id`s whose bank statements information is returned. Each `item_id` should uniquely identify a bank statements uploaded item. If this field is not provided, all `item_id`s associated with the `user_token` will be returned in the response.") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankStatementsUploadsGetRequestOptions creditBankStatementsUploadsGetRequestOptions = (CreditBankStatementsUploadsGetRequestOptions) o; + return Objects.equals(this.itemIds, creditBankStatementsUploadsGetRequestOptions.itemIds); + } + + @Override + public int hashCode() { + return Objects.hash(itemIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankStatementsUploadsGetRequestOptions {\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditBankStatementsUploadsGetResponse.java b/src/main/java/com/plaid/client/model/CreditBankStatementsUploadsGetResponse.java new file mode 100644 index 0000000000..8fe0875026 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditBankStatementsUploadsGetResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankStatementUploadItem; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CreditBankStatementsUploadsGetResponse defines the response schema for `/credit/bank_statements/uploads/get` + */ +@ApiModel(description = "CreditBankStatementsUploadsGetResponse defines the response schema for `/credit/bank_statements/uploads/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditBankStatementsUploadsGetResponse { + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditBankStatementsUploadsGetResponse items(List items) { + + this.items = items; + return this; + } + + public CreditBankStatementsUploadsGetResponse addItemsItem(CreditBankStatementUploadItem itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * Array of bank statement upload items. + * @return items + **/ + @ApiModelProperty(required = true, value = "Array of bank statement upload items.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + public CreditBankStatementsUploadsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditBankStatementsUploadsGetResponse creditBankStatementsUploadsGetResponse = (CreditBankStatementsUploadsGetResponse) o; + return Objects.equals(this.items, creditBankStatementsUploadsGetResponse.items) && + Objects.equals(this.requestId, creditBankStatementsUploadsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(items, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditBankStatementsUploadsGetResponse {\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditCardLiability.java b/src/main/java/com/plaid/client/model/CreditCardLiability.java new file mode 100644 index 0000000000..e26c7d7de8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditCardLiability.java @@ -0,0 +1,339 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.APR; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing a credit card account. + */ +@ApiModel(description = "An object representing a credit card account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditCardLiability { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_APRS = "aprs"; + @SerializedName(SERIALIZED_NAME_APRS) + private List aprs = new ArrayList<>(); + + public static final String SERIALIZED_NAME_IS_OVERDUE = "is_overdue"; + @SerializedName(SERIALIZED_NAME_IS_OVERDUE) + private Boolean isOverdue; + + public static final String SERIALIZED_NAME_LAST_PAYMENT_AMOUNT = "last_payment_amount"; + @SerializedName(SERIALIZED_NAME_LAST_PAYMENT_AMOUNT) + private Double lastPaymentAmount; + + public static final String SERIALIZED_NAME_LAST_PAYMENT_DATE = "last_payment_date"; + @SerializedName(SERIALIZED_NAME_LAST_PAYMENT_DATE) + private LocalDate lastPaymentDate; + + public static final String SERIALIZED_NAME_LAST_STATEMENT_ISSUE_DATE = "last_statement_issue_date"; + @SerializedName(SERIALIZED_NAME_LAST_STATEMENT_ISSUE_DATE) + private LocalDate lastStatementIssueDate; + + public static final String SERIALIZED_NAME_LAST_STATEMENT_BALANCE = "last_statement_balance"; + @SerializedName(SERIALIZED_NAME_LAST_STATEMENT_BALANCE) + private Double lastStatementBalance; + + public static final String SERIALIZED_NAME_MINIMUM_PAYMENT_AMOUNT = "minimum_payment_amount"; + @SerializedName(SERIALIZED_NAME_MINIMUM_PAYMENT_AMOUNT) + private Double minimumPaymentAmount; + + public static final String SERIALIZED_NAME_NEXT_PAYMENT_DUE_DATE = "next_payment_due_date"; + @SerializedName(SERIALIZED_NAME_NEXT_PAYMENT_DUE_DATE) + private LocalDate nextPaymentDueDate; + + + public CreditCardLiability accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account that this liability belongs to. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ID of the account that this liability belongs to.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CreditCardLiability aprs(List aprs) { + + this.aprs = aprs; + return this; + } + + public CreditCardLiability addAprsItem(APR aprsItem) { + this.aprs.add(aprsItem); + return this; + } + + /** + * The various interest rates that apply to the account. APR information is not provided by all card issuers; if APR data is not available, this array will be empty. + * @return aprs + **/ + @ApiModelProperty(required = true, value = "The various interest rates that apply to the account. APR information is not provided by all card issuers; if APR data is not available, this array will be empty.") + + public List getAprs() { + return aprs; + } + + + public void setAprs(List aprs) { + this.aprs = aprs; + } + + + public CreditCardLiability isOverdue(Boolean isOverdue) { + + this.isOverdue = isOverdue; + return this; + } + + /** + * true if a payment is currently overdue. Availability for this field is limited. + * @return isOverdue + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "true if a payment is currently overdue. Availability for this field is limited.") + + public Boolean getIsOverdue() { + return isOverdue; + } + + + public void setIsOverdue(Boolean isOverdue) { + this.isOverdue = isOverdue; + } + + + public CreditCardLiability lastPaymentAmount(Double lastPaymentAmount) { + + this.lastPaymentAmount = lastPaymentAmount; + return this; + } + + /** + * The amount of the last payment. + * @return lastPaymentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The amount of the last payment.") + + public Double getLastPaymentAmount() { + return lastPaymentAmount; + } + + + public void setLastPaymentAmount(Double lastPaymentAmount) { + this.lastPaymentAmount = lastPaymentAmount; + } + + + public CreditCardLiability lastPaymentDate(LocalDate lastPaymentDate) { + + this.lastPaymentDate = lastPaymentDate; + return this; + } + + /** + * The date of the last payment. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Availability for this field is limited. + * @return lastPaymentDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date of the last payment. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Availability for this field is limited.") + + public LocalDate getLastPaymentDate() { + return lastPaymentDate; + } + + + public void setLastPaymentDate(LocalDate lastPaymentDate) { + this.lastPaymentDate = lastPaymentDate; + } + + + public CreditCardLiability lastStatementIssueDate(LocalDate lastStatementIssueDate) { + + this.lastStatementIssueDate = lastStatementIssueDate; + return this; + } + + /** + * The date of the last statement. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return lastStatementIssueDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date of the last statement. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getLastStatementIssueDate() { + return lastStatementIssueDate; + } + + + public void setLastStatementIssueDate(LocalDate lastStatementIssueDate) { + this.lastStatementIssueDate = lastStatementIssueDate; + } + + + public CreditCardLiability lastStatementBalance(Double lastStatementBalance) { + + this.lastStatementBalance = lastStatementBalance; + return this; + } + + /** + * The total amount owed as of the last statement issued + * @return lastStatementBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total amount owed as of the last statement issued") + + public Double getLastStatementBalance() { + return lastStatementBalance; + } + + + public void setLastStatementBalance(Double lastStatementBalance) { + this.lastStatementBalance = lastStatementBalance; + } + + + public CreditCardLiability minimumPaymentAmount(Double minimumPaymentAmount) { + + this.minimumPaymentAmount = minimumPaymentAmount; + return this; + } + + /** + * The minimum payment due for the next billing cycle. + * @return minimumPaymentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The minimum payment due for the next billing cycle.") + + public Double getMinimumPaymentAmount() { + return minimumPaymentAmount; + } + + + public void setMinimumPaymentAmount(Double minimumPaymentAmount) { + this.minimumPaymentAmount = minimumPaymentAmount; + } + + + public CreditCardLiability nextPaymentDueDate(LocalDate nextPaymentDueDate) { + + this.nextPaymentDueDate = nextPaymentDueDate; + return this; + } + + /** + * The due date for the next payment. The due date is `null` if a payment is not expected. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return nextPaymentDueDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The due date for the next payment. The due date is `null` if a payment is not expected. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getNextPaymentDueDate() { + return nextPaymentDueDate; + } + + + public void setNextPaymentDueDate(LocalDate nextPaymentDueDate) { + this.nextPaymentDueDate = nextPaymentDueDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditCardLiability creditCardLiability = (CreditCardLiability) o; + return Objects.equals(this.accountId, creditCardLiability.accountId) && + Objects.equals(this.aprs, creditCardLiability.aprs) && + Objects.equals(this.isOverdue, creditCardLiability.isOverdue) && + Objects.equals(this.lastPaymentAmount, creditCardLiability.lastPaymentAmount) && + Objects.equals(this.lastPaymentDate, creditCardLiability.lastPaymentDate) && + Objects.equals(this.lastStatementIssueDate, creditCardLiability.lastStatementIssueDate) && + Objects.equals(this.lastStatementBalance, creditCardLiability.lastStatementBalance) && + Objects.equals(this.minimumPaymentAmount, creditCardLiability.minimumPaymentAmount) && + Objects.equals(this.nextPaymentDueDate, creditCardLiability.nextPaymentDueDate); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, aprs, isOverdue, lastPaymentAmount, lastPaymentDate, lastStatementIssueDate, lastStatementBalance, minimumPaymentAmount, nextPaymentDueDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditCardLiability {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" aprs: ").append(toIndentedString(aprs)).append("\n"); + sb.append(" isOverdue: ").append(toIndentedString(isOverdue)).append("\n"); + sb.append(" lastPaymentAmount: ").append(toIndentedString(lastPaymentAmount)).append("\n"); + sb.append(" lastPaymentDate: ").append(toIndentedString(lastPaymentDate)).append("\n"); + sb.append(" lastStatementIssueDate: ").append(toIndentedString(lastStatementIssueDate)).append("\n"); + sb.append(" lastStatementBalance: ").append(toIndentedString(lastStatementBalance)).append("\n"); + sb.append(" minimumPaymentAmount: ").append(toIndentedString(minimumPaymentAmount)).append("\n"); + sb.append(" nextPaymentDueDate: ").append(toIndentedString(nextPaymentDueDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditCategory.java b/src/main/java/com/plaid/client/model/CreditCategory.java new file mode 100644 index 0000000000..2cb9ed6aa8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditCategory.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information describing the intent of the transaction. Most relevant for credit use cases, but not limited to such use cases. See the [`taxonomy csv file`](https://plaid.com/documents/credit-category-taxonomy.csv) for a full list of credit categories. + */ +@ApiModel(description = "Information describing the intent of the transaction. Most relevant for credit use cases, but not limited to such use cases. See the [`taxonomy csv file`](https://plaid.com/documents/credit-category-taxonomy.csv) for a full list of credit categories.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditCategory { + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + private String primary; + + public static final String SERIALIZED_NAME_DETAILED = "detailed"; + @SerializedName(SERIALIZED_NAME_DETAILED) + private String detailed; + + + public CreditCategory primary(String primary) { + + this.primary = primary; + return this; + } + + /** + * A high level category that communicates the broad category of the transaction. + * @return primary + **/ + @ApiModelProperty(required = true, value = "A high level category that communicates the broad category of the transaction.") + + public String getPrimary() { + return primary; + } + + + public void setPrimary(String primary) { + this.primary = primary; + } + + + public CreditCategory detailed(String detailed) { + + this.detailed = detailed; + return this; + } + + /** + * A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category. + * @return detailed + **/ + @ApiModelProperty(required = true, value = "A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category.") + + public String getDetailed() { + return detailed; + } + + + public void setDetailed(String detailed) { + this.detailed = detailed; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditCategory creditCategory = (CreditCategory) o; + return Objects.equals(this.primary, creditCategory.primary) && + Objects.equals(this.detailed, creditCategory.detailed); + } + + @Override + public int hashCode() { + return Objects.hash(primary, detailed); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditCategory {\n"); + sb.append(" primary: ").append(toIndentedString(primary)).append("\n"); + sb.append(" detailed: ").append(toIndentedString(detailed)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditDocumentMetadata.java b/src/main/java/com/plaid/client/model/CreditDocumentMetadata.java new file mode 100644 index 0000000000..f36c8f44ab --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditDocumentMetadata.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Object representing metadata pertaining to the document. + */ +@ApiModel(description = "Object representing metadata pertaining to the document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditDocumentMetadata { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_DOCUMENT_TYPE = "document_type"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_TYPE) + private String documentType; + + public static final String SERIALIZED_NAME_DOWNLOAD_URL = "download_url"; + @SerializedName(SERIALIZED_NAME_DOWNLOAD_URL) + private String downloadUrl; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private String status; + + public static final String SERIALIZED_NAME_PAGE_COUNT = "page_count"; + @SerializedName(SERIALIZED_NAME_PAGE_COUNT) + private Integer pageCount; + + public static final String SERIALIZED_NAME_ERROR_MESSAGE = "error_message"; + @SerializedName(SERIALIZED_NAME_ERROR_MESSAGE) + private String errorMessage; + + + public CreditDocumentMetadata name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the document. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the document.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CreditDocumentMetadata documentType(String documentType) { + + this.documentType = documentType; + return this; + } + + /** + * The type of document. `PAYSTUB`: A paystub. `BANK_STATEMENT`: A bank statement. `US_TAX_W2`: A W-2 wage and tax statement provided by a US employer reflecting wages earned by the employee. `US_TAX_1099_MISC`: A 1099-MISC tax form reporting miscellaneous income. `US_TAX_1099_K`: A 1099-K tax form reporting payment card and third-party network transactions. `US_STUDENT_I20`: A Certificate of Eligibility for Nonimmigrant Student Status (Form I-20) issued by a US school. `US_MILITARY_ERAS`: An electronic Retirement Account Statement (eRAS) issued by the US military. `US_MILITARY_LES`: A Leave and Earnings Statement (LES) issued by the US military. `US_MILITARY_CLES`: A Civilian Leave and Earnings Statement (CLES) issued by the US military. `GIG`: Used to indicate that the income is related to gig work. Does not necessarily correspond to a specific document type. `PLAID_GENERATED_PAYSTUB_PDF`: Used to indicate that the PDF for the paystub was generated by Plaid. `NONE`: Used to indicate that there is no underlying document for the data. `UNKNOWN`: Document type could not be determined. + * @return documentType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The type of document. `PAYSTUB`: A paystub. `BANK_STATEMENT`: A bank statement. `US_TAX_W2`: A W-2 wage and tax statement provided by a US employer reflecting wages earned by the employee. `US_TAX_1099_MISC`: A 1099-MISC tax form reporting miscellaneous income. `US_TAX_1099_K`: A 1099-K tax form reporting payment card and third-party network transactions. `US_STUDENT_I20`: A Certificate of Eligibility for Nonimmigrant Student Status (Form I-20) issued by a US school. `US_MILITARY_ERAS`: An electronic Retirement Account Statement (eRAS) issued by the US military. `US_MILITARY_LES`: A Leave and Earnings Statement (LES) issued by the US military. `US_MILITARY_CLES`: A Civilian Leave and Earnings Statement (CLES) issued by the US military. `GIG`: Used to indicate that the income is related to gig work. Does not necessarily correspond to a specific document type. `PLAID_GENERATED_PAYSTUB_PDF`: Used to indicate that the PDF for the paystub was generated by Plaid. `NONE`: Used to indicate that there is no underlying document for the data. `UNKNOWN`: Document type could not be determined.") + + public String getDocumentType() { + return documentType; + } + + + public void setDocumentType(String documentType) { + this.documentType = documentType; + } + + + public CreditDocumentMetadata downloadUrl(String downloadUrl) { + + this.downloadUrl = downloadUrl; + return this; + } + + /** + * Signed URL to retrieve the document(s). The payload will be a .zip file containing the document(s). For Payroll Income, the file type of the documents will always be PDF, and the documents may not be available, in which case the field will be `null`. If you would like Plaid to generate a PDF if the original is not available, contact your account manager. [Example generated pay stub](https://plaid.com/documents/plaid-generated-mock-paystub.pdf). For Document Income, this field will not be `null`, and the file type of the underlying document(s) will be the original file type uploaded by the user. For more details on available file types, see the [Document Income](https://plaid.com/docs/income/document-income) documentation. This download URL can only be used once and expires after two minutes. To generate a new download URL, call `/credit/payroll_income/get` again. + * @return downloadUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Signed URL to retrieve the document(s). The payload will be a .zip file containing the document(s). For Payroll Income, the file type of the documents will always be PDF, and the documents may not be available, in which case the field will be `null`. If you would like Plaid to generate a PDF if the original is not available, contact your account manager. [Example generated pay stub](https://plaid.com/documents/plaid-generated-mock-paystub.pdf). For Document Income, this field will not be `null`, and the file type of the underlying document(s) will be the original file type uploaded by the user. For more details on available file types, see the [Document Income](https://plaid.com/docs/income/document-income) documentation. This download URL can only be used once and expires after two minutes. To generate a new download URL, call `/credit/payroll_income/get` again.") + + public String getDownloadUrl() { + return downloadUrl; + } + + + public void setDownloadUrl(String downloadUrl) { + this.downloadUrl = downloadUrl; + } + + + public CreditDocumentMetadata status(String status) { + + this.status = status; + return this; + } + + /** + * The processing status of the document. `PROCESSING_COMPLETE`: The document was successfully processed. `DOCUMENT_ERROR`: The document could not be processed. Possible causes include: The document was an unacceptable document type such as an offer letter or bank statement, the document image was cropped or blurry, or the document was corrupted. `UNKNOWN` or `null`: An internal error occurred. If this happens repeatedly, contact support or your Plaid account manager. + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The processing status of the document. `PROCESSING_COMPLETE`: The document was successfully processed. `DOCUMENT_ERROR`: The document could not be processed. Possible causes include: The document was an unacceptable document type such as an offer letter or bank statement, the document image was cropped or blurry, or the document was corrupted. `UNKNOWN` or `null`: An internal error occurred. If this happens repeatedly, contact support or your Plaid account manager.") + + public String getStatus() { + return status; + } + + + public void setStatus(String status) { + this.status = status; + } + + + public CreditDocumentMetadata pageCount(Integer pageCount) { + + this.pageCount = pageCount; + return this; + } + + /** + * The number of pages of the uploaded document (if available). + * @return pageCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of pages of the uploaded document (if available).") + + public Integer getPageCount() { + return pageCount; + } + + + public void setPageCount(Integer pageCount) { + this.pageCount = pageCount; + } + + + public CreditDocumentMetadata errorMessage(String errorMessage) { + + this.errorMessage = errorMessage; + return this; + } + + /** + * The reason why a failure occurred during document processing (if available). + * @return errorMessage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The reason why a failure occurred during document processing (if available).") + + public String getErrorMessage() { + return errorMessage; + } + + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditDocumentMetadata creditDocumentMetadata = (CreditDocumentMetadata) o; + return Objects.equals(this.name, creditDocumentMetadata.name) && + Objects.equals(this.documentType, creditDocumentMetadata.documentType) && + Objects.equals(this.downloadUrl, creditDocumentMetadata.downloadUrl) && + Objects.equals(this.status, creditDocumentMetadata.status) && + Objects.equals(this.pageCount, creditDocumentMetadata.pageCount) && + Objects.equals(this.errorMessage, creditDocumentMetadata.errorMessage); + } + + @Override + public int hashCode() { + return Objects.hash(name, documentType, downloadUrl, status, pageCount, errorMessage); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditDocumentMetadata {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" documentType: ").append(toIndentedString(documentType)).append("\n"); + sb.append(" downloadUrl: ").append(toIndentedString(downloadUrl)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" pageCount: ").append(toIndentedString(pageCount)).append("\n"); + sb.append(" errorMessage: ").append(toIndentedString(errorMessage)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditEmployerVerification.java b/src/main/java/com/plaid/client/model/CreditEmployerVerification.java new file mode 100644 index 0000000000..73ab6c3f4d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditEmployerVerification.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object containing employer data. + */ +@ApiModel(description = "An object containing employer data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditEmployerVerification { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + + public CreditEmployerVerification name(String name) { + + this.name = name; + return this; + } + + /** + * Name of employer. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Name of employer.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditEmployerVerification creditEmployerVerification = (CreditEmployerVerification) o; + return Objects.equals(this.name, creditEmployerVerification.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditEmployerVerification {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditEmploymentGetRequest.java b/src/main/java/com/plaid/client/model/CreditEmploymentGetRequest.java new file mode 100644 index 0000000000..a00bcd7370 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditEmploymentGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditEmploymentGetRequest defines the request schema for `/credit/employment/get`. + */ +@ApiModel(description = "CreditEmploymentGetRequest defines the request schema for `/credit/employment/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditEmploymentGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + + public CreditEmploymentGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditEmploymentGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditEmploymentGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @ApiModelProperty(required = true, value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditEmploymentGetRequest creditEmploymentGetRequest = (CreditEmploymentGetRequest) o; + return Objects.equals(this.clientId, creditEmploymentGetRequest.clientId) && + Objects.equals(this.secret, creditEmploymentGetRequest.secret) && + Objects.equals(this.userToken, creditEmploymentGetRequest.userToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditEmploymentGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditEmploymentGetResponse.java b/src/main/java/com/plaid/client/model/CreditEmploymentGetResponse.java new file mode 100644 index 0000000000..4369cb185e --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditEmploymentGetResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditEmploymentItem; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CreditEmploymentGetResponse defines the response schema for `/credit/employment/get`. + */ +@ApiModel(description = "CreditEmploymentGetResponse defines the response schema for `/credit/employment/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditEmploymentGetResponse { + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditEmploymentGetResponse items(List items) { + + this.items = items; + return this; + } + + public CreditEmploymentGetResponse addItemsItem(CreditEmploymentItem itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * Array of employment items. + * @return items + **/ + @ApiModelProperty(required = true, value = "Array of employment items.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + public CreditEmploymentGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditEmploymentGetResponse creditEmploymentGetResponse = (CreditEmploymentGetResponse) o; + return Objects.equals(this.items, creditEmploymentGetResponse.items) && + Objects.equals(this.requestId, creditEmploymentGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(items, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditEmploymentGetResponse {\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditEmploymentItem.java b/src/main/java/com/plaid/client/model/CreditEmploymentItem.java new file mode 100644 index 0000000000..5b295ff06d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditEmploymentItem.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditEmploymentVerification; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The object containing employment items. + */ +@ApiModel(description = "The object containing employment items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditEmploymentItem { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_EMPLOYMENTS = "employments"; + @SerializedName(SERIALIZED_NAME_EMPLOYMENTS) + private List employments = new ArrayList<>(); + + public static final String SERIALIZED_NAME_EMPLOYMENT_REPORT_TOKEN = "employment_report_token"; + @SerializedName(SERIALIZED_NAME_EMPLOYMENT_REPORT_TOKEN) + private String employmentReportToken; + + + public CreditEmploymentItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CreditEmploymentItem employments(List employments) { + + this.employments = employments; + return this; + } + + public CreditEmploymentItem addEmploymentsItem(CreditEmploymentVerification employmentsItem) { + this.employments.add(employmentsItem); + return this; + } + + /** + * Get employments + * @return employments + **/ + @ApiModelProperty(required = true, value = "") + + public List getEmployments() { + return employments; + } + + + public void setEmployments(List employments) { + this.employments = employments; + } + + + public CreditEmploymentItem employmentReportToken(String employmentReportToken) { + + this.employmentReportToken = employmentReportToken; + return this; + } + + /** + * Token to represent the underlying Employment data + * @return employmentReportToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Token to represent the underlying Employment data") + + public String getEmploymentReportToken() { + return employmentReportToken; + } + + + public void setEmploymentReportToken(String employmentReportToken) { + this.employmentReportToken = employmentReportToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditEmploymentItem creditEmploymentItem = (CreditEmploymentItem) o; + return Objects.equals(this.itemId, creditEmploymentItem.itemId) && + Objects.equals(this.employments, creditEmploymentItem.employments) && + Objects.equals(this.employmentReportToken, creditEmploymentItem.employmentReportToken); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, employments, employmentReportToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditEmploymentItem {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" employments: ").append(toIndentedString(employments)).append("\n"); + sb.append(" employmentReportToken: ").append(toIndentedString(employmentReportToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditEmploymentVerification.java b/src/main/java/com/plaid/client/model/CreditEmploymentVerification.java new file mode 100644 index 0000000000..0f690c7ee1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditEmploymentVerification.java @@ -0,0 +1,332 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditEmployerVerification; +import com.plaid.client.model.CreditPlatformIds; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * The object containing proof of employment data for an individual. + */ +@ApiModel(description = "The object containing proof of employment data for an individual.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditEmploymentVerification { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private String status; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_EMPLOYER = "employer"; + @SerializedName(SERIALIZED_NAME_EMPLOYER) + private CreditEmployerVerification employer; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + private String title; + + public static final String SERIALIZED_NAME_PLATFORM_IDS = "platform_ids"; + @SerializedName(SERIALIZED_NAME_PLATFORM_IDS) + private CreditPlatformIds platformIds; + + public static final String SERIALIZED_NAME_EMPLOYEE_TYPE = "employee_type"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE_TYPE) + private String employeeType; + + public static final String SERIALIZED_NAME_LAST_PAYSTUB_DATE = "last_paystub_date"; + @SerializedName(SERIALIZED_NAME_LAST_PAYSTUB_DATE) + private LocalDate lastPaystubDate; + + + public CreditEmploymentVerification accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * ID of the payroll provider account. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "ID of the payroll provider account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public CreditEmploymentVerification status(String status) { + + this.status = status; + return this; + } + + /** + * Current employment status. + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Current employment status.") + + public String getStatus() { + return status; + } + + + public void setStatus(String status) { + this.status = status; + } + + + public CreditEmploymentVerification startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * Start of employment in ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Start of employment in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public CreditEmploymentVerification endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * End of employment, if applicable. Provided in ISO 8601 format (YYY-MM-DD). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "End of employment, if applicable. Provided in ISO 8601 format (YYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public CreditEmploymentVerification employer(CreditEmployerVerification employer) { + + this.employer = employer; + return this; + } + + /** + * Get employer + * @return employer + **/ + @ApiModelProperty(required = true, value = "") + + public CreditEmployerVerification getEmployer() { + return employer; + } + + + public void setEmployer(CreditEmployerVerification employer) { + this.employer = employer; + } + + + public CreditEmploymentVerification title(String title) { + + this.title = title; + return this; + } + + /** + * Current title of employee. + * @return title + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Current title of employee.") + + public String getTitle() { + return title; + } + + + public void setTitle(String title) { + this.title = title; + } + + + public CreditEmploymentVerification platformIds(CreditPlatformIds platformIds) { + + this.platformIds = platformIds; + return this; + } + + /** + * Get platformIds + * @return platformIds + **/ + @ApiModelProperty(required = true, value = "") + + public CreditPlatformIds getPlatformIds() { + return platformIds; + } + + + public void setPlatformIds(CreditPlatformIds platformIds) { + this.platformIds = platformIds; + } + + + public CreditEmploymentVerification employeeType(String employeeType) { + + this.employeeType = employeeType; + return this; + } + + /** + * The type of employment for the individual. `\"FULL_TIME\"`: A full-time employee. `\"PART_TIME\"`: A part-time employee. `\"CONTRACTOR\"`: An employee typically hired externally through a contracting group. `\"TEMPORARY\"`: A temporary employee. `\"OTHER\"`: The employee type is not one of the above defined types. + * @return employeeType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The type of employment for the individual. `\"FULL_TIME\"`: A full-time employee. `\"PART_TIME\"`: A part-time employee. `\"CONTRACTOR\"`: An employee typically hired externally through a contracting group. `\"TEMPORARY\"`: A temporary employee. `\"OTHER\"`: The employee type is not one of the above defined types.") + + public String getEmployeeType() { + return employeeType; + } + + + public void setEmployeeType(String employeeType) { + this.employeeType = employeeType; + } + + + public CreditEmploymentVerification lastPaystubDate(LocalDate lastPaystubDate) { + + this.lastPaystubDate = lastPaystubDate; + return this; + } + + /** + * The date of the employee's most recent paystub in ISO 8601 format (YYYY-MM-DD). + * @return lastPaystubDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date of the employee's most recent paystub in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getLastPaystubDate() { + return lastPaystubDate; + } + + + public void setLastPaystubDate(LocalDate lastPaystubDate) { + this.lastPaystubDate = lastPaystubDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditEmploymentVerification creditEmploymentVerification = (CreditEmploymentVerification) o; + return Objects.equals(this.accountId, creditEmploymentVerification.accountId) && + Objects.equals(this.status, creditEmploymentVerification.status) && + Objects.equals(this.startDate, creditEmploymentVerification.startDate) && + Objects.equals(this.endDate, creditEmploymentVerification.endDate) && + Objects.equals(this.employer, creditEmploymentVerification.employer) && + Objects.equals(this.title, creditEmploymentVerification.title) && + Objects.equals(this.platformIds, creditEmploymentVerification.platformIds) && + Objects.equals(this.employeeType, creditEmploymentVerification.employeeType) && + Objects.equals(this.lastPaystubDate, creditEmploymentVerification.lastPaystubDate); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, status, startDate, endDate, employer, title, platformIds, employeeType, lastPaystubDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditEmploymentVerification {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" employer: ").append(toIndentedString(employer)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" platformIds: ").append(toIndentedString(platformIds)).append("\n"); + sb.append(" employeeType: ").append(toIndentedString(employeeType)).append("\n"); + sb.append(" lastPaystubDate: ").append(toIndentedString(lastPaystubDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFilter.java b/src/main/java/com/plaid/client/model/CreditFilter.java new file mode 100644 index 0000000000..5b8a696760 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFilter.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditAccountSubtype; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A filter to apply to `credit`-type accounts + */ +@ApiModel(description = "A filter to apply to `credit`-type accounts") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFilter { + public static final String SERIALIZED_NAME_ACCOUNT_SUBTYPES = "account_subtypes"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SUBTYPES) + private List accountSubtypes = new ArrayList<>(); + + + public CreditFilter accountSubtypes(List accountSubtypes) { + + this.accountSubtypes = accountSubtypes; + return this; + } + + public CreditFilter addAccountSubtypesItem(CreditAccountSubtype accountSubtypesItem) { + this.accountSubtypes.add(accountSubtypesItem); + return this; + } + + /** + * An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountSubtypes + **/ + @ApiModelProperty(required = true, value = "An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ") + + public List getAccountSubtypes() { + return accountSubtypes; + } + + + public void setAccountSubtypes(List accountSubtypes) { + this.accountSubtypes = accountSubtypes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFilter creditFilter = (CreditFilter) o; + return Objects.equals(this.accountSubtypes, creditFilter.accountSubtypes); + } + + @Override + public int hashCode() { + return Objects.hash(accountSubtypes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFilter {\n"); + sb.append(" accountSubtypes: ").append(toIndentedString(accountSubtypes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacAsset.java b/src/main/java/com/plaid/client/model/CreditFreddieMacAsset.java new file mode 100644 index 0000000000..6e5e5e7394 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacAsset.java @@ -0,0 +1,245 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetDetail; +import com.plaid.client.model.AssetHolder; +import com.plaid.client.model.AssetHoldings; +import com.plaid.client.model.AssetOwners; +import com.plaid.client.model.CreditFreddieMacAssetTransactions; +import com.plaid.client.model.ValidationSources; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacAsset { + public static final String SERIALIZED_NAME_A_S_S_E_T_D_E_T_A_I_L = "ASSET_DETAIL"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_D_E_T_A_I_L) + private AssetDetail ASSET_DETAIL; + + public static final String SERIALIZED_NAME_A_S_S_E_T_O_W_N_E_R_S = "ASSET_OWNERS"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_O_W_N_E_R_S) + private AssetOwners ASSET_OWNERS; + + public static final String SERIALIZED_NAME_A_S_S_E_T_H_O_L_D_E_R = "ASSET_HOLDER"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_H_O_L_D_E_R) + private AssetHolder ASSET_HOLDER; + + public static final String SERIALIZED_NAME_A_S_S_E_T_H_O_L_D_I_N_G_S = "ASSET_HOLDINGS"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_H_O_L_D_I_N_G_S) + private AssetHoldings ASSET_HOLDINGS; + + public static final String SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N_S = "ASSET_TRANSACTIONS"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N_S) + private CreditFreddieMacAssetTransactions ASSET_TRANSACTIONS; + + public static final String SERIALIZED_NAME_V_A_L_I_D_A_T_I_O_N_S_O_U_R_C_E_S = "VALIDATION_SOURCES"; + @SerializedName(SERIALIZED_NAME_V_A_L_I_D_A_T_I_O_N_S_O_U_R_C_E_S) + private ValidationSources VALIDATION_SOURCES; + + + public CreditFreddieMacAsset ASSET_DETAIL(AssetDetail ASSET_DETAIL) { + + this.ASSET_DETAIL = ASSET_DETAIL; + return this; + } + + /** + * Get ASSET_DETAIL + * @return ASSET_DETAIL + **/ + @ApiModelProperty(required = true, value = "") + + public AssetDetail getASSETDETAIL() { + return ASSET_DETAIL; + } + + + public void setASSETDETAIL(AssetDetail ASSET_DETAIL) { + this.ASSET_DETAIL = ASSET_DETAIL; + } + + + public CreditFreddieMacAsset ASSET_OWNERS(AssetOwners ASSET_OWNERS) { + + this.ASSET_OWNERS = ASSET_OWNERS; + return this; + } + + /** + * Get ASSET_OWNERS + * @return ASSET_OWNERS + **/ + @ApiModelProperty(required = true, value = "") + + public AssetOwners getASSETOWNERS() { + return ASSET_OWNERS; + } + + + public void setASSETOWNERS(AssetOwners ASSET_OWNERS) { + this.ASSET_OWNERS = ASSET_OWNERS; + } + + + public CreditFreddieMacAsset ASSET_HOLDER(AssetHolder ASSET_HOLDER) { + + this.ASSET_HOLDER = ASSET_HOLDER; + return this; + } + + /** + * Get ASSET_HOLDER + * @return ASSET_HOLDER + **/ + @ApiModelProperty(required = true, value = "") + + public AssetHolder getASSETHOLDER() { + return ASSET_HOLDER; + } + + + public void setASSETHOLDER(AssetHolder ASSET_HOLDER) { + this.ASSET_HOLDER = ASSET_HOLDER; + } + + + public CreditFreddieMacAsset ASSET_HOLDINGS(AssetHoldings ASSET_HOLDINGS) { + + this.ASSET_HOLDINGS = ASSET_HOLDINGS; + return this; + } + + /** + * Get ASSET_HOLDINGS + * @return ASSET_HOLDINGS + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AssetHoldings getASSETHOLDINGS() { + return ASSET_HOLDINGS; + } + + + public void setASSETHOLDINGS(AssetHoldings ASSET_HOLDINGS) { + this.ASSET_HOLDINGS = ASSET_HOLDINGS; + } + + + public CreditFreddieMacAsset ASSET_TRANSACTIONS(CreditFreddieMacAssetTransactions ASSET_TRANSACTIONS) { + + this.ASSET_TRANSACTIONS = ASSET_TRANSACTIONS; + return this; + } + + /** + * Get ASSET_TRANSACTIONS + * @return ASSET_TRANSACTIONS + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacAssetTransactions getASSETTRANSACTIONS() { + return ASSET_TRANSACTIONS; + } + + + public void setASSETTRANSACTIONS(CreditFreddieMacAssetTransactions ASSET_TRANSACTIONS) { + this.ASSET_TRANSACTIONS = ASSET_TRANSACTIONS; + } + + + public CreditFreddieMacAsset VALIDATION_SOURCES(ValidationSources VALIDATION_SOURCES) { + + this.VALIDATION_SOURCES = VALIDATION_SOURCES; + return this; + } + + /** + * Get VALIDATION_SOURCES + * @return VALIDATION_SOURCES + **/ + @ApiModelProperty(required = true, value = "") + + public ValidationSources getVALIDATIONSOURCES() { + return VALIDATION_SOURCES; + } + + + public void setVALIDATIONSOURCES(ValidationSources VALIDATION_SOURCES) { + this.VALIDATION_SOURCES = VALIDATION_SOURCES; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacAsset creditFreddieMacAsset = (CreditFreddieMacAsset) o; + return Objects.equals(this.ASSET_DETAIL, creditFreddieMacAsset.ASSET_DETAIL) && + Objects.equals(this.ASSET_OWNERS, creditFreddieMacAsset.ASSET_OWNERS) && + Objects.equals(this.ASSET_HOLDER, creditFreddieMacAsset.ASSET_HOLDER) && + Objects.equals(this.ASSET_HOLDINGS, creditFreddieMacAsset.ASSET_HOLDINGS) && + Objects.equals(this.ASSET_TRANSACTIONS, creditFreddieMacAsset.ASSET_TRANSACTIONS) && + Objects.equals(this.VALIDATION_SOURCES, creditFreddieMacAsset.VALIDATION_SOURCES); + } + + @Override + public int hashCode() { + return Objects.hash(ASSET_DETAIL, ASSET_OWNERS, ASSET_HOLDER, ASSET_HOLDINGS, ASSET_TRANSACTIONS, VALIDATION_SOURCES); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacAsset {\n"); + sb.append(" ASSET_DETAIL: ").append(toIndentedString(ASSET_DETAIL)).append("\n"); + sb.append(" ASSET_OWNERS: ").append(toIndentedString(ASSET_OWNERS)).append("\n"); + sb.append(" ASSET_HOLDER: ").append(toIndentedString(ASSET_HOLDER)).append("\n"); + sb.append(" ASSET_HOLDINGS: ").append(toIndentedString(ASSET_HOLDINGS)).append("\n"); + sb.append(" ASSET_TRANSACTIONS: ").append(toIndentedString(ASSET_TRANSACTIONS)).append("\n"); + sb.append(" VALIDATION_SOURCES: ").append(toIndentedString(VALIDATION_SOURCES)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacAssetTransaction.java b/src/main/java/com/plaid/client/model/CreditFreddieMacAssetTransaction.java new file mode 100644 index 0000000000..8cd2489b42 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacAssetTransaction.java @@ -0,0 +1,135 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AssetTransactionDescription; +import com.plaid.client.model.AssetTransactionDetail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing... + */ +@ApiModel(description = "An object representing...") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacAssetTransaction { + public static final String SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N_D_E_T_A_I_L = "ASSET_TRANSACTION_DETAIL"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N_D_E_T_A_I_L) + private AssetTransactionDetail ASSET_TRANSACTION_DETAIL; + + public static final String SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N_D_E_S_C_R_I_P_T_I_O_N = "ASSET_TRANSACTION_DESCRIPTION"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N_D_E_S_C_R_I_P_T_I_O_N) + private List ASSET_TRANSACTION_DESCRIPTION = new ArrayList<>(); + + + public CreditFreddieMacAssetTransaction ASSET_TRANSACTION_DETAIL(AssetTransactionDetail ASSET_TRANSACTION_DETAIL) { + + this.ASSET_TRANSACTION_DETAIL = ASSET_TRANSACTION_DETAIL; + return this; + } + + /** + * Get ASSET_TRANSACTION_DETAIL + * @return ASSET_TRANSACTION_DETAIL + **/ + @ApiModelProperty(required = true, value = "") + + public AssetTransactionDetail getASSETTRANSACTIONDETAIL() { + return ASSET_TRANSACTION_DETAIL; + } + + + public void setASSETTRANSACTIONDETAIL(AssetTransactionDetail ASSET_TRANSACTION_DETAIL) { + this.ASSET_TRANSACTION_DETAIL = ASSET_TRANSACTION_DETAIL; + } + + + public CreditFreddieMacAssetTransaction ASSET_TRANSACTION_DESCRIPTION(List ASSET_TRANSACTION_DESCRIPTION) { + + this.ASSET_TRANSACTION_DESCRIPTION = ASSET_TRANSACTION_DESCRIPTION; + return this; + } + + public CreditFreddieMacAssetTransaction addASSETTRANSACTIONDESCRIPTIONItem(AssetTransactionDescription ASSET_TRANSACTION_DESCRIPTIONItem) { + this.ASSET_TRANSACTION_DESCRIPTION.add(ASSET_TRANSACTION_DESCRIPTIONItem); + return this; + } + + /** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + * @return ASSET_TRANSACTION_DESCRIPTION + **/ + @ApiModelProperty(required = true, value = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") + + public List getASSETTRANSACTIONDESCRIPTION() { + return ASSET_TRANSACTION_DESCRIPTION; + } + + + public void setASSETTRANSACTIONDESCRIPTION(List ASSET_TRANSACTION_DESCRIPTION) { + this.ASSET_TRANSACTION_DESCRIPTION = ASSET_TRANSACTION_DESCRIPTION; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacAssetTransaction creditFreddieMacAssetTransaction = (CreditFreddieMacAssetTransaction) o; + return Objects.equals(this.ASSET_TRANSACTION_DETAIL, creditFreddieMacAssetTransaction.ASSET_TRANSACTION_DETAIL) && + Objects.equals(this.ASSET_TRANSACTION_DESCRIPTION, creditFreddieMacAssetTransaction.ASSET_TRANSACTION_DESCRIPTION); + } + + @Override + public int hashCode() { + return Objects.hash(ASSET_TRANSACTION_DETAIL, ASSET_TRANSACTION_DESCRIPTION); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacAssetTransaction {\n"); + sb.append(" ASSET_TRANSACTION_DETAIL: ").append(toIndentedString(ASSET_TRANSACTION_DETAIL)).append("\n"); + sb.append(" ASSET_TRANSACTION_DESCRIPTION: ").append(toIndentedString(ASSET_TRANSACTION_DESCRIPTION)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacAssetTransactions.java b/src/main/java/com/plaid/client/model/CreditFreddieMacAssetTransactions.java new file mode 100644 index 0000000000..64434b7eca --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacAssetTransactions.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacAssetTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacAssetTransactions { + public static final String SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N = "ASSET_TRANSACTION"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_T_R_A_N_S_A_C_T_I_O_N) + private List ASSET_TRANSACTION = new ArrayList<>(); + + + public CreditFreddieMacAssetTransactions ASSET_TRANSACTION(List ASSET_TRANSACTION) { + + this.ASSET_TRANSACTION = ASSET_TRANSACTION; + return this; + } + + public CreditFreddieMacAssetTransactions addASSETTRANSACTIONItem(CreditFreddieMacAssetTransaction ASSET_TRANSACTIONItem) { + this.ASSET_TRANSACTION.add(ASSET_TRANSACTIONItem); + return this; + } + + /** + * Get ASSET_TRANSACTION + * @return ASSET_TRANSACTION + **/ + @ApiModelProperty(required = true, value = "") + + public List getASSETTRANSACTION() { + return ASSET_TRANSACTION; + } + + + public void setASSETTRANSACTION(List ASSET_TRANSACTION) { + this.ASSET_TRANSACTION = ASSET_TRANSACTION; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacAssetTransactions creditFreddieMacAssetTransactions = (CreditFreddieMacAssetTransactions) o; + return Objects.equals(this.ASSET_TRANSACTION, creditFreddieMacAssetTransactions.ASSET_TRANSACTION); + } + + @Override + public int hashCode() { + return Objects.hash(ASSET_TRANSACTION); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacAssetTransactions {\n"); + sb.append(" ASSET_TRANSACTION: ").append(toIndentedString(ASSET_TRANSACTION)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacAssets.java b/src/main/java/com/plaid/client/model/CreditFreddieMacAssets.java new file mode 100644 index 0000000000..c437ed80a4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacAssets.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacAsset; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacAssets { + public static final String SERIALIZED_NAME_A_S_S_E_T = "ASSET"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T) + private List ASSET = new ArrayList<>(); + + + public CreditFreddieMacAssets ASSET(List ASSET) { + + this.ASSET = ASSET; + return this; + } + + public CreditFreddieMacAssets addASSETItem(CreditFreddieMacAsset ASSETItem) { + this.ASSET.add(ASSETItem); + return this; + } + + /** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + * @return ASSET + **/ + @ApiModelProperty(required = true, value = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") + + public List getASSET() { + return ASSET; + } + + + public void setASSET(List ASSET) { + this.ASSET = ASSET; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacAssets creditFreddieMacAssets = (CreditFreddieMacAssets) o; + return Objects.equals(this.ASSET, creditFreddieMacAssets.ASSET); + } + + @Override + public int hashCode() { + return Objects.hash(ASSET); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacAssets {\n"); + sb.append(" ASSET: ").append(toIndentedString(ASSET)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacIndividualName.java b/src/main/java/com/plaid/client/model/CreditFreddieMacIndividualName.java new file mode 100644 index 0000000000..9696bdb2b8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacIndividualName.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacIndividualName { + public static final String SERIALIZED_NAME_FIRST_NAME = "FirstName"; + @SerializedName(SERIALIZED_NAME_FIRST_NAME) + private String firstName; + + public static final String SERIALIZED_NAME_LAST_NAME = "LastName"; + @SerializedName(SERIALIZED_NAME_LAST_NAME) + private String lastName; + + public static final String SERIALIZED_NAME_MIDDLE_NAME = "MiddleName"; + @SerializedName(SERIALIZED_NAME_MIDDLE_NAME) + private String middleName; + + + public CreditFreddieMacIndividualName firstName(String firstName) { + + this.firstName = firstName; + return this; + } + + /** + * The first name of the individual represented by the parent object. + * @return firstName + **/ + @ApiModelProperty(required = true, value = "The first name of the individual represented by the parent object.") + + public String getFirstName() { + return firstName; + } + + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + + public CreditFreddieMacIndividualName lastName(String lastName) { + + this.lastName = lastName; + return this; + } + + /** + * The last name of the individual represented by the parent object. + * @return lastName + **/ + @ApiModelProperty(required = true, value = "The last name of the individual represented by the parent object.") + + public String getLastName() { + return lastName; + } + + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + + public CreditFreddieMacIndividualName middleName(String middleName) { + + this.middleName = middleName; + return this; + } + + /** + * The middle name of the individual represented by the parent object. + * @return middleName + **/ + @ApiModelProperty(required = true, value = "The middle name of the individual represented by the parent object.") + + public String getMiddleName() { + return middleName; + } + + + public void setMiddleName(String middleName) { + this.middleName = middleName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacIndividualName creditFreddieMacIndividualName = (CreditFreddieMacIndividualName) o; + return Objects.equals(this.firstName, creditFreddieMacIndividualName.firstName) && + Objects.equals(this.lastName, creditFreddieMacIndividualName.lastName) && + Objects.equals(this.middleName, creditFreddieMacIndividualName.middleName); + } + + @Override + public int hashCode() { + return Objects.hash(firstName, lastName, middleName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacIndividualName {\n"); + sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); + sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); + sb.append(" middleName: ").append(toIndentedString(middleName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacLoan.java b/src/main/java/com/plaid/client/model/CreditFreddieMacLoan.java new file mode 100644 index 0000000000..998b4a3924 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacLoan.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacLoanIdentifiers; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information specific to a mortgage loan agreement between one or more borrowers and a mortgage lender. + */ +@ApiModel(description = "Information specific to a mortgage loan agreement between one or more borrowers and a mortgage lender.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacLoan { + public static final String SERIALIZED_NAME_L_O_A_N_I_D_E_N_T_I_F_I_E_R_S = "LOAN_IDENTIFIERS"; + @SerializedName(SERIALIZED_NAME_L_O_A_N_I_D_E_N_T_I_F_I_E_R_S) + private CreditFreddieMacLoanIdentifiers LOAN_IDENTIFIERS; + + public static final String SERIALIZED_NAME_LOAN_ROLE_TYPE = "LoanRoleType"; + @SerializedName(SERIALIZED_NAME_LOAN_ROLE_TYPE) + private String loanRoleType; + + + public CreditFreddieMacLoan LOAN_IDENTIFIERS(CreditFreddieMacLoanIdentifiers LOAN_IDENTIFIERS) { + + this.LOAN_IDENTIFIERS = LOAN_IDENTIFIERS; + return this; + } + + /** + * Get LOAN_IDENTIFIERS + * @return LOAN_IDENTIFIERS + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacLoanIdentifiers getLOANIDENTIFIERS() { + return LOAN_IDENTIFIERS; + } + + + public void setLOANIDENTIFIERS(CreditFreddieMacLoanIdentifiers LOAN_IDENTIFIERS) { + this.LOAN_IDENTIFIERS = LOAN_IDENTIFIERS; + } + + + public CreditFreddieMacLoan loanRoleType(String loanRoleType) { + + this.loanRoleType = loanRoleType; + return this; + } + + /** + * Type of loan. The value can only be \"SubjectLoan\". + * @return loanRoleType + **/ + @ApiModelProperty(required = true, value = "Type of loan. The value can only be \"SubjectLoan\".") + + public String getLoanRoleType() { + return loanRoleType; + } + + + public void setLoanRoleType(String loanRoleType) { + this.loanRoleType = loanRoleType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacLoan creditFreddieMacLoan = (CreditFreddieMacLoan) o; + return Objects.equals(this.LOAN_IDENTIFIERS, creditFreddieMacLoan.LOAN_IDENTIFIERS) && + Objects.equals(this.loanRoleType, creditFreddieMacLoan.loanRoleType); + } + + @Override + public int hashCode() { + return Objects.hash(LOAN_IDENTIFIERS, loanRoleType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacLoan {\n"); + sb.append(" LOAN_IDENTIFIERS: ").append(toIndentedString(LOAN_IDENTIFIERS)).append("\n"); + sb.append(" loanRoleType: ").append(toIndentedString(loanRoleType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacLoanIdentifiers.java b/src/main/java/com/plaid/client/model/CreditFreddieMacLoanIdentifiers.java new file mode 100644 index 0000000000..c55e2d31cd --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacLoanIdentifiers.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LoanIdentifier; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Collection of current and previous identifiers for this loan. + */ +@ApiModel(description = "Collection of current and previous identifiers for this loan.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacLoanIdentifiers { + public static final String SERIALIZED_NAME_L_O_A_N_I_D_E_N_T_I_F_I_E_R = "LOAN_IDENTIFIER"; + @SerializedName(SERIALIZED_NAME_L_O_A_N_I_D_E_N_T_I_F_I_E_R) + private List LOAN_IDENTIFIER = new ArrayList<>(); + + + public CreditFreddieMacLoanIdentifiers LOAN_IDENTIFIER(List LOAN_IDENTIFIER) { + + this.LOAN_IDENTIFIER = LOAN_IDENTIFIER; + return this; + } + + public CreditFreddieMacLoanIdentifiers addLOANIDENTIFIERItem(LoanIdentifier LOAN_IDENTIFIERItem) { + this.LOAN_IDENTIFIER.add(LOAN_IDENTIFIERItem); + return this; + } + + /** + * Get LOAN_IDENTIFIER + * @return LOAN_IDENTIFIER + **/ + @ApiModelProperty(required = true, value = "") + + public List getLOANIDENTIFIER() { + return LOAN_IDENTIFIER; + } + + + public void setLOANIDENTIFIER(List LOAN_IDENTIFIER) { + this.LOAN_IDENTIFIER = LOAN_IDENTIFIER; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacLoanIdentifiers creditFreddieMacLoanIdentifiers = (CreditFreddieMacLoanIdentifiers) o; + return Objects.equals(this.LOAN_IDENTIFIER, creditFreddieMacLoanIdentifiers.LOAN_IDENTIFIER); + } + + @Override + public int hashCode() { + return Objects.hash(LOAN_IDENTIFIER); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacLoanIdentifiers {\n"); + sb.append(" LOAN_IDENTIFIER: ").append(toIndentedString(LOAN_IDENTIFIER)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacLoans.java b/src/main/java/com/plaid/client/model/CreditFreddieMacLoans.java new file mode 100644 index 0000000000..7e2d50c2c8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacLoans.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacLoan; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A collection of loans that are part of a single deal. + */ +@ApiModel(description = "A collection of loans that are part of a single deal.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacLoans { + public static final String SERIALIZED_NAME_L_O_A_N = "LOAN"; + @SerializedName(SERIALIZED_NAME_L_O_A_N) + private CreditFreddieMacLoan LOAN; + + + public CreditFreddieMacLoans LOAN(CreditFreddieMacLoan LOAN) { + + this.LOAN = LOAN; + return this; + } + + /** + * Get LOAN + * @return LOAN + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacLoan getLOAN() { + return LOAN; + } + + + public void setLOAN(CreditFreddieMacLoan LOAN) { + this.LOAN = LOAN; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacLoans creditFreddieMacLoans = (CreditFreddieMacLoans) o; + return Objects.equals(this.LOAN, creditFreddieMacLoans.LOAN); + } + + @Override + public int hashCode() { + return Objects.hash(LOAN); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacLoans {\n"); + sb.append(" LOAN: ").append(toIndentedString(LOAN)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacParties.java b/src/main/java/com/plaid/client/model/CreditFreddieMacParties.java new file mode 100644 index 0000000000..f68fe61e2b --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacParties.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacParty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A collection of objects that define specific parties to a deal. This includes the direct participating parties, such as borrower and seller and the indirect parties such as the credit report provider. + */ +@ApiModel(description = "A collection of objects that define specific parties to a deal. This includes the direct participating parties, such as borrower and seller and the indirect parties such as the credit report provider.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacParties { + public static final String SERIALIZED_NAME_P_A_R_T_Y = "PARTY"; + @SerializedName(SERIALIZED_NAME_P_A_R_T_Y) + private List PARTY = new ArrayList<>(); + + + public CreditFreddieMacParties PARTY(List PARTY) { + + this.PARTY = PARTY; + return this; + } + + public CreditFreddieMacParties addPARTYItem(CreditFreddieMacParty PARTYItem) { + this.PARTY.add(PARTYItem); + return this; + } + + /** + * Get PARTY + * @return PARTY + **/ + @ApiModelProperty(required = true, value = "") + + public List getPARTY() { + return PARTY; + } + + + public void setPARTY(List PARTY) { + this.PARTY = PARTY; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacParties creditFreddieMacParties = (CreditFreddieMacParties) o; + return Objects.equals(this.PARTY, creditFreddieMacParties.PARTY); + } + + @Override + public int hashCode() { + return Objects.hash(PARTY); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacParties {\n"); + sb.append(" PARTY: ").append(toIndentedString(PARTY)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacParty.java b/src/main/java/com/plaid/client/model/CreditFreddieMacParty.java new file mode 100644 index 0000000000..dcdc68eec9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacParty.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacPartyIndividual; +import com.plaid.client.model.Roles; +import com.plaid.client.model.TaxpayerIdentifiers; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A collection of information about a single party to a transaction. Includes direct participants like the borrower and seller as well as indirect participants such as the flood certificate provider. + */ +@ApiModel(description = "A collection of information about a single party to a transaction. Includes direct participants like the borrower and seller as well as indirect participants such as the flood certificate provider.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacParty { + public static final String SERIALIZED_NAME_I_N_D_I_V_I_D_U_A_L = "INDIVIDUAL"; + @SerializedName(SERIALIZED_NAME_I_N_D_I_V_I_D_U_A_L) + private CreditFreddieMacPartyIndividual INDIVIDUAL; + + public static final String SERIALIZED_NAME_R_O_L_E_S = "ROLES"; + @SerializedName(SERIALIZED_NAME_R_O_L_E_S) + private Roles ROLES; + + public static final String SERIALIZED_NAME_T_A_X_P_A_Y_E_R_I_D_E_N_T_I_F_I_E_R_S = "TAXPAYER_IDENTIFIERS"; + @SerializedName(SERIALIZED_NAME_T_A_X_P_A_Y_E_R_I_D_E_N_T_I_F_I_E_R_S) + private TaxpayerIdentifiers TAXPAYER_IDENTIFIERS; + + + public CreditFreddieMacParty INDIVIDUAL(CreditFreddieMacPartyIndividual INDIVIDUAL) { + + this.INDIVIDUAL = INDIVIDUAL; + return this; + } + + /** + * Get INDIVIDUAL + * @return INDIVIDUAL + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacPartyIndividual getINDIVIDUAL() { + return INDIVIDUAL; + } + + + public void setINDIVIDUAL(CreditFreddieMacPartyIndividual INDIVIDUAL) { + this.INDIVIDUAL = INDIVIDUAL; + } + + + public CreditFreddieMacParty ROLES(Roles ROLES) { + + this.ROLES = ROLES; + return this; + } + + /** + * Get ROLES + * @return ROLES + **/ + @ApiModelProperty(required = true, value = "") + + public Roles getROLES() { + return ROLES; + } + + + public void setROLES(Roles ROLES) { + this.ROLES = ROLES; + } + + + public CreditFreddieMacParty TAXPAYER_IDENTIFIERS(TaxpayerIdentifiers TAXPAYER_IDENTIFIERS) { + + this.TAXPAYER_IDENTIFIERS = TAXPAYER_IDENTIFIERS; + return this; + } + + /** + * Get TAXPAYER_IDENTIFIERS + * @return TAXPAYER_IDENTIFIERS + **/ + @ApiModelProperty(required = true, value = "") + + public TaxpayerIdentifiers getTAXPAYERIDENTIFIERS() { + return TAXPAYER_IDENTIFIERS; + } + + + public void setTAXPAYERIDENTIFIERS(TaxpayerIdentifiers TAXPAYER_IDENTIFIERS) { + this.TAXPAYER_IDENTIFIERS = TAXPAYER_IDENTIFIERS; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacParty creditFreddieMacParty = (CreditFreddieMacParty) o; + return Objects.equals(this.INDIVIDUAL, creditFreddieMacParty.INDIVIDUAL) && + Objects.equals(this.ROLES, creditFreddieMacParty.ROLES) && + Objects.equals(this.TAXPAYER_IDENTIFIERS, creditFreddieMacParty.TAXPAYER_IDENTIFIERS); + } + + @Override + public int hashCode() { + return Objects.hash(INDIVIDUAL, ROLES, TAXPAYER_IDENTIFIERS); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacParty {\n"); + sb.append(" INDIVIDUAL: ").append(toIndentedString(INDIVIDUAL)).append("\n"); + sb.append(" ROLES: ").append(toIndentedString(ROLES)).append("\n"); + sb.append(" TAXPAYER_IDENTIFIERS: ").append(toIndentedString(TAXPAYER_IDENTIFIERS)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacPartyIndividual.java b/src/main/java/com/plaid/client/model/CreditFreddieMacPartyIndividual.java new file mode 100644 index 0000000000..5ed5cf56a1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacPartyIndividual.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacIndividualName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacPartyIndividual { + public static final String SERIALIZED_NAME_N_A_M_E = "NAME"; + @SerializedName(SERIALIZED_NAME_N_A_M_E) + private CreditFreddieMacIndividualName NAME; + + + public CreditFreddieMacPartyIndividual NAME(CreditFreddieMacIndividualName NAME) { + + this.NAME = NAME; + return this; + } + + /** + * Get NAME + * @return NAME + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacIndividualName getNAME() { + return NAME; + } + + + public void setNAME(CreditFreddieMacIndividualName NAME) { + this.NAME = NAME; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacPartyIndividual creditFreddieMacPartyIndividual = (CreditFreddieMacPartyIndividual) o; + return Objects.equals(this.NAME, creditFreddieMacPartyIndividual.NAME); + } + + @Override + public int hashCode() { + return Objects.hash(NAME); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacPartyIndividual {\n"); + sb.append(" NAME: ").append(toIndentedString(NAME)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacReportingInformation.java b/src/main/java/com/plaid/client/model/CreditFreddieMacReportingInformation.java new file mode 100644 index 0000000000..e1708973a2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacReportingInformation.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about a report identifier and a report name. + */ +@ApiModel(description = "Information about a report identifier and a report name.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacReportingInformation { + public static final String SERIALIZED_NAME_REPORT_DATE_TIME = "ReportDateTime"; + @SerializedName(SERIALIZED_NAME_REPORT_DATE_TIME) + private String reportDateTime; + + public static final String SERIALIZED_NAME_REPORT_IDENTIFIER_TYPE = "ReportIdentifierType"; + @SerializedName(SERIALIZED_NAME_REPORT_IDENTIFIER_TYPE) + private String reportIdentifierType; + + public static final String SERIALIZED_NAME_REPORTING_INFORMATION_PARENT_IDENTIFIER = "ReportingInformationParentIdentifier"; + @SerializedName(SERIALIZED_NAME_REPORTING_INFORMATION_PARENT_IDENTIFIER) + private String reportingInformationParentIdentifier; + + public static final String SERIALIZED_NAME_REPORTING_INFORMATION_IDENTIFIER = "ReportingInformationIdentifier"; + @SerializedName(SERIALIZED_NAME_REPORTING_INFORMATION_IDENTIFIER) + private String reportingInformationIdentifier; + + + public CreditFreddieMacReportingInformation reportDateTime(String reportDateTime) { + + this.reportDateTime = reportDateTime; + return this; + } + + /** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + * @return reportDateTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") + + public String getReportDateTime() { + return reportDateTime; + } + + + public void setReportDateTime(String reportDateTime) { + this.reportDateTime = reportDateTime; + } + + + public CreditFreddieMacReportingInformation reportIdentifierType(String reportIdentifierType) { + + this.reportIdentifierType = reportIdentifierType; + return this; + } + + /** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. The value can only be \"ReportID\". + * @return reportIdentifierType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac. The value can only be \"ReportID\".") + + public String getReportIdentifierType() { + return reportIdentifierType; + } + + + public void setReportIdentifierType(String reportIdentifierType) { + this.reportIdentifierType = reportIdentifierType; + } + + + public CreditFreddieMacReportingInformation reportingInformationParentIdentifier(String reportingInformationParentIdentifier) { + + this.reportingInformationParentIdentifier = reportingInformationParentIdentifier; + return this; + } + + /** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + * @return reportingInformationParentIdentifier + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") + + public String getReportingInformationParentIdentifier() { + return reportingInformationParentIdentifier; + } + + + public void setReportingInformationParentIdentifier(String reportingInformationParentIdentifier) { + this.reportingInformationParentIdentifier = reportingInformationParentIdentifier; + } + + + public CreditFreddieMacReportingInformation reportingInformationIdentifier(String reportingInformationIdentifier) { + + this.reportingInformationIdentifier = reportingInformationIdentifier; + return this; + } + + /** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + * @return reportingInformationIdentifier + **/ + @ApiModelProperty(required = true, value = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") + + public String getReportingInformationIdentifier() { + return reportingInformationIdentifier; + } + + + public void setReportingInformationIdentifier(String reportingInformationIdentifier) { + this.reportingInformationIdentifier = reportingInformationIdentifier; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacReportingInformation creditFreddieMacReportingInformation = (CreditFreddieMacReportingInformation) o; + return Objects.equals(this.reportDateTime, creditFreddieMacReportingInformation.reportDateTime) && + Objects.equals(this.reportIdentifierType, creditFreddieMacReportingInformation.reportIdentifierType) && + Objects.equals(this.reportingInformationParentIdentifier, creditFreddieMacReportingInformation.reportingInformationParentIdentifier) && + Objects.equals(this.reportingInformationIdentifier, creditFreddieMacReportingInformation.reportingInformationIdentifier); + } + + @Override + public int hashCode() { + return Objects.hash(reportDateTime, reportIdentifierType, reportingInformationParentIdentifier, reportingInformationIdentifier); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacReportingInformation {\n"); + sb.append(" reportDateTime: ").append(toIndentedString(reportDateTime)).append("\n"); + sb.append(" reportIdentifierType: ").append(toIndentedString(reportIdentifierType)).append("\n"); + sb.append(" reportingInformationParentIdentifier: ").append(toIndentedString(reportingInformationParentIdentifier)).append("\n"); + sb.append(" reportingInformationIdentifier: ").append(toIndentedString(reportingInformationIdentifier)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacReportsGetRequest.java b/src/main/java/com/plaid/client/model/CreditFreddieMacReportsGetRequest.java new file mode 100644 index 0000000000..c9c99c2a12 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacReportsGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditFreddieMacReportsGetRequest defines the request schema for `/credit/freddie_mac/reports/get` + */ +@ApiModel(description = "CreditFreddieMacReportsGetRequest defines the request schema for `/credit/freddie_mac/reports/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacReportsGetRequest { + public static final String SERIALIZED_NAME_AUDIT_COPY_TOKEN = "audit_copy_token"; + @SerializedName(SERIALIZED_NAME_AUDIT_COPY_TOKEN) + private String auditCopyToken; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public CreditFreddieMacReportsGetRequest auditCopyToken(String auditCopyToken) { + + this.auditCopyToken = auditCopyToken; + return this; + } + + /** + * A token that can be shared with a third party auditor to allow them to obtain access to the Asset Report. This token should be stored securely. + * @return auditCopyToken + **/ + @ApiModelProperty(required = true, value = "A token that can be shared with a third party auditor to allow them to obtain access to the Asset Report. This token should be stored securely.") + + public String getAuditCopyToken() { + return auditCopyToken; + } + + + public void setAuditCopyToken(String auditCopyToken) { + this.auditCopyToken = auditCopyToken; + } + + + public CreditFreddieMacReportsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditFreddieMacReportsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacReportsGetRequest creditFreddieMacReportsGetRequest = (CreditFreddieMacReportsGetRequest) o; + return Objects.equals(this.auditCopyToken, creditFreddieMacReportsGetRequest.auditCopyToken) && + Objects.equals(this.clientId, creditFreddieMacReportsGetRequest.clientId) && + Objects.equals(this.secret, creditFreddieMacReportsGetRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(auditCopyToken, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacReportsGetRequest {\n"); + sb.append(" auditCopyToken: ").append(toIndentedString(auditCopyToken)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacReportsGetResponse.java b/src/main/java/com/plaid/client/model/CreditFreddieMacReportsGetResponse.java new file mode 100644 index 0000000000..28ab2f7c5b --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacReportsGetResponse.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacVerificationOfAssetsDeal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * CreditFreddieMacReportsGetResponse defines the response schema for `/credit/freddie_mac/reports/get` + */ +@ApiModel(description = "CreditFreddieMacReportsGetResponse defines the response schema for `/credit/freddie_mac/reports/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacReportsGetResponse { + public static final String SERIALIZED_NAME_D_E_A_L = "DEAL"; + @SerializedName(SERIALIZED_NAME_D_E_A_L) + private CreditFreddieMacVerificationOfAssetsDeal DEAL; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_SCHEMA_VERSION = "SchemaVersion"; + @SerializedName(SERIALIZED_NAME_SCHEMA_VERSION) + private Double schemaVersion; + + + public CreditFreddieMacReportsGetResponse DEAL(CreditFreddieMacVerificationOfAssetsDeal DEAL) { + + this.DEAL = DEAL; + return this; + } + + /** + * Get DEAL + * @return DEAL + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacVerificationOfAssetsDeal getDEAL() { + return DEAL; + } + + + public void setDEAL(CreditFreddieMacVerificationOfAssetsDeal DEAL) { + this.DEAL = DEAL; + } + + + public CreditFreddieMacReportsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CreditFreddieMacReportsGetResponse schemaVersion(Double schemaVersion) { + + this.schemaVersion = schemaVersion; + return this; + } + + /** + * The Verification Of Assets (VOA) schema version. + * @return schemaVersion + **/ + @ApiModelProperty(required = true, value = "The Verification Of Assets (VOA) schema version.") + + public Double getSchemaVersion() { + return schemaVersion; + } + + + public void setSchemaVersion(Double schemaVersion) { + this.schemaVersion = schemaVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacReportsGetResponse creditFreddieMacReportsGetResponse = (CreditFreddieMacReportsGetResponse) o; + return Objects.equals(this.DEAL, creditFreddieMacReportsGetResponse.DEAL) && + Objects.equals(this.requestId, creditFreddieMacReportsGetResponse.requestId) && + Objects.equals(this.schemaVersion, creditFreddieMacReportsGetResponse.schemaVersion); + } + + @Override + public int hashCode() { + return Objects.hash(DEAL, requestId, schemaVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacReportsGetResponse {\n"); + sb.append(" DEAL: ").append(toIndentedString(DEAL)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" schemaVersion: ").append(toIndentedString(schemaVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacService.java b/src/main/java/com/plaid/client/model/CreditFreddieMacService.java new file mode 100644 index 0000000000..77dd5b8b58 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacService.java @@ -0,0 +1,135 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacVerificationOfAsset; +import com.plaid.client.model.Statuses; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A collection of details related to a fulfillment service or product in terms of request, process and result. + */ +@ApiModel(description = "A collection of details related to a fulfillment service or product in terms of request, process and result.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacService { + public static final String SERIALIZED_NAME_V_E_R_I_F_I_C_A_T_I_O_N_O_F_A_S_S_E_T = "VERIFICATION_OF_ASSET"; + @SerializedName(SERIALIZED_NAME_V_E_R_I_F_I_C_A_T_I_O_N_O_F_A_S_S_E_T) + private List VERIFICATION_OF_ASSET = new ArrayList<>(); + + public static final String SERIALIZED_NAME_S_T_A_T_U_S_E_S = "STATUSES"; + @SerializedName(SERIALIZED_NAME_S_T_A_T_U_S_E_S) + private Statuses STATUSES; + + + public CreditFreddieMacService VERIFICATION_OF_ASSET(List VERIFICATION_OF_ASSET) { + + this.VERIFICATION_OF_ASSET = VERIFICATION_OF_ASSET; + return this; + } + + public CreditFreddieMacService addVERIFICATIONOFASSETItem(CreditFreddieMacVerificationOfAsset VERIFICATION_OF_ASSETItem) { + this.VERIFICATION_OF_ASSET.add(VERIFICATION_OF_ASSETItem); + return this; + } + + /** + * Get VERIFICATION_OF_ASSET + * @return VERIFICATION_OF_ASSET + **/ + @ApiModelProperty(required = true, value = "") + + public List getVERIFICATIONOFASSET() { + return VERIFICATION_OF_ASSET; + } + + + public void setVERIFICATIONOFASSET(List VERIFICATION_OF_ASSET) { + this.VERIFICATION_OF_ASSET = VERIFICATION_OF_ASSET; + } + + + public CreditFreddieMacService STATUSES(Statuses STATUSES) { + + this.STATUSES = STATUSES; + return this; + } + + /** + * Get STATUSES + * @return STATUSES + **/ + @ApiModelProperty(required = true, value = "") + + public Statuses getSTATUSES() { + return STATUSES; + } + + + public void setSTATUSES(Statuses STATUSES) { + this.STATUSES = STATUSES; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacService creditFreddieMacService = (CreditFreddieMacService) o; + return Objects.equals(this.VERIFICATION_OF_ASSET, creditFreddieMacService.VERIFICATION_OF_ASSET) && + Objects.equals(this.STATUSES, creditFreddieMacService.STATUSES); + } + + @Override + public int hashCode() { + return Objects.hash(VERIFICATION_OF_ASSET, STATUSES); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacService {\n"); + sb.append(" VERIFICATION_OF_ASSET: ").append(toIndentedString(VERIFICATION_OF_ASSET)).append("\n"); + sb.append(" STATUSES: ").append(toIndentedString(STATUSES)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacServices.java b/src/main/java/com/plaid/client/model/CreditFreddieMacServices.java new file mode 100644 index 0000000000..2ca09b1023 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacServices.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacService; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A collection of objects that describe requests and responses for services. + */ +@ApiModel(description = "A collection of objects that describe requests and responses for services.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacServices { + public static final String SERIALIZED_NAME_S_E_R_V_I_C_E = "SERVICE"; + @SerializedName(SERIALIZED_NAME_S_E_R_V_I_C_E) + private CreditFreddieMacService SERVICE; + + + public CreditFreddieMacServices SERVICE(CreditFreddieMacService SERVICE) { + + this.SERVICE = SERVICE; + return this; + } + + /** + * Get SERVICE + * @return SERVICE + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacService getSERVICE() { + return SERVICE; + } + + + public void setSERVICE(CreditFreddieMacService SERVICE) { + this.SERVICE = SERVICE; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacServices creditFreddieMacServices = (CreditFreddieMacServices) o; + return Objects.equals(this.SERVICE, creditFreddieMacServices.SERVICE); + } + + @Override + public int hashCode() { + return Objects.hash(SERVICE); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacServices {\n"); + sb.append(" SERVICE: ").append(toIndentedString(SERVICE)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacVerificationOfAsset.java b/src/main/java/com/plaid/client/model/CreditFreddieMacVerificationOfAsset.java new file mode 100644 index 0000000000..60b997aa31 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacVerificationOfAsset.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacReportingInformation; +import com.plaid.client.model.CreditFreddieMacVerificationOfAssetResponse; +import com.plaid.client.model.ServiceProductFulfillment; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacVerificationOfAsset { + public static final String SERIALIZED_NAME_R_E_P_O_R_T_I_N_G_I_N_F_O_R_M_A_T_I_O_N = "REPORTING_INFORMATION"; + @SerializedName(SERIALIZED_NAME_R_E_P_O_R_T_I_N_G_I_N_F_O_R_M_A_T_I_O_N) + private CreditFreddieMacReportingInformation REPORTING_INFORMATION; + + public static final String SERIALIZED_NAME_S_E_R_V_I_C_E_P_R_O_D_U_C_T_F_U_L_F_I_L_L_M_E_N_T = "SERVICE_PRODUCT_FULFILLMENT"; + @SerializedName(SERIALIZED_NAME_S_E_R_V_I_C_E_P_R_O_D_U_C_T_F_U_L_F_I_L_L_M_E_N_T) + private ServiceProductFulfillment SERVICE_PRODUCT_FULFILLMENT; + + public static final String SERIALIZED_NAME_V_E_R_I_F_I_C_A_T_I_O_N_O_F_A_S_S_E_T_R_E_S_P_O_N_S_E = "VERIFICATION_OF_ASSET_RESPONSE"; + @SerializedName(SERIALIZED_NAME_V_E_R_I_F_I_C_A_T_I_O_N_O_F_A_S_S_E_T_R_E_S_P_O_N_S_E) + private CreditFreddieMacVerificationOfAssetResponse VERIFICATION_OF_ASSET_RESPONSE; + + + public CreditFreddieMacVerificationOfAsset REPORTING_INFORMATION(CreditFreddieMacReportingInformation REPORTING_INFORMATION) { + + this.REPORTING_INFORMATION = REPORTING_INFORMATION; + return this; + } + + /** + * Get REPORTING_INFORMATION + * @return REPORTING_INFORMATION + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacReportingInformation getREPORTINGINFORMATION() { + return REPORTING_INFORMATION; + } + + + public void setREPORTINGINFORMATION(CreditFreddieMacReportingInformation REPORTING_INFORMATION) { + this.REPORTING_INFORMATION = REPORTING_INFORMATION; + } + + + public CreditFreddieMacVerificationOfAsset SERVICE_PRODUCT_FULFILLMENT(ServiceProductFulfillment SERVICE_PRODUCT_FULFILLMENT) { + + this.SERVICE_PRODUCT_FULFILLMENT = SERVICE_PRODUCT_FULFILLMENT; + return this; + } + + /** + * Get SERVICE_PRODUCT_FULFILLMENT + * @return SERVICE_PRODUCT_FULFILLMENT + **/ + @ApiModelProperty(required = true, value = "") + + public ServiceProductFulfillment getSERVICEPRODUCTFULFILLMENT() { + return SERVICE_PRODUCT_FULFILLMENT; + } + + + public void setSERVICEPRODUCTFULFILLMENT(ServiceProductFulfillment SERVICE_PRODUCT_FULFILLMENT) { + this.SERVICE_PRODUCT_FULFILLMENT = SERVICE_PRODUCT_FULFILLMENT; + } + + + public CreditFreddieMacVerificationOfAsset VERIFICATION_OF_ASSET_RESPONSE(CreditFreddieMacVerificationOfAssetResponse VERIFICATION_OF_ASSET_RESPONSE) { + + this.VERIFICATION_OF_ASSET_RESPONSE = VERIFICATION_OF_ASSET_RESPONSE; + return this; + } + + /** + * Get VERIFICATION_OF_ASSET_RESPONSE + * @return VERIFICATION_OF_ASSET_RESPONSE + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacVerificationOfAssetResponse getVERIFICATIONOFASSETRESPONSE() { + return VERIFICATION_OF_ASSET_RESPONSE; + } + + + public void setVERIFICATIONOFASSETRESPONSE(CreditFreddieMacVerificationOfAssetResponse VERIFICATION_OF_ASSET_RESPONSE) { + this.VERIFICATION_OF_ASSET_RESPONSE = VERIFICATION_OF_ASSET_RESPONSE; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacVerificationOfAsset creditFreddieMacVerificationOfAsset = (CreditFreddieMacVerificationOfAsset) o; + return Objects.equals(this.REPORTING_INFORMATION, creditFreddieMacVerificationOfAsset.REPORTING_INFORMATION) && + Objects.equals(this.SERVICE_PRODUCT_FULFILLMENT, creditFreddieMacVerificationOfAsset.SERVICE_PRODUCT_FULFILLMENT) && + Objects.equals(this.VERIFICATION_OF_ASSET_RESPONSE, creditFreddieMacVerificationOfAsset.VERIFICATION_OF_ASSET_RESPONSE); + } + + @Override + public int hashCode() { + return Objects.hash(REPORTING_INFORMATION, SERVICE_PRODUCT_FULFILLMENT, VERIFICATION_OF_ASSET_RESPONSE); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacVerificationOfAsset {\n"); + sb.append(" REPORTING_INFORMATION: ").append(toIndentedString(REPORTING_INFORMATION)).append("\n"); + sb.append(" SERVICE_PRODUCT_FULFILLMENT: ").append(toIndentedString(SERVICE_PRODUCT_FULFILLMENT)).append("\n"); + sb.append(" VERIFICATION_OF_ASSET_RESPONSE: ").append(toIndentedString(VERIFICATION_OF_ASSET_RESPONSE)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacVerificationOfAssetResponse.java b/src/main/java/com/plaid/client/model/CreditFreddieMacVerificationOfAssetResponse.java new file mode 100644 index 0000000000..ccc083b98f --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacVerificationOfAssetResponse.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacAssets; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacVerificationOfAssetResponse { + public static final String SERIALIZED_NAME_A_S_S_E_T_S = "ASSETS"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_S) + private CreditFreddieMacAssets ASSETS; + + + public CreditFreddieMacVerificationOfAssetResponse ASSETS(CreditFreddieMacAssets ASSETS) { + + this.ASSETS = ASSETS; + return this; + } + + /** + * Get ASSETS + * @return ASSETS + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacAssets getASSETS() { + return ASSETS; + } + + + public void setASSETS(CreditFreddieMacAssets ASSETS) { + this.ASSETS = ASSETS; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacVerificationOfAssetResponse creditFreddieMacVerificationOfAssetResponse = (CreditFreddieMacVerificationOfAssetResponse) o; + return Objects.equals(this.ASSETS, creditFreddieMacVerificationOfAssetResponse.ASSETS); + } + + @Override + public int hashCode() { + return Objects.hash(ASSETS); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacVerificationOfAssetResponse {\n"); + sb.append(" ASSETS: ").append(toIndentedString(ASSETS)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditFreddieMacVerificationOfAssetsDeal.java b/src/main/java/com/plaid/client/model/CreditFreddieMacVerificationOfAssetsDeal.java new file mode 100644 index 0000000000..ad06bedcbc --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditFreddieMacVerificationOfAssetsDeal.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFreddieMacLoans; +import com.plaid.client.model.CreditFreddieMacParties; +import com.plaid.client.model.CreditFreddieMacServices; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing an Asset Report with Freddie Mac schema. + */ +@ApiModel(description = "An object representing an Asset Report with Freddie Mac schema.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditFreddieMacVerificationOfAssetsDeal { + public static final String SERIALIZED_NAME_L_O_A_N_S = "LOANS"; + @SerializedName(SERIALIZED_NAME_L_O_A_N_S) + private CreditFreddieMacLoans LOANS; + + public static final String SERIALIZED_NAME_P_A_R_T_I_E_S = "PARTIES"; + @SerializedName(SERIALIZED_NAME_P_A_R_T_I_E_S) + private CreditFreddieMacParties PARTIES; + + public static final String SERIALIZED_NAME_S_E_R_V_I_C_E_S = "SERVICES"; + @SerializedName(SERIALIZED_NAME_S_E_R_V_I_C_E_S) + private CreditFreddieMacServices SERVICES; + + + public CreditFreddieMacVerificationOfAssetsDeal LOANS(CreditFreddieMacLoans LOANS) { + + this.LOANS = LOANS; + return this; + } + + /** + * Get LOANS + * @return LOANS + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacLoans getLOANS() { + return LOANS; + } + + + public void setLOANS(CreditFreddieMacLoans LOANS) { + this.LOANS = LOANS; + } + + + public CreditFreddieMacVerificationOfAssetsDeal PARTIES(CreditFreddieMacParties PARTIES) { + + this.PARTIES = PARTIES; + return this; + } + + /** + * Get PARTIES + * @return PARTIES + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacParties getPARTIES() { + return PARTIES; + } + + + public void setPARTIES(CreditFreddieMacParties PARTIES) { + this.PARTIES = PARTIES; + } + + + public CreditFreddieMacVerificationOfAssetsDeal SERVICES(CreditFreddieMacServices SERVICES) { + + this.SERVICES = SERVICES; + return this; + } + + /** + * Get SERVICES + * @return SERVICES + **/ + @ApiModelProperty(required = true, value = "") + + public CreditFreddieMacServices getSERVICES() { + return SERVICES; + } + + + public void setSERVICES(CreditFreddieMacServices SERVICES) { + this.SERVICES = SERVICES; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditFreddieMacVerificationOfAssetsDeal creditFreddieMacVerificationOfAssetsDeal = (CreditFreddieMacVerificationOfAssetsDeal) o; + return Objects.equals(this.LOANS, creditFreddieMacVerificationOfAssetsDeal.LOANS) && + Objects.equals(this.PARTIES, creditFreddieMacVerificationOfAssetsDeal.PARTIES) && + Objects.equals(this.SERVICES, creditFreddieMacVerificationOfAssetsDeal.SERVICES); + } + + @Override + public int hashCode() { + return Objects.hash(LOANS, PARTIES, SERVICES); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditFreddieMacVerificationOfAssetsDeal {\n"); + sb.append(" LOANS: ").append(toIndentedString(LOANS)).append("\n"); + sb.append(" PARTIES: ").append(toIndentedString(PARTIES)).append("\n"); + sb.append(" SERVICES: ").append(toIndentedString(SERVICES)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditI20.java b/src/main/java/com/plaid/client/model/CreditI20.java new file mode 100644 index 0000000000..30eda9d5ab --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditI20.java @@ -0,0 +1,420 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditDocumentMetadata; +import com.plaid.client.model.CreditI20Student; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing an end user's Form I-20 US immigration student document. + */ +@ApiModel(description = "An object representing an end user's Form I-20 US immigration student document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditI20 { + public static final String SERIALIZED_NAME_DOCUMENT_ID = "document_id"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_ID) + private String documentId; + + public static final String SERIALIZED_NAME_DOCUMENT_METADATA = "document_metadata"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_METADATA) + private CreditDocumentMetadata documentMetadata; + + public static final String SERIALIZED_NAME_STUDENT = "student"; + @SerializedName(SERIALIZED_NAME_STUDENT) + private CreditI20Student student; + + public static final String SERIALIZED_NAME_PERSONAL_FUNDS = "personal_funds"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FUNDS) + private Double personalFunds; + + public static final String SERIALIZED_NAME_ON_CAMPUS_EMPLOYMENT = "on_campus_employment"; + @SerializedName(SERIALIZED_NAME_ON_CAMPUS_EMPLOYMENT) + private Double onCampusEmployment; + + public static final String SERIALIZED_NAME_FUNDS_FROM_THIS_SCHOOL = "funds_from_this_school"; + @SerializedName(SERIALIZED_NAME_FUNDS_FROM_THIS_SCHOOL) + private Double fundsFromThisSchool; + + public static final String SERIALIZED_NAME_STUDENTS_FUNDING_TOTAL = "students_funding_total"; + @SerializedName(SERIALIZED_NAME_STUDENTS_FUNDING_TOTAL) + private Double studentsFundingTotal; + + public static final String SERIALIZED_NAME_FUNDS_FROM_ANOTHER_SOURCE = "funds_from_another_source"; + @SerializedName(SERIALIZED_NAME_FUNDS_FROM_ANOTHER_SOURCE) + private Double fundsFromAnotherSource; + + public static final String SERIALIZED_NAME_ESTIMATED_AVERAGE_COSTS_TOTAL = "estimated_average_costs_total"; + @SerializedName(SERIALIZED_NAME_ESTIMATED_AVERAGE_COSTS_TOTAL) + private Double estimatedAverageCostsTotal; + + public static final String SERIALIZED_NAME_ESTIMATED_AVERAGE_LIVING_EXPENSES = "estimated_average_living_expenses"; + @SerializedName(SERIALIZED_NAME_ESTIMATED_AVERAGE_LIVING_EXPENSES) + private Double estimatedAverageLivingExpenses; + + public static final String SERIALIZED_NAME_STUDENTS_FUNDING_PERIOD_MONTHS = "students_funding_period_months"; + @SerializedName(SERIALIZED_NAME_STUDENTS_FUNDING_PERIOD_MONTHS) + private Long studentsFundingPeriodMonths; + + public static final String SERIALIZED_NAME_ESTIMATED_AVERAGE_COSTS_PERIOD_MONTHS = "estimated_average_costs_period_months"; + @SerializedName(SERIALIZED_NAME_ESTIMATED_AVERAGE_COSTS_PERIOD_MONTHS) + private Long estimatedAverageCostsPeriodMonths; + + + public CreditI20 documentId(String documentId) { + + this.documentId = documentId; + return this; + } + + /** + * An identifier of the document referenced by the document metadata. + * @return documentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An identifier of the document referenced by the document metadata.") + + public String getDocumentId() { + return documentId; + } + + + public void setDocumentId(String documentId) { + this.documentId = documentId; + } + + + public CreditI20 documentMetadata(CreditDocumentMetadata documentMetadata) { + + this.documentMetadata = documentMetadata; + return this; + } + + /** + * Get documentMetadata + * @return documentMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditDocumentMetadata getDocumentMetadata() { + return documentMetadata; + } + + + public void setDocumentMetadata(CreditDocumentMetadata documentMetadata) { + this.documentMetadata = documentMetadata; + } + + + public CreditI20 student(CreditI20Student student) { + + this.student = student; + return this; + } + + /** + * Get student + * @return student + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditI20Student getStudent() { + return student; + } + + + public void setStudent(CreditI20Student student) { + this.student = student; + } + + + public CreditI20 personalFunds(Double personalFunds) { + + this.personalFunds = personalFunds; + return this; + } + + /** + * Amount of the student's personal funds. + * @return personalFunds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of the student's personal funds.") + + public Double getPersonalFunds() { + return personalFunds; + } + + + public void setPersonalFunds(Double personalFunds) { + this.personalFunds = personalFunds; + } + + + public CreditI20 onCampusEmployment(Double onCampusEmployment) { + + this.onCampusEmployment = onCampusEmployment; + return this; + } + + /** + * Amount of funds from on-campus employment. + * @return onCampusEmployment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of funds from on-campus employment.") + + public Double getOnCampusEmployment() { + return onCampusEmployment; + } + + + public void setOnCampusEmployment(Double onCampusEmployment) { + this.onCampusEmployment = onCampusEmployment; + } + + + public CreditI20 fundsFromThisSchool(Double fundsFromThisSchool) { + + this.fundsFromThisSchool = fundsFromThisSchool; + return this; + } + + /** + * Amount of funds provided by the issuing school. + * @return fundsFromThisSchool + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of funds provided by the issuing school.") + + public Double getFundsFromThisSchool() { + return fundsFromThisSchool; + } + + + public void setFundsFromThisSchool(Double fundsFromThisSchool) { + this.fundsFromThisSchool = fundsFromThisSchool; + } + + + public CreditI20 studentsFundingTotal(Double studentsFundingTotal) { + + this.studentsFundingTotal = studentsFundingTotal; + return this; + } + + /** + * Total amount of funds available to the student. + * @return studentsFundingTotal + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total amount of funds available to the student.") + + public Double getStudentsFundingTotal() { + return studentsFundingTotal; + } + + + public void setStudentsFundingTotal(Double studentsFundingTotal) { + this.studentsFundingTotal = studentsFundingTotal; + } + + + public CreditI20 fundsFromAnotherSource(Double fundsFromAnotherSource) { + + this.fundsFromAnotherSource = fundsFromAnotherSource; + return this; + } + + /** + * Amount of funds from another source. + * @return fundsFromAnotherSource + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of funds from another source.") + + public Double getFundsFromAnotherSource() { + return fundsFromAnotherSource; + } + + + public void setFundsFromAnotherSource(Double fundsFromAnotherSource) { + this.fundsFromAnotherSource = fundsFromAnotherSource; + } + + + public CreditI20 estimatedAverageCostsTotal(Double estimatedAverageCostsTotal) { + + this.estimatedAverageCostsTotal = estimatedAverageCostsTotal; + return this; + } + + /** + * Estimated total average costs for the program period. + * @return estimatedAverageCostsTotal + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Estimated total average costs for the program period.") + + public Double getEstimatedAverageCostsTotal() { + return estimatedAverageCostsTotal; + } + + + public void setEstimatedAverageCostsTotal(Double estimatedAverageCostsTotal) { + this.estimatedAverageCostsTotal = estimatedAverageCostsTotal; + } + + + public CreditI20 estimatedAverageLivingExpenses(Double estimatedAverageLivingExpenses) { + + this.estimatedAverageLivingExpenses = estimatedAverageLivingExpenses; + return this; + } + + /** + * Estimated average living expenses. + * @return estimatedAverageLivingExpenses + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Estimated average living expenses.") + + public Double getEstimatedAverageLivingExpenses() { + return estimatedAverageLivingExpenses; + } + + + public void setEstimatedAverageLivingExpenses(Double estimatedAverageLivingExpenses) { + this.estimatedAverageLivingExpenses = estimatedAverageLivingExpenses; + } + + + public CreditI20 studentsFundingPeriodMonths(Long studentsFundingPeriodMonths) { + + this.studentsFundingPeriodMonths = studentsFundingPeriodMonths; + return this; + } + + /** + * Number of months the student's funding covers. + * @return studentsFundingPeriodMonths + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of months the student's funding covers.") + + public Long getStudentsFundingPeriodMonths() { + return studentsFundingPeriodMonths; + } + + + public void setStudentsFundingPeriodMonths(Long studentsFundingPeriodMonths) { + this.studentsFundingPeriodMonths = studentsFundingPeriodMonths; + } + + + public CreditI20 estimatedAverageCostsPeriodMonths(Long estimatedAverageCostsPeriodMonths) { + + this.estimatedAverageCostsPeriodMonths = estimatedAverageCostsPeriodMonths; + return this; + } + + /** + * Number of months the estimated average costs cover. + * @return estimatedAverageCostsPeriodMonths + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of months the estimated average costs cover.") + + public Long getEstimatedAverageCostsPeriodMonths() { + return estimatedAverageCostsPeriodMonths; + } + + + public void setEstimatedAverageCostsPeriodMonths(Long estimatedAverageCostsPeriodMonths) { + this.estimatedAverageCostsPeriodMonths = estimatedAverageCostsPeriodMonths; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditI20 creditI20 = (CreditI20) o; + return Objects.equals(this.documentId, creditI20.documentId) && + Objects.equals(this.documentMetadata, creditI20.documentMetadata) && + Objects.equals(this.student, creditI20.student) && + Objects.equals(this.personalFunds, creditI20.personalFunds) && + Objects.equals(this.onCampusEmployment, creditI20.onCampusEmployment) && + Objects.equals(this.fundsFromThisSchool, creditI20.fundsFromThisSchool) && + Objects.equals(this.studentsFundingTotal, creditI20.studentsFundingTotal) && + Objects.equals(this.fundsFromAnotherSource, creditI20.fundsFromAnotherSource) && + Objects.equals(this.estimatedAverageCostsTotal, creditI20.estimatedAverageCostsTotal) && + Objects.equals(this.estimatedAverageLivingExpenses, creditI20.estimatedAverageLivingExpenses) && + Objects.equals(this.studentsFundingPeriodMonths, creditI20.studentsFundingPeriodMonths) && + Objects.equals(this.estimatedAverageCostsPeriodMonths, creditI20.estimatedAverageCostsPeriodMonths); + } + + @Override + public int hashCode() { + return Objects.hash(documentId, documentMetadata, student, personalFunds, onCampusEmployment, fundsFromThisSchool, studentsFundingTotal, fundsFromAnotherSource, estimatedAverageCostsTotal, estimatedAverageLivingExpenses, studentsFundingPeriodMonths, estimatedAverageCostsPeriodMonths); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditI20 {\n"); + sb.append(" documentId: ").append(toIndentedString(documentId)).append("\n"); + sb.append(" documentMetadata: ").append(toIndentedString(documentMetadata)).append("\n"); + sb.append(" student: ").append(toIndentedString(student)).append("\n"); + sb.append(" personalFunds: ").append(toIndentedString(personalFunds)).append("\n"); + sb.append(" onCampusEmployment: ").append(toIndentedString(onCampusEmployment)).append("\n"); + sb.append(" fundsFromThisSchool: ").append(toIndentedString(fundsFromThisSchool)).append("\n"); + sb.append(" studentsFundingTotal: ").append(toIndentedString(studentsFundingTotal)).append("\n"); + sb.append(" fundsFromAnotherSource: ").append(toIndentedString(fundsFromAnotherSource)).append("\n"); + sb.append(" estimatedAverageCostsTotal: ").append(toIndentedString(estimatedAverageCostsTotal)).append("\n"); + sb.append(" estimatedAverageLivingExpenses: ").append(toIndentedString(estimatedAverageLivingExpenses)).append("\n"); + sb.append(" studentsFundingPeriodMonths: ").append(toIndentedString(studentsFundingPeriodMonths)).append("\n"); + sb.append(" estimatedAverageCostsPeriodMonths: ").append(toIndentedString(estimatedAverageCostsPeriodMonths)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditI20Student.java b/src/main/java/com/plaid/client/model/CreditI20Student.java new file mode 100644 index 0000000000..9cc1dc3edd --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditI20Student.java @@ -0,0 +1,274 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An object representing the student named on a Form I-20. + */ +@ApiModel(description = "An object representing the student named on a Form I-20.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditI20Student { + public static final String SERIALIZED_NAME_GIVEN_NAME = "given_name"; + @SerializedName(SERIALIZED_NAME_GIVEN_NAME) + private String givenName; + + public static final String SERIALIZED_NAME_SURNAME_PRIMARY_NAME = "surname_primary_name"; + @SerializedName(SERIALIZED_NAME_SURNAME_PRIMARY_NAME) + private String surnamePrimaryName; + + public static final String SERIALIZED_NAME_PASSPORT_NAME = "passport_name"; + @SerializedName(SERIALIZED_NAME_PASSPORT_NAME) + private String passportName; + + public static final String SERIALIZED_NAME_PREFERRED_NAME = "preferred_name"; + @SerializedName(SERIALIZED_NAME_PREFERRED_NAME) + private String preferredName; + + public static final String SERIALIZED_NAME_SCHOOL_NAME = "school_name"; + @SerializedName(SERIALIZED_NAME_SCHOOL_NAME) + private String schoolName; + + public static final String SERIALIZED_NAME_PROGRAM_START_DATE = "program_start_date"; + @SerializedName(SERIALIZED_NAME_PROGRAM_START_DATE) + private LocalDate programStartDate; + + public static final String SERIALIZED_NAME_PROGRAM_END_DATE = "program_end_date"; + @SerializedName(SERIALIZED_NAME_PROGRAM_END_DATE) + private LocalDate programEndDate; + + + public CreditI20Student givenName(String givenName) { + + this.givenName = givenName; + return this; + } + + /** + * Given name of the student. + * @return givenName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Given name of the student.") + + public String getGivenName() { + return givenName; + } + + + public void setGivenName(String givenName) { + this.givenName = givenName; + } + + + public CreditI20Student surnamePrimaryName(String surnamePrimaryName) { + + this.surnamePrimaryName = surnamePrimaryName; + return this; + } + + /** + * Surname or primary name of the student. + * @return surnamePrimaryName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Surname or primary name of the student.") + + public String getSurnamePrimaryName() { + return surnamePrimaryName; + } + + + public void setSurnamePrimaryName(String surnamePrimaryName) { + this.surnamePrimaryName = surnamePrimaryName; + } + + + public CreditI20Student passportName(String passportName) { + + this.passportName = passportName; + return this; + } + + /** + * Name of the student as it appears on their passport. + * @return passportName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the student as it appears on their passport.") + + public String getPassportName() { + return passportName; + } + + + public void setPassportName(String passportName) { + this.passportName = passportName; + } + + + public CreditI20Student preferredName(String preferredName) { + + this.preferredName = preferredName; + return this; + } + + /** + * Preferred name of the student. + * @return preferredName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Preferred name of the student.") + + public String getPreferredName() { + return preferredName; + } + + + public void setPreferredName(String preferredName) { + this.preferredName = preferredName; + } + + + public CreditI20Student schoolName(String schoolName) { + + this.schoolName = schoolName; + return this; + } + + /** + * Name of the school issuing the Form I-20. + * @return schoolName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the school issuing the Form I-20.") + + public String getSchoolName() { + return schoolName; + } + + + public void setSchoolName(String schoolName) { + this.schoolName = schoolName; + } + + + public CreditI20Student programStartDate(LocalDate programStartDate) { + + this.programStartDate = programStartDate; + return this; + } + + /** + * Start date of the program in ISO 8601 format (YYYY-MM-DD). + * @return programStartDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Start date of the program in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getProgramStartDate() { + return programStartDate; + } + + + public void setProgramStartDate(LocalDate programStartDate) { + this.programStartDate = programStartDate; + } + + + public CreditI20Student programEndDate(LocalDate programEndDate) { + + this.programEndDate = programEndDate; + return this; + } + + /** + * End date of the program in ISO 8601 format (YYYY-MM-DD). + * @return programEndDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "End date of the program in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getProgramEndDate() { + return programEndDate; + } + + + public void setProgramEndDate(LocalDate programEndDate) { + this.programEndDate = programEndDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditI20Student creditI20Student = (CreditI20Student) o; + return Objects.equals(this.givenName, creditI20Student.givenName) && + Objects.equals(this.surnamePrimaryName, creditI20Student.surnamePrimaryName) && + Objects.equals(this.passportName, creditI20Student.passportName) && + Objects.equals(this.preferredName, creditI20Student.preferredName) && + Objects.equals(this.schoolName, creditI20Student.schoolName) && + Objects.equals(this.programStartDate, creditI20Student.programStartDate) && + Objects.equals(this.programEndDate, creditI20Student.programEndDate); + } + + @Override + public int hashCode() { + return Objects.hash(givenName, surnamePrimaryName, passportName, preferredName, schoolName, programStartDate, programEndDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditI20Student {\n"); + sb.append(" givenName: ").append(toIndentedString(givenName)).append("\n"); + sb.append(" surnamePrimaryName: ").append(toIndentedString(surnamePrimaryName)).append("\n"); + sb.append(" passportName: ").append(toIndentedString(passportName)).append("\n"); + sb.append(" preferredName: ").append(toIndentedString(preferredName)).append("\n"); + sb.append(" schoolName: ").append(toIndentedString(schoolName)).append("\n"); + sb.append(" programStartDate: ").append(toIndentedString(programStartDate)).append("\n"); + sb.append(" programEndDate: ").append(toIndentedString(programEndDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayStub.java b/src/main/java/com/plaid/client/model/CreditPayStub.java new file mode 100644 index 0000000000..100e895cdb --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayStub.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditDocumentMetadata; +import com.plaid.client.model.CreditPayStubDeductions; +import com.plaid.client.model.CreditPayStubEarnings; +import com.plaid.client.model.CreditPayStubEmployee; +import com.plaid.client.model.CreditPayStubEmployer; +import com.plaid.client.model.CreditPayStubNetPay; +import com.plaid.client.model.PayStubPayPeriodDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing an end user's pay stub. + */ +@ApiModel(description = "An object representing an end user's pay stub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayStub { + public static final String SERIALIZED_NAME_DEDUCTIONS = "deductions"; + @SerializedName(SERIALIZED_NAME_DEDUCTIONS) + private CreditPayStubDeductions deductions; + + public static final String SERIALIZED_NAME_DOCUMENT_ID = "document_id"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_ID) + private String documentId; + + public static final String SERIALIZED_NAME_DOCUMENT_METADATA = "document_metadata"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_METADATA) + private CreditDocumentMetadata documentMetadata; + + public static final String SERIALIZED_NAME_EARNINGS = "earnings"; + @SerializedName(SERIALIZED_NAME_EARNINGS) + private CreditPayStubEarnings earnings; + + public static final String SERIALIZED_NAME_EMPLOYEE = "employee"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE) + private CreditPayStubEmployee employee; + + public static final String SERIALIZED_NAME_EMPLOYER = "employer"; + @SerializedName(SERIALIZED_NAME_EMPLOYER) + private CreditPayStubEmployer employer; + + public static final String SERIALIZED_NAME_NET_PAY = "net_pay"; + @SerializedName(SERIALIZED_NAME_NET_PAY) + private CreditPayStubNetPay netPay; + + public static final String SERIALIZED_NAME_PAY_PERIOD_DETAILS = "pay_period_details"; + @SerializedName(SERIALIZED_NAME_PAY_PERIOD_DETAILS) + private PayStubPayPeriodDetails payPeriodDetails; + + + public CreditPayStub deductions(CreditPayStubDeductions deductions) { + + this.deductions = deductions; + return this; + } + + /** + * Get deductions + * @return deductions + **/ + @ApiModelProperty(required = true, value = "") + + public CreditPayStubDeductions getDeductions() { + return deductions; + } + + + public void setDeductions(CreditPayStubDeductions deductions) { + this.deductions = deductions; + } + + + public CreditPayStub documentId(String documentId) { + + this.documentId = documentId; + return this; + } + + /** + * An identifier of the document referenced by the document metadata. + * @return documentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "An identifier of the document referenced by the document metadata.") + + public String getDocumentId() { + return documentId; + } + + + public void setDocumentId(String documentId) { + this.documentId = documentId; + } + + + public CreditPayStub documentMetadata(CreditDocumentMetadata documentMetadata) { + + this.documentMetadata = documentMetadata; + return this; + } + + /** + * Get documentMetadata + * @return documentMetadata + **/ + @ApiModelProperty(required = true, value = "") + + public CreditDocumentMetadata getDocumentMetadata() { + return documentMetadata; + } + + + public void setDocumentMetadata(CreditDocumentMetadata documentMetadata) { + this.documentMetadata = documentMetadata; + } + + + public CreditPayStub earnings(CreditPayStubEarnings earnings) { + + this.earnings = earnings; + return this; + } + + /** + * Get earnings + * @return earnings + **/ + @ApiModelProperty(required = true, value = "") + + public CreditPayStubEarnings getEarnings() { + return earnings; + } + + + public void setEarnings(CreditPayStubEarnings earnings) { + this.earnings = earnings; + } + + + public CreditPayStub employee(CreditPayStubEmployee employee) { + + this.employee = employee; + return this; + } + + /** + * Get employee + * @return employee + **/ + @ApiModelProperty(required = true, value = "") + + public CreditPayStubEmployee getEmployee() { + return employee; + } + + + public void setEmployee(CreditPayStubEmployee employee) { + this.employee = employee; + } + + + public CreditPayStub employer(CreditPayStubEmployer employer) { + + this.employer = employer; + return this; + } + + /** + * Get employer + * @return employer + **/ + @ApiModelProperty(required = true, value = "") + + public CreditPayStubEmployer getEmployer() { + return employer; + } + + + public void setEmployer(CreditPayStubEmployer employer) { + this.employer = employer; + } + + + public CreditPayStub netPay(CreditPayStubNetPay netPay) { + + this.netPay = netPay; + return this; + } + + /** + * Get netPay + * @return netPay + **/ + @ApiModelProperty(required = true, value = "") + + public CreditPayStubNetPay getNetPay() { + return netPay; + } + + + public void setNetPay(CreditPayStubNetPay netPay) { + this.netPay = netPay; + } + + + public CreditPayStub payPeriodDetails(PayStubPayPeriodDetails payPeriodDetails) { + + this.payPeriodDetails = payPeriodDetails; + return this; + } + + /** + * Get payPeriodDetails + * @return payPeriodDetails + **/ + @ApiModelProperty(required = true, value = "") + + public PayStubPayPeriodDetails getPayPeriodDetails() { + return payPeriodDetails; + } + + + public void setPayPeriodDetails(PayStubPayPeriodDetails payPeriodDetails) { + this.payPeriodDetails = payPeriodDetails; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayStub creditPayStub = (CreditPayStub) o; + return Objects.equals(this.deductions, creditPayStub.deductions) && + Objects.equals(this.documentId, creditPayStub.documentId) && + Objects.equals(this.documentMetadata, creditPayStub.documentMetadata) && + Objects.equals(this.earnings, creditPayStub.earnings) && + Objects.equals(this.employee, creditPayStub.employee) && + Objects.equals(this.employer, creditPayStub.employer) && + Objects.equals(this.netPay, creditPayStub.netPay) && + Objects.equals(this.payPeriodDetails, creditPayStub.payPeriodDetails); + } + + @Override + public int hashCode() { + return Objects.hash(deductions, documentId, documentMetadata, earnings, employee, employer, netPay, payPeriodDetails); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayStub {\n"); + sb.append(" deductions: ").append(toIndentedString(deductions)).append("\n"); + sb.append(" documentId: ").append(toIndentedString(documentId)).append("\n"); + sb.append(" documentMetadata: ").append(toIndentedString(documentMetadata)).append("\n"); + sb.append(" earnings: ").append(toIndentedString(earnings)).append("\n"); + sb.append(" employee: ").append(toIndentedString(employee)).append("\n"); + sb.append(" employer: ").append(toIndentedString(employer)).append("\n"); + sb.append(" netPay: ").append(toIndentedString(netPay)).append("\n"); + sb.append(" payPeriodDetails: ").append(toIndentedString(payPeriodDetails)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayStubAddress.java b/src/main/java/com/plaid/client/model/CreditPayStubAddress.java new file mode 100644 index 0000000000..4dd5a0e364 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayStubAddress.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Address on the pay stub. + */ +@ApiModel(description = "Address on the pay stub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayStubAddress { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + + public CreditPayStubAddress city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The full city name.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public CreditPayStubAddress country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code. + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 3166-1 alpha-2 country code.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public CreditPayStubAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code of the address. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The postal code of the address.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public CreditPayStubAddress region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state. Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The region or state. Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public CreditPayStubAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address. + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The full street address.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayStubAddress creditPayStubAddress = (CreditPayStubAddress) o; + return Objects.equals(this.city, creditPayStubAddress.city) && + Objects.equals(this.country, creditPayStubAddress.country) && + Objects.equals(this.postalCode, creditPayStubAddress.postalCode) && + Objects.equals(this.region, creditPayStubAddress.region) && + Objects.equals(this.street, creditPayStubAddress.street); + } + + @Override + public int hashCode() { + return Objects.hash(city, country, postalCode, region, street); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayStubAddress {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayStubDeductions.java b/src/main/java/com/plaid/client/model/CreditPayStubDeductions.java new file mode 100644 index 0000000000..3fe5783eda --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayStubDeductions.java @@ -0,0 +1,135 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PayStubDeductionsBreakdown; +import com.plaid.client.model.PayStubDeductionsTotal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object with the deduction information found on a pay stub. + */ +@ApiModel(description = "An object with the deduction information found on a pay stub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayStubDeductions { + public static final String SERIALIZED_NAME_BREAKDOWN = "breakdown"; + @SerializedName(SERIALIZED_NAME_BREAKDOWN) + private List breakdown = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TOTAL = "total"; + @SerializedName(SERIALIZED_NAME_TOTAL) + private PayStubDeductionsTotal total; + + + public CreditPayStubDeductions breakdown(List breakdown) { + + this.breakdown = breakdown; + return this; + } + + public CreditPayStubDeductions addBreakdownItem(PayStubDeductionsBreakdown breakdownItem) { + this.breakdown.add(breakdownItem); + return this; + } + + /** + * Get breakdown + * @return breakdown + **/ + @ApiModelProperty(required = true, value = "") + + public List getBreakdown() { + return breakdown; + } + + + public void setBreakdown(List breakdown) { + this.breakdown = breakdown; + } + + + public CreditPayStubDeductions total(PayStubDeductionsTotal total) { + + this.total = total; + return this; + } + + /** + * Get total + * @return total + **/ + @ApiModelProperty(required = true, value = "") + + public PayStubDeductionsTotal getTotal() { + return total; + } + + + public void setTotal(PayStubDeductionsTotal total) { + this.total = total; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayStubDeductions creditPayStubDeductions = (CreditPayStubDeductions) o; + return Objects.equals(this.breakdown, creditPayStubDeductions.breakdown) && + Objects.equals(this.total, creditPayStubDeductions.total); + } + + @Override + public int hashCode() { + return Objects.hash(breakdown, total); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayStubDeductions {\n"); + sb.append(" breakdown: ").append(toIndentedString(breakdown)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayStubEarnings.java b/src/main/java/com/plaid/client/model/CreditPayStubEarnings.java new file mode 100644 index 0000000000..1ac9cc56ae --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayStubEarnings.java @@ -0,0 +1,135 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PayStubEarningsBreakdown; +import com.plaid.client.model.PayStubEarningsTotal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing both a breakdown of earnings on a pay stub and the total earnings. + */ +@ApiModel(description = "An object representing both a breakdown of earnings on a pay stub and the total earnings.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayStubEarnings { + public static final String SERIALIZED_NAME_BREAKDOWN = "breakdown"; + @SerializedName(SERIALIZED_NAME_BREAKDOWN) + private List breakdown = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TOTAL = "total"; + @SerializedName(SERIALIZED_NAME_TOTAL) + private PayStubEarningsTotal total; + + + public CreditPayStubEarnings breakdown(List breakdown) { + + this.breakdown = breakdown; + return this; + } + + public CreditPayStubEarnings addBreakdownItem(PayStubEarningsBreakdown breakdownItem) { + this.breakdown.add(breakdownItem); + return this; + } + + /** + * Get breakdown + * @return breakdown + **/ + @ApiModelProperty(required = true, value = "") + + public List getBreakdown() { + return breakdown; + } + + + public void setBreakdown(List breakdown) { + this.breakdown = breakdown; + } + + + public CreditPayStubEarnings total(PayStubEarningsTotal total) { + + this.total = total; + return this; + } + + /** + * Get total + * @return total + **/ + @ApiModelProperty(required = true, value = "") + + public PayStubEarningsTotal getTotal() { + return total; + } + + + public void setTotal(PayStubEarningsTotal total) { + this.total = total; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayStubEarnings creditPayStubEarnings = (CreditPayStubEarnings) o; + return Objects.equals(this.breakdown, creditPayStubEarnings.breakdown) && + Objects.equals(this.total, creditPayStubEarnings.total); + } + + @Override + public int hashCode() { + return Objects.hash(breakdown, total); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayStubEarnings {\n"); + sb.append(" breakdown: ").append(toIndentedString(breakdown)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayStubEmployee.java b/src/main/java/com/plaid/client/model/CreditPayStubEmployee.java new file mode 100644 index 0000000000..091be476dc --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayStubEmployee.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditPayStubAddress; +import com.plaid.client.model.PayStubTaxpayerID; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data about the employee. + */ +@ApiModel(description = "Data about the employee.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayStubEmployee { + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private CreditPayStubAddress address; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_MARITAL_STATUS = "marital_status"; + @SerializedName(SERIALIZED_NAME_MARITAL_STATUS) + private String maritalStatus; + + public static final String SERIALIZED_NAME_TAXPAYER_ID = "taxpayer_id"; + @SerializedName(SERIALIZED_NAME_TAXPAYER_ID) + private PayStubTaxpayerID taxpayerId; + + + public CreditPayStubEmployee address(CreditPayStubAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public CreditPayStubAddress getAddress() { + return address; + } + + + public void setAddress(CreditPayStubAddress address) { + this.address = address; + } + + + public CreditPayStubEmployee name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the employee. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The name of the employee.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CreditPayStubEmployee maritalStatus(String maritalStatus) { + + this.maritalStatus = maritalStatus; + return this; + } + + /** + * Marital status of the employee - one of `SINGLE`, `MARRIED`, or `NOT LISTED`. + * @return maritalStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Marital status of the employee - one of `SINGLE`, `MARRIED`, or `NOT LISTED`.") + + public String getMaritalStatus() { + return maritalStatus; + } + + + public void setMaritalStatus(String maritalStatus) { + this.maritalStatus = maritalStatus; + } + + + public CreditPayStubEmployee taxpayerId(PayStubTaxpayerID taxpayerId) { + + this.taxpayerId = taxpayerId; + return this; + } + + /** + * Get taxpayerId + * @return taxpayerId + **/ + @ApiModelProperty(required = true, value = "") + + public PayStubTaxpayerID getTaxpayerId() { + return taxpayerId; + } + + + public void setTaxpayerId(PayStubTaxpayerID taxpayerId) { + this.taxpayerId = taxpayerId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayStubEmployee creditPayStubEmployee = (CreditPayStubEmployee) o; + return Objects.equals(this.address, creditPayStubEmployee.address) && + Objects.equals(this.name, creditPayStubEmployee.name) && + Objects.equals(this.maritalStatus, creditPayStubEmployee.maritalStatus) && + Objects.equals(this.taxpayerId, creditPayStubEmployee.taxpayerId); + } + + @Override + public int hashCode() { + return Objects.hash(address, name, maritalStatus, taxpayerId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayStubEmployee {\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" maritalStatus: ").append(toIndentedString(maritalStatus)).append("\n"); + sb.append(" taxpayerId: ").append(toIndentedString(taxpayerId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayStubEmployer.java b/src/main/java/com/plaid/client/model/CreditPayStubEmployer.java new file mode 100644 index 0000000000..1eb763c03d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayStubEmployer.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditPayStubAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the employer on the pay stub. + */ +@ApiModel(description = "Information about the employer on the pay stub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayStubEmployer { + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private CreditPayStubAddress address; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + + public CreditPayStubEmployer address(CreditPayStubAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public CreditPayStubAddress getAddress() { + return address; + } + + + public void setAddress(CreditPayStubAddress address) { + this.address = address; + } + + + public CreditPayStubEmployer name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the employer on the pay stub. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The name of the employer on the pay stub.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayStubEmployer creditPayStubEmployer = (CreditPayStubEmployer) o; + return Objects.equals(this.address, creditPayStubEmployer.address) && + Objects.equals(this.name, creditPayStubEmployer.name); + } + + @Override + public int hashCode() { + return Objects.hash(address, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayStubEmployer {\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayStubNetPay.java b/src/main/java/com/plaid/client/model/CreditPayStubNetPay.java new file mode 100644 index 0000000000..89abb190d0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayStubNetPay.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing information about the net pay amount on the pay stub. + */ +@ApiModel(description = "An object representing information about the net pay amount on the pay stub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayStubNetPay { + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public CreditPayStubNetPay currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * Raw amount of the net pay for the pay period. + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Raw amount of the net pay for the pay period.") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public CreditPayStubNetPay description(String description) { + + this.description = description; + return this; + } + + /** + * Description of the net pay. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Description of the net pay.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public CreditPayStubNetPay isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public CreditPayStubNetPay unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public CreditPayStubNetPay ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The year-to-date amount of the net pay. + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The year-to-date amount of the net pay.") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayStubNetPay creditPayStubNetPay = (CreditPayStubNetPay) o; + return Objects.equals(this.currentAmount, creditPayStubNetPay.currentAmount) && + Objects.equals(this.description, creditPayStubNetPay.description) && + Objects.equals(this.isoCurrencyCode, creditPayStubNetPay.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, creditPayStubNetPay.unofficialCurrencyCode) && + Objects.equals(this.ytdAmount, creditPayStubNetPay.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(currentAmount, description, isoCurrencyCode, unofficialCurrencyCode, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayStubNetPay {\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayStubPayBasisType.java b/src/main/java/com/plaid/client/model/CreditPayStubPayBasisType.java new file mode 100644 index 0000000000..d5395a5c9e --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayStubPayBasisType.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The explicit pay basis on the paystub (if present). + */ +@JsonAdapter(CreditPayStubPayBasisType.Adapter.class) +public enum CreditPayStubPayBasisType { + + SALARY("SALARY"), + + HOURLY("HOURLY"), + + COMMISSION("COMMISSION"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CreditPayStubPayBasisType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CreditPayStubPayBasisType fromValue(String value) { + for (CreditPayStubPayBasisType b : CreditPayStubPayBasisType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CreditPayStubPayBasisType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CreditPayStubPayBasisType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CreditPayStubPayBasisType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CreditPayStubPayBasisType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayrollIncomeGetRequest.java b/src/main/java/com/plaid/client/model/CreditPayrollIncomeGetRequest.java new file mode 100644 index 0000000000..b99b1345bc --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayrollIncomeGetRequest.java @@ -0,0 +1,216 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditPayrollIncomeGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditPayrollIncomeGetRequest defines the request schema for `/credit/payroll_income/get`. + */ +@ApiModel(description = "CreditPayrollIncomeGetRequest defines the request schema for `/credit/payroll_income/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayrollIncomeGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private CreditPayrollIncomeGetRequestOptions options; + + + public CreditPayrollIncomeGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditPayrollIncomeGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditPayrollIncomeGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CreditPayrollIncomeGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CreditPayrollIncomeGetRequest options(CreditPayrollIncomeGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditPayrollIncomeGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(CreditPayrollIncomeGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayrollIncomeGetRequest creditPayrollIncomeGetRequest = (CreditPayrollIncomeGetRequest) o; + return Objects.equals(this.clientId, creditPayrollIncomeGetRequest.clientId) && + Objects.equals(this.secret, creditPayrollIncomeGetRequest.secret) && + Objects.equals(this.userToken, creditPayrollIncomeGetRequest.userToken) && + Objects.equals(this.userId, creditPayrollIncomeGetRequest.userId) && + Objects.equals(this.options, creditPayrollIncomeGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userId, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayrollIncomeGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayrollIncomeGetRequestOptions.java b/src/main/java/com/plaid/client/model/CreditPayrollIncomeGetRequestOptions.java new file mode 100644 index 0000000000..39d5f0cc5c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayrollIncomeGetRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object for `/credit/payroll_income/get` request options. + */ +@ApiModel(description = "An optional object for `/credit/payroll_income/get` request options.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayrollIncomeGetRequestOptions { + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = null; + + + public CreditPayrollIncomeGetRequestOptions itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public CreditPayrollIncomeGetRequestOptions addItemIdsItem(String itemIdsItem) { + if (this.itemIds == null) { + this.itemIds = new ArrayList<>(); + } + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * An array of `item_id`s whose payroll information is returned. Each `item_id` should uniquely identify a payroll income item. If this field is not provided, all `item_id`s associated with the `user_token` will be returned in the response. + * @return itemIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of `item_id`s whose payroll information is returned. Each `item_id` should uniquely identify a payroll income item. If this field is not provided, all `item_id`s associated with the `user_token` will be returned in the response.") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayrollIncomeGetRequestOptions creditPayrollIncomeGetRequestOptions = (CreditPayrollIncomeGetRequestOptions) o; + return Objects.equals(this.itemIds, creditPayrollIncomeGetRequestOptions.itemIds); + } + + @Override + public int hashCode() { + return Objects.hash(itemIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayrollIncomeGetRequestOptions {\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayrollIncomeGetResponse.java b/src/main/java/com/plaid/client/model/CreditPayrollIncomeGetResponse.java new file mode 100644 index 0000000000..d15d2ee07c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayrollIncomeGetResponse.java @@ -0,0 +1,164 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PayrollItem; +import com.plaid.client.model.PlaidError; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response body for `/credit/payroll_income/get`. + */ +@ApiModel(description = "Defines the response body for `/credit/payroll_income/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayrollIncomeGetResponse { + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditPayrollIncomeGetResponse items(List items) { + + this.items = items; + return this; + } + + public CreditPayrollIncomeGetResponse addItemsItem(PayrollItem itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * Array of payroll items. + * @return items + **/ + @ApiModelProperty(required = true, value = "Array of payroll items.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + public CreditPayrollIncomeGetResponse error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public CreditPayrollIncomeGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayrollIncomeGetResponse creditPayrollIncomeGetResponse = (CreditPayrollIncomeGetResponse) o; + return Objects.equals(this.items, creditPayrollIncomeGetResponse.items) && + Objects.equals(this.error, creditPayrollIncomeGetResponse.error) && + Objects.equals(this.requestId, creditPayrollIncomeGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(items, error, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayrollIncomeGetResponse {\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayrollIncomeParsingConfigUpdateRequest.java b/src/main/java/com/plaid/client/model/CreditPayrollIncomeParsingConfigUpdateRequest.java new file mode 100644 index 0000000000..cfded13f09 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayrollIncomeParsingConfigUpdateRequest.java @@ -0,0 +1,250 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeVerificationDocParsingConfig; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CreditPayrollIncomeParsingConfigUpdateRequest defines the request schema for `/credit/payroll_income/parsing_config/update`. + */ +@ApiModel(description = "CreditPayrollIncomeParsingConfigUpdateRequest defines the request schema for `/credit/payroll_income/parsing_config/update`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayrollIncomeParsingConfigUpdateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_PARSING_CONFIG = "parsing_config"; + @SerializedName(SERIALIZED_NAME_PARSING_CONFIG) + private List parsingConfig = new ArrayList<>(); + + + public CreditPayrollIncomeParsingConfigUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditPayrollIncomeParsingConfigUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditPayrollIncomeParsingConfigUpdateRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @ApiModelProperty(required = true, value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CreditPayrollIncomeParsingConfigUpdateRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CreditPayrollIncomeParsingConfigUpdateRequest itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CreditPayrollIncomeParsingConfigUpdateRequest parsingConfig(List parsingConfig) { + + this.parsingConfig = parsingConfig; + return this; + } + + public CreditPayrollIncomeParsingConfigUpdateRequest addParsingConfigItem(IncomeVerificationDocParsingConfig parsingConfigItem) { + this.parsingConfig.add(parsingConfigItem); + return this; + } + + /** + * The types of analysis to enable for the document income verification session + * @return parsingConfig + **/ + @ApiModelProperty(required = true, value = "The types of analysis to enable for the document income verification session") + + public List getParsingConfig() { + return parsingConfig; + } + + + public void setParsingConfig(List parsingConfig) { + this.parsingConfig = parsingConfig; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayrollIncomeParsingConfigUpdateRequest creditPayrollIncomeParsingConfigUpdateRequest = (CreditPayrollIncomeParsingConfigUpdateRequest) o; + return Objects.equals(this.clientId, creditPayrollIncomeParsingConfigUpdateRequest.clientId) && + Objects.equals(this.secret, creditPayrollIncomeParsingConfigUpdateRequest.secret) && + Objects.equals(this.userToken, creditPayrollIncomeParsingConfigUpdateRequest.userToken) && + Objects.equals(this.userId, creditPayrollIncomeParsingConfigUpdateRequest.userId) && + Objects.equals(this.itemId, creditPayrollIncomeParsingConfigUpdateRequest.itemId) && + Objects.equals(this.parsingConfig, creditPayrollIncomeParsingConfigUpdateRequest.parsingConfig); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userId, itemId, parsingConfig); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayrollIncomeParsingConfigUpdateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" parsingConfig: ").append(toIndentedString(parsingConfig)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayrollIncomeParsingConfigUpdateResponse.java b/src/main/java/com/plaid/client/model/CreditPayrollIncomeParsingConfigUpdateResponse.java new file mode 100644 index 0000000000..edb0367bc5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayrollIncomeParsingConfigUpdateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditPayrollIncomeParsingConfigUpdateResponse defines the response schema for `/credit/payroll_income/parsing_config/update`. + */ +@ApiModel(description = "CreditPayrollIncomeParsingConfigUpdateResponse defines the response schema for `/credit/payroll_income/parsing_config/update`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayrollIncomeParsingConfigUpdateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditPayrollIncomeParsingConfigUpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayrollIncomeParsingConfigUpdateResponse creditPayrollIncomeParsingConfigUpdateResponse = (CreditPayrollIncomeParsingConfigUpdateResponse) o; + return Objects.equals(this.requestId, creditPayrollIncomeParsingConfigUpdateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayrollIncomeParsingConfigUpdateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayrollIncomePrecheckRequest.java b/src/main/java/com/plaid/client/model/CreditPayrollIncomePrecheckRequest.java new file mode 100644 index 0000000000..3e15211cc6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayrollIncomePrecheckRequest.java @@ -0,0 +1,315 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeVerificationPrecheckEmployer; +import com.plaid.client.model.IncomeVerificationPrecheckMilitaryInfo; +import com.plaid.client.model.IncomeVerificationPrecheckPayrollInstitution; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the request schema for `/credit/payroll_income/precheck`. + */ +@ApiModel(description = "Defines the request schema for `/credit/payroll_income/precheck`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayrollIncomePrecheckRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ACCESS_TOKENS = "access_tokens"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKENS) + private List accessTokens = null; + + public static final String SERIALIZED_NAME_EMPLOYER = "employer"; + @SerializedName(SERIALIZED_NAME_EMPLOYER) + private IncomeVerificationPrecheckEmployer employer; + + public static final String SERIALIZED_NAME_US_MILITARY_INFO = "us_military_info"; + @SerializedName(SERIALIZED_NAME_US_MILITARY_INFO) + private IncomeVerificationPrecheckMilitaryInfo usMilitaryInfo; + + public static final String SERIALIZED_NAME_PAYROLL_INSTITUTION = "payroll_institution"; + @SerializedName(SERIALIZED_NAME_PAYROLL_INSTITUTION) + private IncomeVerificationPrecheckPayrollInstitution payrollInstitution; + + + public CreditPayrollIncomePrecheckRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditPayrollIncomePrecheckRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditPayrollIncomePrecheckRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CreditPayrollIncomePrecheckRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CreditPayrollIncomePrecheckRequest accessTokens(List accessTokens) { + + this.accessTokens = accessTokens; + return this; + } + + public CreditPayrollIncomePrecheckRequest addAccessTokensItem(String accessTokensItem) { + if (this.accessTokens == null) { + this.accessTokens = new ArrayList<>(); + } + this.accessTokens.add(accessTokensItem); + return this; + } + + /** + * An array of access tokens corresponding to Items belonging to the user whose eligibility is being checked. Note that if the Items specified here are not already initialized with `transactions`, providing them in this field will cause these Items to be initialized with (and billed for) the Transactions product. + * @return accessTokens + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of access tokens corresponding to Items belonging to the user whose eligibility is being checked. Note that if the Items specified here are not already initialized with `transactions`, providing them in this field will cause these Items to be initialized with (and billed for) the Transactions product.") + + public List getAccessTokens() { + return accessTokens; + } + + + public void setAccessTokens(List accessTokens) { + this.accessTokens = accessTokens; + } + + + public CreditPayrollIncomePrecheckRequest employer(IncomeVerificationPrecheckEmployer employer) { + + this.employer = employer; + return this; + } + + /** + * Get employer + * @return employer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeVerificationPrecheckEmployer getEmployer() { + return employer; + } + + + public void setEmployer(IncomeVerificationPrecheckEmployer employer) { + this.employer = employer; + } + + + public CreditPayrollIncomePrecheckRequest usMilitaryInfo(IncomeVerificationPrecheckMilitaryInfo usMilitaryInfo) { + + this.usMilitaryInfo = usMilitaryInfo; + return this; + } + + /** + * Get usMilitaryInfo + * @return usMilitaryInfo + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeVerificationPrecheckMilitaryInfo getUsMilitaryInfo() { + return usMilitaryInfo; + } + + + public void setUsMilitaryInfo(IncomeVerificationPrecheckMilitaryInfo usMilitaryInfo) { + this.usMilitaryInfo = usMilitaryInfo; + } + + + public CreditPayrollIncomePrecheckRequest payrollInstitution(IncomeVerificationPrecheckPayrollInstitution payrollInstitution) { + + this.payrollInstitution = payrollInstitution; + return this; + } + + /** + * Get payrollInstitution + * @return payrollInstitution + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeVerificationPrecheckPayrollInstitution getPayrollInstitution() { + return payrollInstitution; + } + + + public void setPayrollInstitution(IncomeVerificationPrecheckPayrollInstitution payrollInstitution) { + this.payrollInstitution = payrollInstitution; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayrollIncomePrecheckRequest creditPayrollIncomePrecheckRequest = (CreditPayrollIncomePrecheckRequest) o; + return Objects.equals(this.clientId, creditPayrollIncomePrecheckRequest.clientId) && + Objects.equals(this.secret, creditPayrollIncomePrecheckRequest.secret) && + Objects.equals(this.userToken, creditPayrollIncomePrecheckRequest.userToken) && + Objects.equals(this.userId, creditPayrollIncomePrecheckRequest.userId) && + Objects.equals(this.accessTokens, creditPayrollIncomePrecheckRequest.accessTokens) && + Objects.equals(this.employer, creditPayrollIncomePrecheckRequest.employer) && + Objects.equals(this.usMilitaryInfo, creditPayrollIncomePrecheckRequest.usMilitaryInfo) && + Objects.equals(this.payrollInstitution, creditPayrollIncomePrecheckRequest.payrollInstitution); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userId, accessTokens, employer, usMilitaryInfo, payrollInstitution); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayrollIncomePrecheckRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" accessTokens: ").append(toIndentedString(accessTokens)).append("\n"); + sb.append(" employer: ").append(toIndentedString(employer)).append("\n"); + sb.append(" usMilitaryInfo: ").append(toIndentedString(usMilitaryInfo)).append("\n"); + sb.append(" payrollInstitution: ").append(toIndentedString(payrollInstitution)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayrollIncomePrecheckResponse.java b/src/main/java/com/plaid/client/model/CreditPayrollIncomePrecheckResponse.java new file mode 100644 index 0000000000..374f5b3a45 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayrollIncomePrecheckResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeVerificationPrecheckConfidence; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/credit/payroll_income/precheck`. + */ +@ApiModel(description = "Defines the response schema for `/credit/payroll_income/precheck`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayrollIncomePrecheckResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_CONFIDENCE = "confidence"; + @SerializedName(SERIALIZED_NAME_CONFIDENCE) + private IncomeVerificationPrecheckConfidence confidence; + + + public CreditPayrollIncomePrecheckResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CreditPayrollIncomePrecheckResponse confidence(IncomeVerificationPrecheckConfidence confidence) { + + this.confidence = confidence; + return this; + } + + /** + * Get confidence + * @return confidence + **/ + @ApiModelProperty(required = true, value = "") + + public IncomeVerificationPrecheckConfidence getConfidence() { + return confidence; + } + + + public void setConfidence(IncomeVerificationPrecheckConfidence confidence) { + this.confidence = confidence; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayrollIncomePrecheckResponse creditPayrollIncomePrecheckResponse = (CreditPayrollIncomePrecheckResponse) o; + return Objects.equals(this.requestId, creditPayrollIncomePrecheckResponse.requestId) && + Objects.equals(this.confidence, creditPayrollIncomePrecheckResponse.confidence); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, confidence); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayrollIncomePrecheckResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" confidence: ").append(toIndentedString(confidence)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayrollIncomeRefreshRequest.java b/src/main/java/com/plaid/client/model/CreditPayrollIncomeRefreshRequest.java new file mode 100644 index 0000000000..1bc2d0d3d3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayrollIncomeRefreshRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditPayrollIncomeRefreshRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditPayrollIncomeRefreshRequest defines the request schema for `/credit/payroll_income/refresh` + */ +@ApiModel(description = "CreditPayrollIncomeRefreshRequest defines the request schema for `/credit/payroll_income/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayrollIncomeRefreshRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private CreditPayrollIncomeRefreshRequestOptions options; + + + public CreditPayrollIncomeRefreshRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditPayrollIncomeRefreshRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditPayrollIncomeRefreshRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @ApiModelProperty(required = true, value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CreditPayrollIncomeRefreshRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public CreditPayrollIncomeRefreshRequest options(CreditPayrollIncomeRefreshRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditPayrollIncomeRefreshRequestOptions getOptions() { + return options; + } + + + public void setOptions(CreditPayrollIncomeRefreshRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayrollIncomeRefreshRequest creditPayrollIncomeRefreshRequest = (CreditPayrollIncomeRefreshRequest) o; + return Objects.equals(this.clientId, creditPayrollIncomeRefreshRequest.clientId) && + Objects.equals(this.secret, creditPayrollIncomeRefreshRequest.secret) && + Objects.equals(this.userToken, creditPayrollIncomeRefreshRequest.userToken) && + Objects.equals(this.userId, creditPayrollIncomeRefreshRequest.userId) && + Objects.equals(this.options, creditPayrollIncomeRefreshRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userId, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayrollIncomeRefreshRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayrollIncomeRefreshRequestOptions.java b/src/main/java/com/plaid/client/model/CreditPayrollIncomeRefreshRequestOptions.java new file mode 100644 index 0000000000..165f008eaa --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayrollIncomeRefreshRequestOptions.java @@ -0,0 +1,138 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object for `/credit/payroll_income/refresh` request options. + */ +@ApiModel(description = "An optional object for `/credit/payroll_income/refresh` request options.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayrollIncomeRefreshRequestOptions { + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = null; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public CreditPayrollIncomeRefreshRequestOptions itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public CreditPayrollIncomeRefreshRequestOptions addItemIdsItem(String itemIdsItem) { + if (this.itemIds == null) { + this.itemIds = new ArrayList<>(); + } + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * An array of `item_id`s to be refreshed. Each `item_id` should uniquely identify a payroll income item. If this field is not provided, all `item_id`s associated with the `user_token` will be refreshed. + * @return itemIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of `item_id`s to be refreshed. Each `item_id` should uniquely identify a payroll income item. If this field is not provided, all `item_id`s associated with the `user_token` will be refreshed.") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + public CreditPayrollIncomeRefreshRequestOptions webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The URL where Plaid will send the payroll income refresh webhook. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL where Plaid will send the payroll income refresh webhook.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayrollIncomeRefreshRequestOptions creditPayrollIncomeRefreshRequestOptions = (CreditPayrollIncomeRefreshRequestOptions) o; + return Objects.equals(this.itemIds, creditPayrollIncomeRefreshRequestOptions.itemIds) && + Objects.equals(this.webhook, creditPayrollIncomeRefreshRequestOptions.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(itemIds, webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayrollIncomeRefreshRequestOptions {\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayrollIncomeRefreshResponse.java b/src/main/java/com/plaid/client/model/CreditPayrollIncomeRefreshResponse.java new file mode 100644 index 0000000000..925f517bff --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayrollIncomeRefreshResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditPayrollIncomeRefreshResponse defines the response schema for `/credit/payroll_income/refresh` + */ +@ApiModel(description = "CreditPayrollIncomeRefreshResponse defines the response schema for `/credit/payroll_income/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayrollIncomeRefreshResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_VERIFICATION_REFRESH_STATUS = "verification_refresh_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_REFRESH_STATUS) + private String verificationRefreshStatus; + + + public CreditPayrollIncomeRefreshResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public CreditPayrollIncomeRefreshResponse verificationRefreshStatus(String verificationRefreshStatus) { + + this.verificationRefreshStatus = verificationRefreshStatus; + return this; + } + + /** + * The verification refresh status. One of the following: `\"USER_PRESENCE_REQUIRED\"` User presence is required to refresh an income verification. `\"SUCCESSFUL\"` The income verification refresh was successful. `\"NOT_FOUND\"` No new data was found after the income verification refresh. + * @return verificationRefreshStatus + **/ + @ApiModelProperty(required = true, value = "The verification refresh status. One of the following: `\"USER_PRESENCE_REQUIRED\"` User presence is required to refresh an income verification. `\"SUCCESSFUL\"` The income verification refresh was successful. `\"NOT_FOUND\"` No new data was found after the income verification refresh.") + + public String getVerificationRefreshStatus() { + return verificationRefreshStatus; + } + + + public void setVerificationRefreshStatus(String verificationRefreshStatus) { + this.verificationRefreshStatus = verificationRefreshStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayrollIncomeRefreshResponse creditPayrollIncomeRefreshResponse = (CreditPayrollIncomeRefreshResponse) o; + return Objects.equals(this.requestId, creditPayrollIncomeRefreshResponse.requestId) && + Objects.equals(this.verificationRefreshStatus, creditPayrollIncomeRefreshResponse.verificationRefreshStatus); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, verificationRefreshStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayrollIncomeRefreshResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" verificationRefreshStatus: ").append(toIndentedString(verificationRefreshStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayrollIncomeRiskSignalsGetRequest.java b/src/main/java/com/plaid/client/model/CreditPayrollIncomeRiskSignalsGetRequest.java new file mode 100644 index 0000000000..f42478473a --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayrollIncomeRiskSignalsGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditPayrollIncomeRiskSignalsGetRequest defines the request schema for `/credit/payroll_income/risk_signals/get` + */ +@ApiModel(description = "CreditPayrollIncomeRiskSignalsGetRequest defines the request schema for `/credit/payroll_income/risk_signals/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayrollIncomeRiskSignalsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public CreditPayrollIncomeRiskSignalsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditPayrollIncomeRiskSignalsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditPayrollIncomeRiskSignalsGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CreditPayrollIncomeRiskSignalsGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayrollIncomeRiskSignalsGetRequest creditPayrollIncomeRiskSignalsGetRequest = (CreditPayrollIncomeRiskSignalsGetRequest) o; + return Objects.equals(this.clientId, creditPayrollIncomeRiskSignalsGetRequest.clientId) && + Objects.equals(this.secret, creditPayrollIncomeRiskSignalsGetRequest.secret) && + Objects.equals(this.userToken, creditPayrollIncomeRiskSignalsGetRequest.userToken) && + Objects.equals(this.userId, creditPayrollIncomeRiskSignalsGetRequest.userId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayrollIncomeRiskSignalsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPayrollIncomeRiskSignalsGetResponse.java b/src/main/java/com/plaid/client/model/CreditPayrollIncomeRiskSignalsGetResponse.java new file mode 100644 index 0000000000..69c34b8d45 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPayrollIncomeRiskSignalsGetResponse.java @@ -0,0 +1,164 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PayrollRiskSignalsItem; +import com.plaid.client.model.PlaidError; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CreditPayrollIncomeRiskSignalsGetResponse defines the response schema for `/credit/payroll_income/risk_signals/get` + */ +@ApiModel(description = "CreditPayrollIncomeRiskSignalsGetResponse defines the response schema for `/credit/payroll_income/risk_signals/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPayrollIncomeRiskSignalsGetResponse { + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditPayrollIncomeRiskSignalsGetResponse items(List items) { + + this.items = items; + return this; + } + + public CreditPayrollIncomeRiskSignalsGetResponse addItemsItem(PayrollRiskSignalsItem itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * Array of payroll items. + * @return items + **/ + @ApiModelProperty(required = true, value = "Array of payroll items.") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + public CreditPayrollIncomeRiskSignalsGetResponse error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public CreditPayrollIncomeRiskSignalsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPayrollIncomeRiskSignalsGetResponse creditPayrollIncomeRiskSignalsGetResponse = (CreditPayrollIncomeRiskSignalsGetResponse) o; + return Objects.equals(this.items, creditPayrollIncomeRiskSignalsGetResponse.items) && + Objects.equals(this.error, creditPayrollIncomeRiskSignalsGetResponse.error) && + Objects.equals(this.requestId, creditPayrollIncomeRiskSignalsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(items, error, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPayrollIncomeRiskSignalsGetResponse {\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditPlatformIds.java b/src/main/java/com/plaid/client/model/CreditPlatformIds.java new file mode 100644 index 0000000000..7985e26e4d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditPlatformIds.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The object containing a set of ids related to an employee. + */ +@ApiModel(description = "The object containing a set of ids related to an employee.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditPlatformIds { + public static final String SERIALIZED_NAME_EMPLOYEE_ID = "employee_id"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE_ID) + private String employeeId; + + public static final String SERIALIZED_NAME_PAYROLL_ID = "payroll_id"; + @SerializedName(SERIALIZED_NAME_PAYROLL_ID) + private String payrollId; + + public static final String SERIALIZED_NAME_POSITION_ID = "position_id"; + @SerializedName(SERIALIZED_NAME_POSITION_ID) + private String positionId; + + + public CreditPlatformIds employeeId(String employeeId) { + + this.employeeId = employeeId; + return this; + } + + /** + * The ID of an employee as given by their employer. + * @return employeeId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ID of an employee as given by their employer.") + + public String getEmployeeId() { + return employeeId; + } + + + public void setEmployeeId(String employeeId) { + this.employeeId = employeeId; + } + + + public CreditPlatformIds payrollId(String payrollId) { + + this.payrollId = payrollId; + return this; + } + + /** + * The ID of an employee as given by their payroll. + * @return payrollId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ID of an employee as given by their payroll.") + + public String getPayrollId() { + return payrollId; + } + + + public void setPayrollId(String payrollId) { + this.payrollId = payrollId; + } + + + public CreditPlatformIds positionId(String positionId) { + + this.positionId = positionId; + return this; + } + + /** + * The ID of the position of the employee. + * @return positionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ID of the position of the employee.") + + public String getPositionId() { + return positionId; + } + + + public void setPositionId(String positionId) { + this.positionId = positionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditPlatformIds creditPlatformIds = (CreditPlatformIds) o; + return Objects.equals(this.employeeId, creditPlatformIds.employeeId) && + Objects.equals(this.payrollId, creditPlatformIds.payrollId) && + Objects.equals(this.positionId, creditPlatformIds.positionId); + } + + @Override + public int hashCode() { + return Objects.hash(employeeId, payrollId, positionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditPlatformIds {\n"); + sb.append(" employeeId: ").append(toIndentedString(employeeId)).append("\n"); + sb.append(" payrollId: ").append(toIndentedString(payrollId)).append("\n"); + sb.append(" positionId: ").append(toIndentedString(positionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditRelayCreateRequest.java b/src/main/java/com/plaid/client/model/CreditRelayCreateRequest.java new file mode 100644 index 0000000000..02c7e811b0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditRelayCreateRequest.java @@ -0,0 +1,220 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CreditRelayCreateRequest defines the request schema for `/credit/relay/create` + */ +@ApiModel(description = "CreditRelayCreateRequest defines the request schema for `/credit/relay/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditRelayCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_REPORT_TOKENS = "report_tokens"; + @SerializedName(SERIALIZED_NAME_REPORT_TOKENS) + private List reportTokens = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SECONDARY_CLIENT_ID = "secondary_client_id"; + @SerializedName(SERIALIZED_NAME_SECONDARY_CLIENT_ID) + private String secondaryClientId; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public CreditRelayCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditRelayCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditRelayCreateRequest reportTokens(List reportTokens) { + + this.reportTokens = reportTokens; + return this; + } + + public CreditRelayCreateRequest addReportTokensItem(String reportTokensItem) { + this.reportTokens.add(reportTokensItem); + return this; + } + + /** + * List of report token strings, with at most one token of each report type. Currently only Asset Report token is supported. + * @return reportTokens + **/ + @ApiModelProperty(required = true, value = "List of report token strings, with at most one token of each report type. Currently only Asset Report token is supported.") + + public List getReportTokens() { + return reportTokens; + } + + + public void setReportTokens(List reportTokens) { + this.reportTokens = reportTokens; + } + + + public CreditRelayCreateRequest secondaryClientId(String secondaryClientId) { + + this.secondaryClientId = secondaryClientId; + return this; + } + + /** + * The `secondary_client_id` is the client id of the third party with whom you would like to share the relay token. + * @return secondaryClientId + **/ + @ApiModelProperty(required = true, value = "The `secondary_client_id` is the client id of the third party with whom you would like to share the relay token.") + + public String getSecondaryClientId() { + return secondaryClientId; + } + + + public void setSecondaryClientId(String secondaryClientId) { + this.secondaryClientId = secondaryClientId; + } + + + public CreditRelayCreateRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * URL to which Plaid will send webhooks when the Secondary Client successfully retrieves an Asset Report by calling `/credit/relay/get`. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URL to which Plaid will send webhooks when the Secondary Client successfully retrieves an Asset Report by calling `/credit/relay/get`.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditRelayCreateRequest creditRelayCreateRequest = (CreditRelayCreateRequest) o; + return Objects.equals(this.clientId, creditRelayCreateRequest.clientId) && + Objects.equals(this.secret, creditRelayCreateRequest.secret) && + Objects.equals(this.reportTokens, creditRelayCreateRequest.reportTokens) && + Objects.equals(this.secondaryClientId, creditRelayCreateRequest.secondaryClientId) && + Objects.equals(this.webhook, creditRelayCreateRequest.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, reportTokens, secondaryClientId, webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditRelayCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" reportTokens: ").append(toIndentedString(reportTokens)).append("\n"); + sb.append(" secondaryClientId: ").append(toIndentedString(secondaryClientId)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditRelayCreateResponse.java b/src/main/java/com/plaid/client/model/CreditRelayCreateResponse.java new file mode 100644 index 0000000000..e6e24a8a5b --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditRelayCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditRelayCreateResponse defines the response schema for `/credit/relay/create` + */ +@ApiModel(description = "CreditRelayCreateResponse defines the response schema for `/credit/relay/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditRelayCreateResponse { + public static final String SERIALIZED_NAME_RELAY_TOKEN = "relay_token"; + @SerializedName(SERIALIZED_NAME_RELAY_TOKEN) + private String relayToken; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditRelayCreateResponse relayToken(String relayToken) { + + this.relayToken = relayToken; + return this; + } + + /** + * A token that can be shared with a third party to allow them to access the Asset Report. This token should be stored securely. + * @return relayToken + **/ + @ApiModelProperty(required = true, value = "A token that can be shared with a third party to allow them to access the Asset Report. This token should be stored securely.") + + public String getRelayToken() { + return relayToken; + } + + + public void setRelayToken(String relayToken) { + this.relayToken = relayToken; + } + + + public CreditRelayCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditRelayCreateResponse creditRelayCreateResponse = (CreditRelayCreateResponse) o; + return Objects.equals(this.relayToken, creditRelayCreateResponse.relayToken) && + Objects.equals(this.requestId, creditRelayCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(relayToken, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditRelayCreateResponse {\n"); + sb.append(" relayToken: ").append(toIndentedString(relayToken)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditRelayGetRequest.java b/src/main/java/com/plaid/client/model/CreditRelayGetRequest.java new file mode 100644 index 0000000000..8bbfff1313 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditRelayGetRequest.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ReportType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditRelayGetRequest defines the request schema for `/credit/relay/get` + */ +@ApiModel(description = "CreditRelayGetRequest defines the request schema for `/credit/relay/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditRelayGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_RELAY_TOKEN = "relay_token"; + @SerializedName(SERIALIZED_NAME_RELAY_TOKEN) + private String relayToken; + + public static final String SERIALIZED_NAME_REPORT_TYPE = "report_type"; + @SerializedName(SERIALIZED_NAME_REPORT_TYPE) + private ReportType reportType; + + public static final String SERIALIZED_NAME_INCLUDE_INSIGHTS = "include_insights"; + @SerializedName(SERIALIZED_NAME_INCLUDE_INSIGHTS) + private Boolean includeInsights = false; + + + public CreditRelayGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditRelayGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditRelayGetRequest relayToken(String relayToken) { + + this.relayToken = relayToken; + return this; + } + + /** + * The `relay_token` granting access to the report you would like to get. + * @return relayToken + **/ + @ApiModelProperty(required = true, value = "The `relay_token` granting access to the report you would like to get.") + + public String getRelayToken() { + return relayToken; + } + + + public void setRelayToken(String relayToken) { + this.relayToken = relayToken; + } + + + public CreditRelayGetRequest reportType(ReportType reportType) { + + this.reportType = reportType; + return this; + } + + /** + * Get reportType + * @return reportType + **/ + @ApiModelProperty(required = true, value = "") + + public ReportType getReportType() { + return reportType; + } + + + public void setReportType(ReportType reportType) { + this.reportType = reportType; + } + + + public CreditRelayGetRequest includeInsights(Boolean includeInsights) { + + this.includeInsights = includeInsights; + return this; + } + + /** + * `true` if you would like to retrieve the Asset Report with Insights, `false` otherwise. This field defaults to `false` if omitted. + * @return includeInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "`true` if you would like to retrieve the Asset Report with Insights, `false` otherwise. This field defaults to `false` if omitted.") + + public Boolean getIncludeInsights() { + return includeInsights; + } + + + public void setIncludeInsights(Boolean includeInsights) { + this.includeInsights = includeInsights; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditRelayGetRequest creditRelayGetRequest = (CreditRelayGetRequest) o; + return Objects.equals(this.clientId, creditRelayGetRequest.clientId) && + Objects.equals(this.secret, creditRelayGetRequest.secret) && + Objects.equals(this.relayToken, creditRelayGetRequest.relayToken) && + Objects.equals(this.reportType, creditRelayGetRequest.reportType) && + Objects.equals(this.includeInsights, creditRelayGetRequest.includeInsights); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, relayToken, reportType, includeInsights); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditRelayGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" relayToken: ").append(toIndentedString(relayToken)).append("\n"); + sb.append(" reportType: ").append(toIndentedString(reportType)).append("\n"); + sb.append(" includeInsights: ").append(toIndentedString(includeInsights)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditRelayPDFGetRequest.java b/src/main/java/com/plaid/client/model/CreditRelayPDFGetRequest.java new file mode 100644 index 0000000000..b8261de8ab --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditRelayPDFGetRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ReportType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditRelayPDFGetRequest defines the request schema for `/credit/relay/pdf/get` + */ +@ApiModel(description = "CreditRelayPDFGetRequest defines the request schema for `/credit/relay/pdf/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditRelayPDFGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_RELAY_TOKEN = "relay_token"; + @SerializedName(SERIALIZED_NAME_RELAY_TOKEN) + private String relayToken; + + public static final String SERIALIZED_NAME_REPORT_TYPE = "report_type"; + @SerializedName(SERIALIZED_NAME_REPORT_TYPE) + private ReportType reportType; + + + public CreditRelayPDFGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditRelayPDFGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditRelayPDFGetRequest relayToken(String relayToken) { + + this.relayToken = relayToken; + return this; + } + + /** + * The `relay_token` granting access to the report you would like to get. + * @return relayToken + **/ + @ApiModelProperty(required = true, value = "The `relay_token` granting access to the report you would like to get.") + + public String getRelayToken() { + return relayToken; + } + + + public void setRelayToken(String relayToken) { + this.relayToken = relayToken; + } + + + public CreditRelayPDFGetRequest reportType(ReportType reportType) { + + this.reportType = reportType; + return this; + } + + /** + * Get reportType + * @return reportType + **/ + @ApiModelProperty(required = true, value = "") + + public ReportType getReportType() { + return reportType; + } + + + public void setReportType(ReportType reportType) { + this.reportType = reportType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditRelayPDFGetRequest creditRelayPDFGetRequest = (CreditRelayPDFGetRequest) o; + return Objects.equals(this.clientId, creditRelayPDFGetRequest.clientId) && + Objects.equals(this.secret, creditRelayPDFGetRequest.secret) && + Objects.equals(this.relayToken, creditRelayPDFGetRequest.relayToken) && + Objects.equals(this.reportType, creditRelayPDFGetRequest.reportType); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, relayToken, reportType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditRelayPDFGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" relayToken: ").append(toIndentedString(relayToken)).append("\n"); + sb.append(" reportType: ").append(toIndentedString(reportType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditRelayRefreshRequest.java b/src/main/java/com/plaid/client/model/CreditRelayRefreshRequest.java new file mode 100644 index 0000000000..04f6c607bd --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditRelayRefreshRequest.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ReportType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditRelayRefreshRequest defines the request schema for `/credit/relay/refresh` + */ +@ApiModel(description = "CreditRelayRefreshRequest defines the request schema for `/credit/relay/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditRelayRefreshRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_RELAY_TOKEN = "relay_token"; + @SerializedName(SERIALIZED_NAME_RELAY_TOKEN) + private String relayToken; + + public static final String SERIALIZED_NAME_REPORT_TYPE = "report_type"; + @SerializedName(SERIALIZED_NAME_REPORT_TYPE) + private ReportType reportType; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public CreditRelayRefreshRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditRelayRefreshRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditRelayRefreshRequest relayToken(String relayToken) { + + this.relayToken = relayToken; + return this; + } + + /** + * The `relay_token` granting access to the report you would like to refresh. + * @return relayToken + **/ + @ApiModelProperty(required = true, value = "The `relay_token` granting access to the report you would like to refresh.") + + public String getRelayToken() { + return relayToken; + } + + + public void setRelayToken(String relayToken) { + this.relayToken = relayToken; + } + + + public CreditRelayRefreshRequest reportType(ReportType reportType) { + + this.reportType = reportType; + return this; + } + + /** + * Get reportType + * @return reportType + **/ + @ApiModelProperty(required = true, value = "") + + public ReportType getReportType() { + return reportType; + } + + + public void setReportType(ReportType reportType) { + this.reportType = reportType; + } + + + public CreditRelayRefreshRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The URL registered to receive webhooks when the report of a relay token has been refreshed. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL registered to receive webhooks when the report of a relay token has been refreshed.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditRelayRefreshRequest creditRelayRefreshRequest = (CreditRelayRefreshRequest) o; + return Objects.equals(this.clientId, creditRelayRefreshRequest.clientId) && + Objects.equals(this.secret, creditRelayRefreshRequest.secret) && + Objects.equals(this.relayToken, creditRelayRefreshRequest.relayToken) && + Objects.equals(this.reportType, creditRelayRefreshRequest.reportType) && + Objects.equals(this.webhook, creditRelayRefreshRequest.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, relayToken, reportType, webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditRelayRefreshRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" relayToken: ").append(toIndentedString(relayToken)).append("\n"); + sb.append(" reportType: ").append(toIndentedString(reportType)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditRelayRefreshResponse.java b/src/main/java/com/plaid/client/model/CreditRelayRefreshResponse.java new file mode 100644 index 0000000000..89dbc1c3b8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditRelayRefreshResponse.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditRelayRefreshResponse defines the response schema for `/credit/relay/refresh` + */ +@ApiModel(description = "CreditRelayRefreshResponse defines the response schema for `/credit/relay/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditRelayRefreshResponse { + public static final String SERIALIZED_NAME_RELAY_TOKEN = "relay_token"; + @SerializedName(SERIALIZED_NAME_RELAY_TOKEN) + private String relayToken; + + public static final String SERIALIZED_NAME_ASSET_REPORT_ID = "asset_report_id"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_ID) + private String assetReportId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditRelayRefreshResponse relayToken(String relayToken) { + + this.relayToken = relayToken; + return this; + } + + /** + * Get relayToken + * @return relayToken + **/ + @ApiModelProperty(required = true, value = "") + + public String getRelayToken() { + return relayToken; + } + + + public void setRelayToken(String relayToken) { + this.relayToken = relayToken; + } + + + public CreditRelayRefreshResponse assetReportId(String assetReportId) { + + this.assetReportId = assetReportId; + return this; + } + + /** + * A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive. + * @return assetReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive.") + + public String getAssetReportId() { + return assetReportId; + } + + + public void setAssetReportId(String assetReportId) { + this.assetReportId = assetReportId; + } + + + public CreditRelayRefreshResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditRelayRefreshResponse creditRelayRefreshResponse = (CreditRelayRefreshResponse) o; + return Objects.equals(this.relayToken, creditRelayRefreshResponse.relayToken) && + Objects.equals(this.assetReportId, creditRelayRefreshResponse.assetReportId) && + Objects.equals(this.requestId, creditRelayRefreshResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(relayToken, assetReportId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditRelayRefreshResponse {\n"); + sb.append(" relayToken: ").append(toIndentedString(relayToken)).append("\n"); + sb.append(" assetReportId: ").append(toIndentedString(assetReportId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditRelayRemoveRequest.java b/src/main/java/com/plaid/client/model/CreditRelayRemoveRequest.java new file mode 100644 index 0000000000..b0d19e87c4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditRelayRemoveRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditRelayRemoveRequest defines the request schema for `/credit/relay/remove` + */ +@ApiModel(description = "CreditRelayRemoveRequest defines the request schema for `/credit/relay/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditRelayRemoveRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_RELAY_TOKEN = "relay_token"; + @SerializedName(SERIALIZED_NAME_RELAY_TOKEN) + private String relayToken; + + + public CreditRelayRemoveRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditRelayRemoveRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditRelayRemoveRequest relayToken(String relayToken) { + + this.relayToken = relayToken; + return this; + } + + /** + * The `relay_token` you would like to revoke. + * @return relayToken + **/ + @ApiModelProperty(required = true, value = "The `relay_token` you would like to revoke.") + + public String getRelayToken() { + return relayToken; + } + + + public void setRelayToken(String relayToken) { + this.relayToken = relayToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditRelayRemoveRequest creditRelayRemoveRequest = (CreditRelayRemoveRequest) o; + return Objects.equals(this.clientId, creditRelayRemoveRequest.clientId) && + Objects.equals(this.secret, creditRelayRemoveRequest.secret) && + Objects.equals(this.relayToken, creditRelayRemoveRequest.relayToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, relayToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditRelayRemoveRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" relayToken: ").append(toIndentedString(relayToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditRelayRemoveResponse.java b/src/main/java/com/plaid/client/model/CreditRelayRemoveResponse.java new file mode 100644 index 0000000000..c2bb246edf --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditRelayRemoveResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditRelayRemoveResponse defines the response schema for `/credit/relay/remove` + */ +@ApiModel(description = "CreditRelayRemoveResponse defines the response schema for `/credit/relay/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditRelayRemoveResponse { + public static final String SERIALIZED_NAME_REMOVED = "removed"; + @SerializedName(SERIALIZED_NAME_REMOVED) + private Boolean removed; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditRelayRemoveResponse removed(Boolean removed) { + + this.removed = removed; + return this; + } + + /** + * `true` if the relay token was successfully removed. + * @return removed + **/ + @ApiModelProperty(required = true, value = "`true` if the relay token was successfully removed.") + + public Boolean getRemoved() { + return removed; + } + + + public void setRemoved(Boolean removed) { + this.removed = removed; + } + + + public CreditRelayRemoveResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditRelayRemoveResponse creditRelayRemoveResponse = (CreditRelayRemoveResponse) o; + return Objects.equals(this.removed, creditRelayRemoveResponse.removed) && + Objects.equals(this.requestId, creditRelayRemoveResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(removed, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditRelayRemoveResponse {\n"); + sb.append(" removed: ").append(toIndentedString(removed)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditSession.java b/src/main/java/com/plaid/client/model/CreditSession.java new file mode 100644 index 0000000000..51f303d9ea --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditSession.java @@ -0,0 +1,199 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditSessionError; +import com.plaid.client.model.CreditSessionResults; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Metadata and results for a Link session + */ +@ApiModel(description = "Metadata and results for a Link session") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditSession { + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_SESSION_START_TIME = "session_start_time"; + @SerializedName(SERIALIZED_NAME_SESSION_START_TIME) + private OffsetDateTime sessionStartTime; + + public static final String SERIALIZED_NAME_RESULTS = "results"; + @SerializedName(SERIALIZED_NAME_RESULTS) + private CreditSessionResults results; + + public static final String SERIALIZED_NAME_ERRORS = "errors"; + @SerializedName(SERIALIZED_NAME_ERRORS) + private List errors = null; + + + public CreditSession linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * The unique identifier associated with the Link session. This identifier matches the `link_session_id` returned in the onSuccess/onExit callbacks. + * @return linkSessionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unique identifier associated with the Link session. This identifier matches the `link_session_id` returned in the onSuccess/onExit callbacks.") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public CreditSession sessionStartTime(OffsetDateTime sessionStartTime) { + + this.sessionStartTime = sessionStartTime; + return this; + } + + /** + * The time when the Link session started + * @return sessionStartTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The time when the Link session started") + + public OffsetDateTime getSessionStartTime() { + return sessionStartTime; + } + + + public void setSessionStartTime(OffsetDateTime sessionStartTime) { + this.sessionStartTime = sessionStartTime; + } + + + public CreditSession results(CreditSessionResults results) { + + this.results = results; + return this; + } + + /** + * Get results + * @return results + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditSessionResults getResults() { + return results; + } + + + public void setResults(CreditSessionResults results) { + this.results = results; + } + + + public CreditSession errors(List errors) { + + this.errors = errors; + return this; + } + + public CreditSession addErrorsItem(CreditSessionError errorsItem) { + if (this.errors == null) { + this.errors = new ArrayList<>(); + } + this.errors.add(errorsItem); + return this; + } + + /** + * The set of errors that occurred during the Link session. + * @return errors + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The set of errors that occurred during the Link session.") + + public List getErrors() { + return errors; + } + + + public void setErrors(List errors) { + this.errors = errors; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditSession creditSession = (CreditSession) o; + return Objects.equals(this.linkSessionId, creditSession.linkSessionId) && + Objects.equals(this.sessionStartTime, creditSession.sessionStartTime) && + Objects.equals(this.results, creditSession.results) && + Objects.equals(this.errors, creditSession.errors); + } + + @Override + public int hashCode() { + return Objects.hash(linkSessionId, sessionStartTime, results, errors); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditSession {\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" sessionStartTime: ").append(toIndentedString(sessionStartTime)).append("\n"); + sb.append(" results: ").append(toIndentedString(results)).append("\n"); + sb.append(" errors: ").append(toIndentedString(errors)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditSessionBankEmploymentResult.java b/src/main/java/com/plaid/client/model/CreditSessionBankEmploymentResult.java new file mode 100644 index 0000000000..6b3c412c77 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditSessionBankEmploymentResult.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditSessionBankEmploymentStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The details of a bank employment verification in Link. + */ +@ApiModel(description = "The details of a bank employment verification in Link.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditSessionBankEmploymentResult { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private CreditSessionBankEmploymentStatus status; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + + public CreditSessionBankEmploymentResult status(CreditSessionBankEmploymentStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditSessionBankEmploymentStatus getStatus() { + return status; + } + + + public void setStatus(CreditSessionBankEmploymentStatus status) { + this.status = status; + } + + + public CreditSessionBankEmploymentResult itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive. + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CreditSessionBankEmploymentResult institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The Plaid Institution ID associated with the Item. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid Institution ID associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditSessionBankEmploymentResult creditSessionBankEmploymentResult = (CreditSessionBankEmploymentResult) o; + return Objects.equals(this.status, creditSessionBankEmploymentResult.status) && + Objects.equals(this.itemId, creditSessionBankEmploymentResult.itemId) && + Objects.equals(this.institutionId, creditSessionBankEmploymentResult.institutionId); + } + + @Override + public int hashCode() { + return Objects.hash(status, itemId, institutionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditSessionBankEmploymentResult {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditSessionBankEmploymentStatus.java b/src/main/java/com/plaid/client/model/CreditSessionBankEmploymentStatus.java new file mode 100644 index 0000000000..2faa4bc45d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditSessionBankEmploymentStatus.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Status of the Bank Employment Link session. `APPROVED`: User has approved and verified their employment. `NO_EMPLOYERS_FOUND`: We attempted, but were unable to find any employment in the connected account. `EMPLOYER_NOT_LISTED`: The user explicitly indicated that they did not see their current or previous employer in the list of employer names found. `STARTED`: The user began the bank employment portion of the link flow. `INTERNAL_ERROR`: The user encountered an internal error. + */ +@JsonAdapter(CreditSessionBankEmploymentStatus.Adapter.class) +public enum CreditSessionBankEmploymentStatus { + + APPROVED("APPROVED"), + + NO_EMPLOYERS_FOUND("NO_EMPLOYERS_FOUND"), + + EMPLOYER_NOT_LISTED("EMPLOYER_NOT_LISTED"), + + STARTED("STARTED"), + + INTERNAL_ERROR("INTERNAL_ERROR"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CreditSessionBankEmploymentStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CreditSessionBankEmploymentStatus fromValue(String value) { + for (CreditSessionBankEmploymentStatus b : CreditSessionBankEmploymentStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CreditSessionBankEmploymentStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CreditSessionBankEmploymentStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CreditSessionBankEmploymentStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CreditSessionBankEmploymentStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CreditSessionBankIncomeResult.java b/src/main/java/com/plaid/client/model/CreditSessionBankIncomeResult.java new file mode 100644 index 0000000000..ffc53c28e9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditSessionBankIncomeResult.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditSessionBankIncomeStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The details of a bank income verification in Link + */ +@ApiModel(description = "The details of a bank income verification in Link") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditSessionBankIncomeResult { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private CreditSessionBankIncomeStatus status; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + + public CreditSessionBankIncomeResult status(CreditSessionBankIncomeStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditSessionBankIncomeStatus getStatus() { + return status; + } + + + public void setStatus(CreditSessionBankIncomeStatus status) { + this.status = status; + } + + + public CreditSessionBankIncomeResult itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive. + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CreditSessionBankIncomeResult institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The Plaid Institution ID associated with the Item. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid Institution ID associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditSessionBankIncomeResult creditSessionBankIncomeResult = (CreditSessionBankIncomeResult) o; + return Objects.equals(this.status, creditSessionBankIncomeResult.status) && + Objects.equals(this.itemId, creditSessionBankIncomeResult.itemId) && + Objects.equals(this.institutionId, creditSessionBankIncomeResult.institutionId); + } + + @Override + public int hashCode() { + return Objects.hash(status, itemId, institutionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditSessionBankIncomeResult {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditSessionBankIncomeStatus.java b/src/main/java/com/plaid/client/model/CreditSessionBankIncomeStatus.java new file mode 100644 index 0000000000..770539fa02 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditSessionBankIncomeStatus.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Status of the Bank Income Link session. `APPROVED`: User has approved and verified their income `NO_DEPOSITS_FOUND`: We attempted, but were unable to find any income in the connected account. `USER_REPORTED_NO_INCOME`: The user explicitly indicated that they don't receive income in the connected account. `STARTED`: The user began the bank income portion of the link flow. `INTERNAL_ERROR`: The user encountered an internal error. + */ +@JsonAdapter(CreditSessionBankIncomeStatus.Adapter.class) +public enum CreditSessionBankIncomeStatus { + + APPROVED("APPROVED"), + + NO_DEPOSITS_FOUND("NO_DEPOSITS_FOUND"), + + USER_REPORTED_NO_INCOME("USER_REPORTED_NO_INCOME"), + + STARTED("STARTED"), + + INTERNAL_ERROR("INTERNAL_ERROR"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + CreditSessionBankIncomeStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CreditSessionBankIncomeStatus fromValue(String value) { + for (CreditSessionBankIncomeStatus b : CreditSessionBankIncomeStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return CreditSessionBankIncomeStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final CreditSessionBankIncomeStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CreditSessionBankIncomeStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CreditSessionBankIncomeStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/CreditSessionDocumentIncomeResult.java b/src/main/java/com/plaid/client/model/CreditSessionDocumentIncomeResult.java new file mode 100644 index 0000000000..c9e7e02f4e --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditSessionDocumentIncomeResult.java @@ -0,0 +1,210 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The details of a document income verification in Link + */ +@ApiModel(description = "The details of a document income verification in Link") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditSessionDocumentIncomeResult { + public static final String SERIALIZED_NAME_NUM_PAYSTUBS_UPLOADED = "num_paystubs_uploaded"; + @SerializedName(SERIALIZED_NAME_NUM_PAYSTUBS_UPLOADED) + private Integer numPaystubsUploaded; + + public static final String SERIALIZED_NAME_NUM_W2S_UPLOADED = "num_w2s_uploaded"; + @SerializedName(SERIALIZED_NAME_NUM_W2S_UPLOADED) + private Integer numW2sUploaded; + + public static final String SERIALIZED_NAME_NUM_BANK_STATEMENTS_UPLOADED = "num_bank_statements_uploaded"; + @SerializedName(SERIALIZED_NAME_NUM_BANK_STATEMENTS_UPLOADED) + private Integer numBankStatementsUploaded; + + public static final String SERIALIZED_NAME_NUM1099S_UPLOADED = "num_1099s_uploaded"; + @SerializedName(SERIALIZED_NAME_NUM1099S_UPLOADED) + private Integer num1099sUploaded; + + public static final String SERIALIZED_NAME_NUM_I20S_UPLOADED = "num_i20s_uploaded"; + @SerializedName(SERIALIZED_NAME_NUM_I20S_UPLOADED) + private Integer numI20sUploaded; + + + public CreditSessionDocumentIncomeResult numPaystubsUploaded(Integer numPaystubsUploaded) { + + this.numPaystubsUploaded = numPaystubsUploaded; + return this; + } + + /** + * The number of paystubs uploaded by the user. + * @return numPaystubsUploaded + **/ + @ApiModelProperty(required = true, value = "The number of paystubs uploaded by the user.") + + public Integer getNumPaystubsUploaded() { + return numPaystubsUploaded; + } + + + public void setNumPaystubsUploaded(Integer numPaystubsUploaded) { + this.numPaystubsUploaded = numPaystubsUploaded; + } + + + public CreditSessionDocumentIncomeResult numW2sUploaded(Integer numW2sUploaded) { + + this.numW2sUploaded = numW2sUploaded; + return this; + } + + /** + * The number of w2s uploaded by the user. + * @return numW2sUploaded + **/ + @ApiModelProperty(required = true, value = "The number of w2s uploaded by the user.") + + public Integer getNumW2sUploaded() { + return numW2sUploaded; + } + + + public void setNumW2sUploaded(Integer numW2sUploaded) { + this.numW2sUploaded = numW2sUploaded; + } + + + public CreditSessionDocumentIncomeResult numBankStatementsUploaded(Integer numBankStatementsUploaded) { + + this.numBankStatementsUploaded = numBankStatementsUploaded; + return this; + } + + /** + * The number of bank statements uploaded by the user. + * @return numBankStatementsUploaded + **/ + @ApiModelProperty(required = true, value = "The number of bank statements uploaded by the user.") + + public Integer getNumBankStatementsUploaded() { + return numBankStatementsUploaded; + } + + + public void setNumBankStatementsUploaded(Integer numBankStatementsUploaded) { + this.numBankStatementsUploaded = numBankStatementsUploaded; + } + + + public CreditSessionDocumentIncomeResult num1099sUploaded(Integer num1099sUploaded) { + + this.num1099sUploaded = num1099sUploaded; + return this; + } + + /** + * The number of 1099s uploaded by the user + * @return num1099sUploaded + **/ + @ApiModelProperty(required = true, value = "The number of 1099s uploaded by the user") + + public Integer getNum1099sUploaded() { + return num1099sUploaded; + } + + + public void setNum1099sUploaded(Integer num1099sUploaded) { + this.num1099sUploaded = num1099sUploaded; + } + + + public CreditSessionDocumentIncomeResult numI20sUploaded(Integer numI20sUploaded) { + + this.numI20sUploaded = numI20sUploaded; + return this; + } + + /** + * The number of I-20s uploaded by the user + * @return numI20sUploaded + **/ + @ApiModelProperty(required = true, value = "The number of I-20s uploaded by the user") + + public Integer getNumI20sUploaded() { + return numI20sUploaded; + } + + + public void setNumI20sUploaded(Integer numI20sUploaded) { + this.numI20sUploaded = numI20sUploaded; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditSessionDocumentIncomeResult creditSessionDocumentIncomeResult = (CreditSessionDocumentIncomeResult) o; + return Objects.equals(this.numPaystubsUploaded, creditSessionDocumentIncomeResult.numPaystubsUploaded) && + Objects.equals(this.numW2sUploaded, creditSessionDocumentIncomeResult.numW2sUploaded) && + Objects.equals(this.numBankStatementsUploaded, creditSessionDocumentIncomeResult.numBankStatementsUploaded) && + Objects.equals(this.num1099sUploaded, creditSessionDocumentIncomeResult.num1099sUploaded) && + Objects.equals(this.numI20sUploaded, creditSessionDocumentIncomeResult.numI20sUploaded); + } + + @Override + public int hashCode() { + return Objects.hash(numPaystubsUploaded, numW2sUploaded, numBankStatementsUploaded, num1099sUploaded, numI20sUploaded); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditSessionDocumentIncomeResult {\n"); + sb.append(" numPaystubsUploaded: ").append(toIndentedString(numPaystubsUploaded)).append("\n"); + sb.append(" numW2sUploaded: ").append(toIndentedString(numW2sUploaded)).append("\n"); + sb.append(" numBankStatementsUploaded: ").append(toIndentedString(numBankStatementsUploaded)).append("\n"); + sb.append(" num1099sUploaded: ").append(toIndentedString(num1099sUploaded)).append("\n"); + sb.append(" numI20sUploaded: ").append(toIndentedString(numI20sUploaded)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditSessionError.java b/src/main/java/com/plaid/client/model/CreditSessionError.java new file mode 100644 index 0000000000..ebfe52e305 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditSessionError.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The details of a Link error. + */ +@ApiModel(description = "The details of a Link error.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditSessionError { + public static final String SERIALIZED_NAME_ERROR_TYPE = "error_type"; + @SerializedName(SERIALIZED_NAME_ERROR_TYPE) + private String errorType; + + public static final String SERIALIZED_NAME_ERROR_CODE = "error_code"; + @SerializedName(SERIALIZED_NAME_ERROR_CODE) + private String errorCode; + + public static final String SERIALIZED_NAME_ERROR_MESSAGE = "error_message"; + @SerializedName(SERIALIZED_NAME_ERROR_MESSAGE) + private String errorMessage; + + public static final String SERIALIZED_NAME_DISPLAY_MESSAGE = "display_message"; + @SerializedName(SERIALIZED_NAME_DISPLAY_MESSAGE) + private String displayMessage; + + + public CreditSessionError errorType(String errorType) { + + this.errorType = errorType; + return this; + } + + /** + * A broad categorization of the error. + * @return errorType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A broad categorization of the error.") + + public String getErrorType() { + return errorType; + } + + + public void setErrorType(String errorType) { + this.errorType = errorType; + } + + + public CreditSessionError errorCode(String errorCode) { + + this.errorCode = errorCode; + return this; + } + + /** + * The particular error code. + * @return errorCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The particular error code.") + + public String getErrorCode() { + return errorCode; + } + + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + + public CreditSessionError errorMessage(String errorMessage) { + + this.errorMessage = errorMessage; + return this; + } + + /** + * A developer-friendly representation of the error code. + * @return errorMessage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A developer-friendly representation of the error code.") + + public String getErrorMessage() { + return errorMessage; + } + + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + + + public CreditSessionError displayMessage(String displayMessage) { + + this.displayMessage = displayMessage; + return this; + } + + /** + * A user-friendly representation of the error code. `null` if the error is not related to user action. + * @return displayMessage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A user-friendly representation of the error code. `null` if the error is not related to user action.") + + public String getDisplayMessage() { + return displayMessage; + } + + + public void setDisplayMessage(String displayMessage) { + this.displayMessage = displayMessage; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditSessionError creditSessionError = (CreditSessionError) o; + return Objects.equals(this.errorType, creditSessionError.errorType) && + Objects.equals(this.errorCode, creditSessionError.errorCode) && + Objects.equals(this.errorMessage, creditSessionError.errorMessage) && + Objects.equals(this.displayMessage, creditSessionError.displayMessage); + } + + @Override + public int hashCode() { + return Objects.hash(errorType, errorCode, errorMessage, displayMessage); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditSessionError {\n"); + sb.append(" errorType: ").append(toIndentedString(errorType)).append("\n"); + sb.append(" errorCode: ").append(toIndentedString(errorCode)).append("\n"); + sb.append(" errorMessage: ").append(toIndentedString(errorMessage)).append("\n"); + sb.append(" displayMessage: ").append(toIndentedString(displayMessage)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditSessionItemAddResult.java b/src/main/java/com/plaid/client/model/CreditSessionItemAddResult.java new file mode 100644 index 0000000000..ff6b51852a --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditSessionItemAddResult.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The details of an Item add in Link. + */ +@ApiModel(description = "The details of an Item add in Link.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditSessionItemAddResult { + public static final String SERIALIZED_NAME_PUBLIC_TOKEN = "public_token"; + @SerializedName(SERIALIZED_NAME_PUBLIC_TOKEN) + private String publicToken; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + + public CreditSessionItemAddResult publicToken(String publicToken) { + + this.publicToken = publicToken; + return this; + } + + /** + * Returned once a user has successfully linked their Item. + * @return publicToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Returned once a user has successfully linked their Item.") + + public String getPublicToken() { + return publicToken; + } + + + public void setPublicToken(String publicToken) { + this.publicToken = publicToken; + } + + + public CreditSessionItemAddResult itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive. + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public CreditSessionItemAddResult institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The Plaid Institution ID associated with the Item. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid Institution ID associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditSessionItemAddResult creditSessionItemAddResult = (CreditSessionItemAddResult) o; + return Objects.equals(this.publicToken, creditSessionItemAddResult.publicToken) && + Objects.equals(this.itemId, creditSessionItemAddResult.itemId) && + Objects.equals(this.institutionId, creditSessionItemAddResult.institutionId); + } + + @Override + public int hashCode() { + return Objects.hash(publicToken, itemId, institutionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditSessionItemAddResult {\n"); + sb.append(" publicToken: ").append(toIndentedString(publicToken)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditSessionPayrollIncomeResult.java b/src/main/java/com/plaid/client/model/CreditSessionPayrollIncomeResult.java new file mode 100644 index 0000000000..ae1be35c4b --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditSessionPayrollIncomeResult.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The details of a digital payroll income verification in Link + */ +@ApiModel(description = "The details of a digital payroll income verification in Link") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditSessionPayrollIncomeResult { + public static final String SERIALIZED_NAME_NUM_PAYSTUBS_RETRIEVED = "num_paystubs_retrieved"; + @SerializedName(SERIALIZED_NAME_NUM_PAYSTUBS_RETRIEVED) + private Integer numPaystubsRetrieved; + + public static final String SERIALIZED_NAME_NUM_W2S_RETRIEVED = "num_w2s_retrieved"; + @SerializedName(SERIALIZED_NAME_NUM_W2S_RETRIEVED) + private Integer numW2sRetrieved; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + + public CreditSessionPayrollIncomeResult numPaystubsRetrieved(Integer numPaystubsRetrieved) { + + this.numPaystubsRetrieved = numPaystubsRetrieved; + return this; + } + + /** + * The number of paystubs retrieved from a payroll provider. + * @return numPaystubsRetrieved + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of paystubs retrieved from a payroll provider.") + + public Integer getNumPaystubsRetrieved() { + return numPaystubsRetrieved; + } + + + public void setNumPaystubsRetrieved(Integer numPaystubsRetrieved) { + this.numPaystubsRetrieved = numPaystubsRetrieved; + } + + + public CreditSessionPayrollIncomeResult numW2sRetrieved(Integer numW2sRetrieved) { + + this.numW2sRetrieved = numW2sRetrieved; + return this; + } + + /** + * The number of w2s retrieved from a payroll provider. + * @return numW2sRetrieved + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of w2s retrieved from a payroll provider.") + + public Integer getNumW2sRetrieved() { + return numW2sRetrieved; + } + + + public void setNumW2sRetrieved(Integer numW2sRetrieved) { + this.numW2sRetrieved = numW2sRetrieved; + } + + + public CreditSessionPayrollIncomeResult institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The Plaid Institution ID associated with the Item. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid Institution ID associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public CreditSessionPayrollIncomeResult institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The Institution Name associated with the Item. + * @return institutionName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Institution Name associated with the Item.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditSessionPayrollIncomeResult creditSessionPayrollIncomeResult = (CreditSessionPayrollIncomeResult) o; + return Objects.equals(this.numPaystubsRetrieved, creditSessionPayrollIncomeResult.numPaystubsRetrieved) && + Objects.equals(this.numW2sRetrieved, creditSessionPayrollIncomeResult.numW2sRetrieved) && + Objects.equals(this.institutionId, creditSessionPayrollIncomeResult.institutionId) && + Objects.equals(this.institutionName, creditSessionPayrollIncomeResult.institutionName); + } + + @Override + public int hashCode() { + return Objects.hash(numPaystubsRetrieved, numW2sRetrieved, institutionId, institutionName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditSessionPayrollIncomeResult {\n"); + sb.append(" numPaystubsRetrieved: ").append(toIndentedString(numPaystubsRetrieved)).append("\n"); + sb.append(" numW2sRetrieved: ").append(toIndentedString(numW2sRetrieved)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditSessionResults.java b/src/main/java/com/plaid/client/model/CreditSessionResults.java new file mode 100644 index 0000000000..09e7e34465 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditSessionResults.java @@ -0,0 +1,254 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditSessionBankEmploymentResult; +import com.plaid.client.model.CreditSessionBankIncomeResult; +import com.plaid.client.model.CreditSessionDocumentIncomeResult; +import com.plaid.client.model.CreditSessionItemAddResult; +import com.plaid.client.model.CreditSessionPayrollIncomeResult; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The set of results for a Link session. + */ +@ApiModel(description = "The set of results for a Link session.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditSessionResults { + public static final String SERIALIZED_NAME_ITEM_ADD_RESULTS = "item_add_results"; + @SerializedName(SERIALIZED_NAME_ITEM_ADD_RESULTS) + private List itemAddResults = null; + + public static final String SERIALIZED_NAME_BANK_INCOME_RESULTS = "bank_income_results"; + @SerializedName(SERIALIZED_NAME_BANK_INCOME_RESULTS) + private List bankIncomeResults = null; + + public static final String SERIALIZED_NAME_BANK_EMPLOYMENT_RESULTS = "bank_employment_results"; + @SerializedName(SERIALIZED_NAME_BANK_EMPLOYMENT_RESULTS) + private List bankEmploymentResults = null; + + public static final String SERIALIZED_NAME_PAYROLL_INCOME_RESULTS = "payroll_income_results"; + @SerializedName(SERIALIZED_NAME_PAYROLL_INCOME_RESULTS) + private List payrollIncomeResults = null; + + public static final String SERIALIZED_NAME_DOCUMENT_INCOME_RESULTS = "document_income_results"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_INCOME_RESULTS) + private CreditSessionDocumentIncomeResult documentIncomeResults; + + + public CreditSessionResults itemAddResults(List itemAddResults) { + + this.itemAddResults = itemAddResults; + return this; + } + + public CreditSessionResults addItemAddResultsItem(CreditSessionItemAddResult itemAddResultsItem) { + if (this.itemAddResults == null) { + this.itemAddResults = new ArrayList<>(); + } + this.itemAddResults.add(itemAddResultsItem); + return this; + } + + /** + * The set of Item adds for the Link session. + * @return itemAddResults + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The set of Item adds for the Link session.") + + public List getItemAddResults() { + return itemAddResults; + } + + + public void setItemAddResults(List itemAddResults) { + this.itemAddResults = itemAddResults; + } + + + public CreditSessionResults bankIncomeResults(List bankIncomeResults) { + + this.bankIncomeResults = bankIncomeResults; + return this; + } + + public CreditSessionResults addBankIncomeResultsItem(CreditSessionBankIncomeResult bankIncomeResultsItem) { + if (this.bankIncomeResults == null) { + this.bankIncomeResults = new ArrayList<>(); + } + this.bankIncomeResults.add(bankIncomeResultsItem); + return this; + } + + /** + * The set of bank income verifications for the Link session. + * @return bankIncomeResults + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The set of bank income verifications for the Link session.") + + public List getBankIncomeResults() { + return bankIncomeResults; + } + + + public void setBankIncomeResults(List bankIncomeResults) { + this.bankIncomeResults = bankIncomeResults; + } + + + public CreditSessionResults bankEmploymentResults(List bankEmploymentResults) { + + this.bankEmploymentResults = bankEmploymentResults; + return this; + } + + public CreditSessionResults addBankEmploymentResultsItem(CreditSessionBankEmploymentResult bankEmploymentResultsItem) { + if (this.bankEmploymentResults == null) { + this.bankEmploymentResults = new ArrayList<>(); + } + this.bankEmploymentResults.add(bankEmploymentResultsItem); + return this; + } + + /** + * The set of bank employment verifications for the Link session. + * @return bankEmploymentResults + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The set of bank employment verifications for the Link session.") + + public List getBankEmploymentResults() { + return bankEmploymentResults; + } + + + public void setBankEmploymentResults(List bankEmploymentResults) { + this.bankEmploymentResults = bankEmploymentResults; + } + + + public CreditSessionResults payrollIncomeResults(List payrollIncomeResults) { + + this.payrollIncomeResults = payrollIncomeResults; + return this; + } + + public CreditSessionResults addPayrollIncomeResultsItem(CreditSessionPayrollIncomeResult payrollIncomeResultsItem) { + if (this.payrollIncomeResults == null) { + this.payrollIncomeResults = new ArrayList<>(); + } + this.payrollIncomeResults.add(payrollIncomeResultsItem); + return this; + } + + /** + * The set of payroll income verifications for the Link session. + * @return payrollIncomeResults + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The set of payroll income verifications for the Link session.") + + public List getPayrollIncomeResults() { + return payrollIncomeResults; + } + + + public void setPayrollIncomeResults(List payrollIncomeResults) { + this.payrollIncomeResults = payrollIncomeResults; + } + + + public CreditSessionResults documentIncomeResults(CreditSessionDocumentIncomeResult documentIncomeResults) { + + this.documentIncomeResults = documentIncomeResults; + return this; + } + + /** + * Get documentIncomeResults + * @return documentIncomeResults + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditSessionDocumentIncomeResult getDocumentIncomeResults() { + return documentIncomeResults; + } + + + public void setDocumentIncomeResults(CreditSessionDocumentIncomeResult documentIncomeResults) { + this.documentIncomeResults = documentIncomeResults; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditSessionResults creditSessionResults = (CreditSessionResults) o; + return Objects.equals(this.itemAddResults, creditSessionResults.itemAddResults) && + Objects.equals(this.bankIncomeResults, creditSessionResults.bankIncomeResults) && + Objects.equals(this.bankEmploymentResults, creditSessionResults.bankEmploymentResults) && + Objects.equals(this.payrollIncomeResults, creditSessionResults.payrollIncomeResults) && + Objects.equals(this.documentIncomeResults, creditSessionResults.documentIncomeResults); + } + + @Override + public int hashCode() { + return Objects.hash(itemAddResults, bankIncomeResults, bankEmploymentResults, payrollIncomeResults, documentIncomeResults); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditSessionResults {\n"); + sb.append(" itemAddResults: ").append(toIndentedString(itemAddResults)).append("\n"); + sb.append(" bankIncomeResults: ").append(toIndentedString(bankIncomeResults)).append("\n"); + sb.append(" bankEmploymentResults: ").append(toIndentedString(bankEmploymentResults)).append("\n"); + sb.append(" payrollIncomeResults: ").append(toIndentedString(payrollIncomeResults)).append("\n"); + sb.append(" documentIncomeResults: ").append(toIndentedString(documentIncomeResults)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditSessionsGetRequest.java b/src/main/java/com/plaid/client/model/CreditSessionsGetRequest.java new file mode 100644 index 0000000000..7df5a5f71a --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditSessionsGetRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * CreditSessionsGetRequest defines the request schema for `/credit/sessions/get` + */ +@ApiModel(description = "CreditSessionsGetRequest defines the request schema for `/credit/sessions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditSessionsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public CreditSessionsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public CreditSessionsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public CreditSessionsGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @ApiModelProperty(required = true, value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public CreditSessionsGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditSessionsGetRequest creditSessionsGetRequest = (CreditSessionsGetRequest) o; + return Objects.equals(this.clientId, creditSessionsGetRequest.clientId) && + Objects.equals(this.secret, creditSessionsGetRequest.secret) && + Objects.equals(this.userToken, creditSessionsGetRequest.userToken) && + Objects.equals(this.userId, creditSessionsGetRequest.userId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditSessionsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditSessionsGetResponse.java b/src/main/java/com/plaid/client/model/CreditSessionsGetResponse.java new file mode 100644 index 0000000000..0da0f8796c --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditSessionsGetResponse.java @@ -0,0 +1,138 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditSession; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CreditSessionsGetResponse defines the response schema for `/credit/sessions/get` + */ +@ApiModel(description = "CreditSessionsGetResponse defines the response schema for `/credit/sessions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditSessionsGetResponse { + public static final String SERIALIZED_NAME_SESSIONS = "sessions"; + @SerializedName(SERIALIZED_NAME_SESSIONS) + private List sessions = null; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public CreditSessionsGetResponse sessions(List sessions) { + + this.sessions = sessions; + return this; + } + + public CreditSessionsGetResponse addSessionsItem(CreditSession sessionsItem) { + if (this.sessions == null) { + this.sessions = new ArrayList<>(); + } + this.sessions.add(sessionsItem); + return this; + } + + /** + * A list of Link sessions for the user. Sessions will be sorted in reverse chronological order. + * @return sessions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of Link sessions for the user. Sessions will be sorted in reverse chronological order.") + + public List getSessions() { + return sessions; + } + + + public void setSessions(List sessions) { + this.sessions = sessions; + } + + + public CreditSessionsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditSessionsGetResponse creditSessionsGetResponse = (CreditSessionsGetResponse) o; + return Objects.equals(this.sessions, creditSessionsGetResponse.sessions) && + Objects.equals(this.requestId, creditSessionsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(sessions, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditSessionsGetResponse {\n"); + sb.append(" sessions: ").append(toIndentedString(sessions)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CreditW2.java b/src/main/java/com/plaid/client/model/CreditW2.java new file mode 100644 index 0000000000..e1a59a1d12 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CreditW2.java @@ -0,0 +1,748 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditDocumentMetadata; +import com.plaid.client.model.CreditPayStubEmployee; +import com.plaid.client.model.CreditPayStubEmployer; +import com.plaid.client.model.W2Box12; +import com.plaid.client.model.W2StateAndLocalWages; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * W2 is an object that represents income data taken from a W2 tax document. + */ +@ApiModel(description = "W2 is an object that represents income data taken from a W2 tax document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CreditW2 { + public static final String SERIALIZED_NAME_DOCUMENT_METADATA = "document_metadata"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_METADATA) + private CreditDocumentMetadata documentMetadata; + + public static final String SERIALIZED_NAME_DOCUMENT_ID = "document_id"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_ID) + private String documentId; + + public static final String SERIALIZED_NAME_EMPLOYER = "employer"; + @SerializedName(SERIALIZED_NAME_EMPLOYER) + private CreditPayStubEmployer employer; + + public static final String SERIALIZED_NAME_EMPLOYEE = "employee"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE) + private CreditPayStubEmployee employee; + + public static final String SERIALIZED_NAME_TAX_YEAR = "tax_year"; + @SerializedName(SERIALIZED_NAME_TAX_YEAR) + private String taxYear; + + public static final String SERIALIZED_NAME_EMPLOYER_ID_NUMBER = "employer_id_number"; + @SerializedName(SERIALIZED_NAME_EMPLOYER_ID_NUMBER) + private String employerIdNumber; + + public static final String SERIALIZED_NAME_WAGES_TIPS_OTHER_COMP = "wages_tips_other_comp"; + @SerializedName(SERIALIZED_NAME_WAGES_TIPS_OTHER_COMP) + private String wagesTipsOtherComp; + + public static final String SERIALIZED_NAME_FEDERAL_INCOME_TAX_WITHHELD = "federal_income_tax_withheld"; + @SerializedName(SERIALIZED_NAME_FEDERAL_INCOME_TAX_WITHHELD) + private String federalIncomeTaxWithheld; + + public static final String SERIALIZED_NAME_SOCIAL_SECURITY_WAGES = "social_security_wages"; + @SerializedName(SERIALIZED_NAME_SOCIAL_SECURITY_WAGES) + private String socialSecurityWages; + + public static final String SERIALIZED_NAME_SOCIAL_SECURITY_TAX_WITHHELD = "social_security_tax_withheld"; + @SerializedName(SERIALIZED_NAME_SOCIAL_SECURITY_TAX_WITHHELD) + private String socialSecurityTaxWithheld; + + public static final String SERIALIZED_NAME_MEDICARE_WAGES_AND_TIPS = "medicare_wages_and_tips"; + @SerializedName(SERIALIZED_NAME_MEDICARE_WAGES_AND_TIPS) + private String medicareWagesAndTips; + + public static final String SERIALIZED_NAME_MEDICARE_TAX_WITHHELD = "medicare_tax_withheld"; + @SerializedName(SERIALIZED_NAME_MEDICARE_TAX_WITHHELD) + private String medicareTaxWithheld; + + public static final String SERIALIZED_NAME_SOCIAL_SECURITY_TIPS = "social_security_tips"; + @SerializedName(SERIALIZED_NAME_SOCIAL_SECURITY_TIPS) + private String socialSecurityTips; + + public static final String SERIALIZED_NAME_ALLOCATED_TIPS = "allocated_tips"; + @SerializedName(SERIALIZED_NAME_ALLOCATED_TIPS) + private String allocatedTips; + + public static final String SERIALIZED_NAME_BOX9 = "box_9"; + @SerializedName(SERIALIZED_NAME_BOX9) + private String box9; + + public static final String SERIALIZED_NAME_DEPENDENT_CARE_BENEFITS = "dependent_care_benefits"; + @SerializedName(SERIALIZED_NAME_DEPENDENT_CARE_BENEFITS) + private String dependentCareBenefits; + + public static final String SERIALIZED_NAME_NONQUALIFIED_PLANS = "nonqualified_plans"; + @SerializedName(SERIALIZED_NAME_NONQUALIFIED_PLANS) + private String nonqualifiedPlans; + + public static final String SERIALIZED_NAME_BOX12 = "box_12"; + @SerializedName(SERIALIZED_NAME_BOX12) + private List box12 = new ArrayList<>(); + + public static final String SERIALIZED_NAME_STATUTORY_EMPLOYEE = "statutory_employee"; + @SerializedName(SERIALIZED_NAME_STATUTORY_EMPLOYEE) + private String statutoryEmployee; + + public static final String SERIALIZED_NAME_RETIREMENT_PLAN = "retirement_plan"; + @SerializedName(SERIALIZED_NAME_RETIREMENT_PLAN) + private String retirementPlan; + + public static final String SERIALIZED_NAME_THIRD_PARTY_SICK_PAY = "third_party_sick_pay"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_SICK_PAY) + private String thirdPartySickPay; + + public static final String SERIALIZED_NAME_OTHER = "other"; + @SerializedName(SERIALIZED_NAME_OTHER) + private String other; + + public static final String SERIALIZED_NAME_STATE_AND_LOCAL_WAGES = "state_and_local_wages"; + @SerializedName(SERIALIZED_NAME_STATE_AND_LOCAL_WAGES) + private List stateAndLocalWages = new ArrayList<>(); + + + public CreditW2 documentMetadata(CreditDocumentMetadata documentMetadata) { + + this.documentMetadata = documentMetadata; + return this; + } + + /** + * Get documentMetadata + * @return documentMetadata + **/ + @ApiModelProperty(required = true, value = "") + + public CreditDocumentMetadata getDocumentMetadata() { + return documentMetadata; + } + + + public void setDocumentMetadata(CreditDocumentMetadata documentMetadata) { + this.documentMetadata = documentMetadata; + } + + + public CreditW2 documentId(String documentId) { + + this.documentId = documentId; + return this; + } + + /** + * An identifier of the document referenced by the document metadata. + * @return documentId + **/ + @ApiModelProperty(required = true, value = "An identifier of the document referenced by the document metadata.") + + public String getDocumentId() { + return documentId; + } + + + public void setDocumentId(String documentId) { + this.documentId = documentId; + } + + + public CreditW2 employer(CreditPayStubEmployer employer) { + + this.employer = employer; + return this; + } + + /** + * Get employer + * @return employer + **/ + @ApiModelProperty(required = true, value = "") + + public CreditPayStubEmployer getEmployer() { + return employer; + } + + + public void setEmployer(CreditPayStubEmployer employer) { + this.employer = employer; + } + + + public CreditW2 employee(CreditPayStubEmployee employee) { + + this.employee = employee; + return this; + } + + /** + * Get employee + * @return employee + **/ + @ApiModelProperty(required = true, value = "") + + public CreditPayStubEmployee getEmployee() { + return employee; + } + + + public void setEmployee(CreditPayStubEmployee employee) { + this.employee = employee; + } + + + public CreditW2 taxYear(String taxYear) { + + this.taxYear = taxYear; + return this; + } + + /** + * The tax year of the W2 document. + * @return taxYear + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The tax year of the W2 document.") + + public String getTaxYear() { + return taxYear; + } + + + public void setTaxYear(String taxYear) { + this.taxYear = taxYear; + } + + + public CreditW2 employerIdNumber(String employerIdNumber) { + + this.employerIdNumber = employerIdNumber; + return this; + } + + /** + * An employer identification number or EIN. + * @return employerIdNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "An employer identification number or EIN.") + + public String getEmployerIdNumber() { + return employerIdNumber; + } + + + public void setEmployerIdNumber(String employerIdNumber) { + this.employerIdNumber = employerIdNumber; + } + + + public CreditW2 wagesTipsOtherComp(String wagesTipsOtherComp) { + + this.wagesTipsOtherComp = wagesTipsOtherComp; + return this; + } + + /** + * Wages from tips and other compensation. + * @return wagesTipsOtherComp + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Wages from tips and other compensation.") + + public String getWagesTipsOtherComp() { + return wagesTipsOtherComp; + } + + + public void setWagesTipsOtherComp(String wagesTipsOtherComp) { + this.wagesTipsOtherComp = wagesTipsOtherComp; + } + + + public CreditW2 federalIncomeTaxWithheld(String federalIncomeTaxWithheld) { + + this.federalIncomeTaxWithheld = federalIncomeTaxWithheld; + return this; + } + + /** + * Federal income tax withheld for the tax year. + * @return federalIncomeTaxWithheld + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Federal income tax withheld for the tax year.") + + public String getFederalIncomeTaxWithheld() { + return federalIncomeTaxWithheld; + } + + + public void setFederalIncomeTaxWithheld(String federalIncomeTaxWithheld) { + this.federalIncomeTaxWithheld = federalIncomeTaxWithheld; + } + + + public CreditW2 socialSecurityWages(String socialSecurityWages) { + + this.socialSecurityWages = socialSecurityWages; + return this; + } + + /** + * Wages from Social Security. + * @return socialSecurityWages + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Wages from Social Security.") + + public String getSocialSecurityWages() { + return socialSecurityWages; + } + + + public void setSocialSecurityWages(String socialSecurityWages) { + this.socialSecurityWages = socialSecurityWages; + } + + + public CreditW2 socialSecurityTaxWithheld(String socialSecurityTaxWithheld) { + + this.socialSecurityTaxWithheld = socialSecurityTaxWithheld; + return this; + } + + /** + * Social Security tax withheld for the tax year. + * @return socialSecurityTaxWithheld + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Social Security tax withheld for the tax year.") + + public String getSocialSecurityTaxWithheld() { + return socialSecurityTaxWithheld; + } + + + public void setSocialSecurityTaxWithheld(String socialSecurityTaxWithheld) { + this.socialSecurityTaxWithheld = socialSecurityTaxWithheld; + } + + + public CreditW2 medicareWagesAndTips(String medicareWagesAndTips) { + + this.medicareWagesAndTips = medicareWagesAndTips; + return this; + } + + /** + * Wages and tips from medicare. + * @return medicareWagesAndTips + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Wages and tips from medicare.") + + public String getMedicareWagesAndTips() { + return medicareWagesAndTips; + } + + + public void setMedicareWagesAndTips(String medicareWagesAndTips) { + this.medicareWagesAndTips = medicareWagesAndTips; + } + + + public CreditW2 medicareTaxWithheld(String medicareTaxWithheld) { + + this.medicareTaxWithheld = medicareTaxWithheld; + return this; + } + + /** + * Medicare tax withheld for the tax year. + * @return medicareTaxWithheld + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Medicare tax withheld for the tax year.") + + public String getMedicareTaxWithheld() { + return medicareTaxWithheld; + } + + + public void setMedicareTaxWithheld(String medicareTaxWithheld) { + this.medicareTaxWithheld = medicareTaxWithheld; + } + + + public CreditW2 socialSecurityTips(String socialSecurityTips) { + + this.socialSecurityTips = socialSecurityTips; + return this; + } + + /** + * Tips from Social Security. + * @return socialSecurityTips + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Tips from Social Security.") + + public String getSocialSecurityTips() { + return socialSecurityTips; + } + + + public void setSocialSecurityTips(String socialSecurityTips) { + this.socialSecurityTips = socialSecurityTips; + } + + + public CreditW2 allocatedTips(String allocatedTips) { + + this.allocatedTips = allocatedTips; + return this; + } + + /** + * Allocated tips. + * @return allocatedTips + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Allocated tips.") + + public String getAllocatedTips() { + return allocatedTips; + } + + + public void setAllocatedTips(String allocatedTips) { + this.allocatedTips = allocatedTips; + } + + + public CreditW2 box9(String box9) { + + this.box9 = box9; + return this; + } + + /** + * Contents from box 9 on the W2. + * @return box9 + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Contents from box 9 on the W2.") + + public String getBox9() { + return box9; + } + + + public void setBox9(String box9) { + this.box9 = box9; + } + + + public CreditW2 dependentCareBenefits(String dependentCareBenefits) { + + this.dependentCareBenefits = dependentCareBenefits; + return this; + } + + /** + * Dependent care benefits. + * @return dependentCareBenefits + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Dependent care benefits.") + + public String getDependentCareBenefits() { + return dependentCareBenefits; + } + + + public void setDependentCareBenefits(String dependentCareBenefits) { + this.dependentCareBenefits = dependentCareBenefits; + } + + + public CreditW2 nonqualifiedPlans(String nonqualifiedPlans) { + + this.nonqualifiedPlans = nonqualifiedPlans; + return this; + } + + /** + * Nonqualified plans. + * @return nonqualifiedPlans + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Nonqualified plans.") + + public String getNonqualifiedPlans() { + return nonqualifiedPlans; + } + + + public void setNonqualifiedPlans(String nonqualifiedPlans) { + this.nonqualifiedPlans = nonqualifiedPlans; + } + + + public CreditW2 box12(List box12) { + + this.box12 = box12; + return this; + } + + public CreditW2 addBox12Item(W2Box12 box12Item) { + this.box12.add(box12Item); + return this; + } + + /** + * Get box12 + * @return box12 + **/ + @ApiModelProperty(required = true, value = "") + + public List getBox12() { + return box12; + } + + + public void setBox12(List box12) { + this.box12 = box12; + } + + + public CreditW2 statutoryEmployee(String statutoryEmployee) { + + this.statutoryEmployee = statutoryEmployee; + return this; + } + + /** + * Statutory employee. + * @return statutoryEmployee + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Statutory employee.") + + public String getStatutoryEmployee() { + return statutoryEmployee; + } + + + public void setStatutoryEmployee(String statutoryEmployee) { + this.statutoryEmployee = statutoryEmployee; + } + + + public CreditW2 retirementPlan(String retirementPlan) { + + this.retirementPlan = retirementPlan; + return this; + } + + /** + * Retirement plan. + * @return retirementPlan + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Retirement plan.") + + public String getRetirementPlan() { + return retirementPlan; + } + + + public void setRetirementPlan(String retirementPlan) { + this.retirementPlan = retirementPlan; + } + + + public CreditW2 thirdPartySickPay(String thirdPartySickPay) { + + this.thirdPartySickPay = thirdPartySickPay; + return this; + } + + /** + * Third party sick pay. + * @return thirdPartySickPay + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Third party sick pay.") + + public String getThirdPartySickPay() { + return thirdPartySickPay; + } + + + public void setThirdPartySickPay(String thirdPartySickPay) { + this.thirdPartySickPay = thirdPartySickPay; + } + + + public CreditW2 other(String other) { + + this.other = other; + return this; + } + + /** + * Other. + * @return other + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Other.") + + public String getOther() { + return other; + } + + + public void setOther(String other) { + this.other = other; + } + + + public CreditW2 stateAndLocalWages(List stateAndLocalWages) { + + this.stateAndLocalWages = stateAndLocalWages; + return this; + } + + public CreditW2 addStateAndLocalWagesItem(W2StateAndLocalWages stateAndLocalWagesItem) { + this.stateAndLocalWages.add(stateAndLocalWagesItem); + return this; + } + + /** + * Get stateAndLocalWages + * @return stateAndLocalWages + **/ + @ApiModelProperty(required = true, value = "") + + public List getStateAndLocalWages() { + return stateAndLocalWages; + } + + + public void setStateAndLocalWages(List stateAndLocalWages) { + this.stateAndLocalWages = stateAndLocalWages; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditW2 creditW2 = (CreditW2) o; + return Objects.equals(this.documentMetadata, creditW2.documentMetadata) && + Objects.equals(this.documentId, creditW2.documentId) && + Objects.equals(this.employer, creditW2.employer) && + Objects.equals(this.employee, creditW2.employee) && + Objects.equals(this.taxYear, creditW2.taxYear) && + Objects.equals(this.employerIdNumber, creditW2.employerIdNumber) && + Objects.equals(this.wagesTipsOtherComp, creditW2.wagesTipsOtherComp) && + Objects.equals(this.federalIncomeTaxWithheld, creditW2.federalIncomeTaxWithheld) && + Objects.equals(this.socialSecurityWages, creditW2.socialSecurityWages) && + Objects.equals(this.socialSecurityTaxWithheld, creditW2.socialSecurityTaxWithheld) && + Objects.equals(this.medicareWagesAndTips, creditW2.medicareWagesAndTips) && + Objects.equals(this.medicareTaxWithheld, creditW2.medicareTaxWithheld) && + Objects.equals(this.socialSecurityTips, creditW2.socialSecurityTips) && + Objects.equals(this.allocatedTips, creditW2.allocatedTips) && + Objects.equals(this.box9, creditW2.box9) && + Objects.equals(this.dependentCareBenefits, creditW2.dependentCareBenefits) && + Objects.equals(this.nonqualifiedPlans, creditW2.nonqualifiedPlans) && + Objects.equals(this.box12, creditW2.box12) && + Objects.equals(this.statutoryEmployee, creditW2.statutoryEmployee) && + Objects.equals(this.retirementPlan, creditW2.retirementPlan) && + Objects.equals(this.thirdPartySickPay, creditW2.thirdPartySickPay) && + Objects.equals(this.other, creditW2.other) && + Objects.equals(this.stateAndLocalWages, creditW2.stateAndLocalWages); + } + + @Override + public int hashCode() { + return Objects.hash(documentMetadata, documentId, employer, employee, taxYear, employerIdNumber, wagesTipsOtherComp, federalIncomeTaxWithheld, socialSecurityWages, socialSecurityTaxWithheld, medicareWagesAndTips, medicareTaxWithheld, socialSecurityTips, allocatedTips, box9, dependentCareBenefits, nonqualifiedPlans, box12, statutoryEmployee, retirementPlan, thirdPartySickPay, other, stateAndLocalWages); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditW2 {\n"); + sb.append(" documentMetadata: ").append(toIndentedString(documentMetadata)).append("\n"); + sb.append(" documentId: ").append(toIndentedString(documentId)).append("\n"); + sb.append(" employer: ").append(toIndentedString(employer)).append("\n"); + sb.append(" employee: ").append(toIndentedString(employee)).append("\n"); + sb.append(" taxYear: ").append(toIndentedString(taxYear)).append("\n"); + sb.append(" employerIdNumber: ").append(toIndentedString(employerIdNumber)).append("\n"); + sb.append(" wagesTipsOtherComp: ").append(toIndentedString(wagesTipsOtherComp)).append("\n"); + sb.append(" federalIncomeTaxWithheld: ").append(toIndentedString(federalIncomeTaxWithheld)).append("\n"); + sb.append(" socialSecurityWages: ").append(toIndentedString(socialSecurityWages)).append("\n"); + sb.append(" socialSecurityTaxWithheld: ").append(toIndentedString(socialSecurityTaxWithheld)).append("\n"); + sb.append(" medicareWagesAndTips: ").append(toIndentedString(medicareWagesAndTips)).append("\n"); + sb.append(" medicareTaxWithheld: ").append(toIndentedString(medicareTaxWithheld)).append("\n"); + sb.append(" socialSecurityTips: ").append(toIndentedString(socialSecurityTips)).append("\n"); + sb.append(" allocatedTips: ").append(toIndentedString(allocatedTips)).append("\n"); + sb.append(" box9: ").append(toIndentedString(box9)).append("\n"); + sb.append(" dependentCareBenefits: ").append(toIndentedString(dependentCareBenefits)).append("\n"); + sb.append(" nonqualifiedPlans: ").append(toIndentedString(nonqualifiedPlans)).append("\n"); + sb.append(" box12: ").append(toIndentedString(box12)).append("\n"); + sb.append(" statutoryEmployee: ").append(toIndentedString(statutoryEmployee)).append("\n"); + sb.append(" retirementPlan: ").append(toIndentedString(retirementPlan)).append("\n"); + sb.append(" thirdPartySickPay: ").append(toIndentedString(thirdPartySickPay)).append("\n"); + sb.append(" other: ").append(toIndentedString(other)).append("\n"); + sb.append(" stateAndLocalWages: ").append(toIndentedString(stateAndLocalWages)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CustomSandboxTransaction.java b/src/main/java/com/plaid/client/model/CustomSandboxTransaction.java new file mode 100644 index 0000000000..d53f8c3b38 --- /dev/null +++ b/src/main/java/com/plaid/client/model/CustomSandboxTransaction.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Data to populate as test transaction data. + */ +@ApiModel(description = "Data to populate as test transaction data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CustomSandboxTransaction { + public static final String SERIALIZED_NAME_DATE_TRANSACTED = "date_transacted"; + @SerializedName(SERIALIZED_NAME_DATE_TRANSACTED) + private LocalDate dateTransacted; + + public static final String SERIALIZED_NAME_DATE_POSTED = "date_posted"; + @SerializedName(SERIALIZED_NAME_DATE_POSTED) + private LocalDate datePosted; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + + public CustomSandboxTransaction dateTransacted(LocalDate dateTransacted) { + + this.dateTransacted = dateTransacted; + return this; + } + + /** + * The date of the transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. Transaction date must be the present date or a date up to 14 days in the past. Future dates are not allowed. + * @return dateTransacted + **/ + @ApiModelProperty(required = true, value = "The date of the transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. Transaction date must be the present date or a date up to 14 days in the past. Future dates are not allowed.") + + public LocalDate getDateTransacted() { + return dateTransacted; + } + + + public void setDateTransacted(LocalDate dateTransacted) { + this.dateTransacted = dateTransacted; + } + + + public CustomSandboxTransaction datePosted(LocalDate datePosted) { + + this.datePosted = datePosted; + return this; + } + + /** + * The date the transaction posted, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. Posted date must be the present date or a date up to 14 days in the past. Future dates are not allowed. + * @return datePosted + **/ + @ApiModelProperty(required = true, value = "The date the transaction posted, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. Posted date must be the present date or a date up to 14 days in the past. Future dates are not allowed.") + + public LocalDate getDatePosted() { + return datePosted; + } + + + public void setDatePosted(LocalDate datePosted) { + this.datePosted = datePosted; + } + + + public CustomSandboxTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The transaction amount. Can be negative. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The transaction amount. Can be negative.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public CustomSandboxTransaction description(String description) { + + this.description = description; + return this; + } + + /** + * The transaction description. + * @return description + **/ + @ApiModelProperty(required = true, value = "The transaction description.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public CustomSandboxTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 format currency code for the transaction. Defaults to USD. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 format currency code for the transaction. Defaults to USD.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomSandboxTransaction customSandboxTransaction = (CustomSandboxTransaction) o; + return Objects.equals(this.dateTransacted, customSandboxTransaction.dateTransacted) && + Objects.equals(this.datePosted, customSandboxTransaction.datePosted) && + Objects.equals(this.amount, customSandboxTransaction.amount) && + Objects.equals(this.description, customSandboxTransaction.description) && + Objects.equals(this.isoCurrencyCode, customSandboxTransaction.isoCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(dateTransacted, datePosted, amount, description, isoCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomSandboxTransaction {\n"); + sb.append(" dateTransacted: ").append(toIndentedString(dateTransacted)).append("\n"); + sb.append(" datePosted: ").append(toIndentedString(datePosted)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/CustomerInitiatedReturnRisk.java b/src/main/java/com/plaid/client/model/CustomerInitiatedReturnRisk.java new file mode 100644 index 0000000000..1eab00d53d --- /dev/null +++ b/src/main/java/com/plaid/client/model/CustomerInitiatedReturnRisk.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The object contains a risk score and a risk tier that evaluate the transaction return risk of an unauthorized debit. Common return codes in this category include: \"R05\", \"R07\", \"R10\", \"R11\", \"R29\". These returns typically have a return time frame of up to 60 calendar days. During this period, customers of financial institutions can dispute a transaction as unauthorized. + */ +@ApiModel(description = "The object contains a risk score and a risk tier that evaluate the transaction return risk of an unauthorized debit. Common return codes in this category include: \"R05\", \"R07\", \"R10\", \"R11\", \"R29\". These returns typically have a return time frame of up to 60 calendar days. During this period, customers of financial institutions can dispute a transaction as unauthorized.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class CustomerInitiatedReturnRisk { + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_RISK_TIER = "risk_tier"; + @SerializedName(SERIALIZED_NAME_RISK_TIER) + private Integer riskTier; + + + public CustomerInitiatedReturnRisk score(Integer score) { + + this.score = score; + return this; + } + + /** + * A score from 1-99 that indicates the transaction return risk: a higher risk score suggests a higher return likelihood. + * minimum: 1 + * maximum: 99 + * @return score + **/ + @ApiModelProperty(required = true, value = "A score from 1-99 that indicates the transaction return risk: a higher risk score suggests a higher return likelihood.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public CustomerInitiatedReturnRisk riskTier(Integer riskTier) { + + this.riskTier = riskTier; + return this; + } + + /** + * DEPRECATED. Use Signal Rules instead to transform the `score` into a useful action. A tier corresponding to the projected likelihood that the transaction, if initiated, will be subject to a return. In the `customer_initiated_return_risk` object, there are five risk tiers corresponding to the scores: 1: Predicted customer-initiated return incidence rate between 0.00% - 0.02% 2: Predicted customer-initiated return incidence rate between 0.02% - 0.05% 3: Predicted customer-initiated return incidence rate between 0.05% - 0.1% 4: Predicted customer-initiated return incidence rate between 0.1% - 0.5% 5: Predicted customer-initiated return incidence rate greater than 0.5% + * minimum: 1 + * maximum: 5 + * @return riskTier + **/ + @ApiModelProperty(required = true, value = "DEPRECATED. Use Signal Rules instead to transform the `score` into a useful action. A tier corresponding to the projected likelihood that the transaction, if initiated, will be subject to a return. In the `customer_initiated_return_risk` object, there are five risk tiers corresponding to the scores: 1: Predicted customer-initiated return incidence rate between 0.00% - 0.02% 2: Predicted customer-initiated return incidence rate between 0.02% - 0.05% 3: Predicted customer-initiated return incidence rate between 0.05% - 0.1% 4: Predicted customer-initiated return incidence rate between 0.1% - 0.5% 5: Predicted customer-initiated return incidence rate greater than 0.5% ") + + public Integer getRiskTier() { + return riskTier; + } + + + public void setRiskTier(Integer riskTier) { + this.riskTier = riskTier; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomerInitiatedReturnRisk customerInitiatedReturnRisk = (CustomerInitiatedReturnRisk) o; + return Objects.equals(this.score, customerInitiatedReturnRisk.score) && + Objects.equals(this.riskTier, customerInitiatedReturnRisk.riskTier); + } + + @Override + public int hashCode() { + return Objects.hash(score, riskTier); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomerInitiatedReturnRisk {\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" riskTier: ").append(toIndentedString(riskTier)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DashboardUser.java b/src/main/java/com/plaid/client/model/DashboardUser.java new file mode 100644 index 0000000000..d823f8ca82 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DashboardUser.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DashboardUserStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Account information associated with a team member with access to the Plaid dashboard. + */ +@ApiModel(description = "Account information associated with a team member with access to the Plaid dashboard.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DashboardUser { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private DashboardUserStatus status; + + + public DashboardUser id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return id + **/ + @ApiModelProperty(example = "54350110fedcbaf01234ffee", required = true, value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public DashboardUser createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public DashboardUser emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @ApiModelProperty(example = "user@example.com", required = true, value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public DashboardUser status(DashboardUserStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public DashboardUserStatus getStatus() { + return status; + } + + + public void setStatus(DashboardUserStatus status) { + this.status = status; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DashboardUser dashboardUser = (DashboardUser) o; + return Objects.equals(this.id, dashboardUser.id) && + Objects.equals(this.createdAt, dashboardUser.createdAt) && + Objects.equals(this.emailAddress, dashboardUser.emailAddress) && + Objects.equals(this.status, dashboardUser.status); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdAt, emailAddress, status); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DashboardUser {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DashboardUserGetRequest.java b/src/main/java/com/plaid/client/model/DashboardUserGetRequest.java new file mode 100644 index 0000000000..6e7cf531e7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DashboardUserGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for fetching a dashboard user + */ +@ApiModel(description = "Request input for fetching a dashboard user") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DashboardUserGetRequest { + public static final String SERIALIZED_NAME_DASHBOARD_USER_ID = "dashboard_user_id"; + @SerializedName(SERIALIZED_NAME_DASHBOARD_USER_ID) + private String dashboardUserId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + + public DashboardUserGetRequest dashboardUserId(String dashboardUserId) { + + this.dashboardUserId = dashboardUserId; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return dashboardUserId + **/ + @ApiModelProperty(example = "54350110fedcbaf01234ffee", required = true, value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getDashboardUserId() { + return dashboardUserId; + } + + + public void setDashboardUserId(String dashboardUserId) { + this.dashboardUserId = dashboardUserId; + } + + + public DashboardUserGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public DashboardUserGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DashboardUserGetRequest dashboardUserGetRequest = (DashboardUserGetRequest) o; + return Objects.equals(this.dashboardUserId, dashboardUserGetRequest.dashboardUserId) && + Objects.equals(this.secret, dashboardUserGetRequest.secret) && + Objects.equals(this.clientId, dashboardUserGetRequest.clientId); + } + + @Override + public int hashCode() { + return Objects.hash(dashboardUserId, secret, clientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DashboardUserGetRequest {\n"); + sb.append(" dashboardUserId: ").append(toIndentedString(dashboardUserId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DashboardUserGetResponse.java b/src/main/java/com/plaid/client/model/DashboardUserGetResponse.java new file mode 100644 index 0000000000..6c7f79865c --- /dev/null +++ b/src/main/java/com/plaid/client/model/DashboardUserGetResponse.java @@ -0,0 +1,211 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DashboardUserStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Account information associated with a team member with access to the Plaid dashboard. + */ +@ApiModel(description = "Account information associated with a team member with access to the Plaid dashboard.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DashboardUserGetResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private DashboardUserStatus status; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public DashboardUserGetResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return id + **/ + @ApiModelProperty(example = "54350110fedcbaf01234ffee", required = true, value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public DashboardUserGetResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public DashboardUserGetResponse emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @ApiModelProperty(example = "user@example.com", required = true, value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public DashboardUserGetResponse status(DashboardUserStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public DashboardUserStatus getStatus() { + return status; + } + + + public void setStatus(DashboardUserStatus status) { + this.status = status; + } + + + public DashboardUserGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DashboardUserGetResponse dashboardUserGetResponse = (DashboardUserGetResponse) o; + return Objects.equals(this.id, dashboardUserGetResponse.id) && + Objects.equals(this.createdAt, dashboardUserGetResponse.createdAt) && + Objects.equals(this.emailAddress, dashboardUserGetResponse.emailAddress) && + Objects.equals(this.status, dashboardUserGetResponse.status) && + Objects.equals(this.requestId, dashboardUserGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdAt, emailAddress, status, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DashboardUserGetResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DashboardUserListRequest.java b/src/main/java/com/plaid/client/model/DashboardUserListRequest.java new file mode 100644 index 0000000000..6a79c78e53 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DashboardUserListRequest.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing dashboard users + */ +@ApiModel(description = "Request input for listing dashboard users") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DashboardUserListRequest { + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public DashboardUserListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public DashboardUserListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public DashboardUserListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DashboardUserListRequest dashboardUserListRequest = (DashboardUserListRequest) o; + return Objects.equals(this.secret, dashboardUserListRequest.secret) && + Objects.equals(this.clientId, dashboardUserListRequest.clientId) && + Objects.equals(this.cursor, dashboardUserListRequest.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(secret, clientId, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DashboardUserListRequest {\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DashboardUserListResponse.java b/src/main/java/com/plaid/client/model/DashboardUserListResponse.java new file mode 100644 index 0000000000..ee819ce83f --- /dev/null +++ b/src/main/java/com/plaid/client/model/DashboardUserListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DashboardUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Paginated list of dashboard users + */ +@ApiModel(description = "Paginated list of dashboard users") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DashboardUserListResponse { + public static final String SERIALIZED_NAME_DASHBOARD_USERS = "dashboard_users"; + @SerializedName(SERIALIZED_NAME_DASHBOARD_USERS) + private List dashboardUsers = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public DashboardUserListResponse dashboardUsers(List dashboardUsers) { + + this.dashboardUsers = dashboardUsers; + return this; + } + + public DashboardUserListResponse addDashboardUsersItem(DashboardUser dashboardUsersItem) { + this.dashboardUsers.add(dashboardUsersItem); + return this; + } + + /** + * List of dashboard users + * @return dashboardUsers + **/ + @ApiModelProperty(required = true, value = "List of dashboard users") + + public List getDashboardUsers() { + return dashboardUsers; + } + + + public void setDashboardUsers(List dashboardUsers) { + this.dashboardUsers = dashboardUsers; + } + + + public DashboardUserListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public DashboardUserListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DashboardUserListResponse dashboardUserListResponse = (DashboardUserListResponse) o; + return Objects.equals(this.dashboardUsers, dashboardUserListResponse.dashboardUsers) && + Objects.equals(this.nextCursor, dashboardUserListResponse.nextCursor) && + Objects.equals(this.requestId, dashboardUserListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(dashboardUsers, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DashboardUserListResponse {\n"); + sb.append(" dashboardUsers: ").append(toIndentedString(dashboardUsers)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DashboardUserStatus.java b/src/main/java/com/plaid/client/model/DashboardUserStatus.java new file mode 100644 index 0000000000..78299d76f1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DashboardUserStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The current status of the user. + */ +@JsonAdapter(DashboardUserStatus.Adapter.class) +public enum DashboardUserStatus { + + INVITED("invited"), + + ACTIVE("active"), + + DEACTIVATED("deactivated"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + DashboardUserStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DashboardUserStatus fromValue(String value) { + for (DashboardUserStatus b : DashboardUserStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return DashboardUserStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final DashboardUserStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DashboardUserStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DashboardUserStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/DataSources.java b/src/main/java/com/plaid/client/model/DataSources.java new file mode 100644 index 0000000000..e3340215eb --- /dev/null +++ b/src/main/java/com/plaid/client/model/DataSources.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A description of the source of data for a given product/data type. `INSTITUTION`: The institution supports this product, and the data was provided by the institution. `INSTITUTION_MASK`: The user manually provided the full account number, which was matched to the account mask provided by the institution. Only applicable to the `numbers` data type. `USER`: The institution does not support this product, and the data was manually provided by the user. + */ +@JsonAdapter(DataSources.Adapter.class) +public enum DataSources { + + INSTITUTION("INSTITUTION"), + + INSTITUTION_MASK("INSTITUTION_MASK"), + + USER("USER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + DataSources(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DataSources fromValue(String value) { + for (DataSources b : DataSources.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return DataSources.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final DataSources enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DataSources read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DataSources.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/DateRange.java b/src/main/java/com/plaid/client/model/DateRange.java new file mode 100644 index 0000000000..d6157635f5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DateRange.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * A date range with a start and end date + */ +@ApiModel(description = "A date range with a start and end date") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DateRange { + public static final String SERIALIZED_NAME_BEGINNING = "beginning"; + @SerializedName(SERIALIZED_NAME_BEGINNING) + private LocalDate beginning; + + public static final String SERIALIZED_NAME_ENDING = "ending"; + @SerializedName(SERIALIZED_NAME_ENDING) + private LocalDate ending; + + + public DateRange beginning(LocalDate beginning) { + + this.beginning = beginning; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return beginning + **/ + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getBeginning() { + return beginning; + } + + + public void setBeginning(LocalDate beginning) { + this.beginning = beginning; + } + + + public DateRange ending(LocalDate ending) { + + this.ending = ending; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return ending + **/ + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getEnding() { + return ending; + } + + + public void setEnding(LocalDate ending) { + this.ending = ending; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DateRange dateRange = (DateRange) o; + return Objects.equals(this.beginning, dateRange.beginning) && + Objects.equals(this.ending, dateRange.ending); + } + + @Override + public int hashCode() { + return Objects.hash(beginning, ending); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DateRange {\n"); + sb.append(" beginning: ").append(toIndentedString(beginning)).append("\n"); + sb.append(" ending: ").append(toIndentedString(ending)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Deductions.java b/src/main/java/com/plaid/client/model/Deductions.java new file mode 100644 index 0000000000..2456922df6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Deductions.java @@ -0,0 +1,210 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DeductionsBreakdown; +import com.plaid.client.model.DeductionsTotal; +import com.plaid.client.model.Total; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object with the deduction information found on a paystub. + */ +@ApiModel(description = "An object with the deduction information found on a paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Deductions { + public static final String SERIALIZED_NAME_SUBTOTALS = "subtotals"; + @SerializedName(SERIALIZED_NAME_SUBTOTALS) + private List subtotals = null; + + public static final String SERIALIZED_NAME_BREAKDOWN = "breakdown"; + @SerializedName(SERIALIZED_NAME_BREAKDOWN) + private List breakdown = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TOTALS = "totals"; + @SerializedName(SERIALIZED_NAME_TOTALS) + private List totals = null; + + public static final String SERIALIZED_NAME_TOTAL = "total"; + @SerializedName(SERIALIZED_NAME_TOTAL) + private DeductionsTotal total; + + + public Deductions subtotals(List subtotals) { + + this.subtotals = subtotals; + return this; + } + + public Deductions addSubtotalsItem(Total subtotalsItem) { + if (this.subtotals == null) { + this.subtotals = new ArrayList<>(); + } + this.subtotals.add(subtotalsItem); + return this; + } + + /** + * Get subtotals + * @return subtotals + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getSubtotals() { + return subtotals; + } + + + public void setSubtotals(List subtotals) { + this.subtotals = subtotals; + } + + + public Deductions breakdown(List breakdown) { + + this.breakdown = breakdown; + return this; + } + + public Deductions addBreakdownItem(DeductionsBreakdown breakdownItem) { + this.breakdown.add(breakdownItem); + return this; + } + + /** + * Get breakdown + * @return breakdown + **/ + @ApiModelProperty(required = true, value = "") + + public List getBreakdown() { + return breakdown; + } + + + public void setBreakdown(List breakdown) { + this.breakdown = breakdown; + } + + + public Deductions totals(List totals) { + + this.totals = totals; + return this; + } + + public Deductions addTotalsItem(Total totalsItem) { + if (this.totals == null) { + this.totals = new ArrayList<>(); + } + this.totals.add(totalsItem); + return this; + } + + /** + * Get totals + * @return totals + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getTotals() { + return totals; + } + + + public void setTotals(List totals) { + this.totals = totals; + } + + + public Deductions total(DeductionsTotal total) { + + this.total = total; + return this; + } + + /** + * Get total + * @return total + **/ + @ApiModelProperty(required = true, value = "") + + public DeductionsTotal getTotal() { + return total; + } + + + public void setTotal(DeductionsTotal total) { + this.total = total; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Deductions deductions = (Deductions) o; + return Objects.equals(this.subtotals, deductions.subtotals) && + Objects.equals(this.breakdown, deductions.breakdown) && + Objects.equals(this.totals, deductions.totals) && + Objects.equals(this.total, deductions.total); + } + + @Override + public int hashCode() { + return Objects.hash(subtotals, breakdown, totals, total); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Deductions {\n"); + sb.append(" subtotals: ").append(toIndentedString(subtotals)).append("\n"); + sb.append(" breakdown: ").append(toIndentedString(breakdown)).append("\n"); + sb.append(" totals: ").append(toIndentedString(totals)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DeductionsBreakdown.java b/src/main/java/com/plaid/client/model/DeductionsBreakdown.java new file mode 100644 index 0000000000..ac6a43ac1e --- /dev/null +++ b/src/main/java/com/plaid/client/model/DeductionsBreakdown.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing the deduction line items for the pay period + */ +@ApiModel(description = "An object representing the deduction line items for the pay period") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DeductionsBreakdown { + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public DeductionsBreakdown currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * Raw amount of the deduction + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Raw amount of the deduction") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public DeductionsBreakdown description(String description) { + + this.description = description; + return this; + } + + /** + * Description of the deduction line item + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Description of the deduction line item") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public DeductionsBreakdown isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public DeductionsBreakdown unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public DeductionsBreakdown ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The year-to-date amount of the deduction + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The year-to-date amount of the deduction") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeductionsBreakdown deductionsBreakdown = (DeductionsBreakdown) o; + return Objects.equals(this.currentAmount, deductionsBreakdown.currentAmount) && + Objects.equals(this.description, deductionsBreakdown.description) && + Objects.equals(this.isoCurrencyCode, deductionsBreakdown.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, deductionsBreakdown.unofficialCurrencyCode) && + Objects.equals(this.ytdAmount, deductionsBreakdown.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(currentAmount, description, isoCurrencyCode, unofficialCurrencyCode, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DeductionsBreakdown {\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DeductionsTotal.java b/src/main/java/com/plaid/client/model/DeductionsTotal.java new file mode 100644 index 0000000000..b42c2fe3d1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DeductionsTotal.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing the total deductions for the pay period + */ +@ApiModel(description = "An object representing the total deductions for the pay period") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DeductionsTotal { + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public DeductionsTotal currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * Raw amount of the deduction + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Raw amount of the deduction") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public DeductionsTotal isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public DeductionsTotal unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public DeductionsTotal ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The year-to-date total amount of the deductions + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The year-to-date total amount of the deductions") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeductionsTotal deductionsTotal = (DeductionsTotal) o; + return Objects.equals(this.currentAmount, deductionsTotal.currentAmount) && + Objects.equals(this.isoCurrencyCode, deductionsTotal.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, deductionsTotal.unofficialCurrencyCode) && + Objects.equals(this.ytdAmount, deductionsTotal.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(currentAmount, isoCurrencyCode, unofficialCurrencyCode, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DeductionsTotal {\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DefaultUpdateWebhook.java b/src/main/java/com/plaid/client/model/DefaultUpdateWebhook.java new file mode 100644 index 0000000000..51341136d9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DefaultUpdateWebhook.java @@ -0,0 +1,242 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Fired when new transaction data is available for an Item. Plaid will typically check for new transaction data several times a day. This webhook is intended for use with `/transactions/get`; if you are using the newer `/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead. + */ +@ApiModel(description = "Fired when new transaction data is available for an Item. Plaid will typically check for new transaction data several times a day. This webhook is intended for use with `/transactions/get`; if you are using the newer `/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead. ") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DefaultUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_NEW_TRANSACTIONS = "new_transactions"; + @SerializedName(SERIALIZED_NAME_NEW_TRANSACTIONS) + private Double newTransactions; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public DefaultUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public DefaultUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `DEFAULT_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`DEFAULT_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public DefaultUpdateWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public DefaultUpdateWebhook newTransactions(Double newTransactions) { + + this.newTransactions = newTransactions; + return this; + } + + /** + * The number of new transactions detected since the last time this webhook was fired. + * @return newTransactions + **/ + @ApiModelProperty(required = true, value = "The number of new transactions detected since the last time this webhook was fired.") + + public Double getNewTransactions() { + return newTransactions; + } + + + public void setNewTransactions(Double newTransactions) { + this.newTransactions = newTransactions; + } + + + public DefaultUpdateWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item the webhook relates to. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item the webhook relates to.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public DefaultUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DefaultUpdateWebhook defaultUpdateWebhook = (DefaultUpdateWebhook) o; + return Objects.equals(this.webhookType, defaultUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, defaultUpdateWebhook.webhookCode) && + Objects.equals(this.error, defaultUpdateWebhook.error) && + Objects.equals(this.newTransactions, defaultUpdateWebhook.newTransactions) && + Objects.equals(this.itemId, defaultUpdateWebhook.itemId) && + Objects.equals(this.environment, defaultUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, error, newTransactions, itemId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DefaultUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" newTransactions: ").append(toIndentedString(newTransactions)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DepositoryAccountSubtype.java b/src/main/java/com/plaid/client/model/DepositoryAccountSubtype.java new file mode 100644 index 0000000000..423573fd45 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DepositoryAccountSubtype.java @@ -0,0 +1,97 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Valid account subtypes for depository accounts. For a list containing descriptions of each subtype, see [Account schemas](https://plaid.com/docs/api/accounts/#StandaloneAccountType-depository). + */ +@JsonAdapter(DepositoryAccountSubtype.Adapter.class) +public enum DepositoryAccountSubtype { + + CHECKING("checking"), + + SAVINGS("savings"), + + HSA("hsa"), + + CD("cd"), + + MONEY_MARKET("money market"), + + PAYPAL("paypal"), + + PREPAID("prepaid"), + + CASH_MANAGEMENT("cash management"), + + EBT("ebt"), + + LIMITED_PURPOSE_CHECKING("limited purpose checking"), + + ALL("all"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + DepositoryAccountSubtype(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DepositoryAccountSubtype fromValue(String value) { + for (DepositoryAccountSubtype b : DepositoryAccountSubtype.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return DepositoryAccountSubtype.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final DepositoryAccountSubtype enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DepositoryAccountSubtype read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DepositoryAccountSubtype.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/DepositoryFilter.java b/src/main/java/com/plaid/client/model/DepositoryFilter.java new file mode 100644 index 0000000000..a6e5c13440 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DepositoryFilter.java @@ -0,0 +1,144 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DepositoryAccountSubtype; +import com.plaid.client.model.LimitedPurposeType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A filter to apply to `depository`-type accounts + */ +@ApiModel(description = "A filter to apply to `depository`-type accounts") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DepositoryFilter { + public static final String SERIALIZED_NAME_ACCOUNT_SUBTYPES = "account_subtypes"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SUBTYPES) + private List accountSubtypes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LIMITED_PURPOSE_TYPES = "limited_purpose_types"; + @SerializedName(SERIALIZED_NAME_LIMITED_PURPOSE_TYPES) + private List limitedPurposeTypes = null; + + + public DepositoryFilter accountSubtypes(List accountSubtypes) { + + this.accountSubtypes = accountSubtypes; + return this; + } + + public DepositoryFilter addAccountSubtypesItem(DepositoryAccountSubtype accountSubtypesItem) { + this.accountSubtypes.add(accountSubtypesItem); + return this; + } + + /** + * An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountSubtypes + **/ + @ApiModelProperty(required = true, value = "An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ") + + public List getAccountSubtypes() { + return accountSubtypes; + } + + + public void setAccountSubtypes(List accountSubtypes) { + this.accountSubtypes = accountSubtypes; + } + + + public DepositoryFilter limitedPurposeTypes(List limitedPurposeTypes) { + + this.limitedPurposeTypes = limitedPurposeTypes; + return this; + } + + public DepositoryFilter addLimitedPurposeTypesItem(LimitedPurposeType limitedPurposeTypesItem) { + if (this.limitedPurposeTypes == null) { + this.limitedPurposeTypes = new ArrayList<>(); + } + this.limitedPurposeTypes.add(limitedPurposeTypesItem); + return this; + } + + /** + * An array of limited purpose types. Restricts which kinds of limited purpose checking accounts may be connected in Link to prevent users from connecting them for unsupported use cases. Required when 'limited purpose checking' is in the subtypes filter. + * @return limitedPurposeTypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of limited purpose types. Restricts which kinds of limited purpose checking accounts may be connected in Link to prevent users from connecting them for unsupported use cases. Required when 'limited purpose checking' is in the subtypes filter.") + + public List getLimitedPurposeTypes() { + return limitedPurposeTypes; + } + + + public void setLimitedPurposeTypes(List limitedPurposeTypes) { + this.limitedPurposeTypes = limitedPurposeTypes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DepositoryFilter depositoryFilter = (DepositoryFilter) o; + return Objects.equals(this.accountSubtypes, depositoryFilter.accountSubtypes) && + Objects.equals(this.limitedPurposeTypes, depositoryFilter.limitedPurposeTypes); + } + + @Override + public int hashCode() { + return Objects.hash(accountSubtypes, limitedPurposeTypes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DepositoryFilter {\n"); + sb.append(" accountSubtypes: ").append(toIndentedString(accountSubtypes)).append("\n"); + sb.append(" limitedPurposeTypes: ").append(toIndentedString(limitedPurposeTypes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DetailedOriginator.java b/src/main/java/com/plaid/client/model/DetailedOriginator.java new file mode 100644 index 0000000000..48e35f6026 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DetailedOriginator.java @@ -0,0 +1,195 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferDiligenceStatus; +import com.plaid.client.model.TransferPlatformRequirement; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Originator and their status. + */ +@ApiModel(description = "Originator and their status.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DetailedOriginator { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_TRANSFER_DILIGENCE_STATUS = "transfer_diligence_status"; + @SerializedName(SERIALIZED_NAME_TRANSFER_DILIGENCE_STATUS) + private TransferDiligenceStatus transferDiligenceStatus; + + public static final String SERIALIZED_NAME_COMPANY_NAME = "company_name"; + @SerializedName(SERIALIZED_NAME_COMPANY_NAME) + private String companyName; + + public static final String SERIALIZED_NAME_OUTSTANDING_REQUIREMENTS = "outstanding_requirements"; + @SerializedName(SERIALIZED_NAME_OUTSTANDING_REQUIREMENTS) + private List outstandingRequirements = null; + + + public DetailedOriginator clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Originator's client ID. + * @return clientId + **/ + @ApiModelProperty(required = true, value = "Originator's client ID.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public DetailedOriginator transferDiligenceStatus(TransferDiligenceStatus transferDiligenceStatus) { + + this.transferDiligenceStatus = transferDiligenceStatus; + return this; + } + + /** + * Get transferDiligenceStatus + * @return transferDiligenceStatus + **/ + @ApiModelProperty(required = true, value = "") + + public TransferDiligenceStatus getTransferDiligenceStatus() { + return transferDiligenceStatus; + } + + + public void setTransferDiligenceStatus(TransferDiligenceStatus transferDiligenceStatus) { + this.transferDiligenceStatus = transferDiligenceStatus; + } + + + public DetailedOriginator companyName(String companyName) { + + this.companyName = companyName; + return this; + } + + /** + * The company name of the end customer. + * @return companyName + **/ + @ApiModelProperty(required = true, value = "The company name of the end customer.") + + public String getCompanyName() { + return companyName; + } + + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + + public DetailedOriginator outstandingRequirements(List outstandingRequirements) { + + this.outstandingRequirements = outstandingRequirements; + return this; + } + + public DetailedOriginator addOutstandingRequirementsItem(TransferPlatformRequirement outstandingRequirementsItem) { + if (this.outstandingRequirements == null) { + this.outstandingRequirements = new ArrayList<>(); + } + this.outstandingRequirements.add(outstandingRequirementsItem); + return this; + } + + /** + * List of outstanding requirements that must be submitted before Plaid can approve the originator. Only populated when `transfer_diligence_status` is `more_information_required`. + * @return outstandingRequirements + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of outstanding requirements that must be submitted before Plaid can approve the originator. Only populated when `transfer_diligence_status` is `more_information_required`.") + + public List getOutstandingRequirements() { + return outstandingRequirements; + } + + + public void setOutstandingRequirements(List outstandingRequirements) { + this.outstandingRequirements = outstandingRequirements; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DetailedOriginator detailedOriginator = (DetailedOriginator) o; + return Objects.equals(this.clientId, detailedOriginator.clientId) && + Objects.equals(this.transferDiligenceStatus, detailedOriginator.transferDiligenceStatus) && + Objects.equals(this.companyName, detailedOriginator.companyName) && + Objects.equals(this.outstandingRequirements, detailedOriginator.outstandingRequirements); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, transferDiligenceStatus, companyName, outstandingRequirements); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DetailedOriginator {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" transferDiligenceStatus: ").append(toIndentedString(transferDiligenceStatus)).append("\n"); + sb.append(" companyName: ").append(toIndentedString(companyName)).append("\n"); + sb.append(" outstandingRequirements: ").append(toIndentedString(outstandingRequirements)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DetectedAccount.java b/src/main/java/com/plaid/client/model/DetectedAccount.java new file mode 100644 index 0000000000..02c11df614 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DetectedAccount.java @@ -0,0 +1,300 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * A possible account detected to be associated with a transaction user. + */ +@ApiModel(description = "A possible account detected to be associated with a transaction user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DetectedAccount { + public static final String SERIALIZED_NAME_ACCOUNT_TYPE = "account_type"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_TYPE) + private String accountType; + + public static final String SERIALIZED_NAME_ACCOUNT_SUBTYPE = "account_subtype"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SUBTYPE) + private String accountSubtype; + + public static final String SERIALIZED_NAME_TRANSACTION_COUNT = "transaction_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_COUNT) + private Integer transactionCount; + + public static final String SERIALIZED_NAME_OLDEST_TRANSACTION_DATE = "oldest_transaction_date"; + @SerializedName(SERIALIZED_NAME_OLDEST_TRANSACTION_DATE) + private LocalDate oldestTransactionDate; + + public static final String SERIALIZED_NAME_NEWEST_TRANSACTION_DATE = "newest_transaction_date"; + @SerializedName(SERIALIZED_NAME_NEWEST_TRANSACTION_DATE) + private LocalDate newestTransactionDate; + + public static final String SERIALIZED_NAME_NEWEST_TRANSACTION_AMOUNT = "newest_transaction_amount"; + @SerializedName(SERIALIZED_NAME_NEWEST_TRANSACTION_AMOUNT) + private Double newestTransactionAmount; + + public static final String SERIALIZED_NAME_TOTAL_OUTFLOWS = "total_outflows"; + @SerializedName(SERIALIZED_NAME_TOTAL_OUTFLOWS) + private Double totalOutflows; + + public static final String SERIALIZED_NAME_TOTAL_INFLOWS = "total_inflows"; + @SerializedName(SERIALIZED_NAME_TOTAL_INFLOWS) + private Double totalInflows; + + + public DetectedAccount accountType(String accountType) { + + this.accountType = accountType; + return this; + } + + /** + * The detected account type (depository, credit, loan, investment etc.). + * @return accountType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The detected account type (depository, credit, loan, investment etc.).") + + public String getAccountType() { + return accountType; + } + + + public void setAccountType(String accountType) { + this.accountType = accountType; + } + + + public DetectedAccount accountSubtype(String accountSubtype) { + + this.accountSubtype = accountSubtype; + return this; + } + + /** + * The detected subtype of the account, based on the transactions to/from the institution. + * @return accountSubtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The detected subtype of the account, based on the transactions to/from the institution.") + + public String getAccountSubtype() { + return accountSubtype; + } + + + public void setAccountSubtype(String accountSubtype) { + this.accountSubtype = accountSubtype; + } + + + public DetectedAccount transactionCount(Integer transactionCount) { + + this.transactionCount = transactionCount; + return this; + } + + /** + * The number of transactions associated with this detected account type at this financial institution. + * @return transactionCount + **/ + @ApiModelProperty(required = true, value = "The number of transactions associated with this detected account type at this financial institution.") + + public Integer getTransactionCount() { + return transactionCount; + } + + + public void setTransactionCount(Integer transactionCount) { + this.transactionCount = transactionCount; + } + + + public DetectedAccount oldestTransactionDate(LocalDate oldestTransactionDate) { + + this.oldestTransactionDate = oldestTransactionDate; + return this; + } + + /** + * The date of the oldest transaction associated with this detected account type at this financial institution. + * @return oldestTransactionDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date of the oldest transaction associated with this detected account type at this financial institution.") + + public LocalDate getOldestTransactionDate() { + return oldestTransactionDate; + } + + + public void setOldestTransactionDate(LocalDate oldestTransactionDate) { + this.oldestTransactionDate = oldestTransactionDate; + } + + + public DetectedAccount newestTransactionDate(LocalDate newestTransactionDate) { + + this.newestTransactionDate = newestTransactionDate; + return this; + } + + /** + * The date of the newest transaction associated with this detected account type at this financial institution. + * @return newestTransactionDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date of the newest transaction associated with this detected account type at this financial institution.") + + public LocalDate getNewestTransactionDate() { + return newestTransactionDate; + } + + + public void setNewestTransactionDate(LocalDate newestTransactionDate) { + this.newestTransactionDate = newestTransactionDate; + } + + + public DetectedAccount newestTransactionAmount(Double newestTransactionAmount) { + + this.newestTransactionAmount = newestTransactionAmount; + return this; + } + + /** + * Amount of the most recent transaction associated with this detected account type at this financial institution. + * @return newestTransactionAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Amount of the most recent transaction associated with this detected account type at this financial institution.") + + public Double getNewestTransactionAmount() { + return newestTransactionAmount; + } + + + public void setNewestTransactionAmount(Double newestTransactionAmount) { + this.newestTransactionAmount = newestTransactionAmount; + } + + + public DetectedAccount totalOutflows(Double totalOutflows) { + + this.totalOutflows = totalOutflows; + return this; + } + + /** + * Sum of outflow amounts associated with this detected account type at this financial institution. + * @return totalOutflows + **/ + @ApiModelProperty(required = true, value = "Sum of outflow amounts associated with this detected account type at this financial institution.") + + public Double getTotalOutflows() { + return totalOutflows; + } + + + public void setTotalOutflows(Double totalOutflows) { + this.totalOutflows = totalOutflows; + } + + + public DetectedAccount totalInflows(Double totalInflows) { + + this.totalInflows = totalInflows; + return this; + } + + /** + * Sum of inflow amounts associated with this detected account type at this financial institution. + * @return totalInflows + **/ + @ApiModelProperty(required = true, value = "Sum of inflow amounts associated with this detected account type at this financial institution.") + + public Double getTotalInflows() { + return totalInflows; + } + + + public void setTotalInflows(Double totalInflows) { + this.totalInflows = totalInflows; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DetectedAccount detectedAccount = (DetectedAccount) o; + return Objects.equals(this.accountType, detectedAccount.accountType) && + Objects.equals(this.accountSubtype, detectedAccount.accountSubtype) && + Objects.equals(this.transactionCount, detectedAccount.transactionCount) && + Objects.equals(this.oldestTransactionDate, detectedAccount.oldestTransactionDate) && + Objects.equals(this.newestTransactionDate, detectedAccount.newestTransactionDate) && + Objects.equals(this.newestTransactionAmount, detectedAccount.newestTransactionAmount) && + Objects.equals(this.totalOutflows, detectedAccount.totalOutflows) && + Objects.equals(this.totalInflows, detectedAccount.totalInflows); + } + + @Override + public int hashCode() { + return Objects.hash(accountType, accountSubtype, transactionCount, oldestTransactionDate, newestTransactionDate, newestTransactionAmount, totalOutflows, totalInflows); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DetectedAccount {\n"); + sb.append(" accountType: ").append(toIndentedString(accountType)).append("\n"); + sb.append(" accountSubtype: ").append(toIndentedString(accountSubtype)).append("\n"); + sb.append(" transactionCount: ").append(toIndentedString(transactionCount)).append("\n"); + sb.append(" oldestTransactionDate: ").append(toIndentedString(oldestTransactionDate)).append("\n"); + sb.append(" newestTransactionDate: ").append(toIndentedString(newestTransactionDate)).append("\n"); + sb.append(" newestTransactionAmount: ").append(toIndentedString(newestTransactionAmount)).append("\n"); + sb.append(" totalOutflows: ").append(toIndentedString(totalOutflows)).append("\n"); + sb.append(" totalInflows: ").append(toIndentedString(totalInflows)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DeviceId.java b/src/main/java/com/plaid/client/model/DeviceId.java new file mode 100644 index 0000000000..3182603b9c --- /dev/null +++ b/src/main/java/com/plaid/client/model/DeviceId.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Device ID associated with the device used during the previous Link session + */ +@ApiModel(description = "Device ID associated with the device used during the previous Link session") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DeviceId { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private Integer type; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + + public DeviceId type(Integer type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Integer getType() { + return type; + } + + + public void setType(Integer type) { + this.type = type; + } + + + public DeviceId id(String id) { + + this.id = id; + return this; + } + + /** + * Identifier for the device + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifier for the device") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeviceId deviceId = (DeviceId) o; + return Objects.equals(this.type, deviceId.type) && + Objects.equals(this.id, deviceId.id); + } + + @Override + public int hashCode() { + return Objects.hash(type, id); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DeviceId {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DistributionBreakdown.java b/src/main/java/com/plaid/client/model/DistributionBreakdown.java new file mode 100644 index 0000000000..dcbe76a0b7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DistributionBreakdown.java @@ -0,0 +1,303 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Pay; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the accounts that the payment was distributed to. + */ +@ApiModel(description = "Information about the accounts that the payment was distributed to.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DistributionBreakdown { + public static final String SERIALIZED_NAME_ACCOUNT_NAME = "account_name"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NAME) + private String accountName; + + public static final String SERIALIZED_NAME_BANK_NAME = "bank_name"; + @SerializedName(SERIALIZED_NAME_BANK_NAME) + private String bankName; + + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_CURRENT_PAY = "current_pay"; + @SerializedName(SERIALIZED_NAME_CURRENT_PAY) + private Pay currentPay; + + + public DistributionBreakdown accountName(String accountName) { + + this.accountName = accountName; + return this; + } + + /** + * Name of the account for the given distribution. + * @return accountName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the account for the given distribution.") + + public String getAccountName() { + return accountName; + } + + + public void setAccountName(String accountName) { + this.accountName = accountName; + } + + + public DistributionBreakdown bankName(String bankName) { + + this.bankName = bankName; + return this; + } + + /** + * The name of the bank that the payment is being deposited to. + * @return bankName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the bank that the payment is being deposited to.") + + public String getBankName() { + return bankName; + } + + + public void setBankName(String bankName) { + this.bankName = bankName; + } + + + public DistributionBreakdown currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * The amount distributed to this account. + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount distributed to this account.") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public DistributionBreakdown isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public DistributionBreakdown mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The last 2-4 alphanumeric characters of an account's official account number.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public DistributionBreakdown type(String type) { + + this.type = type; + return this; + } + + /** + * Type of the account that the paystub was sent to (e.g. 'checking'). + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Type of the account that the paystub was sent to (e.g. 'checking').") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public DistributionBreakdown unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public DistributionBreakdown currentPay(Pay currentPay) { + + this.currentPay = currentPay; + return this; + } + + /** + * Get currentPay + * @return currentPay + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Pay getCurrentPay() { + return currentPay; + } + + + public void setCurrentPay(Pay currentPay) { + this.currentPay = currentPay; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DistributionBreakdown distributionBreakdown = (DistributionBreakdown) o; + return Objects.equals(this.accountName, distributionBreakdown.accountName) && + Objects.equals(this.bankName, distributionBreakdown.bankName) && + Objects.equals(this.currentAmount, distributionBreakdown.currentAmount) && + Objects.equals(this.isoCurrencyCode, distributionBreakdown.isoCurrencyCode) && + Objects.equals(this.mask, distributionBreakdown.mask) && + Objects.equals(this.type, distributionBreakdown.type) && + Objects.equals(this.unofficialCurrencyCode, distributionBreakdown.unofficialCurrencyCode) && + Objects.equals(this.currentPay, distributionBreakdown.currentPay); + } + + @Override + public int hashCode() { + return Objects.hash(accountName, bankName, currentAmount, isoCurrencyCode, mask, type, unofficialCurrencyCode, currentPay); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DistributionBreakdown {\n"); + sb.append(" accountName: ").append(toIndentedString(accountName)).append("\n"); + sb.append(" bankName: ").append(toIndentedString(bankName)).append("\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" currentPay: ").append(toIndentedString(currentPay)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DocType.java b/src/main/java/com/plaid/client/model/DocType.java new file mode 100644 index 0000000000..df7b55736e --- /dev/null +++ b/src/main/java/com/plaid/client/model/DocType.java @@ -0,0 +1,101 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of document. `DOCUMENT_TYPE_PAYSTUB`: A paystub. `DOCUMENT_TYPE_BANK_STATEMENT`: A bank statement. `DOCUMENT_TYPE_US_TAX_W2`: A W-2 wage and tax statement provided by a US employer reflecting wages earned by the employee. `DOCUMENT_TYPE_US_MILITARY_ERAS`: An electronic Retirement Account Statement (eRAS) issued by the US military. `DOCUMENT_TYPE_US_MILITARY_LES`: A Leave and Earnings Statement (LES) issued by the US military. `DOCUMENT_TYPE_US_MILITARY_CLES`: A Civilian Leave and Earnings Statement (CLES) issued by the US military. `DOCUMENT_TYPE_GIG`: Used to indicate that the income is related to gig work. Does not necessarily correspond to a specific document type. `DOCUMENT_TYPE_NONE`: Used to indicate that there is no underlying document for the data. `DOCUMENT_TYPE_US_TAX_1099_MISC`: A Form 1099-MISC information return reporting miscellaneous income. `DOCUMENT_TYPE_US_TAX_1099_K`: A Form 1099-K information return reporting payment card and third-party network transactions. `DOCUMENT_TYPE_PLAID_GENERATED_PAYSTUB_PDF`: Used to indicate that the PDF for the paystub was generated by Plaid. `DOCUMENT_TYPE_US_STUDENT_I20`: A Form I-20 Certificate of Eligibility for Nonimmigrant Student Status. `UNKNOWN`: Document type could not be determined. + */ +@JsonAdapter(DocType.Adapter.class) +public enum DocType { + + UNKNOWN("UNKNOWN"), + + DOCUMENT_TYPE_PAYSTUB("DOCUMENT_TYPE_PAYSTUB"), + + DOCUMENT_TYPE_BANK_STATEMENT("DOCUMENT_TYPE_BANK_STATEMENT"), + + DOCUMENT_TYPE_US_TAX_W2("DOCUMENT_TYPE_US_TAX_W2"), + + DOCUMENT_TYPE_US_MILITARY_ERAS("DOCUMENT_TYPE_US_MILITARY_ERAS"), + + DOCUMENT_TYPE_US_MILITARY_LES("DOCUMENT_TYPE_US_MILITARY_LES"), + + DOCUMENT_TYPE_US_MILITARY_CLES("DOCUMENT_TYPE_US_MILITARY_CLES"), + + DOCUMENT_TYPE_GIG("DOCUMENT_TYPE_GIG"), + + DOCUMENT_TYPE_NONE("DOCUMENT_TYPE_NONE"), + + DOCUMENT_TYPE_US_TAX_1099_MISC("DOCUMENT_TYPE_US_TAX_1099_MISC"), + + DOCUMENT_TYPE_US_TAX_1099_K("DOCUMENT_TYPE_US_TAX_1099_K"), + + DOCUMENT_TYPE_PLAID_GENERATED_PAYSTUB_PDF("DOCUMENT_TYPE_PLAID_GENERATED_PAYSTUB_PDF"), + + DOCUMENT_TYPE_US_STUDENT_I20("DOCUMENT_TYPE_US_STUDENT_I20"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + DocType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DocType fromValue(String value) { + for (DocType b : DocType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return DocType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final DocType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DocType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DocType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/DocumentAnalysis.java b/src/main/java/com/plaid/client/model/DocumentAnalysis.java new file mode 100644 index 0000000000..e7b4c8f42e --- /dev/null +++ b/src/main/java/com/plaid/client/model/DocumentAnalysis.java @@ -0,0 +1,278 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AAMVAAnalysis; +import com.plaid.client.model.DocumentAuthenticityMatchCode; +import com.plaid.client.model.FraudAnalysisDetails; +import com.plaid.client.model.HumanReview; +import com.plaid.client.model.ImageQuality; +import com.plaid.client.model.ImageQualityDetails; +import com.plaid.client.model.PhysicalDocumentExtractedDataAnalysis; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * High level descriptions of how the associated document was processed. If a document fails verification, the details in the `analysis` object should help clarify why the document was rejected. + */ +@ApiModel(description = "High level descriptions of how the associated document was processed. If a document fails verification, the details in the `analysis` object should help clarify why the document was rejected.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DocumentAnalysis { + public static final String SERIALIZED_NAME_AUTHENTICITY = "authenticity"; + @SerializedName(SERIALIZED_NAME_AUTHENTICITY) + private DocumentAuthenticityMatchCode authenticity; + + public static final String SERIALIZED_NAME_IMAGE_QUALITY = "image_quality"; + @SerializedName(SERIALIZED_NAME_IMAGE_QUALITY) + private ImageQuality imageQuality; + + public static final String SERIALIZED_NAME_EXTRACTED_DATA = "extracted_data"; + @SerializedName(SERIALIZED_NAME_EXTRACTED_DATA) + private PhysicalDocumentExtractedDataAnalysis extractedData; + + public static final String SERIALIZED_NAME_FRAUD_ANALYSIS_DETAILS = "fraud_analysis_details"; + @SerializedName(SERIALIZED_NAME_FRAUD_ANALYSIS_DETAILS) + private FraudAnalysisDetails fraudAnalysisDetails; + + public static final String SERIALIZED_NAME_IMAGE_QUALITY_DETAILS = "image_quality_details"; + @SerializedName(SERIALIZED_NAME_IMAGE_QUALITY_DETAILS) + private ImageQualityDetails imageQualityDetails; + + public static final String SERIALIZED_NAME_HUMAN_REVIEW = "human_review"; + @SerializedName(SERIALIZED_NAME_HUMAN_REVIEW) + private HumanReview humanReview; + + public static final String SERIALIZED_NAME_AAMVA_VERIFICATION = "aamva_verification"; + @SerializedName(SERIALIZED_NAME_AAMVA_VERIFICATION) + private AAMVAAnalysis aamvaVerification; + + + public DocumentAnalysis authenticity(DocumentAuthenticityMatchCode authenticity) { + + this.authenticity = authenticity; + return this; + } + + /** + * Get authenticity + * @return authenticity + **/ + @ApiModelProperty(required = true, value = "") + + public DocumentAuthenticityMatchCode getAuthenticity() { + return authenticity; + } + + + public void setAuthenticity(DocumentAuthenticityMatchCode authenticity) { + this.authenticity = authenticity; + } + + + public DocumentAnalysis imageQuality(ImageQuality imageQuality) { + + this.imageQuality = imageQuality; + return this; + } + + /** + * Get imageQuality + * @return imageQuality + **/ + @ApiModelProperty(required = true, value = "") + + public ImageQuality getImageQuality() { + return imageQuality; + } + + + public void setImageQuality(ImageQuality imageQuality) { + this.imageQuality = imageQuality; + } + + + public DocumentAnalysis extractedData(PhysicalDocumentExtractedDataAnalysis extractedData) { + + this.extractedData = extractedData; + return this; + } + + /** + * Get extractedData + * @return extractedData + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PhysicalDocumentExtractedDataAnalysis getExtractedData() { + return extractedData; + } + + + public void setExtractedData(PhysicalDocumentExtractedDataAnalysis extractedData) { + this.extractedData = extractedData; + } + + + public DocumentAnalysis fraudAnalysisDetails(FraudAnalysisDetails fraudAnalysisDetails) { + + this.fraudAnalysisDetails = fraudAnalysisDetails; + return this; + } + + /** + * Get fraudAnalysisDetails + * @return fraudAnalysisDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public FraudAnalysisDetails getFraudAnalysisDetails() { + return fraudAnalysisDetails; + } + + + public void setFraudAnalysisDetails(FraudAnalysisDetails fraudAnalysisDetails) { + this.fraudAnalysisDetails = fraudAnalysisDetails; + } + + + public DocumentAnalysis imageQualityDetails(ImageQualityDetails imageQualityDetails) { + + this.imageQualityDetails = imageQualityDetails; + return this; + } + + /** + * Get imageQualityDetails + * @return imageQualityDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public ImageQualityDetails getImageQualityDetails() { + return imageQualityDetails; + } + + + public void setImageQualityDetails(ImageQualityDetails imageQualityDetails) { + this.imageQualityDetails = imageQualityDetails; + } + + + public DocumentAnalysis humanReview(HumanReview humanReview) { + + this.humanReview = humanReview; + return this; + } + + /** + * Get humanReview + * @return humanReview + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public HumanReview getHumanReview() { + return humanReview; + } + + + public void setHumanReview(HumanReview humanReview) { + this.humanReview = humanReview; + } + + + public DocumentAnalysis aamvaVerification(AAMVAAnalysis aamvaVerification) { + + this.aamvaVerification = aamvaVerification; + return this; + } + + /** + * Get aamvaVerification + * @return aamvaVerification + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AAMVAAnalysis getAamvaVerification() { + return aamvaVerification; + } + + + public void setAamvaVerification(AAMVAAnalysis aamvaVerification) { + this.aamvaVerification = aamvaVerification; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DocumentAnalysis documentAnalysis = (DocumentAnalysis) o; + return Objects.equals(this.authenticity, documentAnalysis.authenticity) && + Objects.equals(this.imageQuality, documentAnalysis.imageQuality) && + Objects.equals(this.extractedData, documentAnalysis.extractedData) && + Objects.equals(this.fraudAnalysisDetails, documentAnalysis.fraudAnalysisDetails) && + Objects.equals(this.imageQualityDetails, documentAnalysis.imageQualityDetails) && + Objects.equals(this.humanReview, documentAnalysis.humanReview) && + Objects.equals(this.aamvaVerification, documentAnalysis.aamvaVerification); + } + + @Override + public int hashCode() { + return Objects.hash(authenticity, imageQuality, extractedData, fraudAnalysisDetails, imageQualityDetails, humanReview, aamvaVerification); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DocumentAnalysis {\n"); + sb.append(" authenticity: ").append(toIndentedString(authenticity)).append("\n"); + sb.append(" imageQuality: ").append(toIndentedString(imageQuality)).append("\n"); + sb.append(" extractedData: ").append(toIndentedString(extractedData)).append("\n"); + sb.append(" fraudAnalysisDetails: ").append(toIndentedString(fraudAnalysisDetails)).append("\n"); + sb.append(" imageQualityDetails: ").append(toIndentedString(imageQualityDetails)).append("\n"); + sb.append(" humanReview: ").append(toIndentedString(humanReview)).append("\n"); + sb.append(" aamvaVerification: ").append(toIndentedString(aamvaVerification)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DocumentAuthenticityMatchCode.java b/src/main/java/com/plaid/client/model/DocumentAuthenticityMatchCode.java new file mode 100644 index 0000000000..796c7ad176 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DocumentAuthenticityMatchCode.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * High level summary of whether the document in the provided image matches the formatting rules and security checks for the associated jurisdiction. For example, most identity documents have formatting rules like the following: The image of the person's face must have a certain contrast in order to highlight skin tone The subject in the document's image must remove eye glasses and pose in a certain way The informational fields (name, date of birth, ID number, etc.) must be colored and aligned according to specific rules Security features like watermarks and background patterns must be present So a `match` status for this field indicates that the document in the provided image seems to conform to the various formatting and security rules associated with the detected document. + */ +@JsonAdapter(DocumentAuthenticityMatchCode.Adapter.class) +public enum DocumentAuthenticityMatchCode { + + MATCH("match"), + + PARTIAL_MATCH("partial_match"), + + NO_MATCH("no_match"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + DocumentAuthenticityMatchCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DocumentAuthenticityMatchCode fromValue(String value) { + for (DocumentAuthenticityMatchCode b : DocumentAuthenticityMatchCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return DocumentAuthenticityMatchCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final DocumentAuthenticityMatchCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DocumentAuthenticityMatchCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DocumentAuthenticityMatchCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/DocumentDateOfBirthMatchCode.java b/src/main/java/com/plaid/client/model/DocumentDateOfBirthMatchCode.java new file mode 100644 index 0000000000..03f6bd26c4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DocumentDateOfBirthMatchCode.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A match summary describing the cross comparison between the subject's date of birth, extracted from the document image, and the date of birth they separately provided to the identity verification attempt. + */ +@JsonAdapter(DocumentDateOfBirthMatchCode.Adapter.class) +public enum DocumentDateOfBirthMatchCode { + + MATCH("match"), + + PARTIAL_MATCH("partial_match"), + + NO_MATCH("no_match"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + DocumentDateOfBirthMatchCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DocumentDateOfBirthMatchCode fromValue(String value) { + for (DocumentDateOfBirthMatchCode b : DocumentDateOfBirthMatchCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return DocumentDateOfBirthMatchCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final DocumentDateOfBirthMatchCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DocumentDateOfBirthMatchCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DocumentDateOfBirthMatchCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/DocumentMetadata.java b/src/main/java/com/plaid/client/model/DocumentMetadata.java new file mode 100644 index 0000000000..2f74a9fc44 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DocumentMetadata.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing metadata from the end user's uploaded document. + */ +@ApiModel(description = "An object representing metadata from the end user's uploaded document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DocumentMetadata { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private String status; + + public static final String SERIALIZED_NAME_DOC_ID = "doc_id"; + @SerializedName(SERIALIZED_NAME_DOC_ID) + private String docId; + + public static final String SERIALIZED_NAME_DOC_TYPE = "doc_type"; + @SerializedName(SERIALIZED_NAME_DOC_TYPE) + private DocType docType; + + + public DocumentMetadata name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the document. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the document.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public DocumentMetadata status(String status) { + + this.status = status; + return this; + } + + /** + * The processing status of the document. `PROCESSING_COMPLETE`: The document was successfully processed. `DOCUMENT_ERROR`: The document could not be processed. Possible causes include: The document was an unacceptable document type such as an offer letter or bank statement, the document image was cropped or blurry, or the document was corrupted. `UNKNOWN` or `null`: An internal error occurred. If this happens repeatedly, contact support or your Plaid account manager. + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The processing status of the document. `PROCESSING_COMPLETE`: The document was successfully processed. `DOCUMENT_ERROR`: The document could not be processed. Possible causes include: The document was an unacceptable document type such as an offer letter or bank statement, the document image was cropped or blurry, or the document was corrupted. `UNKNOWN` or `null`: An internal error occurred. If this happens repeatedly, contact support or your Plaid account manager.") + + public String getStatus() { + return status; + } + + + public void setStatus(String status) { + this.status = status; + } + + + public DocumentMetadata docId(String docId) { + + this.docId = docId; + return this; + } + + /** + * An identifier of the document that is also present in the paystub response. + * @return docId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An identifier of the document that is also present in the paystub response.") + + public String getDocId() { + return docId; + } + + + public void setDocId(String docId) { + this.docId = docId; + } + + + public DocumentMetadata docType(DocType docType) { + + this.docType = docType; + return this; + } + + /** + * Get docType + * @return docType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public DocType getDocType() { + return docType; + } + + + public void setDocType(DocType docType) { + this.docType = docType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DocumentMetadata documentMetadata = (DocumentMetadata) o; + return Objects.equals(this.name, documentMetadata.name) && + Objects.equals(this.status, documentMetadata.status) && + Objects.equals(this.docId, documentMetadata.docId) && + Objects.equals(this.docType, documentMetadata.docType); + } + + @Override + public int hashCode() { + return Objects.hash(name, status, docId, docType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DocumentMetadata {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" docId: ").append(toIndentedString(docId)).append("\n"); + sb.append(" docType: ").append(toIndentedString(docType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DocumentNameMatchCode.java b/src/main/java/com/plaid/client/model/DocumentNameMatchCode.java new file mode 100644 index 0000000000..e53dbc6e04 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DocumentNameMatchCode.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A match summary describing the cross comparison between the subject's name, extracted from the document image, and the name they separately provided to the identity verification attempt. + */ +@JsonAdapter(DocumentNameMatchCode.Adapter.class) +public enum DocumentNameMatchCode { + + MATCH("match"), + + PARTIAL_MATCH("partial_match"), + + NO_MATCH("no_match"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + DocumentNameMatchCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DocumentNameMatchCode fromValue(String value) { + for (DocumentNameMatchCode b : DocumentNameMatchCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return DocumentNameMatchCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final DocumentNameMatchCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DocumentNameMatchCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DocumentNameMatchCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/DocumentRiskSignal.java b/src/main/java/com/plaid/client/model/DocumentRiskSignal.java new file mode 100644 index 0000000000..fbd8b4acae --- /dev/null +++ b/src/main/java/com/plaid/client/model/DocumentRiskSignal.java @@ -0,0 +1,303 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocumentRiskSignalInstitutionMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details about a certain reason as to why a document could potentially be fraudulent. + */ +@ApiModel(description = "Details about a certain reason as to why a document could potentially be fraudulent.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DocumentRiskSignal { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_FIELD = "field"; + @SerializedName(SERIALIZED_NAME_FIELD) + private String field; + + public static final String SERIALIZED_NAME_HAS_FRAUD_RISK = "has_fraud_risk"; + @SerializedName(SERIALIZED_NAME_HAS_FRAUD_RISK) + private Boolean hasFraudRisk; + + public static final String SERIALIZED_NAME_INSTITUTION_METADATA = "institution_metadata"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_METADATA) + private DocumentRiskSignalInstitutionMetadata institutionMetadata; + + public static final String SERIALIZED_NAME_EXPECTED_VALUE = "expected_value"; + @SerializedName(SERIALIZED_NAME_EXPECTED_VALUE) + private String expectedValue; + + public static final String SERIALIZED_NAME_ACTUAL_VALUE = "actual_value"; + @SerializedName(SERIALIZED_NAME_ACTUAL_VALUE) + private String actualValue; + + public static final String SERIALIZED_NAME_SIGNAL_DESCRIPTION = "signal_description"; + @SerializedName(SERIALIZED_NAME_SIGNAL_DESCRIPTION) + private String signalDescription; + + public static final String SERIALIZED_NAME_PAGE_NUMBER = "page_number"; + @SerializedName(SERIALIZED_NAME_PAGE_NUMBER) + private Integer pageNumber; + + + public DocumentRiskSignal type(String type) { + + this.type = type; + return this; + } + + /** + * The type of risk found in the risk signal check. + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The type of risk found in the risk signal check.") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public DocumentRiskSignal field(String field) { + + this.field = field; + return this; + } + + /** + * The field which the risk signal was computed for + * @return field + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The field which the risk signal was computed for") + + public String getField() { + return field; + } + + + public void setField(String field) { + this.field = field; + } + + + public DocumentRiskSignal hasFraudRisk(Boolean hasFraudRisk) { + + this.hasFraudRisk = hasFraudRisk; + return this; + } + + /** + * A flag used to quickly identify if the signal indicates that this field is authentic or fraudulent + * @return hasFraudRisk + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A flag used to quickly identify if the signal indicates that this field is authentic or fraudulent") + + public Boolean getHasFraudRisk() { + return hasFraudRisk; + } + + + public void setHasFraudRisk(Boolean hasFraudRisk) { + this.hasFraudRisk = hasFraudRisk; + } + + + public DocumentRiskSignal institutionMetadata(DocumentRiskSignalInstitutionMetadata institutionMetadata) { + + this.institutionMetadata = institutionMetadata; + return this; + } + + /** + * Get institutionMetadata + * @return institutionMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public DocumentRiskSignalInstitutionMetadata getInstitutionMetadata() { + return institutionMetadata; + } + + + public void setInstitutionMetadata(DocumentRiskSignalInstitutionMetadata institutionMetadata) { + this.institutionMetadata = institutionMetadata; + } + + + public DocumentRiskSignal expectedValue(String expectedValue) { + + this.expectedValue = expectedValue; + return this; + } + + /** + * The expected value of the field, as seen on the document + * @return expectedValue + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The expected value of the field, as seen on the document") + + public String getExpectedValue() { + return expectedValue; + } + + + public void setExpectedValue(String expectedValue) { + this.expectedValue = expectedValue; + } + + + public DocumentRiskSignal actualValue(String actualValue) { + + this.actualValue = actualValue; + return this; + } + + /** + * The derived value obtained in the risk signal calculation process for this field + * @return actualValue + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The derived value obtained in the risk signal calculation process for this field") + + public String getActualValue() { + return actualValue; + } + + + public void setActualValue(String actualValue) { + this.actualValue = actualValue; + } + + + public DocumentRiskSignal signalDescription(String signalDescription) { + + this.signalDescription = signalDescription; + return this; + } + + /** + * A human-readable explanation providing more detail into the particular risk signal + * @return signalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A human-readable explanation providing more detail into the particular risk signal") + + public String getSignalDescription() { + return signalDescription; + } + + + public void setSignalDescription(String signalDescription) { + this.signalDescription = signalDescription; + } + + + public DocumentRiskSignal pageNumber(Integer pageNumber) { + + this.pageNumber = pageNumber; + return this; + } + + /** + * The relevant page associated with the risk signal. If the risk signal is not associated with a specific page, the value will be 0. + * @return pageNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The relevant page associated with the risk signal. If the risk signal is not associated with a specific page, the value will be 0.") + + public Integer getPageNumber() { + return pageNumber; + } + + + public void setPageNumber(Integer pageNumber) { + this.pageNumber = pageNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DocumentRiskSignal documentRiskSignal = (DocumentRiskSignal) o; + return Objects.equals(this.type, documentRiskSignal.type) && + Objects.equals(this.field, documentRiskSignal.field) && + Objects.equals(this.hasFraudRisk, documentRiskSignal.hasFraudRisk) && + Objects.equals(this.institutionMetadata, documentRiskSignal.institutionMetadata) && + Objects.equals(this.expectedValue, documentRiskSignal.expectedValue) && + Objects.equals(this.actualValue, documentRiskSignal.actualValue) && + Objects.equals(this.signalDescription, documentRiskSignal.signalDescription) && + Objects.equals(this.pageNumber, documentRiskSignal.pageNumber); + } + + @Override + public int hashCode() { + return Objects.hash(type, field, hasFraudRisk, institutionMetadata, expectedValue, actualValue, signalDescription, pageNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DocumentRiskSignal {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" field: ").append(toIndentedString(field)).append("\n"); + sb.append(" hasFraudRisk: ").append(toIndentedString(hasFraudRisk)).append("\n"); + sb.append(" institutionMetadata: ").append(toIndentedString(institutionMetadata)).append("\n"); + sb.append(" expectedValue: ").append(toIndentedString(expectedValue)).append("\n"); + sb.append(" actualValue: ").append(toIndentedString(actualValue)).append("\n"); + sb.append(" signalDescription: ").append(toIndentedString(signalDescription)).append("\n"); + sb.append(" pageNumber: ").append(toIndentedString(pageNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DocumentRiskSignalInstitutionMetadata.java b/src/main/java/com/plaid/client/model/DocumentRiskSignalInstitutionMetadata.java new file mode 100644 index 0000000000..97059bc3d4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DocumentRiskSignalInstitutionMetadata.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object which contains additional metadata about the institution used to compute the verification attribute + */ +@ApiModel(description = "An object which contains additional metadata about the institution used to compute the verification attribute") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DocumentRiskSignalInstitutionMetadata { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + + public DocumentRiskSignalInstitutionMetadata itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DocumentRiskSignalInstitutionMetadata documentRiskSignalInstitutionMetadata = (DocumentRiskSignalInstitutionMetadata) o; + return Objects.equals(this.itemId, documentRiskSignalInstitutionMetadata.itemId); + } + + @Override + public int hashCode() { + return Objects.hash(itemId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DocumentRiskSignalInstitutionMetadata {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DocumentRiskSignalsObject.java b/src/main/java/com/plaid/client/model/DocumentRiskSignalsObject.java new file mode 100644 index 0000000000..75a96d8def --- /dev/null +++ b/src/main/java/com/plaid/client/model/DocumentRiskSignalsObject.java @@ -0,0 +1,169 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MultiDocumentRiskSignal; +import com.plaid.client.model.SingleDocumentRiskSignal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Object containing fraud risk data for a set of income documents. + */ +@ApiModel(description = "Object containing fraud risk data for a set of income documents.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DocumentRiskSignalsObject { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_SINGLE_DOCUMENT_RISK_SIGNALS = "single_document_risk_signals"; + @SerializedName(SERIALIZED_NAME_SINGLE_DOCUMENT_RISK_SIGNALS) + private List singleDocumentRiskSignals = new ArrayList<>(); + + public static final String SERIALIZED_NAME_MULTI_DOCUMENT_RISK_SIGNALS = "multi_document_risk_signals"; + @SerializedName(SERIALIZED_NAME_MULTI_DOCUMENT_RISK_SIGNALS) + private List multiDocumentRiskSignals = new ArrayList<>(); + + + public DocumentRiskSignalsObject accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * ID of the payroll provider account. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "ID of the payroll provider account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public DocumentRiskSignalsObject singleDocumentRiskSignals(List singleDocumentRiskSignals) { + + this.singleDocumentRiskSignals = singleDocumentRiskSignals; + return this; + } + + public DocumentRiskSignalsObject addSingleDocumentRiskSignalsItem(SingleDocumentRiskSignal singleDocumentRiskSignalsItem) { + this.singleDocumentRiskSignals.add(singleDocumentRiskSignalsItem); + return this; + } + + /** + * Array of document metadata and associated risk signals per document + * @return singleDocumentRiskSignals + **/ + @ApiModelProperty(required = true, value = "Array of document metadata and associated risk signals per document") + + public List getSingleDocumentRiskSignals() { + return singleDocumentRiskSignals; + } + + + public void setSingleDocumentRiskSignals(List singleDocumentRiskSignals) { + this.singleDocumentRiskSignals = singleDocumentRiskSignals; + } + + + public DocumentRiskSignalsObject multiDocumentRiskSignals(List multiDocumentRiskSignals) { + + this.multiDocumentRiskSignals = multiDocumentRiskSignals; + return this; + } + + public DocumentRiskSignalsObject addMultiDocumentRiskSignalsItem(MultiDocumentRiskSignal multiDocumentRiskSignalsItem) { + this.multiDocumentRiskSignals.add(multiDocumentRiskSignalsItem); + return this; + } + + /** + * Array of risk signals computed from a set of uploaded documents and the associated documents' metadata + * @return multiDocumentRiskSignals + **/ + @ApiModelProperty(required = true, value = "Array of risk signals computed from a set of uploaded documents and the associated documents' metadata") + + public List getMultiDocumentRiskSignals() { + return multiDocumentRiskSignals; + } + + + public void setMultiDocumentRiskSignals(List multiDocumentRiskSignals) { + this.multiDocumentRiskSignals = multiDocumentRiskSignals; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DocumentRiskSignalsObject documentRiskSignalsObject = (DocumentRiskSignalsObject) o; + return Objects.equals(this.accountId, documentRiskSignalsObject.accountId) && + Objects.equals(this.singleDocumentRiskSignals, documentRiskSignalsObject.singleDocumentRiskSignals) && + Objects.equals(this.multiDocumentRiskSignals, documentRiskSignalsObject.multiDocumentRiskSignals); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, singleDocumentRiskSignals, multiDocumentRiskSignals); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DocumentRiskSignalsObject {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" singleDocumentRiskSignals: ").append(toIndentedString(singleDocumentRiskSignals)).append("\n"); + sb.append(" multiDocumentRiskSignals: ").append(toIndentedString(multiDocumentRiskSignals)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DocumentRiskSummary.java b/src/main/java/com/plaid/client/model/DocumentRiskSummary.java new file mode 100644 index 0000000000..073ea86ddf --- /dev/null +++ b/src/main/java/com/plaid/client/model/DocumentRiskSummary.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * A summary across all risk signals associated with a document + */ +@ApiModel(description = "A summary across all risk signals associated with a document") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DocumentRiskSummary { + public static final String SERIALIZED_NAME_RISK_SCORE = "risk_score"; + @SerializedName(SERIALIZED_NAME_RISK_SCORE) + private Double riskScore; + + + public DocumentRiskSummary riskScore(Double riskScore) { + + this.riskScore = riskScore; + return this; + } + + /** + * A number between 0 and 100, inclusive, where a score closer to 0 indicates a document is likely to be trustworthy and a score closer to 100 indicates a document is likely to be fraudulent. You can automatically reject documents with a high risk score, automatically accept documents with a low risk score, and manually review documents in between. We suggest starting with a threshold of 80 for auto-rejection and 20 for auto-acceptance. As you gather more data points on typical risk scores for your use case, you can tune these parameters to reduce the number of documents undergoing manual review. + * @return riskScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A number between 0 and 100, inclusive, where a score closer to 0 indicates a document is likely to be trustworthy and a score closer to 100 indicates a document is likely to be fraudulent. You can automatically reject documents with a high risk score, automatically accept documents with a low risk score, and manually review documents in between. We suggest starting with a threshold of 80 for auto-rejection and 20 for auto-acceptance. As you gather more data points on typical risk scores for your use case, you can tune these parameters to reduce the number of documents undergoing manual review.") + + public Double getRiskScore() { + return riskScore; + } + + + public void setRiskScore(Double riskScore) { + this.riskScore = riskScore; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DocumentRiskSummary documentRiskSummary = (DocumentRiskSummary) o; + return Objects.equals(this.riskScore, documentRiskSummary.riskScore); + } + + @Override + public int hashCode() { + return Objects.hash(riskScore); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DocumentRiskSummary {\n"); + sb.append(" riskScore: ").append(toIndentedString(riskScore)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DocumentStatus.java b/src/main/java/com/plaid/client/model/DocumentStatus.java new file mode 100644 index 0000000000..733e4d3c18 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DocumentStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An outcome status for this specific document submission. Distinct from the overall `documentary_verification.status` that summarizes the verification outcome from one or more documents. + */ +@JsonAdapter(DocumentStatus.Adapter.class) +public enum DocumentStatus { + + SUCCESS("success"), + + FAILED("failed"), + + MANUALLY_APPROVED("manually_approved"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + DocumentStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DocumentStatus fromValue(String value) { + for (DocumentStatus b : DocumentStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return DocumentStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final DocumentStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DocumentStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DocumentStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/DocumentaryVerification.java b/src/main/java/com/plaid/client/model/DocumentaryVerification.java new file mode 100644 index 0000000000..9b40306323 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DocumentaryVerification.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocumentaryVerificationDocument; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Data, images, analysis, and results from the `documentary_verification` step. This field will be `null` unless `steps.documentary_verification` has reached a terminal state of either `success` or `failed`. + */ +@ApiModel(description = "Data, images, analysis, and results from the `documentary_verification` step. This field will be `null` unless `steps.documentary_verification` has reached a terminal state of either `success` or `failed`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DocumentaryVerification { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private String status; + + public static final String SERIALIZED_NAME_DOCUMENTS = "documents"; + @SerializedName(SERIALIZED_NAME_DOCUMENTS) + private List documents = new ArrayList<>(); + + + public DocumentaryVerification status(String status) { + + this.status = status; + return this; + } + + /** + * The outcome status for the associated Identity Verification attempt's `documentary_verification` step. This field will always have the same value as `steps.documentary_verification`. + * @return status + **/ + @ApiModelProperty(example = "success", required = true, value = "The outcome status for the associated Identity Verification attempt's `documentary_verification` step. This field will always have the same value as `steps.documentary_verification`.") + + public String getStatus() { + return status; + } + + + public void setStatus(String status) { + this.status = status; + } + + + public DocumentaryVerification documents(List documents) { + + this.documents = documents; + return this; + } + + public DocumentaryVerification addDocumentsItem(DocumentaryVerificationDocument documentsItem) { + this.documents.add(documentsItem); + return this; + } + + /** + * An array of documents submitted to the `documentary_verification` step. Each entry represents one user submission, where each submission will contain both a front and back image, or just a front image, depending on the document type. Note: Plaid will automatically let a user submit a new set of document images up to three times if we detect that a previous attempt might have failed due to user error. For example, if the first set of document images are blurry or obscured by glare, the user will be asked to capture their documents again, resulting in at least two separate entries within `documents`. If the overall `documentary_verification` is `failed`, the user has exhausted their retry attempts. + * @return documents + **/ + @ApiModelProperty(required = true, value = "An array of documents submitted to the `documentary_verification` step. Each entry represents one user submission, where each submission will contain both a front and back image, or just a front image, depending on the document type. Note: Plaid will automatically let a user submit a new set of document images up to three times if we detect that a previous attempt might have failed due to user error. For example, if the first set of document images are blurry or obscured by glare, the user will be asked to capture their documents again, resulting in at least two separate entries within `documents`. If the overall `documentary_verification` is `failed`, the user has exhausted their retry attempts.") + + public List getDocuments() { + return documents; + } + + + public void setDocuments(List documents) { + this.documents = documents; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DocumentaryVerification documentaryVerification = (DocumentaryVerification) o; + return Objects.equals(this.status, documentaryVerification.status) && + Objects.equals(this.documents, documentaryVerification.documents); + } + + @Override + public int hashCode() { + return Objects.hash(status, documents); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DocumentaryVerification {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" documents: ").append(toIndentedString(documents)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/DocumentaryVerificationDocument.java b/src/main/java/com/plaid/client/model/DocumentaryVerificationDocument.java new file mode 100644 index 0000000000..ede9879da4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/DocumentaryVerificationDocument.java @@ -0,0 +1,245 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocumentAnalysis; +import com.plaid.client.model.DocumentStatus; +import com.plaid.client.model.PhysicalDocumentExtractedData; +import com.plaid.client.model.PhysicalDocumentImages; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Images, extracted data, and analysis from a user's identity document + */ +@ApiModel(description = "Images, extracted data, and analysis from a user's identity document") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class DocumentaryVerificationDocument { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private DocumentStatus status; + + public static final String SERIALIZED_NAME_ATTEMPT = "attempt"; + @SerializedName(SERIALIZED_NAME_ATTEMPT) + private Integer attempt; + + public static final String SERIALIZED_NAME_IMAGES = "images"; + @SerializedName(SERIALIZED_NAME_IMAGES) + private PhysicalDocumentImages images; + + public static final String SERIALIZED_NAME_EXTRACTED_DATA = "extracted_data"; + @SerializedName(SERIALIZED_NAME_EXTRACTED_DATA) + private PhysicalDocumentExtractedData extractedData; + + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private DocumentAnalysis analysis; + + public static final String SERIALIZED_NAME_REDACTED_AT = "redacted_at"; + @SerializedName(SERIALIZED_NAME_REDACTED_AT) + private OffsetDateTime redactedAt; + + + public DocumentaryVerificationDocument status(DocumentStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public DocumentStatus getStatus() { + return status; + } + + + public void setStatus(DocumentStatus status) { + this.status = status; + } + + + public DocumentaryVerificationDocument attempt(Integer attempt) { + + this.attempt = attempt; + return this; + } + + /** + * The `attempt` field begins with 1 and increments with each subsequent document upload. + * @return attempt + **/ + @ApiModelProperty(example = "1", required = true, value = "The `attempt` field begins with 1 and increments with each subsequent document upload.") + + public Integer getAttempt() { + return attempt; + } + + + public void setAttempt(Integer attempt) { + this.attempt = attempt; + } + + + public DocumentaryVerificationDocument images(PhysicalDocumentImages images) { + + this.images = images; + return this; + } + + /** + * Get images + * @return images + **/ + @ApiModelProperty(required = true, value = "") + + public PhysicalDocumentImages getImages() { + return images; + } + + + public void setImages(PhysicalDocumentImages images) { + this.images = images; + } + + + public DocumentaryVerificationDocument extractedData(PhysicalDocumentExtractedData extractedData) { + + this.extractedData = extractedData; + return this; + } + + /** + * Get extractedData + * @return extractedData + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PhysicalDocumentExtractedData getExtractedData() { + return extractedData; + } + + + public void setExtractedData(PhysicalDocumentExtractedData extractedData) { + this.extractedData = extractedData; + } + + + public DocumentaryVerificationDocument analysis(DocumentAnalysis analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @ApiModelProperty(required = true, value = "") + + public DocumentAnalysis getAnalysis() { + return analysis; + } + + + public void setAnalysis(DocumentAnalysis analysis) { + this.analysis = analysis; + } + + + public DocumentaryVerificationDocument redactedAt(OffsetDateTime redactedAt) { + + this.redactedAt = redactedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return redactedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getRedactedAt() { + return redactedAt; + } + + + public void setRedactedAt(OffsetDateTime redactedAt) { + this.redactedAt = redactedAt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DocumentaryVerificationDocument documentaryVerificationDocument = (DocumentaryVerificationDocument) o; + return Objects.equals(this.status, documentaryVerificationDocument.status) && + Objects.equals(this.attempt, documentaryVerificationDocument.attempt) && + Objects.equals(this.images, documentaryVerificationDocument.images) && + Objects.equals(this.extractedData, documentaryVerificationDocument.extractedData) && + Objects.equals(this.analysis, documentaryVerificationDocument.analysis) && + Objects.equals(this.redactedAt, documentaryVerificationDocument.redactedAt); + } + + @Override + public int hashCode() { + return Objects.hash(status, attempt, images, extractedData, analysis, redactedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DocumentaryVerificationDocument {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" attempt: ").append(toIndentedString(attempt)).append("\n"); + sb.append(" images: ").append(toIndentedString(images)).append("\n"); + sb.append(" extractedData: ").append(toIndentedString(extractedData)).append("\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" redactedAt: ").append(toIndentedString(redactedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Earnings.java b/src/main/java/com/plaid/client/model/Earnings.java new file mode 100644 index 0000000000..1d78b94955 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Earnings.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EarningsBreakdown; +import com.plaid.client.model.EarningsTotal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing both a breakdown of earnings on a paystub and the total earnings. + */ +@ApiModel(description = "An object representing both a breakdown of earnings on a paystub and the total earnings.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Earnings { + public static final String SERIALIZED_NAME_SUBTOTALS = "subtotals"; + @SerializedName(SERIALIZED_NAME_SUBTOTALS) + private List subtotals = null; + + public static final String SERIALIZED_NAME_TOTALS = "totals"; + @SerializedName(SERIALIZED_NAME_TOTALS) + private List totals = null; + + public static final String SERIALIZED_NAME_BREAKDOWN = "breakdown"; + @SerializedName(SERIALIZED_NAME_BREAKDOWN) + private List breakdown = null; + + public static final String SERIALIZED_NAME_TOTAL = "total"; + @SerializedName(SERIALIZED_NAME_TOTAL) + private EarningsTotal total; + + + public Earnings subtotals(List subtotals) { + + this.subtotals = subtotals; + return this; + } + + public Earnings addSubtotalsItem(EarningsTotal subtotalsItem) { + if (this.subtotals == null) { + this.subtotals = new ArrayList<>(); + } + this.subtotals.add(subtotalsItem); + return this; + } + + /** + * Get subtotals + * @return subtotals + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getSubtotals() { + return subtotals; + } + + + public void setSubtotals(List subtotals) { + this.subtotals = subtotals; + } + + + public Earnings totals(List totals) { + + this.totals = totals; + return this; + } + + public Earnings addTotalsItem(EarningsTotal totalsItem) { + if (this.totals == null) { + this.totals = new ArrayList<>(); + } + this.totals.add(totalsItem); + return this; + } + + /** + * Get totals + * @return totals + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getTotals() { + return totals; + } + + + public void setTotals(List totals) { + this.totals = totals; + } + + + public Earnings breakdown(List breakdown) { + + this.breakdown = breakdown; + return this; + } + + public Earnings addBreakdownItem(EarningsBreakdown breakdownItem) { + if (this.breakdown == null) { + this.breakdown = new ArrayList<>(); + } + this.breakdown.add(breakdownItem); + return this; + } + + /** + * Get breakdown + * @return breakdown + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getBreakdown() { + return breakdown; + } + + + public void setBreakdown(List breakdown) { + this.breakdown = breakdown; + } + + + public Earnings total(EarningsTotal total) { + + this.total = total; + return this; + } + + /** + * Get total + * @return total + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EarningsTotal getTotal() { + return total; + } + + + public void setTotal(EarningsTotal total) { + this.total = total; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Earnings earnings = (Earnings) o; + return Objects.equals(this.subtotals, earnings.subtotals) && + Objects.equals(this.totals, earnings.totals) && + Objects.equals(this.breakdown, earnings.breakdown) && + Objects.equals(this.total, earnings.total); + } + + @Override + public int hashCode() { + return Objects.hash(subtotals, totals, breakdown, total); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Earnings {\n"); + sb.append(" subtotals: ").append(toIndentedString(subtotals)).append("\n"); + sb.append(" totals: ").append(toIndentedString(totals)).append("\n"); + sb.append(" breakdown: ").append(toIndentedString(breakdown)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EarningsBreakdown.java b/src/main/java/com/plaid/client/model/EarningsBreakdown.java new file mode 100644 index 0000000000..c85393cbfe --- /dev/null +++ b/src/main/java/com/plaid/client/model/EarningsBreakdown.java @@ -0,0 +1,304 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EarningsBreakdownCanonicalDescription; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * An object representing the earnings line items for the pay period. + */ +@ApiModel(description = "An object representing the earnings line items for the pay period.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EarningsBreakdown { + public static final String SERIALIZED_NAME_CANONICAL_DESCRIPTION = "canonical_description"; + @SerializedName(SERIALIZED_NAME_CANONICAL_DESCRIPTION) + private EarningsBreakdownCanonicalDescription canonicalDescription; + + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_HOURS = "hours"; + @SerializedName(SERIALIZED_NAME_HOURS) + private Double hours; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_RATE = "rate"; + @SerializedName(SERIALIZED_NAME_RATE) + private Double rate; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public EarningsBreakdown canonicalDescription(EarningsBreakdownCanonicalDescription canonicalDescription) { + + this.canonicalDescription = canonicalDescription; + return this; + } + + /** + * Get canonicalDescription + * @return canonicalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EarningsBreakdownCanonicalDescription getCanonicalDescription() { + return canonicalDescription; + } + + + public void setCanonicalDescription(EarningsBreakdownCanonicalDescription canonicalDescription) { + this.canonicalDescription = canonicalDescription; + } + + + public EarningsBreakdown currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * Raw amount of the earning line item. + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Raw amount of the earning line item.") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public EarningsBreakdown description(String description) { + + this.description = description; + return this; + } + + /** + * Description of the earning line item. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Description of the earning line item.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public EarningsBreakdown hours(Double hours) { + + this.hours = hours; + return this; + } + + /** + * Number of hours applicable for this earning. + * @return hours + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of hours applicable for this earning.") + + public Double getHours() { + return hours; + } + + + public void setHours(Double hours) { + this.hours = hours; + } + + + public EarningsBreakdown isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public EarningsBreakdown rate(Double rate) { + + this.rate = rate; + return this; + } + + /** + * Hourly rate applicable for this earning. + * @return rate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Hourly rate applicable for this earning.") + + public Double getRate() { + return rate; + } + + + public void setRate(Double rate) { + this.rate = rate; + } + + + public EarningsBreakdown unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public EarningsBreakdown ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The year-to-date amount of the line item. + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The year-to-date amount of the line item.") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EarningsBreakdown earningsBreakdown = (EarningsBreakdown) o; + return Objects.equals(this.canonicalDescription, earningsBreakdown.canonicalDescription) && + Objects.equals(this.currentAmount, earningsBreakdown.currentAmount) && + Objects.equals(this.description, earningsBreakdown.description) && + Objects.equals(this.hours, earningsBreakdown.hours) && + Objects.equals(this.isoCurrencyCode, earningsBreakdown.isoCurrencyCode) && + Objects.equals(this.rate, earningsBreakdown.rate) && + Objects.equals(this.unofficialCurrencyCode, earningsBreakdown.unofficialCurrencyCode) && + Objects.equals(this.ytdAmount, earningsBreakdown.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(canonicalDescription, currentAmount, description, hours, isoCurrencyCode, rate, unofficialCurrencyCode, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EarningsBreakdown {\n"); + sb.append(" canonicalDescription: ").append(toIndentedString(canonicalDescription)).append("\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" hours: ").append(toIndentedString(hours)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" rate: ").append(toIndentedString(rate)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EarningsBreakdownCanonicalDescription.java b/src/main/java/com/plaid/client/model/EarningsBreakdownCanonicalDescription.java new file mode 100644 index 0000000000..39bf72d386 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EarningsBreakdownCanonicalDescription.java @@ -0,0 +1,93 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Commonly used term to describe the earning line item. + */ +@JsonAdapter(EarningsBreakdownCanonicalDescription.Adapter.class) +public enum EarningsBreakdownCanonicalDescription { + + BONUS("BONUS"), + + COMMISSION("COMMISSION"), + + OVERTIME("OVERTIME"), + + PAID_TIME_OFF("PAID TIME OFF"), + + REGULAR_PAY("REGULAR PAY"), + + VACATION("VACATION"), + + BASIC_ALLOWANCE_HOUSING("BASIC ALLOWANCE HOUSING"), + + BASIC_ALLOWANCE_SUBSISTENCE("BASIC ALLOWANCE SUBSISTENCE"), + + OTHER("OTHER"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + EarningsBreakdownCanonicalDescription(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static EarningsBreakdownCanonicalDescription fromValue(String value) { + for (EarningsBreakdownCanonicalDescription b : EarningsBreakdownCanonicalDescription.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final EarningsBreakdownCanonicalDescription enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public EarningsBreakdownCanonicalDescription read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return EarningsBreakdownCanonicalDescription.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/EarningsTotal.java b/src/main/java/com/plaid/client/model/EarningsTotal.java new file mode 100644 index 0000000000..0cc16a6e6a --- /dev/null +++ b/src/main/java/com/plaid/client/model/EarningsTotal.java @@ -0,0 +1,275 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Pay; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * An object representing both the current pay period and year to date amount for an earning category. + */ +@ApiModel(description = "An object representing both the current pay period and year to date amount for an earning category.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EarningsTotal { + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_CURRENT_PAY = "current_pay"; + @SerializedName(SERIALIZED_NAME_CURRENT_PAY) + private Pay currentPay; + + public static final String SERIALIZED_NAME_YTD_PAY = "ytd_pay"; + @SerializedName(SERIALIZED_NAME_YTD_PAY) + private Pay ytdPay; + + public static final String SERIALIZED_NAME_HOURS = "hours"; + @SerializedName(SERIALIZED_NAME_HOURS) + private Double hours; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public EarningsTotal currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * Total amount of the earnings for this pay period + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total amount of the earnings for this pay period") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public EarningsTotal currentPay(Pay currentPay) { + + this.currentPay = currentPay; + return this; + } + + /** + * Get currentPay + * @return currentPay + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Pay getCurrentPay() { + return currentPay; + } + + + public void setCurrentPay(Pay currentPay) { + this.currentPay = currentPay; + } + + + public EarningsTotal ytdPay(Pay ytdPay) { + + this.ytdPay = ytdPay; + return this; + } + + /** + * Get ytdPay + * @return ytdPay + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Pay getYtdPay() { + return ytdPay; + } + + + public void setYtdPay(Pay ytdPay) { + this.ytdPay = ytdPay; + } + + + public EarningsTotal hours(Double hours) { + + this.hours = hours; + return this; + } + + /** + * Total number of hours worked for this pay period + * @return hours + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total number of hours worked for this pay period") + + public Double getHours() { + return hours; + } + + + public void setHours(Double hours) { + this.hours = hours; + } + + + public EarningsTotal isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public EarningsTotal unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public EarningsTotal ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The total year-to-date amount of the earnings + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total year-to-date amount of the earnings") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EarningsTotal earningsTotal = (EarningsTotal) o; + return Objects.equals(this.currentAmount, earningsTotal.currentAmount) && + Objects.equals(this.currentPay, earningsTotal.currentPay) && + Objects.equals(this.ytdPay, earningsTotal.ytdPay) && + Objects.equals(this.hours, earningsTotal.hours) && + Objects.equals(this.isoCurrencyCode, earningsTotal.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, earningsTotal.unofficialCurrencyCode) && + Objects.equals(this.ytdAmount, earningsTotal.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(currentAmount, currentPay, ytdPay, hours, isoCurrencyCode, unofficialCurrencyCode, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EarningsTotal {\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" currentPay: ").append(toIndentedString(currentPay)).append("\n"); + sb.append(" ytdPay: ").append(toIndentedString(ytdPay)).append("\n"); + sb.append(" hours: ").append(toIndentedString(hours)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Email.java b/src/main/java/com/plaid/client/model/Email.java new file mode 100644 index 0000000000..e93ce2f8a3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Email.java @@ -0,0 +1,203 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing an email address + */ +@ApiModel(description = "An object representing an email address") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Email { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private String data; + + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + private Boolean primary; + + /** + * The type of email account as described by the financial institution. + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + PRIMARY("primary"), + + SECONDARY("secondary"), + + OTHER("other"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + + public Email data(String data) { + + this.data = data; + return this; + } + + /** + * The email address. + * @return data + **/ + @ApiModelProperty(required = true, value = "The email address.") + + public String getData() { + return data; + } + + + public void setData(String data) { + this.data = data; + } + + + public Email primary(Boolean primary) { + + this.primary = primary; + return this; + } + + /** + * When `true`, identifies the email address as the primary email on an account. + * @return primary + **/ + @ApiModelProperty(required = true, value = "When `true`, identifies the email address as the primary email on an account.") + + public Boolean getPrimary() { + return primary; + } + + + public void setPrimary(Boolean primary) { + this.primary = primary; + } + + + public Email type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * The type of email account as described by the financial institution. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of email account as described by the financial institution.") + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Email email = (Email) o; + return Objects.equals(this.data, email.data) && + Objects.equals(this.primary, email.primary) && + Objects.equals(this.type, email.type); + } + + @Override + public int hashCode() { + return Objects.hash(data, primary, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Email {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" primary: ").append(toIndentedString(primary)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EmailAddressMatchScore.java b/src/main/java/com/plaid/client/model/EmailAddressMatchScore.java new file mode 100644 index 0000000000..ffd2b1bf14 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EmailAddressMatchScore.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Score found by matching email provided by the API with the email on the account at the financial institution. 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled. + */ +@ApiModel(description = "Score found by matching email provided by the API with the email on the account at the financial institution. 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EmailAddressMatchScore { + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + + public EmailAddressMatchScore score(Integer score) { + + this.score = score; + return this; + } + + /** + * Match score for normalized email. 100 is a perfect match, 99-70 is a partial match (matching the same email with different '+' extensions), anything below 70 is considered a mismatch. Typically, the match threshold should be set to a score of 70 or higher. If the email is missing from either the API or financial institution, this is null. + * @return score + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Match score for normalized email. 100 is a perfect match, 99-70 is a partial match (matching the same email with different '+' extensions), anything below 70 is considered a mismatch. Typically, the match threshold should be set to a score of 70 or higher. If the email is missing from either the API or financial institution, this is null.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EmailAddressMatchScore emailAddressMatchScore = (EmailAddressMatchScore) o; + return Objects.equals(this.score, emailAddressMatchScore.score); + } + + @Override + public int hashCode() { + return Objects.hash(score); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EmailAddressMatchScore {\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Employee.java b/src/main/java/com/plaid/client/model/Employee.java new file mode 100644 index 0000000000..62b1d292e6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Employee.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaystubAddress; +import com.plaid.client.model.TaxpayerID; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data about the employee. + */ +@ApiModel(description = "Data about the employee.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Employee { + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private PaystubAddress address; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_MARITAL_STATUS = "marital_status"; + @SerializedName(SERIALIZED_NAME_MARITAL_STATUS) + private String maritalStatus; + + public static final String SERIALIZED_NAME_TAXPAYER_ID = "taxpayer_id"; + @SerializedName(SERIALIZED_NAME_TAXPAYER_ID) + private TaxpayerID taxpayerId; + + + public Employee address(PaystubAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public PaystubAddress getAddress() { + return address; + } + + + public void setAddress(PaystubAddress address) { + this.address = address; + } + + + public Employee name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the employee. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The name of the employee.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public Employee maritalStatus(String maritalStatus) { + + this.maritalStatus = maritalStatus; + return this; + } + + /** + * Marital status of the employee - either `single` or `married`. + * @return maritalStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Marital status of the employee - either `single` or `married`.") + + public String getMaritalStatus() { + return maritalStatus; + } + + + public void setMaritalStatus(String maritalStatus) { + this.maritalStatus = maritalStatus; + } + + + public Employee taxpayerId(TaxpayerID taxpayerId) { + + this.taxpayerId = taxpayerId; + return this; + } + + /** + * Get taxpayerId + * @return taxpayerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TaxpayerID getTaxpayerId() { + return taxpayerId; + } + + + public void setTaxpayerId(TaxpayerID taxpayerId) { + this.taxpayerId = taxpayerId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Employee employee = (Employee) o; + return Objects.equals(this.address, employee.address) && + Objects.equals(this.name, employee.name) && + Objects.equals(this.maritalStatus, employee.maritalStatus) && + Objects.equals(this.taxpayerId, employee.taxpayerId); + } + + @Override + public int hashCode() { + return Objects.hash(address, name, maritalStatus, taxpayerId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Employee {\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" maritalStatus: ").append(toIndentedString(maritalStatus)).append("\n"); + sb.append(" taxpayerId: ").append(toIndentedString(taxpayerId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EmployeeIncomeSummaryFieldString.java b/src/main/java/com/plaid/client/model/EmployeeIncomeSummaryFieldString.java new file mode 100644 index 0000000000..3d0bef2324 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EmployeeIncomeSummaryFieldString.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeSummaryFieldString; +import com.plaid.client.model.VerificationStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The name of the employee, as reported on the paystub. + */ +@ApiModel(description = "The name of the employee, as reported on the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EmployeeIncomeSummaryFieldString { + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatus verificationStatus; + + + public EmployeeIncomeSummaryFieldString value(String value) { + + this.value = value; + return this; + } + + /** + * The value of the field. + * @return value + **/ + @ApiModelProperty(required = true, value = "The value of the field.") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + public EmployeeIncomeSummaryFieldString verificationStatus(VerificationStatus verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Get verificationStatus + * @return verificationStatus + **/ + @ApiModelProperty(required = true, value = "") + + public VerificationStatus getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatus verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EmployeeIncomeSummaryFieldString employeeIncomeSummaryFieldString = (EmployeeIncomeSummaryFieldString) o; + return Objects.equals(this.value, employeeIncomeSummaryFieldString.value) && + Objects.equals(this.verificationStatus, employeeIncomeSummaryFieldString.verificationStatus); + } + + @Override + public int hashCode() { + return Objects.hash(value, verificationStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EmployeeIncomeSummaryFieldString {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Employer.java b/src/main/java/com/plaid/client/model/Employer.java new file mode 100644 index 0000000000..34a362e7af --- /dev/null +++ b/src/main/java/com/plaid/client/model/Employer.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AddressDataNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data about the employer. + */ +@ApiModel(description = "Data about the employer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Employer { + public static final String SERIALIZED_NAME_EMPLOYER_ID = "employer_id"; + @SerializedName(SERIALIZED_NAME_EMPLOYER_ID) + private String employerId; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private AddressDataNullable address; + + public static final String SERIALIZED_NAME_CONFIDENCE_SCORE = "confidence_score"; + @SerializedName(SERIALIZED_NAME_CONFIDENCE_SCORE) + private Double confidenceScore; + + + public Employer employerId(String employerId) { + + this.employerId = employerId; + return this; + } + + /** + * Plaid's unique identifier for the employer. + * @return employerId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the employer.") + + public String getEmployerId() { + return employerId; + } + + + public void setEmployerId(String employerId) { + this.employerId = employerId; + } + + + public Employer name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the employer + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the employer") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public Employer address(AddressDataNullable address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AddressDataNullable getAddress() { + return address; + } + + + public void setAddress(AddressDataNullable address) { + this.address = address; + } + + + public Employer confidenceScore(Double confidenceScore) { + + this.confidenceScore = confidenceScore; + return this; + } + + /** + * A number from 0 to 1 indicating Plaid's level of confidence in the pairing between the employer and the institution (not yet implemented). + * @return confidenceScore + **/ + @ApiModelProperty(required = true, value = "A number from 0 to 1 indicating Plaid's level of confidence in the pairing between the employer and the institution (not yet implemented).") + + public Double getConfidenceScore() { + return confidenceScore; + } + + + public void setConfidenceScore(Double confidenceScore) { + this.confidenceScore = confidenceScore; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Employer employer = (Employer) o; + return Objects.equals(this.employerId, employer.employerId) && + Objects.equals(this.name, employer.name) && + Objects.equals(this.address, employer.address) && + Objects.equals(this.confidenceScore, employer.confidenceScore); + } + + @Override + public int hashCode() { + return Objects.hash(employerId, name, address, confidenceScore); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Employer {\n"); + sb.append(" employerId: ").append(toIndentedString(employerId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" confidenceScore: ").append(toIndentedString(confidenceScore)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EmployerIncomeSummaryFieldString.java b/src/main/java/com/plaid/client/model/EmployerIncomeSummaryFieldString.java new file mode 100644 index 0000000000..c7b1704ea4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EmployerIncomeSummaryFieldString.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeSummaryFieldString; +import com.plaid.client.model.VerificationStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The name of the employer, as reported on the paystub. + */ +@ApiModel(description = "The name of the employer, as reported on the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EmployerIncomeSummaryFieldString { + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatus verificationStatus; + + + public EmployerIncomeSummaryFieldString value(String value) { + + this.value = value; + return this; + } + + /** + * The value of the field. + * @return value + **/ + @ApiModelProperty(required = true, value = "The value of the field.") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + public EmployerIncomeSummaryFieldString verificationStatus(VerificationStatus verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Get verificationStatus + * @return verificationStatus + **/ + @ApiModelProperty(required = true, value = "") + + public VerificationStatus getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatus verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EmployerIncomeSummaryFieldString employerIncomeSummaryFieldString = (EmployerIncomeSummaryFieldString) o; + return Objects.equals(this.value, employerIncomeSummaryFieldString.value) && + Objects.equals(this.verificationStatus, employerIncomeSummaryFieldString.verificationStatus); + } + + @Override + public int hashCode() { + return Objects.hash(value, verificationStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EmployerIncomeSummaryFieldString {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EmployerVerification.java b/src/main/java/com/plaid/client/model/EmployerVerification.java new file mode 100644 index 0000000000..e4715e7bb8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EmployerVerification.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object containing employer data. + */ +@ApiModel(description = "An object containing employer data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EmployerVerification { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + + public EmployerVerification name(String name) { + + this.name = name; + return this; + } + + /** + * Name of employer. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of employer.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EmployerVerification employerVerification = (EmployerVerification) o; + return Objects.equals(this.name, employerVerification.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EmployerVerification {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EmployersSearchRequest.java b/src/main/java/com/plaid/client/model/EmployersSearchRequest.java new file mode 100644 index 0000000000..e83baa51f7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EmployersSearchRequest.java @@ -0,0 +1,191 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * EmployersSearchRequest defines the request schema for `/employers/search`. + */ +@ApiModel(description = "EmployersSearchRequest defines the request schema for `/employers/search`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EmployersSearchRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_QUERY = "query"; + @SerializedName(SERIALIZED_NAME_QUERY) + private String query; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = new ArrayList<>(); + + + public EmployersSearchRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public EmployersSearchRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public EmployersSearchRequest query(String query) { + + this.query = query; + return this; + } + + /** + * The employer name to be searched for. + * @return query + **/ + @ApiModelProperty(required = true, value = "The employer name to be searched for.") + + public String getQuery() { + return query; + } + + + public void setQuery(String query) { + this.query = query; + } + + + public EmployersSearchRequest products(List products) { + + this.products = products; + return this; + } + + public EmployersSearchRequest addProductsItem(String productsItem) { + this.products.add(productsItem); + return this; + } + + /** + * The Plaid products the returned employers should support. Currently, this field must be set to `\"deposit_switch\"`. + * @return products + **/ + @ApiModelProperty(required = true, value = "The Plaid products the returned employers should support. Currently, this field must be set to `\"deposit_switch\"`.") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EmployersSearchRequest employersSearchRequest = (EmployersSearchRequest) o; + return Objects.equals(this.clientId, employersSearchRequest.clientId) && + Objects.equals(this.secret, employersSearchRequest.secret) && + Objects.equals(this.query, employersSearchRequest.query) && + Objects.equals(this.products, employersSearchRequest.products); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, query, products); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EmployersSearchRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" query: ").append(toIndentedString(query)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EmployersSearchResponse.java b/src/main/java/com/plaid/client/model/EmployersSearchResponse.java new file mode 100644 index 0000000000..4ec71ecb87 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EmployersSearchResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Employer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * EmployersSearchResponse defines the response schema for `/employers/search`. + */ +@ApiModel(description = "EmployersSearchResponse defines the response schema for `/employers/search`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EmployersSearchResponse { + public static final String SERIALIZED_NAME_EMPLOYERS = "employers"; + @SerializedName(SERIALIZED_NAME_EMPLOYERS) + private List employers = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public EmployersSearchResponse employers(List employers) { + + this.employers = employers; + return this; + } + + public EmployersSearchResponse addEmployersItem(Employer employersItem) { + this.employers.add(employersItem); + return this; + } + + /** + * A list of employers matching the search criteria. + * @return employers + **/ + @ApiModelProperty(required = true, value = "A list of employers matching the search criteria.") + + public List getEmployers() { + return employers; + } + + + public void setEmployers(List employers) { + this.employers = employers; + } + + + public EmployersSearchResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EmployersSearchResponse employersSearchResponse = (EmployersSearchResponse) o; + return Objects.equals(this.employers, employersSearchResponse.employers) && + Objects.equals(this.requestId, employersSearchResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(employers, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EmployersSearchResponse {\n"); + sb.append(" employers: ").append(toIndentedString(employers)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EmploymentDetails.java b/src/main/java/com/plaid/client/model/EmploymentDetails.java new file mode 100644 index 0000000000..d288dc42e3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EmploymentDetails.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Pay; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An object representing employment details found on a paystub. + */ +@ApiModel(description = "An object representing employment details found on a paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EmploymentDetails { + public static final String SERIALIZED_NAME_ANNUAL_SALARY = "annual_salary"; + @SerializedName(SERIALIZED_NAME_ANNUAL_SALARY) + private Pay annualSalary; + + public static final String SERIALIZED_NAME_HIRE_DATE = "hire_date"; + @SerializedName(SERIALIZED_NAME_HIRE_DATE) + private LocalDate hireDate; + + + public EmploymentDetails annualSalary(Pay annualSalary) { + + this.annualSalary = annualSalary; + return this; + } + + /** + * Get annualSalary + * @return annualSalary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Pay getAnnualSalary() { + return annualSalary; + } + + + public void setAnnualSalary(Pay annualSalary) { + this.annualSalary = annualSalary; + } + + + public EmploymentDetails hireDate(LocalDate hireDate) { + + this.hireDate = hireDate; + return this; + } + + /** + * Date on which the employee was hired, in the YYYY-MM-DD format. + * @return hireDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Date on which the employee was hired, in the YYYY-MM-DD format.") + + public LocalDate getHireDate() { + return hireDate; + } + + + public void setHireDate(LocalDate hireDate) { + this.hireDate = hireDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EmploymentDetails employmentDetails = (EmploymentDetails) o; + return Objects.equals(this.annualSalary, employmentDetails.annualSalary) && + Objects.equals(this.hireDate, employmentDetails.hireDate); + } + + @Override + public int hashCode() { + return Objects.hash(annualSalary, hireDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EmploymentDetails {\n"); + sb.append(" annualSalary: ").append(toIndentedString(annualSalary)).append("\n"); + sb.append(" hireDate: ").append(toIndentedString(hireDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EmploymentSourceType.java b/src/main/java/com/plaid/client/model/EmploymentSourceType.java new file mode 100644 index 0000000000..ba159b8a95 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EmploymentSourceType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The types of source employment data that users should be able to share + */ +@JsonAdapter(EmploymentSourceType.Adapter.class) +public enum EmploymentSourceType { + + BANK("bank"), + + PAYROLL("payroll"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + EmploymentSourceType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static EmploymentSourceType fromValue(String value) { + for (EmploymentSourceType b : EmploymentSourceType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return EmploymentSourceType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final EmploymentSourceType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public EmploymentSourceType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return EmploymentSourceType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/EmploymentVerification.java b/src/main/java/com/plaid/client/model/EmploymentVerification.java new file mode 100644 index 0000000000..879cb25b1c --- /dev/null +++ b/src/main/java/com/plaid/client/model/EmploymentVerification.java @@ -0,0 +1,248 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EmployerVerification; +import com.plaid.client.model.EmploymentVerificationStatus; +import com.plaid.client.model.PlatformIds; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An object containing proof of employment data for an individual + */ +@ApiModel(description = "An object containing proof of employment data for an individual") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EmploymentVerification { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private EmploymentVerificationStatus status; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_EMPLOYER = "employer"; + @SerializedName(SERIALIZED_NAME_EMPLOYER) + private EmployerVerification employer; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + private String title; + + public static final String SERIALIZED_NAME_PLATFORM_IDS = "platform_ids"; + @SerializedName(SERIALIZED_NAME_PLATFORM_IDS) + private PlatformIds platformIds; + + + public EmploymentVerification status(EmploymentVerificationStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EmploymentVerificationStatus getStatus() { + return status; + } + + + public void setStatus(EmploymentVerificationStatus status) { + this.status = status; + } + + + public EmploymentVerification startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * Start of employment in ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Start of employment in ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public EmploymentVerification endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * End of employment, if applicable. Provided in ISO 8601 format (YYY-MM-DD). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "End of employment, if applicable. Provided in ISO 8601 format (YYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public EmploymentVerification employer(EmployerVerification employer) { + + this.employer = employer; + return this; + } + + /** + * Get employer + * @return employer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EmployerVerification getEmployer() { + return employer; + } + + + public void setEmployer(EmployerVerification employer) { + this.employer = employer; + } + + + public EmploymentVerification title(String title) { + + this.title = title; + return this; + } + + /** + * Current title of employee. + * @return title + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Current title of employee.") + + public String getTitle() { + return title; + } + + + public void setTitle(String title) { + this.title = title; + } + + + public EmploymentVerification platformIds(PlatformIds platformIds) { + + this.platformIds = platformIds; + return this; + } + + /** + * Get platformIds + * @return platformIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlatformIds getPlatformIds() { + return platformIds; + } + + + public void setPlatformIds(PlatformIds platformIds) { + this.platformIds = platformIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EmploymentVerification employmentVerification = (EmploymentVerification) o; + return Objects.equals(this.status, employmentVerification.status) && + Objects.equals(this.startDate, employmentVerification.startDate) && + Objects.equals(this.endDate, employmentVerification.endDate) && + Objects.equals(this.employer, employmentVerification.employer) && + Objects.equals(this.title, employmentVerification.title) && + Objects.equals(this.platformIds, employmentVerification.platformIds); + } + + @Override + public int hashCode() { + return Objects.hash(status, startDate, endDate, employer, title, platformIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EmploymentVerification {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" employer: ").append(toIndentedString(employer)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" platformIds: ").append(toIndentedString(platformIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EmploymentVerificationGetRequest.java b/src/main/java/com/plaid/client/model/EmploymentVerificationGetRequest.java new file mode 100644 index 0000000000..b7772aedc0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EmploymentVerificationGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * EmploymentVerificationGetRequest defines the request schema for `/employment/verification/get`. + */ +@ApiModel(description = "EmploymentVerificationGetRequest defines the request schema for `/employment/verification/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EmploymentVerificationGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + + public EmploymentVerificationGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public EmploymentVerificationGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public EmploymentVerificationGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EmploymentVerificationGetRequest employmentVerificationGetRequest = (EmploymentVerificationGetRequest) o; + return Objects.equals(this.clientId, employmentVerificationGetRequest.clientId) && + Objects.equals(this.secret, employmentVerificationGetRequest.secret) && + Objects.equals(this.accessToken, employmentVerificationGetRequest.accessToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EmploymentVerificationGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EmploymentVerificationGetResponse.java b/src/main/java/com/plaid/client/model/EmploymentVerificationGetResponse.java new file mode 100644 index 0000000000..1a82981e3d --- /dev/null +++ b/src/main/java/com/plaid/client/model/EmploymentVerificationGetResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EmploymentVerification; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * EmploymentVerificationGetResponse defines the response schema for `/employment/verification/get`. + */ +@ApiModel(description = "EmploymentVerificationGetResponse defines the response schema for `/employment/verification/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EmploymentVerificationGetResponse { + public static final String SERIALIZED_NAME_EMPLOYMENTS = "employments"; + @SerializedName(SERIALIZED_NAME_EMPLOYMENTS) + private List employments = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public EmploymentVerificationGetResponse employments(List employments) { + + this.employments = employments; + return this; + } + + public EmploymentVerificationGetResponse addEmploymentsItem(EmploymentVerification employmentsItem) { + this.employments.add(employmentsItem); + return this; + } + + /** + * A list of employment verification summaries. + * @return employments + **/ + @ApiModelProperty(required = true, value = "A list of employment verification summaries.") + + public List getEmployments() { + return employments; + } + + + public void setEmployments(List employments) { + this.employments = employments; + } + + + public EmploymentVerificationGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EmploymentVerificationGetResponse employmentVerificationGetResponse = (EmploymentVerificationGetResponse) o; + return Objects.equals(this.employments, employmentVerificationGetResponse.employments) && + Objects.equals(this.requestId, employmentVerificationGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(employments, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EmploymentVerificationGetResponse {\n"); + sb.append(" employments: ").append(toIndentedString(employments)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EmploymentVerificationStatus.java b/src/main/java/com/plaid/client/model/EmploymentVerificationStatus.java new file mode 100644 index 0000000000..298deeb291 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EmploymentVerificationStatus.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Current employment status. + */ +@JsonAdapter(EmploymentVerificationStatus.Adapter.class) +public enum EmploymentVerificationStatus { + + EMPLOYMENT_STATUS_ACTIVE("EMPLOYMENT_STATUS_ACTIVE"), + + EMPLOYMENT_STATUS_INACTIVE("EMPLOYMENT_STATUS_INACTIVE"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + EmploymentVerificationStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static EmploymentVerificationStatus fromValue(String value) { + for (EmploymentVerificationStatus b : EmploymentVerificationStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final EmploymentVerificationStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public EmploymentVerificationStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return EmploymentVerificationStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/Enhancements.java b/src/main/java/com/plaid/client/model/Enhancements.java new file mode 100644 index 0000000000..aa1a5cc71b --- /dev/null +++ b/src/main/java/com/plaid/client/model/Enhancements.java @@ -0,0 +1,405 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Counterparty; +import com.plaid.client.model.Location; +import com.plaid.client.model.PaymentChannel; +import com.plaid.client.model.PersonalFinanceCategory; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A grouping of the Plaid produced transaction enhancement fields. + */ +@ApiModel(description = "A grouping of the Plaid produced transaction enhancement fields.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Enhancements { + public static final String SERIALIZED_NAME_MERCHANT_NAME = "merchant_name"; + @SerializedName(SERIALIZED_NAME_MERCHANT_NAME) + private String merchantName; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private String website; + + public static final String SERIALIZED_NAME_LOGO_URL = "logo_url"; + @SerializedName(SERIALIZED_NAME_LOGO_URL) + private String logoUrl; + + public static final String SERIALIZED_NAME_CHECK_NUMBER = "check_number"; + @SerializedName(SERIALIZED_NAME_CHECK_NUMBER) + private String checkNumber; + + public static final String SERIALIZED_NAME_PAYMENT_CHANNEL = "payment_channel"; + @SerializedName(SERIALIZED_NAME_PAYMENT_CHANNEL) + private PaymentChannel paymentChannel; + + public static final String SERIALIZED_NAME_CATEGORY_ID = "category_id"; + @SerializedName(SERIALIZED_NAME_CATEGORY_ID) + private String categoryId; + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private List category = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private Location location; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY = "personal_finance_category"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY) + private PersonalFinanceCategory personalFinanceCategory; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_ICON_URL = "personal_finance_category_icon_url"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_ICON_URL) + private String personalFinanceCategoryIconUrl; + + public static final String SERIALIZED_NAME_COUNTERPARTIES = "counterparties"; + @SerializedName(SERIALIZED_NAME_COUNTERPARTIES) + private List counterparties = null; + + + public Enhancements merchantName(String merchantName) { + + this.merchantName = merchantName; + return this; + } + + /** + * The name of the primary counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description. + * @return merchantName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the primary counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description.") + + public String getMerchantName() { + return merchantName; + } + + + public void setMerchantName(String merchantName) { + this.merchantName = merchantName; + } + + + public Enhancements website(String website) { + + this.website = website; + return this; + } + + /** + * The website associated with this transaction, if available. + * @return website + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The website associated with this transaction, if available.") + + public String getWebsite() { + return website; + } + + + public void setWebsite(String website) { + this.website = website; + } + + + public Enhancements logoUrl(String logoUrl) { + + this.logoUrl = logoUrl; + return this; + } + + /** + * The URL of a logo associated with this transaction, if available. The logo will always be a 100×100 pixel PNG file. + * @return logoUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL of a logo associated with this transaction, if available. The logo will always be a 100×100 pixel PNG file.") + + public String getLogoUrl() { + return logoUrl; + } + + + public void setLogoUrl(String logoUrl) { + this.logoUrl = logoUrl; + } + + + public Enhancements checkNumber(String checkNumber) { + + this.checkNumber = checkNumber; + return this; + } + + /** + * The check number of the transaction. This field is only populated for check transactions. + * @return checkNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The check number of the transaction. This field is only populated for check transactions.") + + public String getCheckNumber() { + return checkNumber; + } + + + public void setCheckNumber(String checkNumber) { + this.checkNumber = checkNumber; + } + + + public Enhancements paymentChannel(PaymentChannel paymentChannel) { + + this.paymentChannel = paymentChannel; + return this; + } + + /** + * Get paymentChannel + * @return paymentChannel + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentChannel getPaymentChannel() { + return paymentChannel; + } + + + public void setPaymentChannel(PaymentChannel paymentChannel) { + this.paymentChannel = paymentChannel; + } + + + public Enhancements categoryId(String categoryId) { + + this.categoryId = categoryId; + return this; + } + + /** + * The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). + * @return categoryId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).") + + public String getCategoryId() { + return categoryId; + } + + + public void setCategoryId(String categoryId) { + this.categoryId = categoryId; + } + + + public Enhancements category(List category) { + + this.category = category; + return this; + } + + public Enhancements addCategoryItem(String categoryItem) { + this.category.add(categoryItem); + return this; + } + + /** + * A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). + * @return category + **/ + @ApiModelProperty(required = true, value = "A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).") + + public List getCategory() { + return category; + } + + + public void setCategory(List category) { + this.category = category; + } + + + public Enhancements location(Location location) { + + this.location = location; + return this; + } + + /** + * Get location + * @return location + **/ + @ApiModelProperty(required = true, value = "") + + public Location getLocation() { + return location; + } + + + public void setLocation(Location location) { + this.location = location; + } + + + public Enhancements personalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + + this.personalFinanceCategory = personalFinanceCategory; + return this; + } + + /** + * Get personalFinanceCategory + * @return personalFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PersonalFinanceCategory getPersonalFinanceCategory() { + return personalFinanceCategory; + } + + + public void setPersonalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + this.personalFinanceCategory = personalFinanceCategory; + } + + + public Enhancements personalFinanceCategoryIconUrl(String personalFinanceCategoryIconUrl) { + + this.personalFinanceCategoryIconUrl = personalFinanceCategoryIconUrl; + return this; + } + + /** + * The URL of an icon associated with the primary personal finance category. The icon will always be a 100×100 pixel PNG file. + * @return personalFinanceCategoryIconUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL of an icon associated with the primary personal finance category. The icon will always be a 100×100 pixel PNG file.") + + public String getPersonalFinanceCategoryIconUrl() { + return personalFinanceCategoryIconUrl; + } + + + public void setPersonalFinanceCategoryIconUrl(String personalFinanceCategoryIconUrl) { + this.personalFinanceCategoryIconUrl = personalFinanceCategoryIconUrl; + } + + + public Enhancements counterparties(List counterparties) { + + this.counterparties = counterparties; + return this; + } + + public Enhancements addCounterpartiesItem(Counterparty counterpartiesItem) { + if (this.counterparties == null) { + this.counterparties = new ArrayList<>(); + } + this.counterparties.add(counterpartiesItem); + return this; + } + + /** + * The counterparties present in the transaction. Counterparties, such as the merchant or the financial institution, are extracted by Plaid from the raw description. + * @return counterparties + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The counterparties present in the transaction. Counterparties, such as the merchant or the financial institution, are extracted by Plaid from the raw description.") + + public List getCounterparties() { + return counterparties; + } + + + public void setCounterparties(List counterparties) { + this.counterparties = counterparties; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Enhancements enhancements = (Enhancements) o; + return Objects.equals(this.merchantName, enhancements.merchantName) && + Objects.equals(this.website, enhancements.website) && + Objects.equals(this.logoUrl, enhancements.logoUrl) && + Objects.equals(this.checkNumber, enhancements.checkNumber) && + Objects.equals(this.paymentChannel, enhancements.paymentChannel) && + Objects.equals(this.categoryId, enhancements.categoryId) && + Objects.equals(this.category, enhancements.category) && + Objects.equals(this.location, enhancements.location) && + Objects.equals(this.personalFinanceCategory, enhancements.personalFinanceCategory) && + Objects.equals(this.personalFinanceCategoryIconUrl, enhancements.personalFinanceCategoryIconUrl) && + Objects.equals(this.counterparties, enhancements.counterparties); + } + + @Override + public int hashCode() { + return Objects.hash(merchantName, website, logoUrl, checkNumber, paymentChannel, categoryId, category, location, personalFinanceCategory, personalFinanceCategoryIconUrl, counterparties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Enhancements {\n"); + sb.append(" merchantName: ").append(toIndentedString(merchantName)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" logoUrl: ").append(toIndentedString(logoUrl)).append("\n"); + sb.append(" checkNumber: ").append(toIndentedString(checkNumber)).append("\n"); + sb.append(" paymentChannel: ").append(toIndentedString(paymentChannel)).append("\n"); + sb.append(" categoryId: ").append(toIndentedString(categoryId)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append(" personalFinanceCategory: ").append(toIndentedString(personalFinanceCategory)).append("\n"); + sb.append(" personalFinanceCategoryIconUrl: ").append(toIndentedString(personalFinanceCategoryIconUrl)).append("\n"); + sb.append(" counterparties: ").append(toIndentedString(counterparties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EnrichTransactionDirection.java b/src/main/java/com/plaid/client/model/EnrichTransactionDirection.java new file mode 100644 index 0000000000..5c1f0215d0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EnrichTransactionDirection.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The direction of the transaction from the perspective of the account holder: `OUTFLOW` - Includes outgoing transfers, purchases, and fees. (Typically represented as a negative value on checking accounts and debit cards and a positive value on credit cards.) `INFLOW` - Includes incoming transfers, refunds, and income. (Typically represented as a positive value on checking accounts and debit cards and a negative value on credit cards.) + */ +@JsonAdapter(EnrichTransactionDirection.Adapter.class) +public enum EnrichTransactionDirection { + + INFLOW("INFLOW"), + + OUTFLOW("OUTFLOW"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + EnrichTransactionDirection(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static EnrichTransactionDirection fromValue(String value) { + for (EnrichTransactionDirection b : EnrichTransactionDirection.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return EnrichTransactionDirection.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final EnrichTransactionDirection enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public EnrichTransactionDirection read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return EnrichTransactionDirection.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/Enrichments.java b/src/main/java/com/plaid/client/model/Enrichments.java new file mode 100644 index 0000000000..4ed5bacae7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Enrichments.java @@ -0,0 +1,462 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Counterparty; +import com.plaid.client.model.Location; +import com.plaid.client.model.PaymentChannel; +import com.plaid.client.model.PersonalFinanceCategory; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A grouping of the Plaid produced transaction enrichment fields. + */ +@ApiModel(description = "A grouping of the Plaid produced transaction enrichment fields.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Enrichments { + public static final String SERIALIZED_NAME_CHECK_NUMBER = "check_number"; + @SerializedName(SERIALIZED_NAME_CHECK_NUMBER) + private String checkNumber; + + public static final String SERIALIZED_NAME_COUNTERPARTIES = "counterparties"; + @SerializedName(SERIALIZED_NAME_COUNTERPARTIES) + private List counterparties = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ENTITY_ID = "entity_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_ID) + private String entityId; + + public static final String SERIALIZED_NAME_LEGACY_CATEGORY_ID = "legacy_category_id"; + @SerializedName(SERIALIZED_NAME_LEGACY_CATEGORY_ID) + private String legacyCategoryId; + + public static final String SERIALIZED_NAME_LEGACY_CATEGORY = "legacy_category"; + @SerializedName(SERIALIZED_NAME_LEGACY_CATEGORY) + private List legacyCategory = null; + + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private Location location; + + public static final String SERIALIZED_NAME_LOGO_URL = "logo_url"; + @SerializedName(SERIALIZED_NAME_LOGO_URL) + private String logoUrl; + + public static final String SERIALIZED_NAME_MERCHANT_NAME = "merchant_name"; + @SerializedName(SERIALIZED_NAME_MERCHANT_NAME) + private String merchantName; + + public static final String SERIALIZED_NAME_PAYMENT_CHANNEL = "payment_channel"; + @SerializedName(SERIALIZED_NAME_PAYMENT_CHANNEL) + private PaymentChannel paymentChannel; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY = "personal_finance_category"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY) + private PersonalFinanceCategory personalFinanceCategory; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_ICON_URL = "personal_finance_category_icon_url"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_ICON_URL) + private String personalFinanceCategoryIconUrl; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private String website; + + + public Enrichments checkNumber(String checkNumber) { + + this.checkNumber = checkNumber; + return this; + } + + /** + * The check number of the transaction. This field is only populated for check transactions. + * @return checkNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The check number of the transaction. This field is only populated for check transactions.") + + public String getCheckNumber() { + return checkNumber; + } + + + public void setCheckNumber(String checkNumber) { + this.checkNumber = checkNumber; + } + + + public Enrichments counterparties(List counterparties) { + + this.counterparties = counterparties; + return this; + } + + public Enrichments addCounterpartiesItem(Counterparty counterpartiesItem) { + this.counterparties.add(counterpartiesItem); + return this; + } + + /** + * The counterparties present in the transaction. Counterparties, such as the merchant or the financial institution, are extracted by Plaid from the raw description. + * @return counterparties + **/ + @ApiModelProperty(required = true, value = "The counterparties present in the transaction. Counterparties, such as the merchant or the financial institution, are extracted by Plaid from the raw description.") + + public List getCounterparties() { + return counterparties; + } + + + public void setCounterparties(List counterparties) { + this.counterparties = counterparties; + } + + + public Enrichments entityId(String entityId) { + + this.entityId = entityId; + return this; + } + + /** + * A unique, stable, Plaid-generated ID that maps to the primary counterparty. + * @return entityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique, stable, Plaid-generated ID that maps to the primary counterparty.") + + public String getEntityId() { + return entityId; + } + + + public void setEntityId(String entityId) { + this.entityId = entityId; + } + + + public Enrichments legacyCategoryId(String legacyCategoryId) { + + this.legacyCategoryId = legacyCategoryId; + return this; + } + + /** + * The ID of the legacy category to which this transaction belongs. For a full list of legacy categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). We recommend using the `personal_finance_category` for transaction categorization to obtain the best results. + * @return legacyCategoryId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the legacy category to which this transaction belongs. For a full list of legacy categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). We recommend using the `personal_finance_category` for transaction categorization to obtain the best results.") + + public String getLegacyCategoryId() { + return legacyCategoryId; + } + + + public void setLegacyCategoryId(String legacyCategoryId) { + this.legacyCategoryId = legacyCategoryId; + } + + + public Enrichments legacyCategory(List legacyCategory) { + + this.legacyCategory = legacyCategory; + return this; + } + + public Enrichments addLegacyCategoryItem(String legacyCategoryItem) { + if (this.legacyCategory == null) { + this.legacyCategory = new ArrayList<>(); + } + this.legacyCategory.add(legacyCategoryItem); + return this; + } + + /** + * A hierarchical array of the legacy categories to which this transaction belongs. For a full list of legacy categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). We recommend using the `personal_finance_category` for transaction categorization to obtain the best results. + * @return legacyCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A hierarchical array of the legacy categories to which this transaction belongs. For a full list of legacy categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). We recommend using the `personal_finance_category` for transaction categorization to obtain the best results.") + + public List getLegacyCategory() { + return legacyCategory; + } + + + public void setLegacyCategory(List legacyCategory) { + this.legacyCategory = legacyCategory; + } + + + public Enrichments location(Location location) { + + this.location = location; + return this; + } + + /** + * Get location + * @return location + **/ + @ApiModelProperty(required = true, value = "") + + public Location getLocation() { + return location; + } + + + public void setLocation(Location location) { + this.location = location; + } + + + public Enrichments logoUrl(String logoUrl) { + + this.logoUrl = logoUrl; + return this; + } + + /** + * The URL of a logo associated with this transaction, if available. The logo will always be a 100×100 pixel PNG file. + * @return logoUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The URL of a logo associated with this transaction, if available. The logo will always be a 100×100 pixel PNG file.") + + public String getLogoUrl() { + return logoUrl; + } + + + public void setLogoUrl(String logoUrl) { + this.logoUrl = logoUrl; + } + + + public Enrichments merchantName(String merchantName) { + + this.merchantName = merchantName; + return this; + } + + /** + * The name of the primary counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description. + * @return merchantName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The name of the primary counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description.") + + public String getMerchantName() { + return merchantName; + } + + + public void setMerchantName(String merchantName) { + this.merchantName = merchantName; + } + + + public Enrichments paymentChannel(PaymentChannel paymentChannel) { + + this.paymentChannel = paymentChannel; + return this; + } + + /** + * Get paymentChannel + * @return paymentChannel + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentChannel getPaymentChannel() { + return paymentChannel; + } + + + public void setPaymentChannel(PaymentChannel paymentChannel) { + this.paymentChannel = paymentChannel; + } + + + public Enrichments phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * The phone number associated with the counterparty in E.164 format. If there is a location match (i.e. a street address is returned in the location object), the phone number will be location specific. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The phone number associated with the counterparty in E.164 format. If there is a location match (i.e. a street address is returned in the location object), the phone number will be location specific.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public Enrichments personalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + + this.personalFinanceCategory = personalFinanceCategory; + return this; + } + + /** + * Get personalFinanceCategory + * @return personalFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PersonalFinanceCategory getPersonalFinanceCategory() { + return personalFinanceCategory; + } + + + public void setPersonalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + this.personalFinanceCategory = personalFinanceCategory; + } + + + public Enrichments personalFinanceCategoryIconUrl(String personalFinanceCategoryIconUrl) { + + this.personalFinanceCategoryIconUrl = personalFinanceCategoryIconUrl; + return this; + } + + /** + * The URL of an icon associated with the primary personal finance category. The icon will always be a 100×100 pixel PNG file. + * @return personalFinanceCategoryIconUrl + **/ + @ApiModelProperty(required = true, value = "The URL of an icon associated with the primary personal finance category. The icon will always be a 100×100 pixel PNG file.") + + public String getPersonalFinanceCategoryIconUrl() { + return personalFinanceCategoryIconUrl; + } + + + public void setPersonalFinanceCategoryIconUrl(String personalFinanceCategoryIconUrl) { + this.personalFinanceCategoryIconUrl = personalFinanceCategoryIconUrl; + } + + + public Enrichments website(String website) { + + this.website = website; + return this; + } + + /** + * The website associated with this transaction. + * @return website + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The website associated with this transaction.") + + public String getWebsite() { + return website; + } + + + public void setWebsite(String website) { + this.website = website; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Enrichments enrichments = (Enrichments) o; + return Objects.equals(this.checkNumber, enrichments.checkNumber) && + Objects.equals(this.counterparties, enrichments.counterparties) && + Objects.equals(this.entityId, enrichments.entityId) && + Objects.equals(this.legacyCategoryId, enrichments.legacyCategoryId) && + Objects.equals(this.legacyCategory, enrichments.legacyCategory) && + Objects.equals(this.location, enrichments.location) && + Objects.equals(this.logoUrl, enrichments.logoUrl) && + Objects.equals(this.merchantName, enrichments.merchantName) && + Objects.equals(this.paymentChannel, enrichments.paymentChannel) && + Objects.equals(this.phoneNumber, enrichments.phoneNumber) && + Objects.equals(this.personalFinanceCategory, enrichments.personalFinanceCategory) && + Objects.equals(this.personalFinanceCategoryIconUrl, enrichments.personalFinanceCategoryIconUrl) && + Objects.equals(this.website, enrichments.website); + } + + @Override + public int hashCode() { + return Objects.hash(checkNumber, counterparties, entityId, legacyCategoryId, legacyCategory, location, logoUrl, merchantName, paymentChannel, phoneNumber, personalFinanceCategory, personalFinanceCategoryIconUrl, website); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Enrichments {\n"); + sb.append(" checkNumber: ").append(toIndentedString(checkNumber)).append("\n"); + sb.append(" counterparties: ").append(toIndentedString(counterparties)).append("\n"); + sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); + sb.append(" legacyCategoryId: ").append(toIndentedString(legacyCategoryId)).append("\n"); + sb.append(" legacyCategory: ").append(toIndentedString(legacyCategory)).append("\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append(" logoUrl: ").append(toIndentedString(logoUrl)).append("\n"); + sb.append(" merchantName: ").append(toIndentedString(merchantName)).append("\n"); + sb.append(" paymentChannel: ").append(toIndentedString(paymentChannel)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" personalFinanceCategory: ").append(toIndentedString(personalFinanceCategory)).append("\n"); + sb.append(" personalFinanceCategoryIconUrl: ").append(toIndentedString(personalFinanceCategoryIconUrl)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityDocument.java b/src/main/java/com/plaid/client/model/EntityDocument.java new file mode 100644 index 0000000000..a35f668083 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityDocument.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityDocumentType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An official document, usually issued by a governing body or institution, with an associated identifier. + */ +@ApiModel(description = "An official document, usually issued by a governing body or institution, with an associated identifier.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityDocument { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private EntityDocumentType type; + + public static final String SERIALIZED_NAME_NUMBER = "number"; + @SerializedName(SERIALIZED_NAME_NUMBER) + private String number; + + + public EntityDocument type(EntityDocumentType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public EntityDocumentType getType() { + return type; + } + + + public void setType(EntityDocumentType type) { + this.type = type; + } + + + public EntityDocument number(String number) { + + this.number = number; + return this; + } + + /** + * The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces. + * @return number + **/ + @ApiModelProperty(example = "C31195855", required = true, value = "The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces.") + + public String getNumber() { + return number; + } + + + public void setNumber(String number) { + this.number = number; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityDocument entityDocument = (EntityDocument) o; + return Objects.equals(this.type, entityDocument.type) && + Objects.equals(this.number, entityDocument.number); + } + + @Override + public int hashCode() { + return Objects.hash(type, number); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityDocument {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" number: ").append(toIndentedString(number)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityDocumentType.java b/src/main/java/com/plaid/client/model/EntityDocumentType.java new file mode 100644 index 0000000000..925c69e915 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityDocumentType.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The kind of official document represented by this object. `bik` - Russian bank code `business_number` - A number that uniquely identifies the business within a category of businesses `imo` - Number assigned to the entity by the International Maritime Organization `other` - Any document not covered by other categories `swift` - Number identifying a bank and branch. `tax_id` - Identification issued for the purpose of collecting taxes + */ +@JsonAdapter(EntityDocumentType.Adapter.class) +public enum EntityDocumentType { + + BIK("bik"), + + BUSINESS_NUMBER("business_number"), + + IMO("imo"), + + OTHER("other"), + + SWIFT("swift"), + + TAX_ID("tax_id"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + EntityDocumentType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static EntityDocumentType fromValue(String value) { + for (EntityDocumentType b : EntityDocumentType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return EntityDocumentType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final EntityDocumentType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public EntityDocumentType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return EntityDocumentType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/EntityScreeningHitAnalysis.java b/src/main/java/com/plaid/client/model/EntityScreeningHitAnalysis.java new file mode 100644 index 0000000000..cc7e3f4279 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityScreeningHitAnalysis.java @@ -0,0 +1,273 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MatchSummaryCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analysis information describing why a screening hit matched the provided entity information + */ +@ApiModel(description = "Analysis information describing why a screening hit matched the provided entity information") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityScreeningHitAnalysis { + public static final String SERIALIZED_NAME_DOCUMENTS = "documents"; + @SerializedName(SERIALIZED_NAME_DOCUMENTS) + private MatchSummaryCode documents; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESSES = "email_addresses"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESSES) + private MatchSummaryCode emailAddresses; + + public static final String SERIALIZED_NAME_LOCATIONS = "locations"; + @SerializedName(SERIALIZED_NAME_LOCATIONS) + private MatchSummaryCode locations; + + public static final String SERIALIZED_NAME_NAMES = "names"; + @SerializedName(SERIALIZED_NAME_NAMES) + private MatchSummaryCode names; + + public static final String SERIALIZED_NAME_PHONE_NUMBERS = "phone_numbers"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBERS) + private MatchSummaryCode phoneNumbers; + + public static final String SERIALIZED_NAME_URLS = "urls"; + @SerializedName(SERIALIZED_NAME_URLS) + private MatchSummaryCode urls; + + public static final String SERIALIZED_NAME_SEARCH_TERMS_VERSION = "search_terms_version"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS_VERSION) + private Integer searchTermsVersion; + + + public EntityScreeningHitAnalysis documents(MatchSummaryCode documents) { + + this.documents = documents; + return this; + } + + /** + * Get documents + * @return documents + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummaryCode getDocuments() { + return documents; + } + + + public void setDocuments(MatchSummaryCode documents) { + this.documents = documents; + } + + + public EntityScreeningHitAnalysis emailAddresses(MatchSummaryCode emailAddresses) { + + this.emailAddresses = emailAddresses; + return this; + } + + /** + * Get emailAddresses + * @return emailAddresses + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummaryCode getEmailAddresses() { + return emailAddresses; + } + + + public void setEmailAddresses(MatchSummaryCode emailAddresses) { + this.emailAddresses = emailAddresses; + } + + + public EntityScreeningHitAnalysis locations(MatchSummaryCode locations) { + + this.locations = locations; + return this; + } + + /** + * Get locations + * @return locations + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummaryCode getLocations() { + return locations; + } + + + public void setLocations(MatchSummaryCode locations) { + this.locations = locations; + } + + + public EntityScreeningHitAnalysis names(MatchSummaryCode names) { + + this.names = names; + return this; + } + + /** + * Get names + * @return names + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummaryCode getNames() { + return names; + } + + + public void setNames(MatchSummaryCode names) { + this.names = names; + } + + + public EntityScreeningHitAnalysis phoneNumbers(MatchSummaryCode phoneNumbers) { + + this.phoneNumbers = phoneNumbers; + return this; + } + + /** + * Get phoneNumbers + * @return phoneNumbers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummaryCode getPhoneNumbers() { + return phoneNumbers; + } + + + public void setPhoneNumbers(MatchSummaryCode phoneNumbers) { + this.phoneNumbers = phoneNumbers; + } + + + public EntityScreeningHitAnalysis urls(MatchSummaryCode urls) { + + this.urls = urls; + return this; + } + + /** + * Get urls + * @return urls + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummaryCode getUrls() { + return urls; + } + + + public void setUrls(MatchSummaryCode urls) { + this.urls = urls; + } + + + public EntityScreeningHitAnalysis searchTermsVersion(Integer searchTermsVersion) { + + this.searchTermsVersion = searchTermsVersion; + return this; + } + + /** + * The version of the entity screening's `search_terms` that were compared when the entity screening hit was added. Entity screening hits are immutable once they have been reviewed. If changes are detected due to updates to the entity screening's `search_terms`, the associated entity program, or the list's source data prior to review, the entity screening hit will be updated to reflect those changes. + * @return searchTermsVersion + **/ + @ApiModelProperty(example = "1", required = true, value = "The version of the entity screening's `search_terms` that were compared when the entity screening hit was added. Entity screening hits are immutable once they have been reviewed. If changes are detected due to updates to the entity screening's `search_terms`, the associated entity program, or the list's source data prior to review, the entity screening hit will be updated to reflect those changes.") + + public Integer getSearchTermsVersion() { + return searchTermsVersion; + } + + + public void setSearchTermsVersion(Integer searchTermsVersion) { + this.searchTermsVersion = searchTermsVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityScreeningHitAnalysis entityScreeningHitAnalysis = (EntityScreeningHitAnalysis) o; + return Objects.equals(this.documents, entityScreeningHitAnalysis.documents) && + Objects.equals(this.emailAddresses, entityScreeningHitAnalysis.emailAddresses) && + Objects.equals(this.locations, entityScreeningHitAnalysis.locations) && + Objects.equals(this.names, entityScreeningHitAnalysis.names) && + Objects.equals(this.phoneNumbers, entityScreeningHitAnalysis.phoneNumbers) && + Objects.equals(this.urls, entityScreeningHitAnalysis.urls) && + Objects.equals(this.searchTermsVersion, entityScreeningHitAnalysis.searchTermsVersion); + } + + @Override + public int hashCode() { + return Objects.hash(documents, emailAddresses, locations, names, phoneNumbers, urls, searchTermsVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityScreeningHitAnalysis {\n"); + sb.append(" documents: ").append(toIndentedString(documents)).append("\n"); + sb.append(" emailAddresses: ").append(toIndentedString(emailAddresses)).append("\n"); + sb.append(" locations: ").append(toIndentedString(locations)).append("\n"); + sb.append(" names: ").append(toIndentedString(names)).append("\n"); + sb.append(" phoneNumbers: ").append(toIndentedString(phoneNumbers)).append("\n"); + sb.append(" urls: ").append(toIndentedString(urls)).append("\n"); + sb.append(" searchTermsVersion: ").append(toIndentedString(searchTermsVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityScreeningHitData.java b/src/main/java/com/plaid/client/model/EntityScreeningHitData.java new file mode 100644 index 0000000000..f4a1f63f07 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityScreeningHitData.java @@ -0,0 +1,300 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityScreeningHitDocumentsItems; +import com.plaid.client.model.EntityScreeningHitEmailsItems; +import com.plaid.client.model.EntityScreeningHitNamesItems; +import com.plaid.client.model.EntityScreeningHitUrlsItems; +import com.plaid.client.model.EntityScreeningHitsPhoneNumberItems; +import com.plaid.client.model.GenericScreeningHitLocationItems; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Information associated with the entity watchlist hit + */ +@ApiModel(description = "Information associated with the entity watchlist hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityScreeningHitData { + public static final String SERIALIZED_NAME_DOCUMENTS = "documents"; + @SerializedName(SERIALIZED_NAME_DOCUMENTS) + private List documents = null; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESSES = "email_addresses"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESSES) + private List emailAddresses = null; + + public static final String SERIALIZED_NAME_LOCATIONS = "locations"; + @SerializedName(SERIALIZED_NAME_LOCATIONS) + private List locations = null; + + public static final String SERIALIZED_NAME_NAMES = "names"; + @SerializedName(SERIALIZED_NAME_NAMES) + private List names = null; + + public static final String SERIALIZED_NAME_PHONE_NUMBERS = "phone_numbers"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBERS) + private List phoneNumbers = null; + + public static final String SERIALIZED_NAME_URLS = "urls"; + @SerializedName(SERIALIZED_NAME_URLS) + private List urls = null; + + + public EntityScreeningHitData documents(List documents) { + + this.documents = documents; + return this; + } + + public EntityScreeningHitData addDocumentsItem(EntityScreeningHitDocumentsItems documentsItem) { + if (this.documents == null) { + this.documents = new ArrayList<>(); + } + this.documents.add(documentsItem); + return this; + } + + /** + * Documents associated with the watchlist hit + * @return documents + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Documents associated with the watchlist hit") + + public List getDocuments() { + return documents; + } + + + public void setDocuments(List documents) { + this.documents = documents; + } + + + public EntityScreeningHitData emailAddresses(List emailAddresses) { + + this.emailAddresses = emailAddresses; + return this; + } + + public EntityScreeningHitData addEmailAddressesItem(EntityScreeningHitEmailsItems emailAddressesItem) { + if (this.emailAddresses == null) { + this.emailAddresses = new ArrayList<>(); + } + this.emailAddresses.add(emailAddressesItem); + return this; + } + + /** + * Email addresses associated with the watchlist hit + * @return emailAddresses + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Email addresses associated with the watchlist hit") + + public List getEmailAddresses() { + return emailAddresses; + } + + + public void setEmailAddresses(List emailAddresses) { + this.emailAddresses = emailAddresses; + } + + + public EntityScreeningHitData locations(List locations) { + + this.locations = locations; + return this; + } + + public EntityScreeningHitData addLocationsItem(GenericScreeningHitLocationItems locationsItem) { + if (this.locations == null) { + this.locations = new ArrayList<>(); + } + this.locations.add(locationsItem); + return this; + } + + /** + * Locations associated with the watchlist hit + * @return locations + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Locations associated with the watchlist hit") + + public List getLocations() { + return locations; + } + + + public void setLocations(List locations) { + this.locations = locations; + } + + + public EntityScreeningHitData names(List names) { + + this.names = names; + return this; + } + + public EntityScreeningHitData addNamesItem(EntityScreeningHitNamesItems namesItem) { + if (this.names == null) { + this.names = new ArrayList<>(); + } + this.names.add(namesItem); + return this; + } + + /** + * Names associated with the watchlist hit + * @return names + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Names associated with the watchlist hit") + + public List getNames() { + return names; + } + + + public void setNames(List names) { + this.names = names; + } + + + public EntityScreeningHitData phoneNumbers(List phoneNumbers) { + + this.phoneNumbers = phoneNumbers; + return this; + } + + public EntityScreeningHitData addPhoneNumbersItem(EntityScreeningHitsPhoneNumberItems phoneNumbersItem) { + if (this.phoneNumbers == null) { + this.phoneNumbers = new ArrayList<>(); + } + this.phoneNumbers.add(phoneNumbersItem); + return this; + } + + /** + * Phone numbers associated with the watchlist hit + * @return phoneNumbers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Phone numbers associated with the watchlist hit") + + public List getPhoneNumbers() { + return phoneNumbers; + } + + + public void setPhoneNumbers(List phoneNumbers) { + this.phoneNumbers = phoneNumbers; + } + + + public EntityScreeningHitData urls(List urls) { + + this.urls = urls; + return this; + } + + public EntityScreeningHitData addUrlsItem(EntityScreeningHitUrlsItems urlsItem) { + if (this.urls == null) { + this.urls = new ArrayList<>(); + } + this.urls.add(urlsItem); + return this; + } + + /** + * URLs associated with the watchlist hit + * @return urls + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URLs associated with the watchlist hit") + + public List getUrls() { + return urls; + } + + + public void setUrls(List urls) { + this.urls = urls; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityScreeningHitData entityScreeningHitData = (EntityScreeningHitData) o; + return Objects.equals(this.documents, entityScreeningHitData.documents) && + Objects.equals(this.emailAddresses, entityScreeningHitData.emailAddresses) && + Objects.equals(this.locations, entityScreeningHitData.locations) && + Objects.equals(this.names, entityScreeningHitData.names) && + Objects.equals(this.phoneNumbers, entityScreeningHitData.phoneNumbers) && + Objects.equals(this.urls, entityScreeningHitData.urls); + } + + @Override + public int hashCode() { + return Objects.hash(documents, emailAddresses, locations, names, phoneNumbers, urls); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityScreeningHitData {\n"); + sb.append(" documents: ").append(toIndentedString(documents)).append("\n"); + sb.append(" emailAddresses: ").append(toIndentedString(emailAddresses)).append("\n"); + sb.append(" locations: ").append(toIndentedString(locations)).append("\n"); + sb.append(" names: ").append(toIndentedString(names)).append("\n"); + sb.append(" phoneNumbers: ").append(toIndentedString(phoneNumbers)).append("\n"); + sb.append(" urls: ").append(toIndentedString(urls)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityScreeningHitDocumentsItems.java b/src/main/java/com/plaid/client/model/EntityScreeningHitDocumentsItems.java new file mode 100644 index 0000000000..952d4744b1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityScreeningHitDocumentsItems.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityDocument; +import com.plaid.client.model.MatchSummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analyzed documents for the associated hit + */ +@ApiModel(description = "Analyzed documents for the associated hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityScreeningHitDocumentsItems { + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private MatchSummary analysis; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private EntityDocument data; + + + public EntityScreeningHitDocumentsItems analysis(MatchSummary analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummary getAnalysis() { + return analysis; + } + + + public void setAnalysis(MatchSummary analysis) { + this.analysis = analysis; + } + + + public EntityScreeningHitDocumentsItems data(EntityDocument data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EntityDocument getData() { + return data; + } + + + public void setData(EntityDocument data) { + this.data = data; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityScreeningHitDocumentsItems entityScreeningHitDocumentsItems = (EntityScreeningHitDocumentsItems) o; + return Objects.equals(this.analysis, entityScreeningHitDocumentsItems.analysis) && + Objects.equals(this.data, entityScreeningHitDocumentsItems.data); + } + + @Override + public int hashCode() { + return Objects.hash(analysis, data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityScreeningHitDocumentsItems {\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityScreeningHitEmails.java b/src/main/java/com/plaid/client/model/EntityScreeningHitEmails.java new file mode 100644 index 0000000000..abc8ce4183 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityScreeningHitEmails.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Email address information for the associated entity watchlist hit + */ +@ApiModel(description = "Email address information for the associated entity watchlist hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityScreeningHitEmails { + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + + public EntityScreeningHitEmails emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @ApiModelProperty(example = "user@example.com", required = true, value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityScreeningHitEmails entityScreeningHitEmails = (EntityScreeningHitEmails) o; + return Objects.equals(this.emailAddress, entityScreeningHitEmails.emailAddress); + } + + @Override + public int hashCode() { + return Objects.hash(emailAddress); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityScreeningHitEmails {\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityScreeningHitEmailsItems.java b/src/main/java/com/plaid/client/model/EntityScreeningHitEmailsItems.java new file mode 100644 index 0000000000..d20feda2c2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityScreeningHitEmailsItems.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityScreeningHitEmails; +import com.plaid.client.model.MatchSummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analyzed emails for the associated hit + */ +@ApiModel(description = "Analyzed emails for the associated hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityScreeningHitEmailsItems { + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private MatchSummary analysis; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private EntityScreeningHitEmails data; + + + public EntityScreeningHitEmailsItems analysis(MatchSummary analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummary getAnalysis() { + return analysis; + } + + + public void setAnalysis(MatchSummary analysis) { + this.analysis = analysis; + } + + + public EntityScreeningHitEmailsItems data(EntityScreeningHitEmails data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EntityScreeningHitEmails getData() { + return data; + } + + + public void setData(EntityScreeningHitEmails data) { + this.data = data; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityScreeningHitEmailsItems entityScreeningHitEmailsItems = (EntityScreeningHitEmailsItems) o; + return Objects.equals(this.analysis, entityScreeningHitEmailsItems.analysis) && + Objects.equals(this.data, entityScreeningHitEmailsItems.data); + } + + @Override + public int hashCode() { + return Objects.hash(analysis, data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityScreeningHitEmailsItems {\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityScreeningHitNames.java b/src/main/java/com/plaid/client/model/EntityScreeningHitNames.java new file mode 100644 index 0000000000..8e3550594a --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityScreeningHitNames.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WeakAliasDetermination; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Name information for the associated entity watchlist hit + */ +@ApiModel(description = "Name information for the associated entity watchlist hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityScreeningHitNames { + public static final String SERIALIZED_NAME_FULL = "full"; + @SerializedName(SERIALIZED_NAME_FULL) + private String full; + + public static final String SERIALIZED_NAME_IS_PRIMARY = "is_primary"; + @SerializedName(SERIALIZED_NAME_IS_PRIMARY) + private Boolean isPrimary; + + public static final String SERIALIZED_NAME_WEAK_ALIAS_DETERMINATION = "weak_alias_determination"; + @SerializedName(SERIALIZED_NAME_WEAK_ALIAS_DETERMINATION) + private WeakAliasDetermination weakAliasDetermination; + + + public EntityScreeningHitNames full(String full) { + + this.full = full; + return this; + } + + /** + * The full name of the entity. + * @return full + **/ + @ApiModelProperty(example = "Al Qaida", required = true, value = "The full name of the entity.") + + public String getFull() { + return full; + } + + + public void setFull(String full) { + this.full = full; + } + + + public EntityScreeningHitNames isPrimary(Boolean isPrimary) { + + this.isPrimary = isPrimary; + return this; + } + + /** + * Primary names are those most commonly used to refer to this entity. Only one name will ever be marked as primary. + * @return isPrimary + **/ + @ApiModelProperty(example = "false", required = true, value = "Primary names are those most commonly used to refer to this entity. Only one name will ever be marked as primary.") + + public Boolean getIsPrimary() { + return isPrimary; + } + + + public void setIsPrimary(Boolean isPrimary) { + this.isPrimary = isPrimary; + } + + + public EntityScreeningHitNames weakAliasDetermination(WeakAliasDetermination weakAliasDetermination) { + + this.weakAliasDetermination = weakAliasDetermination; + return this; + } + + /** + * Get weakAliasDetermination + * @return weakAliasDetermination + **/ + @ApiModelProperty(required = true, value = "") + + public WeakAliasDetermination getWeakAliasDetermination() { + return weakAliasDetermination; + } + + + public void setWeakAliasDetermination(WeakAliasDetermination weakAliasDetermination) { + this.weakAliasDetermination = weakAliasDetermination; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityScreeningHitNames entityScreeningHitNames = (EntityScreeningHitNames) o; + return Objects.equals(this.full, entityScreeningHitNames.full) && + Objects.equals(this.isPrimary, entityScreeningHitNames.isPrimary) && + Objects.equals(this.weakAliasDetermination, entityScreeningHitNames.weakAliasDetermination); + } + + @Override + public int hashCode() { + return Objects.hash(full, isPrimary, weakAliasDetermination); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityScreeningHitNames {\n"); + sb.append(" full: ").append(toIndentedString(full)).append("\n"); + sb.append(" isPrimary: ").append(toIndentedString(isPrimary)).append("\n"); + sb.append(" weakAliasDetermination: ").append(toIndentedString(weakAliasDetermination)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityScreeningHitNamesItems.java b/src/main/java/com/plaid/client/model/EntityScreeningHitNamesItems.java new file mode 100644 index 0000000000..3e38339c2a --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityScreeningHitNamesItems.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityScreeningHitNames; +import com.plaid.client.model.MatchSummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analyzed names for the associated hit + */ +@ApiModel(description = "Analyzed names for the associated hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityScreeningHitNamesItems { + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private MatchSummary analysis; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private EntityScreeningHitNames data; + + + public EntityScreeningHitNamesItems analysis(MatchSummary analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummary getAnalysis() { + return analysis; + } + + + public void setAnalysis(MatchSummary analysis) { + this.analysis = analysis; + } + + + public EntityScreeningHitNamesItems data(EntityScreeningHitNames data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EntityScreeningHitNames getData() { + return data; + } + + + public void setData(EntityScreeningHitNames data) { + this.data = data; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityScreeningHitNamesItems entityScreeningHitNamesItems = (EntityScreeningHitNamesItems) o; + return Objects.equals(this.analysis, entityScreeningHitNamesItems.analysis) && + Objects.equals(this.data, entityScreeningHitNamesItems.data); + } + + @Override + public int hashCode() { + return Objects.hash(analysis, data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityScreeningHitNamesItems {\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityScreeningHitPhoneNumbers.java b/src/main/java/com/plaid/client/model/EntityScreeningHitPhoneNumbers.java new file mode 100644 index 0000000000..99c12a36f6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityScreeningHitPhoneNumbers.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PhoneType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Phone number information associated with the entity screening hit + */ +@ApiModel(description = "Phone number information associated with the entity screening hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityScreeningHitPhoneNumbers { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private PhoneType type; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + + public EntityScreeningHitPhoneNumbers type(PhoneType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public PhoneType getType() { + return type; + } + + + public void setType(PhoneType type) { + this.type = type; + } + + + public EntityScreeningHitPhoneNumbers phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A phone number in E.164 format. + * @return phoneNumber + **/ + @ApiModelProperty(example = "+14025671234", required = true, value = "A phone number in E.164 format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityScreeningHitPhoneNumbers entityScreeningHitPhoneNumbers = (EntityScreeningHitPhoneNumbers) o; + return Objects.equals(this.type, entityScreeningHitPhoneNumbers.type) && + Objects.equals(this.phoneNumber, entityScreeningHitPhoneNumbers.phoneNumber); + } + + @Override + public int hashCode() { + return Objects.hash(type, phoneNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityScreeningHitPhoneNumbers {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityScreeningHitUrls.java b/src/main/java/com/plaid/client/model/EntityScreeningHitUrls.java new file mode 100644 index 0000000000..f761173ef7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityScreeningHitUrls.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.net.URI; + +/** + * URLs associated with the entity screening hit + */ +@ApiModel(description = "URLs associated with the entity screening hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityScreeningHitUrls { + public static final String SERIALIZED_NAME_URL = "url"; + @SerializedName(SERIALIZED_NAME_URL) + private URI url; + + + public EntityScreeningHitUrls url(URI url) { + + this.url = url; + return this; + } + + /** + * An 'http' or 'https' URL (must begin with either of those). + * @return url + **/ + @ApiModelProperty(example = "https://example.com", required = true, value = "An 'http' or 'https' URL (must begin with either of those).") + + public URI getUrl() { + return url; + } + + + public void setUrl(URI url) { + this.url = url; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityScreeningHitUrls entityScreeningHitUrls = (EntityScreeningHitUrls) o; + return Objects.equals(this.url, entityScreeningHitUrls.url); + } + + @Override + public int hashCode() { + return Objects.hash(url); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityScreeningHitUrls {\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityScreeningHitUrlsItems.java b/src/main/java/com/plaid/client/model/EntityScreeningHitUrlsItems.java new file mode 100644 index 0000000000..d55a5b6d47 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityScreeningHitUrlsItems.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityScreeningHitUrls; +import com.plaid.client.model.MatchSummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analyzed URLs for the associated hit + */ +@ApiModel(description = "Analyzed URLs for the associated hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityScreeningHitUrlsItems { + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private MatchSummary analysis; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private EntityScreeningHitUrls data; + + + public EntityScreeningHitUrlsItems analysis(MatchSummary analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummary getAnalysis() { + return analysis; + } + + + public void setAnalysis(MatchSummary analysis) { + this.analysis = analysis; + } + + + public EntityScreeningHitUrlsItems data(EntityScreeningHitUrls data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EntityScreeningHitUrls getData() { + return data; + } + + + public void setData(EntityScreeningHitUrls data) { + this.data = data; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityScreeningHitUrlsItems entityScreeningHitUrlsItems = (EntityScreeningHitUrlsItems) o; + return Objects.equals(this.analysis, entityScreeningHitUrlsItems.analysis) && + Objects.equals(this.data, entityScreeningHitUrlsItems.data); + } + + @Override + public int hashCode() { + return Objects.hash(analysis, data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityScreeningHitUrlsItems {\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityScreeningHitsPhoneNumberItems.java b/src/main/java/com/plaid/client/model/EntityScreeningHitsPhoneNumberItems.java new file mode 100644 index 0000000000..96e39b6d6d --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityScreeningHitsPhoneNumberItems.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityScreeningHitPhoneNumbers; +import com.plaid.client.model.MatchSummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analyzed phone numbers for the associated hit + */ +@ApiModel(description = "Analyzed phone numbers for the associated hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityScreeningHitsPhoneNumberItems { + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private MatchSummary analysis; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private EntityScreeningHitPhoneNumbers data; + + + public EntityScreeningHitsPhoneNumberItems analysis(MatchSummary analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummary getAnalysis() { + return analysis; + } + + + public void setAnalysis(MatchSummary analysis) { + this.analysis = analysis; + } + + + public EntityScreeningHitsPhoneNumberItems data(EntityScreeningHitPhoneNumbers data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EntityScreeningHitPhoneNumbers getData() { + return data; + } + + + public void setData(EntityScreeningHitPhoneNumbers data) { + this.data = data; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityScreeningHitsPhoneNumberItems entityScreeningHitsPhoneNumberItems = (EntityScreeningHitsPhoneNumberItems) o; + return Objects.equals(this.analysis, entityScreeningHitsPhoneNumberItems.analysis) && + Objects.equals(this.data, entityScreeningHitsPhoneNumberItems.data); + } + + @Override + public int hashCode() { + return Objects.hash(analysis, data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityScreeningHitsPhoneNumberItems {\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityScreeningStatusUpdatedWebhook.java b/src/main/java/com/plaid/client/model/EntityScreeningStatusUpdatedWebhook.java new file mode 100644 index 0000000000..53eaa93bde --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityScreeningStatusUpdatedWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when an entity screening status has changed, which can occur manually via the dashboard or during ongoing monitoring. + */ +@ApiModel(description = "Fired when an entity screening status has changed, which can occur manually via the dashboard or during ongoing monitoring.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityScreeningStatusUpdatedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ENTITY_SCREENING_ID = "entity_screening_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_SCREENING_ID) + private String entityScreeningId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public EntityScreeningStatusUpdatedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `ENTITY_SCREENING` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`ENTITY_SCREENING`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public EntityScreeningStatusUpdatedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `STATUS_UPDATED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`STATUS_UPDATED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public EntityScreeningStatusUpdatedWebhook entityScreeningId(String entityScreeningId) { + + this.entityScreeningId = entityScreeningId; + return this; + } + + /** + * The ID of the associated entity screening. + * @return entityScreeningId + **/ + @ApiModelProperty(required = true, value = "The ID of the associated entity screening.") + + public String getEntityScreeningId() { + return entityScreeningId; + } + + + public void setEntityScreeningId(String entityScreeningId) { + this.entityScreeningId = entityScreeningId; + } + + + public EntityScreeningStatusUpdatedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityScreeningStatusUpdatedWebhook entityScreeningStatusUpdatedWebhook = (EntityScreeningStatusUpdatedWebhook) o; + return Objects.equals(this.webhookType, entityScreeningStatusUpdatedWebhook.webhookType) && + Objects.equals(this.webhookCode, entityScreeningStatusUpdatedWebhook.webhookCode) && + Objects.equals(this.entityScreeningId, entityScreeningStatusUpdatedWebhook.entityScreeningId) && + Objects.equals(this.environment, entityScreeningStatusUpdatedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, entityScreeningId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityScreeningStatusUpdatedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" entityScreeningId: ").append(toIndentedString(entityScreeningId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityWatchlistCode.java b/src/main/java/com/plaid/client/model/EntityWatchlistCode.java new file mode 100644 index 0000000000..21594120da --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityWatchlistCode.java @@ -0,0 +1,107 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Shorthand identifier for a specific screening list for entities. `AU_CON`: Australia Department of Foreign Affairs and Trade Consolidated List `CA_CON`: Government of Canada Consolidated List of Sanctions `EU_CON`: European External Action Service Consolidated List `IZ_SOE`: State Owned Enterprise List `IZ_UNC`: United Nations Consolidated Sanctions `IZ_WBK`: World Bank Listing of Ineligible Firms and Individuals `US_CAP`: US OFAC Correspondent Account or Payable-Through Account Sanctions `US_FSE`: US OFAC Foreign Sanctions Evaders `US_MBS`: US Non-SDN Menu-Based Sanctions `US_SDN`: US OFAC Specially Designated Nationals List `US_SSI`: US OFAC Sectoral Sanctions Identifications `US_CMC`: US OFAC Non-SDN Chinese Military-Industrial Complex List `US_UVL`: Bureau of Industry and Security Unverified List `US_SAM`: US System for Award Management Exclusion List `US_TEL`: US Terrorist Exclusion List `UK_HMC`: Foreign, Commonwealth & Development Office UK Sanctions List + */ +@JsonAdapter(EntityWatchlistCode.Adapter.class) +public enum EntityWatchlistCode { + + CA_CON("CA_CON"), + + EU_CON("EU_CON"), + + IZ_SOE("IZ_SOE"), + + IZ_UNC("IZ_UNC"), + + IZ_WBK("IZ_WBK"), + + US_CAP("US_CAP"), + + US_FSE("US_FSE"), + + US_MBS("US_MBS"), + + US_SDN("US_SDN"), + + US_SSI("US_SSI"), + + US_CMC("US_CMC"), + + US_UVL("US_UVL"), + + US_SAM("US_SAM"), + + US_TEL("US_TEL"), + + AU_CON("AU_CON"), + + UK_HMC("UK_HMC"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + EntityWatchlistCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static EntityWatchlistCode fromValue(String value) { + for (EntityWatchlistCode b : EntityWatchlistCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return EntityWatchlistCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final EntityWatchlistCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public EntityWatchlistCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return EntityWatchlistCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/EntityWatchlistProgram.java b/src/main/java/com/plaid/client/model/EntityWatchlistProgram.java new file mode 100644 index 0000000000..ff24f866ed --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityWatchlistProgram.java @@ -0,0 +1,305 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityWatchlistCode; +import com.plaid.client.model.ProgramNameSensitivity; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +/** + * A program that configures the active lists, search parameters, and other behavior for initial and ongoing screening of entities. + */ +@ApiModel(description = "A program that configures the active lists, search parameters, and other behavior for initial and ongoing screening of entities.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityWatchlistProgram { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_IS_RESCANNING_ENABLED = "is_rescanning_enabled"; + @SerializedName(SERIALIZED_NAME_IS_RESCANNING_ENABLED) + private Boolean isRescanningEnabled; + + public static final String SERIALIZED_NAME_LISTS_ENABLED = "lists_enabled"; + @SerializedName(SERIALIZED_NAME_LISTS_ENABLED) + private Set listsEnabled = new LinkedHashSet<>(); + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NAME_SENSITIVITY = "name_sensitivity"; + @SerializedName(SERIALIZED_NAME_NAME_SENSITIVITY) + private ProgramNameSensitivity nameSensitivity; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_IS_ARCHIVED = "is_archived"; + @SerializedName(SERIALIZED_NAME_IS_ARCHIVED) + private Boolean isArchived; + + + public EntityWatchlistProgram id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated entity program. + * @return id + **/ + @ApiModelProperty(example = "entprg_2eRPsDnL66rZ7H", required = true, value = "ID of the associated entity program.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public EntityWatchlistProgram createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public EntityWatchlistProgram isRescanningEnabled(Boolean isRescanningEnabled) { + + this.isRescanningEnabled = isRescanningEnabled; + return this; + } + + /** + * Indicator specifying whether the program is enabled and will perform daily rescans. + * @return isRescanningEnabled + **/ + @ApiModelProperty(example = "true", required = true, value = "Indicator specifying whether the program is enabled and will perform daily rescans.") + + public Boolean getIsRescanningEnabled() { + return isRescanningEnabled; + } + + + public void setIsRescanningEnabled(Boolean isRescanningEnabled) { + this.isRescanningEnabled = isRescanningEnabled; + } + + + public EntityWatchlistProgram listsEnabled(Set listsEnabled) { + + this.listsEnabled = listsEnabled; + return this; + } + + public EntityWatchlistProgram addListsEnabledItem(EntityWatchlistCode listsEnabledItem) { + this.listsEnabled.add(listsEnabledItem); + return this; + } + + /** + * Watchlists enabled for the associated program + * @return listsEnabled + **/ + @ApiModelProperty(example = "[\"EU_CON\"]", required = true, value = "Watchlists enabled for the associated program") + + public Set getListsEnabled() { + return listsEnabled; + } + + + public void setListsEnabled(Set listsEnabled) { + this.listsEnabled = listsEnabled; + } + + + public EntityWatchlistProgram name(String name) { + + this.name = name; + return this; + } + + /** + * A name for the entity program to define its purpose. For example, \"High Risk Organizations\" or \"Applicants\". + * @return name + **/ + @ApiModelProperty(example = "Sample Program", required = true, value = "A name for the entity program to define its purpose. For example, \"High Risk Organizations\" or \"Applicants\".") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public EntityWatchlistProgram nameSensitivity(ProgramNameSensitivity nameSensitivity) { + + this.nameSensitivity = nameSensitivity; + return this; + } + + /** + * Get nameSensitivity + * @return nameSensitivity + **/ + @ApiModelProperty(required = true, value = "") + + public ProgramNameSensitivity getNameSensitivity() { + return nameSensitivity; + } + + + public void setNameSensitivity(ProgramNameSensitivity nameSensitivity) { + this.nameSensitivity = nameSensitivity; + } + + + public EntityWatchlistProgram auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public EntityWatchlistProgram isArchived(Boolean isArchived) { + + this.isArchived = isArchived; + return this; + } + + /** + * Archived programs are read-only and cannot screen new customers nor participate in ongoing monitoring. + * @return isArchived + **/ + @ApiModelProperty(example = "false", required = true, value = "Archived programs are read-only and cannot screen new customers nor participate in ongoing monitoring.") + + public Boolean getIsArchived() { + return isArchived; + } + + + public void setIsArchived(Boolean isArchived) { + this.isArchived = isArchived; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityWatchlistProgram entityWatchlistProgram = (EntityWatchlistProgram) o; + return Objects.equals(this.id, entityWatchlistProgram.id) && + Objects.equals(this.createdAt, entityWatchlistProgram.createdAt) && + Objects.equals(this.isRescanningEnabled, entityWatchlistProgram.isRescanningEnabled) && + Objects.equals(this.listsEnabled, entityWatchlistProgram.listsEnabled) && + Objects.equals(this.name, entityWatchlistProgram.name) && + Objects.equals(this.nameSensitivity, entityWatchlistProgram.nameSensitivity) && + Objects.equals(this.auditTrail, entityWatchlistProgram.auditTrail) && + Objects.equals(this.isArchived, entityWatchlistProgram.isArchived); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdAt, isRescanningEnabled, listsEnabled, name, nameSensitivity, auditTrail, isArchived); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityWatchlistProgram {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" isRescanningEnabled: ").append(toIndentedString(isRescanningEnabled)).append("\n"); + sb.append(" listsEnabled: ").append(toIndentedString(listsEnabled)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" nameSensitivity: ").append(toIndentedString(nameSensitivity)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" isArchived: ").append(toIndentedString(isArchived)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityWatchlistScreening.java b/src/main/java/com/plaid/client/model/EntityWatchlistScreening.java new file mode 100644 index 0000000000..8bab73b2c0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityWatchlistScreening.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityWatchlistScreeningSearchTerms; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import com.plaid.client.model.WatchlistScreeningStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The entity screening object allows you to represent an entity in your system, update its profile, and search for it on various watchlists. Note: Rejected entity screenings will not receive new hits, regardless of entity program configuration. + */ +@ApiModel(description = "The entity screening object allows you to represent an entity in your system, update its profile, and search for it on various watchlists. Note: Rejected entity screenings will not receive new hits, regardless of entity program configuration.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityWatchlistScreening { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private EntityWatchlistScreeningSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_ASSIGNEE = "assignee"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE) + private String assignee; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WatchlistScreeningStatus status; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + + public EntityWatchlistScreening id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated entity screening. + * @return id + **/ + @ApiModelProperty(example = "entscr_52xR9LKo77r1Np", required = true, value = "ID of the associated entity screening.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public EntityWatchlistScreening searchTerms(EntityWatchlistScreeningSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @ApiModelProperty(required = true, value = "") + + public EntityWatchlistScreeningSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(EntityWatchlistScreeningSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public EntityWatchlistScreening assignee(String assignee) { + + this.assignee = assignee; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return assignee + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", required = true, value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getAssignee() { + return assignee; + } + + + public void setAssignee(String assignee) { + this.assignee = assignee; + } + + + public EntityWatchlistScreening status(WatchlistScreeningStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningStatus getStatus() { + return status; + } + + + public void setStatus(WatchlistScreeningStatus status) { + this.status = status; + } + + + public EntityWatchlistScreening clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public EntityWatchlistScreening auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityWatchlistScreening entityWatchlistScreening = (EntityWatchlistScreening) o; + return Objects.equals(this.id, entityWatchlistScreening.id) && + Objects.equals(this.searchTerms, entityWatchlistScreening.searchTerms) && + Objects.equals(this.assignee, entityWatchlistScreening.assignee) && + Objects.equals(this.status, entityWatchlistScreening.status) && + Objects.equals(this.clientUserId, entityWatchlistScreening.clientUserId) && + Objects.equals(this.auditTrail, entityWatchlistScreening.auditTrail); + } + + @Override + public int hashCode() { + return Objects.hash(id, searchTerms, assignee, status, clientUserId, auditTrail); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityWatchlistScreening {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityWatchlistScreeningHit.java b/src/main/java/com/plaid/client/model/EntityWatchlistScreeningHit.java new file mode 100644 index 0000000000..fa22cc8e65 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityWatchlistScreeningHit.java @@ -0,0 +1,395 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityScreeningHitAnalysis; +import com.plaid.client.model.EntityScreeningHitData; +import com.plaid.client.model.EntityWatchlistCode; +import com.plaid.client.model.WatchlistScreeningHitStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Data from a government watchlist that has been attached to the screening. + */ +@ApiModel(description = "Data from a government watchlist that has been attached to the screening.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityWatchlistScreeningHit { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_REVIEW_STATUS = "review_status"; + @SerializedName(SERIALIZED_NAME_REVIEW_STATUS) + private WatchlistScreeningHitStatus reviewStatus; + + public static final String SERIALIZED_NAME_FIRST_ACTIVE = "first_active"; + @SerializedName(SERIALIZED_NAME_FIRST_ACTIVE) + private java.sql.Timestamp firstActive; + + public static final String SERIALIZED_NAME_INACTIVE_SINCE = "inactive_since"; + @SerializedName(SERIALIZED_NAME_INACTIVE_SINCE) + private OffsetDateTime inactiveSince; + + public static final String SERIALIZED_NAME_HISTORICAL_SINCE = "historical_since"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_SINCE) + private OffsetDateTime historicalSince; + + public static final String SERIALIZED_NAME_LIST_CODE = "list_code"; + @SerializedName(SERIALIZED_NAME_LIST_CODE) + private EntityWatchlistCode listCode; + + public static final String SERIALIZED_NAME_PLAID_UID = "plaid_uid"; + @SerializedName(SERIALIZED_NAME_PLAID_UID) + private String plaidUid; + + public static final String SERIALIZED_NAME_SOURCE_UID = "source_uid"; + @SerializedName(SERIALIZED_NAME_SOURCE_UID) + private String sourceUid; + + public static final String SERIALIZED_NAME_SUB_PROGRAMS = "sub_programs"; + @SerializedName(SERIALIZED_NAME_SUB_PROGRAMS) + private List subPrograms = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private EntityScreeningHitAnalysis analysis; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private EntityScreeningHitData data; + + + public EntityWatchlistScreeningHit id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated entity screening hit. + * @return id + **/ + @ApiModelProperty(example = "enthit_52xR9LKo77r1Np", required = true, value = "ID of the associated entity screening hit.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public EntityWatchlistScreeningHit reviewStatus(WatchlistScreeningHitStatus reviewStatus) { + + this.reviewStatus = reviewStatus; + return this; + } + + /** + * Get reviewStatus + * @return reviewStatus + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningHitStatus getReviewStatus() { + return reviewStatus; + } + + + public void setReviewStatus(WatchlistScreeningHitStatus reviewStatus) { + this.reviewStatus = reviewStatus; + } + + + public EntityWatchlistScreeningHit firstActive(java.sql.Timestamp firstActive) { + + this.firstActive = firstActive; + return this; + } + + /** + * Get firstActive + * @return firstActive + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getFirstActive() { + return firstActive; + } + + + public void setFirstActive(java.sql.Timestamp firstActive) { + this.firstActive = firstActive; + } + + + public EntityWatchlistScreeningHit inactiveSince(OffsetDateTime inactiveSince) { + + this.inactiveSince = inactiveSince; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return inactiveSince + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getInactiveSince() { + return inactiveSince; + } + + + public void setInactiveSince(OffsetDateTime inactiveSince) { + this.inactiveSince = inactiveSince; + } + + + public EntityWatchlistScreeningHit historicalSince(OffsetDateTime historicalSince) { + + this.historicalSince = historicalSince; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return historicalSince + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getHistoricalSince() { + return historicalSince; + } + + + public void setHistoricalSince(OffsetDateTime historicalSince) { + this.historicalSince = historicalSince; + } + + + public EntityWatchlistScreeningHit listCode(EntityWatchlistCode listCode) { + + this.listCode = listCode; + return this; + } + + /** + * Get listCode + * @return listCode + **/ + @ApiModelProperty(required = true, value = "") + + public EntityWatchlistCode getListCode() { + return listCode; + } + + + public void setListCode(EntityWatchlistCode listCode) { + this.listCode = listCode; + } + + + public EntityWatchlistScreeningHit plaidUid(String plaidUid) { + + this.plaidUid = plaidUid; + return this; + } + + /** + * A universal identifier for a watchlist individual that is stable across searches and updates. + * @return plaidUid + **/ + @ApiModelProperty(example = "uid_3NggckTimGSJHS", required = true, value = "A universal identifier for a watchlist individual that is stable across searches and updates.") + + public String getPlaidUid() { + return plaidUid; + } + + + public void setPlaidUid(String plaidUid) { + this.plaidUid = plaidUid; + } + + + public EntityWatchlistScreeningHit sourceUid(String sourceUid) { + + this.sourceUid = sourceUid; + return this; + } + + /** + * The identifier provided by the source sanction or watchlist. When one is not provided by the source, this is `null`. + * @return sourceUid + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "26192ABC", required = true, value = "The identifier provided by the source sanction or watchlist. When one is not provided by the source, this is `null`.") + + public String getSourceUid() { + return sourceUid; + } + + + public void setSourceUid(String sourceUid) { + this.sourceUid = sourceUid; + } + + + public EntityWatchlistScreeningHit subPrograms(List subPrograms) { + + this.subPrograms = subPrograms; + return this; + } + + public EntityWatchlistScreeningHit addSubProgramsItem(String subProgramsItem) { + this.subPrograms.add(subProgramsItem); + return this; + } + + /** + * Sub-program designations that may be attached to the watchlist entry by the issuing authority. For OFAC SDN entries these are the program codes published in the SDN list (for example `SDGT` for Specially Designated Global Terrorists, `SDNTK` for Specially Designated Narcotics Trafficking Kingpins, `IRAN`, `RUSSIA-EO14024`). New codes are added by sanctioning authorities without prior notice, so callers should treat unknown values as opaque strings rather than enum members. + * @return subPrograms + **/ + @ApiModelProperty(example = "[\"SDGT\",\"SDNTK\"]", required = true, value = "Sub-program designations that may be attached to the watchlist entry by the issuing authority. For OFAC SDN entries these are the program codes published in the SDN list (for example `SDGT` for Specially Designated Global Terrorists, `SDNTK` for Specially Designated Narcotics Trafficking Kingpins, `IRAN`, `RUSSIA-EO14024`). New codes are added by sanctioning authorities without prior notice, so callers should treat unknown values as opaque strings rather than enum members. ") + + public List getSubPrograms() { + return subPrograms; + } + + + public void setSubPrograms(List subPrograms) { + this.subPrograms = subPrograms; + } + + + public EntityWatchlistScreeningHit analysis(EntityScreeningHitAnalysis analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EntityScreeningHitAnalysis getAnalysis() { + return analysis; + } + + + public void setAnalysis(EntityScreeningHitAnalysis analysis) { + this.analysis = analysis; + } + + + public EntityWatchlistScreeningHit data(EntityScreeningHitData data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EntityScreeningHitData getData() { + return data; + } + + + public void setData(EntityScreeningHitData data) { + this.data = data; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityWatchlistScreeningHit entityWatchlistScreeningHit = (EntityWatchlistScreeningHit) o; + return Objects.equals(this.id, entityWatchlistScreeningHit.id) && + Objects.equals(this.reviewStatus, entityWatchlistScreeningHit.reviewStatus) && + Objects.equals(this.firstActive, entityWatchlistScreeningHit.firstActive) && + Objects.equals(this.inactiveSince, entityWatchlistScreeningHit.inactiveSince) && + Objects.equals(this.historicalSince, entityWatchlistScreeningHit.historicalSince) && + Objects.equals(this.listCode, entityWatchlistScreeningHit.listCode) && + Objects.equals(this.plaidUid, entityWatchlistScreeningHit.plaidUid) && + Objects.equals(this.sourceUid, entityWatchlistScreeningHit.sourceUid) && + Objects.equals(this.subPrograms, entityWatchlistScreeningHit.subPrograms) && + Objects.equals(this.analysis, entityWatchlistScreeningHit.analysis) && + Objects.equals(this.data, entityWatchlistScreeningHit.data); + } + + @Override + public int hashCode() { + return Objects.hash(id, reviewStatus, firstActive, inactiveSince, historicalSince, listCode, plaidUid, sourceUid, subPrograms, analysis, data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityWatchlistScreeningHit {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" reviewStatus: ").append(toIndentedString(reviewStatus)).append("\n"); + sb.append(" firstActive: ").append(toIndentedString(firstActive)).append("\n"); + sb.append(" inactiveSince: ").append(toIndentedString(inactiveSince)).append("\n"); + sb.append(" historicalSince: ").append(toIndentedString(historicalSince)).append("\n"); + sb.append(" listCode: ").append(toIndentedString(listCode)).append("\n"); + sb.append(" plaidUid: ").append(toIndentedString(plaidUid)).append("\n"); + sb.append(" sourceUid: ").append(toIndentedString(sourceUid)).append("\n"); + sb.append(" subPrograms: ").append(toIndentedString(subPrograms)).append("\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityWatchlistScreeningReview.java b/src/main/java/com/plaid/client/model/EntityWatchlistScreeningReview.java new file mode 100644 index 0000000000..32961e6f18 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityWatchlistScreeningReview.java @@ -0,0 +1,224 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A review submitted by a team member for an entity watchlist screening. A review can be either a comment on the current screening state, actions taken against hits attached to the watchlist screening, or both. + */ +@ApiModel(description = "A review submitted by a team member for an entity watchlist screening. A review can be either a comment on the current screening state, actions taken against hits attached to the watchlist screening, or both.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityWatchlistScreeningReview { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CONFIRMED_HITS = "confirmed_hits"; + @SerializedName(SERIALIZED_NAME_CONFIRMED_HITS) + private List confirmedHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DISMISSED_HITS = "dismissed_hits"; + @SerializedName(SERIALIZED_NAME_DISMISSED_HITS) + private List dismissedHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_COMMENT = "comment"; + @SerializedName(SERIALIZED_NAME_COMMENT) + private String comment; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + + public EntityWatchlistScreeningReview id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated entity review. + * @return id + **/ + @ApiModelProperty(example = "entrev_aCLNRxK3UVzn2r", required = true, value = "ID of the associated entity review.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public EntityWatchlistScreeningReview confirmedHits(List confirmedHits) { + + this.confirmedHits = confirmedHits; + return this; + } + + public EntityWatchlistScreeningReview addConfirmedHitsItem(String confirmedHitsItem) { + this.confirmedHits.add(confirmedHitsItem); + return this; + } + + /** + * Hits marked as a true positive after thorough manual review. These hits will never recur or be updated once confirmed. In most cases, confirmed hits indicate that the customer should be rejected. + * @return confirmedHits + **/ + @ApiModelProperty(required = true, value = "Hits marked as a true positive after thorough manual review. These hits will never recur or be updated once confirmed. In most cases, confirmed hits indicate that the customer should be rejected.") + + public List getConfirmedHits() { + return confirmedHits; + } + + + public void setConfirmedHits(List confirmedHits) { + this.confirmedHits = confirmedHits; + } + + + public EntityWatchlistScreeningReview dismissedHits(List dismissedHits) { + + this.dismissedHits = dismissedHits; + return this; + } + + public EntityWatchlistScreeningReview addDismissedHitsItem(String dismissedHitsItem) { + this.dismissedHits.add(dismissedHitsItem); + return this; + } + + /** + * Hits marked as a false positive after thorough manual review. These hits will never recur or be updated once dismissed. + * @return dismissedHits + **/ + @ApiModelProperty(required = true, value = "Hits marked as a false positive after thorough manual review. These hits will never recur or be updated once dismissed.") + + public List getDismissedHits() { + return dismissedHits; + } + + + public void setDismissedHits(List dismissedHits) { + this.dismissedHits = dismissedHits; + } + + + public EntityWatchlistScreeningReview comment(String comment) { + + this.comment = comment; + return this; + } + + /** + * A comment submitted by a team member as part of reviewing a watchlist screening. + * @return comment + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "These look like legitimate matches, rejecting the customer.", required = true, value = "A comment submitted by a team member as part of reviewing a watchlist screening.") + + public String getComment() { + return comment; + } + + + public void setComment(String comment) { + this.comment = comment; + } + + + public EntityWatchlistScreeningReview auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityWatchlistScreeningReview entityWatchlistScreeningReview = (EntityWatchlistScreeningReview) o; + return Objects.equals(this.id, entityWatchlistScreeningReview.id) && + Objects.equals(this.confirmedHits, entityWatchlistScreeningReview.confirmedHits) && + Objects.equals(this.dismissedHits, entityWatchlistScreeningReview.dismissedHits) && + Objects.equals(this.comment, entityWatchlistScreeningReview.comment) && + Objects.equals(this.auditTrail, entityWatchlistScreeningReview.auditTrail); + } + + @Override + public int hashCode() { + return Objects.hash(id, confirmedHits, dismissedHits, comment, auditTrail); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityWatchlistScreeningReview {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" confirmedHits: ").append(toIndentedString(confirmedHits)).append("\n"); + sb.append(" dismissedHits: ").append(toIndentedString(dismissedHits)).append("\n"); + sb.append(" comment: ").append(toIndentedString(comment)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityWatchlistScreeningSearchTerms.java b/src/main/java/com/plaid/client/model/EntityWatchlistScreeningSearchTerms.java new file mode 100644 index 0000000000..a0ed281cc3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityWatchlistScreeningSearchTerms.java @@ -0,0 +1,300 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.net.URI; + +/** + * Search terms associated with an entity used for searching against watchlists + */ +@ApiModel(description = "Search terms associated with an entity used for searching against watchlists") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityWatchlistScreeningSearchTerms { + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_PROGRAM_ID = "entity_watchlist_program_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_PROGRAM_ID) + private String entityWatchlistProgramId; + + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_DOCUMENT_NUMBER = "document_number"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_NUMBER) + private String documentNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_URL = "url"; + @SerializedName(SERIALIZED_NAME_URL) + private URI url; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private Integer version; + + + public EntityWatchlistScreeningSearchTerms entityWatchlistProgramId(String entityWatchlistProgramId) { + + this.entityWatchlistProgramId = entityWatchlistProgramId; + return this; + } + + /** + * ID of the associated entity program. + * @return entityWatchlistProgramId + **/ + @ApiModelProperty(example = "entprg_2eRPsDnL66rZ7H", required = true, value = "ID of the associated entity program.") + + public String getEntityWatchlistProgramId() { + return entityWatchlistProgramId; + } + + + public void setEntityWatchlistProgramId(String entityWatchlistProgramId) { + this.entityWatchlistProgramId = entityWatchlistProgramId; + } + + + public EntityWatchlistScreeningSearchTerms legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * The name of the organization being screened. Must have at least one alphabetical character, have a maximum length of 100 characters, and not include leading or trailing spaces. + * @return legalName + **/ + @ApiModelProperty(example = "Al-Qaida", required = true, value = "The name of the organization being screened. Must have at least one alphabetical character, have a maximum length of 100 characters, and not include leading or trailing spaces.") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public EntityWatchlistScreeningSearchTerms documentNumber(String documentNumber) { + + this.documentNumber = documentNumber; + return this; + } + + /** + * The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces. + * @return documentNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "C31195855", required = true, value = "The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces.") + + public String getDocumentNumber() { + return documentNumber; + } + + + public void setDocumentNumber(String documentNumber) { + this.documentNumber = documentNumber; + } + + + public EntityWatchlistScreeningSearchTerms emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user@example.com", required = true, value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public EntityWatchlistScreeningSearchTerms country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public EntityWatchlistScreeningSearchTerms phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A phone number in E.164 format. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+14025671234", required = true, value = "A phone number in E.164 format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public EntityWatchlistScreeningSearchTerms url(URI url) { + + this.url = url; + return this; + } + + /** + * An 'http' or 'https' URL (must begin with either of those). + * @return url + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://example.com", required = true, value = "An 'http' or 'https' URL (must begin with either of those).") + + public URI getUrl() { + return url; + } + + + public void setUrl(URI url) { + this.url = url; + } + + + public EntityWatchlistScreeningSearchTerms version(Integer version) { + + this.version = version; + return this; + } + + /** + * The current version of the search terms. Starts at `1` and increments with each edit to `search_terms`. + * @return version + **/ + @ApiModelProperty(example = "1", required = true, value = "The current version of the search terms. Starts at `1` and increments with each edit to `search_terms`.") + + public Integer getVersion() { + return version; + } + + + public void setVersion(Integer version) { + this.version = version; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityWatchlistScreeningSearchTerms entityWatchlistScreeningSearchTerms = (EntityWatchlistScreeningSearchTerms) o; + return Objects.equals(this.entityWatchlistProgramId, entityWatchlistScreeningSearchTerms.entityWatchlistProgramId) && + Objects.equals(this.legalName, entityWatchlistScreeningSearchTerms.legalName) && + Objects.equals(this.documentNumber, entityWatchlistScreeningSearchTerms.documentNumber) && + Objects.equals(this.emailAddress, entityWatchlistScreeningSearchTerms.emailAddress) && + Objects.equals(this.country, entityWatchlistScreeningSearchTerms.country) && + Objects.equals(this.phoneNumber, entityWatchlistScreeningSearchTerms.phoneNumber) && + Objects.equals(this.url, entityWatchlistScreeningSearchTerms.url) && + Objects.equals(this.version, entityWatchlistScreeningSearchTerms.version); + } + + @Override + public int hashCode() { + return Objects.hash(entityWatchlistProgramId, legalName, documentNumber, emailAddress, country, phoneNumber, url, version); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityWatchlistScreeningSearchTerms {\n"); + sb.append(" entityWatchlistProgramId: ").append(toIndentedString(entityWatchlistProgramId)).append("\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" documentNumber: ").append(toIndentedString(documentNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EntityWatchlistSearchTerms.java b/src/main/java/com/plaid/client/model/EntityWatchlistSearchTerms.java new file mode 100644 index 0000000000..d550924f36 --- /dev/null +++ b/src/main/java/com/plaid/client/model/EntityWatchlistSearchTerms.java @@ -0,0 +1,272 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.net.URI; + +/** + * Search inputs for creating an entity watchlist screening + */ +@ApiModel(description = "Search inputs for creating an entity watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EntityWatchlistSearchTerms { + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_PROGRAM_ID = "entity_watchlist_program_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_PROGRAM_ID) + private String entityWatchlistProgramId; + + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_DOCUMENT_NUMBER = "document_number"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_NUMBER) + private String documentNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_URL = "url"; + @SerializedName(SERIALIZED_NAME_URL) + private URI url; + + + public EntityWatchlistSearchTerms entityWatchlistProgramId(String entityWatchlistProgramId) { + + this.entityWatchlistProgramId = entityWatchlistProgramId; + return this; + } + + /** + * ID of the associated entity program. + * @return entityWatchlistProgramId + **/ + @ApiModelProperty(example = "entprg_2eRPsDnL66rZ7H", required = true, value = "ID of the associated entity program.") + + public String getEntityWatchlistProgramId() { + return entityWatchlistProgramId; + } + + + public void setEntityWatchlistProgramId(String entityWatchlistProgramId) { + this.entityWatchlistProgramId = entityWatchlistProgramId; + } + + + public EntityWatchlistSearchTerms legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * The name of the organization being screened. Must have at least one alphabetical character, have a maximum length of 100 characters, and not include leading or trailing spaces. + * @return legalName + **/ + @ApiModelProperty(example = "Al-Qaida", required = true, value = "The name of the organization being screened. Must have at least one alphabetical character, have a maximum length of 100 characters, and not include leading or trailing spaces.") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public EntityWatchlistSearchTerms documentNumber(String documentNumber) { + + this.documentNumber = documentNumber; + return this; + } + + /** + * The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces. + * @return documentNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "C31195855", value = "The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces.") + + public String getDocumentNumber() { + return documentNumber; + } + + + public void setDocumentNumber(String documentNumber) { + this.documentNumber = documentNumber; + } + + + public EntityWatchlistSearchTerms emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user@example.com", value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public EntityWatchlistSearchTerms country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "US", value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public EntityWatchlistSearchTerms phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A phone number in E.164 format. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+14025671234", value = "A phone number in E.164 format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public EntityWatchlistSearchTerms url(URI url) { + + this.url = url; + return this; + } + + /** + * An 'http' or 'https' URL (must begin with either of those). + * @return url + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://example.com", value = "An 'http' or 'https' URL (must begin with either of those).") + + public URI getUrl() { + return url; + } + + + public void setUrl(URI url) { + this.url = url; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityWatchlistSearchTerms entityWatchlistSearchTerms = (EntityWatchlistSearchTerms) o; + return Objects.equals(this.entityWatchlistProgramId, entityWatchlistSearchTerms.entityWatchlistProgramId) && + Objects.equals(this.legalName, entityWatchlistSearchTerms.legalName) && + Objects.equals(this.documentNumber, entityWatchlistSearchTerms.documentNumber) && + Objects.equals(this.emailAddress, entityWatchlistSearchTerms.emailAddress) && + Objects.equals(this.country, entityWatchlistSearchTerms.country) && + Objects.equals(this.phoneNumber, entityWatchlistSearchTerms.phoneNumber) && + Objects.equals(this.url, entityWatchlistSearchTerms.url); + } + + @Override + public int hashCode() { + return Objects.hash(entityWatchlistProgramId, legalName, documentNumber, emailAddress, country, phoneNumber, url); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityWatchlistSearchTerms {\n"); + sb.append(" entityWatchlistProgramId: ").append(toIndentedString(entityWatchlistProgramId)).append("\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" documentNumber: ").append(toIndentedString(documentNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/EwaScore.java b/src/main/java/com/plaid/client/model/EwaScore.java new file mode 100644 index 0000000000..dbdcb6ef2b --- /dev/null +++ b/src/main/java/com/plaid/client/model/EwaScore.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * EwaScore represents an earned wage access score for a specific advance amount range. + */ +@ApiModel(description = "EwaScore represents an earned wage access score for a specific advance amount range.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class EwaScore { + public static final String SERIALIZED_NAME_LOWEST_AMOUNT = "lowest_amount"; + @SerializedName(SERIALIZED_NAME_LOWEST_AMOUNT) + private Float lowestAmount; + + public static final String SERIALIZED_NAME_HIGHEST_AMOUNT = "highest_amount"; + @SerializedName(SERIALIZED_NAME_HIGHEST_AMOUNT) + private Float highestAmount; + + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + + public EwaScore lowestAmount(Float lowestAmount) { + + this.lowestAmount = lowestAmount; + return this; + } + + /** + * Float value representing the lower bound (inclusive) of the advance amount range associated with a specific EWA score. + * @return lowestAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Float value representing the lower bound (inclusive) of the advance amount range associated with a specific EWA score.") + + public Float getLowestAmount() { + return lowestAmount; + } + + + public void setLowestAmount(Float lowestAmount) { + this.lowestAmount = lowestAmount; + } + + + public EwaScore highestAmount(Float highestAmount) { + + this.highestAmount = highestAmount; + return this; + } + + /** + * Float value representing the upper bound (exclusive) of the advance amount range associated with a specific EWA score. + * @return highestAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Float value representing the upper bound (exclusive) of the advance amount range associated with a specific EWA score.") + + public Float getHighestAmount() { + return highestAmount; + } + + + public void setHighestAmount(Float highestAmount) { + this.highestAmount = highestAmount; + } + + + public EwaScore score(Integer score) { + + this.score = score; + return this; + } + + /** + * EWA score for the corresponding amount bucket. Scores range from 1-99, where a higher score indicates a higher likelihood of repayment. + * @return score + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "EWA score for the corresponding amount bucket. Scores range from 1-99, where a higher score indicates a higher likelihood of repayment.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EwaScore ewaScore = (EwaScore) o; + return Objects.equals(this.lowestAmount, ewaScore.lowestAmount) && + Objects.equals(this.highestAmount, ewaScore.highestAmount) && + Objects.equals(this.score, ewaScore.score); + } + + @Override + public int hashCode() { + return Objects.hash(lowestAmount, highestAmount, score); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EwaScore {\n"); + sb.append(" lowestAmount: ").append(toIndentedString(lowestAmount)).append("\n"); + sb.append(" highestAmount: ").append(toIndentedString(highestAmount)).append("\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ExpenditureInsights.java b/src/main/java/com/plaid/client/model/ExpenditureInsights.java new file mode 100644 index 0000000000..a90d92b2e9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ExpenditureInsights.java @@ -0,0 +1,276 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AmountWithCurrencyWithMonthlyAverage; +import com.plaid.client.model.ExpenditureSummary; +import com.plaid.client.model.OutlierTransactionsInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Comprehensive analysis of spending patterns, categorizing expenses into essential, non-essential, and other categories. + */ +@ApiModel(description = "Comprehensive analysis of spending patterns, categorizing expenses into essential, non-essential, and other categories.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ExpenditureInsights { + public static final String SERIALIZED_NAME_CASH_FLOW = "cash_flow"; + @SerializedName(SERIALIZED_NAME_CASH_FLOW) + private AmountWithCurrencyWithMonthlyAverage cashFlow; + + public static final String SERIALIZED_NAME_TOTAL_EXPENDITURE = "total_expenditure"; + @SerializedName(SERIALIZED_NAME_TOTAL_EXPENDITURE) + private ExpenditureSummary totalExpenditure; + + public static final String SERIALIZED_NAME_ESSENTIAL_EXPENDITURE = "essential_expenditure"; + @SerializedName(SERIALIZED_NAME_ESSENTIAL_EXPENDITURE) + private ExpenditureSummary essentialExpenditure; + + public static final String SERIALIZED_NAME_NON_ESSENTIAL_EXPENDITURE = "non_essential_expenditure"; + @SerializedName(SERIALIZED_NAME_NON_ESSENTIAL_EXPENDITURE) + private ExpenditureSummary nonEssentialExpenditure; + + public static final String SERIALIZED_NAME_OTHER = "other"; + @SerializedName(SERIALIZED_NAME_OTHER) + private ExpenditureSummary other; + + public static final String SERIALIZED_NAME_TRANSFERS_OUT = "transfers_out"; + @SerializedName(SERIALIZED_NAME_TRANSFERS_OUT) + private ExpenditureSummary transfersOut; + + public static final String SERIALIZED_NAME_OUTLIER_TRANSACTIONS = "outlier_transactions"; + @SerializedName(SERIALIZED_NAME_OUTLIER_TRANSACTIONS) + private OutlierTransactionsInsights outlierTransactions; + + + public ExpenditureInsights cashFlow(AmountWithCurrencyWithMonthlyAverage cashFlow) { + + this.cashFlow = cashFlow; + return this; + } + + /** + * Net cash flow for the period (inflows minus outflows), including a monthly average. + * @return cashFlow + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Net cash flow for the period (inflows minus outflows), including a monthly average.") + + public AmountWithCurrencyWithMonthlyAverage getCashFlow() { + return cashFlow; + } + + + public void setCashFlow(AmountWithCurrencyWithMonthlyAverage cashFlow) { + this.cashFlow = cashFlow; + } + + + public ExpenditureInsights totalExpenditure(ExpenditureSummary totalExpenditure) { + + this.totalExpenditure = totalExpenditure; + return this; + } + + /** + * Get totalExpenditure + * @return totalExpenditure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExpenditureSummary getTotalExpenditure() { + return totalExpenditure; + } + + + public void setTotalExpenditure(ExpenditureSummary totalExpenditure) { + this.totalExpenditure = totalExpenditure; + } + + + public ExpenditureInsights essentialExpenditure(ExpenditureSummary essentialExpenditure) { + + this.essentialExpenditure = essentialExpenditure; + return this; + } + + /** + * Get essentialExpenditure + * @return essentialExpenditure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExpenditureSummary getEssentialExpenditure() { + return essentialExpenditure; + } + + + public void setEssentialExpenditure(ExpenditureSummary essentialExpenditure) { + this.essentialExpenditure = essentialExpenditure; + } + + + public ExpenditureInsights nonEssentialExpenditure(ExpenditureSummary nonEssentialExpenditure) { + + this.nonEssentialExpenditure = nonEssentialExpenditure; + return this; + } + + /** + * Get nonEssentialExpenditure + * @return nonEssentialExpenditure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExpenditureSummary getNonEssentialExpenditure() { + return nonEssentialExpenditure; + } + + + public void setNonEssentialExpenditure(ExpenditureSummary nonEssentialExpenditure) { + this.nonEssentialExpenditure = nonEssentialExpenditure; + } + + + public ExpenditureInsights other(ExpenditureSummary other) { + + this.other = other; + return this; + } + + /** + * Get other + * @return other + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExpenditureSummary getOther() { + return other; + } + + + public void setOther(ExpenditureSummary other) { + this.other = other; + } + + + public ExpenditureInsights transfersOut(ExpenditureSummary transfersOut) { + + this.transfersOut = transfersOut; + return this; + } + + /** + * Get transfersOut + * @return transfersOut + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExpenditureSummary getTransfersOut() { + return transfersOut; + } + + + public void setTransfersOut(ExpenditureSummary transfersOut) { + this.transfersOut = transfersOut; + } + + + public ExpenditureInsights outlierTransactions(OutlierTransactionsInsights outlierTransactions) { + + this.outlierTransactions = outlierTransactions; + return this; + } + + /** + * Get outlierTransactions + * @return outlierTransactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public OutlierTransactionsInsights getOutlierTransactions() { + return outlierTransactions; + } + + + public void setOutlierTransactions(OutlierTransactionsInsights outlierTransactions) { + this.outlierTransactions = outlierTransactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExpenditureInsights expenditureInsights = (ExpenditureInsights) o; + return Objects.equals(this.cashFlow, expenditureInsights.cashFlow) && + Objects.equals(this.totalExpenditure, expenditureInsights.totalExpenditure) && + Objects.equals(this.essentialExpenditure, expenditureInsights.essentialExpenditure) && + Objects.equals(this.nonEssentialExpenditure, expenditureInsights.nonEssentialExpenditure) && + Objects.equals(this.other, expenditureInsights.other) && + Objects.equals(this.transfersOut, expenditureInsights.transfersOut) && + Objects.equals(this.outlierTransactions, expenditureInsights.outlierTransactions); + } + + @Override + public int hashCode() { + return Objects.hash(cashFlow, totalExpenditure, essentialExpenditure, nonEssentialExpenditure, other, transfersOut, outlierTransactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExpenditureInsights {\n"); + sb.append(" cashFlow: ").append(toIndentedString(cashFlow)).append("\n"); + sb.append(" totalExpenditure: ").append(toIndentedString(totalExpenditure)).append("\n"); + sb.append(" essentialExpenditure: ").append(toIndentedString(essentialExpenditure)).append("\n"); + sb.append(" nonEssentialExpenditure: ").append(toIndentedString(nonEssentialExpenditure)).append("\n"); + sb.append(" other: ").append(toIndentedString(other)).append("\n"); + sb.append(" transfersOut: ").append(toIndentedString(transfersOut)).append("\n"); + sb.append(" outlierTransactions: ").append(toIndentedString(outlierTransactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ExpenditureSummary.java b/src/main/java/com/plaid/client/model/ExpenditureSummary.java new file mode 100644 index 0000000000..710360bd75 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ExpenditureSummary.java @@ -0,0 +1,285 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CategoryExpenses; +import com.plaid.client.model.MonthlyAverage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Summary statistics for a specific expenditure category, including total amount, monthly average, and percentage of income. + */ +@ApiModel(description = "Summary statistics for a specific expenditure category, including total amount, monthly average, and percentage of income.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ExpenditureSummary { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_MONTHLY_AVERAGE = "monthly_average"; + @SerializedName(SERIALIZED_NAME_MONTHLY_AVERAGE) + private MonthlyAverage monthlyAverage; + + public static final String SERIALIZED_NAME_TRANSACTIONS_COUNT = "transactions_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_COUNT) + private Integer transactionsCount; + + public static final String SERIALIZED_NAME_PERCENTAGE_OF_INCOME = "percentage_of_income"; + @SerializedName(SERIALIZED_NAME_PERCENTAGE_OF_INCOME) + private Double percentageOfIncome; + + public static final String SERIALIZED_NAME_TOP_CATEGORIES = "top_categories"; + @SerializedName(SERIALIZED_NAME_TOP_CATEGORIES) + private List topCategories = null; + + + public ExpenditureSummary amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The total value of all the aggregated transactions in this expenditure category. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total value of all the aggregated transactions in this expenditure category.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public ExpenditureSummary isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public ExpenditureSummary unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public ExpenditureSummary monthlyAverage(MonthlyAverage monthlyAverage) { + + this.monthlyAverage = monthlyAverage; + return this; + } + + /** + * Get monthlyAverage + * @return monthlyAverage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MonthlyAverage getMonthlyAverage() { + return monthlyAverage; + } + + + public void setMonthlyAverage(MonthlyAverage monthlyAverage) { + this.monthlyAverage = monthlyAverage; + } + + + public ExpenditureSummary transactionsCount(Integer transactionsCount) { + + this.transactionsCount = transactionsCount; + return this; + } + + /** + * The total number of outflow transactions in this expenses group, within the given time window across all the accounts in the report. + * @return transactionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of outflow transactions in this expenses group, within the given time window across all the accounts in the report.") + + public Integer getTransactionsCount() { + return transactionsCount; + } + + + public void setTransactionsCount(Integer transactionsCount) { + this.transactionsCount = transactionsCount; + } + + + public ExpenditureSummary percentageOfIncome(Double percentageOfIncome) { + + this.percentageOfIncome = percentageOfIncome; + return this; + } + + /** + * The percentage of the total inflows that was spent in this expenses group, within the given time window across all the accounts in the report. For example, a value of 100 represents that 100% of the inflows were spent on transactions that fall into this expenditure group. If there's no available income for the given time period, this field value will be `-1`. + * @return percentageOfIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The percentage of the total inflows that was spent in this expenses group, within the given time window across all the accounts in the report. For example, a value of 100 represents that 100% of the inflows were spent on transactions that fall into this expenditure group. If there's no available income for the given time period, this field value will be `-1`.") + + public Double getPercentageOfIncome() { + return percentageOfIncome; + } + + + public void setPercentageOfIncome(Double percentageOfIncome) { + this.percentageOfIncome = percentageOfIncome; + } + + + public ExpenditureSummary topCategories(List topCategories) { + + this.topCategories = topCategories; + return this; + } + + public ExpenditureSummary addTopCategoriesItem(CategoryExpenses topCategoriesItem) { + if (this.topCategories == null) { + this.topCategories = new ArrayList<>(); + } + this.topCategories.add(topCategoriesItem); + return this; + } + + /** + * The primary credit categories of the expenses within the given time window, across all the accounts in the report. The categories are sorted in descending order by the total value spent. See the [category taxonomy](https://plaid.com/documents/credit-category-taxonomy.csv) for a full listing of category IDs. + * @return topCategories + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The primary credit categories of the expenses within the given time window, across all the accounts in the report. The categories are sorted in descending order by the total value spent. See the [category taxonomy](https://plaid.com/documents/credit-category-taxonomy.csv) for a full listing of category IDs.") + + public List getTopCategories() { + return topCategories; + } + + + public void setTopCategories(List topCategories) { + this.topCategories = topCategories; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExpenditureSummary expenditureSummary = (ExpenditureSummary) o; + return Objects.equals(this.amount, expenditureSummary.amount) && + Objects.equals(this.isoCurrencyCode, expenditureSummary.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, expenditureSummary.unofficialCurrencyCode) && + Objects.equals(this.monthlyAverage, expenditureSummary.monthlyAverage) && + Objects.equals(this.transactionsCount, expenditureSummary.transactionsCount) && + Objects.equals(this.percentageOfIncome, expenditureSummary.percentageOfIncome) && + Objects.equals(this.topCategories, expenditureSummary.topCategories); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode, monthlyAverage, transactionsCount, percentageOfIncome, topCategories); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExpenditureSummary {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" monthlyAverage: ").append(toIndentedString(monthlyAverage)).append("\n"); + sb.append(" transactionsCount: ").append(toIndentedString(transactionsCount)).append("\n"); + sb.append(" percentageOfIncome: ").append(toIndentedString(percentageOfIncome)).append("\n"); + sb.append(" topCategories: ").append(toIndentedString(topCategories)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ExpirationDate.java b/src/main/java/com/plaid/client/model/ExpirationDate.java new file mode 100644 index 0000000000..8ae8d9fab1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ExpirationDate.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A description of whether the associated document was expired when the verification was performed. Note: In the case where an expiration date is not present on the document or failed to be extracted, this value will be `no_data`. + */ +@JsonAdapter(ExpirationDate.Adapter.class) +public enum ExpirationDate { + + NOT_EXPIRED("not_expired"), + + EXPIRED("expired"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ExpirationDate(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExpirationDate fromValue(String value) { + for (ExpirationDate b : ExpirationDate.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ExpirationDate.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExpirationDate enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExpirationDate read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExpirationDate.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ExtendedRecipientMetadata.java b/src/main/java/com/plaid/client/model/ExtendedRecipientMetadata.java new file mode 100644 index 0000000000..385a306577 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ExtendedRecipientMetadata.java @@ -0,0 +1,270 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ExtendedRecipientMetadataAllOf; +import com.plaid.client.model.FDXRecipientMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Plaid and FDX-defined recipient metadata fields + */ +@ApiModel(description = "Plaid and FDX-defined recipient metadata fields") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ExtendedRecipientMetadata { + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_CLIENT_NAME = "client_name"; + @SerializedName(SERIALIZED_NAME_CLIENT_NAME) + private String clientName; + + public static final String SERIALIZED_NAME_LOGO_URI = "logo_uri"; + @SerializedName(SERIALIZED_NAME_LOGO_URI) + private String logoUri; + + public static final String SERIALIZED_NAME_THIRD_PARTY_LEGAL_NAME = "third_party_legal_name"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_LEGAL_NAME) + private String thirdPartyLegalName; + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private String category; + + public static final String SERIALIZED_NAME_JOINED_DATE = "joined_date"; + @SerializedName(SERIALIZED_NAME_JOINED_DATE) + private LocalDate joinedDate; + + public static final String SERIALIZED_NAME_CONNECTION_COUNT = "connection_count"; + @SerializedName(SERIALIZED_NAME_CONNECTION_COUNT) + private Integer connectionCount; + + + public ExtendedRecipientMetadata recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The recipient identifier + * @return recipientId + **/ + @ApiModelProperty(required = true, value = "The recipient identifier") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public ExtendedRecipientMetadata clientName(String clientName) { + + this.clientName = clientName; + return this; + } + + /** + * The recipient name displayed by the Data Provider during the consent flow + * @return clientName + **/ + @ApiModelProperty(required = true, value = "The recipient name displayed by the Data Provider during the consent flow") + + public String getClientName() { + return clientName; + } + + + public void setClientName(String clientName) { + this.clientName = clientName; + } + + + public ExtendedRecipientMetadata logoUri(String logoUri) { + + this.logoUri = logoUri; + return this; + } + + /** + * Data Recipient Logo URL location + * @return logoUri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Data Recipient Logo URL location") + + public String getLogoUri() { + return logoUri; + } + + + public void setLogoUri(String logoUri) { + this.logoUri = logoUri; + } + + + public ExtendedRecipientMetadata thirdPartyLegalName(String thirdPartyLegalName) { + + this.thirdPartyLegalName = thirdPartyLegalName; + return this; + } + + /** + * The legal name of the recipient + * @return thirdPartyLegalName + **/ + @ApiModelProperty(required = true, value = "The legal name of the recipient") + + public String getThirdPartyLegalName() { + return thirdPartyLegalName; + } + + + public void setThirdPartyLegalName(String thirdPartyLegalName) { + this.thirdPartyLegalName = thirdPartyLegalName; + } + + + public ExtendedRecipientMetadata category(String category) { + + this.category = category; + return this; + } + + /** + * The category that the recipient falls under + * @return category + **/ + @ApiModelProperty(required = true, value = "The category that the recipient falls under") + + public String getCategory() { + return category; + } + + + public void setCategory(String category) { + this.category = category; + } + + + public ExtendedRecipientMetadata joinedDate(LocalDate joinedDate) { + + this.joinedDate = joinedDate; + return this; + } + + /** + * The date at which the recipient gained production access to Plaid + * @return joinedDate + **/ + @ApiModelProperty(example = "Thu Jul 15 00:00:00 UTC 2021", required = true, value = "The date at which the recipient gained production access to Plaid") + + public LocalDate getJoinedDate() { + return joinedDate; + } + + + public void setJoinedDate(LocalDate joinedDate) { + this.joinedDate = joinedDate; + } + + + public ExtendedRecipientMetadata connectionCount(Integer connectionCount) { + + this.connectionCount = connectionCount; + return this; + } + + /** + * The number of consumers connected to the recipient through this Data Partner + * @return connectionCount + **/ + @ApiModelProperty(required = true, value = "The number of consumers connected to the recipient through this Data Partner") + + public Integer getConnectionCount() { + return connectionCount; + } + + + public void setConnectionCount(Integer connectionCount) { + this.connectionCount = connectionCount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExtendedRecipientMetadata extendedRecipientMetadata = (ExtendedRecipientMetadata) o; + return Objects.equals(this.recipientId, extendedRecipientMetadata.recipientId) && + Objects.equals(this.clientName, extendedRecipientMetadata.clientName) && + Objects.equals(this.logoUri, extendedRecipientMetadata.logoUri) && + Objects.equals(this.thirdPartyLegalName, extendedRecipientMetadata.thirdPartyLegalName) && + Objects.equals(this.category, extendedRecipientMetadata.category) && + Objects.equals(this.joinedDate, extendedRecipientMetadata.joinedDate) && + Objects.equals(this.connectionCount, extendedRecipientMetadata.connectionCount); + } + + @Override + public int hashCode() { + return Objects.hash(recipientId, clientName, logoUri, thirdPartyLegalName, category, joinedDate, connectionCount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExtendedRecipientMetadata {\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" clientName: ").append(toIndentedString(clientName)).append("\n"); + sb.append(" logoUri: ").append(toIndentedString(logoUri)).append("\n"); + sb.append(" thirdPartyLegalName: ").append(toIndentedString(thirdPartyLegalName)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" joinedDate: ").append(toIndentedString(joinedDate)).append("\n"); + sb.append(" connectionCount: ").append(toIndentedString(connectionCount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ExtendedRecipientMetadataAllOf.java b/src/main/java/com/plaid/client/model/ExtendedRecipientMetadataAllOf.java new file mode 100644 index 0000000000..c75943f15d --- /dev/null +++ b/src/main/java/com/plaid/client/model/ExtendedRecipientMetadataAllOf.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * ExtendedRecipientMetadataAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ExtendedRecipientMetadataAllOf { + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private String category; + + public static final String SERIALIZED_NAME_JOINED_DATE = "joined_date"; + @SerializedName(SERIALIZED_NAME_JOINED_DATE) + private LocalDate joinedDate; + + public static final String SERIALIZED_NAME_CONNECTION_COUNT = "connection_count"; + @SerializedName(SERIALIZED_NAME_CONNECTION_COUNT) + private Integer connectionCount; + + + public ExtendedRecipientMetadataAllOf category(String category) { + + this.category = category; + return this; + } + + /** + * The category that the recipient falls under + * @return category + **/ + @ApiModelProperty(required = true, value = "The category that the recipient falls under") + + public String getCategory() { + return category; + } + + + public void setCategory(String category) { + this.category = category; + } + + + public ExtendedRecipientMetadataAllOf joinedDate(LocalDate joinedDate) { + + this.joinedDate = joinedDate; + return this; + } + + /** + * The date at which the recipient gained production access to Plaid + * @return joinedDate + **/ + @ApiModelProperty(example = "Thu Jul 15 00:00:00 UTC 2021", required = true, value = "The date at which the recipient gained production access to Plaid") + + public LocalDate getJoinedDate() { + return joinedDate; + } + + + public void setJoinedDate(LocalDate joinedDate) { + this.joinedDate = joinedDate; + } + + + public ExtendedRecipientMetadataAllOf connectionCount(Integer connectionCount) { + + this.connectionCount = connectionCount; + return this; + } + + /** + * The number of consumers connected to the recipient through this Data Partner + * @return connectionCount + **/ + @ApiModelProperty(required = true, value = "The number of consumers connected to the recipient through this Data Partner") + + public Integer getConnectionCount() { + return connectionCount; + } + + + public void setConnectionCount(Integer connectionCount) { + this.connectionCount = connectionCount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExtendedRecipientMetadataAllOf extendedRecipientMetadataAllOf = (ExtendedRecipientMetadataAllOf) o; + return Objects.equals(this.category, extendedRecipientMetadataAllOf.category) && + Objects.equals(this.joinedDate, extendedRecipientMetadataAllOf.joinedDate) && + Objects.equals(this.connectionCount, extendedRecipientMetadataAllOf.connectionCount); + } + + @Override + public int hashCode() { + return Objects.hash(category, joinedDate, connectionCount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExtendedRecipientMetadataAllOf {\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" joinedDate: ").append(toIndentedString(joinedDate)).append("\n"); + sb.append(" connectionCount: ").append(toIndentedString(connectionCount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ExternalPaymentInitiationConsentOptions.java b/src/main/java/com/plaid/client/model/ExternalPaymentInitiationConsentOptions.java new file mode 100644 index 0000000000..e47ebf4531 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ExternalPaymentInitiationConsentOptions.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationOptionalRestrictionBacs; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * (Deprecated) Additional payment consent options. Please use `payer_details` to specify the account. + */ +@ApiModel(description = "(Deprecated) Additional payment consent options. Please use `payer_details` to specify the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ExternalPaymentInitiationConsentOptions { + public static final String SERIALIZED_NAME_REQUEST_REFUND_DETAILS = "request_refund_details"; + @SerializedName(SERIALIZED_NAME_REQUEST_REFUND_DETAILS) + private Boolean requestRefundDetails; + + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private String iban; + + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private PaymentInitiationOptionalRestrictionBacs bacs; + + + public ExternalPaymentInitiationConsentOptions requestRefundDetails(Boolean requestRefundDetails) { + + this.requestRefundDetails = requestRefundDetails; + return this; + } + + /** + * When `true`, Plaid will attempt to request refund details from the payee's financial institution. Support varies between financial institutions and will not always be available. If refund details could be retrieved, they will be available in the `/payment_initiation/payment/get` response. + * @return requestRefundDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, Plaid will attempt to request refund details from the payee's financial institution. Support varies between financial institutions and will not always be available. If refund details could be retrieved, they will be available in the `/payment_initiation/payment/get` response.") + + public Boolean getRequestRefundDetails() { + return requestRefundDetails; + } + + + public void setRequestRefundDetails(Boolean requestRefundDetails) { + this.requestRefundDetails = requestRefundDetails; + } + + + public ExternalPaymentInitiationConsentOptions iban(String iban) { + + this.iban = iban; + return this; + } + + /** + * The International Bank Account Number (IBAN) for the payer's account. Where possible, the end user will be able to set up payment consent using only the specified bank account if provided. + * @return iban + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The International Bank Account Number (IBAN) for the payer's account. Where possible, the end user will be able to set up payment consent using only the specified bank account if provided.") + + public String getIban() { + return iban; + } + + + public void setIban(String iban) { + this.iban = iban; + } + + + public ExternalPaymentInitiationConsentOptions bacs(PaymentInitiationOptionalRestrictionBacs bacs) { + + this.bacs = bacs; + return this; + } + + /** + * Get bacs + * @return bacs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationOptionalRestrictionBacs getBacs() { + return bacs; + } + + + public void setBacs(PaymentInitiationOptionalRestrictionBacs bacs) { + this.bacs = bacs; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExternalPaymentInitiationConsentOptions externalPaymentInitiationConsentOptions = (ExternalPaymentInitiationConsentOptions) o; + return Objects.equals(this.requestRefundDetails, externalPaymentInitiationConsentOptions.requestRefundDetails) && + Objects.equals(this.iban, externalPaymentInitiationConsentOptions.iban) && + Objects.equals(this.bacs, externalPaymentInitiationConsentOptions.bacs); + } + + @Override + public int hashCode() { + return Objects.hash(requestRefundDetails, iban, bacs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExternalPaymentInitiationConsentOptions {\n"); + sb.append(" requestRefundDetails: ").append(toIndentedString(requestRefundDetails)).append("\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ExternalPaymentOptions.java b/src/main/java/com/plaid/client/model/ExternalPaymentOptions.java new file mode 100644 index 0000000000..961956cc26 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ExternalPaymentOptions.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationOptionalRestrictionBacs; +import com.plaid.client.model.PaymentScheme; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Additional payment options + */ +@ApiModel(description = "Additional payment options") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ExternalPaymentOptions { + public static final String SERIALIZED_NAME_REQUEST_REFUND_DETAILS = "request_refund_details"; + @SerializedName(SERIALIZED_NAME_REQUEST_REFUND_DETAILS) + private Boolean requestRefundDetails; + + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private String iban; + + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private PaymentInitiationOptionalRestrictionBacs bacs; + + public static final String SERIALIZED_NAME_SCHEME = "scheme"; + @SerializedName(SERIALIZED_NAME_SCHEME) + private PaymentScheme scheme; + + + public ExternalPaymentOptions requestRefundDetails(Boolean requestRefundDetails) { + + this.requestRefundDetails = requestRefundDetails; + return this; + } + + /** + * When `true`, Plaid will attempt to request refund details from the payee's financial institution. Support varies between financial institutions and will not always be available. If refund details could be retrieved, they will be available in the `/payment_initiation/payment/get` response. + * @return requestRefundDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, Plaid will attempt to request refund details from the payee's financial institution. Support varies between financial institutions and will not always be available. If refund details could be retrieved, they will be available in the `/payment_initiation/payment/get` response.") + + public Boolean getRequestRefundDetails() { + return requestRefundDetails; + } + + + public void setRequestRefundDetails(Boolean requestRefundDetails) { + this.requestRefundDetails = requestRefundDetails; + } + + + public ExternalPaymentOptions iban(String iban) { + + this.iban = iban; + return this; + } + + /** + * The International Bank Account Number (IBAN) for the payer's account. Where possible, the end user will be able to send payments only from the specified bank account if provided. + * @return iban + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The International Bank Account Number (IBAN) for the payer's account. Where possible, the end user will be able to send payments only from the specified bank account if provided.") + + public String getIban() { + return iban; + } + + + public void setIban(String iban) { + this.iban = iban; + } + + + public ExternalPaymentOptions bacs(PaymentInitiationOptionalRestrictionBacs bacs) { + + this.bacs = bacs; + return this; + } + + /** + * Get bacs + * @return bacs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationOptionalRestrictionBacs getBacs() { + return bacs; + } + + + public void setBacs(PaymentInitiationOptionalRestrictionBacs bacs) { + this.bacs = bacs; + } + + + public ExternalPaymentOptions scheme(PaymentScheme scheme) { + + this.scheme = scheme; + return this; + } + + /** + * Get scheme + * @return scheme + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentScheme getScheme() { + return scheme; + } + + + public void setScheme(PaymentScheme scheme) { + this.scheme = scheme; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExternalPaymentOptions externalPaymentOptions = (ExternalPaymentOptions) o; + return Objects.equals(this.requestRefundDetails, externalPaymentOptions.requestRefundDetails) && + Objects.equals(this.iban, externalPaymentOptions.iban) && + Objects.equals(this.bacs, externalPaymentOptions.bacs) && + Objects.equals(this.scheme, externalPaymentOptions.scheme); + } + + @Override + public int hashCode() { + return Objects.hash(requestRefundDetails, iban, bacs, scheme); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExternalPaymentOptions {\n"); + sb.append(" requestRefundDetails: ").append(toIndentedString(requestRefundDetails)).append("\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append(" scheme: ").append(toIndentedString(scheme)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ExternalPaymentRefundDetails.java b/src/main/java/com/plaid/client/model/ExternalPaymentRefundDetails.java new file mode 100644 index 0000000000..1353302497 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ExternalPaymentRefundDetails.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RecipientBACSNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details about external payment refund + */ +@ApiModel(description = "Details about external payment refund") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ExternalPaymentRefundDetails { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private String iban; + + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private RecipientBACSNullable bacs; + + + public ExternalPaymentRefundDetails name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the account holder. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the account holder.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public ExternalPaymentRefundDetails iban(String iban) { + + this.iban = iban; + return this; + } + + /** + * The International Bank Account Number (IBAN) for the account. + * @return iban + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The International Bank Account Number (IBAN) for the account.") + + public String getIban() { + return iban; + } + + + public void setIban(String iban) { + this.iban = iban; + } + + + public ExternalPaymentRefundDetails bacs(RecipientBACSNullable bacs) { + + this.bacs = bacs; + return this; + } + + /** + * Get bacs + * @return bacs + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public RecipientBACSNullable getBacs() { + return bacs; + } + + + public void setBacs(RecipientBACSNullable bacs) { + this.bacs = bacs; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExternalPaymentRefundDetails externalPaymentRefundDetails = (ExternalPaymentRefundDetails) o; + return Objects.equals(this.name, externalPaymentRefundDetails.name) && + Objects.equals(this.iban, externalPaymentRefundDetails.iban) && + Objects.equals(this.bacs, externalPaymentRefundDetails.bacs); + } + + @Override + public int hashCode() { + return Objects.hash(name, iban, bacs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExternalPaymentRefundDetails {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ExternalPaymentScheduleBase.java b/src/main/java/com/plaid/client/model/ExternalPaymentScheduleBase.java new file mode 100644 index 0000000000..e9aa8bd93d --- /dev/null +++ b/src/main/java/com/plaid/client/model/ExternalPaymentScheduleBase.java @@ -0,0 +1,217 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentScheduleInterval; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once. + */ +@ApiModel(description = "The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ExternalPaymentScheduleBase { + public static final String SERIALIZED_NAME_INTERVAL = "interval"; + @SerializedName(SERIALIZED_NAME_INTERVAL) + private PaymentScheduleInterval interval; + + public static final String SERIALIZED_NAME_INTERVAL_EXECUTION_DAY = "interval_execution_day"; + @SerializedName(SERIALIZED_NAME_INTERVAL_EXECUTION_DAY) + private Integer intervalExecutionDay; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_ADJUSTED_START_DATE = "adjusted_start_date"; + @SerializedName(SERIALIZED_NAME_ADJUSTED_START_DATE) + private LocalDate adjustedStartDate; + + + public ExternalPaymentScheduleBase interval(PaymentScheduleInterval interval) { + + this.interval = interval; + return this; + } + + /** + * Get interval + * @return interval + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentScheduleInterval getInterval() { + return interval; + } + + + public void setInterval(PaymentScheduleInterval interval) { + this.interval = interval; + } + + + public ExternalPaymentScheduleBase intervalExecutionDay(Integer intervalExecutionDay) { + + this.intervalExecutionDay = intervalExecutionDay; + return this; + } + + /** + * The day of the interval on which to schedule the payment. If the payment interval is weekly, `interval_execution_day` should be an integer from 1 (Monday) to 7 (Sunday). If the payment interval is monthly, `interval_execution_day` should be an integer indicating which day of the month to make the payment on. Integers from 1 to 28 can be used to make a payment on that day of the month. Negative integers from -1 to -5 can be used to make a payment relative to the end of the month. To make a payment on the last day of the month, use -1; to make the payment on the second-to-last day, use -2, and so on. + * @return intervalExecutionDay + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The day of the interval on which to schedule the payment. If the payment interval is weekly, `interval_execution_day` should be an integer from 1 (Monday) to 7 (Sunday). If the payment interval is monthly, `interval_execution_day` should be an integer indicating which day of the month to make the payment on. Integers from 1 to 28 can be used to make a payment on that day of the month. Negative integers from -1 to -5 can be used to make a payment relative to the end of the month. To make a payment on the last day of the month, use -1; to make the payment on the second-to-last day, use -2, and so on.") + + public Integer getIntervalExecutionDay() { + return intervalExecutionDay; + } + + + public void setIntervalExecutionDay(Integer intervalExecutionDay) { + this.intervalExecutionDay = intervalExecutionDay; + } + + + public ExternalPaymentScheduleBase startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will begin on the first `interval_execution_day` on or after the `start_date`. If the first `interval_execution_day` on or after the start date is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make the first payment on that day, but it is not guaranteed to do so. + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will begin on the first `interval_execution_day` on or after the `start_date`. If the first `interval_execution_day` on or after the start date is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make the first payment on that day, but it is not guaranteed to do so.") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public ExternalPaymentScheduleBase endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will end on the last `interval_execution_day` on or before the `end_date`. If the only `interval_execution_day` between the start date and the end date (inclusive) is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make a payment on that day, but it is not guaranteed to do so. + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will end on the last `interval_execution_day` on or before the `end_date`. If the only `interval_execution_day` between the start date and the end date (inclusive) is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make a payment on that day, but it is not guaranteed to do so.") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public ExternalPaymentScheduleBase adjustedStartDate(LocalDate adjustedStartDate) { + + this.adjustedStartDate = adjustedStartDate; + return this; + } + + /** + * The start date sent to the bank after adjusting for holidays or weekends. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). If the start date did not require adjustment, this field will be `null`. + * @return adjustedStartDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start date sent to the bank after adjusting for holidays or weekends. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). If the start date did not require adjustment, this field will be `null`.") + + public LocalDate getAdjustedStartDate() { + return adjustedStartDate; + } + + + public void setAdjustedStartDate(LocalDate adjustedStartDate) { + this.adjustedStartDate = adjustedStartDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExternalPaymentScheduleBase externalPaymentScheduleBase = (ExternalPaymentScheduleBase) o; + return Objects.equals(this.interval, externalPaymentScheduleBase.interval) && + Objects.equals(this.intervalExecutionDay, externalPaymentScheduleBase.intervalExecutionDay) && + Objects.equals(this.startDate, externalPaymentScheduleBase.startDate) && + Objects.equals(this.endDate, externalPaymentScheduleBase.endDate) && + Objects.equals(this.adjustedStartDate, externalPaymentScheduleBase.adjustedStartDate); + } + + @Override + public int hashCode() { + return Objects.hash(interval, intervalExecutionDay, startDate, endDate, adjustedStartDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExternalPaymentScheduleBase {\n"); + sb.append(" interval: ").append(toIndentedString(interval)).append("\n"); + sb.append(" intervalExecutionDay: ").append(toIndentedString(intervalExecutionDay)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" adjustedStartDate: ").append(toIndentedString(adjustedStartDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ExternalPaymentScheduleGet.java b/src/main/java/com/plaid/client/model/ExternalPaymentScheduleGet.java new file mode 100644 index 0000000000..9fe4aedaaa --- /dev/null +++ b/src/main/java/com/plaid/client/model/ExternalPaymentScheduleGet.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ExternalPaymentScheduleBase; +import com.plaid.client.model.PaymentScheduleInterval; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once. + */ +@ApiModel(description = "The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ExternalPaymentScheduleGet { + public static final String SERIALIZED_NAME_INTERVAL = "interval"; + @SerializedName(SERIALIZED_NAME_INTERVAL) + private PaymentScheduleInterval interval; + + public static final String SERIALIZED_NAME_INTERVAL_EXECUTION_DAY = "interval_execution_day"; + @SerializedName(SERIALIZED_NAME_INTERVAL_EXECUTION_DAY) + private Integer intervalExecutionDay; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_ADJUSTED_START_DATE = "adjusted_start_date"; + @SerializedName(SERIALIZED_NAME_ADJUSTED_START_DATE) + private LocalDate adjustedStartDate; + + + public ExternalPaymentScheduleGet interval(PaymentScheduleInterval interval) { + + this.interval = interval; + return this; + } + + /** + * Get interval + * @return interval + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentScheduleInterval getInterval() { + return interval; + } + + + public void setInterval(PaymentScheduleInterval interval) { + this.interval = interval; + } + + + public ExternalPaymentScheduleGet intervalExecutionDay(Integer intervalExecutionDay) { + + this.intervalExecutionDay = intervalExecutionDay; + return this; + } + + /** + * The day of the interval on which to schedule the payment. If the payment interval is weekly, `interval_execution_day` should be an integer from 1 (Monday) to 7 (Sunday). If the payment interval is monthly, `interval_execution_day` should be an integer indicating which day of the month to make the payment on. Integers from 1 to 28 can be used to make a payment on that day of the month. Negative integers from -1 to -5 can be used to make a payment relative to the end of the month. To make a payment on the last day of the month, use -1; to make the payment on the second-to-last day, use -2, and so on. + * @return intervalExecutionDay + **/ + @ApiModelProperty(required = true, value = "The day of the interval on which to schedule the payment. If the payment interval is weekly, `interval_execution_day` should be an integer from 1 (Monday) to 7 (Sunday). If the payment interval is monthly, `interval_execution_day` should be an integer indicating which day of the month to make the payment on. Integers from 1 to 28 can be used to make a payment on that day of the month. Negative integers from -1 to -5 can be used to make a payment relative to the end of the month. To make a payment on the last day of the month, use -1; to make the payment on the second-to-last day, use -2, and so on.") + + public Integer getIntervalExecutionDay() { + return intervalExecutionDay; + } + + + public void setIntervalExecutionDay(Integer intervalExecutionDay) { + this.intervalExecutionDay = intervalExecutionDay; + } + + + public ExternalPaymentScheduleGet startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will begin on the first `interval_execution_day` on or after the `start_date`. If the first `interval_execution_day` on or after the start date is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make the first payment on that day, but it is not guaranteed to do so. + * @return startDate + **/ + @ApiModelProperty(required = true, value = "A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will begin on the first `interval_execution_day` on or after the `start_date`. If the first `interval_execution_day` on or after the start date is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make the first payment on that day, but it is not guaranteed to do so.") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public ExternalPaymentScheduleGet endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will end on the last `interval_execution_day` on or before the `end_date`. If the only `interval_execution_day` between the start date and the end date (inclusive) is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make a payment on that day, but it is not guaranteed to do so. + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will end on the last `interval_execution_day` on or before the `end_date`. If the only `interval_execution_day` between the start date and the end date (inclusive) is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make a payment on that day, but it is not guaranteed to do so.") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public ExternalPaymentScheduleGet adjustedStartDate(LocalDate adjustedStartDate) { + + this.adjustedStartDate = adjustedStartDate; + return this; + } + + /** + * The start date sent to the bank after adjusting for holidays or weekends. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). If the start date did not require adjustment, this field will be `null`. + * @return adjustedStartDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The start date sent to the bank after adjusting for holidays or weekends. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). If the start date did not require adjustment, this field will be `null`.") + + public LocalDate getAdjustedStartDate() { + return adjustedStartDate; + } + + + public void setAdjustedStartDate(LocalDate adjustedStartDate) { + this.adjustedStartDate = adjustedStartDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExternalPaymentScheduleGet externalPaymentScheduleGet = (ExternalPaymentScheduleGet) o; + return Objects.equals(this.interval, externalPaymentScheduleGet.interval) && + Objects.equals(this.intervalExecutionDay, externalPaymentScheduleGet.intervalExecutionDay) && + Objects.equals(this.startDate, externalPaymentScheduleGet.startDate) && + Objects.equals(this.endDate, externalPaymentScheduleGet.endDate) && + Objects.equals(this.adjustedStartDate, externalPaymentScheduleGet.adjustedStartDate); + } + + @Override + public int hashCode() { + return Objects.hash(interval, intervalExecutionDay, startDate, endDate, adjustedStartDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExternalPaymentScheduleGet {\n"); + sb.append(" interval: ").append(toIndentedString(interval)).append("\n"); + sb.append(" intervalExecutionDay: ").append(toIndentedString(intervalExecutionDay)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" adjustedStartDate: ").append(toIndentedString(adjustedStartDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ExternalPaymentScheduleRequest.java b/src/main/java/com/plaid/client/model/ExternalPaymentScheduleRequest.java new file mode 100644 index 0000000000..f262e57293 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ExternalPaymentScheduleRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ExternalPaymentScheduleBase; +import com.plaid.client.model.PaymentScheduleInterval; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once. + */ +@ApiModel(description = "The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ExternalPaymentScheduleRequest { + public static final String SERIALIZED_NAME_INTERVAL = "interval"; + @SerializedName(SERIALIZED_NAME_INTERVAL) + private PaymentScheduleInterval interval; + + public static final String SERIALIZED_NAME_INTERVAL_EXECUTION_DAY = "interval_execution_day"; + @SerializedName(SERIALIZED_NAME_INTERVAL_EXECUTION_DAY) + private Integer intervalExecutionDay; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_ADJUSTED_START_DATE = "adjusted_start_date"; + @SerializedName(SERIALIZED_NAME_ADJUSTED_START_DATE) + private LocalDate adjustedStartDate; + + + public ExternalPaymentScheduleRequest interval(PaymentScheduleInterval interval) { + + this.interval = interval; + return this; + } + + /** + * Get interval + * @return interval + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentScheduleInterval getInterval() { + return interval; + } + + + public void setInterval(PaymentScheduleInterval interval) { + this.interval = interval; + } + + + public ExternalPaymentScheduleRequest intervalExecutionDay(Integer intervalExecutionDay) { + + this.intervalExecutionDay = intervalExecutionDay; + return this; + } + + /** + * The day of the interval on which to schedule the payment. If the payment interval is weekly, `interval_execution_day` should be an integer from 1 (Monday) to 7 (Sunday). If the payment interval is monthly, `interval_execution_day` should be an integer indicating which day of the month to make the payment on. Integers from 1 to 28 can be used to make a payment on that day of the month. Negative integers from -1 to -5 can be used to make a payment relative to the end of the month. To make a payment on the last day of the month, use -1; to make the payment on the second-to-last day, use -2, and so on. + * @return intervalExecutionDay + **/ + @ApiModelProperty(required = true, value = "The day of the interval on which to schedule the payment. If the payment interval is weekly, `interval_execution_day` should be an integer from 1 (Monday) to 7 (Sunday). If the payment interval is monthly, `interval_execution_day` should be an integer indicating which day of the month to make the payment on. Integers from 1 to 28 can be used to make a payment on that day of the month. Negative integers from -1 to -5 can be used to make a payment relative to the end of the month. To make a payment on the last day of the month, use -1; to make the payment on the second-to-last day, use -2, and so on.") + + public Integer getIntervalExecutionDay() { + return intervalExecutionDay; + } + + + public void setIntervalExecutionDay(Integer intervalExecutionDay) { + this.intervalExecutionDay = intervalExecutionDay; + } + + + public ExternalPaymentScheduleRequest startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will begin on the first `interval_execution_day` on or after the `start_date`. If the first `interval_execution_day` on or after the start date is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make the first payment on that day, but it is not guaranteed to do so. + * @return startDate + **/ + @ApiModelProperty(required = true, value = "A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will begin on the first `interval_execution_day` on or after the `start_date`. If the first `interval_execution_day` on or after the start date is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make the first payment on that day, but it is not guaranteed to do so.") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public ExternalPaymentScheduleRequest endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will end on the last `interval_execution_day` on or before the `end_date`. If the only `interval_execution_day` between the start date and the end date (inclusive) is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make a payment on that day, but it is not guaranteed to do so. + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will end on the last `interval_execution_day` on or before the `end_date`. If the only `interval_execution_day` between the start date and the end date (inclusive) is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make a payment on that day, but it is not guaranteed to do so.") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public ExternalPaymentScheduleRequest adjustedStartDate(LocalDate adjustedStartDate) { + + this.adjustedStartDate = adjustedStartDate; + return this; + } + + /** + * The start date sent to the bank after adjusting for holidays or weekends. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). If the start date did not require adjustment, this field will be `null`. + * @return adjustedStartDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start date sent to the bank after adjusting for holidays or weekends. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). If the start date did not require adjustment, this field will be `null`.") + + public LocalDate getAdjustedStartDate() { + return adjustedStartDate; + } + + + public void setAdjustedStartDate(LocalDate adjustedStartDate) { + this.adjustedStartDate = adjustedStartDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExternalPaymentScheduleRequest externalPaymentScheduleRequest = (ExternalPaymentScheduleRequest) o; + return Objects.equals(this.interval, externalPaymentScheduleRequest.interval) && + Objects.equals(this.intervalExecutionDay, externalPaymentScheduleRequest.intervalExecutionDay) && + Objects.equals(this.startDate, externalPaymentScheduleRequest.startDate) && + Objects.equals(this.endDate, externalPaymentScheduleRequest.endDate) && + Objects.equals(this.adjustedStartDate, externalPaymentScheduleRequest.adjustedStartDate); + } + + @Override + public int hashCode() { + return Objects.hash(interval, intervalExecutionDay, startDate, endDate, adjustedStartDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExternalPaymentScheduleRequest {\n"); + sb.append(" interval: ").append(toIndentedString(interval)).append("\n"); + sb.append(" intervalExecutionDay: ").append(toIndentedString(intervalExecutionDay)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" adjustedStartDate: ").append(toIndentedString(adjustedStartDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXConsentGrant.java b/src/main/java/com/plaid/client/model/FDXConsentGrant.java new file mode 100644 index 0000000000..ed32c29815 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXConsentGrant.java @@ -0,0 +1,287 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FDXConsentGrantResource; +import com.plaid.client.model.FDXConsentGrantStatus; +import com.plaid.client.model.FDXParty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * An FDX consent grant. + */ +@ApiModel(description = "An FDX consent grant.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FDXConsentGrant { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private FDXConsentGrantStatus status; + + public static final String SERIALIZED_NAME_CREATED_TIME = "createdTime"; + @SerializedName(SERIALIZED_NAME_CREATED_TIME) + private OffsetDateTime createdTime; + + public static final String SERIALIZED_NAME_UPDATED_TIME = "updatedTime"; + @SerializedName(SERIALIZED_NAME_UPDATED_TIME) + private OffsetDateTime updatedTime; + + public static final String SERIALIZED_NAME_EXPIRATION_TIME = "expirationTime"; + @SerializedName(SERIALIZED_NAME_EXPIRATION_TIME) + private OffsetDateTime expirationTime; + + public static final String SERIALIZED_NAME_PARTIES = "parties"; + @SerializedName(SERIALIZED_NAME_PARTIES) + private List parties = new ArrayList<>(); + + public static final String SERIALIZED_NAME_RESOURCES = "resources"; + @SerializedName(SERIALIZED_NAME_RESOURCES) + private List resources = null; + + + public FDXConsentGrant id(String id) { + + this.id = id; + return this; + } + + /** + * The persistent identifier of the consent grant + * @return id + **/ + @ApiModelProperty(required = true, value = "The persistent identifier of the consent grant") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public FDXConsentGrant status(FDXConsentGrantStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public FDXConsentGrantStatus getStatus() { + return status; + } + + + public void setStatus(FDXConsentGrantStatus status) { + this.status = status; + } + + + public FDXConsentGrant createdTime(OffsetDateTime createdTime) { + + this.createdTime = createdTime; + return this; + } + + /** + * When the consent was initially granted + * @return createdTime + **/ + @ApiModelProperty(required = true, value = "When the consent was initially granted") + + public OffsetDateTime getCreatedTime() { + return createdTime; + } + + + public void setCreatedTime(OffsetDateTime createdTime) { + this.createdTime = createdTime; + } + + + public FDXConsentGrant updatedTime(OffsetDateTime updatedTime) { + + this.updatedTime = updatedTime; + return this; + } + + /** + * When the consent grant was last updated + * @return updatedTime + **/ + @ApiModelProperty(required = true, value = "When the consent grant was last updated") + + public OffsetDateTime getUpdatedTime() { + return updatedTime; + } + + + public void setUpdatedTime(OffsetDateTime updatedTime) { + this.updatedTime = updatedTime; + } + + + public FDXConsentGrant expirationTime(OffsetDateTime expirationTime) { + + this.expirationTime = expirationTime; + return this; + } + + /** + * When the consent grant will expire. Omitted when the grant has no expiration. + * @return expirationTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When the consent grant will expire. Omitted when the grant has no expiration.") + + public OffsetDateTime getExpirationTime() { + return expirationTime; + } + + + public void setExpirationTime(OffsetDateTime expirationTime) { + this.expirationTime = expirationTime; + } + + + public FDXConsentGrant parties(List parties) { + + this.parties = parties; + return this; + } + + public FDXConsentGrant addPartiesItem(FDXParty partiesItem) { + this.parties.add(partiesItem); + return this; + } + + /** + * Non-end-user parties participating in the consent grant (Data Recipient, Data Provider, Data Access Platform). + * @return parties + **/ + @ApiModelProperty(required = true, value = "Non-end-user parties participating in the consent grant (Data Recipient, Data Provider, Data Access Platform).") + + public List getParties() { + return parties; + } + + + public void setParties(List parties) { + this.parties = parties; + } + + + public FDXConsentGrant resources(List resources) { + + this.resources = resources; + return this; + } + + public FDXConsentGrant addResourcesItem(FDXConsentGrantResource resourcesItem) { + if (this.resources == null) { + this.resources = new ArrayList<>(); + } + this.resources.add(resourcesItem); + return this; + } + + /** + * Permissioned resource entries. Omitted when there are no resources. + * @return resources + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Permissioned resource entries. Omitted when there are no resources.") + + public List getResources() { + return resources; + } + + + public void setResources(List resources) { + this.resources = resources; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FDXConsentGrant fdXConsentGrant = (FDXConsentGrant) o; + return Objects.equals(this.id, fdXConsentGrant.id) && + Objects.equals(this.status, fdXConsentGrant.status) && + Objects.equals(this.createdTime, fdXConsentGrant.createdTime) && + Objects.equals(this.updatedTime, fdXConsentGrant.updatedTime) && + Objects.equals(this.expirationTime, fdXConsentGrant.expirationTime) && + Objects.equals(this.parties, fdXConsentGrant.parties) && + Objects.equals(this.resources, fdXConsentGrant.resources); + } + + @Override + public int hashCode() { + return Objects.hash(id, status, createdTime, updatedTime, expirationTime, parties, resources); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FDXConsentGrant {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" updatedTime: ").append(toIndentedString(updatedTime)).append("\n"); + sb.append(" expirationTime: ").append(toIndentedString(expirationTime)).append("\n"); + sb.append(" parties: ").append(toIndentedString(parties)).append("\n"); + sb.append(" resources: ").append(toIndentedString(resources)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXConsentGrantResource.java b/src/main/java/com/plaid/client/model/FDXConsentGrantResource.java new file mode 100644 index 0000000000..8a252a4e63 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXConsentGrantResource.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FDXConsentResourceType; +import com.plaid.client.model.FDXDataCluster; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * One permissioned resource on a consent grant. + */ +@ApiModel(description = "One permissioned resource on a consent grant.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FDXConsentGrantResource { + public static final String SERIALIZED_NAME_RESOURCE_TYPE = "resourceType"; + @SerializedName(SERIALIZED_NAME_RESOURCE_TYPE) + private FDXConsentResourceType resourceType; + + public static final String SERIALIZED_NAME_RESOURCE_ID = "resourceId"; + @SerializedName(SERIALIZED_NAME_RESOURCE_ID) + private String resourceId; + + public static final String SERIALIZED_NAME_DATA_CLUSTERS = "dataClusters"; + @SerializedName(SERIALIZED_NAME_DATA_CLUSTERS) + private List dataClusters = new ArrayList<>(); + + + public FDXConsentGrantResource resourceType(FDXConsentResourceType resourceType) { + + this.resourceType = resourceType; + return this; + } + + /** + * Get resourceType + * @return resourceType + **/ + @ApiModelProperty(required = true, value = "") + + public FDXConsentResourceType getResourceType() { + return resourceType; + } + + + public void setResourceType(FDXConsentResourceType resourceType) { + this.resourceType = resourceType; + } + + + public FDXConsentGrantResource resourceId(String resourceId) { + + this.resourceId = resourceId; + return this; + } + + /** + * Identifier of the resource permissioned. + * @return resourceId + **/ + @ApiModelProperty(required = true, value = "Identifier of the resource permissioned.") + + public String getResourceId() { + return resourceId; + } + + + public void setResourceId(String resourceId) { + this.resourceId = resourceId; + } + + + public FDXConsentGrantResource dataClusters(List dataClusters) { + + this.dataClusters = dataClusters; + return this; + } + + public FDXConsentGrantResource addDataClustersItem(FDXDataCluster dataClustersItem) { + this.dataClusters.add(dataClustersItem); + return this; + } + + /** + * Names of clusters of data elements permissioned. + * @return dataClusters + **/ + @ApiModelProperty(required = true, value = "Names of clusters of data elements permissioned.") + + public List getDataClusters() { + return dataClusters; + } + + + public void setDataClusters(List dataClusters) { + this.dataClusters = dataClusters; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FDXConsentGrantResource fdXConsentGrantResource = (FDXConsentGrantResource) o; + return Objects.equals(this.resourceType, fdXConsentGrantResource.resourceType) && + Objects.equals(this.resourceId, fdXConsentGrantResource.resourceId) && + Objects.equals(this.dataClusters, fdXConsentGrantResource.dataClusters); + } + + @Override + public int hashCode() { + return Objects.hash(resourceType, resourceId, dataClusters); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FDXConsentGrantResource {\n"); + sb.append(" resourceType: ").append(toIndentedString(resourceType)).append("\n"); + sb.append(" resourceId: ").append(toIndentedString(resourceId)).append("\n"); + sb.append(" dataClusters: ").append(toIndentedString(dataClusters)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXConsentGrantStatus.java b/src/main/java/com/plaid/client/model/FDXConsentGrantStatus.java new file mode 100644 index 0000000000..9935614f7a --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXConsentGrantStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Current status of a consent grant. One of `ACTIVE`, `REVOKED`, `EXPIRED`. + */ +@JsonAdapter(FDXConsentGrantStatus.Adapter.class) +public enum FDXConsentGrantStatus { + + ACTIVE("ACTIVE"), + + REVOKED("REVOKED"), + + EXPIRED("EXPIRED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXConsentGrantStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXConsentGrantStatus fromValue(String value) { + for (FDXConsentGrantStatus b : FDXConsentGrantStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXConsentGrantStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXConsentGrantStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXConsentGrantStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXConsentGrantStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FDXConsentResourceType.java b/src/main/java/com/plaid/client/model/FDXConsentResourceType.java new file mode 100644 index 0000000000..32fddccd94 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXConsentResourceType.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Type of resource permissioned on a consent grant. + */ +@JsonAdapter(FDXConsentResourceType.Adapter.class) +public enum FDXConsentResourceType { + + ACCOUNT("ACCOUNT"), + + CUSTOMER("CUSTOMER"), + + DOCUMENT("DOCUMENT"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXConsentResourceType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXConsentResourceType fromValue(String value) { + for (FDXConsentResourceType b : FDXConsentResourceType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXConsentResourceType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXConsentResourceType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXConsentResourceType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXConsentResourceType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FDXConsentRevocation.java b/src/main/java/com/plaid/client/model/FDXConsentRevocation.java new file mode 100644 index 0000000000..8c7454a77a --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXConsentRevocation.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FDXPartyType; +import com.plaid.client.model.FDXUpdateReason; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Request body for PUT /fdx/consents/{consentId}/revocation. + */ +@ApiModel(description = "Request body for PUT /fdx/consents/{consentId}/revocation.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FDXConsentRevocation { + public static final String SERIALIZED_NAME_INITIATOR = "initiator"; + @SerializedName(SERIALIZED_NAME_INITIATOR) + private FDXPartyType initiator; + + public static final String SERIALIZED_NAME_REASON = "reason"; + @SerializedName(SERIALIZED_NAME_REASON) + private FDXUpdateReason reason; + + public static final String SERIALIZED_NAME_OTHER_REASON = "otherReason"; + @SerializedName(SERIALIZED_NAME_OTHER_REASON) + private String otherReason; + + public static final String SERIALIZED_NAME_UPDATED_TIME = "updatedTime"; + @SerializedName(SERIALIZED_NAME_UPDATED_TIME) + private OffsetDateTime updatedTime; + + + public FDXConsentRevocation initiator(FDXPartyType initiator) { + + this.initiator = initiator; + return this; + } + + /** + * Get initiator + * @return initiator + **/ + @ApiModelProperty(required = true, value = "") + + public FDXPartyType getInitiator() { + return initiator; + } + + + public void setInitiator(FDXPartyType initiator) { + this.initiator = initiator; + } + + + public FDXConsentRevocation reason(FDXUpdateReason reason) { + + this.reason = reason; + return this; + } + + /** + * Get reason + * @return reason + **/ + @ApiModelProperty(required = true, value = "") + + public FDXUpdateReason getReason() { + return reason; + } + + + public void setReason(FDXUpdateReason reason) { + this.reason = reason; + } + + + public FDXConsentRevocation otherReason(String otherReason) { + + this.otherReason = otherReason; + return this; + } + + /** + * Additional information or description of an `OTHER` reason + * @return otherReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Additional information or description of an `OTHER` reason") + + public String getOtherReason() { + return otherReason; + } + + + public void setOtherReason(String otherReason) { + this.otherReason = otherReason; + } + + + public FDXConsentRevocation updatedTime(OffsetDateTime updatedTime) { + + this.updatedTime = updatedTime; + return this; + } + + /** + * When the revocation was effected on the initiator's side + * @return updatedTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When the revocation was effected on the initiator's side") + + public OffsetDateTime getUpdatedTime() { + return updatedTime; + } + + + public void setUpdatedTime(OffsetDateTime updatedTime) { + this.updatedTime = updatedTime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FDXConsentRevocation fdXConsentRevocation = (FDXConsentRevocation) o; + return Objects.equals(this.initiator, fdXConsentRevocation.initiator) && + Objects.equals(this.reason, fdXConsentRevocation.reason) && + Objects.equals(this.otherReason, fdXConsentRevocation.otherReason) && + Objects.equals(this.updatedTime, fdXConsentRevocation.updatedTime); + } + + @Override + public int hashCode() { + return Objects.hash(initiator, reason, otherReason, updatedTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FDXConsentRevocation {\n"); + sb.append(" initiator: ").append(toIndentedString(initiator)).append("\n"); + sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); + sb.append(" otherReason: ").append(toIndentedString(otherReason)).append("\n"); + sb.append(" updatedTime: ").append(toIndentedString(updatedTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXConsentRevocationRecord.java b/src/main/java/com/plaid/client/model/FDXConsentRevocationRecord.java new file mode 100644 index 0000000000..5f747c4720 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXConsentRevocationRecord.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FDXConsentGrantStatus; +import com.plaid.client.model.FDXPartyType; +import com.plaid.client.model.FDXUpdateReason; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * One revocation record on a consent grant, mirroring the FDX ConsentRevocation entity. + */ +@ApiModel(description = "One revocation record on a consent grant, mirroring the FDX ConsentRevocation entity.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FDXConsentRevocationRecord { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private FDXConsentGrantStatus status; + + public static final String SERIALIZED_NAME_REASON = "reason"; + @SerializedName(SERIALIZED_NAME_REASON) + private FDXUpdateReason reason; + + public static final String SERIALIZED_NAME_INITIATOR = "initiator"; + @SerializedName(SERIALIZED_NAME_INITIATOR) + private FDXPartyType initiator; + + public static final String SERIALIZED_NAME_UPDATED_TIME = "updatedTime"; + @SerializedName(SERIALIZED_NAME_UPDATED_TIME) + private OffsetDateTime updatedTime; + + + public FDXConsentRevocationRecord status(FDXConsentGrantStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public FDXConsentGrantStatus getStatus() { + return status; + } + + + public void setStatus(FDXConsentGrantStatus status) { + this.status = status; + } + + + public FDXConsentRevocationRecord reason(FDXUpdateReason reason) { + + this.reason = reason; + return this; + } + + /** + * Get reason + * @return reason + **/ + @ApiModelProperty(required = true, value = "") + + public FDXUpdateReason getReason() { + return reason; + } + + + public void setReason(FDXUpdateReason reason) { + this.reason = reason; + } + + + public FDXConsentRevocationRecord initiator(FDXPartyType initiator) { + + this.initiator = initiator; + return this; + } + + /** + * Get initiator + * @return initiator + **/ + @ApiModelProperty(required = true, value = "") + + public FDXPartyType getInitiator() { + return initiator; + } + + + public void setInitiator(FDXPartyType initiator) { + this.initiator = initiator; + } + + + public FDXConsentRevocationRecord updatedTime(OffsetDateTime updatedTime) { + + this.updatedTime = updatedTime; + return this; + } + + /** + * When the consent grant was revoked + * @return updatedTime + **/ + @ApiModelProperty(required = true, value = "When the consent grant was revoked") + + public OffsetDateTime getUpdatedTime() { + return updatedTime; + } + + + public void setUpdatedTime(OffsetDateTime updatedTime) { + this.updatedTime = updatedTime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FDXConsentRevocationRecord fdXConsentRevocationRecord = (FDXConsentRevocationRecord) o; + return Objects.equals(this.status, fdXConsentRevocationRecord.status) && + Objects.equals(this.reason, fdXConsentRevocationRecord.reason) && + Objects.equals(this.initiator, fdXConsentRevocationRecord.initiator) && + Objects.equals(this.updatedTime, fdXConsentRevocationRecord.updatedTime); + } + + @Override + public int hashCode() { + return Objects.hash(status, reason, initiator, updatedTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FDXConsentRevocationRecord {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); + sb.append(" initiator: ").append(toIndentedString(initiator)).append("\n"); + sb.append(" updatedTime: ").append(toIndentedString(updatedTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXConsentRevocations.java b/src/main/java/com/plaid/client/model/FDXConsentRevocations.java new file mode 100644 index 0000000000..9720087e0a --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXConsentRevocations.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FDXConsentRevocationRecord; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The revocation history of a consent grant. Response body for GET /fdx/consents/{consentId}/revocation. + */ +@ApiModel(description = "The revocation history of a consent grant. Response body for GET /fdx/consents/{consentId}/revocation.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FDXConsentRevocations { + public static final String SERIALIZED_NAME_REVOCATIONS = "revocations"; + @SerializedName(SERIALIZED_NAME_REVOCATIONS) + private List revocations = new ArrayList<>(); + + + public FDXConsentRevocations revocations(List revocations) { + + this.revocations = revocations; + return this; + } + + public FDXConsentRevocations addRevocationsItem(FDXConsentRevocationRecord revocationsItem) { + this.revocations.add(revocationsItem); + return this; + } + + /** + * Revocation records for the consent grant, most recent first. Empty when the grant has never been revoked. + * @return revocations + **/ + @ApiModelProperty(required = true, value = "Revocation records for the consent grant, most recent first. Empty when the grant has never been revoked.") + + public List getRevocations() { + return revocations; + } + + + public void setRevocations(List revocations) { + this.revocations = revocations; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FDXConsentRevocations fdXConsentRevocations = (FDXConsentRevocations) o; + return Objects.equals(this.revocations, fdXConsentRevocations.revocations); + } + + @Override + public int hashCode() { + return Objects.hash(revocations); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FDXConsentRevocations {\n"); + sb.append(" revocations: ").append(toIndentedString(revocations)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXContentTypes.java b/src/main/java/com/plaid/client/model/FDXContentTypes.java new file mode 100644 index 0000000000..131b90d046 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXContentTypes.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Types of document formats. (Suggested values) + */ +@JsonAdapter(FDXContentTypes.Adapter.class) +public enum FDXContentTypes { + + APPLICATION_PDF("application/pdf"), + + IMAGE_GIF("image/gif"), + + IMAGE_JPEG("image/jpeg"), + + IMAGE_TIFF("image/tiff"), + + IMAGE_PNG("image/png"), + + APPLICATION_JSON("application/json"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXContentTypes(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXContentTypes fromValue(String value) { + for (FDXContentTypes b : FDXContentTypes.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXContentTypes.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXContentTypes enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXContentTypes read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXContentTypes.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FDXDataCluster.java b/src/main/java/com/plaid/client/model/FDXDataCluster.java new file mode 100644 index 0000000000..8ca47e5ea0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXDataCluster.java @@ -0,0 +1,107 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Name of a cluster of data elements permissioned by a consent grant. + */ +@JsonAdapter(FDXDataCluster.Adapter.class) +public enum FDXDataCluster { + + ACCOUNT_BASIC("ACCOUNT_BASIC"), + + ACCOUNT_DETAILED("ACCOUNT_DETAILED"), + + ACCOUNT_PAYMENTS("ACCOUNT_PAYMENTS"), + + BILLS("BILLS"), + + CUSTOMER_CONTACT("CUSTOMER_CONTACT"), + + CUSTOMER_PERSONAL("CUSTOMER_PERSONAL"), + + IMAGES("IMAGES"), + + INVESTMENTS("INVESTMENTS"), + + NOTIFICATIONS("NOTIFICATIONS"), + + PAYMENT_SUPPORT("PAYMENT_SUPPORT"), + + REWARDS("REWARDS"), + + STATEMENTS("STATEMENTS"), + + TAX("TAX"), + + TRANSACTIONS("TRANSACTIONS"), + + BALANCES("BALANCES"), + + SCHEDULED_PAYMENTS("SCHEDULED_PAYMENTS"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXDataCluster(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXDataCluster fromValue(String value) { + for (FDXDataCluster b : FDXDataCluster.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXDataCluster.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXDataCluster enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXDataCluster read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXDataCluster.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FDXEventStatus.java b/src/main/java/com/plaid/client/model/FDXEventStatus.java new file mode 100644 index 0000000000..e41ca33f46 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXEventStatus.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Current status of indicated entity after reported event change. Not all statuses will be supported on all entity types by all data providers + */ +@JsonAdapter(FDXEventStatus.Adapter.class) +public enum FDXEventStatus { + + ACTIVE("ACTIVE"), + + EXPIRED("EXPIRED"), + + REVOKED("REVOKED"), + + SUSPENDED("SUSPENDED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXEventStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXEventStatus fromValue(String value) { + for (FDXEventStatus b : FDXEventStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXEventStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXEventStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXEventStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXEventStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FDXFiAttribute.java b/src/main/java/com/plaid/client/model/FDXFiAttribute.java new file mode 100644 index 0000000000..273afc44ad --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXFiAttribute.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Financial Institution provider-specific attribute + */ +@ApiModel(description = "Financial Institution provider-specific attribute") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FDXFiAttribute { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public FDXFiAttribute name(String name) { + + this.name = name; + return this; + } + + /** + * Name of attribute + * @return name + **/ + @ApiModelProperty(required = true, value = "Name of attribute") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public FDXFiAttribute value(String value) { + + this.value = value; + return this; + } + + /** + * Value of attribute + * @return value + **/ + @ApiModelProperty(required = true, value = "Value of attribute") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FDXFiAttribute fdXFiAttribute = (FDXFiAttribute) o; + return Objects.equals(this.name, fdXFiAttribute.name) && + Objects.equals(this.value, fdXFiAttribute.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FDXFiAttribute {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXHateoasLink.java b/src/main/java/com/plaid/client/model/FDXHateoasLink.java new file mode 100644 index 0000000000..e817799d0a --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXHateoasLink.java @@ -0,0 +1,197 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FDXContentTypes; +import com.plaid.client.model.FDXHateoasLinkAction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * REST application constraint (Hypermedia As The Engine Of Application State) + */ +@ApiModel(description = "REST application constraint (Hypermedia As The Engine Of Application State)") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FDXHateoasLink { + public static final String SERIALIZED_NAME_HREF = "href"; + @SerializedName(SERIALIZED_NAME_HREF) + private String href; + + public static final String SERIALIZED_NAME_ACTION = "action"; + @SerializedName(SERIALIZED_NAME_ACTION) + private FDXHateoasLinkAction action; + + public static final String SERIALIZED_NAME_REL = "rel"; + @SerializedName(SERIALIZED_NAME_REL) + private String rel; + + public static final String SERIALIZED_NAME_TYPES = "types"; + @SerializedName(SERIALIZED_NAME_TYPES) + private List types = null; + + + public FDXHateoasLink href(String href) { + + this.href = href; + return this; + } + + /** + * URL to invoke the action on the resource + * @return href + **/ + @ApiModelProperty(example = "https://api.fi.com/fdx/v4/accounts/12345", required = true, value = "URL to invoke the action on the resource") + + public String getHref() { + return href; + } + + + public void setHref(String href) { + this.href = href; + } + + + public FDXHateoasLink action(FDXHateoasLinkAction action) { + + this.action = action; + return this; + } + + /** + * Get action + * @return action + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public FDXHateoasLinkAction getAction() { + return action; + } + + + public void setAction(FDXHateoasLinkAction action) { + this.action = action; + } + + + public FDXHateoasLink rel(String rel) { + + this.rel = rel; + return this; + } + + /** + * Relation of this link to its containing entity, as defined by and with many example relation values at [IETF RFC5988](https://datatracker.ietf.org/doc/html/rfc5988) + * @return rel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Relation of this link to its containing entity, as defined by and with many example relation values at [IETF RFC5988](https://datatracker.ietf.org/doc/html/rfc5988)") + + public String getRel() { + return rel; + } + + + public void setRel(String rel) { + this.rel = rel; + } + + + public FDXHateoasLink types(List types) { + + this.types = types; + return this; + } + + public FDXHateoasLink addTypesItem(FDXContentTypes typesItem) { + if (this.types == null) { + this.types = new ArrayList<>(); + } + this.types.add(typesItem); + return this; + } + + /** + * Content-types that can be used in the Accept header + * @return types + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Content-types that can be used in the Accept header") + + public List getTypes() { + return types; + } + + + public void setTypes(List types) { + this.types = types; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FDXHateoasLink fdXHateoasLink = (FDXHateoasLink) o; + return Objects.equals(this.href, fdXHateoasLink.href) && + Objects.equals(this.action, fdXHateoasLink.action) && + Objects.equals(this.rel, fdXHateoasLink.rel) && + Objects.equals(this.types, fdXHateoasLink.types); + } + + @Override + public int hashCode() { + return Objects.hash(href, action, rel, types); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FDXHateoasLink {\n"); + sb.append(" href: ").append(toIndentedString(href)).append("\n"); + sb.append(" action: ").append(toIndentedString(action)).append("\n"); + sb.append(" rel: ").append(toIndentedString(rel)).append("\n"); + sb.append(" types: ").append(toIndentedString(types)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXHateoasLinkAction.java b/src/main/java/com/plaid/client/model/FDXHateoasLinkAction.java new file mode 100644 index 0000000000..a1dfc5cfa5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXHateoasLinkAction.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * HTTP Method to use for the request + */ +@JsonAdapter(FDXHateoasLinkAction.Adapter.class) +public enum FDXHateoasLinkAction { + + GET("GET"), + + POST("POST"), + + PATCH("PATCH"), + + DELETE("DELETE"), + + PUT("PUT"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXHateoasLinkAction(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXHateoasLinkAction fromValue(String value) { + for (FDXHateoasLinkAction b : FDXHateoasLinkAction.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXHateoasLinkAction.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXHateoasLinkAction enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXHateoasLinkAction read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXHateoasLinkAction.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FDXInitiatorFiAttribute.java b/src/main/java/com/plaid/client/model/FDXInitiatorFiAttribute.java new file mode 100644 index 0000000000..f92f95be0c --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXInitiatorFiAttribute.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Initiator Fi Attribute + */ +@ApiModel(description = "Initiator Fi Attribute") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FDXInitiatorFiAttribute { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public FDXInitiatorFiAttribute name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public FDXInitiatorFiAttribute value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FDXInitiatorFiAttribute fdXInitiatorFiAttribute = (FDXInitiatorFiAttribute) o; + return Objects.equals(this.name, fdXInitiatorFiAttribute.name) && + Objects.equals(this.value, fdXInitiatorFiAttribute.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FDXInitiatorFiAttribute {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXLifecycleEvent.java b/src/main/java/com/plaid/client/model/FDXLifecycleEvent.java new file mode 100644 index 0000000000..36b1b1e1de --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXLifecycleEvent.java @@ -0,0 +1,219 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FDXEventStatus; +import com.plaid.client.model.FDXPartyType; +import com.plaid.client.model.FDXUpdateReason; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Details of consent or payment network identifier or other entity's revocation request or other lifecycle status change event + */ +@ApiModel(description = "Details of consent or payment network identifier or other entity's revocation request or other lifecycle status change event") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FDXLifecycleEvent { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private FDXEventStatus status; + + public static final String SERIALIZED_NAME_REASON = "reason"; + @SerializedName(SERIALIZED_NAME_REASON) + private FDXUpdateReason reason; + + public static final String SERIALIZED_NAME_OTHER_REASON = "otherReason"; + @SerializedName(SERIALIZED_NAME_OTHER_REASON) + private String otherReason; + + public static final String SERIALIZED_NAME_INITIATOR = "initiator"; + @SerializedName(SERIALIZED_NAME_INITIATOR) + private FDXPartyType initiator; + + public static final String SERIALIZED_NAME_UPDATED_TIME = "updatedTime"; + @SerializedName(SERIALIZED_NAME_UPDATED_TIME) + private OffsetDateTime updatedTime; + + + public FDXLifecycleEvent status(FDXEventStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public FDXEventStatus getStatus() { + return status; + } + + + public void setStatus(FDXEventStatus status) { + this.status = status; + } + + + public FDXLifecycleEvent reason(FDXUpdateReason reason) { + + this.reason = reason; + return this; + } + + /** + * Get reason + * @return reason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public FDXUpdateReason getReason() { + return reason; + } + + + public void setReason(FDXUpdateReason reason) { + this.reason = reason; + } + + + public FDXLifecycleEvent otherReason(String otherReason) { + + this.otherReason = otherReason; + return this; + } + + /** + * Additional information or description of an `OTHER` reason + * @return otherReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Additional information or description of an `OTHER` reason") + + public String getOtherReason() { + return otherReason; + } + + + public void setOtherReason(String otherReason) { + this.otherReason = otherReason; + } + + + public FDXLifecycleEvent initiator(FDXPartyType initiator) { + + this.initiator = initiator; + return this; + } + + /** + * Get initiator + * @return initiator + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public FDXPartyType getInitiator() { + return initiator; + } + + + public void setInitiator(FDXPartyType initiator) { + this.initiator = initiator; + } + + + public FDXLifecycleEvent updatedTime(OffsetDateTime updatedTime) { + + this.updatedTime = updatedTime; + return this; + } + + /** + * ISO 8601 date-time in format 'YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]' according to [IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) + * @return updatedTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2021-07-15T14:46:41.375Z", value = "ISO 8601 date-time in format 'YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]' according to [IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)") + + public OffsetDateTime getUpdatedTime() { + return updatedTime; + } + + + public void setUpdatedTime(OffsetDateTime updatedTime) { + this.updatedTime = updatedTime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FDXLifecycleEvent fdXLifecycleEvent = (FDXLifecycleEvent) o; + return Objects.equals(this.status, fdXLifecycleEvent.status) && + Objects.equals(this.reason, fdXLifecycleEvent.reason) && + Objects.equals(this.otherReason, fdXLifecycleEvent.otherReason) && + Objects.equals(this.initiator, fdXLifecycleEvent.initiator) && + Objects.equals(this.updatedTime, fdXLifecycleEvent.updatedTime); + } + + @Override + public int hashCode() { + return Objects.hash(status, reason, otherReason, initiator, updatedTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FDXLifecycleEvent {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); + sb.append(" otherReason: ").append(toIndentedString(otherReason)).append("\n"); + sb.append(" initiator: ").append(toIndentedString(initiator)).append("\n"); + sb.append(" updatedTime: ").append(toIndentedString(updatedTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXNotification.java b/src/main/java/com/plaid/client/model/FDXNotification.java new file mode 100644 index 0000000000..47f3f168c3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXNotification.java @@ -0,0 +1,392 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FDXHateoasLink; +import com.plaid.client.model.FDXNotificationCategory; +import com.plaid.client.model.FDXNotificationPayload; +import com.plaid.client.model.FDXNotificationPriority; +import com.plaid.client.model.FDXNotificationSeverity; +import com.plaid.client.model.FDXNotificationType; +import com.plaid.client.model.FDXParty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Provides the base fields of a notification. Clients will read the `type` property to determine the expected notification payload. + */ +@ApiModel(description = "Provides the base fields of a notification. Clients will read the `type` property to determine the expected notification payload.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FDXNotification { + public static final String SERIALIZED_NAME_NOTIFICATION_ID = "notificationId"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_ID) + private String notificationId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private FDXNotificationType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private String subtype; + + public static final String SERIALIZED_NAME_SENT_ON = "sentOn"; + @SerializedName(SERIALIZED_NAME_SENT_ON) + private OffsetDateTime sentOn; + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private FDXNotificationCategory category; + + public static final String SERIALIZED_NAME_SEVERITY = "severity"; + @SerializedName(SERIALIZED_NAME_SEVERITY) + private FDXNotificationSeverity severity; + + public static final String SERIALIZED_NAME_PRIORITY = "priority"; + @SerializedName(SERIALIZED_NAME_PRIORITY) + private FDXNotificationPriority priority; + + public static final String SERIALIZED_NAME_PUBLISHER = "publisher"; + @SerializedName(SERIALIZED_NAME_PUBLISHER) + private FDXParty publisher; + + public static final String SERIALIZED_NAME_SUBSCRIBER = "subscriber"; + @SerializedName(SERIALIZED_NAME_SUBSCRIBER) + private FDXParty subscriber; + + public static final String SERIALIZED_NAME_NOTIFICATION_PAYLOAD = "notificationPayload"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_PAYLOAD) + private FDXNotificationPayload notificationPayload; + + public static final String SERIALIZED_NAME_URL = "url"; + @SerializedName(SERIALIZED_NAME_URL) + private FDXHateoasLink url; + + + public FDXNotification notificationId(String notificationId) { + + this.notificationId = notificationId; + return this; + } + + /** + * Id of notification + * @return notificationId + **/ + @ApiModelProperty(required = true, value = "Id of notification") + + public String getNotificationId() { + return notificationId; + } + + + public void setNotificationId(String notificationId) { + this.notificationId = notificationId; + } + + + public FDXNotification type(FDXNotificationType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public FDXNotificationType getType() { + return type; + } + + + public void setType(FDXNotificationType type) { + this.type = type; + } + + + public FDXNotification subtype(String subtype) { + + this.subtype = subtype; + return this; + } + + /** + * An optional initiator-defined event subtype code or description if the event type needs to be further categorized or described. + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An optional initiator-defined event subtype code or description if the event type needs to be further categorized or described.") + + public String getSubtype() { + return subtype; + } + + + public void setSubtype(String subtype) { + this.subtype = subtype; + } + + + public FDXNotification sentOn(OffsetDateTime sentOn) { + + this.sentOn = sentOn; + return this; + } + + /** + * ISO 8601 date-time in format 'YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]' according to [IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) + * @return sentOn + **/ + @ApiModelProperty(example = "2021-07-15T14:46:41.375Z", required = true, value = "ISO 8601 date-time in format 'YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]' according to [IETF RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)") + + public OffsetDateTime getSentOn() { + return sentOn; + } + + + public void setSentOn(OffsetDateTime sentOn) { + this.sentOn = sentOn; + } + + + public FDXNotification category(FDXNotificationCategory category) { + + this.category = category; + return this; + } + + /** + * Get category + * @return category + **/ + @ApiModelProperty(required = true, value = "") + + public FDXNotificationCategory getCategory() { + return category; + } + + + public void setCategory(FDXNotificationCategory category) { + this.category = category; + } + + + public FDXNotification severity(FDXNotificationSeverity severity) { + + this.severity = severity; + return this; + } + + /** + * Get severity + * @return severity + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public FDXNotificationSeverity getSeverity() { + return severity; + } + + + public void setSeverity(FDXNotificationSeverity severity) { + this.severity = severity; + } + + + public FDXNotification priority(FDXNotificationPriority priority) { + + this.priority = priority; + return this; + } + + /** + * Get priority + * @return priority + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public FDXNotificationPriority getPriority() { + return priority; + } + + + public void setPriority(FDXNotificationPriority priority) { + this.priority = priority; + } + + + public FDXNotification publisher(FDXParty publisher) { + + this.publisher = publisher; + return this; + } + + /** + * Get publisher + * @return publisher + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public FDXParty getPublisher() { + return publisher; + } + + + public void setPublisher(FDXParty publisher) { + this.publisher = publisher; + } + + + public FDXNotification subscriber(FDXParty subscriber) { + + this.subscriber = subscriber; + return this; + } + + /** + * Get subscriber + * @return subscriber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public FDXParty getSubscriber() { + return subscriber; + } + + + public void setSubscriber(FDXParty subscriber) { + this.subscriber = subscriber; + } + + + public FDXNotification notificationPayload(FDXNotificationPayload notificationPayload) { + + this.notificationPayload = notificationPayload; + return this; + } + + /** + * Get notificationPayload + * @return notificationPayload + **/ + @ApiModelProperty(required = true, value = "") + + public FDXNotificationPayload getNotificationPayload() { + return notificationPayload; + } + + + public void setNotificationPayload(FDXNotificationPayload notificationPayload) { + this.notificationPayload = notificationPayload; + } + + + public FDXNotification url(FDXHateoasLink url) { + + this.url = url; + return this; + } + + /** + * Get url + * @return url + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public FDXHateoasLink getUrl() { + return url; + } + + + public void setUrl(FDXHateoasLink url) { + this.url = url; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FDXNotification fdXNotification = (FDXNotification) o; + return Objects.equals(this.notificationId, fdXNotification.notificationId) && + Objects.equals(this.type, fdXNotification.type) && + Objects.equals(this.subtype, fdXNotification.subtype) && + Objects.equals(this.sentOn, fdXNotification.sentOn) && + Objects.equals(this.category, fdXNotification.category) && + Objects.equals(this.severity, fdXNotification.severity) && + Objects.equals(this.priority, fdXNotification.priority) && + Objects.equals(this.publisher, fdXNotification.publisher) && + Objects.equals(this.subscriber, fdXNotification.subscriber) && + Objects.equals(this.notificationPayload, fdXNotification.notificationPayload) && + Objects.equals(this.url, fdXNotification.url); + } + + @Override + public int hashCode() { + return Objects.hash(notificationId, type, subtype, sentOn, category, severity, priority, publisher, subscriber, notificationPayload, url); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FDXNotification {\n"); + sb.append(" notificationId: ").append(toIndentedString(notificationId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" sentOn: ").append(toIndentedString(sentOn)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" severity: ").append(toIndentedString(severity)).append("\n"); + sb.append(" priority: ").append(toIndentedString(priority)).append("\n"); + sb.append(" publisher: ").append(toIndentedString(publisher)).append("\n"); + sb.append(" subscriber: ").append(toIndentedString(subscriber)).append("\n"); + sb.append(" notificationPayload: ").append(toIndentedString(notificationPayload)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXNotificationCategory.java b/src/main/java/com/plaid/client/model/FDXNotificationCategory.java new file mode 100644 index 0000000000..1a7a938f8a --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXNotificationCategory.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Category of Notification + */ +@JsonAdapter(FDXNotificationCategory.Adapter.class) +public enum FDXNotificationCategory { + + SECURITY("SECURITY"), + + MAINTENANCE("MAINTENANCE"), + + FRAUD("FRAUD"), + + CONSENT("CONSENT"), + + NEW_DATA("NEW_DATA"), + + TOKENIZED_ACCOUNT_NUMBER("TOKENIZED_ACCOUNT_NUMBER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXNotificationCategory(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXNotificationCategory fromValue(String value) { + for (FDXNotificationCategory b : FDXNotificationCategory.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXNotificationCategory.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXNotificationCategory enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXNotificationCategory read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXNotificationCategory.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FDXNotificationPayload.java b/src/main/java/com/plaid/client/model/FDXNotificationPayload.java new file mode 100644 index 0000000000..0c2c7c5912 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXNotificationPayload.java @@ -0,0 +1,159 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FDXLifecycleEvent; +import com.plaid.client.model.FDXNotificationPayloadIdType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Custom key-value pairs payload for a notification + */ +@ApiModel(description = "Custom key-value pairs payload for a notification") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FDXNotificationPayload { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_ID_TYPE = "idType"; + @SerializedName(SERIALIZED_NAME_ID_TYPE) + private FDXNotificationPayloadIdType idType; + + public static final String SERIALIZED_NAME_EVENT = "event"; + @SerializedName(SERIALIZED_NAME_EVENT) + private FDXLifecycleEvent event; + + + public FDXNotificationPayload id(String id) { + + this.id = id; + return this; + } + + /** + * ID for the origination entity related to the notification + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "ID for the origination entity related to the notification") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public FDXNotificationPayload idType(FDXNotificationPayloadIdType idType) { + + this.idType = idType; + return this; + } + + /** + * Get idType + * @return idType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public FDXNotificationPayloadIdType getIdType() { + return idType; + } + + + public void setIdType(FDXNotificationPayloadIdType idType) { + this.idType = idType; + } + + + public FDXNotificationPayload event(FDXLifecycleEvent event) { + + this.event = event; + return this; + } + + /** + * Get event + * @return event + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public FDXLifecycleEvent getEvent() { + return event; + } + + + public void setEvent(FDXLifecycleEvent event) { + this.event = event; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FDXNotificationPayload fdXNotificationPayload = (FDXNotificationPayload) o; + return Objects.equals(this.id, fdXNotificationPayload.id) && + Objects.equals(this.idType, fdXNotificationPayload.idType) && + Objects.equals(this.event, fdXNotificationPayload.event); + } + + @Override + public int hashCode() { + return Objects.hash(id, idType, event); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FDXNotificationPayload {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" idType: ").append(toIndentedString(idType)).append("\n"); + sb.append(" event: ").append(toIndentedString(event)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXNotificationPayloadIdType.java b/src/main/java/com/plaid/client/model/FDXNotificationPayloadIdType.java new file mode 100644 index 0000000000..a1ab19fc38 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXNotificationPayloadIdType.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Type of entity causing origination of a notification + */ +@JsonAdapter(FDXNotificationPayloadIdType.Adapter.class) +public enum FDXNotificationPayloadIdType { + + ACCOUNT("ACCOUNT"), + + CUSTOMER("CUSTOMER"), + + PARTY("PARTY"), + + MAINTENANCE("MAINTENANCE"), + + CONSENT("CONSENT"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXNotificationPayloadIdType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXNotificationPayloadIdType fromValue(String value) { + for (FDXNotificationPayloadIdType b : FDXNotificationPayloadIdType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXNotificationPayloadIdType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXNotificationPayloadIdType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXNotificationPayloadIdType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXNotificationPayloadIdType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FDXNotificationPriority.java b/src/main/java/com/plaid/client/model/FDXNotificationPriority.java new file mode 100644 index 0000000000..c2f2b8431a --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXNotificationPriority.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Priority of notification + */ +@JsonAdapter(FDXNotificationPriority.Adapter.class) +public enum FDXNotificationPriority { + + HIGH("HIGH"), + + MEDIUM("MEDIUM"), + + LOW("LOW"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXNotificationPriority(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXNotificationPriority fromValue(String value) { + for (FDXNotificationPriority b : FDXNotificationPriority.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXNotificationPriority.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXNotificationPriority enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXNotificationPriority read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXNotificationPriority.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FDXNotificationSeverity.java b/src/main/java/com/plaid/client/model/FDXNotificationSeverity.java new file mode 100644 index 0000000000..dbbdef859b --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXNotificationSeverity.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Severity level of notification + */ +@JsonAdapter(FDXNotificationSeverity.Adapter.class) +public enum FDXNotificationSeverity { + + EMERGENCY("EMERGENCY"), + + ALERT("ALERT"), + + WARNING("WARNING"), + + NOTICE("NOTICE"), + + INFO("INFO"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXNotificationSeverity(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXNotificationSeverity fromValue(String value) { + for (FDXNotificationSeverity b : FDXNotificationSeverity.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXNotificationSeverity.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXNotificationSeverity enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXNotificationSeverity read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXNotificationSeverity.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FDXNotificationType.java b/src/main/java/com/plaid/client/model/FDXNotificationType.java new file mode 100644 index 0000000000..7119c1bc6d --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXNotificationType.java @@ -0,0 +1,111 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Type of Notification + */ +@JsonAdapter(FDXNotificationType.Adapter.class) +public enum FDXNotificationType { + + ACCOUNT_TAKEOVER("ACCOUNT_TAKEOVER"), + + ADDRESS_CHANGED("ADDRESS_CHANGED"), + + BALANCE("BALANCE"), + + CONSENT_EXPIRED("CONSENT_EXPIRED"), + + CONSENT_GRANTED("CONSENT_GRANTED"), + + CONSENT_REVOKED("CONSENT_REVOKED"), + + CONSENT_UPDATED("CONSENT_UPDATED"), + + CUSTOM("CUSTOM"), + + MFA_TARGET_CHANGED("MFA_TARGET_CHANGED"), + + PHONE_CHANGED("PHONE_CHANGED"), + + PLANNED_OUTAGE("PLANNED_OUTAGE"), + + RISK("RISK"), + + SERVICE("SERVICE"), + + SUSPECTED_INCIDENT("SUSPECTED_INCIDENT"), + + TAN_ACTIVATED("TAN_ACTIVATED"), + + TAN_CREATED("TAN_CREATED"), + + TAN_REVOKED("TAN_REVOKED"), + + TAN_SUSPENDED("TAN_SUSPENDED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXNotificationType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXNotificationType fromValue(String value) { + for (FDXNotificationType b : FDXNotificationType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXNotificationType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXNotificationType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXNotificationType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXNotificationType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FDXParty.java b/src/main/java/com/plaid/client/model/FDXParty.java new file mode 100644 index 0000000000..53f4d0d24f --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXParty.java @@ -0,0 +1,274 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FDXPartyRegistry; +import com.plaid.client.model.FDXPartyType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.net.URI; + +/** + * FDX Participant - an entity or person that is a part of a FDX API transaction + */ +@ApiModel(description = "FDX Participant - an entity or person that is a part of a FDX API transaction") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FDXParty { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private FDXPartyType type; + + public static final String SERIALIZED_NAME_HOME_URI = "homeUri"; + @SerializedName(SERIALIZED_NAME_HOME_URI) + private URI homeUri; + + public static final String SERIALIZED_NAME_LOGO_URI = "logoUri"; + @SerializedName(SERIALIZED_NAME_LOGO_URI) + private URI logoUri; + + public static final String SERIALIZED_NAME_REGISTRY = "registry"; + @SerializedName(SERIALIZED_NAME_REGISTRY) + private FDXPartyRegistry registry; + + public static final String SERIALIZED_NAME_REGISTERED_ENTITY_NAME = "registeredEntityName"; + @SerializedName(SERIALIZED_NAME_REGISTERED_ENTITY_NAME) + private String registeredEntityName; + + public static final String SERIALIZED_NAME_REGISTERED_ENTITY_ID = "registeredEntityId"; + @SerializedName(SERIALIZED_NAME_REGISTERED_ENTITY_ID) + private String registeredEntityId; + + + public FDXParty name(String name) { + + this.name = name; + return this; + } + + /** + * Human recognizable common name + * @return name + **/ + @ApiModelProperty(required = true, value = "Human recognizable common name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public FDXParty type(FDXPartyType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public FDXPartyType getType() { + return type; + } + + + public void setType(FDXPartyType type) { + this.type = type; + } + + + public FDXParty homeUri(URI homeUri) { + + this.homeUri = homeUri; + return this; + } + + /** + * URI for party, where an end user could learn more about the company or application involved in the data sharing chain + * @return homeUri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI for party, where an end user could learn more about the company or application involved in the data sharing chain") + + public URI getHomeUri() { + return homeUri; + } + + + public void setHomeUri(URI homeUri) { + this.homeUri = homeUri; + } + + + public FDXParty logoUri(URI logoUri) { + + this.logoUri = logoUri; + return this; + } + + /** + * URI for a logo asset to be displayed to the end user + * @return logoUri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI for a logo asset to be displayed to the end user") + + public URI getLogoUri() { + return logoUri; + } + + + public void setLogoUri(URI logoUri) { + this.logoUri = logoUri; + } + + + public FDXParty registry(FDXPartyRegistry registry) { + + this.registry = registry; + return this; + } + + /** + * Get registry + * @return registry + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public FDXPartyRegistry getRegistry() { + return registry; + } + + + public void setRegistry(FDXPartyRegistry registry) { + this.registry = registry; + } + + + public FDXParty registeredEntityName(String registeredEntityName) { + + this.registeredEntityName = registeredEntityName; + return this; + } + + /** + * Registered name of party + * @return registeredEntityName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Registered name of party") + + public String getRegisteredEntityName() { + return registeredEntityName; + } + + + public void setRegisteredEntityName(String registeredEntityName) { + this.registeredEntityName = registeredEntityName; + } + + + public FDXParty registeredEntityId(String registeredEntityId) { + + this.registeredEntityId = registeredEntityId; + return this; + } + + /** + * Registered id of party + * @return registeredEntityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Registered id of party") + + public String getRegisteredEntityId() { + return registeredEntityId; + } + + + public void setRegisteredEntityId(String registeredEntityId) { + this.registeredEntityId = registeredEntityId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FDXParty fdXParty = (FDXParty) o; + return Objects.equals(this.name, fdXParty.name) && + Objects.equals(this.type, fdXParty.type) && + Objects.equals(this.homeUri, fdXParty.homeUri) && + Objects.equals(this.logoUri, fdXParty.logoUri) && + Objects.equals(this.registry, fdXParty.registry) && + Objects.equals(this.registeredEntityName, fdXParty.registeredEntityName) && + Objects.equals(this.registeredEntityId, fdXParty.registeredEntityId); + } + + @Override + public int hashCode() { + return Objects.hash(name, type, homeUri, logoUri, registry, registeredEntityName, registeredEntityId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FDXParty {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" homeUri: ").append(toIndentedString(homeUri)).append("\n"); + sb.append(" logoUri: ").append(toIndentedString(logoUri)).append("\n"); + sb.append(" registry: ").append(toIndentedString(registry)).append("\n"); + sb.append(" registeredEntityName: ").append(toIndentedString(registeredEntityName)).append("\n"); + sb.append(" registeredEntityId: ").append(toIndentedString(registeredEntityId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXPartyRegistry.java b/src/main/java/com/plaid/client/model/FDXPartyRegistry.java new file mode 100644 index 0000000000..5fb9dccd63 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXPartyRegistry.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The registry containing the party's registration with name and id + */ +@JsonAdapter(FDXPartyRegistry.Adapter.class) +public enum FDXPartyRegistry { + + FDX("FDX"), + + GLEIF("GLEIF"), + + ICANN("ICANN"), + + PRIVATE("PRIVATE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXPartyRegistry(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXPartyRegistry fromValue(String value) { + for (FDXPartyRegistry b : FDXPartyRegistry.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXPartyRegistry.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXPartyRegistry enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXPartyRegistry read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXPartyRegistry.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FDXPartyType.java b/src/main/java/com/plaid/client/model/FDXPartyType.java new file mode 100644 index 0000000000..016cbad5bf --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXPartyType.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Identifies the type of a party + */ +@JsonAdapter(FDXPartyType.Adapter.class) +public enum FDXPartyType { + + DATA_ACCESS_PLATFORM("DATA_ACCESS_PLATFORM"), + + DATA_PROVIDER("DATA_PROVIDER"), + + DATA_RECIPIENT("DATA_RECIPIENT"), + + INDIVIDUAL("INDIVIDUAL"), + + MERCHANT("MERCHANT"), + + VENDOR("VENDOR"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXPartyType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXPartyType fromValue(String value) { + for (FDXPartyType b : FDXPartyType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXPartyType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXPartyType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXPartyType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXPartyType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FDXRecipientMetadata.java b/src/main/java/com/plaid/client/model/FDXRecipientMetadata.java new file mode 100644 index 0000000000..2dfbd7ac64 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXRecipientMetadata.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Recipient metadata fields that are defined by FDX. + */ +@ApiModel(description = "Recipient metadata fields that are defined by FDX.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FDXRecipientMetadata { + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_CLIENT_NAME = "client_name"; + @SerializedName(SERIALIZED_NAME_CLIENT_NAME) + private String clientName; + + public static final String SERIALIZED_NAME_LOGO_URI = "logo_uri"; + @SerializedName(SERIALIZED_NAME_LOGO_URI) + private String logoUri; + + public static final String SERIALIZED_NAME_THIRD_PARTY_LEGAL_NAME = "third_party_legal_name"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_LEGAL_NAME) + private String thirdPartyLegalName; + + + public FDXRecipientMetadata recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The recipient identifier + * @return recipientId + **/ + @ApiModelProperty(required = true, value = "The recipient identifier") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public FDXRecipientMetadata clientName(String clientName) { + + this.clientName = clientName; + return this; + } + + /** + * The recipient name displayed by the Data Provider during the consent flow + * @return clientName + **/ + @ApiModelProperty(required = true, value = "The recipient name displayed by the Data Provider during the consent flow") + + public String getClientName() { + return clientName; + } + + + public void setClientName(String clientName) { + this.clientName = clientName; + } + + + public FDXRecipientMetadata logoUri(String logoUri) { + + this.logoUri = logoUri; + return this; + } + + /** + * Data Recipient Logo URL location + * @return logoUri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Data Recipient Logo URL location") + + public String getLogoUri() { + return logoUri; + } + + + public void setLogoUri(String logoUri) { + this.logoUri = logoUri; + } + + + public FDXRecipientMetadata thirdPartyLegalName(String thirdPartyLegalName) { + + this.thirdPartyLegalName = thirdPartyLegalName; + return this; + } + + /** + * The legal name of the recipient + * @return thirdPartyLegalName + **/ + @ApiModelProperty(required = true, value = "The legal name of the recipient") + + public String getThirdPartyLegalName() { + return thirdPartyLegalName; + } + + + public void setThirdPartyLegalName(String thirdPartyLegalName) { + this.thirdPartyLegalName = thirdPartyLegalName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FDXRecipientMetadata fdXRecipientMetadata = (FDXRecipientMetadata) o; + return Objects.equals(this.recipientId, fdXRecipientMetadata.recipientId) && + Objects.equals(this.clientName, fdXRecipientMetadata.clientName) && + Objects.equals(this.logoUri, fdXRecipientMetadata.logoUri) && + Objects.equals(this.thirdPartyLegalName, fdXRecipientMetadata.thirdPartyLegalName); + } + + @Override + public int hashCode() { + return Objects.hash(recipientId, clientName, logoUri, thirdPartyLegalName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FDXRecipientMetadata {\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" clientName: ").append(toIndentedString(clientName)).append("\n"); + sb.append(" logoUri: ").append(toIndentedString(logoUri)).append("\n"); + sb.append(" thirdPartyLegalName: ").append(toIndentedString(thirdPartyLegalName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FDXUpdateReason.java b/src/main/java/com/plaid/client/model/FDXUpdateReason.java new file mode 100644 index 0000000000..f8c7c1249f --- /dev/null +++ b/src/main/java/com/plaid/client/model/FDXUpdateReason.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Reason for lifecycle event status change + */ +@JsonAdapter(FDXUpdateReason.Adapter.class) +public enum FDXUpdateReason { + + BUSINESS_RULE("BUSINESS_RULE"), + + SECURITY_EVENT("SECURITY_EVENT"), + + USER_ACTION("USER_ACTION"), + + OTHER("OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FDXUpdateReason(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FDXUpdateReason fromValue(String value) { + for (FDXUpdateReason b : FDXUpdateReason.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FDXUpdateReason.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FDXUpdateReason enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FDXUpdateReason read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FDXUpdateReason.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FallbackAuthMicrodepositAutoVerifiedWebhook.java b/src/main/java/com/plaid/client/model/FallbackAuthMicrodepositAutoVerifiedWebhook.java new file mode 100644 index 0000000000..3019a1b0ac --- /dev/null +++ b/src/main/java/com/plaid/client/model/FallbackAuthMicrodepositAutoVerifiedWebhook.java @@ -0,0 +1,240 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fires when an account is automatically verified using micro-deposits + */ +@ApiModel(description = "Fires when an account is automatically verified using micro-deposits") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FallbackAuthMicrodepositAutoVerifiedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private String error; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public FallbackAuthMicrodepositAutoVerifiedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `AUTH` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`AUTH`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public FallbackAuthMicrodepositAutoVerifiedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `AUTOMATICALLY_VERIFIED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`AUTOMATICALLY_VERIFIED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public FallbackAuthMicrodepositAutoVerifiedWebhook error(String error) { + + this.error = error; + return this; + } + + /** + * The error code associated with the webhook. + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The error code associated with the webhook.") + + public String getError() { + return error; + } + + + public void setError(String error) { + this.error = error; + } + + + public FallbackAuthMicrodepositAutoVerifiedWebhook accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The external account ID associated with the micro-deposit + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The external account ID associated with the micro-deposit") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public FallbackAuthMicrodepositAutoVerifiedWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public FallbackAuthMicrodepositAutoVerifiedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FallbackAuthMicrodepositAutoVerifiedWebhook fallbackAuthMicrodepositAutoVerifiedWebhook = (FallbackAuthMicrodepositAutoVerifiedWebhook) o; + return Objects.equals(this.webhookType, fallbackAuthMicrodepositAutoVerifiedWebhook.webhookType) && + Objects.equals(this.webhookCode, fallbackAuthMicrodepositAutoVerifiedWebhook.webhookCode) && + Objects.equals(this.error, fallbackAuthMicrodepositAutoVerifiedWebhook.error) && + Objects.equals(this.accountId, fallbackAuthMicrodepositAutoVerifiedWebhook.accountId) && + Objects.equals(this.itemId, fallbackAuthMicrodepositAutoVerifiedWebhook.itemId) && + Objects.equals(this.environment, fallbackAuthMicrodepositAutoVerifiedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, error, accountId, itemId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FallbackAuthMicrodepositAutoVerifiedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FallbackAuthMicrodepositVerificationExpiredWebhook.java b/src/main/java/com/plaid/client/model/FallbackAuthMicrodepositVerificationExpiredWebhook.java new file mode 100644 index 0000000000..8b19d7c4da --- /dev/null +++ b/src/main/java/com/plaid/client/model/FallbackAuthMicrodepositVerificationExpiredWebhook.java @@ -0,0 +1,240 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fires when an account has an expired verification when using micro-deposits + */ +@ApiModel(description = "Fires when an account has an expired verification when using micro-deposits") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FallbackAuthMicrodepositVerificationExpiredWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private String error; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public FallbackAuthMicrodepositVerificationExpiredWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `AUTH` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`AUTH`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public FallbackAuthMicrodepositVerificationExpiredWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `VERIFICATION_EXPIRED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`VERIFICATION_EXPIRED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public FallbackAuthMicrodepositVerificationExpiredWebhook error(String error) { + + this.error = error; + return this; + } + + /** + * The error code associated with the webhook. + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The error code associated with the webhook.") + + public String getError() { + return error; + } + + + public void setError(String error) { + this.error = error; + } + + + public FallbackAuthMicrodepositVerificationExpiredWebhook accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The external account ID associated with the micro-deposit + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The external account ID associated with the micro-deposit") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public FallbackAuthMicrodepositVerificationExpiredWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public FallbackAuthMicrodepositVerificationExpiredWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FallbackAuthMicrodepositVerificationExpiredWebhook fallbackAuthMicrodepositVerificationExpiredWebhook = (FallbackAuthMicrodepositVerificationExpiredWebhook) o; + return Objects.equals(this.webhookType, fallbackAuthMicrodepositVerificationExpiredWebhook.webhookType) && + Objects.equals(this.webhookCode, fallbackAuthMicrodepositVerificationExpiredWebhook.webhookCode) && + Objects.equals(this.error, fallbackAuthMicrodepositVerificationExpiredWebhook.error) && + Objects.equals(this.accountId, fallbackAuthMicrodepositVerificationExpiredWebhook.accountId) && + Objects.equals(this.itemId, fallbackAuthMicrodepositVerificationExpiredWebhook.itemId) && + Objects.equals(this.environment, fallbackAuthMicrodepositVerificationExpiredWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, error, accountId, itemId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FallbackAuthMicrodepositVerificationExpiredWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FinancialInstitutionInsights.java b/src/main/java/com/plaid/client/model/FinancialInstitutionInsights.java new file mode 100644 index 0000000000..936f9fd024 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FinancialInstitutionInsights.java @@ -0,0 +1,192 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DetectedAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Insights surrounding external financial institution counterparties associated with a user. + */ +@ApiModel(description = "Insights surrounding external financial institution counterparties associated with a user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FinancialInstitutionInsights { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ENTITY_ID = "entity_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_ID) + private String entityId; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private String website; + + public static final String SERIALIZED_NAME_DETECTED_ACCOUNTS = "detected_accounts"; + @SerializedName(SERIALIZED_NAME_DETECTED_ACCOUNTS) + private List detectedAccounts = new ArrayList<>(); + + + public FinancialInstitutionInsights name(String name) { + + this.name = name; + return this; + } + + /** + * Name of the financial institution counterparty. + * @return name + **/ + @ApiModelProperty(required = true, value = "Name of the financial institution counterparty.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public FinancialInstitutionInsights entityId(String entityId) { + + this.entityId = entityId; + return this; + } + + /** + * A unique, stable, Plaid-generated id that maps to the counterparty. + * @return entityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique, stable, Plaid-generated id that maps to the counterparty.") + + public String getEntityId() { + return entityId; + } + + + public void setEntityId(String entityId) { + this.entityId = entityId; + } + + + public FinancialInstitutionInsights website(String website) { + + this.website = website; + return this; + } + + /** + * The website associated with the counterparty. + * @return website + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The website associated with the counterparty.") + + public String getWebsite() { + return website; + } + + + public void setWebsite(String website) { + this.website = website; + } + + + public FinancialInstitutionInsights detectedAccounts(List detectedAccounts) { + + this.detectedAccounts = detectedAccounts; + return this; + } + + public FinancialInstitutionInsights addDetectedAccountsItem(DetectedAccount detectedAccountsItem) { + this.detectedAccounts.add(detectedAccountsItem); + return this; + } + + /** + * Associated accounts, detected based on the nature of transfers to/from this institution. + * @return detectedAccounts + **/ + @ApiModelProperty(required = true, value = "Associated accounts, detected based on the nature of transfers to/from this institution.") + + public List getDetectedAccounts() { + return detectedAccounts; + } + + + public void setDetectedAccounts(List detectedAccounts) { + this.detectedAccounts = detectedAccounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FinancialInstitutionInsights financialInstitutionInsights = (FinancialInstitutionInsights) o; + return Objects.equals(this.name, financialInstitutionInsights.name) && + Objects.equals(this.entityId, financialInstitutionInsights.entityId) && + Objects.equals(this.website, financialInstitutionInsights.website) && + Objects.equals(this.detectedAccounts, financialInstitutionInsights.detectedAccounts); + } + + @Override + public int hashCode() { + return Objects.hash(name, entityId, website, detectedAccounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FinancialInstitutionInsights {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" detectedAccounts: ").append(toIndentedString(detectedAccounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FixedIncome.java b/src/main/java/com/plaid/client/model/FixedIncome.java new file mode 100644 index 0000000000..1500ff2b45 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FixedIncome.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.YieldRate; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Details about the fixed income security. + */ +@ApiModel(description = "Details about the fixed income security.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FixedIncome { + public static final String SERIALIZED_NAME_YIELD_RATE = "yield_rate"; + @SerializedName(SERIALIZED_NAME_YIELD_RATE) + private YieldRate yieldRate; + + public static final String SERIALIZED_NAME_MATURITY_DATE = "maturity_date"; + @SerializedName(SERIALIZED_NAME_MATURITY_DATE) + private LocalDate maturityDate; + + public static final String SERIALIZED_NAME_ISSUE_DATE = "issue_date"; + @SerializedName(SERIALIZED_NAME_ISSUE_DATE) + private LocalDate issueDate; + + public static final String SERIALIZED_NAME_FACE_VALUE = "face_value"; + @SerializedName(SERIALIZED_NAME_FACE_VALUE) + private Double faceValue; + + + public FixedIncome yieldRate(YieldRate yieldRate) { + + this.yieldRate = yieldRate; + return this; + } + + /** + * Get yieldRate + * @return yieldRate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public YieldRate getYieldRate() { + return yieldRate; + } + + + public void setYieldRate(YieldRate yieldRate) { + this.yieldRate = yieldRate; + } + + + public FixedIncome maturityDate(LocalDate maturityDate) { + + this.maturityDate = maturityDate; + return this; + } + + /** + * The maturity date for this fixed income security, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return maturityDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The maturity date for this fixed income security, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public LocalDate getMaturityDate() { + return maturityDate; + } + + + public void setMaturityDate(LocalDate maturityDate) { + this.maturityDate = maturityDate; + } + + + public FixedIncome issueDate(LocalDate issueDate) { + + this.issueDate = issueDate; + return this; + } + + /** + * The issue date for this fixed income security, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return issueDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The issue date for this fixed income security, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public LocalDate getIssueDate() { + return issueDate; + } + + + public void setIssueDate(LocalDate issueDate) { + this.issueDate = issueDate; + } + + + public FixedIncome faceValue(Double faceValue) { + + this.faceValue = faceValue; + return this; + } + + /** + * The face value that is paid upon maturity of the fixed income security, per unit of security. + * @return faceValue + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The face value that is paid upon maturity of the fixed income security, per unit of security.") + + public Double getFaceValue() { + return faceValue; + } + + + public void setFaceValue(Double faceValue) { + this.faceValue = faceValue; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FixedIncome fixedIncome = (FixedIncome) o; + return Objects.equals(this.yieldRate, fixedIncome.yieldRate) && + Objects.equals(this.maturityDate, fixedIncome.maturityDate) && + Objects.equals(this.issueDate, fixedIncome.issueDate) && + Objects.equals(this.faceValue, fixedIncome.faceValue); + } + + @Override + public int hashCode() { + return Objects.hash(yieldRate, maturityDate, issueDate, faceValue); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FixedIncome {\n"); + sb.append(" yieldRate: ").append(toIndentedString(yieldRate)).append("\n"); + sb.append(" maturityDate: ").append(toIndentedString(maturityDate)).append("\n"); + sb.append(" issueDate: ").append(toIndentedString(issueDate)).append("\n"); + sb.append(" faceValue: ").append(toIndentedString(faceValue)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ForecastedMonthlyIncome.java b/src/main/java/com/plaid/client/model/ForecastedMonthlyIncome.java new file mode 100644 index 0000000000..6c8cfc5f12 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ForecastedMonthlyIncome.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * An object representing the predicted average monthly net income amount. This amount reflects the funds deposited into the account and may not include any withheld income such as taxes or other payroll deductions + */ +@ApiModel(description = "An object representing the predicted average monthly net income amount. This amount reflects the funds deposited into the account and may not include any withheld income such as taxes or other payroll deductions") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ForecastedMonthlyIncome { + public static final String SERIALIZED_NAME_BASELINE_AMOUNT = "baseline_amount"; + @SerializedName(SERIALIZED_NAME_BASELINE_AMOUNT) + private Double baselineAmount; + + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + + public ForecastedMonthlyIncome baselineAmount(Double baselineAmount) { + + this.baselineAmount = baselineAmount; + return this; + } + + /** + * The forecasted monthly income at the time of subscription + * @return baselineAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The forecasted monthly income at the time of subscription") + + public Double getBaselineAmount() { + return baselineAmount; + } + + + public void setBaselineAmount(Double baselineAmount) { + this.baselineAmount = baselineAmount; + } + + + public ForecastedMonthlyIncome currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * The current forecasted monthly income + * @return currentAmount + **/ + @ApiModelProperty(required = true, value = "The current forecasted monthly income") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ForecastedMonthlyIncome forecastedMonthlyIncome = (ForecastedMonthlyIncome) o; + return Objects.equals(this.baselineAmount, forecastedMonthlyIncome.baselineAmount) && + Objects.equals(this.currentAmount, forecastedMonthlyIncome.currentAmount); + } + + @Override + public int hashCode() { + return Objects.hash(baselineAmount, currentAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ForecastedMonthlyIncome {\n"); + sb.append(" baselineAmount: ").append(toIndentedString(baselineAmount)).append("\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Form1099Type.java b/src/main/java/com/plaid/client/model/Form1099Type.java new file mode 100644 index 0000000000..d75972e641 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Form1099Type.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Form 1099 Type + */ +@JsonAdapter(Form1099Type.Adapter.class) +public enum Form1099Type { + + UNKNOWN("FORM_1099_TYPE_UNKNOWN"), + + MISC("FORM_1099_TYPE_MISC"), + + K("FORM_1099_TYPE_K"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + Form1099Type(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static Form1099Type fromValue(String value) { + for (Form1099Type b : Form1099Type.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return Form1099Type.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final Form1099Type enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public Form1099Type read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return Form1099Type.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ForwardedJSONResponse.java b/src/main/java/com/plaid/client/model/ForwardedJSONResponse.java new file mode 100644 index 0000000000..dc84d2bb65 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ForwardedJSONResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An arbitrary JSON payload sent to or received from the Plaid server. Internal use only. + */ +@ApiModel(description = "An arbitrary JSON payload sent to or received from the Plaid server. Internal use only.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ForwardedJSONResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ForwardedJSONResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ForwardedJSONResponse forwardedJSONResponse = (ForwardedJSONResponse) o; + return Objects.equals(this.requestId, forwardedJSONResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ForwardedJSONResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FraudAmount.java b/src/main/java/com/plaid/client/model/FraudAmount.java new file mode 100644 index 0000000000..a914759b38 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FraudAmount.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ISOCurrencyCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The amount and currency of the fraud or attempted fraud. `fraud_amount` should be omitted to indicate an unknown fraud amount. + */ +@ApiModel(description = "The amount and currency of the fraud or attempted fraud. `fraud_amount` should be omitted to indicate an unknown fraud amount.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FraudAmount { + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private ISOCurrencyCode isoCurrencyCode; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Double value; + + + public FraudAmount isoCurrencyCode(ISOCurrencyCode isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * Get isoCurrencyCode + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "") + + public ISOCurrencyCode getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(ISOCurrencyCode isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public FraudAmount value(Double value) { + + this.value = value; + return this; + } + + /** + * The amount value. This value can be 0 to indicate no money was lost. Must not contain more than two digits of precision (e.g., `1.23`). + * @return value + **/ + @ApiModelProperty(example = "100", required = true, value = "The amount value. This value can be 0 to indicate no money was lost. Must not contain more than two digits of precision (e.g., `1.23`).") + + public Double getValue() { + return value; + } + + + public void setValue(Double value) { + this.value = value; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FraudAmount fraudAmount = (FraudAmount) o; + return Objects.equals(this.isoCurrencyCode, fraudAmount.isoCurrencyCode) && + Objects.equals(this.value, fraudAmount.value); + } + + @Override + public int hashCode() { + return Objects.hash(isoCurrencyCode, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FraudAmount {\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FraudAnalysisDetails.java b/src/main/java/com/plaid/client/model/FraudAnalysisDetails.java new file mode 100644 index 0000000000..510eaf746d --- /dev/null +++ b/src/main/java/com/plaid/client/model/FraudAnalysisDetails.java @@ -0,0 +1,268 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FraudCheckOutcome; +import com.plaid.client.model.FraudCheckOutcomeWithNoData; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details about the fraud analysis performed on the document. + */ +@ApiModel(description = "Details about the fraud analysis performed on the document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class FraudAnalysisDetails { + public static final String SERIALIZED_NAME_TYPE_SUPPORTED = "type_supported"; + @SerializedName(SERIALIZED_NAME_TYPE_SUPPORTED) + private FraudCheckOutcome typeSupported; + + public static final String SERIALIZED_NAME_PORTRAIT_PRESENCE_CHECK = "portrait_presence_check"; + @SerializedName(SERIALIZED_NAME_PORTRAIT_PRESENCE_CHECK) + private FraudCheckOutcome portraitPresenceCheck; + + public static final String SERIALIZED_NAME_PORTRAIT_DETAILS_CHECK = "portrait_details_check"; + @SerializedName(SERIALIZED_NAME_PORTRAIT_DETAILS_CHECK) + private FraudCheckOutcome portraitDetailsCheck; + + public static final String SERIALIZED_NAME_IMAGE_COMPOSITION_CHECK = "image_composition_check"; + @SerializedName(SERIALIZED_NAME_IMAGE_COMPOSITION_CHECK) + private FraudCheckOutcome imageCompositionCheck; + + public static final String SERIALIZED_NAME_INTEGRITY_CHECK = "integrity_check"; + @SerializedName(SERIALIZED_NAME_INTEGRITY_CHECK) + private FraudCheckOutcome integrityCheck; + + public static final String SERIALIZED_NAME_DETAIL_CHECK = "detail_check"; + @SerializedName(SERIALIZED_NAME_DETAIL_CHECK) + private FraudCheckOutcome detailCheck; + + public static final String SERIALIZED_NAME_ISSUE_DATE_CHECK = "issue_date_check"; + @SerializedName(SERIALIZED_NAME_ISSUE_DATE_CHECK) + private FraudCheckOutcomeWithNoData issueDateCheck; + + + public FraudAnalysisDetails typeSupported(FraudCheckOutcome typeSupported) { + + this.typeSupported = typeSupported; + return this; + } + + /** + * Whether the submitted document type is supported for fraud analysis. `success` - The document type is supported. `failed` - The document type is not supported. + * @return typeSupported + **/ + @ApiModelProperty(required = true, value = "Whether the submitted document type is supported for fraud analysis. `success` - The document type is supported. `failed` - The document type is not supported.") + + public FraudCheckOutcome getTypeSupported() { + return typeSupported; + } + + + public void setTypeSupported(FraudCheckOutcome typeSupported) { + this.typeSupported = typeSupported; + } + + + public FraudAnalysisDetails portraitPresenceCheck(FraudCheckOutcome portraitPresenceCheck) { + + this.portraitPresenceCheck = portraitPresenceCheck; + return this; + } + + /** + * The outcome of the portrait presence check. `success` - A portrait was detected. `failed` - No portrait was detected. + * @return portraitPresenceCheck + **/ + @ApiModelProperty(required = true, value = "The outcome of the portrait presence check. `success` - A portrait was detected. `failed` - No portrait was detected.") + + public FraudCheckOutcome getPortraitPresenceCheck() { + return portraitPresenceCheck; + } + + + public void setPortraitPresenceCheck(FraudCheckOutcome portraitPresenceCheck) { + this.portraitPresenceCheck = portraitPresenceCheck; + } + + + public FraudAnalysisDetails portraitDetailsCheck(FraudCheckOutcome portraitDetailsCheck) { + + this.portraitDetailsCheck = portraitDetailsCheck; + return this; + } + + /** + * The outcome of the portrait details check including photo embedding and face landmark checks. `success` - The portrait passed all validity checks. `failed` - The portrait did not pass one or more validity checks. + * @return portraitDetailsCheck + **/ + @ApiModelProperty(required = true, value = "The outcome of the portrait details check including photo embedding and face landmark checks. `success` - The portrait passed all validity checks. `failed` - The portrait did not pass one or more validity checks.") + + public FraudCheckOutcome getPortraitDetailsCheck() { + return portraitDetailsCheck; + } + + + public void setPortraitDetailsCheck(FraudCheckOutcome portraitDetailsCheck) { + this.portraitDetailsCheck = portraitDetailsCheck; + } + + + public FraudAnalysisDetails imageCompositionCheck(FraudCheckOutcome imageCompositionCheck) { + + this.imageCompositionCheck = imageCompositionCheck; + return this; + } + + /** + * The outcome of the image composition check. `success` - The image is a valid physical document capture. `failed` - The image appears to be a photograph of a screen or a digital forgery. + * @return imageCompositionCheck + **/ + @ApiModelProperty(required = true, value = "The outcome of the image composition check. `success` - The image is a valid physical document capture. `failed` - The image appears to be a photograph of a screen or a digital forgery.") + + public FraudCheckOutcome getImageCompositionCheck() { + return imageCompositionCheck; + } + + + public void setImageCompositionCheck(FraudCheckOutcome imageCompositionCheck) { + this.imageCompositionCheck = imageCompositionCheck; + } + + + public FraudAnalysisDetails integrityCheck(FraudCheckOutcome integrityCheck) { + + this.integrityCheck = integrityCheck; + return this; + } + + /** + * The outcome of the integrity check for document security elements. `success` - Data is consistent across all checked security elements. `failed` - Inconsistencies were detected across one or more security elements. + * @return integrityCheck + **/ + @ApiModelProperty(required = true, value = "The outcome of the integrity check for document security elements. `success` - Data is consistent across all checked security elements. `failed` - Inconsistencies were detected across one or more security elements.") + + public FraudCheckOutcome getIntegrityCheck() { + return integrityCheck; + } + + + public void setIntegrityCheck(FraudCheckOutcome integrityCheck) { + this.integrityCheck = integrityCheck; + } + + + public FraudAnalysisDetails detailCheck(FraudCheckOutcome detailCheck) { + + this.detailCheck = detailCheck; + return this; + } + + /** + * The outcome of the document detail check for correct styling and layout. `success` - The document passed all authenticity checks. `failed` - The document did not pass one or more authenticity checks. + * @return detailCheck + **/ + @ApiModelProperty(required = true, value = "The outcome of the document detail check for correct styling and layout. `success` - The document passed all authenticity checks. `failed` - The document did not pass one or more authenticity checks.") + + public FraudCheckOutcome getDetailCheck() { + return detailCheck; + } + + + public void setDetailCheck(FraudCheckOutcome detailCheck) { + this.detailCheck = detailCheck; + } + + + public FraudAnalysisDetails issueDateCheck(FraudCheckOutcomeWithNoData issueDateCheck) { + + this.issueDateCheck = issueDateCheck; + return this; + } + + /** + * The outcome of the issue date validity check. `success` - The issue date is valid. `failed` - The issue date is invalid or could not be verified. `no_data` - The check could not be performed due to insufficient data. + * @return issueDateCheck + **/ + @ApiModelProperty(required = true, value = "The outcome of the issue date validity check. `success` - The issue date is valid. `failed` - The issue date is invalid or could not be verified. `no_data` - The check could not be performed due to insufficient data.") + + public FraudCheckOutcomeWithNoData getIssueDateCheck() { + return issueDateCheck; + } + + + public void setIssueDateCheck(FraudCheckOutcomeWithNoData issueDateCheck) { + this.issueDateCheck = issueDateCheck; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FraudAnalysisDetails fraudAnalysisDetails = (FraudAnalysisDetails) o; + return Objects.equals(this.typeSupported, fraudAnalysisDetails.typeSupported) && + Objects.equals(this.portraitPresenceCheck, fraudAnalysisDetails.portraitPresenceCheck) && + Objects.equals(this.portraitDetailsCheck, fraudAnalysisDetails.portraitDetailsCheck) && + Objects.equals(this.imageCompositionCheck, fraudAnalysisDetails.imageCompositionCheck) && + Objects.equals(this.integrityCheck, fraudAnalysisDetails.integrityCheck) && + Objects.equals(this.detailCheck, fraudAnalysisDetails.detailCheck) && + Objects.equals(this.issueDateCheck, fraudAnalysisDetails.issueDateCheck); + } + + @Override + public int hashCode() { + return Objects.hash(typeSupported, portraitPresenceCheck, portraitDetailsCheck, imageCompositionCheck, integrityCheck, detailCheck, issueDateCheck); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FraudAnalysisDetails {\n"); + sb.append(" typeSupported: ").append(toIndentedString(typeSupported)).append("\n"); + sb.append(" portraitPresenceCheck: ").append(toIndentedString(portraitPresenceCheck)).append("\n"); + sb.append(" portraitDetailsCheck: ").append(toIndentedString(portraitDetailsCheck)).append("\n"); + sb.append(" imageCompositionCheck: ").append(toIndentedString(imageCompositionCheck)).append("\n"); + sb.append(" integrityCheck: ").append(toIndentedString(integrityCheck)).append("\n"); + sb.append(" detailCheck: ").append(toIndentedString(detailCheck)).append("\n"); + sb.append(" issueDateCheck: ").append(toIndentedString(issueDateCheck)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/FraudCheckOutcome.java b/src/main/java/com/plaid/client/model/FraudCheckOutcome.java new file mode 100644 index 0000000000..53ad92dfa6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FraudCheckOutcome.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The outcome of the fraud check. `success` - The check passed. `failed` - The check did not pass. + */ +@JsonAdapter(FraudCheckOutcome.Adapter.class) +public enum FraudCheckOutcome { + + SUCCESS("success"), + + FAILED("failed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FraudCheckOutcome(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FraudCheckOutcome fromValue(String value) { + for (FraudCheckOutcome b : FraudCheckOutcome.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FraudCheckOutcome.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FraudCheckOutcome enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FraudCheckOutcome read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FraudCheckOutcome.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/FraudCheckOutcomeWithNoData.java b/src/main/java/com/plaid/client/model/FraudCheckOutcomeWithNoData.java new file mode 100644 index 0000000000..b1a436b1a3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/FraudCheckOutcomeWithNoData.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The outcome of the fraud check. `success` - The check passed. `failed` - The check did not pass. `no_data` - The check could not be performed due to insufficient data. + */ +@JsonAdapter(FraudCheckOutcomeWithNoData.Adapter.class) +public enum FraudCheckOutcomeWithNoData { + + SUCCESS("success"), + + FAILED("failed"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + FraudCheckOutcomeWithNoData(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FraudCheckOutcomeWithNoData fromValue(String value) { + for (FraudCheckOutcomeWithNoData b : FraudCheckOutcomeWithNoData.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return FraudCheckOutcomeWithNoData.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FraudCheckOutcomeWithNoData enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FraudCheckOutcomeWithNoData read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FraudCheckOutcomeWithNoData.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/GSEReportType.java b/src/main/java/com/plaid/client/model/GSEReportType.java new file mode 100644 index 0000000000..7d5ebc51e4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/GSEReportType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The types of GSE Reports supported by the Plaid API + */ +@JsonAdapter(GSEReportType.Adapter.class) +public enum GSEReportType { + + VOA("VOA"), + + EMPLOYMENT_REFRESH("EMPLOYMENT_REFRESH"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + GSEReportType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static GSEReportType fromValue(String value) { + for (GSEReportType b : GSEReportType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return GSEReportType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final GSEReportType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public GSEReportType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return GSEReportType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/GamblingIndicators.java b/src/main/java/com/plaid/client/model/GamblingIndicators.java new file mode 100644 index 0000000000..f42fc80777 --- /dev/null +++ b/src/main/java/com/plaid/client/model/GamblingIndicators.java @@ -0,0 +1,351 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MonthlyAverage; +import com.plaid.client.model.MonthlySummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Insights into gambling-related transactions, including frequency, amounts, and top merchants. + */ +@ApiModel(description = "Insights into gambling-related transactions, including frequency, amounts, and top merchants.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class GamblingIndicators { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_MONTHLY_AVERAGE = "monthly_average"; + @SerializedName(SERIALIZED_NAME_MONTHLY_AVERAGE) + private MonthlyAverage monthlyAverage; + + public static final String SERIALIZED_NAME_TOP_MERCHANTS = "top_merchants"; + @SerializedName(SERIALIZED_NAME_TOP_MERCHANTS) + private List topMerchants = null; + + public static final String SERIALIZED_NAME_TRANSACTIONS_COUNT = "transactions_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_COUNT) + private Integer transactionsCount; + + public static final String SERIALIZED_NAME_MONTHLY_SUMMARIES = "monthly_summaries"; + @SerializedName(SERIALIZED_NAME_MONTHLY_SUMMARIES) + private List monthlySummaries = null; + + public static final String SERIALIZED_NAME_DAYS_SINCE_LAST_OCCURRENCE = "days_since_last_occurrence"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_LAST_OCCURRENCE) + private Integer daysSinceLastOccurrence; + + public static final String SERIALIZED_NAME_PERCENTAGE_OF_INCOME = "percentage_of_income"; + @SerializedName(SERIALIZED_NAME_PERCENTAGE_OF_INCOME) + private Double percentageOfIncome; + + + public GamblingIndicators amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The total value of transactions that fall into the `GAMBLING` credit category, across all the accounts in the report. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total value of transactions that fall into the `GAMBLING` credit category, across all the accounts in the report.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public GamblingIndicators isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public GamblingIndicators unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public GamblingIndicators monthlyAverage(MonthlyAverage monthlyAverage) { + + this.monthlyAverage = monthlyAverage; + return this; + } + + /** + * Get monthlyAverage + * @return monthlyAverage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MonthlyAverage getMonthlyAverage() { + return monthlyAverage; + } + + + public void setMonthlyAverage(MonthlyAverage monthlyAverage) { + this.monthlyAverage = monthlyAverage; + } + + + public GamblingIndicators topMerchants(List topMerchants) { + + this.topMerchants = topMerchants; + return this; + } + + public GamblingIndicators addTopMerchantsItem(String topMerchantsItem) { + if (this.topMerchants == null) { + this.topMerchants = new ArrayList<>(); + } + this.topMerchants.add(topMerchantsItem); + return this; + } + + /** + * Up to 3 top merchants that the user had the most transactions for in the given time window, in descending order of total spend. If the user has not spent money on any merchants in the given time window, this list will be empty. + * @return topMerchants + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Up to 3 top merchants that the user had the most transactions for in the given time window, in descending order of total spend. If the user has not spent money on any merchants in the given time window, this list will be empty.") + + public List getTopMerchants() { + return topMerchants; + } + + + public void setTopMerchants(List topMerchants) { + this.topMerchants = topMerchants; + } + + + public GamblingIndicators transactionsCount(Integer transactionsCount) { + + this.transactionsCount = transactionsCount; + return this; + } + + /** + * The total number of transactions that fall into the `GAMBLING` credit category, across all the accounts in the report. + * @return transactionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of transactions that fall into the `GAMBLING` credit category, across all the accounts in the report.") + + public Integer getTransactionsCount() { + return transactionsCount; + } + + + public void setTransactionsCount(Integer transactionsCount) { + this.transactionsCount = transactionsCount; + } + + + public GamblingIndicators monthlySummaries(List monthlySummaries) { + + this.monthlySummaries = monthlySummaries; + return this; + } + + public GamblingIndicators addMonthlySummariesItem(MonthlySummary monthlySummariesItem) { + if (this.monthlySummaries == null) { + this.monthlySummaries = new ArrayList<>(); + } + this.monthlySummaries.add(monthlySummariesItem); + return this; + } + + /** + * The monthly summaries of the transactions that fall into the `GAMBLING` category within the given time window, across all the accounts in the report. + * @return monthlySummaries + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The monthly summaries of the transactions that fall into the `GAMBLING` category within the given time window, across all the accounts in the report.") + + public List getMonthlySummaries() { + return monthlySummaries; + } + + + public void setMonthlySummaries(List monthlySummaries) { + this.monthlySummaries = monthlySummaries; + } + + + public GamblingIndicators daysSinceLastOccurrence(Integer daysSinceLastOccurrence) { + + this.daysSinceLastOccurrence = daysSinceLastOccurrence; + return this; + } + + /** + * The number of days since the last transaction that falls into the `GAMBLING` category, across all the accounts in the report. + * @return daysSinceLastOccurrence + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days since the last transaction that falls into the `GAMBLING` category, across all the accounts in the report.") + + public Integer getDaysSinceLastOccurrence() { + return daysSinceLastOccurrence; + } + + + public void setDaysSinceLastOccurrence(Integer daysSinceLastOccurrence) { + this.daysSinceLastOccurrence = daysSinceLastOccurrence; + } + + + public GamblingIndicators percentageOfIncome(Double percentageOfIncome) { + + this.percentageOfIncome = percentageOfIncome; + return this; + } + + /** + * The percentage of the user's monthly inflows that was spent on transactions that fall into the `GAMBLING` category within the given time window, across all the accounts in the report. For example, a value of 100 indicates that 100% of the inflows were spent on transactions that fall into the `GAMBLING` credit category. If there's no available income for the given time period, this field value will be `-1` + * @return percentageOfIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The percentage of the user's monthly inflows that was spent on transactions that fall into the `GAMBLING` category within the given time window, across all the accounts in the report. For example, a value of 100 indicates that 100% of the inflows were spent on transactions that fall into the `GAMBLING` credit category. If there's no available income for the given time period, this field value will be `-1`") + + public Double getPercentageOfIncome() { + return percentageOfIncome; + } + + + public void setPercentageOfIncome(Double percentageOfIncome) { + this.percentageOfIncome = percentageOfIncome; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GamblingIndicators gamblingIndicators = (GamblingIndicators) o; + return Objects.equals(this.amount, gamblingIndicators.amount) && + Objects.equals(this.isoCurrencyCode, gamblingIndicators.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, gamblingIndicators.unofficialCurrencyCode) && + Objects.equals(this.monthlyAverage, gamblingIndicators.monthlyAverage) && + Objects.equals(this.topMerchants, gamblingIndicators.topMerchants) && + Objects.equals(this.transactionsCount, gamblingIndicators.transactionsCount) && + Objects.equals(this.monthlySummaries, gamblingIndicators.monthlySummaries) && + Objects.equals(this.daysSinceLastOccurrence, gamblingIndicators.daysSinceLastOccurrence) && + Objects.equals(this.percentageOfIncome, gamblingIndicators.percentageOfIncome); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode, monthlyAverage, topMerchants, transactionsCount, monthlySummaries, daysSinceLastOccurrence, percentageOfIncome); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class GamblingIndicators {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" monthlyAverage: ").append(toIndentedString(monthlyAverage)).append("\n"); + sb.append(" topMerchants: ").append(toIndentedString(topMerchants)).append("\n"); + sb.append(" transactionsCount: ").append(toIndentedString(transactionsCount)).append("\n"); + sb.append(" monthlySummaries: ").append(toIndentedString(monthlySummaries)).append("\n"); + sb.append(" daysSinceLastOccurrence: ").append(toIndentedString(daysSinceLastOccurrence)).append("\n"); + sb.append(" percentageOfIncome: ").append(toIndentedString(percentageOfIncome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/GenericScreeningHitLocationItems.java b/src/main/java/com/plaid/client/model/GenericScreeningHitLocationItems.java new file mode 100644 index 0000000000..d3221d0c50 --- /dev/null +++ b/src/main/java/com/plaid/client/model/GenericScreeningHitLocationItems.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MatchSummary; +import com.plaid.client.model.WatchlistScreeningHitLocations; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analyzed location information for the associated hit + */ +@ApiModel(description = "Analyzed location information for the associated hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class GenericScreeningHitLocationItems { + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private MatchSummary analysis; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private WatchlistScreeningHitLocations data; + + + public GenericScreeningHitLocationItems analysis(MatchSummary analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummary getAnalysis() { + return analysis; + } + + + public void setAnalysis(MatchSummary analysis) { + this.analysis = analysis; + } + + + public GenericScreeningHitLocationItems data(WatchlistScreeningHitLocations data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WatchlistScreeningHitLocations getData() { + return data; + } + + + public void setData(WatchlistScreeningHitLocations data) { + this.data = data; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GenericScreeningHitLocationItems genericScreeningHitLocationItems = (GenericScreeningHitLocationItems) o; + return Objects.equals(this.analysis, genericScreeningHitLocationItems.analysis) && + Objects.equals(this.data, genericScreeningHitLocationItems.data); + } + + @Override + public int hashCode() { + return Objects.hash(analysis, data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class GenericScreeningHitLocationItems {\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/GetConsentsResponse.java b/src/main/java/com/plaid/client/model/GetConsentsResponse.java new file mode 100644 index 0000000000..d4dfb11a8a --- /dev/null +++ b/src/main/java/com/plaid/client/model/GetConsentsResponse.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FDXConsentGrant; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * GetConsentsResponse defines the response schema for `/fdx/consents` + */ +@ApiModel(description = "GetConsentsResponse defines the response schema for `/fdx/consents`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class GetConsentsResponse { + public static final String SERIALIZED_NAME_CONSENT_GRANTS = "consent_grants"; + @SerializedName(SERIALIZED_NAME_CONSENT_GRANTS) + private List consentGrants = new ArrayList<>(); + + + public GetConsentsResponse consentGrants(List consentGrants) { + + this.consentGrants = consentGrants; + return this; + } + + public GetConsentsResponse addConsentGrantsItem(FDXConsentGrant consentGrantsItem) { + this.consentGrants.add(consentGrantsItem); + return this; + } + + /** + * Consent grants matching the customerId (and optional status) filter. + * @return consentGrants + **/ + @ApiModelProperty(required = true, value = "Consent grants matching the customerId (and optional status) filter.") + + public List getConsentGrants() { + return consentGrants; + } + + + public void setConsentGrants(List consentGrants) { + this.consentGrants = consentGrants; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetConsentsResponse getConsentsResponse = (GetConsentsResponse) o; + return Objects.equals(this.consentGrants, getConsentsResponse.consentGrants); + } + + @Override + public int hashCode() { + return Objects.hash(consentGrants); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class GetConsentsResponse {\n"); + sb.append(" consentGrants: ").append(toIndentedString(consentGrants)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/GetRecipientResponse.java b/src/main/java/com/plaid/client/model/GetRecipientResponse.java new file mode 100644 index 0000000000..ea577fa8d2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/GetRecipientResponse.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FDXRecipientMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * GetRecipientResponse defines the response schema for `/fdx/recipient/{recipientId}` + */ +@ApiModel(description = "GetRecipientResponse defines the response schema for `/fdx/recipient/{recipientId}`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class GetRecipientResponse { + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_CLIENT_NAME = "client_name"; + @SerializedName(SERIALIZED_NAME_CLIENT_NAME) + private String clientName; + + public static final String SERIALIZED_NAME_LOGO_URI = "logo_uri"; + @SerializedName(SERIALIZED_NAME_LOGO_URI) + private String logoUri; + + public static final String SERIALIZED_NAME_THIRD_PARTY_LEGAL_NAME = "third_party_legal_name"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_LEGAL_NAME) + private String thirdPartyLegalName; + + + public GetRecipientResponse recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The recipient identifier + * @return recipientId + **/ + @ApiModelProperty(required = true, value = "The recipient identifier") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public GetRecipientResponse clientName(String clientName) { + + this.clientName = clientName; + return this; + } + + /** + * The recipient name displayed by the Data Provider during the consent flow + * @return clientName + **/ + @ApiModelProperty(required = true, value = "The recipient name displayed by the Data Provider during the consent flow") + + public String getClientName() { + return clientName; + } + + + public void setClientName(String clientName) { + this.clientName = clientName; + } + + + public GetRecipientResponse logoUri(String logoUri) { + + this.logoUri = logoUri; + return this; + } + + /** + * Data Recipient Logo URL location + * @return logoUri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Data Recipient Logo URL location") + + public String getLogoUri() { + return logoUri; + } + + + public void setLogoUri(String logoUri) { + this.logoUri = logoUri; + } + + + public GetRecipientResponse thirdPartyLegalName(String thirdPartyLegalName) { + + this.thirdPartyLegalName = thirdPartyLegalName; + return this; + } + + /** + * The legal name of the recipient + * @return thirdPartyLegalName + **/ + @ApiModelProperty(required = true, value = "The legal name of the recipient") + + public String getThirdPartyLegalName() { + return thirdPartyLegalName; + } + + + public void setThirdPartyLegalName(String thirdPartyLegalName) { + this.thirdPartyLegalName = thirdPartyLegalName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetRecipientResponse getRecipientResponse = (GetRecipientResponse) o; + return Objects.equals(this.recipientId, getRecipientResponse.recipientId) && + Objects.equals(this.clientName, getRecipientResponse.clientName) && + Objects.equals(this.logoUri, getRecipientResponse.logoUri) && + Objects.equals(this.thirdPartyLegalName, getRecipientResponse.thirdPartyLegalName); + } + + @Override + public int hashCode() { + return Objects.hash(recipientId, clientName, logoUri, thirdPartyLegalName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class GetRecipientResponse {\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" clientName: ").append(toIndentedString(clientName)).append("\n"); + sb.append(" logoUri: ").append(toIndentedString(logoUri)).append("\n"); + sb.append(" thirdPartyLegalName: ").append(toIndentedString(thirdPartyLegalName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/GetRecipientsResponse.java b/src/main/java/com/plaid/client/model/GetRecipientsResponse.java new file mode 100644 index 0000000000..32eef15ddb --- /dev/null +++ b/src/main/java/com/plaid/client/model/GetRecipientsResponse.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ExtendedRecipientMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * GetRecipientsResponse defines the response schema for `/fdx/recipients` + */ +@ApiModel(description = "GetRecipientsResponse defines the response schema for `/fdx/recipients`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class GetRecipientsResponse { + public static final String SERIALIZED_NAME_RECIPIENTS = "recipients"; + @SerializedName(SERIALIZED_NAME_RECIPIENTS) + private List recipients = new ArrayList<>(); + + + public GetRecipientsResponse recipients(List recipients) { + + this.recipients = recipients; + return this; + } + + public GetRecipientsResponse addRecipientsItem(ExtendedRecipientMetadata recipientsItem) { + this.recipients.add(recipientsItem); + return this; + } + + /** + * Get recipients + * @return recipients + **/ + @ApiModelProperty(required = true, value = "") + + public List getRecipients() { + return recipients; + } + + + public void setRecipients(List recipients) { + this.recipients = recipients; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetRecipientsResponse getRecipientsResponse = (GetRecipientsResponse) o; + return Objects.equals(this.recipients, getRecipientsResponse.recipients); + } + + @Override + public int hashCode() { + return Objects.hash(recipients); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class GetRecipientsResponse {\n"); + sb.append(" recipients: ").append(toIndentedString(recipients)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/HealthIncident.java b/src/main/java/com/plaid/client/model/HealthIncident.java new file mode 100644 index 0000000000..b584ab938c --- /dev/null +++ b/src/main/java/com/plaid/client/model/HealthIncident.java @@ -0,0 +1,192 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncidentUpdate; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * A status health incident + */ +@ApiModel(description = "A status health incident") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class HealthIncident { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private OffsetDateTime startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private OffsetDateTime endDate; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + private String title; + + public static final String SERIALIZED_NAME_INCIDENT_UPDATES = "incident_updates"; + @SerializedName(SERIALIZED_NAME_INCIDENT_UPDATES) + private List incidentUpdates = new ArrayList<>(); + + + public HealthIncident startDate(OffsetDateTime startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date of the incident, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2020-10-30T15:26:48Z\"`. + * @return startDate + **/ + @ApiModelProperty(required = true, value = "The start date of the incident, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2020-10-30T15:26:48Z\"`.") + + public OffsetDateTime getStartDate() { + return startDate; + } + + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + + public HealthIncident endDate(OffsetDateTime endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end date of the incident, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2020-10-30T15:26:48Z\"`. + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end date of the incident, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2020-10-30T15:26:48Z\"`.") + + public OffsetDateTime getEndDate() { + return endDate; + } + + + public void setEndDate(OffsetDateTime endDate) { + this.endDate = endDate; + } + + + public HealthIncident title(String title) { + + this.title = title; + return this; + } + + /** + * The title of the incident + * @return title + **/ + @ApiModelProperty(required = true, value = "The title of the incident") + + public String getTitle() { + return title; + } + + + public void setTitle(String title) { + this.title = title; + } + + + public HealthIncident incidentUpdates(List incidentUpdates) { + + this.incidentUpdates = incidentUpdates; + return this; + } + + public HealthIncident addIncidentUpdatesItem(IncidentUpdate incidentUpdatesItem) { + this.incidentUpdates.add(incidentUpdatesItem); + return this; + } + + /** + * Updates on the health incident. + * @return incidentUpdates + **/ + @ApiModelProperty(required = true, value = "Updates on the health incident.") + + public List getIncidentUpdates() { + return incidentUpdates; + } + + + public void setIncidentUpdates(List incidentUpdates) { + this.incidentUpdates = incidentUpdates; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HealthIncident healthIncident = (HealthIncident) o; + return Objects.equals(this.startDate, healthIncident.startDate) && + Objects.equals(this.endDate, healthIncident.endDate) && + Objects.equals(this.title, healthIncident.title) && + Objects.equals(this.incidentUpdates, healthIncident.incidentUpdates); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate, title, incidentUpdates); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HealthIncident {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" incidentUpdates: ").append(toIndentedString(incidentUpdates)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/HiddenMatchSummaryCode.java b/src/main/java/com/plaid/client/model/HiddenMatchSummaryCode.java new file mode 100644 index 0000000000..a5ea0dc045 --- /dev/null +++ b/src/main/java/com/plaid/client/model/HiddenMatchSummaryCode.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An enum indicating the match type between data provided by user and data checked against an external data source. `match` indicates that the provided input data was a strong match against external data. `partial_match` indicates the data approximately matched against external data. For example, \"Knope\" vs. \"Knope-Wyatt\" for last name. `no_match` indicates that Plaid was able to perform a check against an external data source and it did not match the provided input data. `no_data` indicates that Plaid was unable to find external data to compare against the provided input data. `no_input` indicates that Plaid was unable to perform a check because no information was provided for this field by the end user. + */ +@JsonAdapter(HiddenMatchSummaryCode.Adapter.class) +public enum HiddenMatchSummaryCode { + + MATCH("match"), + + PARTIAL_MATCH("partial_match"), + + NO_MATCH("no_match"), + + NO_DATA("no_data"), + + NO_INPUT("no_input"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + HiddenMatchSummaryCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static HiddenMatchSummaryCode fromValue(String value) { + for (HiddenMatchSummaryCode b : HiddenMatchSummaryCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return HiddenMatchSummaryCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final HiddenMatchSummaryCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public HiddenMatchSummaryCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return HiddenMatchSummaryCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/HistoricalAnnualIncome.java b/src/main/java/com/plaid/client/model/HistoricalAnnualIncome.java new file mode 100644 index 0000000000..99956d41c3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/HistoricalAnnualIncome.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * An object representing the historical annual income amount. + */ +@ApiModel(description = "An object representing the historical annual income amount.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class HistoricalAnnualIncome { + public static final String SERIALIZED_NAME_BASELINE_AMOUNT = "baseline_amount"; + @SerializedName(SERIALIZED_NAME_BASELINE_AMOUNT) + private Double baselineAmount; + + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + + public HistoricalAnnualIncome baselineAmount(Double baselineAmount) { + + this.baselineAmount = baselineAmount; + return this; + } + + /** + * The historical annual income at the time of subscription + * @return baselineAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The historical annual income at the time of subscription") + + public Double getBaselineAmount() { + return baselineAmount; + } + + + public void setBaselineAmount(Double baselineAmount) { + this.baselineAmount = baselineAmount; + } + + + public HistoricalAnnualIncome currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * The current historical annual income + * @return currentAmount + **/ + @ApiModelProperty(required = true, value = "The current historical annual income") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HistoricalAnnualIncome historicalAnnualIncome = (HistoricalAnnualIncome) o; + return Objects.equals(this.baselineAmount, historicalAnnualIncome.baselineAmount) && + Objects.equals(this.currentAmount, historicalAnnualIncome.currentAmount); + } + + @Override + public int hashCode() { + return Objects.hash(baselineAmount, currentAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HistoricalAnnualIncome {\n"); + sb.append(" baselineAmount: ").append(toIndentedString(baselineAmount)).append("\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/HistoricalBalance.java b/src/main/java/com/plaid/client/model/HistoricalBalance.java new file mode 100644 index 0000000000..e2b0867463 --- /dev/null +++ b/src/main/java/com/plaid/client/model/HistoricalBalance.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An object representing a balance held by an account in the past + */ +@ApiModel(description = "An object representing a balance held by an account in the past") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class HistoricalBalance { + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_CURRENT = "current"; + @SerializedName(SERIALIZED_NAME_CURRENT) + private Double current; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public HistoricalBalance date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The date of the calculated historical balance, in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD) + * @return date + **/ + @ApiModelProperty(required = true, value = "The date of the calculated historical balance, in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD)") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public HistoricalBalance current(Double current) { + + this.current = current; + return this; + } + + /** + * The total amount of funds in the account, calculated from the `current` balance in the `balance` object by subtracting inflows and adding back outflows according to the posted date of each transaction. If the account has any pending transactions, historical balance amounts on or after the date of the earliest pending transaction may differ if retrieved in subsequent Asset Reports as a result of those pending transactions posting. + * @return current + **/ + @ApiModelProperty(required = true, value = "The total amount of funds in the account, calculated from the `current` balance in the `balance` object by subtracting inflows and adding back outflows according to the posted date of each transaction. If the account has any pending transactions, historical balance amounts on or after the date of the earliest pending transaction may differ if retrieved in subsequent Asset Reports as a result of those pending transactions posting.") + + public Double getCurrent() { + return current; + } + + + public void setCurrent(Double current) { + this.current = current; + } + + + public HistoricalBalance isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the balance. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the balance. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public HistoricalBalance unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the balance. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the balance. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HistoricalBalance historicalBalance = (HistoricalBalance) o; + return Objects.equals(this.date, historicalBalance.date) && + Objects.equals(this.current, historicalBalance.current) && + Objects.equals(this.isoCurrencyCode, historicalBalance.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, historicalBalance.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(date, current, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HistoricalBalance {\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" current: ").append(toIndentedString(current)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/HistoricalUpdateWebhook.java b/src/main/java/com/plaid/client/model/HistoricalUpdateWebhook.java new file mode 100644 index 0000000000..721af209a8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/HistoricalUpdateWebhook.java @@ -0,0 +1,242 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Fired when an Item's historical transaction pull is completed and Plaid has prepared as much historical transaction data as possible for the Item. Once this webhook has been fired, transaction data beyond the most recent 30 days can be fetched for the Item. This webhook will also be fired if account selections for the Item are updated, with `new_transactions` set to the number of net new transactions pulled after the account selection update. This webhook is intended for use with `/transactions/get`; if you are using the newer `/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead. + */ +@ApiModel(description = "Fired when an Item's historical transaction pull is completed and Plaid has prepared as much historical transaction data as possible for the Item. Once this webhook has been fired, transaction data beyond the most recent 30 days can be fetched for the Item. This webhook will also be fired if account selections for the Item are updated, with `new_transactions` set to the number of net new transactions pulled after the account selection update. This webhook is intended for use with `/transactions/get`; if you are using the newer `/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class HistoricalUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_NEW_TRANSACTIONS = "new_transactions"; + @SerializedName(SERIALIZED_NAME_NEW_TRANSACTIONS) + private Double newTransactions; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public HistoricalUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public HistoricalUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `HISTORICAL_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`HISTORICAL_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public HistoricalUpdateWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public HistoricalUpdateWebhook newTransactions(Double newTransactions) { + + this.newTransactions = newTransactions; + return this; + } + + /** + * The number of new transactions available + * @return newTransactions + **/ + @ApiModelProperty(required = true, value = "The number of new transactions available") + + public Double getNewTransactions() { + return newTransactions; + } + + + public void setNewTransactions(Double newTransactions) { + this.newTransactions = newTransactions; + } + + + public HistoricalUpdateWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public HistoricalUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HistoricalUpdateWebhook historicalUpdateWebhook = (HistoricalUpdateWebhook) o; + return Objects.equals(this.webhookType, historicalUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, historicalUpdateWebhook.webhookCode) && + Objects.equals(this.error, historicalUpdateWebhook.error) && + Objects.equals(this.newTransactions, historicalUpdateWebhook.newTransactions) && + Objects.equals(this.itemId, historicalUpdateWebhook.itemId) && + Objects.equals(this.environment, historicalUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, error, newTransactions, itemId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HistoricalUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" newTransactions: ").append(toIndentedString(newTransactions)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Holding.java b/src/main/java/com/plaid/client/model/Holding.java new file mode 100644 index 0000000000..e59741e60f --- /dev/null +++ b/src/main/java/com/plaid/client/model/Holding.java @@ -0,0 +1,455 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.HoldingTaxLot; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * A securities holding at an institution. + */ +@ApiModel(description = "A securities holding at an institution.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Holding { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_SECURITY_ID = "security_id"; + @SerializedName(SERIALIZED_NAME_SECURITY_ID) + private String securityId; + + public static final String SERIALIZED_NAME_INSTITUTION_PRICE = "institution_price"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_PRICE) + private Double institutionPrice; + + public static final String SERIALIZED_NAME_INSTITUTION_PRICE_AS_OF = "institution_price_as_of"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_PRICE_AS_OF) + private LocalDate institutionPriceAsOf; + + public static final String SERIALIZED_NAME_INSTITUTION_PRICE_DATETIME = "institution_price_datetime"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_PRICE_DATETIME) + private OffsetDateTime institutionPriceDatetime; + + public static final String SERIALIZED_NAME_INSTITUTION_VALUE = "institution_value"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_VALUE) + private Double institutionValue; + + public static final String SERIALIZED_NAME_COST_BASIS = "cost_basis"; + @SerializedName(SERIALIZED_NAME_COST_BASIS) + private Double costBasis; + + public static final String SERIALIZED_NAME_QUANTITY = "quantity"; + @SerializedName(SERIALIZED_NAME_QUANTITY) + private Double quantity; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_VESTED_QUANTITY = "vested_quantity"; + @SerializedName(SERIALIZED_NAME_VESTED_QUANTITY) + private Double vestedQuantity; + + public static final String SERIALIZED_NAME_VESTED_VALUE = "vested_value"; + @SerializedName(SERIALIZED_NAME_VESTED_VALUE) + private Double vestedValue; + + public static final String SERIALIZED_NAME_TAX_LOTS = "tax_lots"; + @SerializedName(SERIALIZED_NAME_TAX_LOTS) + private List taxLots = null; + + + public Holding accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` associated with the holding. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` associated with the holding.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public Holding securityId(String securityId) { + + this.securityId = securityId; + return this; + } + + /** + * The Plaid `security_id` associated with the holding. Security data is not specific to a user's account; any user who held the same security at the same financial institution at the same time would have identical security data. The `security_id` for the same security will typically be the same across different institutions, but this is not guaranteed. The `security_id` does not typically change, but may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change. + * @return securityId + **/ + @ApiModelProperty(required = true, value = "The Plaid `security_id` associated with the holding. Security data is not specific to a user's account; any user who held the same security at the same financial institution at the same time would have identical security data. The `security_id` for the same security will typically be the same across different institutions, but this is not guaranteed. The `security_id` does not typically change, but may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change.") + + public String getSecurityId() { + return securityId; + } + + + public void setSecurityId(String securityId) { + this.securityId = securityId; + } + + + public Holding institutionPrice(Double institutionPrice) { + + this.institutionPrice = institutionPrice; + return this; + } + + /** + * The last price given by the institution for this security. + * @return institutionPrice + **/ + @ApiModelProperty(required = true, value = "The last price given by the institution for this security.") + + public Double getInstitutionPrice() { + return institutionPrice; + } + + + public void setInstitutionPrice(Double institutionPrice) { + this.institutionPrice = institutionPrice; + } + + + public Holding institutionPriceAsOf(LocalDate institutionPriceAsOf) { + + this.institutionPriceAsOf = institutionPriceAsOf; + return this; + } + + /** + * The date at which `institution_price` was current. + * @return institutionPriceAsOf + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date at which `institution_price` was current.") + + public LocalDate getInstitutionPriceAsOf() { + return institutionPriceAsOf; + } + + + public void setInstitutionPriceAsOf(LocalDate institutionPriceAsOf) { + this.institutionPriceAsOf = institutionPriceAsOf; + } + + + public Holding institutionPriceDatetime(OffsetDateTime institutionPriceDatetime) { + + this.institutionPriceDatetime = institutionPriceDatetime; + return this; + } + + /** + * Date and time at which `institution_price` was current, in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ). This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). + * @return institutionPriceDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Date and time at which `institution_price` was current, in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ). This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). ") + + public OffsetDateTime getInstitutionPriceDatetime() { + return institutionPriceDatetime; + } + + + public void setInstitutionPriceDatetime(OffsetDateTime institutionPriceDatetime) { + this.institutionPriceDatetime = institutionPriceDatetime; + } + + + public Holding institutionValue(Double institutionValue) { + + this.institutionValue = institutionValue; + return this; + } + + /** + * The value of the holding, as reported by the institution. + * @return institutionValue + **/ + @ApiModelProperty(required = true, value = "The value of the holding, as reported by the institution.") + + public Double getInstitutionValue() { + return institutionValue; + } + + + public void setInstitutionValue(Double institutionValue) { + this.institutionValue = institutionValue; + } + + + public Holding costBasis(Double costBasis) { + + this.costBasis = costBasis; + return this; + } + + /** + * The total cost basis of the holding (e.g., the total amount spent to acquire all assets currently in the holding). + * @return costBasis + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total cost basis of the holding (e.g., the total amount spent to acquire all assets currently in the holding).") + + public Double getCostBasis() { + return costBasis; + } + + + public void setCostBasis(Double costBasis) { + this.costBasis = costBasis; + } + + + public Holding quantity(Double quantity) { + + this.quantity = quantity; + return this; + } + + /** + * The total quantity of the asset held, as reported by the financial institution. If the security is an option, `quantity` will reflect the total number of options (typically the number of contracts multiplied by 100), not the number of contracts. + * @return quantity + **/ + @ApiModelProperty(required = true, value = "The total quantity of the asset held, as reported by the financial institution. If the security is an option, `quantity` will reflect the total number of options (typically the number of contracts multiplied by 100), not the number of contracts.") + + public Double getQuantity() { + return quantity; + } + + + public void setQuantity(Double quantity) { + this.quantity = quantity; + } + + + public Holding isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the holding. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the holding. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public Holding unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the holding. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the holding. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. ") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public Holding vestedQuantity(Double vestedQuantity) { + + this.vestedQuantity = vestedQuantity; + return this; + } + + /** + * The total quantity of vested assets held, as reported by the financial institution. Vested assets are only associated with [equities](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-type). + * @return vestedQuantity + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total quantity of vested assets held, as reported by the financial institution. Vested assets are only associated with [equities](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-type).") + + public Double getVestedQuantity() { + return vestedQuantity; + } + + + public void setVestedQuantity(Double vestedQuantity) { + this.vestedQuantity = vestedQuantity; + } + + + public Holding vestedValue(Double vestedValue) { + + this.vestedValue = vestedValue; + return this; + } + + /** + * The value of the vested holdings as reported by the institution. + * @return vestedValue + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The value of the vested holdings as reported by the institution.") + + public Double getVestedValue() { + return vestedValue; + } + + + public void setVestedValue(Double vestedValue) { + this.vestedValue = vestedValue; + } + + + public Holding taxLots(List taxLots) { + + this.taxLots = taxLots; + return this; + } + + public Holding addTaxLotsItem(HoldingTaxLot taxLotsItem) { + if (this.taxLots == null) { + this.taxLots = new ArrayList<>(); + } + this.taxLots.add(taxLotsItem); + return this; + } + + /** + * Per-lot acquisition data for this holding. An empty array indicates the institution does not provide lot-level data. + * @return taxLots + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Per-lot acquisition data for this holding. An empty array indicates the institution does not provide lot-level data.") + + public List getTaxLots() { + return taxLots; + } + + + public void setTaxLots(List taxLots) { + this.taxLots = taxLots; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Holding holding = (Holding) o; + return Objects.equals(this.accountId, holding.accountId) && + Objects.equals(this.securityId, holding.securityId) && + Objects.equals(this.institutionPrice, holding.institutionPrice) && + Objects.equals(this.institutionPriceAsOf, holding.institutionPriceAsOf) && + Objects.equals(this.institutionPriceDatetime, holding.institutionPriceDatetime) && + Objects.equals(this.institutionValue, holding.institutionValue) && + Objects.equals(this.costBasis, holding.costBasis) && + Objects.equals(this.quantity, holding.quantity) && + Objects.equals(this.isoCurrencyCode, holding.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, holding.unofficialCurrencyCode) && + Objects.equals(this.vestedQuantity, holding.vestedQuantity) && + Objects.equals(this.vestedValue, holding.vestedValue) && + Objects.equals(this.taxLots, holding.taxLots); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, securityId, institutionPrice, institutionPriceAsOf, institutionPriceDatetime, institutionValue, costBasis, quantity, isoCurrencyCode, unofficialCurrencyCode, vestedQuantity, vestedValue, taxLots); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Holding {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" securityId: ").append(toIndentedString(securityId)).append("\n"); + sb.append(" institutionPrice: ").append(toIndentedString(institutionPrice)).append("\n"); + sb.append(" institutionPriceAsOf: ").append(toIndentedString(institutionPriceAsOf)).append("\n"); + sb.append(" institutionPriceDatetime: ").append(toIndentedString(institutionPriceDatetime)).append("\n"); + sb.append(" institutionValue: ").append(toIndentedString(institutionValue)).append("\n"); + sb.append(" costBasis: ").append(toIndentedString(costBasis)).append("\n"); + sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" vestedQuantity: ").append(toIndentedString(vestedQuantity)).append("\n"); + sb.append(" vestedValue: ").append(toIndentedString(vestedValue)).append("\n"); + sb.append(" taxLots: ").append(toIndentedString(taxLots)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/HoldingTaxLot.java b/src/main/java/com/plaid/client/model/HoldingTaxLot.java new file mode 100644 index 0000000000..0569fa4484 --- /dev/null +++ b/src/main/java/com/plaid/client/model/HoldingTaxLot.java @@ -0,0 +1,275 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.HoldingTaxLotPositionType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * A single acquisition lot within a holding. + */ +@ApiModel(description = "A single acquisition lot within a holding.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class HoldingTaxLot { + public static final String SERIALIZED_NAME_INSTITUTION_LOT_ID = "institution_lot_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_LOT_ID) + private String institutionLotId; + + public static final String SERIALIZED_NAME_ORIGINAL_PURCHASE_DATETIME = "original_purchase_datetime"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_PURCHASE_DATETIME) + private OffsetDateTime originalPurchaseDatetime; + + public static final String SERIALIZED_NAME_QUANTITY = "quantity"; + @SerializedName(SERIALIZED_NAME_QUANTITY) + private Double quantity; + + public static final String SERIALIZED_NAME_PURCHASE_PRICE = "purchase_price"; + @SerializedName(SERIALIZED_NAME_PURCHASE_PRICE) + private Double purchasePrice; + + public static final String SERIALIZED_NAME_COST_BASIS = "cost_basis"; + @SerializedName(SERIALIZED_NAME_COST_BASIS) + private Double costBasis; + + public static final String SERIALIZED_NAME_CURRENT_VALUE = "current_value"; + @SerializedName(SERIALIZED_NAME_CURRENT_VALUE) + private Double currentValue; + + public static final String SERIALIZED_NAME_POSITION_TYPE = "position_type"; + @SerializedName(SERIALIZED_NAME_POSITION_TYPE) + private HoldingTaxLotPositionType positionType; + + + public HoldingTaxLot institutionLotId(String institutionLotId) { + + this.institutionLotId = institutionLotId; + return this; + } + + /** + * The financial institution's identifier for this lot. Null if the institution does not provide a lot identifier. + * @return institutionLotId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The financial institution's identifier for this lot. Null if the institution does not provide a lot identifier.") + + public String getInstitutionLotId() { + return institutionLotId; + } + + + public void setInstitutionLotId(String institutionLotId) { + this.institutionLotId = institutionLotId; + } + + + public HoldingTaxLot originalPurchaseDatetime(OffsetDateTime originalPurchaseDatetime) { + + this.originalPurchaseDatetime = originalPurchaseDatetime; + return this; + } + + /** + * The date and time this lot was acquired, in ISO 8601 format. Null if the institution does not provide acquisition datetime data. + * @return originalPurchaseDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date and time this lot was acquired, in ISO 8601 format. Null if the institution does not provide acquisition datetime data.") + + public OffsetDateTime getOriginalPurchaseDatetime() { + return originalPurchaseDatetime; + } + + + public void setOriginalPurchaseDatetime(OffsetDateTime originalPurchaseDatetime) { + this.originalPurchaseDatetime = originalPurchaseDatetime; + } + + + public HoldingTaxLot quantity(Double quantity) { + + this.quantity = quantity; + return this; + } + + /** + * The number of units of the security in this lot. + * @return quantity + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The number of units of the security in this lot.") + + public Double getQuantity() { + return quantity; + } + + + public void setQuantity(Double quantity) { + this.quantity = quantity; + } + + + public HoldingTaxLot purchasePrice(Double purchasePrice) { + + this.purchasePrice = purchasePrice; + return this; + } + + /** + * The price per unit of the security at the time this lot was acquired. + * @return purchasePrice + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The price per unit of the security at the time this lot was acquired.") + + public Double getPurchasePrice() { + return purchasePrice; + } + + + public void setPurchasePrice(Double purchasePrice) { + this.purchasePrice = purchasePrice; + } + + + public HoldingTaxLot costBasis(Double costBasis) { + + this.costBasis = costBasis; + return this; + } + + /** + * The total cost basis of this lot, inclusive of any fees. + * @return costBasis + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total cost basis of this lot, inclusive of any fees.") + + public Double getCostBasis() { + return costBasis; + } + + + public void setCostBasis(Double costBasis) { + this.costBasis = costBasis; + } + + + public HoldingTaxLot currentValue(Double currentValue) { + + this.currentValue = currentValue; + return this; + } + + /** + * The current market value of this lot. + * @return currentValue + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The current market value of this lot.") + + public Double getCurrentValue() { + return currentValue; + } + + + public void setCurrentValue(Double currentValue) { + this.currentValue = currentValue; + } + + + public HoldingTaxLot positionType(HoldingTaxLotPositionType positionType) { + + this.positionType = positionType; + return this; + } + + /** + * Get positionType + * @return positionType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public HoldingTaxLotPositionType getPositionType() { + return positionType; + } + + + public void setPositionType(HoldingTaxLotPositionType positionType) { + this.positionType = positionType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HoldingTaxLot holdingTaxLot = (HoldingTaxLot) o; + return Objects.equals(this.institutionLotId, holdingTaxLot.institutionLotId) && + Objects.equals(this.originalPurchaseDatetime, holdingTaxLot.originalPurchaseDatetime) && + Objects.equals(this.quantity, holdingTaxLot.quantity) && + Objects.equals(this.purchasePrice, holdingTaxLot.purchasePrice) && + Objects.equals(this.costBasis, holdingTaxLot.costBasis) && + Objects.equals(this.currentValue, holdingTaxLot.currentValue) && + Objects.equals(this.positionType, holdingTaxLot.positionType); + } + + @Override + public int hashCode() { + return Objects.hash(institutionLotId, originalPurchaseDatetime, quantity, purchasePrice, costBasis, currentValue, positionType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HoldingTaxLot {\n"); + sb.append(" institutionLotId: ").append(toIndentedString(institutionLotId)).append("\n"); + sb.append(" originalPurchaseDatetime: ").append(toIndentedString(originalPurchaseDatetime)).append("\n"); + sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); + sb.append(" purchasePrice: ").append(toIndentedString(purchasePrice)).append("\n"); + sb.append(" costBasis: ").append(toIndentedString(costBasis)).append("\n"); + sb.append(" currentValue: ").append(toIndentedString(currentValue)).append("\n"); + sb.append(" positionType: ").append(toIndentedString(positionType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/HoldingTaxLotPositionType.java b/src/main/java/com/plaid/client/model/HoldingTaxLotPositionType.java new file mode 100644 index 0000000000..39c12a1045 --- /dev/null +++ b/src/main/java/com/plaid/client/model/HoldingTaxLotPositionType.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates whether a holding lot position is long or short. Possible values are `LONG` and `SHORT`. + */ +@JsonAdapter(HoldingTaxLotPositionType.Adapter.class) +public enum HoldingTaxLotPositionType { + + LONG("LONG"), + + SHORT("SHORT"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + HoldingTaxLotPositionType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static HoldingTaxLotPositionType fromValue(String value) { + for (HoldingTaxLotPositionType b : HoldingTaxLotPositionType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final HoldingTaxLotPositionType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public HoldingTaxLotPositionType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return HoldingTaxLotPositionType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/HoldingsDefaultUpdateWebhook.java b/src/main/java/com/plaid/client/model/HoldingsDefaultUpdateWebhook.java new file mode 100644 index 0000000000..6c6d38519b --- /dev/null +++ b/src/main/java/com/plaid/client/model/HoldingsDefaultUpdateWebhook.java @@ -0,0 +1,299 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Fired when new or updated holdings have been detected on an investment account. The webhook typically fires in response to any newly added holdings or price changes to existing holdings, most commonly after market close. + */ +@ApiModel(description = "Fired when new or updated holdings have been detected on an investment account. The webhook typically fires in response to any newly added holdings or price changes to existing holdings, most commonly after market close.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class HoldingsDefaultUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_NEW_HOLDINGS = "new_holdings"; + @SerializedName(SERIALIZED_NAME_NEW_HOLDINGS) + private Double newHoldings; + + public static final String SERIALIZED_NAME_UPDATED_HOLDINGS = "updated_holdings"; + @SerializedName(SERIALIZED_NAME_UPDATED_HOLDINGS) + private Double updatedHoldings; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public HoldingsDefaultUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `HOLDINGS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`HOLDINGS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public HoldingsDefaultUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `DEFAULT_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`DEFAULT_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public HoldingsDefaultUpdateWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public HoldingsDefaultUpdateWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public HoldingsDefaultUpdateWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public HoldingsDefaultUpdateWebhook newHoldings(Double newHoldings) { + + this.newHoldings = newHoldings; + return this; + } + + /** + * The number of new holdings reported since the last time this webhook was fired. + * @return newHoldings + **/ + @ApiModelProperty(required = true, value = "The number of new holdings reported since the last time this webhook was fired.") + + public Double getNewHoldings() { + return newHoldings; + } + + + public void setNewHoldings(Double newHoldings) { + this.newHoldings = newHoldings; + } + + + public HoldingsDefaultUpdateWebhook updatedHoldings(Double updatedHoldings) { + + this.updatedHoldings = updatedHoldings; + return this; + } + + /** + * The number of updated holdings reported since the last time this webhook was fired. + * @return updatedHoldings + **/ + @ApiModelProperty(required = true, value = "The number of updated holdings reported since the last time this webhook was fired.") + + public Double getUpdatedHoldings() { + return updatedHoldings; + } + + + public void setUpdatedHoldings(Double updatedHoldings) { + this.updatedHoldings = updatedHoldings; + } + + + public HoldingsDefaultUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HoldingsDefaultUpdateWebhook holdingsDefaultUpdateWebhook = (HoldingsDefaultUpdateWebhook) o; + return Objects.equals(this.webhookType, holdingsDefaultUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, holdingsDefaultUpdateWebhook.webhookCode) && + Objects.equals(this.itemId, holdingsDefaultUpdateWebhook.itemId) && + Objects.equals(this.userId, holdingsDefaultUpdateWebhook.userId) && + Objects.equals(this.error, holdingsDefaultUpdateWebhook.error) && + Objects.equals(this.newHoldings, holdingsDefaultUpdateWebhook.newHoldings) && + Objects.equals(this.updatedHoldings, holdingsDefaultUpdateWebhook.updatedHoldings) && + Objects.equals(this.environment, holdingsDefaultUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, error, newHoldings, updatedHoldings, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HoldingsDefaultUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" newHoldings: ").append(toIndentedString(newHoldings)).append("\n"); + sb.append(" updatedHoldings: ").append(toIndentedString(updatedHoldings)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/HoldingsOverride.java b/src/main/java/com/plaid/client/model/HoldingsOverride.java new file mode 100644 index 0000000000..0303c06690 --- /dev/null +++ b/src/main/java/com/plaid/client/model/HoldingsOverride.java @@ -0,0 +1,242 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SecurityOverride; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Specify the holdings on the account. + */ +@ApiModel(description = "Specify the holdings on the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class HoldingsOverride { + public static final String SERIALIZED_NAME_INSTITUTION_PRICE = "institution_price"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_PRICE) + private Double institutionPrice; + + public static final String SERIALIZED_NAME_INSTITUTION_PRICE_AS_OF = "institution_price_as_of"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_PRICE_AS_OF) + private LocalDate institutionPriceAsOf; + + public static final String SERIALIZED_NAME_COST_BASIS = "cost_basis"; + @SerializedName(SERIALIZED_NAME_COST_BASIS) + private Double costBasis; + + public static final String SERIALIZED_NAME_QUANTITY = "quantity"; + @SerializedName(SERIALIZED_NAME_QUANTITY) + private Double quantity; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private String currency; + + public static final String SERIALIZED_NAME_SECURITY = "security"; + @SerializedName(SERIALIZED_NAME_SECURITY) + private SecurityOverride security; + + + public HoldingsOverride institutionPrice(Double institutionPrice) { + + this.institutionPrice = institutionPrice; + return this; + } + + /** + * The last price given by the institution for this security + * @return institutionPrice + **/ + @ApiModelProperty(required = true, value = "The last price given by the institution for this security") + + public Double getInstitutionPrice() { + return institutionPrice; + } + + + public void setInstitutionPrice(Double institutionPrice) { + this.institutionPrice = institutionPrice; + } + + + public HoldingsOverride institutionPriceAsOf(LocalDate institutionPriceAsOf) { + + this.institutionPriceAsOf = institutionPriceAsOf; + return this; + } + + /** + * The date at which `institution_price` was current. Must be formatted as an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) date. + * @return institutionPriceAsOf + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date at which `institution_price` was current. Must be formatted as an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) date.") + + public LocalDate getInstitutionPriceAsOf() { + return institutionPriceAsOf; + } + + + public void setInstitutionPriceAsOf(LocalDate institutionPriceAsOf) { + this.institutionPriceAsOf = institutionPriceAsOf; + } + + + public HoldingsOverride costBasis(Double costBasis) { + + this.costBasis = costBasis; + return this; + } + + /** + * The total cost basis of the holding (e.g., the total amount spent to acquire all assets currently in the holding). + * @return costBasis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total cost basis of the holding (e.g., the total amount spent to acquire all assets currently in the holding).") + + public Double getCostBasis() { + return costBasis; + } + + + public void setCostBasis(Double costBasis) { + this.costBasis = costBasis; + } + + + public HoldingsOverride quantity(Double quantity) { + + this.quantity = quantity; + return this; + } + + /** + * The total quantity of the asset held, as reported by the financial institution. + * @return quantity + **/ + @ApiModelProperty(required = true, value = "The total quantity of the asset held, as reported by the financial institution.") + + public Double getQuantity() { + return quantity; + } + + + public void setQuantity(Double quantity) { + this.quantity = quantity; + } + + + public HoldingsOverride currency(String currency) { + + this.currency = currency; + return this; + } + + /** + * Either a valid `iso_currency_code` or `unofficial_currency_code` + * @return currency + **/ + @ApiModelProperty(required = true, value = "Either a valid `iso_currency_code` or `unofficial_currency_code`") + + public String getCurrency() { + return currency; + } + + + public void setCurrency(String currency) { + this.currency = currency; + } + + + public HoldingsOverride security(SecurityOverride security) { + + this.security = security; + return this; + } + + /** + * Get security + * @return security + **/ + @ApiModelProperty(required = true, value = "") + + public SecurityOverride getSecurity() { + return security; + } + + + public void setSecurity(SecurityOverride security) { + this.security = security; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HoldingsOverride holdingsOverride = (HoldingsOverride) o; + return Objects.equals(this.institutionPrice, holdingsOverride.institutionPrice) && + Objects.equals(this.institutionPriceAsOf, holdingsOverride.institutionPriceAsOf) && + Objects.equals(this.costBasis, holdingsOverride.costBasis) && + Objects.equals(this.quantity, holdingsOverride.quantity) && + Objects.equals(this.currency, holdingsOverride.currency) && + Objects.equals(this.security, holdingsOverride.security); + } + + @Override + public int hashCode() { + return Objects.hash(institutionPrice, institutionPriceAsOf, costBasis, quantity, currency, security); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HoldingsOverride {\n"); + sb.append(" institutionPrice: ").append(toIndentedString(institutionPrice)).append("\n"); + sb.append(" institutionPriceAsOf: ").append(toIndentedString(institutionPriceAsOf)).append("\n"); + sb.append(" costBasis: ").append(toIndentedString(costBasis)).append("\n"); + sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" security: ").append(toIndentedString(security)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/HostedLinkDeliveryMethod.java b/src/main/java/com/plaid/client/model/HostedLinkDeliveryMethod.java new file mode 100644 index 0000000000..564accb563 --- /dev/null +++ b/src/main/java/com/plaid/client/model/HostedLinkDeliveryMethod.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * How Plaid should deliver the Plaid Link session to the customer. Only available to customers enabled for Link Delivery (beta). To request Link Delivery access, contact your account manager. 'sms' will deliver via SMS. Must pass `user.phone_number`. 'email' will deliver via email. Must pass `user.email_address`. In the Sandbox environment, this field will be ignored; use the Production environment to test Link Delivery instead. + */ +@JsonAdapter(HostedLinkDeliveryMethod.Adapter.class) +public enum HostedLinkDeliveryMethod { + + SMS("sms"), + + EMAIL("email"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + HostedLinkDeliveryMethod(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static HostedLinkDeliveryMethod fromValue(String value) { + for (HostedLinkDeliveryMethod b : HostedLinkDeliveryMethod.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return HostedLinkDeliveryMethod.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final HostedLinkDeliveryMethod enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public HostedLinkDeliveryMethod read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return HostedLinkDeliveryMethod.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/HostedMMDVerificationWebhook.java b/src/main/java/com/plaid/client/model/HostedMMDVerificationWebhook.java new file mode 100644 index 0000000000..7b9f9fab4b --- /dev/null +++ b/src/main/java/com/plaid/client/model/HostedMMDVerificationWebhook.java @@ -0,0 +1,240 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Contains the state of an SMS Same-Day Micro-deposits verification session. + */ +@ApiModel(description = "Contains the state of an SMS Same-Day Micro-deposits verification session.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class HostedMMDVerificationWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private String status; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public HostedMMDVerificationWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `AUTH` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`AUTH`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public HostedMMDVerificationWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `SMS_MICRODEPOSITS_VERIFICATION` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`SMS_MICRODEPOSITS_VERIFICATION`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public HostedMMDVerificationWebhook status(String status) { + + this.status = status; + return this; + } + + /** + * The final status of the Same-Day Micro-deposits verification. Will always be `MANUALLY_VERIFIED` or `VERIFICATION_FAILED`. + * @return status + **/ + @ApiModelProperty(required = true, value = "The final status of the Same-Day Micro-deposits verification. Will always be `MANUALLY_VERIFIED` or `VERIFICATION_FAILED`.") + + public String getStatus() { + return status; + } + + + public void setStatus(String status) { + this.status = status; + } + + + public HostedMMDVerificationWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public HostedMMDVerificationWebhook accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The external account ID of the affected account + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The external account ID of the affected account") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public HostedMMDVerificationWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HostedMMDVerificationWebhook hostedMMDVerificationWebhook = (HostedMMDVerificationWebhook) o; + return Objects.equals(this.webhookType, hostedMMDVerificationWebhook.webhookType) && + Objects.equals(this.webhookCode, hostedMMDVerificationWebhook.webhookCode) && + Objects.equals(this.status, hostedMMDVerificationWebhook.status) && + Objects.equals(this.itemId, hostedMMDVerificationWebhook.itemId) && + Objects.equals(this.accountId, hostedMMDVerificationWebhook.accountId) && + Objects.equals(this.environment, hostedMMDVerificationWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, status, itemId, accountId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HostedMMDVerificationWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/HumanReview.java b/src/main/java/com/plaid/client/model/HumanReview.java new file mode 100644 index 0000000000..1576d27f84 --- /dev/null +++ b/src/main/java/com/plaid/client/model/HumanReview.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.HumanReviewStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details about the human review check, which refers to a check that is performed by a document specialist. + */ +@ApiModel(description = "Details about the human review check, which refers to a check that is performed by a document specialist.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class HumanReview { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private HumanReviewStatus status; + + + public HumanReview status(HumanReviewStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public HumanReviewStatus getStatus() { + return status; + } + + + public void setStatus(HumanReviewStatus status) { + this.status = status; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HumanReview humanReview = (HumanReview) o; + return Objects.equals(this.status, humanReview.status); + } + + @Override + public int hashCode() { + return Objects.hash(status); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HumanReview {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/HumanReviewStatus.java b/src/main/java/com/plaid/client/model/HumanReviewStatus.java new file mode 100644 index 0000000000..cbb56fcefe --- /dev/null +++ b/src/main/java/com/plaid/client/model/HumanReviewStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The outcome of the human review check, when available. The following values are possible: `success` - The document passed the check. `failed` - The document failed the check. `no_data` - The document was submitted, but the document specialist review was not completed in time. + */ +@JsonAdapter(HumanReviewStatus.Adapter.class) +public enum HumanReviewStatus { + + SUCCESS("success"), + + FAILED("failed"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + HumanReviewStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static HumanReviewStatus fromValue(String value) { + for (HumanReviewStatus b : HumanReviewStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return HumanReviewStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final HumanReviewStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public HumanReviewStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return HumanReviewStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IDNumberType.java b/src/main/java/com/plaid/client/model/IDNumberType.java new file mode 100644 index 0000000000..b0f328d134 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IDNumberType.java @@ -0,0 +1,147 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A globally unique and human readable ID type, specific to the country and document category. For more context on this field, see [Input Validation Rules](https://plaid.com/docs/identity-verification/hybrid-input-validation/#id-numbers). + */ +@JsonAdapter(IDNumberType.Adapter.class) +public enum IDNumberType { + + AR_DNI("ar_dni"), + + AU_DRIVERS_LICENSE("au_drivers_license"), + + AU_PASSPORT("au_passport"), + + BR_CPF("br_cpf"), + + CA_SIN("ca_sin"), + + CL_RUN("cl_run"), + + CN_RESIDENT_CARD("cn_resident_card"), + + CO_NIT("co_nit"), + + DK_CPR("dk_cpr"), + + EG_NATIONAL_ID("eg_national_id"), + + ES_DNI("es_dni"), + + ES_NIE("es_nie"), + + HK_HKID("hk_hkid"), + + IN_PAN("in_pan"), + + IN_EPIC("in_epic"), + + IT_CF("it_cf"), + + JO_CIVIL_ID("jo_civil_id"), + + JP_MY_NUMBER("jp_my_number"), + + KE_HUDUMA_NAMBA("ke_huduma_namba"), + + KW_CIVIL_ID("kw_civil_id"), + + MX_CURP("mx_curp"), + + MX_RFC("mx_rfc"), + + MY_NRIC("my_nric"), + + NG_NIN("ng_nin"), + + NZ_DRIVERS_LICENSE("nz_drivers_license"), + + OM_CIVIL_ID("om_civil_id"), + + PH_PSN("ph_psn"), + + PL_PESEL("pl_pesel"), + + RO_CNP("ro_cnp"), + + SA_NATIONAL_ID("sa_national_id"), + + SE_PIN("se_pin"), + + SG_NRIC("sg_nric"), + + TR_TC_KIMLIK("tr_tc_kimlik"), + + US_SSN("us_ssn"), + + US_SSN_LAST_4("us_ssn_last_4"), + + ZA_SMART_ID("za_smart_id"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IDNumberType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IDNumberType fromValue(String value) { + for (IDNumberType b : IDNumberType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return IDNumberType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IDNumberType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IDNumberType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IDNumberType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IDVProtectEvent.java b/src/main/java/com/plaid/client/model/IDVProtectEvent.java new file mode 100644 index 0000000000..3f9f4c721e --- /dev/null +++ b/src/main/java/com/plaid/client/model/IDVProtectEvent.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TrustIndex; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Information about a Protect event including Trust Index score and fraud attributes. + */ +@ApiModel(description = "Information about a Protect event including Trust Index score and fraud attributes.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IDVProtectEvent { + public static final String SERIALIZED_NAME_EVENT_ID = "event_id"; + @SerializedName(SERIALIZED_NAME_EVENT_ID) + private String eventId; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + public static final String SERIALIZED_NAME_TRUST_INDEX = "trust_index"; + @SerializedName(SERIALIZED_NAME_TRUST_INDEX) + private TrustIndex trustIndex; + + public static final String SERIALIZED_NAME_FRAUD_ATTRIBUTES = "fraud_attributes"; + @SerializedName(SERIALIZED_NAME_FRAUD_ATTRIBUTES) + private Object fraudAttributes; + + + public IDVProtectEvent eventId(String eventId) { + + this.eventId = eventId; + return this; + } + + /** + * The event ID. + * @return eventId + **/ + @ApiModelProperty(example = "ptevt_7AJYTMFxRUgJ", required = true, value = "The event ID.") + + public String getEventId() { + return eventId; + } + + + public void setEventId(String eventId) { + this.eventId = eventId; + } + + + public IDVProtectEvent timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * The timestamp of the event, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"` + * @return timestamp + **/ + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "The timestamp of the event, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"`") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + public IDVProtectEvent trustIndex(TrustIndex trustIndex) { + + this.trustIndex = trustIndex; + return this; + } + + /** + * Get trustIndex + * @return trustIndex + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TrustIndex getTrustIndex() { + return trustIndex; + } + + + public void setTrustIndex(TrustIndex trustIndex) { + this.trustIndex = trustIndex; + } + + + public IDVProtectEvent fraudAttributes(Object fraudAttributes) { + + this.fraudAttributes = fraudAttributes; + return this; + } + + /** + * Event fraud attributes as an arbitrary set of key-value pairs. The set of attributes returned varies by model. + * @return fraudAttributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Event fraud attributes as an arbitrary set of key-value pairs. The set of attributes returned varies by model.") + + public Object getFraudAttributes() { + return fraudAttributes; + } + + + public void setFraudAttributes(Object fraudAttributes) { + this.fraudAttributes = fraudAttributes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IDVProtectEvent idVProtectEvent = (IDVProtectEvent) o; + return Objects.equals(this.eventId, idVProtectEvent.eventId) && + Objects.equals(this.timestamp, idVProtectEvent.timestamp) && + Objects.equals(this.trustIndex, idVProtectEvent.trustIndex) && + Objects.equals(this.fraudAttributes, idVProtectEvent.fraudAttributes); + } + + @Override + public int hashCode() { + return Objects.hash(eventId, timestamp, trustIndex, fraudAttributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IDVProtectEvent {\n"); + sb.append(" eventId: ").append(toIndentedString(eventId)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" trustIndex: ").append(toIndentedString(trustIndex)).append("\n"); + sb.append(" fraudAttributes: ").append(toIndentedString(fraudAttributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ISOCurrencyCode.java b/src/main/java/com/plaid/client/model/ISOCurrencyCode.java new file mode 100644 index 0000000000..bfb4ca93d6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ISOCurrencyCode.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An ISO-4217 currency code. + */ +@JsonAdapter(ISOCurrencyCode.Adapter.class) +public enum ISOCurrencyCode { + + USD("USD"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ISOCurrencyCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ISOCurrencyCode fromValue(String value) { + for (ISOCurrencyCode b : ISOCurrencyCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ISOCurrencyCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ISOCurrencyCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ISOCurrencyCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ISOCurrencyCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IdentityDefaultUpdateWebhook.java b/src/main/java/com/plaid/client/model/IdentityDefaultUpdateWebhook.java new file mode 100644 index 0000000000..444405a00c --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityDefaultUpdateWebhook.java @@ -0,0 +1,250 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityUpdateTypes; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Fired when a change to identity data has been detected on an Item. Items are checked for identity updates every 30-90 days. We recommend that upon receiving this webhook you make another call to `/identity/get` to fetch the user's latest identity data. + */ +@ApiModel(description = "Fired when a change to identity data has been detected on an Item. Items are checked for identity updates every 30-90 days. We recommend that upon receiving this webhook you make another call to `/identity/get` to fetch the user's latest identity data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityDefaultUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNT_IDS_WITH_UPDATED_IDENTITY = "account_ids_with_updated_identity"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS_WITH_UPDATED_IDENTITY) + private Map> accountIdsWithUpdatedIdentity = new HashMap<>(); + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public IdentityDefaultUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `IDENTITY` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`IDENTITY`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public IdentityDefaultUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `DEFAULT_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`DEFAULT_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public IdentityDefaultUpdateWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public IdentityDefaultUpdateWebhook accountIdsWithUpdatedIdentity(Map> accountIdsWithUpdatedIdentity) { + + this.accountIdsWithUpdatedIdentity = accountIdsWithUpdatedIdentity; + return this; + } + + public IdentityDefaultUpdateWebhook putAccountIdsWithUpdatedIdentityItem(String key, List accountIdsWithUpdatedIdentityItem) { + this.accountIdsWithUpdatedIdentity.put(key, accountIdsWithUpdatedIdentityItem); + return this; + } + + /** + * An object with keys of `account_id`'s that are mapped to their respective identity attributes that changed. Example: `{ \"XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58\": [\"PHONES\"] }` + * @return accountIdsWithUpdatedIdentity + **/ + @ApiModelProperty(required = true, value = "An object with keys of `account_id`'s that are mapped to their respective identity attributes that changed. Example: `{ \"XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58\": [\"PHONES\"] }` ") + + public Map> getAccountIdsWithUpdatedIdentity() { + return accountIdsWithUpdatedIdentity; + } + + + public void setAccountIdsWithUpdatedIdentity(Map> accountIdsWithUpdatedIdentity) { + this.accountIdsWithUpdatedIdentity = accountIdsWithUpdatedIdentity; + } + + + public IdentityDefaultUpdateWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public IdentityDefaultUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityDefaultUpdateWebhook identityDefaultUpdateWebhook = (IdentityDefaultUpdateWebhook) o; + return Objects.equals(this.webhookType, identityDefaultUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, identityDefaultUpdateWebhook.webhookCode) && + Objects.equals(this.itemId, identityDefaultUpdateWebhook.itemId) && + Objects.equals(this.accountIdsWithUpdatedIdentity, identityDefaultUpdateWebhook.accountIdsWithUpdatedIdentity) && + Objects.equals(this.error, identityDefaultUpdateWebhook.error) && + Objects.equals(this.environment, identityDefaultUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, accountIdsWithUpdatedIdentity, error, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityDefaultUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accountIdsWithUpdatedIdentity: ").append(toIndentedString(accountIdsWithUpdatedIdentity)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityDocumentMetadata.java b/src/main/java/com/plaid/client/model/IdentityDocumentMetadata.java new file mode 100644 index 0000000000..14484bd43e --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityDocumentMetadata.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * In closed beta. Object representing metadata pertaining to the document. + */ +@ApiModel(description = "In closed beta. Object representing metadata pertaining to the document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityDocumentMetadata { + public static final String SERIALIZED_NAME_IS_ACCOUNT_NUMBER_MATCH = "is_account_number_match"; + @SerializedName(SERIALIZED_NAME_IS_ACCOUNT_NUMBER_MATCH) + private Boolean isAccountNumberMatch; + + public static final String SERIALIZED_NAME_LAST_UPDATED = "last_updated"; + @SerializedName(SERIALIZED_NAME_LAST_UPDATED) + private OffsetDateTime lastUpdated; + + public static final String SERIALIZED_NAME_UPLOADED_AT = "uploaded_at"; + @SerializedName(SERIALIZED_NAME_UPLOADED_AT) + private OffsetDateTime uploadedAt; + + + public IdentityDocumentMetadata isAccountNumberMatch(Boolean isAccountNumberMatch) { + + this.isAccountNumberMatch = isAccountNumberMatch; + return this; + } + + /** + * Boolean field indicating if the uploaded document's account number matches the account number we have on file + * @return isAccountNumberMatch + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Boolean field indicating if the uploaded document's account number matches the account number we have on file") + + public Boolean getIsAccountNumberMatch() { + return isAccountNumberMatch; + } + + + public void setIsAccountNumberMatch(Boolean isAccountNumberMatch) { + this.isAccountNumberMatch = isAccountNumberMatch; + } + + + public IdentityDocumentMetadata lastUpdated(OffsetDateTime lastUpdated) { + + this.lastUpdated = lastUpdated; + return this; + } + + /** + * Get lastUpdated + * @return lastUpdated + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public OffsetDateTime getLastUpdated() { + return lastUpdated; + } + + + public void setLastUpdated(OffsetDateTime lastUpdated) { + this.lastUpdated = lastUpdated; + } + + + public IdentityDocumentMetadata uploadedAt(OffsetDateTime uploadedAt) { + + this.uploadedAt = uploadedAt; + return this; + } + + /** + * Get uploadedAt + * @return uploadedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public OffsetDateTime getUploadedAt() { + return uploadedAt; + } + + + public void setUploadedAt(OffsetDateTime uploadedAt) { + this.uploadedAt = uploadedAt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityDocumentMetadata identityDocumentMetadata = (IdentityDocumentMetadata) o; + return Objects.equals(this.isAccountNumberMatch, identityDocumentMetadata.isAccountNumberMatch) && + Objects.equals(this.lastUpdated, identityDocumentMetadata.lastUpdated) && + Objects.equals(this.uploadedAt, identityDocumentMetadata.uploadedAt); + } + + @Override + public int hashCode() { + return Objects.hash(isAccountNumberMatch, lastUpdated, uploadedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityDocumentMetadata {\n"); + sb.append(" isAccountNumberMatch: ").append(toIndentedString(isAccountNumberMatch)).append("\n"); + sb.append(" lastUpdated: ").append(toIndentedString(lastUpdated)).append("\n"); + sb.append(" uploadedAt: ").append(toIndentedString(uploadedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityDocumentUpload.java b/src/main/java/com/plaid/client/model/IdentityDocumentUpload.java new file mode 100644 index 0000000000..4cb9b72375 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityDocumentUpload.java @@ -0,0 +1,159 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityDocumentUploadMetadata; +import com.plaid.client.model.IdentityDocumentUploadRiskInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Document object with metadata of the uploaded document + */ +@ApiModel(description = "Document object with metadata of the uploaded document") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityDocumentUpload { + public static final String SERIALIZED_NAME_DOCUMENT_ID = "document_id"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_ID) + private String documentId; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private IdentityDocumentUploadMetadata metadata; + + public static final String SERIALIZED_NAME_RISK_INSIGHTS = "risk_insights"; + @SerializedName(SERIALIZED_NAME_RISK_INSIGHTS) + private IdentityDocumentUploadRiskInsights riskInsights; + + + public IdentityDocumentUpload documentId(String documentId) { + + this.documentId = documentId; + return this; + } + + /** + * A UUID identifying the document. + * @return documentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A UUID identifying the document.") + + public String getDocumentId() { + return documentId; + } + + + public void setDocumentId(String documentId) { + this.documentId = documentId; + } + + + public IdentityDocumentUpload metadata(IdentityDocumentUploadMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityDocumentUploadMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(IdentityDocumentUploadMetadata metadata) { + this.metadata = metadata; + } + + + public IdentityDocumentUpload riskInsights(IdentityDocumentUploadRiskInsights riskInsights) { + + this.riskInsights = riskInsights; + return this; + } + + /** + * Get riskInsights + * @return riskInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityDocumentUploadRiskInsights getRiskInsights() { + return riskInsights; + } + + + public void setRiskInsights(IdentityDocumentUploadRiskInsights riskInsights) { + this.riskInsights = riskInsights; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityDocumentUpload identityDocumentUpload = (IdentityDocumentUpload) o; + return Objects.equals(this.documentId, identityDocumentUpload.documentId) && + Objects.equals(this.metadata, identityDocumentUpload.metadata) && + Objects.equals(this.riskInsights, identityDocumentUpload.riskInsights); + } + + @Override + public int hashCode() { + return Objects.hash(documentId, metadata, riskInsights); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityDocumentUpload {\n"); + sb.append(" documentId: ").append(toIndentedString(documentId)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" riskInsights: ").append(toIndentedString(riskInsights)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityDocumentUploadMetadata.java b/src/main/java/com/plaid/client/model/IdentityDocumentUploadMetadata.java new file mode 100644 index 0000000000..616750b0ce --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityDocumentUploadMetadata.java @@ -0,0 +1,216 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Metadata pertaining to the document. + */ +@ApiModel(description = "Metadata pertaining to the document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityDocumentUploadMetadata { + public static final String SERIALIZED_NAME_DOCUMENT_TYPE = "document_type"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_TYPE) + private String documentType; + + public static final String SERIALIZED_NAME_IS_ACCOUNT_NUMBER_MATCH = "is_account_number_match"; + @SerializedName(SERIALIZED_NAME_IS_ACCOUNT_NUMBER_MATCH) + private Boolean isAccountNumberMatch; + + public static final String SERIALIZED_NAME_PAGE_COUNT = "page_count"; + @SerializedName(SERIALIZED_NAME_PAGE_COUNT) + private Integer pageCount; + + public static final String SERIALIZED_NAME_LAST_UPDATED = "last_updated"; + @SerializedName(SERIALIZED_NAME_LAST_UPDATED) + private OffsetDateTime lastUpdated; + + public static final String SERIALIZED_NAME_UPLOADED_AT = "uploaded_at"; + @SerializedName(SERIALIZED_NAME_UPLOADED_AT) + private OffsetDateTime uploadedAt; + + + public IdentityDocumentUploadMetadata documentType(String documentType) { + + this.documentType = documentType; + return this; + } + + /** + * The submitted document type. Currently, this will always be `BANK_STATEMENT`. + * @return documentType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The submitted document type. Currently, this will always be `BANK_STATEMENT`.") + + public String getDocumentType() { + return documentType; + } + + + public void setDocumentType(String documentType) { + this.documentType = documentType; + } + + + public IdentityDocumentUploadMetadata isAccountNumberMatch(Boolean isAccountNumberMatch) { + + this.isAccountNumberMatch = isAccountNumberMatch; + return this; + } + + /** + * Boolean field indicating whether the uploaded document's account number matches the account number we have on file. If `false`, it is not recommended to accept the uploaded identity data as accurate without further verification. + * @return isAccountNumberMatch + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Boolean field indicating whether the uploaded document's account number matches the account number we have on file. If `false`, it is not recommended to accept the uploaded identity data as accurate without further verification.") + + public Boolean getIsAccountNumberMatch() { + return isAccountNumberMatch; + } + + + public void setIsAccountNumberMatch(Boolean isAccountNumberMatch) { + this.isAccountNumberMatch = isAccountNumberMatch; + } + + + public IdentityDocumentUploadMetadata pageCount(Integer pageCount) { + + this.pageCount = pageCount; + return this; + } + + /** + * The number of pages in the uploaded document. + * @return pageCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of pages in the uploaded document.") + + public Integer getPageCount() { + return pageCount; + } + + + public void setPageCount(Integer pageCount) { + this.pageCount = pageCount; + } + + + public IdentityDocumentUploadMetadata lastUpdated(OffsetDateTime lastUpdated) { + + this.lastUpdated = lastUpdated; + return this; + } + + /** + * The timestamp when the document was last updated. + * @return lastUpdated + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The timestamp when the document was last updated.") + + public OffsetDateTime getLastUpdated() { + return lastUpdated; + } + + + public void setLastUpdated(OffsetDateTime lastUpdated) { + this.lastUpdated = lastUpdated; + } + + + public IdentityDocumentUploadMetadata uploadedAt(OffsetDateTime uploadedAt) { + + this.uploadedAt = uploadedAt; + return this; + } + + /** + * The timestamp when the document was originally uploaded. + * @return uploadedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The timestamp when the document was originally uploaded.") + + public OffsetDateTime getUploadedAt() { + return uploadedAt; + } + + + public void setUploadedAt(OffsetDateTime uploadedAt) { + this.uploadedAt = uploadedAt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityDocumentUploadMetadata identityDocumentUploadMetadata = (IdentityDocumentUploadMetadata) o; + return Objects.equals(this.documentType, identityDocumentUploadMetadata.documentType) && + Objects.equals(this.isAccountNumberMatch, identityDocumentUploadMetadata.isAccountNumberMatch) && + Objects.equals(this.pageCount, identityDocumentUploadMetadata.pageCount) && + Objects.equals(this.lastUpdated, identityDocumentUploadMetadata.lastUpdated) && + Objects.equals(this.uploadedAt, identityDocumentUploadMetadata.uploadedAt); + } + + @Override + public int hashCode() { + return Objects.hash(documentType, isAccountNumberMatch, pageCount, lastUpdated, uploadedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityDocumentUploadMetadata {\n"); + sb.append(" documentType: ").append(toIndentedString(documentType)).append("\n"); + sb.append(" isAccountNumberMatch: ").append(toIndentedString(isAccountNumberMatch)).append("\n"); + sb.append(" pageCount: ").append(toIndentedString(pageCount)).append("\n"); + sb.append(" lastUpdated: ").append(toIndentedString(lastUpdated)).append("\n"); + sb.append(" uploadedAt: ").append(toIndentedString(uploadedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityDocumentUploadRiskInsights.java b/src/main/java/com/plaid/client/model/IdentityDocumentUploadRiskInsights.java new file mode 100644 index 0000000000..a0a77689d6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityDocumentUploadRiskInsights.java @@ -0,0 +1,140 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityDocumentUploadRiskSignal; +import com.plaid.client.model.IdentityDocumentUploadRiskSummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Object representing fraud risk data of the uploaded document. Only provided when using Identity Document Upload with Fraud Risk enabled. + */ +@ApiModel(description = "Object representing fraud risk data of the uploaded document. Only provided when using Identity Document Upload with Fraud Risk enabled.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityDocumentUploadRiskInsights { + public static final String SERIALIZED_NAME_RISK_SUMMARY = "risk_summary"; + @SerializedName(SERIALIZED_NAME_RISK_SUMMARY) + private IdentityDocumentUploadRiskSummary riskSummary; + + public static final String SERIALIZED_NAME_RISK_SIGNALS = "risk_signals"; + @SerializedName(SERIALIZED_NAME_RISK_SIGNALS) + private List riskSignals = null; + + + public IdentityDocumentUploadRiskInsights riskSummary(IdentityDocumentUploadRiskSummary riskSummary) { + + this.riskSummary = riskSummary; + return this; + } + + /** + * Get riskSummary + * @return riskSummary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityDocumentUploadRiskSummary getRiskSummary() { + return riskSummary; + } + + + public void setRiskSummary(IdentityDocumentUploadRiskSummary riskSummary) { + this.riskSummary = riskSummary; + } + + + public IdentityDocumentUploadRiskInsights riskSignals(List riskSignals) { + + this.riskSignals = riskSignals; + return this; + } + + public IdentityDocumentUploadRiskInsights addRiskSignalsItem(IdentityDocumentUploadRiskSignal riskSignalsItem) { + if (this.riskSignals == null) { + this.riskSignals = new ArrayList<>(); + } + this.riskSignals.add(riskSignalsItem); + return this; + } + + /** + * An array of risk signals. + * @return riskSignals + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of risk signals.") + + public List getRiskSignals() { + return riskSignals; + } + + + public void setRiskSignals(List riskSignals) { + this.riskSignals = riskSignals; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityDocumentUploadRiskInsights identityDocumentUploadRiskInsights = (IdentityDocumentUploadRiskInsights) o; + return Objects.equals(this.riskSummary, identityDocumentUploadRiskInsights.riskSummary) && + Objects.equals(this.riskSignals, identityDocumentUploadRiskInsights.riskSignals); + } + + @Override + public int hashCode() { + return Objects.hash(riskSummary, riskSignals); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityDocumentUploadRiskInsights {\n"); + sb.append(" riskSummary: ").append(toIndentedString(riskSummary)).append("\n"); + sb.append(" riskSignals: ").append(toIndentedString(riskSignals)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityDocumentUploadRiskSignal.java b/src/main/java/com/plaid/client/model/IdentityDocumentUploadRiskSignal.java new file mode 100644 index 0000000000..53d0ce9b3d --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityDocumentUploadRiskSignal.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Risk signals tied to the document + */ +@ApiModel(description = "Risk signals tied to the document") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityDocumentUploadRiskSignal { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_HAS_FRAUD_RISK = "has_fraud_risk"; + @SerializedName(SERIALIZED_NAME_HAS_FRAUD_RISK) + private Boolean hasFraudRisk; + + public static final String SERIALIZED_NAME_SIGNAL_DESCRIPTION = "signal_description"; + @SerializedName(SERIALIZED_NAME_SIGNAL_DESCRIPTION) + private String signalDescription; + + public static final String SERIALIZED_NAME_PAGE_NUMBER = "page_number"; + @SerializedName(SERIALIZED_NAME_PAGE_NUMBER) + private Integer pageNumber; + + + public IdentityDocumentUploadRiskSignal type(String type) { + + this.type = type; + return this; + } + + /** + * The type of risk found. + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The type of risk found.") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public IdentityDocumentUploadRiskSignal hasFraudRisk(Boolean hasFraudRisk) { + + this.hasFraudRisk = hasFraudRisk; + return this; + } + + /** + * Indicates whether fraud risk was detected for this risk signal. + * @return hasFraudRisk + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates whether fraud risk was detected for this risk signal.") + + public Boolean getHasFraudRisk() { + return hasFraudRisk; + } + + + public void setHasFraudRisk(Boolean hasFraudRisk) { + this.hasFraudRisk = hasFraudRisk; + } + + + public IdentityDocumentUploadRiskSignal signalDescription(String signalDescription) { + + this.signalDescription = signalDescription; + return this; + } + + /** + * A human-readable explanation providing more detail about the specific risk signal. + * @return signalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A human-readable explanation providing more detail about the specific risk signal.") + + public String getSignalDescription() { + return signalDescription; + } + + + public void setSignalDescription(String signalDescription) { + this.signalDescription = signalDescription; + } + + + public IdentityDocumentUploadRiskSignal pageNumber(Integer pageNumber) { + + this.pageNumber = pageNumber; + return this; + } + + /** + * The relevant page associated with the risk signal. If the risk signal is not associated with a specific page, the value will be 0. + * @return pageNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The relevant page associated with the risk signal. If the risk signal is not associated with a specific page, the value will be 0.") + + public Integer getPageNumber() { + return pageNumber; + } + + + public void setPageNumber(Integer pageNumber) { + this.pageNumber = pageNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityDocumentUploadRiskSignal identityDocumentUploadRiskSignal = (IdentityDocumentUploadRiskSignal) o; + return Objects.equals(this.type, identityDocumentUploadRiskSignal.type) && + Objects.equals(this.hasFraudRisk, identityDocumentUploadRiskSignal.hasFraudRisk) && + Objects.equals(this.signalDescription, identityDocumentUploadRiskSignal.signalDescription) && + Objects.equals(this.pageNumber, identityDocumentUploadRiskSignal.pageNumber); + } + + @Override + public int hashCode() { + return Objects.hash(type, hasFraudRisk, signalDescription, pageNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityDocumentUploadRiskSignal {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" hasFraudRisk: ").append(toIndentedString(hasFraudRisk)).append("\n"); + sb.append(" signalDescription: ").append(toIndentedString(signalDescription)).append("\n"); + sb.append(" pageNumber: ").append(toIndentedString(pageNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityDocumentUploadRiskSummary.java b/src/main/java/com/plaid/client/model/IdentityDocumentUploadRiskSummary.java new file mode 100644 index 0000000000..cff6d8cada --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityDocumentUploadRiskSummary.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Risk summary of an uploaded document. + */ +@ApiModel(description = "Risk summary of an uploaded document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityDocumentUploadRiskSummary { + public static final String SERIALIZED_NAME_RISK_SCORE = "risk_score"; + @SerializedName(SERIALIZED_NAME_RISK_SCORE) + private Integer riskScore; + + + public IdentityDocumentUploadRiskSummary riskScore(Integer riskScore) { + + this.riskScore = riskScore; + return this; + } + + /** + * A number between 0 and 100, inclusive, where a score closer to 0 indicates a document is likely to be trustworthy and a score closer to 100 indicates a document is likely to be fraudulent. + * @return riskScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A number between 0 and 100, inclusive, where a score closer to 0 indicates a document is likely to be trustworthy and a score closer to 100 indicates a document is likely to be fraudulent.") + + public Integer getRiskScore() { + return riskScore; + } + + + public void setRiskScore(Integer riskScore) { + this.riskScore = riskScore; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityDocumentUploadRiskSummary identityDocumentUploadRiskSummary = (IdentityDocumentUploadRiskSummary) o; + return Objects.equals(this.riskScore, identityDocumentUploadRiskSummary.riskScore); + } + + @Override + public int hashCode() { + return Objects.hash(riskScore); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityDocumentUploadRiskSummary {\n"); + sb.append(" riskScore: ").append(toIndentedString(riskScore)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityDocumentsUploadsGetRequest.java b/src/main/java/com/plaid/client/model/IdentityDocumentsUploadsGetRequest.java new file mode 100644 index 0000000000..c40d0b35da --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityDocumentsUploadsGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityDocumentsUploadsGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IdentityDocumentsUploadsGetRequest defines the request schema for `/identity/documents/uploads/get` + */ +@ApiModel(description = "IdentityDocumentsUploadsGetRequest defines the request schema for `/identity/documents/uploads/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityDocumentsUploadsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private IdentityDocumentsUploadsGetRequestOptions options; + + + public IdentityDocumentsUploadsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IdentityDocumentsUploadsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IdentityDocumentsUploadsGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public IdentityDocumentsUploadsGetRequest options(IdentityDocumentsUploadsGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityDocumentsUploadsGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(IdentityDocumentsUploadsGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityDocumentsUploadsGetRequest identityDocumentsUploadsGetRequest = (IdentityDocumentsUploadsGetRequest) o; + return Objects.equals(this.clientId, identityDocumentsUploadsGetRequest.clientId) && + Objects.equals(this.secret, identityDocumentsUploadsGetRequest.secret) && + Objects.equals(this.accessToken, identityDocumentsUploadsGetRequest.accessToken) && + Objects.equals(this.options, identityDocumentsUploadsGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityDocumentsUploadsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityDocumentsUploadsGetRequestOptions.java b/src/main/java/com/plaid/client/model/IdentityDocumentsUploadsGetRequestOptions.java new file mode 100644 index 0000000000..f2e70ddcc2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityDocumentsUploadsGetRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to filter `/identity/documents/uploads/get` results. + */ +@ApiModel(description = "An optional object to filter `/identity/documents/uploads/get` results.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityDocumentsUploadsGetRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + + public IdentityDocumentsUploadsGetRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public IdentityDocumentsUploadsGetRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * A list of `account_ids` to retrieve for the Item. Note: An error will be returned if a provided `account_id` is not associated with the Item. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of `account_ids` to retrieve for the Item. Note: An error will be returned if a provided `account_id` is not associated with the Item.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityDocumentsUploadsGetRequestOptions identityDocumentsUploadsGetRequestOptions = (IdentityDocumentsUploadsGetRequestOptions) o; + return Objects.equals(this.accountIds, identityDocumentsUploadsGetRequestOptions.accountIds); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityDocumentsUploadsGetRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityDocumentsUploadsGetResponse.java b/src/main/java/com/plaid/client/model/IdentityDocumentsUploadsGetResponse.java new file mode 100644 index 0000000000..02f89f14a8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityDocumentsUploadsGetResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountIdentityDocumentUpload; +import com.plaid.client.model.Item; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * IdentityDocumentsUploadsGetResponse defines the response schema for `/identity/documents/uploads/get` + */ +@ApiModel(description = "IdentityDocumentsUploadsGetResponse defines the response schema for `/identity/documents/uploads/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityDocumentsUploadsGetResponse { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IdentityDocumentsUploadsGetResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public IdentityDocumentsUploadsGetResponse addAccountsItem(AccountIdentityDocumentUpload accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * The accounts for which Identity data has been requested + * @return accounts + **/ + @ApiModelProperty(required = true, value = "The accounts for which Identity data has been requested") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public IdentityDocumentsUploadsGetResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public IdentityDocumentsUploadsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityDocumentsUploadsGetResponse identityDocumentsUploadsGetResponse = (IdentityDocumentsUploadsGetResponse) o; + return Objects.equals(this.accounts, identityDocumentsUploadsGetResponse.accounts) && + Objects.equals(this.item, identityDocumentsUploadsGetResponse.item) && + Objects.equals(this.requestId, identityDocumentsUploadsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, item, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityDocumentsUploadsGetResponse {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityGetRequest.java b/src/main/java/com/plaid/client/model/IdentityGetRequest.java new file mode 100644 index 0000000000..3a0f45e675 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IdentityGetRequest defines the request schema for `/identity/get` + */ +@ApiModel(description = "IdentityGetRequest defines the request schema for `/identity/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private IdentityGetRequestOptions options; + + + public IdentityGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IdentityGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IdentityGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public IdentityGetRequest options(IdentityGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(IdentityGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityGetRequest identityGetRequest = (IdentityGetRequest) o; + return Objects.equals(this.clientId, identityGetRequest.clientId) && + Objects.equals(this.secret, identityGetRequest.secret) && + Objects.equals(this.accessToken, identityGetRequest.accessToken) && + Objects.equals(this.options, identityGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityGetRequestOptions.java b/src/main/java/com/plaid/client/model/IdentityGetRequestOptions.java new file mode 100644 index 0000000000..3f13833332 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityGetRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to filter `/identity/get` results. + */ +@ApiModel(description = "An optional object to filter `/identity/get` results.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityGetRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + + public IdentityGetRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public IdentityGetRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * A list of `account_ids` to retrieve for the Item. Note: An error will be returned if a provided `account_id` is not associated with the Item. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of `account_ids` to retrieve for the Item. Note: An error will be returned if a provided `account_id` is not associated with the Item.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityGetRequestOptions identityGetRequestOptions = (IdentityGetRequestOptions) o; + return Objects.equals(this.accountIds, identityGetRequestOptions.accountIds); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityGetRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityGetResponse.java b/src/main/java/com/plaid/client/model/IdentityGetResponse.java new file mode 100644 index 0000000000..799f3c39e2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityGetResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountIdentity; +import com.plaid.client.model.Item; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * IdentityGetResponse defines the response schema for `/identity/get` + */ +@ApiModel(description = "IdentityGetResponse defines the response schema for `/identity/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityGetResponse { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IdentityGetResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public IdentityGetResponse addAccountsItem(AccountIdentity accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * The accounts for which Identity data has been requested + * @return accounts + **/ + @ApiModelProperty(required = true, value = "The accounts for which Identity data has been requested") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public IdentityGetResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public IdentityGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityGetResponse identityGetResponse = (IdentityGetResponse) o; + return Objects.equals(this.accounts, identityGetResponse.accounts) && + Objects.equals(this.item, identityGetResponse.item) && + Objects.equals(this.requestId, identityGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, item, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityGetResponse {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityMatchRequest.java b/src/main/java/com/plaid/client/model/IdentityMatchRequest.java new file mode 100644 index 0000000000..f2e9422ff2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityMatchRequest.java @@ -0,0 +1,216 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityMatchRequestOptions; +import com.plaid.client.model.IdentityMatchUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IdentityMatchRequest defines the request schema for `/identity/match` + */ +@ApiModel(description = "IdentityMatchRequest defines the request schema for `/identity/match`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityMatchRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private IdentityMatchUser user; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private IdentityMatchRequestOptions options; + + + public IdentityMatchRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IdentityMatchRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IdentityMatchRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public IdentityMatchRequest user(IdentityMatchUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityMatchUser getUser() { + return user; + } + + + public void setUser(IdentityMatchUser user) { + this.user = user; + } + + + public IdentityMatchRequest options(IdentityMatchRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityMatchRequestOptions getOptions() { + return options; + } + + + public void setOptions(IdentityMatchRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityMatchRequest identityMatchRequest = (IdentityMatchRequest) o; + return Objects.equals(this.clientId, identityMatchRequest.clientId) && + Objects.equals(this.secret, identityMatchRequest.secret) && + Objects.equals(this.accessToken, identityMatchRequest.accessToken) && + Objects.equals(this.user, identityMatchRequest.user) && + Objects.equals(this.options, identityMatchRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, user, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityMatchRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityMatchRequestOptions.java b/src/main/java/com/plaid/client/model/IdentityMatchRequestOptions.java new file mode 100644 index 0000000000..2f2fe79acc --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityMatchRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to filter `/identity/match` results + */ +@ApiModel(description = "An optional object to filter `/identity/match` results") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityMatchRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + + public IdentityMatchRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public IdentityMatchRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * An array of `account_ids` to perform fuzzy match + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of `account_ids` to perform fuzzy match") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityMatchRequestOptions identityMatchRequestOptions = (IdentityMatchRequestOptions) o; + return Objects.equals(this.accountIds, identityMatchRequestOptions.accountIds); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityMatchRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityMatchResponse.java b/src/main/java/com/plaid/client/model/IdentityMatchResponse.java new file mode 100644 index 0000000000..2a61cc75c8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityMatchResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountIdentityMatchScore; +import com.plaid.client.model.Item; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * IdentityMatchResponse defines the response schema for `/identity/match` + */ +@ApiModel(description = "IdentityMatchResponse defines the response schema for `/identity/match`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityMatchResponse { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IdentityMatchResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public IdentityMatchResponse addAccountsItem(AccountIdentityMatchScore accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * The accounts for which Identity match has been requested + * @return accounts + **/ + @ApiModelProperty(required = true, value = "The accounts for which Identity match has been requested") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public IdentityMatchResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public IdentityMatchResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityMatchResponse identityMatchResponse = (IdentityMatchResponse) o; + return Objects.equals(this.accounts, identityMatchResponse.accounts) && + Objects.equals(this.item, identityMatchResponse.item) && + Objects.equals(this.requestId, identityMatchResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, item, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityMatchResponse {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityMatchUser.java b/src/main/java/com/plaid/client/model/IdentityMatchUser.java new file mode 100644 index 0000000000..1e2eda4f88 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityMatchUser.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AddressDataNullableNoRequiredFields; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The user's legal name, phone number, email address and address used to perform fuzzy match. If Financial Account Matching is enabled in the Identity Verification product, leave this field empty to automatically match against PII collected from the Identity Verification checks. + */ +@ApiModel(description = "The user's legal name, phone number, email address and address used to perform fuzzy match. If Financial Account Matching is enabled in the Identity Verification product, leave this field empty to automatically match against PII collected from the Identity Verification checks.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityMatchUser { + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private AddressDataNullableNoRequiredFields address; + + + public IdentityMatchUser legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * The user's full legal name. + * @return legalName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's full legal name.") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public IdentityMatchUser phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * The user's phone number, in E.164 format: +{countrycode}{number}. For example: \"+14157452130\". Phone numbers provided in other formats will be parsed on a best-effort basis. Phone number input is validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's phone number, in E.164 format: +{countrycode}{number}. For example: \"+14157452130\". Phone numbers provided in other formats will be parsed on a best-effort basis. Phone number input is validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public IdentityMatchUser emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * The user's email address. + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's email address.") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public IdentityMatchUser address(AddressDataNullableNoRequiredFields address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AddressDataNullableNoRequiredFields getAddress() { + return address; + } + + + public void setAddress(AddressDataNullableNoRequiredFields address) { + this.address = address; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityMatchUser identityMatchUser = (IdentityMatchUser) o; + return Objects.equals(this.legalName, identityMatchUser.legalName) && + Objects.equals(this.phoneNumber, identityMatchUser.phoneNumber) && + Objects.equals(this.emailAddress, identityMatchUser.emailAddress) && + Objects.equals(this.address, identityMatchUser.address); + } + + @Override + public int hashCode() { + return Objects.hash(legalName, phoneNumber, emailAddress, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityMatchUser {\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityRefreshRequest.java b/src/main/java/com/plaid/client/model/IdentityRefreshRequest.java new file mode 100644 index 0000000000..2c41c403c4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityRefreshRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IdentityRefreshRequest defines the request schema for `/identity/refresh` + */ +@ApiModel(description = "IdentityRefreshRequest defines the request schema for `/identity/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityRefreshRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public IdentityRefreshRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IdentityRefreshRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public IdentityRefreshRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityRefreshRequest identityRefreshRequest = (IdentityRefreshRequest) o; + return Objects.equals(this.clientId, identityRefreshRequest.clientId) && + Objects.equals(this.accessToken, identityRefreshRequest.accessToken) && + Objects.equals(this.secret, identityRefreshRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, accessToken, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityRefreshRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityRefreshResponse.java b/src/main/java/com/plaid/client/model/IdentityRefreshResponse.java new file mode 100644 index 0000000000..d9b7bb01de --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityRefreshResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IdentityRefreshResponse defines the response schema for `/identity/refresh` + */ +@ApiModel(description = "IdentityRefreshResponse defines the response schema for `/identity/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityRefreshResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IdentityRefreshResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityRefreshResponse identityRefreshResponse = (IdentityRefreshResponse) o; + return Objects.equals(this.requestId, identityRefreshResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityRefreshResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityUpdateTypes.java b/src/main/java/com/plaid/client/model/IdentityUpdateTypes.java new file mode 100644 index 0000000000..b37526e62b --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityUpdateTypes.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The possible types of identity data that may have changed. + */ +@JsonAdapter(IdentityUpdateTypes.Adapter.class) +public enum IdentityUpdateTypes { + + PHONES("PHONES"), + + ADDRESSES("ADDRESSES"), + + EMAILS("EMAILS"), + + NAMES("NAMES"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IdentityUpdateTypes(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IdentityUpdateTypes fromValue(String value) { + for (IdentityUpdateTypes b : IdentityUpdateTypes.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return IdentityUpdateTypes.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IdentityUpdateTypes enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IdentityUpdateTypes read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IdentityUpdateTypes.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerification.java b/src/main/java/com/plaid/client/model/IdentityVerification.java new file mode 100644 index 0000000000..d61d0aa08e --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerification.java @@ -0,0 +1,654 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocumentaryVerification; +import com.plaid.client.model.IDVProtectEvent; +import com.plaid.client.model.IdentityVerificationStatus; +import com.plaid.client.model.IdentityVerificationStepSummary; +import com.plaid.client.model.IdentityVerificationTemplateReference; +import com.plaid.client.model.IdentityVerificationUserData; +import com.plaid.client.model.KYCCheckDetails; +import com.plaid.client.model.RiskCheckDetails; +import com.plaid.client.model.SelfieCheck; +import com.plaid.client.model.VerifySMSDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * An identity verification attempt represents a customer's attempt to verify their identity, reflecting the required steps for completing the session, the results for each step, and information collected in the process. + */ +@ApiModel(description = "An identity verification attempt represents a customer's attempt to verify their identity, reflecting the required steps for completing the session, the results for each step, and information collected in the process.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerification { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_COMPLETED_AT = "completed_at"; + @SerializedName(SERIALIZED_NAME_COMPLETED_AT) + private OffsetDateTime completedAt; + + public static final String SERIALIZED_NAME_PREVIOUS_ATTEMPT_ID = "previous_attempt_id"; + @SerializedName(SERIALIZED_NAME_PREVIOUS_ATTEMPT_ID) + private String previousAttemptId; + + public static final String SERIALIZED_NAME_SHAREABLE_URL = "shareable_url"; + @SerializedName(SERIALIZED_NAME_SHAREABLE_URL) + private String shareableUrl; + + public static final String SERIALIZED_NAME_TEMPLATE = "template"; + @SerializedName(SERIALIZED_NAME_TEMPLATE) + private IdentityVerificationTemplateReference template; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private IdentityVerificationUserData user; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private IdentityVerificationStatus status; + + public static final String SERIALIZED_NAME_STEPS = "steps"; + @SerializedName(SERIALIZED_NAME_STEPS) + private IdentityVerificationStepSummary steps; + + public static final String SERIALIZED_NAME_DOCUMENTARY_VERIFICATION = "documentary_verification"; + @SerializedName(SERIALIZED_NAME_DOCUMENTARY_VERIFICATION) + private DocumentaryVerification documentaryVerification; + + public static final String SERIALIZED_NAME_SELFIE_CHECK = "selfie_check"; + @SerializedName(SERIALIZED_NAME_SELFIE_CHECK) + private SelfieCheck selfieCheck; + + public static final String SERIALIZED_NAME_KYC_CHECK = "kyc_check"; + @SerializedName(SERIALIZED_NAME_KYC_CHECK) + private KYCCheckDetails kycCheck; + + public static final String SERIALIZED_NAME_RISK_CHECK = "risk_check"; + @SerializedName(SERIALIZED_NAME_RISK_CHECK) + private RiskCheckDetails riskCheck; + + public static final String SERIALIZED_NAME_VERIFY_SMS = "verify_sms"; + @SerializedName(SERIALIZED_NAME_VERIFY_SMS) + private VerifySMSDetails verifySms; + + public static final String SERIALIZED_NAME_WATCHLIST_SCREENING_ID = "watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENING_ID) + private String watchlistScreeningId; + + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_REDACTED_AT = "redacted_at"; + @SerializedName(SERIALIZED_NAME_REDACTED_AT) + private OffsetDateTime redactedAt; + + public static final String SERIALIZED_NAME_LATEST_SCORED_PROTECT_EVENT = "latest_scored_protect_event"; + @SerializedName(SERIALIZED_NAME_LATEST_SCORED_PROTECT_EVENT) + private IDVProtectEvent latestScoredProtectEvent; + + + public IdentityVerification id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Identity Verification attempt. + * @return id + **/ + @ApiModelProperty(example = "idv_52xR9LKo77r1Np", required = true, value = "ID of the associated Identity Verification attempt.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public IdentityVerification clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public IdentityVerification createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public IdentityVerification completedAt(OffsetDateTime completedAt) { + + this.completedAt = completedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return completedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getCompletedAt() { + return completedAt; + } + + + public void setCompletedAt(OffsetDateTime completedAt) { + this.completedAt = completedAt; + } + + + public IdentityVerification previousAttemptId(String previousAttemptId) { + + this.previousAttemptId = previousAttemptId; + return this; + } + + /** + * The ID for the Identity Verification preceding this session. This field will only be filled if the current Identity Verification is a retry of a previous attempt. + * @return previousAttemptId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "idv_42cF1MNo42r9Xj", required = true, value = "The ID for the Identity Verification preceding this session. This field will only be filled if the current Identity Verification is a retry of a previous attempt.") + + public String getPreviousAttemptId() { + return previousAttemptId; + } + + + public void setPreviousAttemptId(String previousAttemptId) { + this.previousAttemptId = previousAttemptId; + } + + + public IdentityVerification shareableUrl(String shareableUrl) { + + this.shareableUrl = shareableUrl; + return this; + } + + /** + * A shareable URL that can be sent directly to the user to complete verification + * @return shareableUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://flow.plaid.com/verify/idv_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f", required = true, value = "A shareable URL that can be sent directly to the user to complete verification") + + public String getShareableUrl() { + return shareableUrl; + } + + + public void setShareableUrl(String shareableUrl) { + this.shareableUrl = shareableUrl; + } + + + public IdentityVerification template(IdentityVerificationTemplateReference template) { + + this.template = template; + return this; + } + + /** + * Get template + * @return template + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationTemplateReference getTemplate() { + return template; + } + + + public void setTemplate(IdentityVerificationTemplateReference template) { + this.template = template; + } + + + public IdentityVerification user(IdentityVerificationUserData user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationUserData getUser() { + return user; + } + + + public void setUser(IdentityVerificationUserData user) { + this.user = user; + } + + + public IdentityVerification status(IdentityVerificationStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStatus getStatus() { + return status; + } + + + public void setStatus(IdentityVerificationStatus status) { + this.status = status; + } + + + public IdentityVerification steps(IdentityVerificationStepSummary steps) { + + this.steps = steps; + return this; + } + + /** + * Get steps + * @return steps + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStepSummary getSteps() { + return steps; + } + + + public void setSteps(IdentityVerificationStepSummary steps) { + this.steps = steps; + } + + + public IdentityVerification documentaryVerification(DocumentaryVerification documentaryVerification) { + + this.documentaryVerification = documentaryVerification; + return this; + } + + /** + * Get documentaryVerification + * @return documentaryVerification + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public DocumentaryVerification getDocumentaryVerification() { + return documentaryVerification; + } + + + public void setDocumentaryVerification(DocumentaryVerification documentaryVerification) { + this.documentaryVerification = documentaryVerification; + } + + + public IdentityVerification selfieCheck(SelfieCheck selfieCheck) { + + this.selfieCheck = selfieCheck; + return this; + } + + /** + * Get selfieCheck + * @return selfieCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public SelfieCheck getSelfieCheck() { + return selfieCheck; + } + + + public void setSelfieCheck(SelfieCheck selfieCheck) { + this.selfieCheck = selfieCheck; + } + + + public IdentityVerification kycCheck(KYCCheckDetails kycCheck) { + + this.kycCheck = kycCheck; + return this; + } + + /** + * Get kycCheck + * @return kycCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public KYCCheckDetails getKycCheck() { + return kycCheck; + } + + + public void setKycCheck(KYCCheckDetails kycCheck) { + this.kycCheck = kycCheck; + } + + + public IdentityVerification riskCheck(RiskCheckDetails riskCheck) { + + this.riskCheck = riskCheck; + return this; + } + + /** + * Get riskCheck + * @return riskCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public RiskCheckDetails getRiskCheck() { + return riskCheck; + } + + + public void setRiskCheck(RiskCheckDetails riskCheck) { + this.riskCheck = riskCheck; + } + + + public IdentityVerification verifySms(VerifySMSDetails verifySms) { + + this.verifySms = verifySms; + return this; + } + + /** + * Get verifySms + * @return verifySms + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public VerifySMSDetails getVerifySms() { + return verifySms; + } + + + public void setVerifySms(VerifySMSDetails verifySms) { + this.verifySms = verifySms; + } + + + public IdentityVerification watchlistScreeningId(String watchlistScreeningId) { + + this.watchlistScreeningId = watchlistScreeningId; + return this; + } + + /** + * ID of the associated screening. + * @return watchlistScreeningId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getWatchlistScreeningId() { + return watchlistScreeningId; + } + + + public void setWatchlistScreeningId(String watchlistScreeningId) { + this.watchlistScreeningId = watchlistScreeningId; + } + + + public IdentityVerification beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * Beacon is deprecated in favor of Plaid Protect. This field is only populated for users of the deprecated Beacon product. + * @return beaconUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Beacon is deprecated in favor of Plaid Protect. This field is only populated for users of the deprecated Beacon product.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public IdentityVerification userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Unique user identifier, created by calling `/user/create`. Either a `user_id` or the `client_user_id` must be provided. The `user_id` may only be used instead of the `client_user_id` if you were not a pre-existing user of `/user/create` as of December 10, 2025, or if you have since [migrated to the new User APIs](https://plaid.com/docs/api/users/migrate-to-new-user-apis); for more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). If both this field and a `client_user_id` are present in a request, the `user_id` must have been created from the provided `client_user_id`. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "usr_dddAs9ewdcDQQQ", required = true, value = "Unique user identifier, created by calling `/user/create`. Either a `user_id` or the `client_user_id` must be provided. The `user_id` may only be used instead of the `client_user_id` if you were not a pre-existing user of `/user/create` as of December 10, 2025, or if you have since [migrated to the new User APIs](https://plaid.com/docs/api/users/migrate-to-new-user-apis); for more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). If both this field and a `client_user_id` are present in a request, the `user_id` must have been created from the provided `client_user_id`.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public IdentityVerification redactedAt(OffsetDateTime redactedAt) { + + this.redactedAt = redactedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return redactedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getRedactedAt() { + return redactedAt; + } + + + public void setRedactedAt(OffsetDateTime redactedAt) { + this.redactedAt = redactedAt; + } + + + public IdentityVerification latestScoredProtectEvent(IDVProtectEvent latestScoredProtectEvent) { + + this.latestScoredProtectEvent = latestScoredProtectEvent; + return this; + } + + /** + * Get latestScoredProtectEvent + * @return latestScoredProtectEvent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IDVProtectEvent getLatestScoredProtectEvent() { + return latestScoredProtectEvent; + } + + + public void setLatestScoredProtectEvent(IDVProtectEvent latestScoredProtectEvent) { + this.latestScoredProtectEvent = latestScoredProtectEvent; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerification identityVerification = (IdentityVerification) o; + return Objects.equals(this.id, identityVerification.id) && + Objects.equals(this.clientUserId, identityVerification.clientUserId) && + Objects.equals(this.createdAt, identityVerification.createdAt) && + Objects.equals(this.completedAt, identityVerification.completedAt) && + Objects.equals(this.previousAttemptId, identityVerification.previousAttemptId) && + Objects.equals(this.shareableUrl, identityVerification.shareableUrl) && + Objects.equals(this.template, identityVerification.template) && + Objects.equals(this.user, identityVerification.user) && + Objects.equals(this.status, identityVerification.status) && + Objects.equals(this.steps, identityVerification.steps) && + Objects.equals(this.documentaryVerification, identityVerification.documentaryVerification) && + Objects.equals(this.selfieCheck, identityVerification.selfieCheck) && + Objects.equals(this.kycCheck, identityVerification.kycCheck) && + Objects.equals(this.riskCheck, identityVerification.riskCheck) && + Objects.equals(this.verifySms, identityVerification.verifySms) && + Objects.equals(this.watchlistScreeningId, identityVerification.watchlistScreeningId) && + Objects.equals(this.beaconUserId, identityVerification.beaconUserId) && + Objects.equals(this.userId, identityVerification.userId) && + Objects.equals(this.redactedAt, identityVerification.redactedAt) && + Objects.equals(this.latestScoredProtectEvent, identityVerification.latestScoredProtectEvent); + } + + @Override + public int hashCode() { + return Objects.hash(id, clientUserId, createdAt, completedAt, previousAttemptId, shareableUrl, template, user, status, steps, documentaryVerification, selfieCheck, kycCheck, riskCheck, verifySms, watchlistScreeningId, beaconUserId, userId, redactedAt, latestScoredProtectEvent); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerification {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" completedAt: ").append(toIndentedString(completedAt)).append("\n"); + sb.append(" previousAttemptId: ").append(toIndentedString(previousAttemptId)).append("\n"); + sb.append(" shareableUrl: ").append(toIndentedString(shareableUrl)).append("\n"); + sb.append(" template: ").append(toIndentedString(template)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" steps: ").append(toIndentedString(steps)).append("\n"); + sb.append(" documentaryVerification: ").append(toIndentedString(documentaryVerification)).append("\n"); + sb.append(" selfieCheck: ").append(toIndentedString(selfieCheck)).append("\n"); + sb.append(" kycCheck: ").append(toIndentedString(kycCheck)).append("\n"); + sb.append(" riskCheck: ").append(toIndentedString(riskCheck)).append("\n"); + sb.append(" verifySms: ").append(toIndentedString(verifySms)).append("\n"); + sb.append(" watchlistScreeningId: ").append(toIndentedString(watchlistScreeningId)).append("\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" redactedAt: ").append(toIndentedString(redactedAt)).append("\n"); + sb.append(" latestScoredProtectEvent: ").append(toIndentedString(latestScoredProtectEvent)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationAutofillAddress.java b/src/main/java/com/plaid/client/model/IdentityVerificationAutofillAddress.java new file mode 100644 index 0000000000..815319fce1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationAutofillAddress.java @@ -0,0 +1,300 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AddressPurposeLabel; +import com.plaid.client.model.POBoxStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Even if an address has been autofilled, some fields may be null depending on the region's addressing system. For example: Addresses from the United Kingdom will not include a region Addresses from Hong Kong will not include postal code + */ +@ApiModel(description = "Even if an address has been autofilled, some fields may be null depending on the region's addressing system. For example: Addresses from the United Kingdom will not include a region Addresses from Hong Kong will not include postal code") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationAutofillAddress { + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_STREET2 = "street2"; + @SerializedName(SERIALIZED_NAME_STREET2) + private String street2; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_PO_BOX = "po_box"; + @SerializedName(SERIALIZED_NAME_PO_BOX) + private POBoxStatus poBox; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AddressPurposeLabel type; + + + public IdentityVerificationAutofillAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters. + * @return street + **/ + @ApiModelProperty(example = "123 Main St.", required = true, value = "The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public IdentityVerificationAutofillAddress street2(String street2) { + + this.street2 = street2; + return this; + } + + /** + * Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters. + * @return street2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Unit 42", required = true, value = "Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters.") + + public String getStreet2() { + return street2; + } + + + public void setStreet2(String street2) { + this.street2 = street2; + } + + + public IdentityVerificationAutofillAddress city(String city) { + + this.city = city; + return this; + } + + /** + * City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Pawnee", required = true, value = "City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public IdentityVerificationAutofillAddress region(String region) { + + this.region = region; + return this; + } + + /** + * A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field. + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "IN", required = true, value = "A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public IdentityVerificationAutofillAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "46001", required = true, value = "The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public IdentityVerificationAutofillAddress country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public IdentityVerificationAutofillAddress poBox(POBoxStatus poBox) { + + this.poBox = poBox; + return this; + } + + /** + * Get poBox + * @return poBox + **/ + @ApiModelProperty(required = true, value = "") + + public POBoxStatus getPoBox() { + return poBox; + } + + + public void setPoBox(POBoxStatus poBox) { + this.poBox = poBox; + } + + + public IdentityVerificationAutofillAddress type(AddressPurposeLabel type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AddressPurposeLabel getType() { + return type; + } + + + public void setType(AddressPurposeLabel type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationAutofillAddress identityVerificationAutofillAddress = (IdentityVerificationAutofillAddress) o; + return Objects.equals(this.street, identityVerificationAutofillAddress.street) && + Objects.equals(this.street2, identityVerificationAutofillAddress.street2) && + Objects.equals(this.city, identityVerificationAutofillAddress.city) && + Objects.equals(this.region, identityVerificationAutofillAddress.region) && + Objects.equals(this.postalCode, identityVerificationAutofillAddress.postalCode) && + Objects.equals(this.country, identityVerificationAutofillAddress.country) && + Objects.equals(this.poBox, identityVerificationAutofillAddress.poBox) && + Objects.equals(this.type, identityVerificationAutofillAddress.type); + } + + @Override + public int hashCode() { + return Objects.hash(street, street2, city, region, postalCode, country, poBox, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationAutofillAddress {\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" street2: ").append(toIndentedString(street2)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" poBox: ").append(toIndentedString(poBox)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationAutofillCreateRequest.java b/src/main/java/com/plaid/client/model/IdentityVerificationAutofillCreateRequest.java new file mode 100644 index 0000000000..c38c78765d --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationAutofillCreateRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input to autofill an Identity Verification + */ +@ApiModel(description = "Request input to autofill an Identity Verification") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationAutofillCreateRequest { + public static final String SERIALIZED_NAME_IDENTITY_VERIFICATION_ID = "identity_verification_id"; + @SerializedName(SERIALIZED_NAME_IDENTITY_VERIFICATION_ID) + private String identityVerificationId; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public IdentityVerificationAutofillCreateRequest identityVerificationId(String identityVerificationId) { + + this.identityVerificationId = identityVerificationId; + return this; + } + + /** + * ID of the associated Identity Verification attempt. + * @return identityVerificationId + **/ + @ApiModelProperty(example = "idv_52xR9LKo77r1Np", required = true, value = "ID of the associated Identity Verification attempt.") + + public String getIdentityVerificationId() { + return identityVerificationId; + } + + + public void setIdentityVerificationId(String identityVerificationId) { + this.identityVerificationId = identityVerificationId; + } + + + public IdentityVerificationAutofillCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IdentityVerificationAutofillCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationAutofillCreateRequest identityVerificationAutofillCreateRequest = (IdentityVerificationAutofillCreateRequest) o; + return Objects.equals(this.identityVerificationId, identityVerificationAutofillCreateRequest.identityVerificationId) && + Objects.equals(this.clientId, identityVerificationAutofillCreateRequest.clientId) && + Objects.equals(this.secret, identityVerificationAutofillCreateRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(identityVerificationId, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationAutofillCreateRequest {\n"); + sb.append(" identityVerificationId: ").append(toIndentedString(identityVerificationId)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationAutofillCreateResponse.java b/src/main/java/com/plaid/client/model/IdentityVerificationAutofillCreateResponse.java new file mode 100644 index 0000000000..1578a2908a --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationAutofillCreateResponse.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityVerificationAutofillStatus; +import com.plaid.client.model.IdentityVerificationAutofillUserData; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Autofill represents unverified customer information. This needs to be confirmed by the customer before using. + */ +@ApiModel(description = "Autofill represents unverified customer information. This needs to be confirmed by the customer before using.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationAutofillCreateResponse { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private IdentityVerificationAutofillStatus status; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private IdentityVerificationAutofillUserData user; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IdentityVerificationAutofillCreateResponse status(IdentityVerificationAutofillStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationAutofillStatus getStatus() { + return status; + } + + + public void setStatus(IdentityVerificationAutofillStatus status) { + this.status = status; + } + + + public IdentityVerificationAutofillCreateResponse user(IdentityVerificationAutofillUserData user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationAutofillUserData getUser() { + return user; + } + + + public void setUser(IdentityVerificationAutofillUserData user) { + this.user = user; + } + + + public IdentityVerificationAutofillCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationAutofillCreateResponse identityVerificationAutofillCreateResponse = (IdentityVerificationAutofillCreateResponse) o; + return Objects.equals(this.status, identityVerificationAutofillCreateResponse.status) && + Objects.equals(this.user, identityVerificationAutofillCreateResponse.user) && + Objects.equals(this.requestId, identityVerificationAutofillCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(status, user, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationAutofillCreateResponse {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationAutofillStatus.java b/src/main/java/com/plaid/client/model/IdentityVerificationAutofillStatus.java new file mode 100644 index 0000000000..75db7cc89c --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationAutofillStatus.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A status enum indicating whether autofill succeeded or failed. + */ +@JsonAdapter(IdentityVerificationAutofillStatus.Adapter.class) +public enum IdentityVerificationAutofillStatus { + + SUCCESS("success"), + + FAILED("failed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IdentityVerificationAutofillStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IdentityVerificationAutofillStatus fromValue(String value) { + for (IdentityVerificationAutofillStatus b : IdentityVerificationAutofillStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return IdentityVerificationAutofillStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IdentityVerificationAutofillStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IdentityVerificationAutofillStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IdentityVerificationAutofillStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationAutofillUserData.java b/src/main/java/com/plaid/client/model/IdentityVerificationAutofillUserData.java new file mode 100644 index 0000000000..b9d185ee1b --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationAutofillUserData.java @@ -0,0 +1,160 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityVerificationAutofillAddress; +import com.plaid.client.model.IdentityVerificationResponseUserName; +import com.plaid.client.model.UserIDNumber; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * User information that was autofilled. All this information should be confirmed by the user before using. + */ +@ApiModel(description = "User information that was autofilled. All this information should be confirmed by the user before using.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationAutofillUserData { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private IdentityVerificationResponseUserName name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private IdentityVerificationAutofillAddress address; + + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private UserIDNumber idNumber; + + + public IdentityVerificationAutofillUserData name(IdentityVerificationResponseUserName name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationResponseUserName getName() { + return name; + } + + + public void setName(IdentityVerificationResponseUserName name) { + this.name = name; + } + + + public IdentityVerificationAutofillUserData address(IdentityVerificationAutofillAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationAutofillAddress getAddress() { + return address; + } + + + public void setAddress(IdentityVerificationAutofillAddress address) { + this.address = address; + } + + + public IdentityVerificationAutofillUserData idNumber(UserIDNumber idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Get idNumber + * @return idNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public UserIDNumber getIdNumber() { + return idNumber; + } + + + public void setIdNumber(UserIDNumber idNumber) { + this.idNumber = idNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationAutofillUserData identityVerificationAutofillUserData = (IdentityVerificationAutofillUserData) o; + return Objects.equals(this.name, identityVerificationAutofillUserData.name) && + Objects.equals(this.address, identityVerificationAutofillUserData.address) && + Objects.equals(this.idNumber, identityVerificationAutofillUserData.idNumber); + } + + @Override + public int hashCode() { + return Objects.hash(name, address, idNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationAutofillUserData {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationCreateRequest.java b/src/main/java/com/plaid/client/model/IdentityVerificationCreateRequest.java new file mode 100644 index 0000000000..a3b2e4b4f3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationCreateRequest.java @@ -0,0 +1,329 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityVerificationCreateRequestUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request schema for `/identity_verification/create` + */ +@ApiModel(description = "Request schema for `/identity_verification/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_IS_SHAREABLE = "is_shareable"; + @SerializedName(SERIALIZED_NAME_IS_SHAREABLE) + private Boolean isShareable; + + public static final String SERIALIZED_NAME_TEMPLATE_ID = "template_id"; + @SerializedName(SERIALIZED_NAME_TEMPLATE_ID) + private String templateId; + + public static final String SERIALIZED_NAME_GAVE_CONSENT = "gave_consent"; + @SerializedName(SERIALIZED_NAME_GAVE_CONSENT) + private Boolean gaveConsent = false; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private IdentityVerificationCreateRequestUser user; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_IS_IDEMPOTENT = "is_idempotent"; + @SerializedName(SERIALIZED_NAME_IS_IDEMPOTENT) + private Boolean isIdempotent; + + + public IdentityVerificationCreateRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public IdentityVerificationCreateRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Unique user identifier, created by calling `/user/create`. Either a `user_id` or the `client_user_id` must be provided. The `user_id` may only be used instead of the `client_user_id` if you were not a pre-existing user of `/user/create` as of December 10, 2025, or if you have since [migrated to the new User APIs](https://plaid.com/docs/api/users/migrate-to-new-user-apis); for more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). If both this field and a `client_user_id` are present in a request, the `user_id` must have been created from the provided `client_user_id`. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "usr_dddAs9ewdcDQQQ", value = "Unique user identifier, created by calling `/user/create`. Either a `user_id` or the `client_user_id` must be provided. The `user_id` may only be used instead of the `client_user_id` if you were not a pre-existing user of `/user/create` as of December 10, 2025, or if you have since [migrated to the new User APIs](https://plaid.com/docs/api/users/migrate-to-new-user-apis); for more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). If both this field and a `client_user_id` are present in a request, the `user_id` must have been created from the provided `client_user_id`.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public IdentityVerificationCreateRequest isShareable(Boolean isShareable) { + + this.isShareable = isShareable; + return this; + } + + /** + * A flag specifying whether you would like Plaid to expose a shareable URL for the verification being created. + * @return isShareable + **/ + @ApiModelProperty(example = "true", required = true, value = "A flag specifying whether you would like Plaid to expose a shareable URL for the verification being created.") + + public Boolean getIsShareable() { + return isShareable; + } + + + public void setIsShareable(Boolean isShareable) { + this.isShareable = isShareable; + } + + + public IdentityVerificationCreateRequest templateId(String templateId) { + + this.templateId = templateId; + return this; + } + + /** + * ID of the associated Identity Verification template. Like all Plaid identifiers, this is case-sensitive. + * @return templateId + **/ + @ApiModelProperty(example = "idvtmp_4FrXJvfQU3zGUR", required = true, value = "ID of the associated Identity Verification template. Like all Plaid identifiers, this is case-sensitive.") + + public String getTemplateId() { + return templateId; + } + + + public void setTemplateId(String templateId) { + this.templateId = templateId; + } + + + public IdentityVerificationCreateRequest gaveConsent(Boolean gaveConsent) { + + this.gaveConsent = gaveConsent; + return this; + } + + /** + * A flag specifying whether the end user has already agreed to a privacy policy specifying that their data will be shared with Plaid for verification purposes. If `gave_consent` is set to `true`, the `accept_tos` step will be marked as `skipped` and the end user's session will start at the next step requirement. + * @return gaveConsent + **/ + @ApiModelProperty(example = "true", required = true, value = "A flag specifying whether the end user has already agreed to a privacy policy specifying that their data will be shared with Plaid for verification purposes. If `gave_consent` is set to `true`, the `accept_tos` step will be marked as `skipped` and the end user's session will start at the next step requirement.") + + public Boolean getGaveConsent() { + return gaveConsent; + } + + + public void setGaveConsent(Boolean gaveConsent) { + this.gaveConsent = gaveConsent; + } + + + public IdentityVerificationCreateRequest user(IdentityVerificationCreateRequestUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityVerificationCreateRequestUser getUser() { + return user; + } + + + public void setUser(IdentityVerificationCreateRequestUser user) { + this.user = user; + } + + + public IdentityVerificationCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IdentityVerificationCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IdentityVerificationCreateRequest isIdempotent(Boolean isIdempotent) { + + this.isIdempotent = isIdempotent; + return this; + } + + /** + * An optional flag specifying how you would like Plaid to handle attempts to create an Identity Verification when an Identity Verification already exists for the provided `client_user_id` and/or `user_id`, and `template_id`. If idempotency is enabled, Plaid will return the existing Identity Verification. If idempotency is disabled, Plaid will reject the request with a `400 Bad Request` status code if an Identity Verification already exists for the supplied `client_user_id` and/or `user_id`, and `template_id`. + * @return isIdempotent + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "true", value = "An optional flag specifying how you would like Plaid to handle attempts to create an Identity Verification when an Identity Verification already exists for the provided `client_user_id` and/or `user_id`, and `template_id`. If idempotency is enabled, Plaid will return the existing Identity Verification. If idempotency is disabled, Plaid will reject the request with a `400 Bad Request` status code if an Identity Verification already exists for the supplied `client_user_id` and/or `user_id`, and `template_id`.") + + public Boolean getIsIdempotent() { + return isIdempotent; + } + + + public void setIsIdempotent(Boolean isIdempotent) { + this.isIdempotent = isIdempotent; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationCreateRequest identityVerificationCreateRequest = (IdentityVerificationCreateRequest) o; + return Objects.equals(this.clientUserId, identityVerificationCreateRequest.clientUserId) && + Objects.equals(this.userId, identityVerificationCreateRequest.userId) && + Objects.equals(this.isShareable, identityVerificationCreateRequest.isShareable) && + Objects.equals(this.templateId, identityVerificationCreateRequest.templateId) && + Objects.equals(this.gaveConsent, identityVerificationCreateRequest.gaveConsent) && + Objects.equals(this.user, identityVerificationCreateRequest.user) && + Objects.equals(this.clientId, identityVerificationCreateRequest.clientId) && + Objects.equals(this.secret, identityVerificationCreateRequest.secret) && + Objects.equals(this.isIdempotent, identityVerificationCreateRequest.isIdempotent); + } + + @Override + public int hashCode() { + return Objects.hash(clientUserId, userId, isShareable, templateId, gaveConsent, user, clientId, secret, isIdempotent); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationCreateRequest {\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" isShareable: ").append(toIndentedString(isShareable)).append("\n"); + sb.append(" templateId: ").append(toIndentedString(templateId)).append("\n"); + sb.append(" gaveConsent: ").append(toIndentedString(gaveConsent)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" isIdempotent: ").append(toIndentedString(isIdempotent)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationCreateRequestUser.java b/src/main/java/com/plaid/client/model/IdentityVerificationCreateRequestUser.java new file mode 100644 index 0000000000..577f319e0a --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationCreateRequestUser.java @@ -0,0 +1,306 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityVerificationRequestUserName; +import com.plaid.client.model.UserAddress; +import com.plaid.client.model.UserIDNumber; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * User information collected outside of Link, most likely via your own onboarding process. Each of the following identity fields are optional: `email_address` `phone_number` `date_of_birth` `name` `address` `id_number` Specifically, these fields are optional in that they can either be fully provided (satisfying every required field in their subschema) or omitted from the request entirely by not providing the key or value. Providing these fields via the API will result in Link skipping the data collection process for the associated user. All verification steps enabled in the associated Identity Verification Template will still be run. Verification steps will either be run immediately, or once the user completes the `accept_tos` step, depending on the value provided to the `gave_consent` field. If you are not using the shareable URL feature, you can optionally provide these fields via `/link/token/create` instead; both `/identity_verification/create` and `/link/token/create` are valid ways to provide this information. Note that if you provide a non-`null` user data object via `/identity_verification/create`, any user data fields entered via `/link/token/create` for the same `client_user_id` will be ignored when prefilling Link. The `ip_address` field is optional. Provide the end user's IP address to enable IP-based risk checks for backend-only integrations that do not use the Link SDK; when the Link SDK is used, the IP address is collected automatically. Unlike the identity fields above, `ip_address` cannot be provided via `/link/token/create`. + */ +@ApiModel(description = "User information collected outside of Link, most likely via your own onboarding process. Each of the following identity fields are optional: `email_address` `phone_number` `date_of_birth` `name` `address` `id_number` Specifically, these fields are optional in that they can either be fully provided (satisfying every required field in their subschema) or omitted from the request entirely by not providing the key or value. Providing these fields via the API will result in Link skipping the data collection process for the associated user. All verification steps enabled in the associated Identity Verification Template will still be run. Verification steps will either be run immediately, or once the user completes the `accept_tos` step, depending on the value provided to the `gave_consent` field. If you are not using the shareable URL feature, you can optionally provide these fields via `/link/token/create` instead; both `/identity_verification/create` and `/link/token/create` are valid ways to provide this information. Note that if you provide a non-`null` user data object via `/identity_verification/create`, any user data fields entered via `/link/token/create` for the same `client_user_id` will be ignored when prefilling Link. The `ip_address` field is optional. Provide the end user's IP address to enable IP-based risk checks for backend-only integrations that do not use the Link SDK; when the Link SDK is used, the IP address is collected automatically. Unlike the identity fields above, `ip_address` cannot be provided via `/link/token/create`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationCreateRequestUser { + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private IdentityVerificationRequestUserName name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private UserAddress address; + + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private UserIDNumber idNumber; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_IP_ADDRESS = "ip_address"; + @SerializedName(SERIALIZED_NAME_IP_ADDRESS) + private String ipAddress; + + + public IdentityVerificationCreateRequestUser emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user@example.com", value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public IdentityVerificationCreateRequestUser phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A valid phone number in E.164 format. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+12345678909", value = "A valid phone number in E.164 format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public IdentityVerificationCreateRequestUser dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public IdentityVerificationCreateRequestUser name(IdentityVerificationRequestUserName name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityVerificationRequestUserName getName() { + return name; + } + + + public void setName(IdentityVerificationRequestUserName name) { + this.name = name; + } + + + public IdentityVerificationCreateRequestUser address(UserAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserAddress getAddress() { + return address; + } + + + public void setAddress(UserAddress address) { + this.address = address; + } + + + public IdentityVerificationCreateRequestUser idNumber(UserIDNumber idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Get idNumber + * @return idNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserIDNumber getIdNumber() { + return idNumber; + } + + + public void setIdNumber(UserIDNumber idNumber) { + this.idNumber = idNumber; + } + + + public IdentityVerificationCreateRequestUser clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * Specifying `user.client_user_id` is deprecated. Please provide `client_user_id` at the root level instead. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", value = "Specifying `user.client_user_id` is deprecated. Please provide `client_user_id` at the root level instead.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public IdentityVerificationCreateRequestUser ipAddress(String ipAddress) { + + this.ipAddress = ipAddress; + return this; + } + + /** + * An IPv4 or IPv6 address. + * @return ipAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "192.0.2.42", value = "An IPv4 or IPv6 address.") + + public String getIpAddress() { + return ipAddress; + } + + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationCreateRequestUser identityVerificationCreateRequestUser = (IdentityVerificationCreateRequestUser) o; + return Objects.equals(this.emailAddress, identityVerificationCreateRequestUser.emailAddress) && + Objects.equals(this.phoneNumber, identityVerificationCreateRequestUser.phoneNumber) && + Objects.equals(this.dateOfBirth, identityVerificationCreateRequestUser.dateOfBirth) && + Objects.equals(this.name, identityVerificationCreateRequestUser.name) && + Objects.equals(this.address, identityVerificationCreateRequestUser.address) && + Objects.equals(this.idNumber, identityVerificationCreateRequestUser.idNumber) && + Objects.equals(this.clientUserId, identityVerificationCreateRequestUser.clientUserId) && + Objects.equals(this.ipAddress, identityVerificationCreateRequestUser.ipAddress); + } + + @Override + public int hashCode() { + return Objects.hash(emailAddress, phoneNumber, dateOfBirth, name, address, idNumber, clientUserId, ipAddress); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationCreateRequestUser {\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" ipAddress: ").append(toIndentedString(ipAddress)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationCreateResponse.java b/src/main/java/com/plaid/client/model/IdentityVerificationCreateResponse.java new file mode 100644 index 0000000000..2b5b88cbcb --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationCreateResponse.java @@ -0,0 +1,682 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocumentaryVerification; +import com.plaid.client.model.IDVProtectEvent; +import com.plaid.client.model.IdentityVerificationStatus; +import com.plaid.client.model.IdentityVerificationStepSummary; +import com.plaid.client.model.IdentityVerificationTemplateReference; +import com.plaid.client.model.IdentityVerificationUserData; +import com.plaid.client.model.KYCCheckDetails; +import com.plaid.client.model.RiskCheckDetails; +import com.plaid.client.model.SelfieCheck; +import com.plaid.client.model.VerifySMSDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * An identity verification attempt represents a customer's attempt to verify their identity, reflecting the required steps for completing the session, the results for each step, and information collected in the process. + */ +@ApiModel(description = "An identity verification attempt represents a customer's attempt to verify their identity, reflecting the required steps for completing the session, the results for each step, and information collected in the process.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationCreateResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_COMPLETED_AT = "completed_at"; + @SerializedName(SERIALIZED_NAME_COMPLETED_AT) + private OffsetDateTime completedAt; + + public static final String SERIALIZED_NAME_PREVIOUS_ATTEMPT_ID = "previous_attempt_id"; + @SerializedName(SERIALIZED_NAME_PREVIOUS_ATTEMPT_ID) + private String previousAttemptId; + + public static final String SERIALIZED_NAME_SHAREABLE_URL = "shareable_url"; + @SerializedName(SERIALIZED_NAME_SHAREABLE_URL) + private String shareableUrl; + + public static final String SERIALIZED_NAME_TEMPLATE = "template"; + @SerializedName(SERIALIZED_NAME_TEMPLATE) + private IdentityVerificationTemplateReference template; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private IdentityVerificationUserData user; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private IdentityVerificationStatus status; + + public static final String SERIALIZED_NAME_STEPS = "steps"; + @SerializedName(SERIALIZED_NAME_STEPS) + private IdentityVerificationStepSummary steps; + + public static final String SERIALIZED_NAME_DOCUMENTARY_VERIFICATION = "documentary_verification"; + @SerializedName(SERIALIZED_NAME_DOCUMENTARY_VERIFICATION) + private DocumentaryVerification documentaryVerification; + + public static final String SERIALIZED_NAME_SELFIE_CHECK = "selfie_check"; + @SerializedName(SERIALIZED_NAME_SELFIE_CHECK) + private SelfieCheck selfieCheck; + + public static final String SERIALIZED_NAME_KYC_CHECK = "kyc_check"; + @SerializedName(SERIALIZED_NAME_KYC_CHECK) + private KYCCheckDetails kycCheck; + + public static final String SERIALIZED_NAME_RISK_CHECK = "risk_check"; + @SerializedName(SERIALIZED_NAME_RISK_CHECK) + private RiskCheckDetails riskCheck; + + public static final String SERIALIZED_NAME_VERIFY_SMS = "verify_sms"; + @SerializedName(SERIALIZED_NAME_VERIFY_SMS) + private VerifySMSDetails verifySms; + + public static final String SERIALIZED_NAME_WATCHLIST_SCREENING_ID = "watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENING_ID) + private String watchlistScreeningId; + + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_REDACTED_AT = "redacted_at"; + @SerializedName(SERIALIZED_NAME_REDACTED_AT) + private OffsetDateTime redactedAt; + + public static final String SERIALIZED_NAME_LATEST_SCORED_PROTECT_EVENT = "latest_scored_protect_event"; + @SerializedName(SERIALIZED_NAME_LATEST_SCORED_PROTECT_EVENT) + private IDVProtectEvent latestScoredProtectEvent; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IdentityVerificationCreateResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Identity Verification attempt. + * @return id + **/ + @ApiModelProperty(example = "idv_52xR9LKo77r1Np", required = true, value = "ID of the associated Identity Verification attempt.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public IdentityVerificationCreateResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public IdentityVerificationCreateResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public IdentityVerificationCreateResponse completedAt(OffsetDateTime completedAt) { + + this.completedAt = completedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return completedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getCompletedAt() { + return completedAt; + } + + + public void setCompletedAt(OffsetDateTime completedAt) { + this.completedAt = completedAt; + } + + + public IdentityVerificationCreateResponse previousAttemptId(String previousAttemptId) { + + this.previousAttemptId = previousAttemptId; + return this; + } + + /** + * The ID for the Identity Verification preceding this session. This field will only be filled if the current Identity Verification is a retry of a previous attempt. + * @return previousAttemptId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "idv_42cF1MNo42r9Xj", required = true, value = "The ID for the Identity Verification preceding this session. This field will only be filled if the current Identity Verification is a retry of a previous attempt.") + + public String getPreviousAttemptId() { + return previousAttemptId; + } + + + public void setPreviousAttemptId(String previousAttemptId) { + this.previousAttemptId = previousAttemptId; + } + + + public IdentityVerificationCreateResponse shareableUrl(String shareableUrl) { + + this.shareableUrl = shareableUrl; + return this; + } + + /** + * A shareable URL that can be sent directly to the user to complete verification + * @return shareableUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://flow.plaid.com/verify/idv_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f", required = true, value = "A shareable URL that can be sent directly to the user to complete verification") + + public String getShareableUrl() { + return shareableUrl; + } + + + public void setShareableUrl(String shareableUrl) { + this.shareableUrl = shareableUrl; + } + + + public IdentityVerificationCreateResponse template(IdentityVerificationTemplateReference template) { + + this.template = template; + return this; + } + + /** + * Get template + * @return template + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationTemplateReference getTemplate() { + return template; + } + + + public void setTemplate(IdentityVerificationTemplateReference template) { + this.template = template; + } + + + public IdentityVerificationCreateResponse user(IdentityVerificationUserData user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationUserData getUser() { + return user; + } + + + public void setUser(IdentityVerificationUserData user) { + this.user = user; + } + + + public IdentityVerificationCreateResponse status(IdentityVerificationStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStatus getStatus() { + return status; + } + + + public void setStatus(IdentityVerificationStatus status) { + this.status = status; + } + + + public IdentityVerificationCreateResponse steps(IdentityVerificationStepSummary steps) { + + this.steps = steps; + return this; + } + + /** + * Get steps + * @return steps + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStepSummary getSteps() { + return steps; + } + + + public void setSteps(IdentityVerificationStepSummary steps) { + this.steps = steps; + } + + + public IdentityVerificationCreateResponse documentaryVerification(DocumentaryVerification documentaryVerification) { + + this.documentaryVerification = documentaryVerification; + return this; + } + + /** + * Get documentaryVerification + * @return documentaryVerification + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public DocumentaryVerification getDocumentaryVerification() { + return documentaryVerification; + } + + + public void setDocumentaryVerification(DocumentaryVerification documentaryVerification) { + this.documentaryVerification = documentaryVerification; + } + + + public IdentityVerificationCreateResponse selfieCheck(SelfieCheck selfieCheck) { + + this.selfieCheck = selfieCheck; + return this; + } + + /** + * Get selfieCheck + * @return selfieCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public SelfieCheck getSelfieCheck() { + return selfieCheck; + } + + + public void setSelfieCheck(SelfieCheck selfieCheck) { + this.selfieCheck = selfieCheck; + } + + + public IdentityVerificationCreateResponse kycCheck(KYCCheckDetails kycCheck) { + + this.kycCheck = kycCheck; + return this; + } + + /** + * Get kycCheck + * @return kycCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public KYCCheckDetails getKycCheck() { + return kycCheck; + } + + + public void setKycCheck(KYCCheckDetails kycCheck) { + this.kycCheck = kycCheck; + } + + + public IdentityVerificationCreateResponse riskCheck(RiskCheckDetails riskCheck) { + + this.riskCheck = riskCheck; + return this; + } + + /** + * Get riskCheck + * @return riskCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public RiskCheckDetails getRiskCheck() { + return riskCheck; + } + + + public void setRiskCheck(RiskCheckDetails riskCheck) { + this.riskCheck = riskCheck; + } + + + public IdentityVerificationCreateResponse verifySms(VerifySMSDetails verifySms) { + + this.verifySms = verifySms; + return this; + } + + /** + * Get verifySms + * @return verifySms + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public VerifySMSDetails getVerifySms() { + return verifySms; + } + + + public void setVerifySms(VerifySMSDetails verifySms) { + this.verifySms = verifySms; + } + + + public IdentityVerificationCreateResponse watchlistScreeningId(String watchlistScreeningId) { + + this.watchlistScreeningId = watchlistScreeningId; + return this; + } + + /** + * ID of the associated screening. + * @return watchlistScreeningId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getWatchlistScreeningId() { + return watchlistScreeningId; + } + + + public void setWatchlistScreeningId(String watchlistScreeningId) { + this.watchlistScreeningId = watchlistScreeningId; + } + + + public IdentityVerificationCreateResponse beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * Beacon is deprecated in favor of Plaid Protect. This field is only populated for users of the deprecated Beacon product. + * @return beaconUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Beacon is deprecated in favor of Plaid Protect. This field is only populated for users of the deprecated Beacon product.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public IdentityVerificationCreateResponse userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Unique user identifier, created by calling `/user/create`. Either a `user_id` or the `client_user_id` must be provided. The `user_id` may only be used instead of the `client_user_id` if you were not a pre-existing user of `/user/create` as of December 10, 2025, or if you have since [migrated to the new User APIs](https://plaid.com/docs/api/users/migrate-to-new-user-apis); for more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). If both this field and a `client_user_id` are present in a request, the `user_id` must have been created from the provided `client_user_id`. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "usr_dddAs9ewdcDQQQ", required = true, value = "Unique user identifier, created by calling `/user/create`. Either a `user_id` or the `client_user_id` must be provided. The `user_id` may only be used instead of the `client_user_id` if you were not a pre-existing user of `/user/create` as of December 10, 2025, or if you have since [migrated to the new User APIs](https://plaid.com/docs/api/users/migrate-to-new-user-apis); for more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). If both this field and a `client_user_id` are present in a request, the `user_id` must have been created from the provided `client_user_id`.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public IdentityVerificationCreateResponse redactedAt(OffsetDateTime redactedAt) { + + this.redactedAt = redactedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return redactedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getRedactedAt() { + return redactedAt; + } + + + public void setRedactedAt(OffsetDateTime redactedAt) { + this.redactedAt = redactedAt; + } + + + public IdentityVerificationCreateResponse latestScoredProtectEvent(IDVProtectEvent latestScoredProtectEvent) { + + this.latestScoredProtectEvent = latestScoredProtectEvent; + return this; + } + + /** + * Get latestScoredProtectEvent + * @return latestScoredProtectEvent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IDVProtectEvent getLatestScoredProtectEvent() { + return latestScoredProtectEvent; + } + + + public void setLatestScoredProtectEvent(IDVProtectEvent latestScoredProtectEvent) { + this.latestScoredProtectEvent = latestScoredProtectEvent; + } + + + public IdentityVerificationCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationCreateResponse identityVerificationCreateResponse = (IdentityVerificationCreateResponse) o; + return Objects.equals(this.id, identityVerificationCreateResponse.id) && + Objects.equals(this.clientUserId, identityVerificationCreateResponse.clientUserId) && + Objects.equals(this.createdAt, identityVerificationCreateResponse.createdAt) && + Objects.equals(this.completedAt, identityVerificationCreateResponse.completedAt) && + Objects.equals(this.previousAttemptId, identityVerificationCreateResponse.previousAttemptId) && + Objects.equals(this.shareableUrl, identityVerificationCreateResponse.shareableUrl) && + Objects.equals(this.template, identityVerificationCreateResponse.template) && + Objects.equals(this.user, identityVerificationCreateResponse.user) && + Objects.equals(this.status, identityVerificationCreateResponse.status) && + Objects.equals(this.steps, identityVerificationCreateResponse.steps) && + Objects.equals(this.documentaryVerification, identityVerificationCreateResponse.documentaryVerification) && + Objects.equals(this.selfieCheck, identityVerificationCreateResponse.selfieCheck) && + Objects.equals(this.kycCheck, identityVerificationCreateResponse.kycCheck) && + Objects.equals(this.riskCheck, identityVerificationCreateResponse.riskCheck) && + Objects.equals(this.verifySms, identityVerificationCreateResponse.verifySms) && + Objects.equals(this.watchlistScreeningId, identityVerificationCreateResponse.watchlistScreeningId) && + Objects.equals(this.beaconUserId, identityVerificationCreateResponse.beaconUserId) && + Objects.equals(this.userId, identityVerificationCreateResponse.userId) && + Objects.equals(this.redactedAt, identityVerificationCreateResponse.redactedAt) && + Objects.equals(this.latestScoredProtectEvent, identityVerificationCreateResponse.latestScoredProtectEvent) && + Objects.equals(this.requestId, identityVerificationCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, clientUserId, createdAt, completedAt, previousAttemptId, shareableUrl, template, user, status, steps, documentaryVerification, selfieCheck, kycCheck, riskCheck, verifySms, watchlistScreeningId, beaconUserId, userId, redactedAt, latestScoredProtectEvent, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationCreateResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" completedAt: ").append(toIndentedString(completedAt)).append("\n"); + sb.append(" previousAttemptId: ").append(toIndentedString(previousAttemptId)).append("\n"); + sb.append(" shareableUrl: ").append(toIndentedString(shareableUrl)).append("\n"); + sb.append(" template: ").append(toIndentedString(template)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" steps: ").append(toIndentedString(steps)).append("\n"); + sb.append(" documentaryVerification: ").append(toIndentedString(documentaryVerification)).append("\n"); + sb.append(" selfieCheck: ").append(toIndentedString(selfieCheck)).append("\n"); + sb.append(" kycCheck: ").append(toIndentedString(kycCheck)).append("\n"); + sb.append(" riskCheck: ").append(toIndentedString(riskCheck)).append("\n"); + sb.append(" verifySms: ").append(toIndentedString(verifySms)).append("\n"); + sb.append(" watchlistScreeningId: ").append(toIndentedString(watchlistScreeningId)).append("\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" redactedAt: ").append(toIndentedString(redactedAt)).append("\n"); + sb.append(" latestScoredProtectEvent: ").append(toIndentedString(latestScoredProtectEvent)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationDocumentAddressResponse.java b/src/main/java/com/plaid/client/model/IdentityVerificationDocumentAddressResponse.java new file mode 100644 index 0000000000..5fadc9f19a --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationDocumentAddressResponse.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The address extracted from the document. The address must at least contain the following fields to be a valid address: `street`, `city`, `country`. If any are missing or unable to be extracted, the address will be null. `region`, and `postal_code` may be null based on the addressing system. For example: Addresses from the United Kingdom will not include a region Addresses from Hong Kong will not include postal code Note: Optical Character Recognition (OCR) technology may sometimes extract incorrect data from a document. + */ +@ApiModel(description = "The address extracted from the document. The address must at least contain the following fields to be a valid address: `street`, `city`, `country`. If any are missing or unable to be extracted, the address will be null. `region`, and `postal_code` may be null based on the addressing system. For example: Addresses from the United Kingdom will not include a region Addresses from Hong Kong will not include postal code Note: Optical Character Recognition (OCR) technology may sometimes extract incorrect data from a document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationDocumentAddressResponse { + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public IdentityVerificationDocumentAddressResponse street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address extracted from the document. + * @return street + **/ + @ApiModelProperty(example = "123 Main St. Unit 42", required = true, value = "The full street address extracted from the document.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public IdentityVerificationDocumentAddressResponse city(String city) { + + this.city = city; + return this; + } + + /** + * City extracted from the document. + * @return city + **/ + @ApiModelProperty(example = "Pawnee", required = true, value = "City extracted from the document.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public IdentityVerificationDocumentAddressResponse region(String region) { + + this.region = region; + return this; + } + + /** + * A subdivision code extracted from the document. Related terms would be \"state\", \"province\", \"prefecture\", \"zone\", \"subdivision\", etc. For a full list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they can be inferred from the `country` field. + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "IN", required = true, value = "A subdivision code extracted from the document. Related terms would be \"state\", \"province\", \"prefecture\", \"zone\", \"subdivision\", etc. For a full list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they can be inferred from the `country` field.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public IdentityVerificationDocumentAddressResponse postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code extracted from the document. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "46001", required = true, value = "The postal code extracted from the document. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public IdentityVerificationDocumentAddressResponse country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country extracted from the document. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country extracted from the document. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationDocumentAddressResponse identityVerificationDocumentAddressResponse = (IdentityVerificationDocumentAddressResponse) o; + return Objects.equals(this.street, identityVerificationDocumentAddressResponse.street) && + Objects.equals(this.city, identityVerificationDocumentAddressResponse.city) && + Objects.equals(this.region, identityVerificationDocumentAddressResponse.region) && + Objects.equals(this.postalCode, identityVerificationDocumentAddressResponse.postalCode) && + Objects.equals(this.country, identityVerificationDocumentAddressResponse.country); + } + + @Override + public int hashCode() { + return Objects.hash(street, city, region, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationDocumentAddressResponse {\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationDocumentNameResponse.java b/src/main/java/com/plaid/client/model/IdentityVerificationDocumentNameResponse.java new file mode 100644 index 0000000000..f283ff8650 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationDocumentNameResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The individual's name extracted from the document. + */ +@ApiModel(description = "The individual's name extracted from the document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationDocumentNameResponse { + public static final String SERIALIZED_NAME_GIVEN_NAME = "given_name"; + @SerializedName(SERIALIZED_NAME_GIVEN_NAME) + private String givenName; + + public static final String SERIALIZED_NAME_FAMILY_NAME = "family_name"; + @SerializedName(SERIALIZED_NAME_FAMILY_NAME) + private String familyName; + + + public IdentityVerificationDocumentNameResponse givenName(String givenName) { + + this.givenName = givenName; + return this; + } + + /** + * A string with at least one non-whitespace character, with a max length of 100 characters. + * @return givenName + **/ + @ApiModelProperty(example = "Leslie", required = true, value = "A string with at least one non-whitespace character, with a max length of 100 characters.") + + public String getGivenName() { + return givenName; + } + + + public void setGivenName(String givenName) { + this.givenName = givenName; + } + + + public IdentityVerificationDocumentNameResponse familyName(String familyName) { + + this.familyName = familyName; + return this; + } + + /** + * A string with at least one non-whitespace character, with a max length of 100 characters. + * @return familyName + **/ + @ApiModelProperty(example = "Knope", required = true, value = "A string with at least one non-whitespace character, with a max length of 100 characters.") + + public String getFamilyName() { + return familyName; + } + + + public void setFamilyName(String familyName) { + this.familyName = familyName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationDocumentNameResponse identityVerificationDocumentNameResponse = (IdentityVerificationDocumentNameResponse) o; + return Objects.equals(this.givenName, identityVerificationDocumentNameResponse.givenName) && + Objects.equals(this.familyName, identityVerificationDocumentNameResponse.familyName); + } + + @Override + public int hashCode() { + return Objects.hash(givenName, familyName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationDocumentNameResponse {\n"); + sb.append(" givenName: ").append(toIndentedString(givenName)).append("\n"); + sb.append(" familyName: ").append(toIndentedString(familyName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationGetRequest.java b/src/main/java/com/plaid/client/model/IdentityVerificationGetRequest.java new file mode 100644 index 0000000000..00f0ffa827 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for fetching an Identity Verification + */ +@ApiModel(description = "Request input for fetching an Identity Verification") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationGetRequest { + public static final String SERIALIZED_NAME_IDENTITY_VERIFICATION_ID = "identity_verification_id"; + @SerializedName(SERIALIZED_NAME_IDENTITY_VERIFICATION_ID) + private String identityVerificationId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + + public IdentityVerificationGetRequest identityVerificationId(String identityVerificationId) { + + this.identityVerificationId = identityVerificationId; + return this; + } + + /** + * ID of the associated Identity Verification attempt. + * @return identityVerificationId + **/ + @ApiModelProperty(example = "idv_52xR9LKo77r1Np", required = true, value = "ID of the associated Identity Verification attempt.") + + public String getIdentityVerificationId() { + return identityVerificationId; + } + + + public void setIdentityVerificationId(String identityVerificationId) { + this.identityVerificationId = identityVerificationId; + } + + + public IdentityVerificationGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IdentityVerificationGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationGetRequest identityVerificationGetRequest = (IdentityVerificationGetRequest) o; + return Objects.equals(this.identityVerificationId, identityVerificationGetRequest.identityVerificationId) && + Objects.equals(this.secret, identityVerificationGetRequest.secret) && + Objects.equals(this.clientId, identityVerificationGetRequest.clientId); + } + + @Override + public int hashCode() { + return Objects.hash(identityVerificationId, secret, clientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationGetRequest {\n"); + sb.append(" identityVerificationId: ").append(toIndentedString(identityVerificationId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationGetResponse.java b/src/main/java/com/plaid/client/model/IdentityVerificationGetResponse.java new file mode 100644 index 0000000000..42fead26c9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationGetResponse.java @@ -0,0 +1,682 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocumentaryVerification; +import com.plaid.client.model.IDVProtectEvent; +import com.plaid.client.model.IdentityVerificationStatus; +import com.plaid.client.model.IdentityVerificationStepSummary; +import com.plaid.client.model.IdentityVerificationTemplateReference; +import com.plaid.client.model.IdentityVerificationUserData; +import com.plaid.client.model.KYCCheckDetails; +import com.plaid.client.model.RiskCheckDetails; +import com.plaid.client.model.SelfieCheck; +import com.plaid.client.model.VerifySMSDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * An identity verification attempt represents a customer's attempt to verify their identity, reflecting the required steps for completing the session, the results for each step, and information collected in the process. + */ +@ApiModel(description = "An identity verification attempt represents a customer's attempt to verify their identity, reflecting the required steps for completing the session, the results for each step, and information collected in the process.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationGetResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_COMPLETED_AT = "completed_at"; + @SerializedName(SERIALIZED_NAME_COMPLETED_AT) + private OffsetDateTime completedAt; + + public static final String SERIALIZED_NAME_PREVIOUS_ATTEMPT_ID = "previous_attempt_id"; + @SerializedName(SERIALIZED_NAME_PREVIOUS_ATTEMPT_ID) + private String previousAttemptId; + + public static final String SERIALIZED_NAME_SHAREABLE_URL = "shareable_url"; + @SerializedName(SERIALIZED_NAME_SHAREABLE_URL) + private String shareableUrl; + + public static final String SERIALIZED_NAME_TEMPLATE = "template"; + @SerializedName(SERIALIZED_NAME_TEMPLATE) + private IdentityVerificationTemplateReference template; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private IdentityVerificationUserData user; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private IdentityVerificationStatus status; + + public static final String SERIALIZED_NAME_STEPS = "steps"; + @SerializedName(SERIALIZED_NAME_STEPS) + private IdentityVerificationStepSummary steps; + + public static final String SERIALIZED_NAME_DOCUMENTARY_VERIFICATION = "documentary_verification"; + @SerializedName(SERIALIZED_NAME_DOCUMENTARY_VERIFICATION) + private DocumentaryVerification documentaryVerification; + + public static final String SERIALIZED_NAME_SELFIE_CHECK = "selfie_check"; + @SerializedName(SERIALIZED_NAME_SELFIE_CHECK) + private SelfieCheck selfieCheck; + + public static final String SERIALIZED_NAME_KYC_CHECK = "kyc_check"; + @SerializedName(SERIALIZED_NAME_KYC_CHECK) + private KYCCheckDetails kycCheck; + + public static final String SERIALIZED_NAME_RISK_CHECK = "risk_check"; + @SerializedName(SERIALIZED_NAME_RISK_CHECK) + private RiskCheckDetails riskCheck; + + public static final String SERIALIZED_NAME_VERIFY_SMS = "verify_sms"; + @SerializedName(SERIALIZED_NAME_VERIFY_SMS) + private VerifySMSDetails verifySms; + + public static final String SERIALIZED_NAME_WATCHLIST_SCREENING_ID = "watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENING_ID) + private String watchlistScreeningId; + + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_REDACTED_AT = "redacted_at"; + @SerializedName(SERIALIZED_NAME_REDACTED_AT) + private OffsetDateTime redactedAt; + + public static final String SERIALIZED_NAME_LATEST_SCORED_PROTECT_EVENT = "latest_scored_protect_event"; + @SerializedName(SERIALIZED_NAME_LATEST_SCORED_PROTECT_EVENT) + private IDVProtectEvent latestScoredProtectEvent; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IdentityVerificationGetResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Identity Verification attempt. + * @return id + **/ + @ApiModelProperty(example = "idv_52xR9LKo77r1Np", required = true, value = "ID of the associated Identity Verification attempt.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public IdentityVerificationGetResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public IdentityVerificationGetResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public IdentityVerificationGetResponse completedAt(OffsetDateTime completedAt) { + + this.completedAt = completedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return completedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getCompletedAt() { + return completedAt; + } + + + public void setCompletedAt(OffsetDateTime completedAt) { + this.completedAt = completedAt; + } + + + public IdentityVerificationGetResponse previousAttemptId(String previousAttemptId) { + + this.previousAttemptId = previousAttemptId; + return this; + } + + /** + * The ID for the Identity Verification preceding this session. This field will only be filled if the current Identity Verification is a retry of a previous attempt. + * @return previousAttemptId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "idv_42cF1MNo42r9Xj", required = true, value = "The ID for the Identity Verification preceding this session. This field will only be filled if the current Identity Verification is a retry of a previous attempt.") + + public String getPreviousAttemptId() { + return previousAttemptId; + } + + + public void setPreviousAttemptId(String previousAttemptId) { + this.previousAttemptId = previousAttemptId; + } + + + public IdentityVerificationGetResponse shareableUrl(String shareableUrl) { + + this.shareableUrl = shareableUrl; + return this; + } + + /** + * A shareable URL that can be sent directly to the user to complete verification + * @return shareableUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://flow.plaid.com/verify/idv_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f", required = true, value = "A shareable URL that can be sent directly to the user to complete verification") + + public String getShareableUrl() { + return shareableUrl; + } + + + public void setShareableUrl(String shareableUrl) { + this.shareableUrl = shareableUrl; + } + + + public IdentityVerificationGetResponse template(IdentityVerificationTemplateReference template) { + + this.template = template; + return this; + } + + /** + * Get template + * @return template + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationTemplateReference getTemplate() { + return template; + } + + + public void setTemplate(IdentityVerificationTemplateReference template) { + this.template = template; + } + + + public IdentityVerificationGetResponse user(IdentityVerificationUserData user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationUserData getUser() { + return user; + } + + + public void setUser(IdentityVerificationUserData user) { + this.user = user; + } + + + public IdentityVerificationGetResponse status(IdentityVerificationStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStatus getStatus() { + return status; + } + + + public void setStatus(IdentityVerificationStatus status) { + this.status = status; + } + + + public IdentityVerificationGetResponse steps(IdentityVerificationStepSummary steps) { + + this.steps = steps; + return this; + } + + /** + * Get steps + * @return steps + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStepSummary getSteps() { + return steps; + } + + + public void setSteps(IdentityVerificationStepSummary steps) { + this.steps = steps; + } + + + public IdentityVerificationGetResponse documentaryVerification(DocumentaryVerification documentaryVerification) { + + this.documentaryVerification = documentaryVerification; + return this; + } + + /** + * Get documentaryVerification + * @return documentaryVerification + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public DocumentaryVerification getDocumentaryVerification() { + return documentaryVerification; + } + + + public void setDocumentaryVerification(DocumentaryVerification documentaryVerification) { + this.documentaryVerification = documentaryVerification; + } + + + public IdentityVerificationGetResponse selfieCheck(SelfieCheck selfieCheck) { + + this.selfieCheck = selfieCheck; + return this; + } + + /** + * Get selfieCheck + * @return selfieCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public SelfieCheck getSelfieCheck() { + return selfieCheck; + } + + + public void setSelfieCheck(SelfieCheck selfieCheck) { + this.selfieCheck = selfieCheck; + } + + + public IdentityVerificationGetResponse kycCheck(KYCCheckDetails kycCheck) { + + this.kycCheck = kycCheck; + return this; + } + + /** + * Get kycCheck + * @return kycCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public KYCCheckDetails getKycCheck() { + return kycCheck; + } + + + public void setKycCheck(KYCCheckDetails kycCheck) { + this.kycCheck = kycCheck; + } + + + public IdentityVerificationGetResponse riskCheck(RiskCheckDetails riskCheck) { + + this.riskCheck = riskCheck; + return this; + } + + /** + * Get riskCheck + * @return riskCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public RiskCheckDetails getRiskCheck() { + return riskCheck; + } + + + public void setRiskCheck(RiskCheckDetails riskCheck) { + this.riskCheck = riskCheck; + } + + + public IdentityVerificationGetResponse verifySms(VerifySMSDetails verifySms) { + + this.verifySms = verifySms; + return this; + } + + /** + * Get verifySms + * @return verifySms + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public VerifySMSDetails getVerifySms() { + return verifySms; + } + + + public void setVerifySms(VerifySMSDetails verifySms) { + this.verifySms = verifySms; + } + + + public IdentityVerificationGetResponse watchlistScreeningId(String watchlistScreeningId) { + + this.watchlistScreeningId = watchlistScreeningId; + return this; + } + + /** + * ID of the associated screening. + * @return watchlistScreeningId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getWatchlistScreeningId() { + return watchlistScreeningId; + } + + + public void setWatchlistScreeningId(String watchlistScreeningId) { + this.watchlistScreeningId = watchlistScreeningId; + } + + + public IdentityVerificationGetResponse beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * Beacon is deprecated in favor of Plaid Protect. This field is only populated for users of the deprecated Beacon product. + * @return beaconUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Beacon is deprecated in favor of Plaid Protect. This field is only populated for users of the deprecated Beacon product.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public IdentityVerificationGetResponse userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Unique user identifier, created by calling `/user/create`. Either a `user_id` or the `client_user_id` must be provided. The `user_id` may only be used instead of the `client_user_id` if you were not a pre-existing user of `/user/create` as of December 10, 2025, or if you have since [migrated to the new User APIs](https://plaid.com/docs/api/users/migrate-to-new-user-apis); for more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). If both this field and a `client_user_id` are present in a request, the `user_id` must have been created from the provided `client_user_id`. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "usr_dddAs9ewdcDQQQ", required = true, value = "Unique user identifier, created by calling `/user/create`. Either a `user_id` or the `client_user_id` must be provided. The `user_id` may only be used instead of the `client_user_id` if you were not a pre-existing user of `/user/create` as of December 10, 2025, or if you have since [migrated to the new User APIs](https://plaid.com/docs/api/users/migrate-to-new-user-apis); for more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). If both this field and a `client_user_id` are present in a request, the `user_id` must have been created from the provided `client_user_id`.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public IdentityVerificationGetResponse redactedAt(OffsetDateTime redactedAt) { + + this.redactedAt = redactedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return redactedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getRedactedAt() { + return redactedAt; + } + + + public void setRedactedAt(OffsetDateTime redactedAt) { + this.redactedAt = redactedAt; + } + + + public IdentityVerificationGetResponse latestScoredProtectEvent(IDVProtectEvent latestScoredProtectEvent) { + + this.latestScoredProtectEvent = latestScoredProtectEvent; + return this; + } + + /** + * Get latestScoredProtectEvent + * @return latestScoredProtectEvent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IDVProtectEvent getLatestScoredProtectEvent() { + return latestScoredProtectEvent; + } + + + public void setLatestScoredProtectEvent(IDVProtectEvent latestScoredProtectEvent) { + this.latestScoredProtectEvent = latestScoredProtectEvent; + } + + + public IdentityVerificationGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationGetResponse identityVerificationGetResponse = (IdentityVerificationGetResponse) o; + return Objects.equals(this.id, identityVerificationGetResponse.id) && + Objects.equals(this.clientUserId, identityVerificationGetResponse.clientUserId) && + Objects.equals(this.createdAt, identityVerificationGetResponse.createdAt) && + Objects.equals(this.completedAt, identityVerificationGetResponse.completedAt) && + Objects.equals(this.previousAttemptId, identityVerificationGetResponse.previousAttemptId) && + Objects.equals(this.shareableUrl, identityVerificationGetResponse.shareableUrl) && + Objects.equals(this.template, identityVerificationGetResponse.template) && + Objects.equals(this.user, identityVerificationGetResponse.user) && + Objects.equals(this.status, identityVerificationGetResponse.status) && + Objects.equals(this.steps, identityVerificationGetResponse.steps) && + Objects.equals(this.documentaryVerification, identityVerificationGetResponse.documentaryVerification) && + Objects.equals(this.selfieCheck, identityVerificationGetResponse.selfieCheck) && + Objects.equals(this.kycCheck, identityVerificationGetResponse.kycCheck) && + Objects.equals(this.riskCheck, identityVerificationGetResponse.riskCheck) && + Objects.equals(this.verifySms, identityVerificationGetResponse.verifySms) && + Objects.equals(this.watchlistScreeningId, identityVerificationGetResponse.watchlistScreeningId) && + Objects.equals(this.beaconUserId, identityVerificationGetResponse.beaconUserId) && + Objects.equals(this.userId, identityVerificationGetResponse.userId) && + Objects.equals(this.redactedAt, identityVerificationGetResponse.redactedAt) && + Objects.equals(this.latestScoredProtectEvent, identityVerificationGetResponse.latestScoredProtectEvent) && + Objects.equals(this.requestId, identityVerificationGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, clientUserId, createdAt, completedAt, previousAttemptId, shareableUrl, template, user, status, steps, documentaryVerification, selfieCheck, kycCheck, riskCheck, verifySms, watchlistScreeningId, beaconUserId, userId, redactedAt, latestScoredProtectEvent, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationGetResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" completedAt: ").append(toIndentedString(completedAt)).append("\n"); + sb.append(" previousAttemptId: ").append(toIndentedString(previousAttemptId)).append("\n"); + sb.append(" shareableUrl: ").append(toIndentedString(shareableUrl)).append("\n"); + sb.append(" template: ").append(toIndentedString(template)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" steps: ").append(toIndentedString(steps)).append("\n"); + sb.append(" documentaryVerification: ").append(toIndentedString(documentaryVerification)).append("\n"); + sb.append(" selfieCheck: ").append(toIndentedString(selfieCheck)).append("\n"); + sb.append(" kycCheck: ").append(toIndentedString(kycCheck)).append("\n"); + sb.append(" riskCheck: ").append(toIndentedString(riskCheck)).append("\n"); + sb.append(" verifySms: ").append(toIndentedString(verifySms)).append("\n"); + sb.append(" watchlistScreeningId: ").append(toIndentedString(watchlistScreeningId)).append("\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" redactedAt: ").append(toIndentedString(redactedAt)).append("\n"); + sb.append(" latestScoredProtectEvent: ").append(toIndentedString(latestScoredProtectEvent)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationListRequest.java b/src/main/java/com/plaid/client/model/IdentityVerificationListRequest.java new file mode 100644 index 0000000000..5ab47a7be9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationListRequest.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing Identity Verifications + */ +@ApiModel(description = "Request input for listing Identity Verifications") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationListRequest { + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_TEMPLATE_ID = "template_id"; + @SerializedName(SERIALIZED_NAME_TEMPLATE_ID) + private String templateId; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public IdentityVerificationListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IdentityVerificationListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IdentityVerificationListRequest templateId(String templateId) { + + this.templateId = templateId; + return this; + } + + /** + * ID of the associated Identity Verification template. Like all Plaid identifiers, this is case-sensitive. + * @return templateId + **/ + @ApiModelProperty(example = "idvtmp_4FrXJvfQU3zGUR", required = true, value = "ID of the associated Identity Verification template. Like all Plaid identifiers, this is case-sensitive.") + + public String getTemplateId() { + return templateId; + } + + + public void setTemplateId(String templateId) { + this.templateId = templateId; + } + + + public IdentityVerificationListRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public IdentityVerificationListRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by calling `/user/create`. Either a `user_id` or the `client_user_id` must be provided. The `user_id` may only be used instead of the `client_user_id` if you were not a pre-existing user of `/user/create` as of December 10, 2025, or if you have since [migrated to the new User APIs](https://plaid.com/docs/api/users/migrate-to-new-user-apis); for more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). If both this field and the `client_user_id` are present in the request, the `user_id` must have been created from the provided `client_user_id`. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by calling `/user/create`. Either a `user_id` or the `client_user_id` must be provided. The `user_id` may only be used instead of the `client_user_id` if you were not a pre-existing user of `/user/create` as of December 10, 2025, or if you have since [migrated to the new User APIs](https://plaid.com/docs/api/users/migrate-to-new-user-apis); for more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). If both this field and the `client_user_id` are present in the request, the `user_id` must have been created from the provided `client_user_id`.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public IdentityVerificationListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationListRequest identityVerificationListRequest = (IdentityVerificationListRequest) o; + return Objects.equals(this.secret, identityVerificationListRequest.secret) && + Objects.equals(this.clientId, identityVerificationListRequest.clientId) && + Objects.equals(this.templateId, identityVerificationListRequest.templateId) && + Objects.equals(this.clientUserId, identityVerificationListRequest.clientUserId) && + Objects.equals(this.userId, identityVerificationListRequest.userId) && + Objects.equals(this.cursor, identityVerificationListRequest.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(secret, clientId, templateId, clientUserId, userId, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationListRequest {\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" templateId: ").append(toIndentedString(templateId)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationListResponse.java b/src/main/java/com/plaid/client/model/IdentityVerificationListResponse.java new file mode 100644 index 0000000000..72129183a9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityVerification; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Paginated list of Plaid sessions. + */ +@ApiModel(description = "Paginated list of Plaid sessions.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationListResponse { + public static final String SERIALIZED_NAME_IDENTITY_VERIFICATIONS = "identity_verifications"; + @SerializedName(SERIALIZED_NAME_IDENTITY_VERIFICATIONS) + private List identityVerifications = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IdentityVerificationListResponse identityVerifications(List identityVerifications) { + + this.identityVerifications = identityVerifications; + return this; + } + + public IdentityVerificationListResponse addIdentityVerificationsItem(IdentityVerification identityVerificationsItem) { + this.identityVerifications.add(identityVerificationsItem); + return this; + } + + /** + * List of Plaid sessions + * @return identityVerifications + **/ + @ApiModelProperty(required = true, value = "List of Plaid sessions") + + public List getIdentityVerifications() { + return identityVerifications; + } + + + public void setIdentityVerifications(List identityVerifications) { + this.identityVerifications = identityVerifications; + } + + + public IdentityVerificationListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public IdentityVerificationListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationListResponse identityVerificationListResponse = (IdentityVerificationListResponse) o; + return Objects.equals(this.identityVerifications, identityVerificationListResponse.identityVerifications) && + Objects.equals(this.nextCursor, identityVerificationListResponse.nextCursor) && + Objects.equals(this.requestId, identityVerificationListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(identityVerifications, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationListResponse {\n"); + sb.append(" identityVerifications: ").append(toIndentedString(identityVerifications)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationRequestUser.java b/src/main/java/com/plaid/client/model/IdentityVerificationRequestUser.java new file mode 100644 index 0000000000..21707abc33 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationRequestUser.java @@ -0,0 +1,248 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityVerificationRequestUserName; +import com.plaid.client.model.UserAddress; +import com.plaid.client.model.UserIDNumber; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * User information collected outside of Link, most likely via your own onboarding process. Each of the following identity fields are optional: `email_address` `phone_number` `date_of_birth` `name` `address` `id_number` Specifically, these fields are optional in that they can either be fully provided (satisfying every required field in their subschema) or omitted from the request entirely by not providing the key or value. Providing these fields via the API will result in Link skipping the data collection process for the associated user. All verification steps enabled in the associated Identity Verification Template will still be run. Verification steps will either be run immediately, or once the user completes the `accept_tos` step, depending on the value provided to the `gave_consent` field. + */ +@ApiModel(description = "User information collected outside of Link, most likely via your own onboarding process. Each of the following identity fields are optional: `email_address` `phone_number` `date_of_birth` `name` `address` `id_number` Specifically, these fields are optional in that they can either be fully provided (satisfying every required field in their subschema) or omitted from the request entirely by not providing the key or value. Providing these fields via the API will result in Link skipping the data collection process for the associated user. All verification steps enabled in the associated Identity Verification Template will still be run. Verification steps will either be run immediately, or once the user completes the `accept_tos` step, depending on the value provided to the `gave_consent` field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationRequestUser { + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private IdentityVerificationRequestUserName name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private UserAddress address; + + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private UserIDNumber idNumber; + + + public IdentityVerificationRequestUser emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user@example.com", value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public IdentityVerificationRequestUser phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A valid phone number in E.164 format. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+12345678909", value = "A valid phone number in E.164 format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public IdentityVerificationRequestUser dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public IdentityVerificationRequestUser name(IdentityVerificationRequestUserName name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityVerificationRequestUserName getName() { + return name; + } + + + public void setName(IdentityVerificationRequestUserName name) { + this.name = name; + } + + + public IdentityVerificationRequestUser address(UserAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserAddress getAddress() { + return address; + } + + + public void setAddress(UserAddress address) { + this.address = address; + } + + + public IdentityVerificationRequestUser idNumber(UserIDNumber idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Get idNumber + * @return idNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserIDNumber getIdNumber() { + return idNumber; + } + + + public void setIdNumber(UserIDNumber idNumber) { + this.idNumber = idNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationRequestUser identityVerificationRequestUser = (IdentityVerificationRequestUser) o; + return Objects.equals(this.emailAddress, identityVerificationRequestUser.emailAddress) && + Objects.equals(this.phoneNumber, identityVerificationRequestUser.phoneNumber) && + Objects.equals(this.dateOfBirth, identityVerificationRequestUser.dateOfBirth) && + Objects.equals(this.name, identityVerificationRequestUser.name) && + Objects.equals(this.address, identityVerificationRequestUser.address) && + Objects.equals(this.idNumber, identityVerificationRequestUser.idNumber); + } + + @Override + public int hashCode() { + return Objects.hash(emailAddress, phoneNumber, dateOfBirth, name, address, idNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationRequestUser {\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationRequestUserName.java b/src/main/java/com/plaid/client/model/IdentityVerificationRequestUserName.java new file mode 100644 index 0000000000..15bbc3fed9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationRequestUserName.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * You can use this field to pre-populate the user's legal name; if it is provided here, they will not be prompted to enter their name in the identity verification attempt. + */ +@ApiModel(description = "You can use this field to pre-populate the user's legal name; if it is provided here, they will not be prompted to enter their name in the identity verification attempt.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationRequestUserName { + public static final String SERIALIZED_NAME_GIVEN_NAME = "given_name"; + @SerializedName(SERIALIZED_NAME_GIVEN_NAME) + private String givenName; + + public static final String SERIALIZED_NAME_FAMILY_NAME = "family_name"; + @SerializedName(SERIALIZED_NAME_FAMILY_NAME) + private String familyName; + + + public IdentityVerificationRequestUserName givenName(String givenName) { + + this.givenName = givenName; + return this; + } + + /** + * A string with at least one non-whitespace character, with a max length of 100 characters. + * @return givenName + **/ + @ApiModelProperty(example = "Leslie", required = true, value = "A string with at least one non-whitespace character, with a max length of 100 characters.") + + public String getGivenName() { + return givenName; + } + + + public void setGivenName(String givenName) { + this.givenName = givenName; + } + + + public IdentityVerificationRequestUserName familyName(String familyName) { + + this.familyName = familyName; + return this; + } + + /** + * A string with at least one non-whitespace character, with a max length of 100 characters. + * @return familyName + **/ + @ApiModelProperty(example = "Knope", required = true, value = "A string with at least one non-whitespace character, with a max length of 100 characters.") + + public String getFamilyName() { + return familyName; + } + + + public void setFamilyName(String familyName) { + this.familyName = familyName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationRequestUserName identityVerificationRequestUserName = (IdentityVerificationRequestUserName) o; + return Objects.equals(this.givenName, identityVerificationRequestUserName.givenName) && + Objects.equals(this.familyName, identityVerificationRequestUserName.familyName); + } + + @Override + public int hashCode() { + return Objects.hash(givenName, familyName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationRequestUserName {\n"); + sb.append(" givenName: ").append(toIndentedString(givenName)).append("\n"); + sb.append(" familyName: ").append(toIndentedString(familyName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationResponseUserName.java b/src/main/java/com/plaid/client/model/IdentityVerificationResponseUserName.java new file mode 100644 index 0000000000..07ba105a7d --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationResponseUserName.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The full name provided by the user. If the user has not submitted their name, this field will be null. Otherwise, both fields are guaranteed to be filled. + */ +@ApiModel(description = "The full name provided by the user. If the user has not submitted their name, this field will be null. Otherwise, both fields are guaranteed to be filled.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationResponseUserName { + public static final String SERIALIZED_NAME_GIVEN_NAME = "given_name"; + @SerializedName(SERIALIZED_NAME_GIVEN_NAME) + private String givenName; + + public static final String SERIALIZED_NAME_FAMILY_NAME = "family_name"; + @SerializedName(SERIALIZED_NAME_FAMILY_NAME) + private String familyName; + + + public IdentityVerificationResponseUserName givenName(String givenName) { + + this.givenName = givenName; + return this; + } + + /** + * A string with at least one non-whitespace character, with a max length of 100 characters. + * @return givenName + **/ + @ApiModelProperty(example = "Leslie", required = true, value = "A string with at least one non-whitespace character, with a max length of 100 characters.") + + public String getGivenName() { + return givenName; + } + + + public void setGivenName(String givenName) { + this.givenName = givenName; + } + + + public IdentityVerificationResponseUserName familyName(String familyName) { + + this.familyName = familyName; + return this; + } + + /** + * A string with at least one non-whitespace character, with a max length of 100 characters. + * @return familyName + **/ + @ApiModelProperty(example = "Knope", required = true, value = "A string with at least one non-whitespace character, with a max length of 100 characters.") + + public String getFamilyName() { + return familyName; + } + + + public void setFamilyName(String familyName) { + this.familyName = familyName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationResponseUserName identityVerificationResponseUserName = (IdentityVerificationResponseUserName) o; + return Objects.equals(this.givenName, identityVerificationResponseUserName.givenName) && + Objects.equals(this.familyName, identityVerificationResponseUserName.familyName); + } + + @Override + public int hashCode() { + return Objects.hash(givenName, familyName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationResponseUserName {\n"); + sb.append(" givenName: ").append(toIndentedString(givenName)).append("\n"); + sb.append(" familyName: ").append(toIndentedString(familyName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationRetriedWebhook.java b/src/main/java/com/plaid/client/model/IdentityVerificationRetriedWebhook.java new file mode 100644 index 0000000000..5767846730 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationRetriedWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when an identity verification has been retried, which can be triggered via the dashboard or the API. + */ +@ApiModel(description = "Fired when an identity verification has been retried, which can be triggered via the dashboard or the API.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationRetriedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_IDENTITY_VERIFICATION_ID = "identity_verification_id"; + @SerializedName(SERIALIZED_NAME_IDENTITY_VERIFICATION_ID) + private String identityVerificationId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public IdentityVerificationRetriedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `IDENTITY_VERIFICATION` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`IDENTITY_VERIFICATION`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public IdentityVerificationRetriedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `RETRIED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`RETRIED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public IdentityVerificationRetriedWebhook identityVerificationId(String identityVerificationId) { + + this.identityVerificationId = identityVerificationId; + return this; + } + + /** + * The ID of the associated Identity Verification attempt. + * @return identityVerificationId + **/ + @ApiModelProperty(required = true, value = "The ID of the associated Identity Verification attempt.") + + public String getIdentityVerificationId() { + return identityVerificationId; + } + + + public void setIdentityVerificationId(String identityVerificationId) { + this.identityVerificationId = identityVerificationId; + } + + + public IdentityVerificationRetriedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationRetriedWebhook identityVerificationRetriedWebhook = (IdentityVerificationRetriedWebhook) o; + return Objects.equals(this.webhookType, identityVerificationRetriedWebhook.webhookType) && + Objects.equals(this.webhookCode, identityVerificationRetriedWebhook.webhookCode) && + Objects.equals(this.identityVerificationId, identityVerificationRetriedWebhook.identityVerificationId) && + Objects.equals(this.environment, identityVerificationRetriedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, identityVerificationId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationRetriedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" identityVerificationId: ").append(toIndentedString(identityVerificationId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationRetryRequest.java b/src/main/java/com/plaid/client/model/IdentityVerificationRetryRequest.java new file mode 100644 index 0000000000..8c33177dde --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationRetryRequest.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityVerificationRequestUser; +import com.plaid.client.model.IdentityVerificationRetryRequestStepsObject; +import com.plaid.client.model.Strategy; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for retrying an identity verification attempt + */ +@ApiModel(description = "Request input for retrying an identity verification attempt") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationRetryRequest { + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_TEMPLATE_ID = "template_id"; + @SerializedName(SERIALIZED_NAME_TEMPLATE_ID) + private String templateId; + + public static final String SERIALIZED_NAME_STRATEGY = "strategy"; + @SerializedName(SERIALIZED_NAME_STRATEGY) + private Strategy strategy; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private IdentityVerificationRequestUser user; + + public static final String SERIALIZED_NAME_STEPS = "steps"; + @SerializedName(SERIALIZED_NAME_STEPS) + private IdentityVerificationRetryRequestStepsObject steps; + + public static final String SERIALIZED_NAME_IS_SHAREABLE = "is_shareable"; + @SerializedName(SERIALIZED_NAME_IS_SHAREABLE) + private Boolean isShareable; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public IdentityVerificationRetryRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public IdentityVerificationRetryRequest templateId(String templateId) { + + this.templateId = templateId; + return this; + } + + /** + * ID of the associated Identity Verification template. Like all Plaid identifiers, this is case-sensitive. + * @return templateId + **/ + @ApiModelProperty(example = "idvtmp_4FrXJvfQU3zGUR", required = true, value = "ID of the associated Identity Verification template. Like all Plaid identifiers, this is case-sensitive.") + + public String getTemplateId() { + return templateId; + } + + + public void setTemplateId(String templateId) { + this.templateId = templateId; + } + + + public IdentityVerificationRetryRequest strategy(Strategy strategy) { + + this.strategy = strategy; + return this; + } + + /** + * Get strategy + * @return strategy + **/ + @ApiModelProperty(required = true, value = "") + + public Strategy getStrategy() { + return strategy; + } + + + public void setStrategy(Strategy strategy) { + this.strategy = strategy; + } + + + public IdentityVerificationRetryRequest user(IdentityVerificationRequestUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityVerificationRequestUser getUser() { + return user; + } + + + public void setUser(IdentityVerificationRequestUser user) { + this.user = user; + } + + + public IdentityVerificationRetryRequest steps(IdentityVerificationRetryRequestStepsObject steps) { + + this.steps = steps; + return this; + } + + /** + * Get steps + * @return steps + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityVerificationRetryRequestStepsObject getSteps() { + return steps; + } + + + public void setSteps(IdentityVerificationRetryRequestStepsObject steps) { + this.steps = steps; + } + + + public IdentityVerificationRetryRequest isShareable(Boolean isShareable) { + + this.isShareable = isShareable; + return this; + } + + /** + * A flag specifying whether you would like Plaid to expose a shareable URL for the verification being retried. If a value for this flag is not specified, the `is_shareable` setting from the original verification attempt will be used. + * @return isShareable + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "true", value = "A flag specifying whether you would like Plaid to expose a shareable URL for the verification being retried. If a value for this flag is not specified, the `is_shareable` setting from the original verification attempt will be used.") + + public Boolean getIsShareable() { + return isShareable; + } + + + public void setIsShareable(Boolean isShareable) { + this.isShareable = isShareable; + } + + + public IdentityVerificationRetryRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IdentityVerificationRetryRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationRetryRequest identityVerificationRetryRequest = (IdentityVerificationRetryRequest) o; + return Objects.equals(this.clientUserId, identityVerificationRetryRequest.clientUserId) && + Objects.equals(this.templateId, identityVerificationRetryRequest.templateId) && + Objects.equals(this.strategy, identityVerificationRetryRequest.strategy) && + Objects.equals(this.user, identityVerificationRetryRequest.user) && + Objects.equals(this.steps, identityVerificationRetryRequest.steps) && + Objects.equals(this.isShareable, identityVerificationRetryRequest.isShareable) && + Objects.equals(this.clientId, identityVerificationRetryRequest.clientId) && + Objects.equals(this.secret, identityVerificationRetryRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(clientUserId, templateId, strategy, user, steps, isShareable, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationRetryRequest {\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" templateId: ").append(toIndentedString(templateId)).append("\n"); + sb.append(" strategy: ").append(toIndentedString(strategy)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" steps: ").append(toIndentedString(steps)).append("\n"); + sb.append(" isShareable: ").append(toIndentedString(isShareable)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationRetryRequestStepsObject.java b/src/main/java/com/plaid/client/model/IdentityVerificationRetryRequestStepsObject.java new file mode 100644 index 0000000000..9413220646 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationRetryRequestStepsObject.java @@ -0,0 +1,182 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Instructions for the `custom` retry strategy specifying which steps should be required or skipped. Note: This field must be provided when the retry strategy is `custom` and must be omitted otherwise. Custom retries override settings in your Plaid Template. For example, if your Plaid Template has `verify_sms` disabled, a custom retry with `verify_sms` enabled will still require the step. The `selfie_check` step is currently not supported on the sandbox server. Sandbox requests will silently disable the `selfie_check` step when provided. + */ +@ApiModel(description = "Instructions for the `custom` retry strategy specifying which steps should be required or skipped. Note: This field must be provided when the retry strategy is `custom` and must be omitted otherwise. Custom retries override settings in your Plaid Template. For example, if your Plaid Template has `verify_sms` disabled, a custom retry with `verify_sms` enabled will still require the step. The `selfie_check` step is currently not supported on the sandbox server. Sandbox requests will silently disable the `selfie_check` step when provided.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationRetryRequestStepsObject { + public static final String SERIALIZED_NAME_VERIFY_SMS = "verify_sms"; + @SerializedName(SERIALIZED_NAME_VERIFY_SMS) + private Boolean verifySms; + + public static final String SERIALIZED_NAME_KYC_CHECK = "kyc_check"; + @SerializedName(SERIALIZED_NAME_KYC_CHECK) + private Boolean kycCheck; + + public static final String SERIALIZED_NAME_DOCUMENTARY_VERIFICATION = "documentary_verification"; + @SerializedName(SERIALIZED_NAME_DOCUMENTARY_VERIFICATION) + private Boolean documentaryVerification; + + public static final String SERIALIZED_NAME_SELFIE_CHECK = "selfie_check"; + @SerializedName(SERIALIZED_NAME_SELFIE_CHECK) + private Boolean selfieCheck; + + + public IdentityVerificationRetryRequestStepsObject verifySms(Boolean verifySms) { + + this.verifySms = verifySms; + return this; + } + + /** + * A boolean field specifying whether the new session should require or skip the `verify_sms` step. + * @return verifySms + **/ + @ApiModelProperty(required = true, value = "A boolean field specifying whether the new session should require or skip the `verify_sms` step.") + + public Boolean getVerifySms() { + return verifySms; + } + + + public void setVerifySms(Boolean verifySms) { + this.verifySms = verifySms; + } + + + public IdentityVerificationRetryRequestStepsObject kycCheck(Boolean kycCheck) { + + this.kycCheck = kycCheck; + return this; + } + + /** + * A boolean field specifying whether the new session should require or skip the `kyc_check` (Data Source Verification) step. + * @return kycCheck + **/ + @ApiModelProperty(required = true, value = "A boolean field specifying whether the new session should require or skip the `kyc_check` (Data Source Verification) step.") + + public Boolean getKycCheck() { + return kycCheck; + } + + + public void setKycCheck(Boolean kycCheck) { + this.kycCheck = kycCheck; + } + + + public IdentityVerificationRetryRequestStepsObject documentaryVerification(Boolean documentaryVerification) { + + this.documentaryVerification = documentaryVerification; + return this; + } + + /** + * A boolean field specifying whether the new session should require or skip the `documentary_verification` step. + * @return documentaryVerification + **/ + @ApiModelProperty(required = true, value = "A boolean field specifying whether the new session should require or skip the `documentary_verification` step.") + + public Boolean getDocumentaryVerification() { + return documentaryVerification; + } + + + public void setDocumentaryVerification(Boolean documentaryVerification) { + this.documentaryVerification = documentaryVerification; + } + + + public IdentityVerificationRetryRequestStepsObject selfieCheck(Boolean selfieCheck) { + + this.selfieCheck = selfieCheck; + return this; + } + + /** + * A boolean field specifying whether the new session should require or skip the `selfie_check` step. If a previous session has already passed the `selfie_check` step, the new selfie check will be a Selfie Reauthentication check, in which the selfie is tested for liveness and for consistency with the previous selfie. + * @return selfieCheck + **/ + @ApiModelProperty(required = true, value = "A boolean field specifying whether the new session should require or skip the `selfie_check` step. If a previous session has already passed the `selfie_check` step, the new selfie check will be a Selfie Reauthentication check, in which the selfie is tested for liveness and for consistency with the previous selfie.") + + public Boolean getSelfieCheck() { + return selfieCheck; + } + + + public void setSelfieCheck(Boolean selfieCheck) { + this.selfieCheck = selfieCheck; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationRetryRequestStepsObject identityVerificationRetryRequestStepsObject = (IdentityVerificationRetryRequestStepsObject) o; + return Objects.equals(this.verifySms, identityVerificationRetryRequestStepsObject.verifySms) && + Objects.equals(this.kycCheck, identityVerificationRetryRequestStepsObject.kycCheck) && + Objects.equals(this.documentaryVerification, identityVerificationRetryRequestStepsObject.documentaryVerification) && + Objects.equals(this.selfieCheck, identityVerificationRetryRequestStepsObject.selfieCheck); + } + + @Override + public int hashCode() { + return Objects.hash(verifySms, kycCheck, documentaryVerification, selfieCheck); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationRetryRequestStepsObject {\n"); + sb.append(" verifySms: ").append(toIndentedString(verifySms)).append("\n"); + sb.append(" kycCheck: ").append(toIndentedString(kycCheck)).append("\n"); + sb.append(" documentaryVerification: ").append(toIndentedString(documentaryVerification)).append("\n"); + sb.append(" selfieCheck: ").append(toIndentedString(selfieCheck)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationRetryResponse.java b/src/main/java/com/plaid/client/model/IdentityVerificationRetryResponse.java new file mode 100644 index 0000000000..8e71be2c00 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationRetryResponse.java @@ -0,0 +1,682 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocumentaryVerification; +import com.plaid.client.model.IDVProtectEvent; +import com.plaid.client.model.IdentityVerificationStatus; +import com.plaid.client.model.IdentityVerificationStepSummary; +import com.plaid.client.model.IdentityVerificationTemplateReference; +import com.plaid.client.model.IdentityVerificationUserData; +import com.plaid.client.model.KYCCheckDetails; +import com.plaid.client.model.RiskCheckDetails; +import com.plaid.client.model.SelfieCheck; +import com.plaid.client.model.VerifySMSDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * An identity verification attempt represents a customer's attempt to verify their identity, reflecting the required steps for completing the session, the results for each step, and information collected in the process. + */ +@ApiModel(description = "An identity verification attempt represents a customer's attempt to verify their identity, reflecting the required steps for completing the session, the results for each step, and information collected in the process.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationRetryResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_COMPLETED_AT = "completed_at"; + @SerializedName(SERIALIZED_NAME_COMPLETED_AT) + private OffsetDateTime completedAt; + + public static final String SERIALIZED_NAME_PREVIOUS_ATTEMPT_ID = "previous_attempt_id"; + @SerializedName(SERIALIZED_NAME_PREVIOUS_ATTEMPT_ID) + private String previousAttemptId; + + public static final String SERIALIZED_NAME_SHAREABLE_URL = "shareable_url"; + @SerializedName(SERIALIZED_NAME_SHAREABLE_URL) + private String shareableUrl; + + public static final String SERIALIZED_NAME_TEMPLATE = "template"; + @SerializedName(SERIALIZED_NAME_TEMPLATE) + private IdentityVerificationTemplateReference template; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private IdentityVerificationUserData user; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private IdentityVerificationStatus status; + + public static final String SERIALIZED_NAME_STEPS = "steps"; + @SerializedName(SERIALIZED_NAME_STEPS) + private IdentityVerificationStepSummary steps; + + public static final String SERIALIZED_NAME_DOCUMENTARY_VERIFICATION = "documentary_verification"; + @SerializedName(SERIALIZED_NAME_DOCUMENTARY_VERIFICATION) + private DocumentaryVerification documentaryVerification; + + public static final String SERIALIZED_NAME_SELFIE_CHECK = "selfie_check"; + @SerializedName(SERIALIZED_NAME_SELFIE_CHECK) + private SelfieCheck selfieCheck; + + public static final String SERIALIZED_NAME_KYC_CHECK = "kyc_check"; + @SerializedName(SERIALIZED_NAME_KYC_CHECK) + private KYCCheckDetails kycCheck; + + public static final String SERIALIZED_NAME_RISK_CHECK = "risk_check"; + @SerializedName(SERIALIZED_NAME_RISK_CHECK) + private RiskCheckDetails riskCheck; + + public static final String SERIALIZED_NAME_VERIFY_SMS = "verify_sms"; + @SerializedName(SERIALIZED_NAME_VERIFY_SMS) + private VerifySMSDetails verifySms; + + public static final String SERIALIZED_NAME_WATCHLIST_SCREENING_ID = "watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENING_ID) + private String watchlistScreeningId; + + public static final String SERIALIZED_NAME_BEACON_USER_ID = "beacon_user_id"; + @SerializedName(SERIALIZED_NAME_BEACON_USER_ID) + private String beaconUserId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_REDACTED_AT = "redacted_at"; + @SerializedName(SERIALIZED_NAME_REDACTED_AT) + private OffsetDateTime redactedAt; + + public static final String SERIALIZED_NAME_LATEST_SCORED_PROTECT_EVENT = "latest_scored_protect_event"; + @SerializedName(SERIALIZED_NAME_LATEST_SCORED_PROTECT_EVENT) + private IDVProtectEvent latestScoredProtectEvent; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IdentityVerificationRetryResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Identity Verification attempt. + * @return id + **/ + @ApiModelProperty(example = "idv_52xR9LKo77r1Np", required = true, value = "ID of the associated Identity Verification attempt.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public IdentityVerificationRetryResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public IdentityVerificationRetryResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public IdentityVerificationRetryResponse completedAt(OffsetDateTime completedAt) { + + this.completedAt = completedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return completedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getCompletedAt() { + return completedAt; + } + + + public void setCompletedAt(OffsetDateTime completedAt) { + this.completedAt = completedAt; + } + + + public IdentityVerificationRetryResponse previousAttemptId(String previousAttemptId) { + + this.previousAttemptId = previousAttemptId; + return this; + } + + /** + * The ID for the Identity Verification preceding this session. This field will only be filled if the current Identity Verification is a retry of a previous attempt. + * @return previousAttemptId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "idv_42cF1MNo42r9Xj", required = true, value = "The ID for the Identity Verification preceding this session. This field will only be filled if the current Identity Verification is a retry of a previous attempt.") + + public String getPreviousAttemptId() { + return previousAttemptId; + } + + + public void setPreviousAttemptId(String previousAttemptId) { + this.previousAttemptId = previousAttemptId; + } + + + public IdentityVerificationRetryResponse shareableUrl(String shareableUrl) { + + this.shareableUrl = shareableUrl; + return this; + } + + /** + * A shareable URL that can be sent directly to the user to complete verification + * @return shareableUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://flow.plaid.com/verify/idv_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f", required = true, value = "A shareable URL that can be sent directly to the user to complete verification") + + public String getShareableUrl() { + return shareableUrl; + } + + + public void setShareableUrl(String shareableUrl) { + this.shareableUrl = shareableUrl; + } + + + public IdentityVerificationRetryResponse template(IdentityVerificationTemplateReference template) { + + this.template = template; + return this; + } + + /** + * Get template + * @return template + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationTemplateReference getTemplate() { + return template; + } + + + public void setTemplate(IdentityVerificationTemplateReference template) { + this.template = template; + } + + + public IdentityVerificationRetryResponse user(IdentityVerificationUserData user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationUserData getUser() { + return user; + } + + + public void setUser(IdentityVerificationUserData user) { + this.user = user; + } + + + public IdentityVerificationRetryResponse status(IdentityVerificationStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStatus getStatus() { + return status; + } + + + public void setStatus(IdentityVerificationStatus status) { + this.status = status; + } + + + public IdentityVerificationRetryResponse steps(IdentityVerificationStepSummary steps) { + + this.steps = steps; + return this; + } + + /** + * Get steps + * @return steps + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStepSummary getSteps() { + return steps; + } + + + public void setSteps(IdentityVerificationStepSummary steps) { + this.steps = steps; + } + + + public IdentityVerificationRetryResponse documentaryVerification(DocumentaryVerification documentaryVerification) { + + this.documentaryVerification = documentaryVerification; + return this; + } + + /** + * Get documentaryVerification + * @return documentaryVerification + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public DocumentaryVerification getDocumentaryVerification() { + return documentaryVerification; + } + + + public void setDocumentaryVerification(DocumentaryVerification documentaryVerification) { + this.documentaryVerification = documentaryVerification; + } + + + public IdentityVerificationRetryResponse selfieCheck(SelfieCheck selfieCheck) { + + this.selfieCheck = selfieCheck; + return this; + } + + /** + * Get selfieCheck + * @return selfieCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public SelfieCheck getSelfieCheck() { + return selfieCheck; + } + + + public void setSelfieCheck(SelfieCheck selfieCheck) { + this.selfieCheck = selfieCheck; + } + + + public IdentityVerificationRetryResponse kycCheck(KYCCheckDetails kycCheck) { + + this.kycCheck = kycCheck; + return this; + } + + /** + * Get kycCheck + * @return kycCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public KYCCheckDetails getKycCheck() { + return kycCheck; + } + + + public void setKycCheck(KYCCheckDetails kycCheck) { + this.kycCheck = kycCheck; + } + + + public IdentityVerificationRetryResponse riskCheck(RiskCheckDetails riskCheck) { + + this.riskCheck = riskCheck; + return this; + } + + /** + * Get riskCheck + * @return riskCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public RiskCheckDetails getRiskCheck() { + return riskCheck; + } + + + public void setRiskCheck(RiskCheckDetails riskCheck) { + this.riskCheck = riskCheck; + } + + + public IdentityVerificationRetryResponse verifySms(VerifySMSDetails verifySms) { + + this.verifySms = verifySms; + return this; + } + + /** + * Get verifySms + * @return verifySms + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public VerifySMSDetails getVerifySms() { + return verifySms; + } + + + public void setVerifySms(VerifySMSDetails verifySms) { + this.verifySms = verifySms; + } + + + public IdentityVerificationRetryResponse watchlistScreeningId(String watchlistScreeningId) { + + this.watchlistScreeningId = watchlistScreeningId; + return this; + } + + /** + * ID of the associated screening. + * @return watchlistScreeningId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getWatchlistScreeningId() { + return watchlistScreeningId; + } + + + public void setWatchlistScreeningId(String watchlistScreeningId) { + this.watchlistScreeningId = watchlistScreeningId; + } + + + public IdentityVerificationRetryResponse beaconUserId(String beaconUserId) { + + this.beaconUserId = beaconUserId; + return this; + } + + /** + * Beacon is deprecated in favor of Plaid Protect. This field is only populated for users of the deprecated Beacon product. + * @return beaconUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Beacon is deprecated in favor of Plaid Protect. This field is only populated for users of the deprecated Beacon product.") + + public String getBeaconUserId() { + return beaconUserId; + } + + + public void setBeaconUserId(String beaconUserId) { + this.beaconUserId = beaconUserId; + } + + + public IdentityVerificationRetryResponse userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Unique user identifier, created by calling `/user/create`. Either a `user_id` or the `client_user_id` must be provided. The `user_id` may only be used instead of the `client_user_id` if you were not a pre-existing user of `/user/create` as of December 10, 2025, or if you have since [migrated to the new User APIs](https://plaid.com/docs/api/users/migrate-to-new-user-apis); for more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). If both this field and a `client_user_id` are present in a request, the `user_id` must have been created from the provided `client_user_id`. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "usr_dddAs9ewdcDQQQ", required = true, value = "Unique user identifier, created by calling `/user/create`. Either a `user_id` or the `client_user_id` must be provided. The `user_id` may only be used instead of the `client_user_id` if you were not a pre-existing user of `/user/create` as of December 10, 2025, or if you have since [migrated to the new User APIs](https://plaid.com/docs/api/users/migrate-to-new-user-apis); for more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). If both this field and a `client_user_id` are present in a request, the `user_id` must have been created from the provided `client_user_id`.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public IdentityVerificationRetryResponse redactedAt(OffsetDateTime redactedAt) { + + this.redactedAt = redactedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return redactedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getRedactedAt() { + return redactedAt; + } + + + public void setRedactedAt(OffsetDateTime redactedAt) { + this.redactedAt = redactedAt; + } + + + public IdentityVerificationRetryResponse latestScoredProtectEvent(IDVProtectEvent latestScoredProtectEvent) { + + this.latestScoredProtectEvent = latestScoredProtectEvent; + return this; + } + + /** + * Get latestScoredProtectEvent + * @return latestScoredProtectEvent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IDVProtectEvent getLatestScoredProtectEvent() { + return latestScoredProtectEvent; + } + + + public void setLatestScoredProtectEvent(IDVProtectEvent latestScoredProtectEvent) { + this.latestScoredProtectEvent = latestScoredProtectEvent; + } + + + public IdentityVerificationRetryResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationRetryResponse identityVerificationRetryResponse = (IdentityVerificationRetryResponse) o; + return Objects.equals(this.id, identityVerificationRetryResponse.id) && + Objects.equals(this.clientUserId, identityVerificationRetryResponse.clientUserId) && + Objects.equals(this.createdAt, identityVerificationRetryResponse.createdAt) && + Objects.equals(this.completedAt, identityVerificationRetryResponse.completedAt) && + Objects.equals(this.previousAttemptId, identityVerificationRetryResponse.previousAttemptId) && + Objects.equals(this.shareableUrl, identityVerificationRetryResponse.shareableUrl) && + Objects.equals(this.template, identityVerificationRetryResponse.template) && + Objects.equals(this.user, identityVerificationRetryResponse.user) && + Objects.equals(this.status, identityVerificationRetryResponse.status) && + Objects.equals(this.steps, identityVerificationRetryResponse.steps) && + Objects.equals(this.documentaryVerification, identityVerificationRetryResponse.documentaryVerification) && + Objects.equals(this.selfieCheck, identityVerificationRetryResponse.selfieCheck) && + Objects.equals(this.kycCheck, identityVerificationRetryResponse.kycCheck) && + Objects.equals(this.riskCheck, identityVerificationRetryResponse.riskCheck) && + Objects.equals(this.verifySms, identityVerificationRetryResponse.verifySms) && + Objects.equals(this.watchlistScreeningId, identityVerificationRetryResponse.watchlistScreeningId) && + Objects.equals(this.beaconUserId, identityVerificationRetryResponse.beaconUserId) && + Objects.equals(this.userId, identityVerificationRetryResponse.userId) && + Objects.equals(this.redactedAt, identityVerificationRetryResponse.redactedAt) && + Objects.equals(this.latestScoredProtectEvent, identityVerificationRetryResponse.latestScoredProtectEvent) && + Objects.equals(this.requestId, identityVerificationRetryResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, clientUserId, createdAt, completedAt, previousAttemptId, shareableUrl, template, user, status, steps, documentaryVerification, selfieCheck, kycCheck, riskCheck, verifySms, watchlistScreeningId, beaconUserId, userId, redactedAt, latestScoredProtectEvent, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationRetryResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" completedAt: ").append(toIndentedString(completedAt)).append("\n"); + sb.append(" previousAttemptId: ").append(toIndentedString(previousAttemptId)).append("\n"); + sb.append(" shareableUrl: ").append(toIndentedString(shareableUrl)).append("\n"); + sb.append(" template: ").append(toIndentedString(template)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" steps: ").append(toIndentedString(steps)).append("\n"); + sb.append(" documentaryVerification: ").append(toIndentedString(documentaryVerification)).append("\n"); + sb.append(" selfieCheck: ").append(toIndentedString(selfieCheck)).append("\n"); + sb.append(" kycCheck: ").append(toIndentedString(kycCheck)).append("\n"); + sb.append(" riskCheck: ").append(toIndentedString(riskCheck)).append("\n"); + sb.append(" verifySms: ").append(toIndentedString(verifySms)).append("\n"); + sb.append(" watchlistScreeningId: ").append(toIndentedString(watchlistScreeningId)).append("\n"); + sb.append(" beaconUserId: ").append(toIndentedString(beaconUserId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" redactedAt: ").append(toIndentedString(redactedAt)).append("\n"); + sb.append(" latestScoredProtectEvent: ").append(toIndentedString(latestScoredProtectEvent)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationStatus.java b/src/main/java/com/plaid/client/model/IdentityVerificationStatus.java new file mode 100644 index 0000000000..7d3ef3beaf --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationStatus.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of this Identity Verification attempt. `active` - The Identity Verification attempt is incomplete. The user may have completed part of the session, but has neither failed nor passed. `success` - The Identity Verification attempt has completed, passing all steps defined to the associated Identity Verification template. `failed` - The user failed one or more steps in the session and was told to contact support. `expired` - The Identity Verification attempt was active for a long period of time without being completed and was automatically marked as expired. Note that sessions currently do not expire. Automatic expiration is expected to be enabled in the future. `canceled` - The Identity Verification attempt was canceled, either via the dashboard by a user, or via API. The user may have completed part of the session, but has neither failed nor passed. `pending_review` - The Identity Verification attempt template was configured to perform a screening that had one or more hits needing review. + */ +@JsonAdapter(IdentityVerificationStatus.Adapter.class) +public enum IdentityVerificationStatus { + + ACTIVE("active"), + + SUCCESS("success"), + + FAILED("failed"), + + EXPIRED("expired"), + + CANCELED("canceled"), + + PENDING_REVIEW("pending_review"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IdentityVerificationStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IdentityVerificationStatus fromValue(String value) { + for (IdentityVerificationStatus b : IdentityVerificationStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return IdentityVerificationStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IdentityVerificationStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IdentityVerificationStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IdentityVerificationStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationStatusUpdatedWebhook.java b/src/main/java/com/plaid/client/model/IdentityVerificationStatusUpdatedWebhook.java new file mode 100644 index 0000000000..94279506ca --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationStatusUpdatedWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when the status of an identity verification has been updated, which can be triggered via the dashboard or the API. + */ +@ApiModel(description = "Fired when the status of an identity verification has been updated, which can be triggered via the dashboard or the API.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationStatusUpdatedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_IDENTITY_VERIFICATION_ID = "identity_verification_id"; + @SerializedName(SERIALIZED_NAME_IDENTITY_VERIFICATION_ID) + private String identityVerificationId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public IdentityVerificationStatusUpdatedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `IDENTITY_VERIFICATION` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`IDENTITY_VERIFICATION`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public IdentityVerificationStatusUpdatedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `STATUS_UPDATED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`STATUS_UPDATED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public IdentityVerificationStatusUpdatedWebhook identityVerificationId(String identityVerificationId) { + + this.identityVerificationId = identityVerificationId; + return this; + } + + /** + * The ID of the associated Identity Verification attempt. + * @return identityVerificationId + **/ + @ApiModelProperty(required = true, value = "The ID of the associated Identity Verification attempt.") + + public String getIdentityVerificationId() { + return identityVerificationId; + } + + + public void setIdentityVerificationId(String identityVerificationId) { + this.identityVerificationId = identityVerificationId; + } + + + public IdentityVerificationStatusUpdatedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationStatusUpdatedWebhook identityVerificationStatusUpdatedWebhook = (IdentityVerificationStatusUpdatedWebhook) o; + return Objects.equals(this.webhookType, identityVerificationStatusUpdatedWebhook.webhookType) && + Objects.equals(this.webhookCode, identityVerificationStatusUpdatedWebhook.webhookCode) && + Objects.equals(this.identityVerificationId, identityVerificationStatusUpdatedWebhook.identityVerificationId) && + Objects.equals(this.environment, identityVerificationStatusUpdatedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, identityVerificationId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationStatusUpdatedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" identityVerificationId: ").append(toIndentedString(identityVerificationId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationStepStatus.java b/src/main/java/com/plaid/client/model/IdentityVerificationStepStatus.java new file mode 100644 index 0000000000..91527b7b9b --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationStepStatus.java @@ -0,0 +1,97 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of a step in the Identity Verification process. + */ +@JsonAdapter(IdentityVerificationStepStatus.Adapter.class) +public enum IdentityVerificationStepStatus { + + SUCCESS("success"), + + ACTIVE("active"), + + FAILED("failed"), + + WAITING_FOR_PREREQUISITE("waiting_for_prerequisite"), + + NOT_APPLICABLE("not_applicable"), + + SKIPPED("skipped"), + + EXPIRED("expired"), + + CANCELED("canceled"), + + PENDING_REVIEW("pending_review"), + + MANUALLY_APPROVED("manually_approved"), + + MANUALLY_REJECTED("manually_rejected"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IdentityVerificationStepStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IdentityVerificationStepStatus fromValue(String value) { + for (IdentityVerificationStepStatus b : IdentityVerificationStepStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return IdentityVerificationStepStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IdentityVerificationStepStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IdentityVerificationStepStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IdentityVerificationStepStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationStepSummary.java b/src/main/java/com/plaid/client/model/IdentityVerificationStepSummary.java new file mode 100644 index 0000000000..c2cbec018f --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationStepSummary.java @@ -0,0 +1,267 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityVerificationStepStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Each step will be one of the following values: `active` - This step is the user's current step. They are either in the process of completing this step, or they recently closed their Identity Verification attempt while in the middle of this step. Only one step will be marked as `active` at any given point. `success` - The Identity Verification attempt has completed this step. `failed` - The user failed this step. This can either cause the user to fail the session as a whole, or cause them to fall back to another step depending on how the Identity Verification template is configured. A failed step does not imply a failed session. `waiting_for_prerequisite` - The user needs to complete another step first, before they progress to this step. This step may never run, depending on if the user fails an earlier step or if the step is only run as a fallback. `not_applicable` - This step will not be run for this session. `skipped` - The retry instructions that created this Identity Verification attempt specified that this step should be skipped. `expired` - This step had not yet been completed when the Identity Verification attempt as a whole expired. `canceled` - The Identity Verification attempt was canceled before the user completed this step. `pending_review` - The Identity Verification attempt template was configured to perform a screening that had one or more hits needing review. `manually_approved` - The step was manually overridden to pass by a team member in the dashboard. `manually_rejected` - The step was manually overridden to fail by a team member in the dashboard. + */ +@ApiModel(description = "Each step will be one of the following values: `active` - This step is the user's current step. They are either in the process of completing this step, or they recently closed their Identity Verification attempt while in the middle of this step. Only one step will be marked as `active` at any given point. `success` - The Identity Verification attempt has completed this step. `failed` - The user failed this step. This can either cause the user to fail the session as a whole, or cause them to fall back to another step depending on how the Identity Verification template is configured. A failed step does not imply a failed session. `waiting_for_prerequisite` - The user needs to complete another step first, before they progress to this step. This step may never run, depending on if the user fails an earlier step or if the step is only run as a fallback. `not_applicable` - This step will not be run for this session. `skipped` - The retry instructions that created this Identity Verification attempt specified that this step should be skipped. `expired` - This step had not yet been completed when the Identity Verification attempt as a whole expired. `canceled` - The Identity Verification attempt was canceled before the user completed this step. `pending_review` - The Identity Verification attempt template was configured to perform a screening that had one or more hits needing review. `manually_approved` - The step was manually overridden to pass by a team member in the dashboard. `manually_rejected` - The step was manually overridden to fail by a team member in the dashboard.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationStepSummary { + public static final String SERIALIZED_NAME_ACCEPT_TOS = "accept_tos"; + @SerializedName(SERIALIZED_NAME_ACCEPT_TOS) + private IdentityVerificationStepStatus acceptTos; + + public static final String SERIALIZED_NAME_VERIFY_SMS = "verify_sms"; + @SerializedName(SERIALIZED_NAME_VERIFY_SMS) + private IdentityVerificationStepStatus verifySms; + + public static final String SERIALIZED_NAME_KYC_CHECK = "kyc_check"; + @SerializedName(SERIALIZED_NAME_KYC_CHECK) + private IdentityVerificationStepStatus kycCheck; + + public static final String SERIALIZED_NAME_DOCUMENTARY_VERIFICATION = "documentary_verification"; + @SerializedName(SERIALIZED_NAME_DOCUMENTARY_VERIFICATION) + private IdentityVerificationStepStatus documentaryVerification; + + public static final String SERIALIZED_NAME_SELFIE_CHECK = "selfie_check"; + @SerializedName(SERIALIZED_NAME_SELFIE_CHECK) + private IdentityVerificationStepStatus selfieCheck; + + public static final String SERIALIZED_NAME_WATCHLIST_SCREENING = "watchlist_screening"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENING) + private IdentityVerificationStepStatus watchlistScreening; + + public static final String SERIALIZED_NAME_RISK_CHECK = "risk_check"; + @SerializedName(SERIALIZED_NAME_RISK_CHECK) + private IdentityVerificationStepStatus riskCheck; + + + public IdentityVerificationStepSummary acceptTos(IdentityVerificationStepStatus acceptTos) { + + this.acceptTos = acceptTos; + return this; + } + + /** + * Get acceptTos + * @return acceptTos + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStepStatus getAcceptTos() { + return acceptTos; + } + + + public void setAcceptTos(IdentityVerificationStepStatus acceptTos) { + this.acceptTos = acceptTos; + } + + + public IdentityVerificationStepSummary verifySms(IdentityVerificationStepStatus verifySms) { + + this.verifySms = verifySms; + return this; + } + + /** + * Get verifySms + * @return verifySms + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStepStatus getVerifySms() { + return verifySms; + } + + + public void setVerifySms(IdentityVerificationStepStatus verifySms) { + this.verifySms = verifySms; + } + + + public IdentityVerificationStepSummary kycCheck(IdentityVerificationStepStatus kycCheck) { + + this.kycCheck = kycCheck; + return this; + } + + /** + * Get kycCheck + * @return kycCheck + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStepStatus getKycCheck() { + return kycCheck; + } + + + public void setKycCheck(IdentityVerificationStepStatus kycCheck) { + this.kycCheck = kycCheck; + } + + + public IdentityVerificationStepSummary documentaryVerification(IdentityVerificationStepStatus documentaryVerification) { + + this.documentaryVerification = documentaryVerification; + return this; + } + + /** + * Get documentaryVerification + * @return documentaryVerification + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStepStatus getDocumentaryVerification() { + return documentaryVerification; + } + + + public void setDocumentaryVerification(IdentityVerificationStepStatus documentaryVerification) { + this.documentaryVerification = documentaryVerification; + } + + + public IdentityVerificationStepSummary selfieCheck(IdentityVerificationStepStatus selfieCheck) { + + this.selfieCheck = selfieCheck; + return this; + } + + /** + * Get selfieCheck + * @return selfieCheck + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStepStatus getSelfieCheck() { + return selfieCheck; + } + + + public void setSelfieCheck(IdentityVerificationStepStatus selfieCheck) { + this.selfieCheck = selfieCheck; + } + + + public IdentityVerificationStepSummary watchlistScreening(IdentityVerificationStepStatus watchlistScreening) { + + this.watchlistScreening = watchlistScreening; + return this; + } + + /** + * Get watchlistScreening + * @return watchlistScreening + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStepStatus getWatchlistScreening() { + return watchlistScreening; + } + + + public void setWatchlistScreening(IdentityVerificationStepStatus watchlistScreening) { + this.watchlistScreening = watchlistScreening; + } + + + public IdentityVerificationStepSummary riskCheck(IdentityVerificationStepStatus riskCheck) { + + this.riskCheck = riskCheck; + return this; + } + + /** + * Get riskCheck + * @return riskCheck + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStepStatus getRiskCheck() { + return riskCheck; + } + + + public void setRiskCheck(IdentityVerificationStepStatus riskCheck) { + this.riskCheck = riskCheck; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationStepSummary identityVerificationStepSummary = (IdentityVerificationStepSummary) o; + return Objects.equals(this.acceptTos, identityVerificationStepSummary.acceptTos) && + Objects.equals(this.verifySms, identityVerificationStepSummary.verifySms) && + Objects.equals(this.kycCheck, identityVerificationStepSummary.kycCheck) && + Objects.equals(this.documentaryVerification, identityVerificationStepSummary.documentaryVerification) && + Objects.equals(this.selfieCheck, identityVerificationStepSummary.selfieCheck) && + Objects.equals(this.watchlistScreening, identityVerificationStepSummary.watchlistScreening) && + Objects.equals(this.riskCheck, identityVerificationStepSummary.riskCheck); + } + + @Override + public int hashCode() { + return Objects.hash(acceptTos, verifySms, kycCheck, documentaryVerification, selfieCheck, watchlistScreening, riskCheck); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationStepSummary {\n"); + sb.append(" acceptTos: ").append(toIndentedString(acceptTos)).append("\n"); + sb.append(" verifySms: ").append(toIndentedString(verifySms)).append("\n"); + sb.append(" kycCheck: ").append(toIndentedString(kycCheck)).append("\n"); + sb.append(" documentaryVerification: ").append(toIndentedString(documentaryVerification)).append("\n"); + sb.append(" selfieCheck: ").append(toIndentedString(selfieCheck)).append("\n"); + sb.append(" watchlistScreening: ").append(toIndentedString(watchlistScreening)).append("\n"); + sb.append(" riskCheck: ").append(toIndentedString(riskCheck)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationStepUpdatedWebhook.java b/src/main/java/com/plaid/client/model/IdentityVerificationStepUpdatedWebhook.java new file mode 100644 index 0000000000..8df3b7ed35 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationStepUpdatedWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when an end user has completed a step of the Identity Verification process. + */ +@ApiModel(description = "Fired when an end user has completed a step of the Identity Verification process.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationStepUpdatedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_IDENTITY_VERIFICATION_ID = "identity_verification_id"; + @SerializedName(SERIALIZED_NAME_IDENTITY_VERIFICATION_ID) + private String identityVerificationId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public IdentityVerificationStepUpdatedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `IDENTITY_VERIFICATION` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`IDENTITY_VERIFICATION`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public IdentityVerificationStepUpdatedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `STEP_UPDATED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`STEP_UPDATED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public IdentityVerificationStepUpdatedWebhook identityVerificationId(String identityVerificationId) { + + this.identityVerificationId = identityVerificationId; + return this; + } + + /** + * The ID of the associated Identity Verification attempt. + * @return identityVerificationId + **/ + @ApiModelProperty(required = true, value = "The ID of the associated Identity Verification attempt.") + + public String getIdentityVerificationId() { + return identityVerificationId; + } + + + public void setIdentityVerificationId(String identityVerificationId) { + this.identityVerificationId = identityVerificationId; + } + + + public IdentityVerificationStepUpdatedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationStepUpdatedWebhook identityVerificationStepUpdatedWebhook = (IdentityVerificationStepUpdatedWebhook) o; + return Objects.equals(this.webhookType, identityVerificationStepUpdatedWebhook.webhookType) && + Objects.equals(this.webhookCode, identityVerificationStepUpdatedWebhook.webhookCode) && + Objects.equals(this.identityVerificationId, identityVerificationStepUpdatedWebhook.identityVerificationId) && + Objects.equals(this.environment, identityVerificationStepUpdatedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, identityVerificationId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationStepUpdatedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" identityVerificationId: ").append(toIndentedString(identityVerificationId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationTemplateReference.java b/src/main/java/com/plaid/client/model/IdentityVerificationTemplateReference.java new file mode 100644 index 0000000000..cf57f2e770 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationTemplateReference.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The resource ID and version number of the template configuring the behavior of a given Identity Verification. + */ +@ApiModel(description = "The resource ID and version number of the template configuring the behavior of a given Identity Verification.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationTemplateReference { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private Integer version; + + + public IdentityVerificationTemplateReference id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Identity Verification template. Like all Plaid identifiers, this is case-sensitive. + * @return id + **/ + @ApiModelProperty(example = "idvtmp_4FrXJvfQU3zGUR", required = true, value = "ID of the associated Identity Verification template. Like all Plaid identifiers, this is case-sensitive.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public IdentityVerificationTemplateReference version(Integer version) { + + this.version = version; + return this; + } + + /** + * Version of the associated Identity Verification template. + * @return version + **/ + @ApiModelProperty(example = "2", required = true, value = "Version of the associated Identity Verification template.") + + public Integer getVersion() { + return version; + } + + + public void setVersion(Integer version) { + this.version = version; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationTemplateReference identityVerificationTemplateReference = (IdentityVerificationTemplateReference) o; + return Objects.equals(this.id, identityVerificationTemplateReference.id) && + Objects.equals(this.version, identityVerificationTemplateReference.version); + } + + @Override + public int hashCode() { + return Objects.hash(id, version); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationTemplateReference {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationUserAddress.java b/src/main/java/com/plaid/client/model/IdentityVerificationUserAddress.java new file mode 100644 index 0000000000..9fe61bd908 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationUserAddress.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Even if an address has been collected, some fields may be null depending on the region's addressing system. For example: Addresses from the United Kingdom will not include a region Addresses from Hong Kong will not include postal code + */ +@ApiModel(description = "Even if an address has been collected, some fields may be null depending on the region's addressing system. For example: Addresses from the United Kingdom will not include a region Addresses from Hong Kong will not include postal code") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationUserAddress { + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_STREET2 = "street2"; + @SerializedName(SERIALIZED_NAME_STREET2) + private String street2; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public IdentityVerificationUserAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters. + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "123 Main St.", required = true, value = "The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public IdentityVerificationUserAddress street2(String street2) { + + this.street2 = street2; + return this; + } + + /** + * Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters. + * @return street2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Unit 42", required = true, value = "Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters.") + + public String getStreet2() { + return street2; + } + + + public void setStreet2(String street2) { + this.street2 = street2; + } + + + public IdentityVerificationUserAddress city(String city) { + + this.city = city; + return this; + } + + /** + * City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Pawnee", required = true, value = "City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public IdentityVerificationUserAddress region(String region) { + + this.region = region; + return this; + } + + /** + * A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field. + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "IN", required = true, value = "A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public IdentityVerificationUserAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "46001", required = true, value = "The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public IdentityVerificationUserAddress country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationUserAddress identityVerificationUserAddress = (IdentityVerificationUserAddress) o; + return Objects.equals(this.street, identityVerificationUserAddress.street) && + Objects.equals(this.street2, identityVerificationUserAddress.street2) && + Objects.equals(this.city, identityVerificationUserAddress.city) && + Objects.equals(this.region, identityVerificationUserAddress.region) && + Objects.equals(this.postalCode, identityVerificationUserAddress.postalCode) && + Objects.equals(this.country, identityVerificationUserAddress.country); + } + + @Override + public int hashCode() { + return Objects.hash(street, street2, city, region, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationUserAddress {\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" street2: ").append(toIndentedString(street2)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IdentityVerificationUserData.java b/src/main/java/com/plaid/client/model/IdentityVerificationUserData.java new file mode 100644 index 0000000000..d2295d2371 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IdentityVerificationUserData.java @@ -0,0 +1,277 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityVerificationResponseUserName; +import com.plaid.client.model.IdentityVerificationUserAddress; +import com.plaid.client.model.UserIDNumber; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * The identity data that was either collected from the user or provided via API in order to perform an Identity Verification. + */ +@ApiModel(description = "The identity data that was either collected from the user or provided via API in order to perform an Identity Verification.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IdentityVerificationUserData { + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_IP_ADDRESS = "ip_address"; + @SerializedName(SERIALIZED_NAME_IP_ADDRESS) + private String ipAddress; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private IdentityVerificationResponseUserName name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private IdentityVerificationUserAddress address; + + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private UserIDNumber idNumber; + + + public IdentityVerificationUserData phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A valid phone number in E.164 format. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+12345678909", value = "A valid phone number in E.164 format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public IdentityVerificationUserData dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public IdentityVerificationUserData ipAddress(String ipAddress) { + + this.ipAddress = ipAddress; + return this; + } + + /** + * An IPv4 or IPv6 address. + * @return ipAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "192.0.2.42", required = true, value = "An IPv4 or IPv6 address.") + + public String getIpAddress() { + return ipAddress; + } + + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + + public IdentityVerificationUserData emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user@example.com", required = true, value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public IdentityVerificationUserData name(IdentityVerificationResponseUserName name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationResponseUserName getName() { + return name; + } + + + public void setName(IdentityVerificationResponseUserName name) { + this.name = name; + } + + + public IdentityVerificationUserData address(IdentityVerificationUserAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationUserAddress getAddress() { + return address; + } + + + public void setAddress(IdentityVerificationUserAddress address) { + this.address = address; + } + + + public IdentityVerificationUserData idNumber(UserIDNumber idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Get idNumber + * @return idNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public UserIDNumber getIdNumber() { + return idNumber; + } + + + public void setIdNumber(UserIDNumber idNumber) { + this.idNumber = idNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IdentityVerificationUserData identityVerificationUserData = (IdentityVerificationUserData) o; + return Objects.equals(this.phoneNumber, identityVerificationUserData.phoneNumber) && + Objects.equals(this.dateOfBirth, identityVerificationUserData.dateOfBirth) && + Objects.equals(this.ipAddress, identityVerificationUserData.ipAddress) && + Objects.equals(this.emailAddress, identityVerificationUserData.emailAddress) && + Objects.equals(this.name, identityVerificationUserData.name) && + Objects.equals(this.address, identityVerificationUserData.address) && + Objects.equals(this.idNumber, identityVerificationUserData.idNumber); + } + + @Override + public int hashCode() { + return Objects.hash(phoneNumber, dateOfBirth, ipAddress, emailAddress, name, address, idNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IdentityVerificationUserData {\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" ipAddress: ").append(toIndentedString(ipAddress)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ImageQuality.java b/src/main/java/com/plaid/client/model/ImageQuality.java new file mode 100644 index 0000000000..460803f754 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ImageQuality.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A high level description of the quality of the image the user submitted. For example, an image that is blurry, distorted by glare from a nearby light source, or improperly framed might be marked as low or medium quality. Poor quality images are more likely to fail OCR and/or template conformity checks. Note: By default, Plaid will let a user recapture document images twice before failing the entire session if we attribute the failure to low image quality. + */ +@JsonAdapter(ImageQuality.Adapter.class) +public enum ImageQuality { + + HIGH("high"), + + MEDIUM("medium"), + + LOW("low"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ImageQuality(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ImageQuality fromValue(String value) { + for (ImageQuality b : ImageQuality.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ImageQuality.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ImageQuality enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ImageQuality read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ImageQuality.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ImageQualityDetails.java b/src/main/java/com/plaid/client/model/ImageQualityDetails.java new file mode 100644 index 0000000000..4c72da0384 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ImageQualityDetails.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ImageQualityOutcome; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details about the image quality of the document. + */ +@ApiModel(description = "Details about the image quality of the document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ImageQualityDetails { + public static final String SERIALIZED_NAME_GLARE_CHECK = "glare_check"; + @SerializedName(SERIALIZED_NAME_GLARE_CHECK) + private ImageQualityOutcome glareCheck; + + public static final String SERIALIZED_NAME_DIMENSIONS_CHECK = "dimensions_check"; + @SerializedName(SERIALIZED_NAME_DIMENSIONS_CHECK) + private ImageQualityOutcome dimensionsCheck; + + public static final String SERIALIZED_NAME_BLUR_CHECK = "blur_check"; + @SerializedName(SERIALIZED_NAME_BLUR_CHECK) + private ImageQualityOutcome blurCheck; + + + public ImageQualityDetails glareCheck(ImageQualityOutcome glareCheck) { + + this.glareCheck = glareCheck; + return this; + } + + /** + * The outcome of the glare check. `success` - The image is free of glare. `failed` - The image contains glare that may obscure document details. + * @return glareCheck + **/ + @ApiModelProperty(required = true, value = "The outcome of the glare check. `success` - The image is free of glare. `failed` - The image contains glare that may obscure document details.") + + public ImageQualityOutcome getGlareCheck() { + return glareCheck; + } + + + public void setGlareCheck(ImageQualityOutcome glareCheck) { + this.glareCheck = glareCheck; + } + + + public ImageQualityDetails dimensionsCheck(ImageQualityOutcome dimensionsCheck) { + + this.dimensionsCheck = dimensionsCheck; + return this; + } + + /** + * The outcome of the dimensions check. `success` - The image meets the minimum size and resolution requirements. `failed` - The image does not meet the minimum size or resolution requirements. + * @return dimensionsCheck + **/ + @ApiModelProperty(required = true, value = "The outcome of the dimensions check. `success` - The image meets the minimum size and resolution requirements. `failed` - The image does not meet the minimum size or resolution requirements.") + + public ImageQualityOutcome getDimensionsCheck() { + return dimensionsCheck; + } + + + public void setDimensionsCheck(ImageQualityOutcome dimensionsCheck) { + this.dimensionsCheck = dimensionsCheck; + } + + + public ImageQualityDetails blurCheck(ImageQualityOutcome blurCheck) { + + this.blurCheck = blurCheck; + return this; + } + + /** + * The outcome of the blur check. `success` - The image is sufficiently sharp. `failed` - The image is too blurry for analysis. + * @return blurCheck + **/ + @ApiModelProperty(required = true, value = "The outcome of the blur check. `success` - The image is sufficiently sharp. `failed` - The image is too blurry for analysis.") + + public ImageQualityOutcome getBlurCheck() { + return blurCheck; + } + + + public void setBlurCheck(ImageQualityOutcome blurCheck) { + this.blurCheck = blurCheck; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ImageQualityDetails imageQualityDetails = (ImageQualityDetails) o; + return Objects.equals(this.glareCheck, imageQualityDetails.glareCheck) && + Objects.equals(this.dimensionsCheck, imageQualityDetails.dimensionsCheck) && + Objects.equals(this.blurCheck, imageQualityDetails.blurCheck); + } + + @Override + public int hashCode() { + return Objects.hash(glareCheck, dimensionsCheck, blurCheck); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ImageQualityDetails {\n"); + sb.append(" glareCheck: ").append(toIndentedString(glareCheck)).append("\n"); + sb.append(" dimensionsCheck: ").append(toIndentedString(dimensionsCheck)).append("\n"); + sb.append(" blurCheck: ").append(toIndentedString(blurCheck)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ImageQualityOutcome.java b/src/main/java/com/plaid/client/model/ImageQualityOutcome.java new file mode 100644 index 0000000000..94bc85db90 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ImageQualityOutcome.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The outcome of the image quality check. `success` - The check passed. `failed` - The check did not pass. + */ +@JsonAdapter(ImageQualityOutcome.Adapter.class) +public enum ImageQualityOutcome { + + SUCCESS("success"), + + FAILED("failed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ImageQualityOutcome(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ImageQualityOutcome fromValue(String value) { + for (ImageQualityOutcome b : ImageQualityOutcome.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ImageQualityOutcome.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ImageQualityOutcome enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ImageQualityOutcome read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ImageQualityOutcome.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IncidentUpdate.java b/src/main/java/com/plaid/client/model/IncidentUpdate.java new file mode 100644 index 0000000000..948022a2d8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncidentUpdate.java @@ -0,0 +1,211 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * An update on the health incident + */ +@ApiModel(description = "An update on the health incident") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncidentUpdate { + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + /** + * The status of the incident. + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + INVESTIGATING("INVESTIGATING"), + + IDENTIFIED("IDENTIFIED"), + + SCHEDULED("SCHEDULED"), + + RESOLVED("RESOLVED"), + + UNKNOWN("UNKNOWN"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private StatusEnum status; + + public static final String SERIALIZED_NAME_UPDATED_DATE = "updated_date"; + @SerializedName(SERIALIZED_NAME_UPDATED_DATE) + private OffsetDateTime updatedDate; + + + public IncidentUpdate description(String description) { + + this.description = description; + return this; + } + + /** + * The content of the update. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The content of the update.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public IncidentUpdate status(StatusEnum status) { + + this.status = status; + return this; + } + + /** + * The status of the incident. + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The status of the incident.") + + public StatusEnum getStatus() { + return status; + } + + + public void setStatus(StatusEnum status) { + this.status = status; + } + + + public IncidentUpdate updatedDate(OffsetDateTime updatedDate) { + + this.updatedDate = updatedDate; + return this; + } + + /** + * The date when the update was published, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2020-10-30T15:26:48Z\"`. + * @return updatedDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date when the update was published, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2020-10-30T15:26:48Z\"`.") + + public OffsetDateTime getUpdatedDate() { + return updatedDate; + } + + + public void setUpdatedDate(OffsetDateTime updatedDate) { + this.updatedDate = updatedDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncidentUpdate incidentUpdate = (IncidentUpdate) o; + return Objects.equals(this.description, incidentUpdate.description) && + Objects.equals(this.status, incidentUpdate.status) && + Objects.equals(this.updatedDate, incidentUpdate.updatedDate); + } + + @Override + public int hashCode() { + return Objects.hash(description, status, updatedDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncidentUpdate {\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" updatedDate: ").append(toIndentedString(updatedDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeBreakdown.java b/src/main/java/com/plaid/client/model/IncomeBreakdown.java new file mode 100644 index 0000000000..c96572c4a3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeBreakdown.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeBreakdownType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * An object representing a breakdown of the different income types on the paystub. + */ +@ApiModel(description = "An object representing a breakdown of the different income types on the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeBreakdown { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private IncomeBreakdownType type; + + public static final String SERIALIZED_NAME_RATE = "rate"; + @SerializedName(SERIALIZED_NAME_RATE) + private Double rate; + + public static final String SERIALIZED_NAME_HOURS = "hours"; + @SerializedName(SERIALIZED_NAME_HOURS) + private Double hours; + + public static final String SERIALIZED_NAME_TOTAL = "total"; + @SerializedName(SERIALIZED_NAME_TOTAL) + private Double total; + + + public IncomeBreakdown type(IncomeBreakdownType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public IncomeBreakdownType getType() { + return type; + } + + + public void setType(IncomeBreakdownType type) { + this.type = type; + } + + + public IncomeBreakdown rate(Double rate) { + + this.rate = rate; + return this; + } + + /** + * The hourly rate at which the income is paid. + * @return rate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The hourly rate at which the income is paid.") + + public Double getRate() { + return rate; + } + + + public void setRate(Double rate) { + this.rate = rate; + } + + + public IncomeBreakdown hours(Double hours) { + + this.hours = hours; + return this; + } + + /** + * The number of hours logged for this income for this pay period. + * @return hours + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The number of hours logged for this income for this pay period.") + + public Double getHours() { + return hours; + } + + + public void setHours(Double hours) { + this.hours = hours; + } + + + public IncomeBreakdown total(Double total) { + + this.total = total; + return this; + } + + /** + * The total pay for this pay period. + * @return total + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total pay for this pay period.") + + public Double getTotal() { + return total; + } + + + public void setTotal(Double total) { + this.total = total; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeBreakdown incomeBreakdown = (IncomeBreakdown) o; + return Objects.equals(this.type, incomeBreakdown.type) && + Objects.equals(this.rate, incomeBreakdown.rate) && + Objects.equals(this.hours, incomeBreakdown.hours) && + Objects.equals(this.total, incomeBreakdown.total); + } + + @Override + public int hashCode() { + return Objects.hash(type, rate, hours, total); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeBreakdown {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" rate: ").append(toIndentedString(rate)).append("\n"); + sb.append(" hours: ").append(toIndentedString(hours)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeBreakdownType.java b/src/main/java/com/plaid/client/model/IncomeBreakdownType.java new file mode 100644 index 0000000000..20202eac0b --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeBreakdownType.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of income. Possible values include: `\"regular\"`: regular income `\"overtime\"`: overtime income `\"bonus\"`: bonus income + */ +@JsonAdapter(IncomeBreakdownType.Adapter.class) +public enum IncomeBreakdownType { + + BONUS("bonus"), + + OVERTIME("overtime"), + + REGULAR("regular"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IncomeBreakdownType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncomeBreakdownType fromValue(String value) { + for (IncomeBreakdownType b : IncomeBreakdownType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IncomeBreakdownType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncomeBreakdownType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncomeBreakdownType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IncomeInsights.java b/src/main/java/com/plaid/client/model/IncomeInsights.java new file mode 100644 index 0000000000..4e593cebc0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeInsights.java @@ -0,0 +1,159 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AmountWithCurrency; +import com.plaid.client.model.AmountWithCurrencyWithMonthlyAverage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Comprehensive income analysis including total income, income excluding transfers, and inbound transfer amounts. + */ +@ApiModel(description = "Comprehensive income analysis including total income, income excluding transfers, and inbound transfer amounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeInsights { + public static final String SERIALIZED_NAME_TOTAL_INCOME = "total_income"; + @SerializedName(SERIALIZED_NAME_TOTAL_INCOME) + private AmountWithCurrency totalIncome; + + public static final String SERIALIZED_NAME_INCOME_EXCLUDING_TRANSFERS = "income_excluding_transfers"; + @SerializedName(SERIALIZED_NAME_INCOME_EXCLUDING_TRANSFERS) + private AmountWithCurrencyWithMonthlyAverage incomeExcludingTransfers; + + public static final String SERIALIZED_NAME_TRANSFERS_IN = "transfers_in"; + @SerializedName(SERIALIZED_NAME_TRANSFERS_IN) + private AmountWithCurrencyWithMonthlyAverage transfersIn; + + + public IncomeInsights totalIncome(AmountWithCurrency totalIncome) { + + this.totalIncome = totalIncome; + return this; + } + + /** + * The total amount of all income transactions in the given time period. + * @return totalIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total amount of all income transactions in the given time period.") + + public AmountWithCurrency getTotalIncome() { + return totalIncome; + } + + + public void setTotalIncome(AmountWithCurrency totalIncome) { + this.totalIncome = totalIncome; + } + + + public IncomeInsights incomeExcludingTransfers(AmountWithCurrencyWithMonthlyAverage incomeExcludingTransfers) { + + this.incomeExcludingTransfers = incomeExcludingTransfers; + return this; + } + + /** + * Income excluding account transfer transactions for the period, including a monthly average. + * @return incomeExcludingTransfers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Income excluding account transfer transactions for the period, including a monthly average.") + + public AmountWithCurrencyWithMonthlyAverage getIncomeExcludingTransfers() { + return incomeExcludingTransfers; + } + + + public void setIncomeExcludingTransfers(AmountWithCurrencyWithMonthlyAverage incomeExcludingTransfers) { + this.incomeExcludingTransfers = incomeExcludingTransfers; + } + + + public IncomeInsights transfersIn(AmountWithCurrencyWithMonthlyAverage transfersIn) { + + this.transfersIn = transfersIn; + return this; + } + + /** + * Sum of inbound transfer transactions for the period, including a monthly average. + * @return transfersIn + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Sum of inbound transfer transactions for the period, including a monthly average.") + + public AmountWithCurrencyWithMonthlyAverage getTransfersIn() { + return transfersIn; + } + + + public void setTransfersIn(AmountWithCurrencyWithMonthlyAverage transfersIn) { + this.transfersIn = transfersIn; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeInsights incomeInsights = (IncomeInsights) o; + return Objects.equals(this.totalIncome, incomeInsights.totalIncome) && + Objects.equals(this.incomeExcludingTransfers, incomeInsights.incomeExcludingTransfers) && + Objects.equals(this.transfersIn, incomeInsights.transfersIn); + } + + @Override + public int hashCode() { + return Objects.hash(totalIncome, incomeExcludingTransfers, transfersIn); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeInsights {\n"); + sb.append(" totalIncome: ").append(toIndentedString(totalIncome)).append("\n"); + sb.append(" incomeExcludingTransfers: ").append(toIndentedString(incomeExcludingTransfers)).append("\n"); + sb.append(" transfersIn: ").append(toIndentedString(transfersIn)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeInsightsFilter.java b/src/main/java/com/plaid/client/model/IncomeInsightsFilter.java new file mode 100644 index 0000000000..3aa8dc8298 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeInsightsFilter.java @@ -0,0 +1,142 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Filters the returned income streams based on the specified income categories. If no filters are requested, streams from the following default set of categories are returned: - `EARNED_INCOME.*` (`EARNED_INCOME.SALARY`, `EARNED_INCOME.GIG_ECONOMY`, `EARNED_INCOME.SELF_EMPLOYED`) - `BENEFITS.DISABILITY` - `RETIREMENT.*` (`RETIREMENT.GOVERNMENT_DERIVED`, `RETIREMENT.PRIVATE_RETIREMENT`, `RETIREMENT.PLAN_DISTRIBUTION`) The final list of income categories is generated by adding the `included_categories`, then removing the `excluded_categories`. Priority is given to `excluded_categories` in the case of collisions. Filter patterns supported: - `*`: All categories - `PRIMARY.*`: All categories within the specified primary category - `PRIMARY.SECONDARY`: A specific income category For a list of income categories, see the [Income V2 Category Taxonomy](https://plaid.com/documents/income-v2-category-taxonomy.csv). + */ +@ApiModel(description = "Filters the returned income streams based on the specified income categories. If no filters are requested, streams from the following default set of categories are returned: - `EARNED_INCOME.*` (`EARNED_INCOME.SALARY`, `EARNED_INCOME.GIG_ECONOMY`, `EARNED_INCOME.SELF_EMPLOYED`) - `BENEFITS.DISABILITY` - `RETIREMENT.*` (`RETIREMENT.GOVERNMENT_DERIVED`, `RETIREMENT.PRIVATE_RETIREMENT`, `RETIREMENT.PLAN_DISTRIBUTION`) The final list of income categories is generated by adding the `included_categories`, then removing the `excluded_categories`. Priority is given to `excluded_categories` in the case of collisions. Filter patterns supported: - `*`: All categories - `PRIMARY.*`: All categories within the specified primary category - `PRIMARY.SECONDARY`: A specific income category For a list of income categories, see the [Income V2 Category Taxonomy](https://plaid.com/documents/income-v2-category-taxonomy.csv).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeInsightsFilter { + public static final String SERIALIZED_NAME_INCLUDED_CATEGORIES = "included_categories"; + @SerializedName(SERIALIZED_NAME_INCLUDED_CATEGORIES) + private List includedCategories = new ArrayList<>(); + + public static final String SERIALIZED_NAME_EXCLUDED_CATEGORIES = "excluded_categories"; + @SerializedName(SERIALIZED_NAME_EXCLUDED_CATEGORIES) + private List excludedCategories = null; + + + public IncomeInsightsFilter includedCategories(List includedCategories) { + + this.includedCategories = includedCategories; + return this; + } + + public IncomeInsightsFilter addIncludedCategoriesItem(String includedCategoriesItem) { + this.includedCategories.add(includedCategoriesItem); + return this; + } + + /** + * Includes income streams matching the specified categories. + * @return includedCategories + **/ + @ApiModelProperty(required = true, value = "Includes income streams matching the specified categories.") + + public List getIncludedCategories() { + return includedCategories; + } + + + public void setIncludedCategories(List includedCategories) { + this.includedCategories = includedCategories; + } + + + public IncomeInsightsFilter excludedCategories(List excludedCategories) { + + this.excludedCategories = excludedCategories; + return this; + } + + public IncomeInsightsFilter addExcludedCategoriesItem(String excludedCategoriesItem) { + if (this.excludedCategories == null) { + this.excludedCategories = new ArrayList<>(); + } + this.excludedCategories.add(excludedCategoriesItem); + return this; + } + + /** + * Excludes income streams matching the specified categories. + * @return excludedCategories + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Excludes income streams matching the specified categories.") + + public List getExcludedCategories() { + return excludedCategories; + } + + + public void setExcludedCategories(List excludedCategories) { + this.excludedCategories = excludedCategories; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeInsightsFilter incomeInsightsFilter = (IncomeInsightsFilter) o; + return Objects.equals(this.includedCategories, incomeInsightsFilter.includedCategories) && + Objects.equals(this.excludedCategories, incomeInsightsFilter.excludedCategories); + } + + @Override + public int hashCode() { + return Objects.hash(includedCategories, excludedCategories); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeInsightsFilter {\n"); + sb.append(" includedCategories: ").append(toIndentedString(includedCategories)).append("\n"); + sb.append(" excludedCategories: ").append(toIndentedString(excludedCategories)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeInsightsVersion.java b/src/main/java/com/plaid/client/model/IncomeInsightsVersion.java new file mode 100644 index 0000000000..78f5687ba7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeInsightsVersion.java @@ -0,0 +1,75 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The version of Income Insights to use. This value is not shared across API calls for the same resource. If it is omitted from a request, the default version is used, even if a version was set in an earlier call such as `/link/token/create` or `/cra/check_report/create`. + */ +@JsonAdapter(IncomeInsightsVersion.Adapter.class) +public enum IncomeInsightsVersion { + + II2("II2"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IncomeInsightsVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncomeInsightsVersion fromValue(String value) { + for (IncomeInsightsVersion b : IncomeInsightsVersion.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IncomeInsightsVersion enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncomeInsightsVersion read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncomeInsightsVersion.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IncomeOverride.java b/src/main/java/com/plaid/client/model/IncomeOverride.java new file mode 100644 index 0000000000..636c5c7ed1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeOverride.java @@ -0,0 +1,148 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaystubOverride; +import com.plaid.client.model.W2Override; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Specify payroll data on the account. + */ +@ApiModel(description = "Specify payroll data on the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeOverride { + public static final String SERIALIZED_NAME_PAYSTUBS = "paystubs"; + @SerializedName(SERIALIZED_NAME_PAYSTUBS) + private List paystubs = null; + + public static final String SERIALIZED_NAME_W2S = "w2s"; + @SerializedName(SERIALIZED_NAME_W2S) + private List w2s = null; + + + public IncomeOverride paystubs(List paystubs) { + + this.paystubs = paystubs; + return this; + } + + public IncomeOverride addPaystubsItem(PaystubOverride paystubsItem) { + if (this.paystubs == null) { + this.paystubs = new ArrayList<>(); + } + this.paystubs.add(paystubsItem); + return this; + } + + /** + * A list of paystubs associated with the account. + * @return paystubs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of paystubs associated with the account.") + + public List getPaystubs() { + return paystubs; + } + + + public void setPaystubs(List paystubs) { + this.paystubs = paystubs; + } + + + public IncomeOverride w2s(List w2s) { + + this.w2s = w2s; + return this; + } + + public IncomeOverride addW2sItem(W2Override w2sItem) { + if (this.w2s == null) { + this.w2s = new ArrayList<>(); + } + this.w2s.add(w2sItem); + return this; + } + + /** + * A list of w2s associated with the account. + * @return w2s + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of w2s associated with the account.") + + public List getW2s() { + return w2s; + } + + + public void setW2s(List w2s) { + this.w2s = w2s; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeOverride incomeOverride = (IncomeOverride) o; + return Objects.equals(this.paystubs, incomeOverride.paystubs) && + Objects.equals(this.w2s, incomeOverride.w2s); + } + + @Override + public int hashCode() { + return Objects.hash(paystubs, w2s); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeOverride {\n"); + sb.append(" paystubs: ").append(toIndentedString(paystubs)).append("\n"); + sb.append(" w2s: ").append(toIndentedString(w2s)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeSourcesCounts.java b/src/main/java/com/plaid/client/model/IncomeSourcesCounts.java new file mode 100644 index 0000000000..4b9f1fe969 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeSourcesCounts.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Details about the number of income sources + */ +@ApiModel(description = "Details about the number of income sources") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeSourcesCounts { + public static final String SERIALIZED_NAME_BASELINE_COUNT = "baseline_count"; + @SerializedName(SERIALIZED_NAME_BASELINE_COUNT) + private Double baselineCount; + + public static final String SERIALIZED_NAME_CURRENT_COUNT = "current_count"; + @SerializedName(SERIALIZED_NAME_CURRENT_COUNT) + private Double currentCount; + + + public IncomeSourcesCounts baselineCount(Double baselineCount) { + + this.baselineCount = baselineCount; + return this; + } + + /** + * The number of income sources detected at the subscription date + * @return baselineCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of income sources detected at the subscription date") + + public Double getBaselineCount() { + return baselineCount; + } + + + public void setBaselineCount(Double baselineCount) { + this.baselineCount = baselineCount; + } + + + public IncomeSourcesCounts currentCount(Double currentCount) { + + this.currentCount = currentCount; + return this; + } + + /** + * The number of income sources currently detected + * @return currentCount + **/ + @ApiModelProperty(required = true, value = "The number of income sources currently detected") + + public Double getCurrentCount() { + return currentCount; + } + + + public void setCurrentCount(Double currentCount) { + this.currentCount = currentCount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeSourcesCounts incomeSourcesCounts = (IncomeSourcesCounts) o; + return Objects.equals(this.baselineCount, incomeSourcesCounts.baselineCount) && + Objects.equals(this.currentCount, incomeSourcesCounts.currentCount); + } + + @Override + public int hashCode() { + return Objects.hash(baselineCount, currentCount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeSourcesCounts {\n"); + sb.append(" baselineCount: ").append(toIndentedString(baselineCount)).append("\n"); + sb.append(" currentCount: ").append(toIndentedString(currentCount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeSummary.java b/src/main/java/com/plaid/client/model/IncomeSummary.java new file mode 100644 index 0000000000..49d653254e --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeSummary.java @@ -0,0 +1,275 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EmployeeIncomeSummaryFieldString; +import com.plaid.client.model.EmployerIncomeSummaryFieldString; +import com.plaid.client.model.PayFrequency; +import com.plaid.client.model.ProjectedIncomeSummaryFieldNumber; +import com.plaid.client.model.TransactionData; +import com.plaid.client.model.YTDGrossIncomeSummaryFieldNumber; +import com.plaid.client.model.YTDNetIncomeSummaryFieldNumber; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The verified fields from a paystub verification. All fields are provided as reported on the paystub. + */ +@ApiModel(description = "The verified fields from a paystub verification. All fields are provided as reported on the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeSummary { + public static final String SERIALIZED_NAME_EMPLOYER_NAME = "employer_name"; + @SerializedName(SERIALIZED_NAME_EMPLOYER_NAME) + private EmployerIncomeSummaryFieldString employerName; + + public static final String SERIALIZED_NAME_EMPLOYEE_NAME = "employee_name"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE_NAME) + private EmployeeIncomeSummaryFieldString employeeName; + + public static final String SERIALIZED_NAME_YTD_GROSS_INCOME = "ytd_gross_income"; + @SerializedName(SERIALIZED_NAME_YTD_GROSS_INCOME) + private YTDGrossIncomeSummaryFieldNumber ytdGrossIncome; + + public static final String SERIALIZED_NAME_YTD_NET_INCOME = "ytd_net_income"; + @SerializedName(SERIALIZED_NAME_YTD_NET_INCOME) + private YTDNetIncomeSummaryFieldNumber ytdNetIncome; + + public static final String SERIALIZED_NAME_PAY_FREQUENCY = "pay_frequency"; + @SerializedName(SERIALIZED_NAME_PAY_FREQUENCY) + private PayFrequency payFrequency; + + public static final String SERIALIZED_NAME_PROJECTED_WAGE = "projected_wage"; + @SerializedName(SERIALIZED_NAME_PROJECTED_WAGE) + private ProjectedIncomeSummaryFieldNumber projectedWage; + + public static final String SERIALIZED_NAME_VERIFIED_TRANSACTION = "verified_transaction"; + @SerializedName(SERIALIZED_NAME_VERIFIED_TRANSACTION) + private TransactionData verifiedTransaction; + + + public IncomeSummary employerName(EmployerIncomeSummaryFieldString employerName) { + + this.employerName = employerName; + return this; + } + + /** + * Get employerName + * @return employerName + **/ + @ApiModelProperty(required = true, value = "") + + public EmployerIncomeSummaryFieldString getEmployerName() { + return employerName; + } + + + public void setEmployerName(EmployerIncomeSummaryFieldString employerName) { + this.employerName = employerName; + } + + + public IncomeSummary employeeName(EmployeeIncomeSummaryFieldString employeeName) { + + this.employeeName = employeeName; + return this; + } + + /** + * Get employeeName + * @return employeeName + **/ + @ApiModelProperty(required = true, value = "") + + public EmployeeIncomeSummaryFieldString getEmployeeName() { + return employeeName; + } + + + public void setEmployeeName(EmployeeIncomeSummaryFieldString employeeName) { + this.employeeName = employeeName; + } + + + public IncomeSummary ytdGrossIncome(YTDGrossIncomeSummaryFieldNumber ytdGrossIncome) { + + this.ytdGrossIncome = ytdGrossIncome; + return this; + } + + /** + * Get ytdGrossIncome + * @return ytdGrossIncome + **/ + @ApiModelProperty(required = true, value = "") + + public YTDGrossIncomeSummaryFieldNumber getYtdGrossIncome() { + return ytdGrossIncome; + } + + + public void setYtdGrossIncome(YTDGrossIncomeSummaryFieldNumber ytdGrossIncome) { + this.ytdGrossIncome = ytdGrossIncome; + } + + + public IncomeSummary ytdNetIncome(YTDNetIncomeSummaryFieldNumber ytdNetIncome) { + + this.ytdNetIncome = ytdNetIncome; + return this; + } + + /** + * Get ytdNetIncome + * @return ytdNetIncome + **/ + @ApiModelProperty(required = true, value = "") + + public YTDNetIncomeSummaryFieldNumber getYtdNetIncome() { + return ytdNetIncome; + } + + + public void setYtdNetIncome(YTDNetIncomeSummaryFieldNumber ytdNetIncome) { + this.ytdNetIncome = ytdNetIncome; + } + + + public IncomeSummary payFrequency(PayFrequency payFrequency) { + + this.payFrequency = payFrequency; + return this; + } + + /** + * Get payFrequency + * @return payFrequency + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PayFrequency getPayFrequency() { + return payFrequency; + } + + + public void setPayFrequency(PayFrequency payFrequency) { + this.payFrequency = payFrequency; + } + + + public IncomeSummary projectedWage(ProjectedIncomeSummaryFieldNumber projectedWage) { + + this.projectedWage = projectedWage; + return this; + } + + /** + * Get projectedWage + * @return projectedWage + **/ + @ApiModelProperty(required = true, value = "") + + public ProjectedIncomeSummaryFieldNumber getProjectedWage() { + return projectedWage; + } + + + public void setProjectedWage(ProjectedIncomeSummaryFieldNumber projectedWage) { + this.projectedWage = projectedWage; + } + + + public IncomeSummary verifiedTransaction(TransactionData verifiedTransaction) { + + this.verifiedTransaction = verifiedTransaction; + return this; + } + + /** + * Get verifiedTransaction + * @return verifiedTransaction + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransactionData getVerifiedTransaction() { + return verifiedTransaction; + } + + + public void setVerifiedTransaction(TransactionData verifiedTransaction) { + this.verifiedTransaction = verifiedTransaction; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeSummary incomeSummary = (IncomeSummary) o; + return Objects.equals(this.employerName, incomeSummary.employerName) && + Objects.equals(this.employeeName, incomeSummary.employeeName) && + Objects.equals(this.ytdGrossIncome, incomeSummary.ytdGrossIncome) && + Objects.equals(this.ytdNetIncome, incomeSummary.ytdNetIncome) && + Objects.equals(this.payFrequency, incomeSummary.payFrequency) && + Objects.equals(this.projectedWage, incomeSummary.projectedWage) && + Objects.equals(this.verifiedTransaction, incomeSummary.verifiedTransaction); + } + + @Override + public int hashCode() { + return Objects.hash(employerName, employeeName, ytdGrossIncome, ytdNetIncome, payFrequency, projectedWage, verifiedTransaction); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeSummary {\n"); + sb.append(" employerName: ").append(toIndentedString(employerName)).append("\n"); + sb.append(" employeeName: ").append(toIndentedString(employeeName)).append("\n"); + sb.append(" ytdGrossIncome: ").append(toIndentedString(ytdGrossIncome)).append("\n"); + sb.append(" ytdNetIncome: ").append(toIndentedString(ytdNetIncome)).append("\n"); + sb.append(" payFrequency: ").append(toIndentedString(payFrequency)).append("\n"); + sb.append(" projectedWage: ").append(toIndentedString(projectedWage)).append("\n"); + sb.append(" verifiedTransaction: ").append(toIndentedString(verifiedTransaction)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeSummaryFieldNumber.java b/src/main/java/com/plaid/client/model/IncomeSummaryFieldNumber.java new file mode 100644 index 0000000000..1c4436f6db --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeSummaryFieldNumber.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.VerificationStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Field number for income summary + */ +@ApiModel(description = "Field number for income summary") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeSummaryFieldNumber { + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Double value; + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatus verificationStatus; + + + public IncomeSummaryFieldNumber value(Double value) { + + this.value = value; + return this; + } + + /** + * The value of the field. + * @return value + **/ + @ApiModelProperty(required = true, value = "The value of the field.") + + public Double getValue() { + return value; + } + + + public void setValue(Double value) { + this.value = value; + } + + + public IncomeSummaryFieldNumber verificationStatus(VerificationStatus verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Get verificationStatus + * @return verificationStatus + **/ + @ApiModelProperty(required = true, value = "") + + public VerificationStatus getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatus verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeSummaryFieldNumber incomeSummaryFieldNumber = (IncomeSummaryFieldNumber) o; + return Objects.equals(this.value, incomeSummaryFieldNumber.value) && + Objects.equals(this.verificationStatus, incomeSummaryFieldNumber.verificationStatus); + } + + @Override + public int hashCode() { + return Objects.hash(value, verificationStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeSummaryFieldNumber {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeSummaryFieldString.java b/src/main/java/com/plaid/client/model/IncomeSummaryFieldString.java new file mode 100644 index 0000000000..748c1ef540 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeSummaryFieldString.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.VerificationStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data about the income summary + */ +@ApiModel(description = "Data about the income summary") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeSummaryFieldString { + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatus verificationStatus; + + + public IncomeSummaryFieldString value(String value) { + + this.value = value; + return this; + } + + /** + * The value of the field. + * @return value + **/ + @ApiModelProperty(required = true, value = "The value of the field.") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + public IncomeSummaryFieldString verificationStatus(VerificationStatus verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Get verificationStatus + * @return verificationStatus + **/ + @ApiModelProperty(required = true, value = "") + + public VerificationStatus getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatus verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeSummaryFieldString incomeSummaryFieldString = (IncomeSummaryFieldString) o; + return Objects.equals(this.value, incomeSummaryFieldString.value) && + Objects.equals(this.verificationStatus, incomeSummaryFieldString.verificationStatus); + } + + @Override + public int hashCode() { + return Objects.hash(value, verificationStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeSummaryFieldString {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationCreateRequest.java b/src/main/java/com/plaid/client/model/IncomeVerificationCreateRequest.java new file mode 100644 index 0000000000..8fe683d888 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationCreateRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeVerificationCreateRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IncomeVerificationCreateRequest defines the request schema for `/income/verification/create` + */ +@ApiModel(description = "IncomeVerificationCreateRequest defines the request schema for `/income/verification/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + public static final String SERIALIZED_NAME_PRECHECK_ID = "precheck_id"; + @SerializedName(SERIALIZED_NAME_PRECHECK_ID) + private String precheckId; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private IncomeVerificationCreateRequestOptions options; + + + public IncomeVerificationCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IncomeVerificationCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IncomeVerificationCreateRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The URL endpoint to which Plaid should send webhooks related to the progress of the income verification process. + * @return webhook + **/ + @ApiModelProperty(required = true, value = "The URL endpoint to which Plaid should send webhooks related to the progress of the income verification process.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + public IncomeVerificationCreateRequest precheckId(String precheckId) { + + this.precheckId = precheckId; + return this; + } + + /** + * The ID of a precheck created with `/income/verification/precheck`. Will be used to improve conversion of the income verification flow. + * @return precheckId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of a precheck created with `/income/verification/precheck`. Will be used to improve conversion of the income verification flow.") + + public String getPrecheckId() { + return precheckId; + } + + + public void setPrecheckId(String precheckId) { + this.precheckId = precheckId; + } + + + public IncomeVerificationCreateRequest options(IncomeVerificationCreateRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeVerificationCreateRequestOptions getOptions() { + return options; + } + + + public void setOptions(IncomeVerificationCreateRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationCreateRequest incomeVerificationCreateRequest = (IncomeVerificationCreateRequest) o; + return Objects.equals(this.clientId, incomeVerificationCreateRequest.clientId) && + Objects.equals(this.secret, incomeVerificationCreateRequest.secret) && + Objects.equals(this.webhook, incomeVerificationCreateRequest.webhook) && + Objects.equals(this.precheckId, incomeVerificationCreateRequest.precheckId) && + Objects.equals(this.options, incomeVerificationCreateRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, webhook, precheckId, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append(" precheckId: ").append(toIndentedString(precheckId)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationCreateRequestOptions.java b/src/main/java/com/plaid/client/model/IncomeVerificationCreateRequestOptions.java new file mode 100644 index 0000000000..13a6fccbcd --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationCreateRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Optional arguments for `/income/verification/create` + */ +@ApiModel(description = "Optional arguments for `/income/verification/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationCreateRequestOptions { + public static final String SERIALIZED_NAME_ACCESS_TOKENS = "access_tokens"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKENS) + private List accessTokens = null; + + + public IncomeVerificationCreateRequestOptions accessTokens(List accessTokens) { + + this.accessTokens = accessTokens; + return this; + } + + public IncomeVerificationCreateRequestOptions addAccessTokensItem(String accessTokensItem) { + if (this.accessTokens == null) { + this.accessTokens = new ArrayList<>(); + } + this.accessTokens.add(accessTokensItem); + return this; + } + + /** + * An array of access tokens corresponding to the Items that will be cross-referenced with the product data. Plaid will attempt to correlate transaction history from these Items with data from the user's paystub, such as date and amount. If the `transactions` product was not initialized for the Items during Link, it will be initialized after this Link session. + * @return accessTokens + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of access tokens corresponding to the Items that will be cross-referenced with the product data. Plaid will attempt to correlate transaction history from these Items with data from the user's paystub, such as date and amount. If the `transactions` product was not initialized for the Items during Link, it will be initialized after this Link session.") + + public List getAccessTokens() { + return accessTokens; + } + + + public void setAccessTokens(List accessTokens) { + this.accessTokens = accessTokens; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationCreateRequestOptions incomeVerificationCreateRequestOptions = (IncomeVerificationCreateRequestOptions) o; + return Objects.equals(this.accessTokens, incomeVerificationCreateRequestOptions.accessTokens); + } + + @Override + public int hashCode() { + return Objects.hash(accessTokens); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationCreateRequestOptions {\n"); + sb.append(" accessTokens: ").append(toIndentedString(accessTokens)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationCreateResponse.java b/src/main/java/com/plaid/client/model/IncomeVerificationCreateResponse.java new file mode 100644 index 0000000000..4eb52a67b0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IncomeVerificationCreateResponse defines the response schema for `/income/verification/create`. + */ +@ApiModel(description = "IncomeVerificationCreateResponse defines the response schema for `/income/verification/create`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationCreateResponse { + public static final String SERIALIZED_NAME_INCOME_VERIFICATION_ID = "income_verification_id"; + @SerializedName(SERIALIZED_NAME_INCOME_VERIFICATION_ID) + private String incomeVerificationId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IncomeVerificationCreateResponse incomeVerificationId(String incomeVerificationId) { + + this.incomeVerificationId = incomeVerificationId; + return this; + } + + /** + * ID of the verification. This ID is persisted throughout the lifetime of the verification. + * @return incomeVerificationId + **/ + @ApiModelProperty(required = true, value = "ID of the verification. This ID is persisted throughout the lifetime of the verification.") + + public String getIncomeVerificationId() { + return incomeVerificationId; + } + + + public void setIncomeVerificationId(String incomeVerificationId) { + this.incomeVerificationId = incomeVerificationId; + } + + + public IncomeVerificationCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationCreateResponse incomeVerificationCreateResponse = (IncomeVerificationCreateResponse) o; + return Objects.equals(this.incomeVerificationId, incomeVerificationCreateResponse.incomeVerificationId) && + Objects.equals(this.requestId, incomeVerificationCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(incomeVerificationId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationCreateResponse {\n"); + sb.append(" incomeVerificationId: ").append(toIndentedString(incomeVerificationId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationDocParsingConfig.java b/src/main/java/com/plaid/client/model/IncomeVerificationDocParsingConfig.java new file mode 100644 index 0000000000..687edee704 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationDocParsingConfig.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Analysis options to enable for document parsing + */ +@JsonAdapter(IncomeVerificationDocParsingConfig.Adapter.class) +public enum IncomeVerificationDocParsingConfig { + + OCR("ocr"), + + RISK_SIGNALS("risk_signals"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IncomeVerificationDocParsingConfig(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncomeVerificationDocParsingConfig fromValue(String value) { + for (IncomeVerificationDocParsingConfig b : IncomeVerificationDocParsingConfig.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return IncomeVerificationDocParsingConfig.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IncomeVerificationDocParsingConfig enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncomeVerificationDocParsingConfig read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncomeVerificationDocParsingConfig.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationDocumentsDownloadRequest.java b/src/main/java/com/plaid/client/model/IncomeVerificationDocumentsDownloadRequest.java new file mode 100644 index 0000000000..f8eddf8081 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationDocumentsDownloadRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IncomeVerificationDocumentsDownloadRequest defines the request schema for `/income/verification/documents/download`. + */ +@ApiModel(description = "IncomeVerificationDocumentsDownloadRequest defines the request schema for `/income/verification/documents/download`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationDocumentsDownloadRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_INCOME_VERIFICATION_ID = "income_verification_id"; + @SerializedName(SERIALIZED_NAME_INCOME_VERIFICATION_ID) + private String incomeVerificationId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_DOCUMENT_ID = "document_id"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_ID) + private String documentId; + + + public IncomeVerificationDocumentsDownloadRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IncomeVerificationDocumentsDownloadRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IncomeVerificationDocumentsDownloadRequest incomeVerificationId(String incomeVerificationId) { + + this.incomeVerificationId = incomeVerificationId; + return this; + } + + /** + * The ID of the verification. + * @return incomeVerificationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the verification.") + + public String getIncomeVerificationId() { + return incomeVerificationId; + } + + + public void setIncomeVerificationId(String incomeVerificationId) { + this.incomeVerificationId = incomeVerificationId; + } + + + public IncomeVerificationDocumentsDownloadRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public IncomeVerificationDocumentsDownloadRequest documentId(String documentId) { + + this.documentId = documentId; + return this; + } + + /** + * The document ID to download. If passed, a single document will be returned in the resulting zip file, rather than all document + * @return documentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The document ID to download. If passed, a single document will be returned in the resulting zip file, rather than all document") + + public String getDocumentId() { + return documentId; + } + + + public void setDocumentId(String documentId) { + this.documentId = documentId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationDocumentsDownloadRequest incomeVerificationDocumentsDownloadRequest = (IncomeVerificationDocumentsDownloadRequest) o; + return Objects.equals(this.clientId, incomeVerificationDocumentsDownloadRequest.clientId) && + Objects.equals(this.secret, incomeVerificationDocumentsDownloadRequest.secret) && + Objects.equals(this.incomeVerificationId, incomeVerificationDocumentsDownloadRequest.incomeVerificationId) && + Objects.equals(this.accessToken, incomeVerificationDocumentsDownloadRequest.accessToken) && + Objects.equals(this.documentId, incomeVerificationDocumentsDownloadRequest.documentId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, incomeVerificationId, accessToken, documentId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationDocumentsDownloadRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" incomeVerificationId: ").append(toIndentedString(incomeVerificationId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" documentId: ").append(toIndentedString(documentId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationPayrollFlowType.java b/src/main/java/com/plaid/client/model/IncomeVerificationPayrollFlowType.java new file mode 100644 index 0000000000..581b9e6544 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationPayrollFlowType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Flow types to retrieve payroll income data + */ +@JsonAdapter(IncomeVerificationPayrollFlowType.Adapter.class) +public enum IncomeVerificationPayrollFlowType { + + DIGITAL_INCOME("payroll_digital_income"), + + DOCUMENT_INCOME("payroll_document_income"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IncomeVerificationPayrollFlowType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncomeVerificationPayrollFlowType fromValue(String value) { + for (IncomeVerificationPayrollFlowType b : IncomeVerificationPayrollFlowType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return IncomeVerificationPayrollFlowType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IncomeVerificationPayrollFlowType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncomeVerificationPayrollFlowType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncomeVerificationPayrollFlowType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationPaystubsGetRequest.java b/src/main/java/com/plaid/client/model/IncomeVerificationPaystubsGetRequest.java new file mode 100644 index 0000000000..99fc6a6004 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationPaystubsGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IncomeVerificationPaystubsGetRequest defines the request schema for `/income/verification/paystubs/get`. + */ +@ApiModel(description = "IncomeVerificationPaystubsGetRequest defines the request schema for `/income/verification/paystubs/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationPaystubsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_INCOME_VERIFICATION_ID = "income_verification_id"; + @SerializedName(SERIALIZED_NAME_INCOME_VERIFICATION_ID) + private String incomeVerificationId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + + public IncomeVerificationPaystubsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IncomeVerificationPaystubsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IncomeVerificationPaystubsGetRequest incomeVerificationId(String incomeVerificationId) { + + this.incomeVerificationId = incomeVerificationId; + return this; + } + + /** + * The ID of the verification for which to get paystub information. + * @return incomeVerificationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the verification for which to get paystub information.") + + public String getIncomeVerificationId() { + return incomeVerificationId; + } + + + public void setIncomeVerificationId(String incomeVerificationId) { + this.incomeVerificationId = incomeVerificationId; + } + + + public IncomeVerificationPaystubsGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationPaystubsGetRequest incomeVerificationPaystubsGetRequest = (IncomeVerificationPaystubsGetRequest) o; + return Objects.equals(this.clientId, incomeVerificationPaystubsGetRequest.clientId) && + Objects.equals(this.secret, incomeVerificationPaystubsGetRequest.secret) && + Objects.equals(this.incomeVerificationId, incomeVerificationPaystubsGetRequest.incomeVerificationId) && + Objects.equals(this.accessToken, incomeVerificationPaystubsGetRequest.accessToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, incomeVerificationId, accessToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationPaystubsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" incomeVerificationId: ").append(toIndentedString(incomeVerificationId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationPaystubsGetResponse.java b/src/main/java/com/plaid/client/model/IncomeVerificationPaystubsGetResponse.java new file mode 100644 index 0000000000..6ab23c7e3d --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationPaystubsGetResponse.java @@ -0,0 +1,202 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocumentMetadata; +import com.plaid.client.model.Paystub; +import com.plaid.client.model.PlaidError; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * IncomeVerificationPaystubsGetResponse defines the response schema for `/income/verification/paystubs/get`. + */ +@ApiModel(description = "IncomeVerificationPaystubsGetResponse defines the response schema for `/income/verification/paystubs/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationPaystubsGetResponse { + public static final String SERIALIZED_NAME_DOCUMENT_METADATA = "document_metadata"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_METADATA) + private List documentMetadata = null; + + public static final String SERIALIZED_NAME_PAYSTUBS = "paystubs"; + @SerializedName(SERIALIZED_NAME_PAYSTUBS) + private List paystubs = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IncomeVerificationPaystubsGetResponse documentMetadata(List documentMetadata) { + + this.documentMetadata = documentMetadata; + return this; + } + + public IncomeVerificationPaystubsGetResponse addDocumentMetadataItem(DocumentMetadata documentMetadataItem) { + if (this.documentMetadata == null) { + this.documentMetadata = new ArrayList<>(); + } + this.documentMetadata.add(documentMetadataItem); + return this; + } + + /** + * Metadata for an income document. + * @return documentMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Metadata for an income document.") + + public List getDocumentMetadata() { + return documentMetadata; + } + + + public void setDocumentMetadata(List documentMetadata) { + this.documentMetadata = documentMetadata; + } + + + public IncomeVerificationPaystubsGetResponse paystubs(List paystubs) { + + this.paystubs = paystubs; + return this; + } + + public IncomeVerificationPaystubsGetResponse addPaystubsItem(Paystub paystubsItem) { + this.paystubs.add(paystubsItem); + return this; + } + + /** + * Get paystubs + * @return paystubs + **/ + @ApiModelProperty(required = true, value = "") + + public List getPaystubs() { + return paystubs; + } + + + public void setPaystubs(List paystubs) { + this.paystubs = paystubs; + } + + + public IncomeVerificationPaystubsGetResponse error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public IncomeVerificationPaystubsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationPaystubsGetResponse incomeVerificationPaystubsGetResponse = (IncomeVerificationPaystubsGetResponse) o; + return Objects.equals(this.documentMetadata, incomeVerificationPaystubsGetResponse.documentMetadata) && + Objects.equals(this.paystubs, incomeVerificationPaystubsGetResponse.paystubs) && + Objects.equals(this.error, incomeVerificationPaystubsGetResponse.error) && + Objects.equals(this.requestId, incomeVerificationPaystubsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(documentMetadata, paystubs, error, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationPaystubsGetResponse {\n"); + sb.append(" documentMetadata: ").append(toIndentedString(documentMetadata)).append("\n"); + sb.append(" paystubs: ").append(toIndentedString(paystubs)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckConfidence.java b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckConfidence.java new file mode 100644 index 0000000000..1d00dfd851 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckConfidence.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The confidence that Plaid can support the user in the digital income verification flow instead of requiring a manual paystub upload. One of the following: `\"HIGH\"`: It is very likely that this user can use the digital income verification flow. \"`LOW`\": It is unlikely that this user can use the digital income verification flow. `\"UNKNOWN\"`: It was not possible to determine if the user is supportable with the information passed. + */ +@JsonAdapter(IncomeVerificationPrecheckConfidence.Adapter.class) +public enum IncomeVerificationPrecheckConfidence { + + HIGH("HIGH"), + + LOW("LOW"), + + UNKNOWN("UNKNOWN"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IncomeVerificationPrecheckConfidence(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncomeVerificationPrecheckConfidence fromValue(String value) { + for (IncomeVerificationPrecheckConfidence b : IncomeVerificationPrecheckConfidence.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return IncomeVerificationPrecheckConfidence.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IncomeVerificationPrecheckConfidence enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncomeVerificationPrecheckConfidence read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncomeVerificationPrecheckConfidence.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckEmployer.java b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckEmployer.java new file mode 100644 index 0000000000..493fbb33ec --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckEmployer.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeVerificationPrecheckEmployerAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the end user's employer + */ +@ApiModel(description = "Information about the end user's employer") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationPrecheckEmployer { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private IncomeVerificationPrecheckEmployerAddress address; + + public static final String SERIALIZED_NAME_TAX_ID = "tax_id"; + @SerializedName(SERIALIZED_NAME_TAX_ID) + private String taxId; + + public static final String SERIALIZED_NAME_URL = "url"; + @SerializedName(SERIALIZED_NAME_URL) + private String url; + + + public IncomeVerificationPrecheckEmployer name(String name) { + + this.name = name; + return this; + } + + /** + * The employer's name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The employer's name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public IncomeVerificationPrecheckEmployer address(IncomeVerificationPrecheckEmployerAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeVerificationPrecheckEmployerAddress getAddress() { + return address; + } + + + public void setAddress(IncomeVerificationPrecheckEmployerAddress address) { + this.address = address; + } + + + public IncomeVerificationPrecheckEmployer taxId(String taxId) { + + this.taxId = taxId; + return this; + } + + /** + * The employer's tax id + * @return taxId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The employer's tax id") + + public String getTaxId() { + return taxId; + } + + + public void setTaxId(String taxId) { + this.taxId = taxId; + } + + + public IncomeVerificationPrecheckEmployer url(String url) { + + this.url = url; + return this; + } + + /** + * The URL for the employer's public website + * @return url + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL for the employer's public website") + + public String getUrl() { + return url; + } + + + public void setUrl(String url) { + this.url = url; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationPrecheckEmployer incomeVerificationPrecheckEmployer = (IncomeVerificationPrecheckEmployer) o; + return Objects.equals(this.name, incomeVerificationPrecheckEmployer.name) && + Objects.equals(this.address, incomeVerificationPrecheckEmployer.address) && + Objects.equals(this.taxId, incomeVerificationPrecheckEmployer.taxId) && + Objects.equals(this.url, incomeVerificationPrecheckEmployer.url); + } + + @Override + public int hashCode() { + return Objects.hash(name, address, taxId, url); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationPrecheckEmployer {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" taxId: ").append(toIndentedString(taxId)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckEmployerAddress.java b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckEmployerAddress.java new file mode 100644 index 0000000000..78c7475bcd --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckEmployerAddress.java @@ -0,0 +1,216 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeVerificationPrecheckEmployerAddressData; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The address of the employer + */ +@ApiModel(description = "The address of the employer") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationPrecheckEmployerAddress { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + + public IncomeVerificationPrecheckEmployerAddress city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full city name") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public IncomeVerificationPrecheckEmployerAddress country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO 3166-1 alpha-2 country code") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public IncomeVerificationPrecheckEmployerAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public IncomeVerificationPrecheckEmployerAddress region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public IncomeVerificationPrecheckEmployerAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address Example: `\"564 Main Street, APT 15\"` + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full street address Example: `\"564 Main Street, APT 15\"`") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationPrecheckEmployerAddress incomeVerificationPrecheckEmployerAddress = (IncomeVerificationPrecheckEmployerAddress) o; + return Objects.equals(this.city, incomeVerificationPrecheckEmployerAddress.city) && + Objects.equals(this.country, incomeVerificationPrecheckEmployerAddress.country) && + Objects.equals(this.postalCode, incomeVerificationPrecheckEmployerAddress.postalCode) && + Objects.equals(this.region, incomeVerificationPrecheckEmployerAddress.region) && + Objects.equals(this.street, incomeVerificationPrecheckEmployerAddress.street); + } + + @Override + public int hashCode() { + return Objects.hash(city, country, postalCode, region, street); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationPrecheckEmployerAddress {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckEmployerAddressData.java b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckEmployerAddressData.java new file mode 100644 index 0000000000..a032ef4b72 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckEmployerAddressData.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data about the components comprising an address. + */ +@ApiModel(description = "Data about the components comprising an address.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationPrecheckEmployerAddressData { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + + public IncomeVerificationPrecheckEmployerAddressData city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full city name") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public IncomeVerificationPrecheckEmployerAddressData country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO 3166-1 alpha-2 country code") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public IncomeVerificationPrecheckEmployerAddressData postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public IncomeVerificationPrecheckEmployerAddressData region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public IncomeVerificationPrecheckEmployerAddressData street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address Example: `\"564 Main Street, APT 15\"` + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full street address Example: `\"564 Main Street, APT 15\"`") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationPrecheckEmployerAddressData incomeVerificationPrecheckEmployerAddressData = (IncomeVerificationPrecheckEmployerAddressData) o; + return Objects.equals(this.city, incomeVerificationPrecheckEmployerAddressData.city) && + Objects.equals(this.country, incomeVerificationPrecheckEmployerAddressData.country) && + Objects.equals(this.postalCode, incomeVerificationPrecheckEmployerAddressData.postalCode) && + Objects.equals(this.region, incomeVerificationPrecheckEmployerAddressData.region) && + Objects.equals(this.street, incomeVerificationPrecheckEmployerAddressData.street); + } + + @Override + public int hashCode() { + return Objects.hash(city, country, postalCode, region, street); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationPrecheckEmployerAddressData {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckMilitaryInfo.java b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckMilitaryInfo.java new file mode 100644 index 0000000000..091f20b8fe --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckMilitaryInfo.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data about military info in the income verification precheck. + */ +@ApiModel(description = "Data about military info in the income verification precheck.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationPrecheckMilitaryInfo { + public static final String SERIALIZED_NAME_IS_ACTIVE_DUTY = "is_active_duty"; + @SerializedName(SERIALIZED_NAME_IS_ACTIVE_DUTY) + private Boolean isActiveDuty; + + public static final String SERIALIZED_NAME_BRANCH = "branch"; + @SerializedName(SERIALIZED_NAME_BRANCH) + private String branch; + + + public IncomeVerificationPrecheckMilitaryInfo isActiveDuty(Boolean isActiveDuty) { + + this.isActiveDuty = isActiveDuty; + return this; + } + + /** + * Is the user currently active duty in the US military + * @return isActiveDuty + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Is the user currently active duty in the US military") + + public Boolean getIsActiveDuty() { + return isActiveDuty; + } + + + public void setIsActiveDuty(Boolean isActiveDuty) { + this.isActiveDuty = isActiveDuty; + } + + + public IncomeVerificationPrecheckMilitaryInfo branch(String branch) { + + this.branch = branch; + return this; + } + + /** + * If the user is currently serving in the US military, the branch of the military in which they are serving Valid values: 'AIR FORCE', 'ARMY', 'COAST GUARD', 'MARINES', 'NAVY', 'UNKNOWN' + * @return branch + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If the user is currently serving in the US military, the branch of the military in which they are serving Valid values: 'AIR FORCE', 'ARMY', 'COAST GUARD', 'MARINES', 'NAVY', 'UNKNOWN'") + + public String getBranch() { + return branch; + } + + + public void setBranch(String branch) { + this.branch = branch; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationPrecheckMilitaryInfo incomeVerificationPrecheckMilitaryInfo = (IncomeVerificationPrecheckMilitaryInfo) o; + return Objects.equals(this.isActiveDuty, incomeVerificationPrecheckMilitaryInfo.isActiveDuty) && + Objects.equals(this.branch, incomeVerificationPrecheckMilitaryInfo.branch); + } + + @Override + public int hashCode() { + return Objects.hash(isActiveDuty, branch); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationPrecheckMilitaryInfo {\n"); + sb.append(" isActiveDuty: ").append(toIndentedString(isActiveDuty)).append("\n"); + sb.append(" branch: ").append(toIndentedString(branch)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckPayrollInstitution.java b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckPayrollInstitution.java new file mode 100644 index 0000000000..4cf7ed7481 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckPayrollInstitution.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the end user's payroll institution + */ +@ApiModel(description = "Information about the end user's payroll institution") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationPrecheckPayrollInstitution { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + + public IncomeVerificationPrecheckPayrollInstitution name(String name) { + + this.name = name; + return this; + } + + /** + * The name of payroll institution + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of payroll institution") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationPrecheckPayrollInstitution incomeVerificationPrecheckPayrollInstitution = (IncomeVerificationPrecheckPayrollInstitution) o; + return Objects.equals(this.name, incomeVerificationPrecheckPayrollInstitution.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationPrecheckPayrollInstitution {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckRequest.java b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckRequest.java new file mode 100644 index 0000000000..a256da5b53 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckRequest.java @@ -0,0 +1,316 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeVerificationPrecheckEmployer; +import com.plaid.client.model.IncomeVerificationPrecheckMilitaryInfo; +import com.plaid.client.model.IncomeVerificationPrecheckPayrollInstitution; +import com.plaid.client.model.IncomeVerificationPrecheckUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * IncomeVerificationPrecheckRequest defines the request schema for `/income/verification/precheck` + */ +@ApiModel(description = "IncomeVerificationPrecheckRequest defines the request schema for `/income/verification/precheck`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationPrecheckRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private IncomeVerificationPrecheckUser user; + + public static final String SERIALIZED_NAME_EMPLOYER = "employer"; + @SerializedName(SERIALIZED_NAME_EMPLOYER) + private IncomeVerificationPrecheckEmployer employer; + + public static final String SERIALIZED_NAME_PAYROLL_INSTITUTION = "payroll_institution"; + @SerializedName(SERIALIZED_NAME_PAYROLL_INSTITUTION) + private IncomeVerificationPrecheckPayrollInstitution payrollInstitution; + + public static final String SERIALIZED_NAME_TRANSACTIONS_ACCESS_TOKEN = "transactions_access_token"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_ACCESS_TOKEN) + private String transactionsAccessToken; + + public static final String SERIALIZED_NAME_TRANSACTIONS_ACCESS_TOKENS = "transactions_access_tokens"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_ACCESS_TOKENS) + private List transactionsAccessTokens = null; + + public static final String SERIALIZED_NAME_US_MILITARY_INFO = "us_military_info"; + @SerializedName(SERIALIZED_NAME_US_MILITARY_INFO) + private IncomeVerificationPrecheckMilitaryInfo usMilitaryInfo; + + + public IncomeVerificationPrecheckRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IncomeVerificationPrecheckRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IncomeVerificationPrecheckRequest user(IncomeVerificationPrecheckUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeVerificationPrecheckUser getUser() { + return user; + } + + + public void setUser(IncomeVerificationPrecheckUser user) { + this.user = user; + } + + + public IncomeVerificationPrecheckRequest employer(IncomeVerificationPrecheckEmployer employer) { + + this.employer = employer; + return this; + } + + /** + * Get employer + * @return employer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeVerificationPrecheckEmployer getEmployer() { + return employer; + } + + + public void setEmployer(IncomeVerificationPrecheckEmployer employer) { + this.employer = employer; + } + + + public IncomeVerificationPrecheckRequest payrollInstitution(IncomeVerificationPrecheckPayrollInstitution payrollInstitution) { + + this.payrollInstitution = payrollInstitution; + return this; + } + + /** + * Get payrollInstitution + * @return payrollInstitution + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeVerificationPrecheckPayrollInstitution getPayrollInstitution() { + return payrollInstitution; + } + + + public void setPayrollInstitution(IncomeVerificationPrecheckPayrollInstitution payrollInstitution) { + this.payrollInstitution = payrollInstitution; + } + + + public IncomeVerificationPrecheckRequest transactionsAccessToken(String transactionsAccessToken) { + + this.transactionsAccessToken = transactionsAccessToken; + return this; + } + + /** + * Get transactionsAccessToken + * @return transactionsAccessToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getTransactionsAccessToken() { + return transactionsAccessToken; + } + + + public void setTransactionsAccessToken(String transactionsAccessToken) { + this.transactionsAccessToken = transactionsAccessToken; + } + + + public IncomeVerificationPrecheckRequest transactionsAccessTokens(List transactionsAccessTokens) { + + this.transactionsAccessTokens = transactionsAccessTokens; + return this; + } + + public IncomeVerificationPrecheckRequest addTransactionsAccessTokensItem(String transactionsAccessTokensItem) { + if (this.transactionsAccessTokens == null) { + this.transactionsAccessTokens = new ArrayList<>(); + } + this.transactionsAccessTokens.add(transactionsAccessTokensItem); + return this; + } + + /** + * An array of access tokens corresponding to Items belonging to the user whose eligibility is being checked. Note that if the Items specified here are not already initialized with `transactions`, providing them in this field will cause these Items to be initialized with (and billed for) the Transactions product. + * @return transactionsAccessTokens + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of access tokens corresponding to Items belonging to the user whose eligibility is being checked. Note that if the Items specified here are not already initialized with `transactions`, providing them in this field will cause these Items to be initialized with (and billed for) the Transactions product.") + + public List getTransactionsAccessTokens() { + return transactionsAccessTokens; + } + + + public void setTransactionsAccessTokens(List transactionsAccessTokens) { + this.transactionsAccessTokens = transactionsAccessTokens; + } + + + public IncomeVerificationPrecheckRequest usMilitaryInfo(IncomeVerificationPrecheckMilitaryInfo usMilitaryInfo) { + + this.usMilitaryInfo = usMilitaryInfo; + return this; + } + + /** + * Get usMilitaryInfo + * @return usMilitaryInfo + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeVerificationPrecheckMilitaryInfo getUsMilitaryInfo() { + return usMilitaryInfo; + } + + + public void setUsMilitaryInfo(IncomeVerificationPrecheckMilitaryInfo usMilitaryInfo) { + this.usMilitaryInfo = usMilitaryInfo; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationPrecheckRequest incomeVerificationPrecheckRequest = (IncomeVerificationPrecheckRequest) o; + return Objects.equals(this.clientId, incomeVerificationPrecheckRequest.clientId) && + Objects.equals(this.secret, incomeVerificationPrecheckRequest.secret) && + Objects.equals(this.user, incomeVerificationPrecheckRequest.user) && + Objects.equals(this.employer, incomeVerificationPrecheckRequest.employer) && + Objects.equals(this.payrollInstitution, incomeVerificationPrecheckRequest.payrollInstitution) && + Objects.equals(this.transactionsAccessToken, incomeVerificationPrecheckRequest.transactionsAccessToken) && + Objects.equals(this.transactionsAccessTokens, incomeVerificationPrecheckRequest.transactionsAccessTokens) && + Objects.equals(this.usMilitaryInfo, incomeVerificationPrecheckRequest.usMilitaryInfo); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, user, employer, payrollInstitution, transactionsAccessToken, transactionsAccessTokens, usMilitaryInfo); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationPrecheckRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" employer: ").append(toIndentedString(employer)).append("\n"); + sb.append(" payrollInstitution: ").append(toIndentedString(payrollInstitution)).append("\n"); + sb.append(" transactionsAccessToken: ").append(toIndentedString(transactionsAccessToken)).append("\n"); + sb.append(" transactionsAccessTokens: ").append(toIndentedString(transactionsAccessTokens)).append("\n"); + sb.append(" usMilitaryInfo: ").append(toIndentedString(usMilitaryInfo)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckResponse.java b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckResponse.java new file mode 100644 index 0000000000..eb24971a6d --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckResponse.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeVerificationPrecheckConfidence; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IncomeVerificationPrecheckResponse defines the response schema for `/income/verification/precheck`. + */ +@ApiModel(description = "IncomeVerificationPrecheckResponse defines the response schema for `/income/verification/precheck`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationPrecheckResponse { + public static final String SERIALIZED_NAME_PRECHECK_ID = "precheck_id"; + @SerializedName(SERIALIZED_NAME_PRECHECK_ID) + private String precheckId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_CONFIDENCE = "confidence"; + @SerializedName(SERIALIZED_NAME_CONFIDENCE) + private IncomeVerificationPrecheckConfidence confidence; + + + public IncomeVerificationPrecheckResponse precheckId(String precheckId) { + + this.precheckId = precheckId; + return this; + } + + /** + * ID of the precheck. Provide this value when calling `/link/token/create` in order to optimize Link conversion. + * @return precheckId + **/ + @ApiModelProperty(required = true, value = "ID of the precheck. Provide this value when calling `/link/token/create` in order to optimize Link conversion.") + + public String getPrecheckId() { + return precheckId; + } + + + public void setPrecheckId(String precheckId) { + this.precheckId = precheckId; + } + + + public IncomeVerificationPrecheckResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public IncomeVerificationPrecheckResponse confidence(IncomeVerificationPrecheckConfidence confidence) { + + this.confidence = confidence; + return this; + } + + /** + * Get confidence + * @return confidence + **/ + @ApiModelProperty(required = true, value = "") + + public IncomeVerificationPrecheckConfidence getConfidence() { + return confidence; + } + + + public void setConfidence(IncomeVerificationPrecheckConfidence confidence) { + this.confidence = confidence; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationPrecheckResponse incomeVerificationPrecheckResponse = (IncomeVerificationPrecheckResponse) o; + return Objects.equals(this.precheckId, incomeVerificationPrecheckResponse.precheckId) && + Objects.equals(this.requestId, incomeVerificationPrecheckResponse.requestId) && + Objects.equals(this.confidence, incomeVerificationPrecheckResponse.confidence); + } + + @Override + public int hashCode() { + return Objects.hash(precheckId, requestId, confidence); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationPrecheckResponse {\n"); + sb.append(" precheckId: ").append(toIndentedString(precheckId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" confidence: ").append(toIndentedString(confidence)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckUser.java b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckUser.java new file mode 100644 index 0000000000..142dea196b --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationPrecheckUser.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SignalAddressData; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the user whose eligibility is being evaluated. + */ +@ApiModel(description = "Information about the user whose eligibility is being evaluated.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationPrecheckUser { + public static final String SERIALIZED_NAME_FIRST_NAME = "first_name"; + @SerializedName(SERIALIZED_NAME_FIRST_NAME) + private String firstName; + + public static final String SERIALIZED_NAME_LAST_NAME = "last_name"; + @SerializedName(SERIALIZED_NAME_LAST_NAME) + private String lastName; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_HOME_ADDRESS = "home_address"; + @SerializedName(SERIALIZED_NAME_HOME_ADDRESS) + private SignalAddressData homeAddress; + + + public IncomeVerificationPrecheckUser firstName(String firstName) { + + this.firstName = firstName; + return this; + } + + /** + * The user's first name + * @return firstName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's first name") + + public String getFirstName() { + return firstName; + } + + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + + public IncomeVerificationPrecheckUser lastName(String lastName) { + + this.lastName = lastName; + return this; + } + + /** + * The user's last name + * @return lastName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's last name") + + public String getLastName() { + return lastName; + } + + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + + public IncomeVerificationPrecheckUser emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * The user's email address + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's email address") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public IncomeVerificationPrecheckUser homeAddress(SignalAddressData homeAddress) { + + this.homeAddress = homeAddress; + return this; + } + + /** + * Get homeAddress + * @return homeAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalAddressData getHomeAddress() { + return homeAddress; + } + + + public void setHomeAddress(SignalAddressData homeAddress) { + this.homeAddress = homeAddress; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationPrecheckUser incomeVerificationPrecheckUser = (IncomeVerificationPrecheckUser) o; + return Objects.equals(this.firstName, incomeVerificationPrecheckUser.firstName) && + Objects.equals(this.lastName, incomeVerificationPrecheckUser.lastName) && + Objects.equals(this.emailAddress, incomeVerificationPrecheckUser.emailAddress) && + Objects.equals(this.homeAddress, incomeVerificationPrecheckUser.homeAddress); + } + + @Override + public int hashCode() { + return Objects.hash(firstName, lastName, emailAddress, homeAddress); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationPrecheckUser {\n"); + sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); + sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" homeAddress: ").append(toIndentedString(homeAddress)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationRefreshReconnectNeededWebhook.java b/src/main/java/com/plaid/client/model/IncomeVerificationRefreshReconnectNeededWebhook.java new file mode 100644 index 0000000000..4e89f6e21c --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationRefreshReconnectNeededWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when the attempt to refresh Payroll Income data for a user via `/credit/payroll_income/refresh` failed because the user must re-connect their payroll account. + */ +@ApiModel(description = "Fired when the attempt to refresh Payroll Income data for a user via `/credit/payroll_income/refresh` failed because the user must re-connect their payroll account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationRefreshReconnectNeededWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public IncomeVerificationRefreshReconnectNeededWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `INCOME` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`INCOME`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public IncomeVerificationRefreshReconnectNeededWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `INCOME_VERIFICATION_REFRESH_RECONNECT_NEEDED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`INCOME_VERIFICATION_REFRESH_RECONNECT_NEEDED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public IncomeVerificationRefreshReconnectNeededWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The `user_id` corresponding to the user the webhook has fired for. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The `user_id` corresponding to the user the webhook has fired for.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public IncomeVerificationRefreshReconnectNeededWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationRefreshReconnectNeededWebhook incomeVerificationRefreshReconnectNeededWebhook = (IncomeVerificationRefreshReconnectNeededWebhook) o; + return Objects.equals(this.webhookType, incomeVerificationRefreshReconnectNeededWebhook.webhookType) && + Objects.equals(this.webhookCode, incomeVerificationRefreshReconnectNeededWebhook.webhookCode) && + Objects.equals(this.userId, incomeVerificationRefreshReconnectNeededWebhook.userId) && + Objects.equals(this.environment, incomeVerificationRefreshReconnectNeededWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationRefreshReconnectNeededWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationRiskSignalsStatusWebhook.java b/src/main/java/com/plaid/client/model/IncomeVerificationRiskSignalsStatusWebhook.java new file mode 100644 index 0000000000..818892f193 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationRiskSignalsStatusWebhook.java @@ -0,0 +1,240 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when risk signals have been processed for documents uploaded via Document Income. It will typically take a minute or two for this webhook to fire after the end user has uploaded their documents in the Document Income flow. Once this webhook has fired, `/credit/payroll_income/risk_signals/get` may then be called to determine whether the documents were successfully processed and to retrieve risk data. + */ +@ApiModel(description = "Fired when risk signals have been processed for documents uploaded via Document Income. It will typically take a minute or two for this webhook to fire after the end user has uploaded their documents in the Document Income flow. Once this webhook has fired, `/credit/payroll_income/risk_signals/get` may then be called to determine whether the documents were successfully processed and to retrieve risk data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationRiskSignalsStatusWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_RISK_SIGNALS_STATUS = "risk_signals_status"; + @SerializedName(SERIALIZED_NAME_RISK_SIGNALS_STATUS) + private String riskSignalsStatus; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public IncomeVerificationRiskSignalsStatusWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `\"INCOME\"` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`\"INCOME\"`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public IncomeVerificationRiskSignalsStatusWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `INCOME_VERIFICATION_RISK_SIGNALS` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`INCOME_VERIFICATION_RISK_SIGNALS`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public IncomeVerificationRiskSignalsStatusWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Item ID associated with the verification. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The Item ID associated with the verification.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public IncomeVerificationRiskSignalsStatusWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public IncomeVerificationRiskSignalsStatusWebhook riskSignalsStatus(String riskSignalsStatus) { + + this.riskSignalsStatus = riskSignalsStatus; + return this; + } + + /** + * `RISK_SIGNALS_PROCESSING_COMPLETE`: The income verification fraud detection processing has completed. If the user uploaded multiple documents, this webhook will fire when all documents have finished processing. Call the `/credit/payroll_income/risk_signals/get` endpoint to get all risk signal data. + * @return riskSignalsStatus + **/ + @ApiModelProperty(required = true, value = "`RISK_SIGNALS_PROCESSING_COMPLETE`: The income verification fraud detection processing has completed. If the user uploaded multiple documents, this webhook will fire when all documents have finished processing. Call the `/credit/payroll_income/risk_signals/get` endpoint to get all risk signal data.") + + public String getRiskSignalsStatus() { + return riskSignalsStatus; + } + + + public void setRiskSignalsStatus(String riskSignalsStatus) { + this.riskSignalsStatus = riskSignalsStatus; + } + + + public IncomeVerificationRiskSignalsStatusWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationRiskSignalsStatusWebhook incomeVerificationRiskSignalsStatusWebhook = (IncomeVerificationRiskSignalsStatusWebhook) o; + return Objects.equals(this.webhookType, incomeVerificationRiskSignalsStatusWebhook.webhookType) && + Objects.equals(this.webhookCode, incomeVerificationRiskSignalsStatusWebhook.webhookCode) && + Objects.equals(this.itemId, incomeVerificationRiskSignalsStatusWebhook.itemId) && + Objects.equals(this.userId, incomeVerificationRiskSignalsStatusWebhook.userId) && + Objects.equals(this.riskSignalsStatus, incomeVerificationRiskSignalsStatusWebhook.riskSignalsStatus) && + Objects.equals(this.environment, incomeVerificationRiskSignalsStatusWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, riskSignalsStatus, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationRiskSignalsStatusWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" riskSignalsStatus: ").append(toIndentedString(riskSignalsStatus)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationSourceType.java b/src/main/java/com/plaid/client/model/IncomeVerificationSourceType.java new file mode 100644 index 0000000000..d737e84711 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationSourceType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The types of source income data that users should be able to share + */ +@JsonAdapter(IncomeVerificationSourceType.Adapter.class) +public enum IncomeVerificationSourceType { + + BANK("bank"), + + PAYROLL("payroll"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IncomeVerificationSourceType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncomeVerificationSourceType fromValue(String value) { + for (IncomeVerificationSourceType b : IncomeVerificationSourceType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return IncomeVerificationSourceType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IncomeVerificationSourceType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncomeVerificationSourceType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncomeVerificationSourceType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationStatusWebhook.java b/src/main/java/com/plaid/client/model/IncomeVerificationStatusWebhook.java new file mode 100644 index 0000000000..3e534a5692 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationStatusWebhook.java @@ -0,0 +1,240 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when the status of an income verification instance has changed. This webhook is fired for both the Document and Payroll Income flows, but not the Bank Income flow. It will typically take several minutes for this webhook to fire after the end user has uploaded their documents in the Document Income flow. + */ +@ApiModel(description = "Fired when the status of an income verification instance has changed. This webhook is fired for both the Document and Payroll Income flows, but not the Bank Income flow. It will typically take several minutes for this webhook to fire after the end user has uploaded their documents in the Document Income flow.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationStatusWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private String verificationStatus; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public IncomeVerificationStatusWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `\"INCOME\"` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`\"INCOME\"`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public IncomeVerificationStatusWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `INCOME_VERIFICATION` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`INCOME_VERIFICATION`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public IncomeVerificationStatusWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Item ID associated with the verification. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The Item ID associated with the verification.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public IncomeVerificationStatusWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public IncomeVerificationStatusWebhook verificationStatus(String verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * `VERIFICATION_STATUS_PROCESSING_COMPLETE`: The income verification processing has completed. This indicates that the documents have been parsed successfully or that the documents were not parsable. If the user uploaded multiple documents, this webhook will fire when all documents have finished processing. Call the `/credit/payroll_income/get` endpoint and check the document metadata to see which documents were successfully parsed. `VERIFICATION_STATUS_PROCESSING_FAILED`: An unexpected internal error occurred when attempting to process the verification documentation. `VERIFICATION_STATUS_PENDING_APPROVAL`: (deprecated) The income verification has been sent to the user for review. + * @return verificationStatus + **/ + @ApiModelProperty(required = true, value = "`VERIFICATION_STATUS_PROCESSING_COMPLETE`: The income verification processing has completed. This indicates that the documents have been parsed successfully or that the documents were not parsable. If the user uploaded multiple documents, this webhook will fire when all documents have finished processing. Call the `/credit/payroll_income/get` endpoint and check the document metadata to see which documents were successfully parsed. `VERIFICATION_STATUS_PROCESSING_FAILED`: An unexpected internal error occurred when attempting to process the verification documentation. `VERIFICATION_STATUS_PENDING_APPROVAL`: (deprecated) The income verification has been sent to the user for review.") + + public String getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(String verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + public IncomeVerificationStatusWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationStatusWebhook incomeVerificationStatusWebhook = (IncomeVerificationStatusWebhook) o; + return Objects.equals(this.webhookType, incomeVerificationStatusWebhook.webhookType) && + Objects.equals(this.webhookCode, incomeVerificationStatusWebhook.webhookCode) && + Objects.equals(this.itemId, incomeVerificationStatusWebhook.itemId) && + Objects.equals(this.userId, incomeVerificationStatusWebhook.userId) && + Objects.equals(this.verificationStatus, incomeVerificationStatusWebhook.verificationStatus) && + Objects.equals(this.environment, incomeVerificationStatusWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, verificationStatus, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationStatusWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationTaxformsGetRequest.java b/src/main/java/com/plaid/client/model/IncomeVerificationTaxformsGetRequest.java new file mode 100644 index 0000000000..c8e9dd8e57 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationTaxformsGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IncomeVerificationTaxformsGetRequest defines the request schema for `/income/verification/taxforms/get` + */ +@ApiModel(description = "IncomeVerificationTaxformsGetRequest defines the request schema for `/income/verification/taxforms/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationTaxformsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_INCOME_VERIFICATION_ID = "income_verification_id"; + @SerializedName(SERIALIZED_NAME_INCOME_VERIFICATION_ID) + private String incomeVerificationId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + + public IncomeVerificationTaxformsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IncomeVerificationTaxformsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IncomeVerificationTaxformsGetRequest incomeVerificationId(String incomeVerificationId) { + + this.incomeVerificationId = incomeVerificationId; + return this; + } + + /** + * The ID of the verification. + * @return incomeVerificationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the verification.") + + public String getIncomeVerificationId() { + return incomeVerificationId; + } + + + public void setIncomeVerificationId(String incomeVerificationId) { + this.incomeVerificationId = incomeVerificationId; + } + + + public IncomeVerificationTaxformsGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationTaxformsGetRequest incomeVerificationTaxformsGetRequest = (IncomeVerificationTaxformsGetRequest) o; + return Objects.equals(this.clientId, incomeVerificationTaxformsGetRequest.clientId) && + Objects.equals(this.secret, incomeVerificationTaxformsGetRequest.secret) && + Objects.equals(this.incomeVerificationId, incomeVerificationTaxformsGetRequest.incomeVerificationId) && + Objects.equals(this.accessToken, incomeVerificationTaxformsGetRequest.accessToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, incomeVerificationId, accessToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationTaxformsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" incomeVerificationId: ").append(toIndentedString(incomeVerificationId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationTaxformsGetResponse.java b/src/main/java/com/plaid/client/model/IncomeVerificationTaxformsGetResponse.java new file mode 100644 index 0000000000..4457a076c4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationTaxformsGetResponse.java @@ -0,0 +1,199 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocumentMetadata; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.Taxform; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * IncomeVerificationTaxformsGetResponse defines the response schema for `/income/verification/taxforms/get` + */ +@ApiModel(description = "IncomeVerificationTaxformsGetResponse defines the response schema for `/income/verification/taxforms/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationTaxformsGetResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_DOCUMENT_METADATA = "document_metadata"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_METADATA) + private List documentMetadata = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TAXFORMS = "taxforms"; + @SerializedName(SERIALIZED_NAME_TAXFORMS) + private List taxforms = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + + public IncomeVerificationTaxformsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public IncomeVerificationTaxformsGetResponse documentMetadata(List documentMetadata) { + + this.documentMetadata = documentMetadata; + return this; + } + + public IncomeVerificationTaxformsGetResponse addDocumentMetadataItem(DocumentMetadata documentMetadataItem) { + this.documentMetadata.add(documentMetadataItem); + return this; + } + + /** + * Get documentMetadata + * @return documentMetadata + **/ + @ApiModelProperty(required = true, value = "") + + public List getDocumentMetadata() { + return documentMetadata; + } + + + public void setDocumentMetadata(List documentMetadata) { + this.documentMetadata = documentMetadata; + } + + + public IncomeVerificationTaxformsGetResponse taxforms(List taxforms) { + + this.taxforms = taxforms; + return this; + } + + public IncomeVerificationTaxformsGetResponse addTaxformsItem(Taxform taxformsItem) { + this.taxforms.add(taxformsItem); + return this; + } + + /** + * A list of forms. + * @return taxforms + **/ + @ApiModelProperty(required = true, value = "A list of forms.") + + public List getTaxforms() { + return taxforms; + } + + + public void setTaxforms(List taxforms) { + this.taxforms = taxforms; + } + + + public IncomeVerificationTaxformsGetResponse error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationTaxformsGetResponse incomeVerificationTaxformsGetResponse = (IncomeVerificationTaxformsGetResponse) o; + return Objects.equals(this.requestId, incomeVerificationTaxformsGetResponse.requestId) && + Objects.equals(this.documentMetadata, incomeVerificationTaxformsGetResponse.documentMetadata) && + Objects.equals(this.taxforms, incomeVerificationTaxformsGetResponse.taxforms) && + Objects.equals(this.error, incomeVerificationTaxformsGetResponse.error); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, documentMetadata, taxforms, error); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationTaxformsGetResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" documentMetadata: ").append(toIndentedString(documentMetadata)).append("\n"); + sb.append(" taxforms: ").append(toIndentedString(taxforms)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IncomeVerificationWebhookStatus.java b/src/main/java/com/plaid/client/model/IncomeVerificationWebhookStatus.java new file mode 100644 index 0000000000..fd8457235d --- /dev/null +++ b/src/main/java/com/plaid/client/model/IncomeVerificationWebhookStatus.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Status of the income verification webhook + */ +@ApiModel(description = "Status of the income verification webhook") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IncomeVerificationWebhookStatus { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + + public IncomeVerificationWebhookStatus id(String id) { + + this.id = id; + return this; + } + + /** + * Get id + * @return id + **/ + @ApiModelProperty(required = true, value = "") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncomeVerificationWebhookStatus incomeVerificationWebhookStatus = (IncomeVerificationWebhookStatus) o; + return Objects.equals(this.id, incomeVerificationWebhookStatus.id); + } + + @Override + public int hashCode() { + return Objects.hash(id); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncomeVerificationWebhookStatus {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IndividualName.java b/src/main/java/com/plaid/client/model/IndividualName.java new file mode 100644 index 0000000000..352527a5db --- /dev/null +++ b/src/main/java/com/plaid/client/model/IndividualName.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Parent container for name that allows for choice group between parsed and unparsed containers. + */ +@ApiModel(description = "Parent container for name that allows for choice group between parsed and unparsed containers.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IndividualName { + public static final String SERIALIZED_NAME_FIRST_NAME = "FirstName"; + @SerializedName(SERIALIZED_NAME_FIRST_NAME) + private String firstName; + + public static final String SERIALIZED_NAME_LAST_NAME = "LastName"; + @SerializedName(SERIALIZED_NAME_LAST_NAME) + private String lastName; + + + public IndividualName firstName(String firstName) { + + this.firstName = firstName; + return this; + } + + /** + * The first name of the individual represented by the parent object. + * @return firstName + **/ + @ApiModelProperty(required = true, value = "The first name of the individual represented by the parent object.") + + public String getFirstName() { + return firstName; + } + + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + + public IndividualName lastName(String lastName) { + + this.lastName = lastName; + return this; + } + + /** + * The last name of the individual represented by the parent object. + * @return lastName + **/ + @ApiModelProperty(required = true, value = "The last name of the individual represented by the parent object.") + + public String getLastName() { + return lastName; + } + + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IndividualName individualName = (IndividualName) o; + return Objects.equals(this.firstName, individualName.firstName) && + Objects.equals(this.lastName, individualName.lastName); + } + + @Override + public int hashCode() { + return Objects.hash(firstName, lastName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IndividualName {\n"); + sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); + sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IndividualScreeningHitNames.java b/src/main/java/com/plaid/client/model/IndividualScreeningHitNames.java new file mode 100644 index 0000000000..2d286e9677 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IndividualScreeningHitNames.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WeakAliasDetermination; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Name information for the associated individual watchlist hit + */ +@ApiModel(description = "Name information for the associated individual watchlist hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IndividualScreeningHitNames { + public static final String SERIALIZED_NAME_FULL = "full"; + @SerializedName(SERIALIZED_NAME_FULL) + private String full; + + public static final String SERIALIZED_NAME_IS_PRIMARY = "is_primary"; + @SerializedName(SERIALIZED_NAME_IS_PRIMARY) + private Boolean isPrimary; + + public static final String SERIALIZED_NAME_WEAK_ALIAS_DETERMINATION = "weak_alias_determination"; + @SerializedName(SERIALIZED_NAME_WEAK_ALIAS_DETERMINATION) + private WeakAliasDetermination weakAliasDetermination; + + + public IndividualScreeningHitNames full(String full) { + + this.full = full; + return this; + } + + /** + * The full name of the individual, including all parts. + * @return full + **/ + @ApiModelProperty(example = "Aleksey Potemkin", required = true, value = "The full name of the individual, including all parts.") + + public String getFull() { + return full; + } + + + public void setFull(String full) { + this.full = full; + } + + + public IndividualScreeningHitNames isPrimary(Boolean isPrimary) { + + this.isPrimary = isPrimary; + return this; + } + + /** + * Primary names are those most commonly used to refer to this person. Only one name will ever be marked as primary. + * @return isPrimary + **/ + @ApiModelProperty(example = "false", required = true, value = "Primary names are those most commonly used to refer to this person. Only one name will ever be marked as primary.") + + public Boolean getIsPrimary() { + return isPrimary; + } + + + public void setIsPrimary(Boolean isPrimary) { + this.isPrimary = isPrimary; + } + + + public IndividualScreeningHitNames weakAliasDetermination(WeakAliasDetermination weakAliasDetermination) { + + this.weakAliasDetermination = weakAliasDetermination; + return this; + } + + /** + * Get weakAliasDetermination + * @return weakAliasDetermination + **/ + @ApiModelProperty(required = true, value = "") + + public WeakAliasDetermination getWeakAliasDetermination() { + return weakAliasDetermination; + } + + + public void setWeakAliasDetermination(WeakAliasDetermination weakAliasDetermination) { + this.weakAliasDetermination = weakAliasDetermination; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IndividualScreeningHitNames individualScreeningHitNames = (IndividualScreeningHitNames) o; + return Objects.equals(this.full, individualScreeningHitNames.full) && + Objects.equals(this.isPrimary, individualScreeningHitNames.isPrimary) && + Objects.equals(this.weakAliasDetermination, individualScreeningHitNames.weakAliasDetermination); + } + + @Override + public int hashCode() { + return Objects.hash(full, isPrimary, weakAliasDetermination); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IndividualScreeningHitNames {\n"); + sb.append(" full: ").append(toIndentedString(full)).append("\n"); + sb.append(" isPrimary: ").append(toIndentedString(isPrimary)).append("\n"); + sb.append(" weakAliasDetermination: ").append(toIndentedString(weakAliasDetermination)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IndividualWatchlistCode.java b/src/main/java/com/plaid/client/model/IndividualWatchlistCode.java new file mode 100644 index 0000000000..7744da94c8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IndividualWatchlistCode.java @@ -0,0 +1,125 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Shorthand identifier for a specific screening list for individuals. `AU_CON`: Australia Department of Foreign Affairs and Trade Consolidated List `CA_CON`: Government of Canada Consolidated List of Sanctions `EU_CON`: European External Action Service Consolidated List `IZ_CIA`: CIA List of Chiefs of State and Cabinet Members `IZ_IPL`: Interpol Red Notices for Wanted Persons List `IZ_PEP`: Politically Exposed Persons List `IZ_UNC`: United Nations Consolidated Sanctions `IZ_WBK`: World Bank Listing of Ineligible Firms and Individuals `UK_HMC`: Foreign, Commonwealth & Development Office UK Sanctions List `US_DPL`: Bureau of Industry and Security Denied Persons List `US_DTC`: US Department of State AECA Debarred `US_FBI`: US Department of Justice FBI Wanted List `US_FSE`: US OFAC Foreign Sanctions Evaders `US_ISN`: US Department of State Nonproliferation Sanctions `US_MBS`: US Non-SDN Menu-Based Sanctions `US_PLC`: US OFAC Palestinian Legislative Council `US_SAM`: US System for Award Management Exclusion List `US_SDN`: US OFAC Specially Designated Nationals List `US_SSI`: US OFAC Sectoral Sanctions Identifications `SG_SOF`: Government of Singapore Terrorists and Terrorist Entities `TR_TWL`: Government of Turkey Terrorist Wanted List `TR_DFD`: Government of Turkey Domestic Freezing Decisions `TR_FOR`: Government of Turkey Foreign Freezing Requests `TR_WMD`: Government of Turkey Weapons of Mass Destruction `TR_CMB`: Government of Turkey Capital Markets Board + */ +@JsonAdapter(IndividualWatchlistCode.Adapter.class) +public enum IndividualWatchlistCode { + + AU_CON("AU_CON"), + + CA_CON("CA_CON"), + + EU_CON("EU_CON"), + + IZ_CIA("IZ_CIA"), + + IZ_IPL("IZ_IPL"), + + IZ_PEP("IZ_PEP"), + + IZ_UNC("IZ_UNC"), + + IZ_WBK("IZ_WBK"), + + UK_HMC("UK_HMC"), + + US_DPL("US_DPL"), + + US_DTC("US_DTC"), + + US_FBI("US_FBI"), + + US_FSE("US_FSE"), + + US_ISN("US_ISN"), + + US_MBS("US_MBS"), + + US_PLC("US_PLC"), + + US_SAM("US_SAM"), + + US_SDN("US_SDN"), + + US_SSI("US_SSI"), + + SG_SOF("SG_SOF"), + + TR_TWL("TR_TWL"), + + TR_DFD("TR_DFD"), + + TR_FOR("TR_FOR"), + + TR_WMD("TR_WMD"), + + TR_CMB("TR_CMB"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IndividualWatchlistCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IndividualWatchlistCode fromValue(String value) { + for (IndividualWatchlistCode b : IndividualWatchlistCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return IndividualWatchlistCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IndividualWatchlistCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IndividualWatchlistCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IndividualWatchlistCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IndividualWatchlistProgram.java b/src/main/java/com/plaid/client/model/IndividualWatchlistProgram.java new file mode 100644 index 0000000000..ed1052e30b --- /dev/null +++ b/src/main/java/com/plaid/client/model/IndividualWatchlistProgram.java @@ -0,0 +1,305 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IndividualWatchlistCode; +import com.plaid.client.model.ProgramNameSensitivity; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +/** + * A program that configures the active lists, search parameters, and other behavior for initial and ongoing screening of individuals. + */ +@ApiModel(description = "A program that configures the active lists, search parameters, and other behavior for initial and ongoing screening of individuals.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IndividualWatchlistProgram { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_IS_RESCANNING_ENABLED = "is_rescanning_enabled"; + @SerializedName(SERIALIZED_NAME_IS_RESCANNING_ENABLED) + private Boolean isRescanningEnabled; + + public static final String SERIALIZED_NAME_LISTS_ENABLED = "lists_enabled"; + @SerializedName(SERIALIZED_NAME_LISTS_ENABLED) + private Set listsEnabled = new LinkedHashSet<>(); + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NAME_SENSITIVITY = "name_sensitivity"; + @SerializedName(SERIALIZED_NAME_NAME_SENSITIVITY) + private ProgramNameSensitivity nameSensitivity; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_IS_ARCHIVED = "is_archived"; + @SerializedName(SERIALIZED_NAME_IS_ARCHIVED) + private Boolean isArchived; + + + public IndividualWatchlistProgram id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated program. + * @return id + **/ + @ApiModelProperty(example = "prg_2eRPsDnL66rZ7H", required = true, value = "ID of the associated program.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public IndividualWatchlistProgram createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public IndividualWatchlistProgram isRescanningEnabled(Boolean isRescanningEnabled) { + + this.isRescanningEnabled = isRescanningEnabled; + return this; + } + + /** + * Indicator specifying whether the program is enabled and will perform daily rescans. + * @return isRescanningEnabled + **/ + @ApiModelProperty(example = "true", required = true, value = "Indicator specifying whether the program is enabled and will perform daily rescans.") + + public Boolean getIsRescanningEnabled() { + return isRescanningEnabled; + } + + + public void setIsRescanningEnabled(Boolean isRescanningEnabled) { + this.isRescanningEnabled = isRescanningEnabled; + } + + + public IndividualWatchlistProgram listsEnabled(Set listsEnabled) { + + this.listsEnabled = listsEnabled; + return this; + } + + public IndividualWatchlistProgram addListsEnabledItem(IndividualWatchlistCode listsEnabledItem) { + this.listsEnabled.add(listsEnabledItem); + return this; + } + + /** + * Watchlists enabled for the associated program + * @return listsEnabled + **/ + @ApiModelProperty(example = "[\"US_SDN\"]", required = true, value = "Watchlists enabled for the associated program") + + public Set getListsEnabled() { + return listsEnabled; + } + + + public void setListsEnabled(Set listsEnabled) { + this.listsEnabled = listsEnabled; + } + + + public IndividualWatchlistProgram name(String name) { + + this.name = name; + return this; + } + + /** + * A name for the program to define its purpose. For example, \"High Risk Individuals\", \"US Cardholders\", or \"Applicants\". + * @return name + **/ + @ApiModelProperty(example = "Sample Program", required = true, value = "A name for the program to define its purpose. For example, \"High Risk Individuals\", \"US Cardholders\", or \"Applicants\".") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public IndividualWatchlistProgram nameSensitivity(ProgramNameSensitivity nameSensitivity) { + + this.nameSensitivity = nameSensitivity; + return this; + } + + /** + * Get nameSensitivity + * @return nameSensitivity + **/ + @ApiModelProperty(required = true, value = "") + + public ProgramNameSensitivity getNameSensitivity() { + return nameSensitivity; + } + + + public void setNameSensitivity(ProgramNameSensitivity nameSensitivity) { + this.nameSensitivity = nameSensitivity; + } + + + public IndividualWatchlistProgram auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public IndividualWatchlistProgram isArchived(Boolean isArchived) { + + this.isArchived = isArchived; + return this; + } + + /** + * Archived programs are read-only and cannot screen new customers nor participate in ongoing monitoring. + * @return isArchived + **/ + @ApiModelProperty(example = "false", required = true, value = "Archived programs are read-only and cannot screen new customers nor participate in ongoing monitoring.") + + public Boolean getIsArchived() { + return isArchived; + } + + + public void setIsArchived(Boolean isArchived) { + this.isArchived = isArchived; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IndividualWatchlistProgram individualWatchlistProgram = (IndividualWatchlistProgram) o; + return Objects.equals(this.id, individualWatchlistProgram.id) && + Objects.equals(this.createdAt, individualWatchlistProgram.createdAt) && + Objects.equals(this.isRescanningEnabled, individualWatchlistProgram.isRescanningEnabled) && + Objects.equals(this.listsEnabled, individualWatchlistProgram.listsEnabled) && + Objects.equals(this.name, individualWatchlistProgram.name) && + Objects.equals(this.nameSensitivity, individualWatchlistProgram.nameSensitivity) && + Objects.equals(this.auditTrail, individualWatchlistProgram.auditTrail) && + Objects.equals(this.isArchived, individualWatchlistProgram.isArchived); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdAt, isRescanningEnabled, listsEnabled, name, nameSensitivity, auditTrail, isArchived); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IndividualWatchlistProgram {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" isRescanningEnabled: ").append(toIndentedString(isRescanningEnabled)).append("\n"); + sb.append(" listsEnabled: ").append(toIndentedString(listsEnabled)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" nameSensitivity: ").append(toIndentedString(nameSensitivity)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" isArchived: ").append(toIndentedString(isArchived)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InflowModel.java b/src/main/java/com/plaid/client/model/InflowModel.java new file mode 100644 index 0000000000..fb1b0cde44 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InflowModel.java @@ -0,0 +1,211 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * The `inflow_model` allows you to model a test account that receives regular income or makes regular payments on a loan. Any transactions generated by the `inflow_model` will appear in addition to randomly generated test data or transactions specified by `override_accounts`. + */ +@ApiModel(description = "The `inflow_model` allows you to model a test account that receives regular income or makes regular payments on a loan. Any transactions generated by the `inflow_model` will appear in addition to randomly generated test data or transactions specified by `override_accounts`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InflowModel { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_INCOME_AMOUNT = "income_amount"; + @SerializedName(SERIALIZED_NAME_INCOME_AMOUNT) + private Double incomeAmount; + + public static final String SERIALIZED_NAME_PAYMENT_DAY_OF_MONTH = "payment_day_of_month"; + @SerializedName(SERIALIZED_NAME_PAYMENT_DAY_OF_MONTH) + private Double paymentDayOfMonth; + + public static final String SERIALIZED_NAME_TRANSACTION_NAME = "transaction_name"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_NAME) + private String transactionName; + + public static final String SERIALIZED_NAME_STATEMENT_DAY_OF_MONTH = "statement_day_of_month"; + @SerializedName(SERIALIZED_NAME_STATEMENT_DAY_OF_MONTH) + private String statementDayOfMonth; + + + public InflowModel type(String type) { + + this.type = type; + return this; + } + + /** + * Inflow model. One of the following: `none`: No income `monthly-income`: Income occurs once per month `monthly-balance-payment`: Pays off the balance on a liability account at the given statement day of month. `monthly-interest-only-payment`: Makes an interest-only payment on a liability account at the given statement day of month. Note that account types supported by Liabilities will accrue interest in the Sandbox. The types impacted are account type `credit` with subtype `credit` or `paypal`, and account type `loan` with subtype `student` or `mortgage`. + * @return type + **/ + @ApiModelProperty(required = true, value = "Inflow model. One of the following: `none`: No income `monthly-income`: Income occurs once per month `monthly-balance-payment`: Pays off the balance on a liability account at the given statement day of month. `monthly-interest-only-payment`: Makes an interest-only payment on a liability account at the given statement day of month. Note that account types supported by Liabilities will accrue interest in the Sandbox. The types impacted are account type `credit` with subtype `credit` or `paypal`, and account type `loan` with subtype `student` or `mortgage`.") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public InflowModel incomeAmount(Double incomeAmount) { + + this.incomeAmount = incomeAmount; + return this; + } + + /** + * Amount of income per month. This value is required if `type` is `monthly-income`. + * @return incomeAmount + **/ + @ApiModelProperty(required = true, value = "Amount of income per month. This value is required if `type` is `monthly-income`.") + + public Double getIncomeAmount() { + return incomeAmount; + } + + + public void setIncomeAmount(Double incomeAmount) { + this.incomeAmount = incomeAmount; + } + + + public InflowModel paymentDayOfMonth(Double paymentDayOfMonth) { + + this.paymentDayOfMonth = paymentDayOfMonth; + return this; + } + + /** + * Number between 1 and 28, or `last` meaning the last day of the month. The day of the month on which the income transaction will appear. This field is required if `type` is `monthly-income`, `monthly-balance-payment` or `monthly-interest-only-payment`. + * @return paymentDayOfMonth + **/ + @ApiModelProperty(required = true, value = "Number between 1 and 28, or `last` meaning the last day of the month. The day of the month on which the income transaction will appear. This field is required if `type` is `monthly-income`, `monthly-balance-payment` or `monthly-interest-only-payment`.") + + public Double getPaymentDayOfMonth() { + return paymentDayOfMonth; + } + + + public void setPaymentDayOfMonth(Double paymentDayOfMonth) { + this.paymentDayOfMonth = paymentDayOfMonth; + } + + + public InflowModel transactionName(String transactionName) { + + this.transactionName = transactionName; + return this; + } + + /** + * The name of the income transaction. This field is required if `type` is `monthly-income`, `monthly-balance-payment` or `monthly-interest-only-payment`. + * @return transactionName + **/ + @ApiModelProperty(required = true, value = "The name of the income transaction. This field is required if `type` is `monthly-income`, `monthly-balance-payment` or `monthly-interest-only-payment`.") + + public String getTransactionName() { + return transactionName; + } + + + public void setTransactionName(String transactionName) { + this.transactionName = transactionName; + } + + + public InflowModel statementDayOfMonth(String statementDayOfMonth) { + + this.statementDayOfMonth = statementDayOfMonth; + return this; + } + + /** + * Number between 1 and 28, or `last` meaning the last day of the month. The day of the month on which the balance is calculated for the next payment. This field is required if `type` is `monthly-balance-payment` or `monthly-interest-only-payment`. + * @return statementDayOfMonth + **/ + @ApiModelProperty(required = true, value = "Number between 1 and 28, or `last` meaning the last day of the month. The day of the month on which the balance is calculated for the next payment. This field is required if `type` is `monthly-balance-payment` or `monthly-interest-only-payment`.") + + public String getStatementDayOfMonth() { + return statementDayOfMonth; + } + + + public void setStatementDayOfMonth(String statementDayOfMonth) { + this.statementDayOfMonth = statementDayOfMonth; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InflowModel inflowModel = (InflowModel) o; + return Objects.equals(this.type, inflowModel.type) && + Objects.equals(this.incomeAmount, inflowModel.incomeAmount) && + Objects.equals(this.paymentDayOfMonth, inflowModel.paymentDayOfMonth) && + Objects.equals(this.transactionName, inflowModel.transactionName) && + Objects.equals(this.statementDayOfMonth, inflowModel.statementDayOfMonth); + } + + @Override + public int hashCode() { + return Objects.hash(type, incomeAmount, paymentDayOfMonth, transactionName, statementDayOfMonth); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InflowModel {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" incomeAmount: ").append(toIndentedString(incomeAmount)).append("\n"); + sb.append(" paymentDayOfMonth: ").append(toIndentedString(paymentDayOfMonth)).append("\n"); + sb.append(" transactionName: ").append(toIndentedString(transactionName)).append("\n"); + sb.append(" statementDayOfMonth: ").append(toIndentedString(statementDayOfMonth)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InitialUpdateWebhook.java b/src/main/java/com/plaid/client/model/InitialUpdateWebhook.java new file mode 100644 index 0000000000..e897cea0e7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InitialUpdateWebhook.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Fired when an Item's initial transaction pull is completed. Once this webhook has been fired, transaction data for the most recent 30 days can be fetched for the Item. This webhook will also be fired if account selections for the Item are updated, with `new_transactions` set to the number of net new transactions pulled after the account selection update. This webhook is intended for use with `/transactions/get`; if you are using the newer `/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead. + */ +@ApiModel(description = "Fired when an Item's initial transaction pull is completed. Once this webhook has been fired, transaction data for the most recent 30 days can be fetched for the Item. This webhook will also be fired if account selections for the Item are updated, with `new_transactions` set to the number of net new transactions pulled after the account selection update. This webhook is intended for use with `/transactions/get`; if you are using the newer `/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InitialUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private String error; + + public static final String SERIALIZED_NAME_NEW_TRANSACTIONS = "new_transactions"; + @SerializedName(SERIALIZED_NAME_NEW_TRANSACTIONS) + private Double newTransactions; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public InitialUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public InitialUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `INITIAL_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`INITIAL_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public InitialUpdateWebhook error(String error) { + + this.error = error; + return this; + } + + /** + * The error code associated with the webhook. + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The error code associated with the webhook.") + + public String getError() { + return error; + } + + + public void setError(String error) { + this.error = error; + } + + + public InitialUpdateWebhook newTransactions(Double newTransactions) { + + this.newTransactions = newTransactions; + return this; + } + + /** + * The number of new transactions available. + * @return newTransactions + **/ + @ApiModelProperty(required = true, value = "The number of new transactions available.") + + public Double getNewTransactions() { + return newTransactions; + } + + + public void setNewTransactions(Double newTransactions) { + this.newTransactions = newTransactions; + } + + + public InitialUpdateWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public InitialUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InitialUpdateWebhook initialUpdateWebhook = (InitialUpdateWebhook) o; + return Objects.equals(this.webhookType, initialUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, initialUpdateWebhook.webhookCode) && + Objects.equals(this.error, initialUpdateWebhook.error) && + Objects.equals(this.newTransactions, initialUpdateWebhook.newTransactions) && + Objects.equals(this.itemId, initialUpdateWebhook.itemId) && + Objects.equals(this.environment, initialUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, error, newTransactions, itemId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InitialUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" newTransactions: ").append(toIndentedString(newTransactions)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Institution.java b/src/main/java/com/plaid/client/model/Institution.java new file mode 100644 index 0000000000..51f0ef4029 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Institution.java @@ -0,0 +1,471 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AuthMetadata; +import com.plaid.client.model.CountryCode; +import com.plaid.client.model.InstitutionStatus; +import com.plaid.client.model.PaymentInitiationMetadata; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Details relating to a specific financial institution + */ +@ApiModel(description = "Details relating to a specific financial institution") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Institution { + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = new ArrayList<>(); + + public static final String SERIALIZED_NAME_COUNTRY_CODES = "country_codes"; + @SerializedName(SERIALIZED_NAME_COUNTRY_CODES) + private List countryCodes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_URL = "url"; + @SerializedName(SERIALIZED_NAME_URL) + private String url; + + public static final String SERIALIZED_NAME_PRIMARY_COLOR = "primary_color"; + @SerializedName(SERIALIZED_NAME_PRIMARY_COLOR) + private String primaryColor; + + public static final String SERIALIZED_NAME_LOGO = "logo"; + @SerializedName(SERIALIZED_NAME_LOGO) + private String logo; + + public static final String SERIALIZED_NAME_ROUTING_NUMBERS = "routing_numbers"; + @SerializedName(SERIALIZED_NAME_ROUTING_NUMBERS) + private List routingNumbers = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DTC_NUMBERS = "dtc_numbers"; + @SerializedName(SERIALIZED_NAME_DTC_NUMBERS) + private List dtcNumbers = null; + + public static final String SERIALIZED_NAME_OAUTH = "oauth"; + @SerializedName(SERIALIZED_NAME_OAUTH) + private Boolean oauth; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private InstitutionStatus status; + + public static final String SERIALIZED_NAME_PAYMENT_INITIATION_METADATA = "payment_initiation_metadata"; + @SerializedName(SERIALIZED_NAME_PAYMENT_INITIATION_METADATA) + private PaymentInitiationMetadata paymentInitiationMetadata; + + public static final String SERIALIZED_NAME_AUTH_METADATA = "auth_metadata"; + @SerializedName(SERIALIZED_NAME_AUTH_METADATA) + private AuthMetadata authMetadata; + + + public Institution institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * Unique identifier for the institution. Note that the same institution may have multiple records, each with different institution IDs; for example, if the institution has migrated to OAuth, there may be separate `institution_id`s for the OAuth and non-OAuth versions of the institution. Institutions that operate in different countries or with multiple login portals may also have separate `institution_id`s for each country or portal. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "Unique identifier for the institution. Note that the same institution may have multiple records, each with different institution IDs; for example, if the institution has migrated to OAuth, there may be separate `institution_id`s for the OAuth and non-OAuth versions of the institution. Institutions that operate in different countries or with multiple login portals may also have separate `institution_id`s for each country or portal.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public Institution name(String name) { + + this.name = name; + return this; + } + + /** + * The official name of the institution. + * @return name + **/ + @ApiModelProperty(required = true, value = "The official name of the institution.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public Institution products(List products) { + + this.products = products; + return this; + } + + public Institution addProductsItem(Products productsItem) { + this.products.add(productsItem); + return this; + } + + /** + * A list of the Plaid products supported by the institution. Note that only institutions that support Instant Auth will return `auth` in the product array; institutions that do not list `auth` may still support other Auth methods such as Instant Match or Automated Micro-deposit Verification. To identify institutions that support those methods, use the `auth_metadata` object. For more details, see [Full Auth coverage](https://plaid.com/docs/auth/coverage/). The `income_verification` product here indicates support for Bank Income. Note: For Signal Transaction Scores and Transfer, listed institutions may be incomplete or incorrect. Instead, use the following: `balance` support also indicates coverage of Signal Transaction Scores; `auth` support also indicates coverage of Transfer. + * @return products + **/ + @ApiModelProperty(required = true, value = "A list of the Plaid products supported by the institution. Note that only institutions that support Instant Auth will return `auth` in the product array; institutions that do not list `auth` may still support other Auth methods such as Instant Match or Automated Micro-deposit Verification. To identify institutions that support those methods, use the `auth_metadata` object. For more details, see [Full Auth coverage](https://plaid.com/docs/auth/coverage/). The `income_verification` product here indicates support for Bank Income. Note: For Signal Transaction Scores and Transfer, listed institutions may be incomplete or incorrect. Instead, use the following: `balance` support also indicates coverage of Signal Transaction Scores; `auth` support also indicates coverage of Transfer.") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + public Institution countryCodes(List countryCodes) { + + this.countryCodes = countryCodes; + return this; + } + + public Institution addCountryCodesItem(CountryCode countryCodesItem) { + this.countryCodes.add(countryCodesItem); + return this; + } + + /** + * A list of the country codes supported by the institution. + * @return countryCodes + **/ + @ApiModelProperty(required = true, value = "A list of the country codes supported by the institution.") + + public List getCountryCodes() { + return countryCodes; + } + + + public void setCountryCodes(List countryCodes) { + this.countryCodes = countryCodes; + } + + + public Institution url(String url) { + + this.url = url; + return this; + } + + /** + * The URL for the institution's website + * @return url + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL for the institution's website") + + public String getUrl() { + return url; + } + + + public void setUrl(String url) { + this.url = url; + } + + + public Institution primaryColor(String primaryColor) { + + this.primaryColor = primaryColor; + return this; + } + + /** + * Hexadecimal representation of the primary color used by the institution. If Plaid does not have primary color data for the institution, this field will be a deterministically generated fallback color. + * @return primaryColor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Hexadecimal representation of the primary color used by the institution. If Plaid does not have primary color data for the institution, this field will be a deterministically generated fallback color.") + + public String getPrimaryColor() { + return primaryColor; + } + + + public void setPrimaryColor(String primaryColor) { + this.primaryColor = primaryColor; + } + + + public Institution logo(String logo) { + + this.logo = logo; + return this; + } + + /** + * Base64 encoded representation of the institution's logo, returned as a base64 encoded 152x152 PNG. Not all institutions' logos are available. + * @return logo + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Base64 encoded representation of the institution's logo, returned as a base64 encoded 152x152 PNG. Not all institutions' logos are available.") + + public String getLogo() { + return logo; + } + + + public void setLogo(String logo) { + this.logo = logo; + } + + + public Institution routingNumbers(List routingNumbers) { + + this.routingNumbers = routingNumbers; + return this; + } + + public Institution addRoutingNumbersItem(String routingNumbersItem) { + this.routingNumbers.add(routingNumbersItem); + return this; + } + + /** + * A list of routing numbers known to be associated with the institution. This list is provided for the purpose of looking up institutions by routing number. It is generally comprehensive but is not guaranteed to be a complete list of routing numbers for an institution. + * @return routingNumbers + **/ + @ApiModelProperty(required = true, value = "A list of routing numbers known to be associated with the institution. This list is provided for the purpose of looking up institutions by routing number. It is generally comprehensive but is not guaranteed to be a complete list of routing numbers for an institution.") + + public List getRoutingNumbers() { + return routingNumbers; + } + + + public void setRoutingNumbers(List routingNumbers) { + this.routingNumbers = routingNumbers; + } + + + public Institution dtcNumbers(List dtcNumbers) { + + this.dtcNumbers = dtcNumbers; + return this; + } + + public Institution addDtcNumbersItem(String dtcNumbersItem) { + if (this.dtcNumbers == null) { + this.dtcNumbers = new ArrayList<>(); + } + this.dtcNumbers.add(dtcNumbersItem); + return this; + } + + /** + * A partial list of DTC numbers associated with the institution. + * @return dtcNumbers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A partial list of DTC numbers associated with the institution.") + + public List getDtcNumbers() { + return dtcNumbers; + } + + + public void setDtcNumbers(List dtcNumbers) { + this.dtcNumbers = dtcNumbers; + } + + + public Institution oauth(Boolean oauth) { + + this.oauth = oauth; + return this; + } + + /** + * Indicates that the institution has an OAuth login flow. This will be `true` if OAuth is supported for any Items associated with the institution, even if the institution also supports non-OAuth connections. + * @return oauth + **/ + @ApiModelProperty(required = true, value = "Indicates that the institution has an OAuth login flow. This will be `true` if OAuth is supported for any Items associated with the institution, even if the institution also supports non-OAuth connections.") + + public Boolean getOauth() { + return oauth; + } + + + public void setOauth(Boolean oauth) { + this.oauth = oauth; + } + + + public Institution status(InstitutionStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InstitutionStatus getStatus() { + return status; + } + + + public void setStatus(InstitutionStatus status) { + this.status = status; + } + + + public Institution paymentInitiationMetadata(PaymentInitiationMetadata paymentInitiationMetadata) { + + this.paymentInitiationMetadata = paymentInitiationMetadata; + return this; + } + + /** + * Get paymentInitiationMetadata + * @return paymentInitiationMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationMetadata getPaymentInitiationMetadata() { + return paymentInitiationMetadata; + } + + + public void setPaymentInitiationMetadata(PaymentInitiationMetadata paymentInitiationMetadata) { + this.paymentInitiationMetadata = paymentInitiationMetadata; + } + + + public Institution authMetadata(AuthMetadata authMetadata) { + + this.authMetadata = authMetadata; + return this; + } + + /** + * Get authMetadata + * @return authMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AuthMetadata getAuthMetadata() { + return authMetadata; + } + + + public void setAuthMetadata(AuthMetadata authMetadata) { + this.authMetadata = authMetadata; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Institution institution = (Institution) o; + return Objects.equals(this.institutionId, institution.institutionId) && + Objects.equals(this.name, institution.name) && + Objects.equals(this.products, institution.products) && + Objects.equals(this.countryCodes, institution.countryCodes) && + Objects.equals(this.url, institution.url) && + Objects.equals(this.primaryColor, institution.primaryColor) && + Objects.equals(this.logo, institution.logo) && + Objects.equals(this.routingNumbers, institution.routingNumbers) && + Objects.equals(this.dtcNumbers, institution.dtcNumbers) && + Objects.equals(this.oauth, institution.oauth) && + Objects.equals(this.status, institution.status) && + Objects.equals(this.paymentInitiationMetadata, institution.paymentInitiationMetadata) && + Objects.equals(this.authMetadata, institution.authMetadata); + } + + @Override + public int hashCode() { + return Objects.hash(institutionId, name, products, countryCodes, url, primaryColor, logo, routingNumbers, dtcNumbers, oauth, status, paymentInitiationMetadata, authMetadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Institution {\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append(" countryCodes: ").append(toIndentedString(countryCodes)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append(" primaryColor: ").append(toIndentedString(primaryColor)).append("\n"); + sb.append(" logo: ").append(toIndentedString(logo)).append("\n"); + sb.append(" routingNumbers: ").append(toIndentedString(routingNumbers)).append("\n"); + sb.append(" dtcNumbers: ").append(toIndentedString(dtcNumbers)).append("\n"); + sb.append(" oauth: ").append(toIndentedString(oauth)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" paymentInitiationMetadata: ").append(toIndentedString(paymentInitiationMetadata)).append("\n"); + sb.append(" authMetadata: ").append(toIndentedString(authMetadata)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionStatus.java b/src/main/java/com/plaid/client/model/InstitutionStatus.java new file mode 100644 index 0000000000..6e661530bd --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionStatus.java @@ -0,0 +1,343 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.HealthIncident; +import com.plaid.client.model.ProductStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The status of an institution is determined by the health of its Item logins, Transactions updates, Investments updates, Liabilities updates, Auth requests, Balance requests, Identity requests, Investments requests, and Liabilities requests. A login attempt is conducted during the initial Item add in Link. If there is not enough traffic to accurately calculate an institution's status, Plaid will return null rather than potentially inaccurate data. Institution status is accessible in the Dashboard and via the API using the `/institutions/get_by_id` endpoint with the `options.include_status` option set to true. Note that institution status is not available in the Sandbox environment. + */ +@ApiModel(description = "The status of an institution is determined by the health of its Item logins, Transactions updates, Investments updates, Liabilities updates, Auth requests, Balance requests, Identity requests, Investments requests, and Liabilities requests. A login attempt is conducted during the initial Item add in Link. If there is not enough traffic to accurately calculate an institution's status, Plaid will return null rather than potentially inaccurate data. Institution status is accessible in the Dashboard and via the API using the `/institutions/get_by_id` endpoint with the `options.include_status` option set to true. Note that institution status is not available in the Sandbox environment. ") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionStatus { + public static final String SERIALIZED_NAME_ITEM_LOGINS = "item_logins"; + @SerializedName(SERIALIZED_NAME_ITEM_LOGINS) + private ProductStatus itemLogins; + + public static final String SERIALIZED_NAME_TRANSACTIONS_UPDATES = "transactions_updates"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_UPDATES) + private ProductStatus transactionsUpdates; + + public static final String SERIALIZED_NAME_AUTH = "auth"; + @SerializedName(SERIALIZED_NAME_AUTH) + private ProductStatus auth; + + public static final String SERIALIZED_NAME_IDENTITY = "identity"; + @SerializedName(SERIALIZED_NAME_IDENTITY) + private ProductStatus identity; + + public static final String SERIALIZED_NAME_INVESTMENTS_UPDATES = "investments_updates"; + @SerializedName(SERIALIZED_NAME_INVESTMENTS_UPDATES) + private ProductStatus investmentsUpdates; + + public static final String SERIALIZED_NAME_LIABILITIES_UPDATES = "liabilities_updates"; + @SerializedName(SERIALIZED_NAME_LIABILITIES_UPDATES) + private ProductStatus liabilitiesUpdates; + + public static final String SERIALIZED_NAME_LIABILITIES = "liabilities"; + @SerializedName(SERIALIZED_NAME_LIABILITIES) + private ProductStatus liabilities; + + public static final String SERIALIZED_NAME_INVESTMENTS = "investments"; + @SerializedName(SERIALIZED_NAME_INVESTMENTS) + private ProductStatus investments; + + public static final String SERIALIZED_NAME_HEALTH_INCIDENTS = "health_incidents"; + @SerializedName(SERIALIZED_NAME_HEALTH_INCIDENTS) + private List healthIncidents = null; + + + public InstitutionStatus itemLogins(ProductStatus itemLogins) { + + this.itemLogins = itemLogins; + return this; + } + + /** + * Get itemLogins + * @return itemLogins + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProductStatus getItemLogins() { + return itemLogins; + } + + + public void setItemLogins(ProductStatus itemLogins) { + this.itemLogins = itemLogins; + } + + + public InstitutionStatus transactionsUpdates(ProductStatus transactionsUpdates) { + + this.transactionsUpdates = transactionsUpdates; + return this; + } + + /** + * Get transactionsUpdates + * @return transactionsUpdates + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProductStatus getTransactionsUpdates() { + return transactionsUpdates; + } + + + public void setTransactionsUpdates(ProductStatus transactionsUpdates) { + this.transactionsUpdates = transactionsUpdates; + } + + + public InstitutionStatus auth(ProductStatus auth) { + + this.auth = auth; + return this; + } + + /** + * Get auth + * @return auth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProductStatus getAuth() { + return auth; + } + + + public void setAuth(ProductStatus auth) { + this.auth = auth; + } + + + public InstitutionStatus identity(ProductStatus identity) { + + this.identity = identity; + return this; + } + + /** + * Get identity + * @return identity + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProductStatus getIdentity() { + return identity; + } + + + public void setIdentity(ProductStatus identity) { + this.identity = identity; + } + + + public InstitutionStatus investmentsUpdates(ProductStatus investmentsUpdates) { + + this.investmentsUpdates = investmentsUpdates; + return this; + } + + /** + * Get investmentsUpdates + * @return investmentsUpdates + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProductStatus getInvestmentsUpdates() { + return investmentsUpdates; + } + + + public void setInvestmentsUpdates(ProductStatus investmentsUpdates) { + this.investmentsUpdates = investmentsUpdates; + } + + + public InstitutionStatus liabilitiesUpdates(ProductStatus liabilitiesUpdates) { + + this.liabilitiesUpdates = liabilitiesUpdates; + return this; + } + + /** + * Get liabilitiesUpdates + * @return liabilitiesUpdates + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProductStatus getLiabilitiesUpdates() { + return liabilitiesUpdates; + } + + + public void setLiabilitiesUpdates(ProductStatus liabilitiesUpdates) { + this.liabilitiesUpdates = liabilitiesUpdates; + } + + + public InstitutionStatus liabilities(ProductStatus liabilities) { + + this.liabilities = liabilities; + return this; + } + + /** + * Get liabilities + * @return liabilities + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProductStatus getLiabilities() { + return liabilities; + } + + + public void setLiabilities(ProductStatus liabilities) { + this.liabilities = liabilities; + } + + + public InstitutionStatus investments(ProductStatus investments) { + + this.investments = investments; + return this; + } + + /** + * Get investments + * @return investments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProductStatus getInvestments() { + return investments; + } + + + public void setInvestments(ProductStatus investments) { + this.investments = investments; + } + + + public InstitutionStatus healthIncidents(List healthIncidents) { + + this.healthIncidents = healthIncidents; + return this; + } + + public InstitutionStatus addHealthIncidentsItem(HealthIncident healthIncidentsItem) { + if (this.healthIncidents == null) { + this.healthIncidents = new ArrayList<>(); + } + this.healthIncidents.add(healthIncidentsItem); + return this; + } + + /** + * Details of recent health incidents associated with the institution. + * @return healthIncidents + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Details of recent health incidents associated with the institution.") + + public List getHealthIncidents() { + return healthIncidents; + } + + + public void setHealthIncidents(List healthIncidents) { + this.healthIncidents = healthIncidents; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionStatus institutionStatus = (InstitutionStatus) o; + return Objects.equals(this.itemLogins, institutionStatus.itemLogins) && + Objects.equals(this.transactionsUpdates, institutionStatus.transactionsUpdates) && + Objects.equals(this.auth, institutionStatus.auth) && + Objects.equals(this.identity, institutionStatus.identity) && + Objects.equals(this.investmentsUpdates, institutionStatus.investmentsUpdates) && + Objects.equals(this.liabilitiesUpdates, institutionStatus.liabilitiesUpdates) && + Objects.equals(this.liabilities, institutionStatus.liabilities) && + Objects.equals(this.investments, institutionStatus.investments) && + Objects.equals(this.healthIncidents, institutionStatus.healthIncidents); + } + + @Override + public int hashCode() { + return Objects.hash(itemLogins, transactionsUpdates, auth, identity, investmentsUpdates, liabilitiesUpdates, liabilities, investments, healthIncidents); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionStatus {\n"); + sb.append(" itemLogins: ").append(toIndentedString(itemLogins)).append("\n"); + sb.append(" transactionsUpdates: ").append(toIndentedString(transactionsUpdates)).append("\n"); + sb.append(" auth: ").append(toIndentedString(auth)).append("\n"); + sb.append(" identity: ").append(toIndentedString(identity)).append("\n"); + sb.append(" investmentsUpdates: ").append(toIndentedString(investmentsUpdates)).append("\n"); + sb.append(" liabilitiesUpdates: ").append(toIndentedString(liabilitiesUpdates)).append("\n"); + sb.append(" liabilities: ").append(toIndentedString(liabilities)).append("\n"); + sb.append(" investments: ").append(toIndentedString(investments)).append("\n"); + sb.append(" healthIncidents: ").append(toIndentedString(healthIncidents)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionStatusAlertWebhook.java b/src/main/java/com/plaid/client/model/InstitutionStatusAlertWebhook.java new file mode 100644 index 0000000000..67a3090e8a --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionStatusAlertWebhook.java @@ -0,0 +1,211 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when institution status meets the conditions configured in the developer dashboard. + */ +@ApiModel(description = "Fired when institution status meets the conditions configured in the developer dashboard.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionStatusAlertWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_OVERALL_SUCCESS_RATE = "institution_overall_success_rate"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_OVERALL_SUCCESS_RATE) + private Double institutionOverallSuccessRate; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public InstitutionStatusAlertWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `DASHBOARD_CONFIGURED_ALERT` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`DASHBOARD_CONFIGURED_ALERT`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public InstitutionStatusAlertWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `INSTITUTION_STATUS_ALERT_TRIGGERED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`INSTITUTION_STATUS_ALERT_TRIGGERED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public InstitutionStatusAlertWebhook institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The ID of the associated institution. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The ID of the associated institution.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public InstitutionStatusAlertWebhook institutionOverallSuccessRate(Double institutionOverallSuccessRate) { + + this.institutionOverallSuccessRate = institutionOverallSuccessRate; + return this; + } + + /** + * The global success rate of the institution, calculated based on item add health. + * @return institutionOverallSuccessRate + **/ + @ApiModelProperty(required = true, value = "The global success rate of the institution, calculated based on item add health.") + + public Double getInstitutionOverallSuccessRate() { + return institutionOverallSuccessRate; + } + + + public void setInstitutionOverallSuccessRate(Double institutionOverallSuccessRate) { + this.institutionOverallSuccessRate = institutionOverallSuccessRate; + } + + + public InstitutionStatusAlertWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionStatusAlertWebhook institutionStatusAlertWebhook = (InstitutionStatusAlertWebhook) o; + return Objects.equals(this.webhookType, institutionStatusAlertWebhook.webhookType) && + Objects.equals(this.webhookCode, institutionStatusAlertWebhook.webhookCode) && + Objects.equals(this.institutionId, institutionStatusAlertWebhook.institutionId) && + Objects.equals(this.institutionOverallSuccessRate, institutionStatusAlertWebhook.institutionOverallSuccessRate) && + Objects.equals(this.environment, institutionStatusAlertWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, institutionId, institutionOverallSuccessRate, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionStatusAlertWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionOverallSuccessRate: ").append(toIndentedString(institutionOverallSuccessRate)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionSupportedNetworks.java b/src/main/java/com/plaid/client/model/InstitutionSupportedNetworks.java new file mode 100644 index 0000000000..5ca6131c9b --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionSupportedNetworks.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferCapabilitiesGetRTP; +import com.plaid.client.model.TransferCapabilitiesGetRfP; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Contains the RTP and RfP network and types supported by the linked Item's institution. + */ +@ApiModel(description = "Contains the RTP and RfP network and types supported by the linked Item's institution.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionSupportedNetworks { + public static final String SERIALIZED_NAME_RTP = "rtp"; + @SerializedName(SERIALIZED_NAME_RTP) + private TransferCapabilitiesGetRTP rtp; + + public static final String SERIALIZED_NAME_RFP = "rfp"; + @SerializedName(SERIALIZED_NAME_RFP) + private TransferCapabilitiesGetRfP rfp; + + + public InstitutionSupportedNetworks rtp(TransferCapabilitiesGetRTP rtp) { + + this.rtp = rtp; + return this; + } + + /** + * Get rtp + * @return rtp + **/ + @ApiModelProperty(required = true, value = "") + + public TransferCapabilitiesGetRTP getRtp() { + return rtp; + } + + + public void setRtp(TransferCapabilitiesGetRTP rtp) { + this.rtp = rtp; + } + + + public InstitutionSupportedNetworks rfp(TransferCapabilitiesGetRfP rfp) { + + this.rfp = rfp; + return this; + } + + /** + * Get rfp + * @return rfp + **/ + @ApiModelProperty(required = true, value = "") + + public TransferCapabilitiesGetRfP getRfp() { + return rfp; + } + + + public void setRfp(TransferCapabilitiesGetRfP rfp) { + this.rfp = rfp; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionSupportedNetworks institutionSupportedNetworks = (InstitutionSupportedNetworks) o; + return Objects.equals(this.rtp, institutionSupportedNetworks.rtp) && + Objects.equals(this.rfp, institutionSupportedNetworks.rfp); + } + + @Override + public int hashCode() { + return Objects.hash(rtp, rfp); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionSupportedNetworks {\n"); + sb.append(" rtp: ").append(toIndentedString(rtp)).append("\n"); + sb.append(" rfp: ").append(toIndentedString(rfp)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionsGetByIdRequest.java b/src/main/java/com/plaid/client/model/InstitutionsGetByIdRequest.java new file mode 100644 index 0000000000..050e685ed5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionsGetByIdRequest.java @@ -0,0 +1,222 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CountryCode; +import com.plaid.client.model.InstitutionsGetByIdRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * InstitutionsGetByIdRequest defines the request schema for `/institutions/get_by_id` + */ +@ApiModel(description = "InstitutionsGetByIdRequest defines the request schema for `/institutions/get_by_id`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionsGetByIdRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_COUNTRY_CODES = "country_codes"; + @SerializedName(SERIALIZED_NAME_COUNTRY_CODES) + private List countryCodes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private InstitutionsGetByIdRequestOptions options; + + + public InstitutionsGetByIdRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public InstitutionsGetByIdRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public InstitutionsGetByIdRequest institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The ID of the institution to get details about + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The ID of the institution to get details about") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public InstitutionsGetByIdRequest countryCodes(List countryCodes) { + + this.countryCodes = countryCodes; + return this; + } + + public InstitutionsGetByIdRequest addCountryCodesItem(CountryCode countryCodesItem) { + this.countryCodes.add(countryCodesItem); + return this; + } + + /** + * Specify which country or countries to include institutions from, using the ISO-3166-1 alpha-2 country code standard. In API versions 2019-05-29 and earlier, the `country_codes` parameter is an optional parameter within the `options` object and will default to `[US]` if it is not supplied. + * @return countryCodes + **/ + @ApiModelProperty(required = true, value = "Specify which country or countries to include institutions from, using the ISO-3166-1 alpha-2 country code standard. In API versions 2019-05-29 and earlier, the `country_codes` parameter is an optional parameter within the `options` object and will default to `[US]` if it is not supplied. ") + + public List getCountryCodes() { + return countryCodes; + } + + + public void setCountryCodes(List countryCodes) { + this.countryCodes = countryCodes; + } + + + public InstitutionsGetByIdRequest options(InstitutionsGetByIdRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InstitutionsGetByIdRequestOptions getOptions() { + return options; + } + + + public void setOptions(InstitutionsGetByIdRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionsGetByIdRequest institutionsGetByIdRequest = (InstitutionsGetByIdRequest) o; + return Objects.equals(this.clientId, institutionsGetByIdRequest.clientId) && + Objects.equals(this.secret, institutionsGetByIdRequest.secret) && + Objects.equals(this.institutionId, institutionsGetByIdRequest.institutionId) && + Objects.equals(this.countryCodes, institutionsGetByIdRequest.countryCodes) && + Objects.equals(this.options, institutionsGetByIdRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, institutionId, countryCodes, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionsGetByIdRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" countryCodes: ").append(toIndentedString(countryCodes)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionsGetByIdRequestOptions.java b/src/main/java/com/plaid/client/model/InstitutionsGetByIdRequestOptions.java new file mode 100644 index 0000000000..8d001d4012 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionsGetByIdRequestOptions.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies optional parameters for `/institutions/get_by_id`. If provided, must not be `null`. + */ +@ApiModel(description = "Specifies optional parameters for `/institutions/get_by_id`. If provided, must not be `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionsGetByIdRequestOptions { + public static final String SERIALIZED_NAME_INCLUDE_OPTIONAL_METADATA = "include_optional_metadata"; + @SerializedName(SERIALIZED_NAME_INCLUDE_OPTIONAL_METADATA) + private Boolean includeOptionalMetadata = false; + + public static final String SERIALIZED_NAME_INCLUDE_STATUS = "include_status"; + @SerializedName(SERIALIZED_NAME_INCLUDE_STATUS) + private Boolean includeStatus = false; + + public static final String SERIALIZED_NAME_INCLUDE_AUTH_METADATA = "include_auth_metadata"; + @SerializedName(SERIALIZED_NAME_INCLUDE_AUTH_METADATA) + private Boolean includeAuthMetadata = false; + + public static final String SERIALIZED_NAME_INCLUDE_PAYMENT_INITIATION_METADATA = "include_payment_initiation_metadata"; + @SerializedName(SERIALIZED_NAME_INCLUDE_PAYMENT_INITIATION_METADATA) + private Boolean includePaymentInitiationMetadata = false; + + + public InstitutionsGetByIdRequestOptions includeOptionalMetadata(Boolean includeOptionalMetadata) { + + this.includeOptionalMetadata = includeOptionalMetadata; + return this; + } + + /** + * When `true`, return an institution's logo, brand color, and URL. When available, the bank's logo is returned as a base64 encoded 152x152 PNG, the brand color is in hexadecimal format. The default value is `false`. Note that Plaid does not own any of the logos shared by the API and that by accessing or using these logos, you agree that you are doing so at your own risk and will, if necessary, obtain all required permissions from the appropriate rights holders and adhere to any applicable usage guidelines. Plaid disclaims all express or implied warranties with respect to the logos. + * @return includeOptionalMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, return an institution's logo, brand color, and URL. When available, the bank's logo is returned as a base64 encoded 152x152 PNG, the brand color is in hexadecimal format. The default value is `false`. Note that Plaid does not own any of the logos shared by the API and that by accessing or using these logos, you agree that you are doing so at your own risk and will, if necessary, obtain all required permissions from the appropriate rights holders and adhere to any applicable usage guidelines. Plaid disclaims all express or implied warranties with respect to the logos.") + + public Boolean getIncludeOptionalMetadata() { + return includeOptionalMetadata; + } + + + public void setIncludeOptionalMetadata(Boolean includeOptionalMetadata) { + this.includeOptionalMetadata = includeOptionalMetadata; + } + + + public InstitutionsGetByIdRequestOptions includeStatus(Boolean includeStatus) { + + this.includeStatus = includeStatus; + return this; + } + + /** + * If `true`, the response will include status information about the institution. Default value is `false`. + * @return includeStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, the response will include status information about the institution. Default value is `false`.") + + public Boolean getIncludeStatus() { + return includeStatus; + } + + + public void setIncludeStatus(Boolean includeStatus) { + this.includeStatus = includeStatus; + } + + + public InstitutionsGetByIdRequestOptions includeAuthMetadata(Boolean includeAuthMetadata) { + + this.includeAuthMetadata = includeAuthMetadata; + return this; + } + + /** + * When `true`, returns metadata related to the Auth product indicating which auth methods are supported. + * @return includeAuthMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, returns metadata related to the Auth product indicating which auth methods are supported.") + + public Boolean getIncludeAuthMetadata() { + return includeAuthMetadata; + } + + + public void setIncludeAuthMetadata(Boolean includeAuthMetadata) { + this.includeAuthMetadata = includeAuthMetadata; + } + + + public InstitutionsGetByIdRequestOptions includePaymentInitiationMetadata(Boolean includePaymentInitiationMetadata) { + + this.includePaymentInitiationMetadata = includePaymentInitiationMetadata; + return this; + } + + /** + * When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported. + * @return includePaymentInitiationMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported.") + + public Boolean getIncludePaymentInitiationMetadata() { + return includePaymentInitiationMetadata; + } + + + public void setIncludePaymentInitiationMetadata(Boolean includePaymentInitiationMetadata) { + this.includePaymentInitiationMetadata = includePaymentInitiationMetadata; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionsGetByIdRequestOptions institutionsGetByIdRequestOptions = (InstitutionsGetByIdRequestOptions) o; + return Objects.equals(this.includeOptionalMetadata, institutionsGetByIdRequestOptions.includeOptionalMetadata) && + Objects.equals(this.includeStatus, institutionsGetByIdRequestOptions.includeStatus) && + Objects.equals(this.includeAuthMetadata, institutionsGetByIdRequestOptions.includeAuthMetadata) && + Objects.equals(this.includePaymentInitiationMetadata, institutionsGetByIdRequestOptions.includePaymentInitiationMetadata); + } + + @Override + public int hashCode() { + return Objects.hash(includeOptionalMetadata, includeStatus, includeAuthMetadata, includePaymentInitiationMetadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionsGetByIdRequestOptions {\n"); + sb.append(" includeOptionalMetadata: ").append(toIndentedString(includeOptionalMetadata)).append("\n"); + sb.append(" includeStatus: ").append(toIndentedString(includeStatus)).append("\n"); + sb.append(" includeAuthMetadata: ").append(toIndentedString(includeAuthMetadata)).append("\n"); + sb.append(" includePaymentInitiationMetadata: ").append(toIndentedString(includePaymentInitiationMetadata)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionsGetByIdResponse.java b/src/main/java/com/plaid/client/model/InstitutionsGetByIdResponse.java new file mode 100644 index 0000000000..67a9f30469 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionsGetByIdResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Institution; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * InstitutionsGetByIdResponse defines the response schema for `/institutions/get_by_id` + */ +@ApiModel(description = "InstitutionsGetByIdResponse defines the response schema for `/institutions/get_by_id`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionsGetByIdResponse { + public static final String SERIALIZED_NAME_INSTITUTION = "institution"; + @SerializedName(SERIALIZED_NAME_INSTITUTION) + private Institution institution; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public InstitutionsGetByIdResponse institution(Institution institution) { + + this.institution = institution; + return this; + } + + /** + * Get institution + * @return institution + **/ + @ApiModelProperty(required = true, value = "") + + public Institution getInstitution() { + return institution; + } + + + public void setInstitution(Institution institution) { + this.institution = institution; + } + + + public InstitutionsGetByIdResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionsGetByIdResponse institutionsGetByIdResponse = (InstitutionsGetByIdResponse) o; + return Objects.equals(this.institution, institutionsGetByIdResponse.institution) && + Objects.equals(this.requestId, institutionsGetByIdResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(institution, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionsGetByIdResponse {\n"); + sb.append(" institution: ").append(toIndentedString(institution)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionsGetRequest.java b/src/main/java/com/plaid/client/model/InstitutionsGetRequest.java new file mode 100644 index 0000000000..677f89dd39 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionsGetRequest.java @@ -0,0 +1,253 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CountryCode; +import com.plaid.client.model.InstitutionsGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * InstitutionsGetRequest defines the request schema for `/institutions/get` + */ +@ApiModel(description = "InstitutionsGetRequest defines the request schema for `/institutions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset; + + public static final String SERIALIZED_NAME_COUNTRY_CODES = "country_codes"; + @SerializedName(SERIALIZED_NAME_COUNTRY_CODES) + private List countryCodes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private InstitutionsGetRequestOptions options; + + + public InstitutionsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public InstitutionsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public InstitutionsGetRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The total number of Institutions to return. + * minimum: 1 + * maximum: 500 + * @return count + **/ + @ApiModelProperty(required = true, value = "The total number of Institutions to return.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public InstitutionsGetRequest offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The number of Institutions to skip. + * minimum: 0 + * @return offset + **/ + @ApiModelProperty(required = true, value = "The number of Institutions to skip.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + public InstitutionsGetRequest countryCodes(List countryCodes) { + + this.countryCodes = countryCodes; + return this; + } + + public InstitutionsGetRequest addCountryCodesItem(CountryCode countryCodesItem) { + this.countryCodes.add(countryCodesItem); + return this; + } + + /** + * Specify which country or countries to include institutions from, using the ISO-3166-1 alpha-2 country code standard. In API versions 2019-05-29 and earlier, the `country_codes` parameter is an optional parameter within the `options` object and will default to `[US]` if it is not supplied. + * @return countryCodes + **/ + @ApiModelProperty(required = true, value = "Specify which country or countries to include institutions from, using the ISO-3166-1 alpha-2 country code standard. In API versions 2019-05-29 and earlier, the `country_codes` parameter is an optional parameter within the `options` object and will default to `[US]` if it is not supplied. ") + + public List getCountryCodes() { + return countryCodes; + } + + + public void setCountryCodes(List countryCodes) { + this.countryCodes = countryCodes; + } + + + public InstitutionsGetRequest options(InstitutionsGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InstitutionsGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(InstitutionsGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionsGetRequest institutionsGetRequest = (InstitutionsGetRequest) o; + return Objects.equals(this.clientId, institutionsGetRequest.clientId) && + Objects.equals(this.secret, institutionsGetRequest.secret) && + Objects.equals(this.count, institutionsGetRequest.count) && + Objects.equals(this.offset, institutionsGetRequest.offset) && + Objects.equals(this.countryCodes, institutionsGetRequest.countryCodes) && + Objects.equals(this.options, institutionsGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, count, offset, countryCodes, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append(" countryCodes: ").append(toIndentedString(countryCodes)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionsGetRequestOptions.java b/src/main/java/com/plaid/client/model/InstitutionsGetRequestOptions.java new file mode 100644 index 0000000000..3d66d0524f --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionsGetRequestOptions.java @@ -0,0 +1,263 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to filter `/institutions/get` results. + */ +@ApiModel(description = "An optional object to filter `/institutions/get` results.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionsGetRequestOptions { + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = null; + + public static final String SERIALIZED_NAME_ROUTING_NUMBERS = "routing_numbers"; + @SerializedName(SERIALIZED_NAME_ROUTING_NUMBERS) + private List routingNumbers = null; + + public static final String SERIALIZED_NAME_OAUTH = "oauth"; + @SerializedName(SERIALIZED_NAME_OAUTH) + private Boolean oauth; + + public static final String SERIALIZED_NAME_INCLUDE_OPTIONAL_METADATA = "include_optional_metadata"; + @SerializedName(SERIALIZED_NAME_INCLUDE_OPTIONAL_METADATA) + private Boolean includeOptionalMetadata; + + public static final String SERIALIZED_NAME_INCLUDE_AUTH_METADATA = "include_auth_metadata"; + @SerializedName(SERIALIZED_NAME_INCLUDE_AUTH_METADATA) + private Boolean includeAuthMetadata = false; + + public static final String SERIALIZED_NAME_INCLUDE_PAYMENT_INITIATION_METADATA = "include_payment_initiation_metadata"; + @SerializedName(SERIALIZED_NAME_INCLUDE_PAYMENT_INITIATION_METADATA) + private Boolean includePaymentInitiationMetadata = false; + + + public InstitutionsGetRequestOptions products(List products) { + + this.products = products; + return this; + } + + public InstitutionsGetRequestOptions addProductsItem(Products productsItem) { + if (this.products == null) { + this.products = new ArrayList<>(); + } + this.products.add(productsItem); + return this; + } + + /** + * Filter the Institutions based on which products they support. Will only return institutions that support all listed products. When filtering based on `auth`, an institution must support Instant Auth to match the criterion. To filter for Signal Transaction Scores support, use `balance`. To filter for Transfer support, use `auth`. + * @return products + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter the Institutions based on which products they support. Will only return institutions that support all listed products. When filtering based on `auth`, an institution must support Instant Auth to match the criterion. To filter for Signal Transaction Scores support, use `balance`. To filter for Transfer support, use `auth`.") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + public InstitutionsGetRequestOptions routingNumbers(List routingNumbers) { + + this.routingNumbers = routingNumbers; + return this; + } + + public InstitutionsGetRequestOptions addRoutingNumbersItem(String routingNumbersItem) { + if (this.routingNumbers == null) { + this.routingNumbers = new ArrayList<>(); + } + this.routingNumbers.add(routingNumbersItem); + return this; + } + + /** + * Specify an array of routing numbers to filter institutions. The response will only return institutions that match all of the routing numbers in the array. Routing number records used for this matching are generally comprehensive; however, failure to match a given routing number to an institution does not necessarily mean that the institution is unsupported by Plaid. Invalid routing numbers (numbers that are not 9 digits in length or do not have a valid checksum) will be filtered from the array before the response is processed. If all provided routing numbers are invalid, an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned. + * @return routingNumbers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify an array of routing numbers to filter institutions. The response will only return institutions that match all of the routing numbers in the array. Routing number records used for this matching are generally comprehensive; however, failure to match a given routing number to an institution does not necessarily mean that the institution is unsupported by Plaid. Invalid routing numbers (numbers that are not 9 digits in length or do not have a valid checksum) will be filtered from the array before the response is processed. If all provided routing numbers are invalid, an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned.") + + public List getRoutingNumbers() { + return routingNumbers; + } + + + public void setRoutingNumbers(List routingNumbers) { + this.routingNumbers = routingNumbers; + } + + + public InstitutionsGetRequestOptions oauth(Boolean oauth) { + + this.oauth = oauth; + return this; + } + + /** + * Limit results to institutions with or without OAuth login flows. Note that institutions will have `oauth` set to `true` if some Items associated with that institution are required to use OAuth flows; institutions in a state of migration to OAuth will have the `oauth` attribute set to `true`. + * @return oauth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Limit results to institutions with or without OAuth login flows. Note that institutions will have `oauth` set to `true` if some Items associated with that institution are required to use OAuth flows; institutions in a state of migration to OAuth will have the `oauth` attribute set to `true`.") + + public Boolean getOauth() { + return oauth; + } + + + public void setOauth(Boolean oauth) { + this.oauth = oauth; + } + + + public InstitutionsGetRequestOptions includeOptionalMetadata(Boolean includeOptionalMetadata) { + + this.includeOptionalMetadata = includeOptionalMetadata; + return this; + } + + /** + * When `true`, return the institution's homepage URL, logo and primary brand color. Not all institutions' logos are available. Note that Plaid does not own any of the logos shared by the API, and that by accessing or using these logos, you agree that you are doing so at your own risk and will, if necessary, obtain all required permissions from the appropriate rights holders and adhere to any applicable usage guidelines. Plaid disclaims all express or implied warranties with respect to the logos. + * @return includeOptionalMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, return the institution's homepage URL, logo and primary brand color. Not all institutions' logos are available. Note that Plaid does not own any of the logos shared by the API, and that by accessing or using these logos, you agree that you are doing so at your own risk and will, if necessary, obtain all required permissions from the appropriate rights holders and adhere to any applicable usage guidelines. Plaid disclaims all express or implied warranties with respect to the logos.") + + public Boolean getIncludeOptionalMetadata() { + return includeOptionalMetadata; + } + + + public void setIncludeOptionalMetadata(Boolean includeOptionalMetadata) { + this.includeOptionalMetadata = includeOptionalMetadata; + } + + + public InstitutionsGetRequestOptions includeAuthMetadata(Boolean includeAuthMetadata) { + + this.includeAuthMetadata = includeAuthMetadata; + return this; + } + + /** + * When `true`, returns metadata related to the Auth product indicating which auth methods are supported. + * @return includeAuthMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, returns metadata related to the Auth product indicating which auth methods are supported.") + + public Boolean getIncludeAuthMetadata() { + return includeAuthMetadata; + } + + + public void setIncludeAuthMetadata(Boolean includeAuthMetadata) { + this.includeAuthMetadata = includeAuthMetadata; + } + + + public InstitutionsGetRequestOptions includePaymentInitiationMetadata(Boolean includePaymentInitiationMetadata) { + + this.includePaymentInitiationMetadata = includePaymentInitiationMetadata; + return this; + } + + /** + * When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported. + * @return includePaymentInitiationMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported.") + + public Boolean getIncludePaymentInitiationMetadata() { + return includePaymentInitiationMetadata; + } + + + public void setIncludePaymentInitiationMetadata(Boolean includePaymentInitiationMetadata) { + this.includePaymentInitiationMetadata = includePaymentInitiationMetadata; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionsGetRequestOptions institutionsGetRequestOptions = (InstitutionsGetRequestOptions) o; + return Objects.equals(this.products, institutionsGetRequestOptions.products) && + Objects.equals(this.routingNumbers, institutionsGetRequestOptions.routingNumbers) && + Objects.equals(this.oauth, institutionsGetRequestOptions.oauth) && + Objects.equals(this.includeOptionalMetadata, institutionsGetRequestOptions.includeOptionalMetadata) && + Objects.equals(this.includeAuthMetadata, institutionsGetRequestOptions.includeAuthMetadata) && + Objects.equals(this.includePaymentInitiationMetadata, institutionsGetRequestOptions.includePaymentInitiationMetadata); + } + + @Override + public int hashCode() { + return Objects.hash(products, routingNumbers, oauth, includeOptionalMetadata, includeAuthMetadata, includePaymentInitiationMetadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionsGetRequestOptions {\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append(" routingNumbers: ").append(toIndentedString(routingNumbers)).append("\n"); + sb.append(" oauth: ").append(toIndentedString(oauth)).append("\n"); + sb.append(" includeOptionalMetadata: ").append(toIndentedString(includeOptionalMetadata)).append("\n"); + sb.append(" includeAuthMetadata: ").append(toIndentedString(includeAuthMetadata)).append("\n"); + sb.append(" includePaymentInitiationMetadata: ").append(toIndentedString(includePaymentInitiationMetadata)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionsGetResponse.java b/src/main/java/com/plaid/client/model/InstitutionsGetResponse.java new file mode 100644 index 0000000000..9ac9906a06 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionsGetResponse.java @@ -0,0 +1,162 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Institution; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * InstitutionsGetResponse defines the response schema for `/institutions/get` + */ +@ApiModel(description = "InstitutionsGetResponse defines the response schema for `/institutions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionsGetResponse { + public static final String SERIALIZED_NAME_INSTITUTIONS = "institutions"; + @SerializedName(SERIALIZED_NAME_INSTITUTIONS) + private List institutions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TOTAL = "total"; + @SerializedName(SERIALIZED_NAME_TOTAL) + private Integer total; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public InstitutionsGetResponse institutions(List institutions) { + + this.institutions = institutions; + return this; + } + + public InstitutionsGetResponse addInstitutionsItem(Institution institutionsItem) { + this.institutions.add(institutionsItem); + return this; + } + + /** + * A list of Plaid institutions + * @return institutions + **/ + @ApiModelProperty(required = true, value = "A list of Plaid institutions") + + public List getInstitutions() { + return institutions; + } + + + public void setInstitutions(List institutions) { + this.institutions = institutions; + } + + + public InstitutionsGetResponse total(Integer total) { + + this.total = total; + return this; + } + + /** + * The total number of institutions available via this endpoint + * @return total + **/ + @ApiModelProperty(required = true, value = "The total number of institutions available via this endpoint") + + public Integer getTotal() { + return total; + } + + + public void setTotal(Integer total) { + this.total = total; + } + + + public InstitutionsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionsGetResponse institutionsGetResponse = (InstitutionsGetResponse) o; + return Objects.equals(this.institutions, institutionsGetResponse.institutions) && + Objects.equals(this.total, institutionsGetResponse.total) && + Objects.equals(this.requestId, institutionsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(institutions, total, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionsGetResponse {\n"); + sb.append(" institutions: ").append(toIndentedString(institutions)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionsSearchAccountFilter.java b/src/main/java/com/plaid/client/model/InstitutionsSearchAccountFilter.java new file mode 100644 index 0000000000..c9387b134b --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionsSearchAccountFilter.java @@ -0,0 +1,221 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountSubtype; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An account filter to apply to institutions search requests + */ +@ApiModel(description = "An account filter to apply to institutions search requests") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionsSearchAccountFilter { + public static final String SERIALIZED_NAME_LOAN = "loan"; + @SerializedName(SERIALIZED_NAME_LOAN) + private List loan = null; + + public static final String SERIALIZED_NAME_DEPOSITORY = "depository"; + @SerializedName(SERIALIZED_NAME_DEPOSITORY) + private List depository = null; + + public static final String SERIALIZED_NAME_CREDIT = "credit"; + @SerializedName(SERIALIZED_NAME_CREDIT) + private List credit = null; + + public static final String SERIALIZED_NAME_INVESTMENT = "investment"; + @SerializedName(SERIALIZED_NAME_INVESTMENT) + private List investment = null; + + + public InstitutionsSearchAccountFilter loan(List loan) { + + this.loan = loan; + return this; + } + + public InstitutionsSearchAccountFilter addLoanItem(AccountSubtype loanItem) { + if (this.loan == null) { + this.loan = new ArrayList<>(); + } + this.loan.add(loanItem); + return this; + } + + /** + * Get loan + * @return loan + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getLoan() { + return loan; + } + + + public void setLoan(List loan) { + this.loan = loan; + } + + + public InstitutionsSearchAccountFilter depository(List depository) { + + this.depository = depository; + return this; + } + + public InstitutionsSearchAccountFilter addDepositoryItem(AccountSubtype depositoryItem) { + if (this.depository == null) { + this.depository = new ArrayList<>(); + } + this.depository.add(depositoryItem); + return this; + } + + /** + * Get depository + * @return depository + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getDepository() { + return depository; + } + + + public void setDepository(List depository) { + this.depository = depository; + } + + + public InstitutionsSearchAccountFilter credit(List credit) { + + this.credit = credit; + return this; + } + + public InstitutionsSearchAccountFilter addCreditItem(AccountSubtype creditItem) { + if (this.credit == null) { + this.credit = new ArrayList<>(); + } + this.credit.add(creditItem); + return this; + } + + /** + * Get credit + * @return credit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getCredit() { + return credit; + } + + + public void setCredit(List credit) { + this.credit = credit; + } + + + public InstitutionsSearchAccountFilter investment(List investment) { + + this.investment = investment; + return this; + } + + public InstitutionsSearchAccountFilter addInvestmentItem(AccountSubtype investmentItem) { + if (this.investment == null) { + this.investment = new ArrayList<>(); + } + this.investment.add(investmentItem); + return this; + } + + /** + * Get investment + * @return investment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getInvestment() { + return investment; + } + + + public void setInvestment(List investment) { + this.investment = investment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionsSearchAccountFilter institutionsSearchAccountFilter = (InstitutionsSearchAccountFilter) o; + return Objects.equals(this.loan, institutionsSearchAccountFilter.loan) && + Objects.equals(this.depository, institutionsSearchAccountFilter.depository) && + Objects.equals(this.credit, institutionsSearchAccountFilter.credit) && + Objects.equals(this.investment, institutionsSearchAccountFilter.investment); + } + + @Override + public int hashCode() { + return Objects.hash(loan, depository, credit, investment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionsSearchAccountFilter {\n"); + sb.append(" loan: ").append(toIndentedString(loan)).append("\n"); + sb.append(" depository: ").append(toIndentedString(depository)).append("\n"); + sb.append(" credit: ").append(toIndentedString(credit)).append("\n"); + sb.append(" investment: ").append(toIndentedString(investment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionsSearchPaymentInitiationOptions.java b/src/main/java/com/plaid/client/model/InstitutionsSearchPaymentInitiationOptions.java new file mode 100644 index 0000000000..7055dd1772 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionsSearchPaymentInitiationOptions.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Additional options that will be used to filter institutions by various Payment Initiation configurations. + */ +@ApiModel(description = "Additional options that will be used to filter institutions by various Payment Initiation configurations.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionsSearchPaymentInitiationOptions { + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + + public InstitutionsSearchPaymentInitiationOptions paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * A unique ID identifying the payment + * @return paymentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique ID identifying the payment") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + public InstitutionsSearchPaymentInitiationOptions consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * A unique ID identifying the payment consent + * @return consentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique ID identifying the payment consent") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionsSearchPaymentInitiationOptions institutionsSearchPaymentInitiationOptions = (InstitutionsSearchPaymentInitiationOptions) o; + return Objects.equals(this.paymentId, institutionsSearchPaymentInitiationOptions.paymentId) && + Objects.equals(this.consentId, institutionsSearchPaymentInitiationOptions.consentId); + } + + @Override + public int hashCode() { + return Objects.hash(paymentId, consentId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionsSearchPaymentInitiationOptions {\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionsSearchRequest.java b/src/main/java/com/plaid/client/model/InstitutionsSearchRequest.java new file mode 100644 index 0000000000..f6e87ad7ca --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionsSearchRequest.java @@ -0,0 +1,260 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CountryCode; +import com.plaid.client.model.InstitutionsSearchRequestOptions; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * InstitutionsSearchRequest defines the request schema for `/institutions/search` + */ +@ApiModel(description = "InstitutionsSearchRequest defines the request schema for `/institutions/search`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionsSearchRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_QUERY = "query"; + @SerializedName(SERIALIZED_NAME_QUERY) + private String query; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = null; + + public static final String SERIALIZED_NAME_COUNTRY_CODES = "country_codes"; + @SerializedName(SERIALIZED_NAME_COUNTRY_CODES) + private List countryCodes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private InstitutionsSearchRequestOptions options; + + + public InstitutionsSearchRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public InstitutionsSearchRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public InstitutionsSearchRequest query(String query) { + + this.query = query; + return this; + } + + /** + * The search query. Institutions with names matching the query are returned + * @return query + **/ + @ApiModelProperty(required = true, value = "The search query. Institutions with names matching the query are returned") + + public String getQuery() { + return query; + } + + + public void setQuery(String query) { + this.query = query; + } + + + public InstitutionsSearchRequest products(List products) { + + this.products = products; + return this; + } + + public InstitutionsSearchRequest addProductsItem(Products productsItem) { + if (this.products == null) { + this.products = new ArrayList<>(); + } + this.products.add(productsItem); + return this; + } + + /** + * Filter the Institutions based on whether they support all products listed in `products`. Provide `null` to get institutions regardless of supported products. Note that when `auth` is specified as a product, if you are enabled for Instant Match or Automated Micro-deposits, institutions that support those products will be returned even if `auth` is not present in their product array. To search for Transfer support, use `auth`; to search for Signal Transaction Scores support, use `balance`. + * @return products + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter the Institutions based on whether they support all products listed in `products`. Provide `null` to get institutions regardless of supported products. Note that when `auth` is specified as a product, if you are enabled for Instant Match or Automated Micro-deposits, institutions that support those products will be returned even if `auth` is not present in their product array. To search for Transfer support, use `auth`; to search for Signal Transaction Scores support, use `balance`.") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + public InstitutionsSearchRequest countryCodes(List countryCodes) { + + this.countryCodes = countryCodes; + return this; + } + + public InstitutionsSearchRequest addCountryCodesItem(CountryCode countryCodesItem) { + this.countryCodes.add(countryCodesItem); + return this; + } + + /** + * Specify which country or countries to include institutions from, using the ISO-3166-1 alpha-2 country code standard. In API versions 2019-05-29 and earlier, the `country_codes` parameter is an optional parameter within the `options` object and will default to `[US]` if it is not supplied. + * @return countryCodes + **/ + @ApiModelProperty(required = true, value = "Specify which country or countries to include institutions from, using the ISO-3166-1 alpha-2 country code standard. In API versions 2019-05-29 and earlier, the `country_codes` parameter is an optional parameter within the `options` object and will default to `[US]` if it is not supplied. ") + + public List getCountryCodes() { + return countryCodes; + } + + + public void setCountryCodes(List countryCodes) { + this.countryCodes = countryCodes; + } + + + public InstitutionsSearchRequest options(InstitutionsSearchRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InstitutionsSearchRequestOptions getOptions() { + return options; + } + + + public void setOptions(InstitutionsSearchRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionsSearchRequest institutionsSearchRequest = (InstitutionsSearchRequest) o; + return Objects.equals(this.clientId, institutionsSearchRequest.clientId) && + Objects.equals(this.secret, institutionsSearchRequest.secret) && + Objects.equals(this.query, institutionsSearchRequest.query) && + Objects.equals(this.products, institutionsSearchRequest.products) && + Objects.equals(this.countryCodes, institutionsSearchRequest.countryCodes) && + Objects.equals(this.options, institutionsSearchRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, query, products, countryCodes, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionsSearchRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" query: ").append(toIndentedString(query)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append(" countryCodes: ").append(toIndentedString(countryCodes)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionsSearchRequestOptions.java b/src/main/java/com/plaid/client/model/InstitutionsSearchRequestOptions.java new file mode 100644 index 0000000000..659de10b2d --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionsSearchRequestOptions.java @@ -0,0 +1,216 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InstitutionsSearchPaymentInitiationOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional object to filter `/institutions/search` results. + */ +@ApiModel(description = "An optional object to filter `/institutions/search` results.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionsSearchRequestOptions { + public static final String SERIALIZED_NAME_OAUTH = "oauth"; + @SerializedName(SERIALIZED_NAME_OAUTH) + private Boolean oauth; + + public static final String SERIALIZED_NAME_INCLUDE_OPTIONAL_METADATA = "include_optional_metadata"; + @SerializedName(SERIALIZED_NAME_INCLUDE_OPTIONAL_METADATA) + private Boolean includeOptionalMetadata; + + public static final String SERIALIZED_NAME_INCLUDE_AUTH_METADATA = "include_auth_metadata"; + @SerializedName(SERIALIZED_NAME_INCLUDE_AUTH_METADATA) + private Boolean includeAuthMetadata = false; + + public static final String SERIALIZED_NAME_INCLUDE_PAYMENT_INITIATION_METADATA = "include_payment_initiation_metadata"; + @SerializedName(SERIALIZED_NAME_INCLUDE_PAYMENT_INITIATION_METADATA) + private Boolean includePaymentInitiationMetadata = false; + + public static final String SERIALIZED_NAME_PAYMENT_INITIATION = "payment_initiation"; + @SerializedName(SERIALIZED_NAME_PAYMENT_INITIATION) + private InstitutionsSearchPaymentInitiationOptions paymentInitiation; + + + public InstitutionsSearchRequestOptions oauth(Boolean oauth) { + + this.oauth = oauth; + return this; + } + + /** + * Limit results to institutions with or without OAuth login flows. Note that institutions will have `oauth` set to `true` if some Items associated with that institution are required to use OAuth flows; institutions in a state of migration to OAuth will have the `oauth` attribute set to `true`. + * @return oauth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Limit results to institutions with or without OAuth login flows. Note that institutions will have `oauth` set to `true` if some Items associated with that institution are required to use OAuth flows; institutions in a state of migration to OAuth will have the `oauth` attribute set to `true`.") + + public Boolean getOauth() { + return oauth; + } + + + public void setOauth(Boolean oauth) { + this.oauth = oauth; + } + + + public InstitutionsSearchRequestOptions includeOptionalMetadata(Boolean includeOptionalMetadata) { + + this.includeOptionalMetadata = includeOptionalMetadata; + return this; + } + + /** + * When true, return the institution's homepage URL, logo and primary brand color. + * @return includeOptionalMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When true, return the institution's homepage URL, logo and primary brand color.") + + public Boolean getIncludeOptionalMetadata() { + return includeOptionalMetadata; + } + + + public void setIncludeOptionalMetadata(Boolean includeOptionalMetadata) { + this.includeOptionalMetadata = includeOptionalMetadata; + } + + + public InstitutionsSearchRequestOptions includeAuthMetadata(Boolean includeAuthMetadata) { + + this.includeAuthMetadata = includeAuthMetadata; + return this; + } + + /** + * When `true`, returns metadata related to the Auth product indicating which auth methods are supported. + * @return includeAuthMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, returns metadata related to the Auth product indicating which auth methods are supported.") + + public Boolean getIncludeAuthMetadata() { + return includeAuthMetadata; + } + + + public void setIncludeAuthMetadata(Boolean includeAuthMetadata) { + this.includeAuthMetadata = includeAuthMetadata; + } + + + public InstitutionsSearchRequestOptions includePaymentInitiationMetadata(Boolean includePaymentInitiationMetadata) { + + this.includePaymentInitiationMetadata = includePaymentInitiationMetadata; + return this; + } + + /** + * When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported. + * @return includePaymentInitiationMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported.") + + public Boolean getIncludePaymentInitiationMetadata() { + return includePaymentInitiationMetadata; + } + + + public void setIncludePaymentInitiationMetadata(Boolean includePaymentInitiationMetadata) { + this.includePaymentInitiationMetadata = includePaymentInitiationMetadata; + } + + + public InstitutionsSearchRequestOptions paymentInitiation(InstitutionsSearchPaymentInitiationOptions paymentInitiation) { + + this.paymentInitiation = paymentInitiation; + return this; + } + + /** + * Get paymentInitiation + * @return paymentInitiation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InstitutionsSearchPaymentInitiationOptions getPaymentInitiation() { + return paymentInitiation; + } + + + public void setPaymentInitiation(InstitutionsSearchPaymentInitiationOptions paymentInitiation) { + this.paymentInitiation = paymentInitiation; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionsSearchRequestOptions institutionsSearchRequestOptions = (InstitutionsSearchRequestOptions) o; + return Objects.equals(this.oauth, institutionsSearchRequestOptions.oauth) && + Objects.equals(this.includeOptionalMetadata, institutionsSearchRequestOptions.includeOptionalMetadata) && + Objects.equals(this.includeAuthMetadata, institutionsSearchRequestOptions.includeAuthMetadata) && + Objects.equals(this.includePaymentInitiationMetadata, institutionsSearchRequestOptions.includePaymentInitiationMetadata) && + Objects.equals(this.paymentInitiation, institutionsSearchRequestOptions.paymentInitiation); + } + + @Override + public int hashCode() { + return Objects.hash(oauth, includeOptionalMetadata, includeAuthMetadata, includePaymentInitiationMetadata, paymentInitiation); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionsSearchRequestOptions {\n"); + sb.append(" oauth: ").append(toIndentedString(oauth)).append("\n"); + sb.append(" includeOptionalMetadata: ").append(toIndentedString(includeOptionalMetadata)).append("\n"); + sb.append(" includeAuthMetadata: ").append(toIndentedString(includeAuthMetadata)).append("\n"); + sb.append(" includePaymentInitiationMetadata: ").append(toIndentedString(includePaymentInitiationMetadata)).append("\n"); + sb.append(" paymentInitiation: ").append(toIndentedString(paymentInitiation)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InstitutionsSearchResponse.java b/src/main/java/com/plaid/client/model/InstitutionsSearchResponse.java new file mode 100644 index 0000000000..6da47570ce --- /dev/null +++ b/src/main/java/com/plaid/client/model/InstitutionsSearchResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Institution; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * InstitutionsSearchResponse defines the response schema for `/institutions/search` + */ +@ApiModel(description = "InstitutionsSearchResponse defines the response schema for `/institutions/search`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InstitutionsSearchResponse { + public static final String SERIALIZED_NAME_INSTITUTIONS = "institutions"; + @SerializedName(SERIALIZED_NAME_INSTITUTIONS) + private List institutions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public InstitutionsSearchResponse institutions(List institutions) { + + this.institutions = institutions; + return this; + } + + public InstitutionsSearchResponse addInstitutionsItem(Institution institutionsItem) { + this.institutions.add(institutionsItem); + return this; + } + + /** + * An array of institutions matching the search criteria + * @return institutions + **/ + @ApiModelProperty(required = true, value = "An array of institutions matching the search criteria") + + public List getInstitutions() { + return institutions; + } + + + public void setInstitutions(List institutions) { + this.institutions = institutions; + } + + + public InstitutionsSearchResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstitutionsSearchResponse institutionsSearchResponse = (InstitutionsSearchResponse) o; + return Objects.equals(this.institutions, institutionsSearchResponse.institutions) && + Objects.equals(this.requestId, institutionsSearchResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(institutions, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstitutionsSearchResponse {\n"); + sb.append(" institutions: ").append(toIndentedString(institutions)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentAccount.java b/src/main/java/com/plaid/client/model/InvestmentAccount.java new file mode 100644 index 0000000000..1a018bce83 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentAccount.java @@ -0,0 +1,486 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.AccountHolderCategory; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.AccountVerificationInsights; +import com.plaid.client.model.InvestmentAccountAllOf; +import com.plaid.client.model.InvestmentAccountBalance; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A single account at a financial institution, with additional investment-specific balance information. + */ +@ApiModel(description = "A single account at a financial institution, with additional investment-specific balance information.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentAccount { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_BALANCES = "balances"; + @SerializedName(SERIALIZED_NAME_BALANCES) + private InvestmentAccountBalance balances; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + */ + @JsonAdapter(VerificationStatusEnum.Adapter.class) + public enum VerificationStatusEnum { + AUTOMATICALLY_VERIFIED("automatically_verified"), + + PENDING_AUTOMATIC_VERIFICATION("pending_automatic_verification"), + + PENDING_MANUAL_VERIFICATION("pending_manual_verification"), + + UNSENT("unsent"), + + MANUALLY_VERIFIED("manually_verified"), + + VERIFICATION_EXPIRED("verification_expired"), + + VERIFICATION_FAILED("verification_failed"), + + DATABASE_MATCHED("database_matched"), + + DATABASE_INSIGHTS_PASS("database_insights_pass"), + + DATABASE_INSIGHTS_PASS_WITH_CAUTION("database_insights_pass_with_caution"), + + DATABASE_INSIGHTS_FAIL("database_insights_fail"); + + private String value; + + VerificationStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static VerificationStatusEnum fromValue(String value) { + for (VerificationStatusEnum b : VerificationStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final VerificationStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public VerificationStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return VerificationStatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatusEnum verificationStatus; + + public static final String SERIALIZED_NAME_VERIFICATION_NAME = "verification_name"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_NAME) + private String verificationName; + + public static final String SERIALIZED_NAME_VERIFICATION_INSIGHTS = "verification_insights"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_INSIGHTS) + private AccountVerificationInsights verificationInsights; + + public static final String SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID = "persistent_account_id"; + @SerializedName(SERIALIZED_NAME_PERSISTENT_ACCOUNT_ID) + private String persistentAccountId; + + public static final String SERIALIZED_NAME_HOLDER_CATEGORY = "holder_category"; + @SerializedName(SERIALIZED_NAME_HOLDER_CATEGORY) + private AccountHolderCategory holderCategory; + + + public InvestmentAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. When using a CRA endpoint (an endpoint associated with Plaid Check Consumer Report, i.e. any endpoint beginning with `/cra/`), the `account_id` returned will not match the `account_id` returned by a non-CRA endpoint. Like all Plaid identifiers, the `account_id` is case sensitive.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public InvestmentAccount balances(InvestmentAccountBalance balances) { + + this.balances = balances; + return this; + } + + /** + * Get balances + * @return balances + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentAccountBalance getBalances() { + return balances; + } + + + public void setBalances(InvestmentAccountBalance balances) { + this.balances = balances; + } + + + public InvestmentAccount mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * Get mask + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public InvestmentAccount name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public InvestmentAccount officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * Get officialName + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public InvestmentAccount type(AccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AccountType getType() { + return type; + } + + + public void setType(AccountType type) { + this.type = type; + } + + + public InvestmentAccount subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public InvestmentAccount verificationStatus(VerificationStatusEnum verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + * @return verificationStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item.") + + public VerificationStatusEnum getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatusEnum verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + public InvestmentAccount verificationName(String verificationName) { + + this.verificationName = verificationName; + return this; + } + + /** + * Get verificationName + * @return verificationName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getVerificationName() { + return verificationName; + } + + + public void setVerificationName(String verificationName) { + this.verificationName = verificationName; + } + + + public InvestmentAccount verificationInsights(AccountVerificationInsights verificationInsights) { + + this.verificationInsights = verificationInsights; + return this; + } + + /** + * Get verificationInsights + * @return verificationInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountVerificationInsights getVerificationInsights() { + return verificationInsights; + } + + + public void setVerificationInsights(AccountVerificationInsights verificationInsights) { + this.verificationInsights = verificationInsights; + } + + + public InvestmentAccount persistentAccountId(String persistentAccountId) { + + this.persistentAccountId = persistentAccountId; + return this; + } + + /** + * A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions. + * @return persistentAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase, PNC, and US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (`ins_56`, `ins_13`, `ins_127990`) as well as the OAuth Sandbox institution (`ins_127287`); in Production, it will only be populated for accounts at applicable institutions.") + + public String getPersistentAccountId() { + return persistentAccountId; + } + + + public void setPersistentAccountId(String persistentAccountId) { + this.persistentAccountId = persistentAccountId; + } + + + public InvestmentAccount holderCategory(AccountHolderCategory holderCategory) { + + this.holderCategory = holderCategory; + return this; + } + + /** + * Get holderCategory + * @return holderCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountHolderCategory getHolderCategory() { + return holderCategory; + } + + + public void setHolderCategory(AccountHolderCategory holderCategory) { + this.holderCategory = holderCategory; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentAccount investmentAccount = (InvestmentAccount) o; + return Objects.equals(this.accountId, investmentAccount.accountId) && + Objects.equals(this.balances, investmentAccount.balances) && + Objects.equals(this.mask, investmentAccount.mask) && + Objects.equals(this.name, investmentAccount.name) && + Objects.equals(this.officialName, investmentAccount.officialName) && + Objects.equals(this.type, investmentAccount.type) && + Objects.equals(this.subtype, investmentAccount.subtype) && + Objects.equals(this.verificationStatus, investmentAccount.verificationStatus) && + Objects.equals(this.verificationName, investmentAccount.verificationName) && + Objects.equals(this.verificationInsights, investmentAccount.verificationInsights) && + Objects.equals(this.persistentAccountId, investmentAccount.persistentAccountId) && + Objects.equals(this.holderCategory, investmentAccount.holderCategory); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, balances, mask, name, officialName, type, subtype, verificationStatus, verificationName, verificationInsights, persistentAccountId, holderCategory); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentAccount {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" balances: ").append(toIndentedString(balances)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append(" verificationName: ").append(toIndentedString(verificationName)).append("\n"); + sb.append(" verificationInsights: ").append(toIndentedString(verificationInsights)).append("\n"); + sb.append(" persistentAccountId: ").append(toIndentedString(persistentAccountId)).append("\n"); + sb.append(" holderCategory: ").append(toIndentedString(holderCategory)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentAccountAllOf.java b/src/main/java/com/plaid/client/model/InvestmentAccountAllOf.java new file mode 100644 index 0000000000..59bc65d440 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentAccountAllOf.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentAccountBalance; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * InvestmentAccountAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentAccountAllOf { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_VERIFICATION_NAME = "verification_name"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_NAME) + private String verificationName; + + public static final String SERIALIZED_NAME_BALANCES = "balances"; + @SerializedName(SERIALIZED_NAME_BALANCES) + private InvestmentAccountBalance balances; + + + public InvestmentAccountAllOf name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public InvestmentAccountAllOf officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * Get officialName + * @return officialName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public InvestmentAccountAllOf mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * Get mask + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public InvestmentAccountAllOf verificationName(String verificationName) { + + this.verificationName = verificationName; + return this; + } + + /** + * Get verificationName + * @return verificationName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getVerificationName() { + return verificationName; + } + + + public void setVerificationName(String verificationName) { + this.verificationName = verificationName; + } + + + public InvestmentAccountAllOf balances(InvestmentAccountBalance balances) { + + this.balances = balances; + return this; + } + + /** + * Get balances + * @return balances + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentAccountBalance getBalances() { + return balances; + } + + + public void setBalances(InvestmentAccountBalance balances) { + this.balances = balances; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentAccountAllOf investmentAccountAllOf = (InvestmentAccountAllOf) o; + return Objects.equals(this.name, investmentAccountAllOf.name) && + Objects.equals(this.officialName, investmentAccountAllOf.officialName) && + Objects.equals(this.mask, investmentAccountAllOf.mask) && + Objects.equals(this.verificationName, investmentAccountAllOf.verificationName) && + Objects.equals(this.balances, investmentAccountAllOf.balances); + } + + @Override + public int hashCode() { + return Objects.hash(name, officialName, mask, verificationName, balances); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentAccountAllOf {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" verificationName: ").append(toIndentedString(verificationName)).append("\n"); + sb.append(" balances: ").append(toIndentedString(balances)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentAccountBalance.java b/src/main/java/com/plaid/client/model/InvestmentAccountBalance.java new file mode 100644 index 0000000000..a360b22a7c --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentAccountBalance.java @@ -0,0 +1,276 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBalance; +import com.plaid.client.model.InvestmentAccountBalanceAllOf; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * A set of fields describing the balance for an account, including margin loan information for investment accounts. + */ +@ApiModel(description = "A set of fields describing the balance for an account, including margin loan information for investment accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentAccountBalance { + public static final String SERIALIZED_NAME_AVAILABLE = "available"; + @SerializedName(SERIALIZED_NAME_AVAILABLE) + private Double available; + + public static final String SERIALIZED_NAME_CURRENT = "current"; + @SerializedName(SERIALIZED_NAME_CURRENT) + private Double current; + + public static final String SERIALIZED_NAME_LIMIT = "limit"; + @SerializedName(SERIALIZED_NAME_LIMIT) + private Double limit; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_LAST_UPDATED_DATETIME = "last_updated_datetime"; + @SerializedName(SERIALIZED_NAME_LAST_UPDATED_DATETIME) + private OffsetDateTime lastUpdatedDatetime; + + public static final String SERIALIZED_NAME_MARGIN_LOAN_AMOUNT = "margin_loan_amount"; + @SerializedName(SERIALIZED_NAME_MARGIN_LOAN_AMOUNT) + private Double marginLoanAmount; + + + public InvestmentAccountBalance available(Double available) { + + this.available = available; + return this; + } + + /** + * The amount of funds available to be withdrawn from the account, as determined by the financial institution. For `credit`-type accounts, the `available` balance typically equals the `limit` less the `current` balance, less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance typically equals the `current` balance less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance does not include the overdraft limit. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the `available` balance is the total cash available to withdraw as presented by the institution. Note that not all institutions calculate the `available` balance. In the event that `available` balance is unavailable, Plaid will return an `available` balance value of `null`. Available balance may be cached and is not guaranteed to be up-to-date in real-time unless the value was returned by `/accounts/balance/get`, or by `/signal/evaluate` with a Balance-only ruleset. If `current` is `null` this field is guaranteed not to be `null`, unless you have opted into enabling [limited-purpose checking accounts](https://plaid.com/docs/auth/#enabling-limited-purpose-checking-accounts-for-rent-or-mortgage), which always have `null` values for both `available` and `current` balance. + * @return available + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The amount of funds available to be withdrawn from the account, as determined by the financial institution. For `credit`-type accounts, the `available` balance typically equals the `limit` less the `current` balance, less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance typically equals the `current` balance less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance does not include the overdraft limit. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the `available` balance is the total cash available to withdraw as presented by the institution. Note that not all institutions calculate the `available` balance. In the event that `available` balance is unavailable, Plaid will return an `available` balance value of `null`. Available balance may be cached and is not guaranteed to be up-to-date in real-time unless the value was returned by `/accounts/balance/get`, or by `/signal/evaluate` with a Balance-only ruleset. If `current` is `null` this field is guaranteed not to be `null`, unless you have opted into enabling [limited-purpose checking accounts](https://plaid.com/docs/auth/#enabling-limited-purpose-checking-accounts-for-rent-or-mortgage), which always have `null` values for both `available` and `current` balance.") + + public Double getAvailable() { + return available; + } + + + public void setAvailable(Double available) { + this.available = available; + } + + + public InvestmentAccountBalance current(Double current) { + + this.current = current; + return this; + } + + /** + * The total amount of funds in or owed by the account. For `credit`-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder. For `loan`-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (`ins_116944`). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest. Similar to `credit`-type accounts, a positive balance is typically expected, while a negative amount indicates the lender owing the account holder. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the current balance is the total value of assets as presented by the institution. Note that balance information may be cached unless the value was returned by `/accounts/balance/get` or by `/signal/evaluate` with a Balance-only ruleset; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require real-time balance information, use the `available` balance as provided by `/accounts/balance/get` or `/signal/evaluate` called with a Balance-only `ruleset_key`. When returned by `/accounts/balance/get`, this field may be `null`. When this happens, `available` is guaranteed not to be `null`, unless you have opted into enabling [limited-purpose checking accounts](https://plaid.com/docs/auth/#enabling-limited-purpose-checking-accounts-for-rent-or-mortgage), which always have `null` values for both `available` and `current` balance. + * @return current + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total amount of funds in or owed by the account. For `credit`-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder. For `loan`-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (`ins_116944`). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest. Similar to `credit`-type accounts, a positive balance is typically expected, while a negative amount indicates the lender owing the account holder. For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the current balance is the total value of assets as presented by the institution. Note that balance information may be cached unless the value was returned by `/accounts/balance/get` or by `/signal/evaluate` with a Balance-only ruleset; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require real-time balance information, use the `available` balance as provided by `/accounts/balance/get` or `/signal/evaluate` called with a Balance-only `ruleset_key`. When returned by `/accounts/balance/get`, this field may be `null`. When this happens, `available` is guaranteed not to be `null`, unless you have opted into enabling [limited-purpose checking accounts](https://plaid.com/docs/auth/#enabling-limited-purpose-checking-accounts-for-rent-or-mortgage), which always have `null` values for both `available` and `current` balance.") + + public Double getCurrent() { + return current; + } + + + public void setCurrent(Double current) { + this.current = current; + } + + + public InvestmentAccountBalance limit(Double limit) { + + this.limit = limit; + return this; + } + + /** + * For `credit`-type accounts, this represents the credit limit. For `depository`-type accounts, this represents the pre-arranged overdraft limit, which is common for current (checking) accounts in Europe. In North America, this field is typically only available for `credit`-type accounts. + * @return limit + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "For `credit`-type accounts, this represents the credit limit. For `depository`-type accounts, this represents the pre-arranged overdraft limit, which is common for current (checking) accounts in Europe. In North America, this field is typically only available for `credit`-type accounts.") + + public Double getLimit() { + return limit; + } + + + public void setLimit(Double limit) { + this.limit = limit; + } + + + public InvestmentAccountBalance isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public InvestmentAccountBalance unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the balance. Always null if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the balance. Always null if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public InvestmentAccountBalance lastUpdatedDatetime(OffsetDateTime lastUpdatedDatetime) { + + this.lastUpdatedDatetime = lastUpdatedDatetime; + return this; + } + + /** + * Timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the last time the balance was updated. This field is returned only when the institution is `ins_128026` (Capital One). + * @return lastUpdatedDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the last time the balance was updated. This field is returned only when the institution is `ins_128026` (Capital One).") + + public OffsetDateTime getLastUpdatedDatetime() { + return lastUpdatedDatetime; + } + + + public void setLastUpdatedDatetime(OffsetDateTime lastUpdatedDatetime) { + this.lastUpdatedDatetime = lastUpdatedDatetime; + } + + + public InvestmentAccountBalance marginLoanAmount(Double marginLoanAmount) { + + this.marginLoanAmount = marginLoanAmount; + return this; + } + + /** + * The total amount of borrowed funds in the account, as determined by the financial institution. For investment-type accounts, the margin balance is the total value of borrowed assets in the account, as presented by the institution. This is commonly referred to as margin or a loan. + * @return marginLoanAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total amount of borrowed funds in the account, as determined by the financial institution. For investment-type accounts, the margin balance is the total value of borrowed assets in the account, as presented by the institution. This is commonly referred to as margin or a loan.") + + public Double getMarginLoanAmount() { + return marginLoanAmount; + } + + + public void setMarginLoanAmount(Double marginLoanAmount) { + this.marginLoanAmount = marginLoanAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentAccountBalance investmentAccountBalance = (InvestmentAccountBalance) o; + return Objects.equals(this.available, investmentAccountBalance.available) && + Objects.equals(this.current, investmentAccountBalance.current) && + Objects.equals(this.limit, investmentAccountBalance.limit) && + Objects.equals(this.isoCurrencyCode, investmentAccountBalance.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, investmentAccountBalance.unofficialCurrencyCode) && + Objects.equals(this.lastUpdatedDatetime, investmentAccountBalance.lastUpdatedDatetime) && + Objects.equals(this.marginLoanAmount, investmentAccountBalance.marginLoanAmount); + } + + @Override + public int hashCode() { + return Objects.hash(available, current, limit, isoCurrencyCode, unofficialCurrencyCode, lastUpdatedDatetime, marginLoanAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentAccountBalance {\n"); + sb.append(" available: ").append(toIndentedString(available)).append("\n"); + sb.append(" current: ").append(toIndentedString(current)).append("\n"); + sb.append(" limit: ").append(toIndentedString(limit)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" lastUpdatedDatetime: ").append(toIndentedString(lastUpdatedDatetime)).append("\n"); + sb.append(" marginLoanAmount: ").append(toIndentedString(marginLoanAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentAccountBalanceAllOf.java b/src/main/java/com/plaid/client/model/InvestmentAccountBalanceAllOf.java new file mode 100644 index 0000000000..1ae65fc7f6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentAccountBalanceAllOf.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * InvestmentAccountBalanceAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentAccountBalanceAllOf { + public static final String SERIALIZED_NAME_MARGIN_LOAN_AMOUNT = "margin_loan_amount"; + @SerializedName(SERIALIZED_NAME_MARGIN_LOAN_AMOUNT) + private Double marginLoanAmount; + + + public InvestmentAccountBalanceAllOf marginLoanAmount(Double marginLoanAmount) { + + this.marginLoanAmount = marginLoanAmount; + return this; + } + + /** + * The total amount of borrowed funds in the account, as determined by the financial institution. For investment-type accounts, the margin balance is the total value of borrowed assets in the account, as presented by the institution. This is commonly referred to as margin or a loan. + * @return marginLoanAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total amount of borrowed funds in the account, as determined by the financial institution. For investment-type accounts, the margin balance is the total value of borrowed assets in the account, as presented by the institution. This is commonly referred to as margin or a loan.") + + public Double getMarginLoanAmount() { + return marginLoanAmount; + } + + + public void setMarginLoanAmount(Double marginLoanAmount) { + this.marginLoanAmount = marginLoanAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentAccountBalanceAllOf investmentAccountBalanceAllOf = (InvestmentAccountBalanceAllOf) o; + return Objects.equals(this.marginLoanAmount, investmentAccountBalanceAllOf.marginLoanAmount); + } + + @Override + public int hashCode() { + return Objects.hash(marginLoanAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentAccountBalanceAllOf {\n"); + sb.append(" marginLoanAmount: ").append(toIndentedString(marginLoanAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentAccountSubtype.java b/src/main/java/com/plaid/client/model/InvestmentAccountSubtype.java new file mode 100644 index 0000000000..852e8f9c83 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentAccountSubtype.java @@ -0,0 +1,191 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Valid account subtypes for investment accounts. For a list containing descriptions of each subtype, see [Account schemas](https://plaid.com/docs/api/accounts/#StandaloneAccountType-investment). + */ +@JsonAdapter(InvestmentAccountSubtype.Adapter.class) +public enum InvestmentAccountSubtype { + + _529("529"), + + _401A("401a"), + + _401K("401k"), + + _403B("403B"), + + _457B("457b"), + + BROKERAGE("brokerage"), + + CASH_ISA("cash isa"), + + CRYPTO_EXCHANGE("crypto exchange"), + + EDUCATION_SAVINGS_ACCOUNT("education savings account"), + + FHSA("fhsa"), + + FIXED_ANNUITY("fixed annuity"), + + GIC("gic"), + + HEALTH_REIMBURSEMENT_ARRANGEMENT("health reimbursement arrangement"), + + HSA("hsa"), + + IRA("ira"), + + ISA("isa"), + + KEOGH("keogh"), + + LIF("lif"), + + LIFE_INSURANCE("life insurance"), + + LINE_OF_CREDIT("line of credit"), + + LIRA("lira"), + + LRIF("lrif"), + + LRSP("lrsp"), + + MUTUAL_FUND("mutual fund"), + + NON_CUSTODIAL_WALLET("non-custodial wallet"), + + NON_TAXABLE_BROKERAGE_ACCOUNT("non-taxable brokerage account"), + + OTHER("other"), + + OTHER_ANNUITY("other annuity"), + + OTHER_INSURANCE("other insurance"), + + PENSION("pension"), + + PRIF("prif"), + + PROFIT_SHARING_PLAN("profit sharing plan"), + + QSHR("qshr"), + + RDSP("rdsp"), + + RESP("resp"), + + RETIREMENT("retirement"), + + RLIF("rlif"), + + ROTH("roth"), + + ROTH_401K("roth 401k"), + + ROTH_403B("roth 403B"), + + ROTH_457B("roth 457b"), + + ROTH_PENSION("roth pension"), + + ROTH_PROFIT_SHARING_PLAN("roth profit sharing plan"), + + ROTH_THRIFT_SAVINGS_PLAN("roth thrift savings plan"), + + RRIF("rrif"), + + RRSP("rrsp"), + + SARSEP("sarsep"), + + SEP_IRA("sep ira"), + + SIMPLE_IRA("simple ira"), + + SIPP("sipp"), + + STOCK_PLAN("stock plan"), + + THRIFT_SAVINGS_PLAN("thrift savings plan"), + + TFSA("tfsa"), + + TRUST("trust"), + + UGMA("ugma"), + + UTMA("utma"), + + VARIABLE_ANNUITY("variable annuity"), + + ALL("all"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + InvestmentAccountSubtype(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static InvestmentAccountSubtype fromValue(String value) { + for (InvestmentAccountSubtype b : InvestmentAccountSubtype.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return InvestmentAccountSubtype.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final InvestmentAccountSubtype enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public InvestmentAccountSubtype read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return InvestmentAccountSubtype.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentFilter.java b/src/main/java/com/plaid/client/model/InvestmentFilter.java new file mode 100644 index 0000000000..c3ecc21907 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentFilter.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentAccountSubtype; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A filter to apply to `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier). + */ +@ApiModel(description = "A filter to apply to `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentFilter { + public static final String SERIALIZED_NAME_ACCOUNT_SUBTYPES = "account_subtypes"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SUBTYPES) + private List accountSubtypes = new ArrayList<>(); + + + public InvestmentFilter accountSubtypes(List accountSubtypes) { + + this.accountSubtypes = accountSubtypes; + return this; + } + + public InvestmentFilter addAccountSubtypesItem(InvestmentAccountSubtype accountSubtypesItem) { + this.accountSubtypes.add(accountSubtypesItem); + return this; + } + + /** + * An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountSubtypes + **/ + @ApiModelProperty(required = true, value = "An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ") + + public List getAccountSubtypes() { + return accountSubtypes; + } + + + public void setAccountSubtypes(List accountSubtypes) { + this.accountSubtypes = accountSubtypes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentFilter investmentFilter = (InvestmentFilter) o; + return Objects.equals(this.accountSubtypes, investmentFilter.accountSubtypes); + } + + @Override + public int hashCode() { + return Objects.hash(accountSubtypes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentFilter {\n"); + sb.append(" accountSubtypes: ").append(toIndentedString(accountSubtypes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentHoldingsGetRequestOptions.java b/src/main/java/com/plaid/client/model/InvestmentHoldingsGetRequestOptions.java new file mode 100644 index 0000000000..69f600e292 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentHoldingsGetRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to filter `/investments/holdings/get` results. If provided, must not be `null`. + */ +@ApiModel(description = "An optional object to filter `/investments/holdings/get` results. If provided, must not be `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentHoldingsGetRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + + public InvestmentHoldingsGetRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public InvestmentHoldingsGetRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * An array of `account_id`s to retrieve for the Item. An error will be returned if a provided `account_id` is not associated with the Item. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of `account_id`s to retrieve for the Item. An error will be returned if a provided `account_id` is not associated with the Item.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentHoldingsGetRequestOptions investmentHoldingsGetRequestOptions = (InvestmentHoldingsGetRequestOptions) o; + return Objects.equals(this.accountIds, investmentHoldingsGetRequestOptions.accountIds); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentHoldingsGetRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentTransaction.java b/src/main/java/com/plaid/client/model/InvestmentTransaction.java new file mode 100644 index 0000000000..a84c8f686a --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentTransaction.java @@ -0,0 +1,500 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentTransactionSubtype; +import com.plaid.client.model.InvestmentTransactionType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; + +/** + * A transaction within an investment account. + */ +@ApiModel(description = "A transaction within an investment account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentTransaction { + public static final String SERIALIZED_NAME_INVESTMENT_TRANSACTION_ID = "investment_transaction_id"; + @SerializedName(SERIALIZED_NAME_INVESTMENT_TRANSACTION_ID) + private String investmentTransactionId; + + public static final String SERIALIZED_NAME_CANCEL_TRANSACTION_ID = "cancel_transaction_id"; + @SerializedName(SERIALIZED_NAME_CANCEL_TRANSACTION_ID) + private String cancelTransactionId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_SECURITY_ID = "security_id"; + @SerializedName(SERIALIZED_NAME_SECURITY_ID) + private String securityId; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_TRANSACTION_DATETIME = "transaction_datetime"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_DATETIME) + private OffsetDateTime transactionDatetime; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_QUANTITY = "quantity"; + @SerializedName(SERIALIZED_NAME_QUANTITY) + private Double quantity; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_PRICE = "price"; + @SerializedName(SERIALIZED_NAME_PRICE) + private Double price; + + public static final String SERIALIZED_NAME_FEES = "fees"; + @SerializedName(SERIALIZED_NAME_FEES) + private Double fees; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private InvestmentTransactionType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private InvestmentTransactionSubtype subtype; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public InvestmentTransaction investmentTransactionId(String investmentTransactionId) { + + this.investmentTransactionId = investmentTransactionId; + return this; + } + + /** + * The ID of the Investment transaction, unique across all Plaid transactions. Like all Plaid identifiers, the `investment_transaction_id` is case sensitive. + * @return investmentTransactionId + **/ + @ApiModelProperty(required = true, value = "The ID of the Investment transaction, unique across all Plaid transactions. Like all Plaid identifiers, the `investment_transaction_id` is case sensitive.") + + public String getInvestmentTransactionId() { + return investmentTransactionId; + } + + + public void setInvestmentTransactionId(String investmentTransactionId) { + this.investmentTransactionId = investmentTransactionId; + } + + + public InvestmentTransaction cancelTransactionId(String cancelTransactionId) { + + this.cancelTransactionId = cancelTransactionId; + return this; + } + + /** + * A legacy field formerly used internally by Plaid to identify certain canceled transactions. + * @return cancelTransactionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A legacy field formerly used internally by Plaid to identify certain canceled transactions.") + + public String getCancelTransactionId() { + return cancelTransactionId; + } + + + public void setCancelTransactionId(String cancelTransactionId) { + this.cancelTransactionId = cancelTransactionId; + } + + + public InvestmentTransaction accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The `account_id` of the account against which this transaction posted. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The `account_id` of the account against which this transaction posted.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public InvestmentTransaction securityId(String securityId) { + + this.securityId = securityId; + return this; + } + + /** + * The `security_id` to which this transaction is related. + * @return securityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The `security_id` to which this transaction is related.") + + public String getSecurityId() { + return securityId; + } + + + public void setSecurityId(String securityId) { + this.securityId = securityId; + } + + + public InvestmentTransaction date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The [ISO 8601](https://wikipedia.org/wiki/ISO_8601) posting date for the transaction. This is typically the settlement date. + * @return date + **/ + @ApiModelProperty(required = true, value = "The [ISO 8601](https://wikipedia.org/wiki/ISO_8601) posting date for the transaction. This is typically the settlement date.") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public InvestmentTransaction transactionDatetime(OffsetDateTime transactionDatetime) { + + this.transactionDatetime = transactionDatetime; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) representing when the order type was initiated. This field is returned for select financial institutions and reflects the value provided by the institution. + * @return transactionDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) representing when the order type was initiated. This field is returned for select financial institutions and reflects the value provided by the institution.") + + public OffsetDateTime getTransactionDatetime() { + return transactionDatetime; + } + + + public void setTransactionDatetime(OffsetDateTime transactionDatetime) { + this.transactionDatetime = transactionDatetime; + } + + + public InvestmentTransaction name(String name) { + + this.name = name; + return this; + } + + /** + * The institution's description of the transaction. + * @return name + **/ + @ApiModelProperty(required = true, value = "The institution's description of the transaction.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public InvestmentTransaction quantity(Double quantity) { + + this.quantity = quantity; + return this; + } + + /** + * The number of units of the security involved in this transaction. Positive for buy transactions; negative for sell transactions. + * @return quantity + **/ + @ApiModelProperty(required = true, value = "The number of units of the security involved in this transaction. Positive for buy transactions; negative for sell transactions.") + + public Double getQuantity() { + return quantity; + } + + + public void setQuantity(Double quantity) { + this.quantity = quantity; + } + + + public InvestmentTransaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The complete value of the transaction. Positive values when cash is debited, e.g. purchases of stock; negative values when cash is credited, e.g. sales of stock. Treatment remains the same for cash-only movements unassociated with securities. For transactions representing a simultaneous cash contribution and purchase of a security, the portion of the transaction representing the purchase takes precedence, and the `amount` is represented as positive. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The complete value of the transaction. Positive values when cash is debited, e.g. purchases of stock; negative values when cash is credited, e.g. sales of stock. Treatment remains the same for cash-only movements unassociated with securities. For transactions representing a simultaneous cash contribution and purchase of a security, the portion of the transaction representing the purchase takes precedence, and the `amount` is represented as positive.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public InvestmentTransaction price(Double price) { + + this.price = price; + return this; + } + + /** + * The price of the security at which this transaction occurred. + * @return price + **/ + @ApiModelProperty(required = true, value = "The price of the security at which this transaction occurred.") + + public Double getPrice() { + return price; + } + + + public void setPrice(Double price) { + this.price = price; + } + + + public InvestmentTransaction fees(Double fees) { + + this.fees = fees; + return this; + } + + /** + * The combined value of all fees applied to this transaction + * @return fees + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The combined value of all fees applied to this transaction") + + public Double getFees() { + return fees; + } + + + public void setFees(Double fees) { + this.fees = fees; + } + + + public InvestmentTransaction type(InvestmentTransactionType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentTransactionType getType() { + return type; + } + + + public void setType(InvestmentTransactionType type) { + this.type = type; + } + + + public InvestmentTransaction subtype(InvestmentTransactionSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentTransactionSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(InvestmentTransactionSubtype subtype) { + this.subtype = subtype; + } + + + public InvestmentTransaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public InvestmentTransaction unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentTransaction investmentTransaction = (InvestmentTransaction) o; + return Objects.equals(this.investmentTransactionId, investmentTransaction.investmentTransactionId) && + Objects.equals(this.cancelTransactionId, investmentTransaction.cancelTransactionId) && + Objects.equals(this.accountId, investmentTransaction.accountId) && + Objects.equals(this.securityId, investmentTransaction.securityId) && + Objects.equals(this.date, investmentTransaction.date) && + Objects.equals(this.transactionDatetime, investmentTransaction.transactionDatetime) && + Objects.equals(this.name, investmentTransaction.name) && + Objects.equals(this.quantity, investmentTransaction.quantity) && + Objects.equals(this.amount, investmentTransaction.amount) && + Objects.equals(this.price, investmentTransaction.price) && + Objects.equals(this.fees, investmentTransaction.fees) && + Objects.equals(this.type, investmentTransaction.type) && + Objects.equals(this.subtype, investmentTransaction.subtype) && + Objects.equals(this.isoCurrencyCode, investmentTransaction.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, investmentTransaction.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(investmentTransactionId, cancelTransactionId, accountId, securityId, date, transactionDatetime, name, quantity, amount, price, fees, type, subtype, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentTransaction {\n"); + sb.append(" investmentTransactionId: ").append(toIndentedString(investmentTransactionId)).append("\n"); + sb.append(" cancelTransactionId: ").append(toIndentedString(cancelTransactionId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" securityId: ").append(toIndentedString(securityId)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" transactionDatetime: ").append(toIndentedString(transactionDatetime)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" price: ").append(toIndentedString(price)).append("\n"); + sb.append(" fees: ").append(toIndentedString(fees)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentTransactionSubtype.java b/src/main/java/com/plaid/client/model/InvestmentTransactionSubtype.java new file mode 100644 index 0000000000..cc55fceec7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentTransactionSubtype.java @@ -0,0 +1,171 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * For descriptions of possible transaction types and subtypes, see the [Investment transaction types schema](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema). + */ +@JsonAdapter(InvestmentTransactionSubtype.Adapter.class) +public enum InvestmentTransactionSubtype { + + ACCOUNT_FEE("account fee"), + + ADJUSTMENT("adjustment"), + + ASSIGNMENT("assignment"), + + BUY("buy"), + + BUY_TO_COVER("buy to cover"), + + CONTRIBUTION("contribution"), + + DEPOSIT("deposit"), + + DISTRIBUTION("distribution"), + + DIVIDEND("dividend"), + + DIVIDEND_REINVESTMENT("dividend reinvestment"), + + EXERCISE("exercise"), + + EXPIRE("expire"), + + FUND_FEE("fund fee"), + + INTEREST("interest"), + + INTEREST_RECEIVABLE("interest receivable"), + + INTEREST_REINVESTMENT("interest reinvestment"), + + LEGAL_FEE("legal fee"), + + LOAN_PAYMENT("loan payment"), + + LONG_TERM_CAPITAL_GAIN("long-term capital gain"), + + LONG_TERM_CAPITAL_GAIN_REINVESTMENT("long-term capital gain reinvestment"), + + MANAGEMENT_FEE("management fee"), + + MARGIN_EXPENSE("margin expense"), + + MERGER("merger"), + + MISCELLANEOUS_FEE("miscellaneous fee"), + + NON_QUALIFIED_DIVIDEND("non-qualified dividend"), + + NON_RESIDENT_TAX("non-resident tax"), + + PENDING_CREDIT("pending credit"), + + PENDING_DEBIT("pending debit"), + + QUALIFIED_DIVIDEND("qualified dividend"), + + REBALANCE("rebalance"), + + RETURN_OF_PRINCIPAL("return of principal"), + + REQUEST("request"), + + SELL("sell"), + + SELL_SHORT("sell short"), + + SEND("send"), + + SHORT_TERM_CAPITAL_GAIN("short-term capital gain"), + + SHORT_TERM_CAPITAL_GAIN_REINVESTMENT("short-term capital gain reinvestment"), + + SPIN_OFF("spin off"), + + SPLIT("split"), + + STOCK_DISTRIBUTION("stock distribution"), + + TAX("tax"), + + TAX_WITHHELD("tax withheld"), + + TRADE("trade"), + + TRANSFER("transfer"), + + TRANSFER_FEE("transfer fee"), + + TRUST_FEE("trust fee"), + + UNQUALIFIED_GAIN("unqualified gain"), + + WITHDRAWAL("withdrawal"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + InvestmentTransactionSubtype(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static InvestmentTransactionSubtype fromValue(String value) { + for (InvestmentTransactionSubtype b : InvestmentTransactionSubtype.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return InvestmentTransactionSubtype.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final InvestmentTransactionSubtype enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public InvestmentTransactionSubtype read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return InvestmentTransactionSubtype.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentTransactionType.java b/src/main/java/com/plaid/client/model/InvestmentTransactionType.java new file mode 100644 index 0000000000..12fd68107e --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentTransactionType.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Value is one of the following: `buy`: Buying an investment `sell`: Selling an investment `cancel`: A cancellation of a pending transaction `cash`: Activity that modifies a cash position `fee`: A fee on the account `transfer`: Activity which modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer For descriptions of possible transaction types and subtypes, see the [Investment transaction types schema](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema). + */ +@JsonAdapter(InvestmentTransactionType.Adapter.class) +public enum InvestmentTransactionType { + + BUY("buy"), + + SELL("sell"), + + CANCEL("cancel"), + + CASH("cash"), + + FEE("fee"), + + TRANSFER("transfer"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + InvestmentTransactionType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static InvestmentTransactionType fromValue(String value) { + for (InvestmentTransactionType b : InvestmentTransactionType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return InvestmentTransactionType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final InvestmentTransactionType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public InvestmentTransactionType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return InvestmentTransactionType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsAuth401kContributionDetails.java b/src/main/java/com/plaid/client/model/InvestmentsAuth401kContributionDetails.java new file mode 100644 index 0000000000..be10f91a1c --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsAuth401kContributionDetails.java @@ -0,0 +1,274 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Object containing information on contribution transactions for the 401k account. Note that the sum fields in this object represent the total of absolute contribution values. + */ +@ApiModel(description = "Object containing information on contribution transactions for the 401k account. Note that the sum fields in this object represent the total of absolute contribution values.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsAuth401kContributionDetails { + public static final String SERIALIZED_NAME_LAST_CONTRIBUTION_TRANSACTIONS = "last_contribution_transactions"; + @SerializedName(SERIALIZED_NAME_LAST_CONTRIBUTION_TRANSACTIONS) + private List lastContributionTransactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CONTRIBUTION_COUNT1M = "contribution_count_1m"; + @SerializedName(SERIALIZED_NAME_CONTRIBUTION_COUNT1M) + private Integer contributionCount1m; + + public static final String SERIALIZED_NAME_CONTRIBUTION_AMOUNT1M = "contribution_amount_1m"; + @SerializedName(SERIALIZED_NAME_CONTRIBUTION_AMOUNT1M) + private Float contributionAmount1m; + + public static final String SERIALIZED_NAME_CONTRIBUTION_COUNT6M = "contribution_count_6m"; + @SerializedName(SERIALIZED_NAME_CONTRIBUTION_COUNT6M) + private Integer contributionCount6m; + + public static final String SERIALIZED_NAME_CONTRIBUTION_AMOUNT6M = "contribution_amount_6m"; + @SerializedName(SERIALIZED_NAME_CONTRIBUTION_AMOUNT6M) + private Float contributionAmount6m; + + public static final String SERIALIZED_NAME_CONTRIBUTION_COUNT12M = "contribution_count_12m"; + @SerializedName(SERIALIZED_NAME_CONTRIBUTION_COUNT12M) + private Integer contributionCount12m; + + public static final String SERIALIZED_NAME_CONTRIBUTION_AMOUNT12M = "contribution_amount_12m"; + @SerializedName(SERIALIZED_NAME_CONTRIBUTION_AMOUNT12M) + private Float contributionAmount12m; + + + public InvestmentsAuth401kContributionDetails lastContributionTransactions(List lastContributionTransactions) { + + this.lastContributionTransactions = lastContributionTransactions; + return this; + } + + public InvestmentsAuth401kContributionDetails addLastContributionTransactionsItem(InvestmentTransaction lastContributionTransactionsItem) { + this.lastContributionTransactions.add(lastContributionTransactionsItem); + return this; + } + + /** + * A list of the most recent contribution transactions for the 401k account. Includes all contributions made on the same day. + * @return lastContributionTransactions + **/ + @ApiModelProperty(required = true, value = "A list of the most recent contribution transactions for the 401k account. Includes all contributions made on the same day.") + + public List getLastContributionTransactions() { + return lastContributionTransactions; + } + + + public void setLastContributionTransactions(List lastContributionTransactions) { + this.lastContributionTransactions = lastContributionTransactions; + } + + + public InvestmentsAuth401kContributionDetails contributionCount1m(Integer contributionCount1m) { + + this.contributionCount1m = contributionCount1m; + return this; + } + + /** + * Number of contribution transactions on this account, for the past month. + * @return contributionCount1m + **/ + @ApiModelProperty(required = true, value = "Number of contribution transactions on this account, for the past month.") + + public Integer getContributionCount1m() { + return contributionCount1m; + } + + + public void setContributionCount1m(Integer contributionCount1m) { + this.contributionCount1m = contributionCount1m; + } + + + public InvestmentsAuth401kContributionDetails contributionAmount1m(Float contributionAmount1m) { + + this.contributionAmount1m = contributionAmount1m; + return this; + } + + /** + * Sum of the contribution transactions on this account, for the past month. + * @return contributionAmount1m + **/ + @ApiModelProperty(required = true, value = "Sum of the contribution transactions on this account, for the past month.") + + public Float getContributionAmount1m() { + return contributionAmount1m; + } + + + public void setContributionAmount1m(Float contributionAmount1m) { + this.contributionAmount1m = contributionAmount1m; + } + + + public InvestmentsAuth401kContributionDetails contributionCount6m(Integer contributionCount6m) { + + this.contributionCount6m = contributionCount6m; + return this; + } + + /** + * Number of contribution transactions on this account, for the past 6 months. + * @return contributionCount6m + **/ + @ApiModelProperty(required = true, value = "Number of contribution transactions on this account, for the past 6 months.") + + public Integer getContributionCount6m() { + return contributionCount6m; + } + + + public void setContributionCount6m(Integer contributionCount6m) { + this.contributionCount6m = contributionCount6m; + } + + + public InvestmentsAuth401kContributionDetails contributionAmount6m(Float contributionAmount6m) { + + this.contributionAmount6m = contributionAmount6m; + return this; + } + + /** + * Sum of the contribution transactions on this account, for the past 6 months. + * @return contributionAmount6m + **/ + @ApiModelProperty(required = true, value = "Sum of the contribution transactions on this account, for the past 6 months.") + + public Float getContributionAmount6m() { + return contributionAmount6m; + } + + + public void setContributionAmount6m(Float contributionAmount6m) { + this.contributionAmount6m = contributionAmount6m; + } + + + public InvestmentsAuth401kContributionDetails contributionCount12m(Integer contributionCount12m) { + + this.contributionCount12m = contributionCount12m; + return this; + } + + /** + * Number of contribution transactions on this account, for the past 12 months. + * @return contributionCount12m + **/ + @ApiModelProperty(required = true, value = "Number of contribution transactions on this account, for the past 12 months.") + + public Integer getContributionCount12m() { + return contributionCount12m; + } + + + public void setContributionCount12m(Integer contributionCount12m) { + this.contributionCount12m = contributionCount12m; + } + + + public InvestmentsAuth401kContributionDetails contributionAmount12m(Float contributionAmount12m) { + + this.contributionAmount12m = contributionAmount12m; + return this; + } + + /** + * Sum of the contribution transactions on this account, for the past 12 months. + * @return contributionAmount12m + **/ + @ApiModelProperty(required = true, value = "Sum of the contribution transactions on this account, for the past 12 months.") + + public Float getContributionAmount12m() { + return contributionAmount12m; + } + + + public void setContributionAmount12m(Float contributionAmount12m) { + this.contributionAmount12m = contributionAmount12m; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsAuth401kContributionDetails investmentsAuth401kContributionDetails = (InvestmentsAuth401kContributionDetails) o; + return Objects.equals(this.lastContributionTransactions, investmentsAuth401kContributionDetails.lastContributionTransactions) && + Objects.equals(this.contributionCount1m, investmentsAuth401kContributionDetails.contributionCount1m) && + Objects.equals(this.contributionAmount1m, investmentsAuth401kContributionDetails.contributionAmount1m) && + Objects.equals(this.contributionCount6m, investmentsAuth401kContributionDetails.contributionCount6m) && + Objects.equals(this.contributionAmount6m, investmentsAuth401kContributionDetails.contributionAmount6m) && + Objects.equals(this.contributionCount12m, investmentsAuth401kContributionDetails.contributionCount12m) && + Objects.equals(this.contributionAmount12m, investmentsAuth401kContributionDetails.contributionAmount12m); + } + + @Override + public int hashCode() { + return Objects.hash(lastContributionTransactions, contributionCount1m, contributionAmount1m, contributionCount6m, contributionAmount6m, contributionCount12m, contributionAmount12m); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsAuth401kContributionDetails {\n"); + sb.append(" lastContributionTransactions: ").append(toIndentedString(lastContributionTransactions)).append("\n"); + sb.append(" contributionCount1m: ").append(toIndentedString(contributionCount1m)).append("\n"); + sb.append(" contributionAmount1m: ").append(toIndentedString(contributionAmount1m)).append("\n"); + sb.append(" contributionCount6m: ").append(toIndentedString(contributionCount6m)).append("\n"); + sb.append(" contributionAmount6m: ").append(toIndentedString(contributionAmount6m)).append("\n"); + sb.append(" contributionCount12m: ").append(toIndentedString(contributionCount12m)).append("\n"); + sb.append(" contributionAmount12m: ").append(toIndentedString(contributionAmount12m)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsAuth401kFeeDetails.java b/src/main/java/com/plaid/client/model/InvestmentsAuth401kFeeDetails.java new file mode 100644 index 0000000000..5aebfb876a --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsAuth401kFeeDetails.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Object containing information on account fee transactions for the 401k account. + */ +@ApiModel(description = "Object containing information on account fee transactions for the 401k account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsAuth401kFeeDetails { + public static final String SERIALIZED_NAME_ACCOUNT_FEE_COUNT12M = "account_fee_count_12m"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_FEE_COUNT12M) + private Integer accountFeeCount12m; + + public static final String SERIALIZED_NAME_ACCOUNT_FEE_AMOUNT12M = "account_fee_amount_12m"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_FEE_AMOUNT12M) + private Float accountFeeAmount12m; + + + public InvestmentsAuth401kFeeDetails accountFeeCount12m(Integer accountFeeCount12m) { + + this.accountFeeCount12m = accountFeeCount12m; + return this; + } + + /** + * Number of account fee transactions on this account, for the past 12 months. + * @return accountFeeCount12m + **/ + @ApiModelProperty(required = true, value = "Number of account fee transactions on this account, for the past 12 months.") + + public Integer getAccountFeeCount12m() { + return accountFeeCount12m; + } + + + public void setAccountFeeCount12m(Integer accountFeeCount12m) { + this.accountFeeCount12m = accountFeeCount12m; + } + + + public InvestmentsAuth401kFeeDetails accountFeeAmount12m(Float accountFeeAmount12m) { + + this.accountFeeAmount12m = accountFeeAmount12m; + return this; + } + + /** + * Sum of account fee transactions on this account, for the past 12 months. + * @return accountFeeAmount12m + **/ + @ApiModelProperty(required = true, value = "Sum of account fee transactions on this account, for the past 12 months.") + + public Float getAccountFeeAmount12m() { + return accountFeeAmount12m; + } + + + public void setAccountFeeAmount12m(Float accountFeeAmount12m) { + this.accountFeeAmount12m = accountFeeAmount12m; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsAuth401kFeeDetails investmentsAuth401kFeeDetails = (InvestmentsAuth401kFeeDetails) o; + return Objects.equals(this.accountFeeCount12m, investmentsAuth401kFeeDetails.accountFeeCount12m) && + Objects.equals(this.accountFeeAmount12m, investmentsAuth401kFeeDetails.accountFeeAmount12m); + } + + @Override + public int hashCode() { + return Objects.hash(accountFeeCount12m, accountFeeAmount12m); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsAuth401kFeeDetails {\n"); + sb.append(" accountFeeCount12m: ").append(toIndentedString(accountFeeCount12m)).append("\n"); + sb.append(" accountFeeAmount12m: ").append(toIndentedString(accountFeeAmount12m)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsAuthAccountDetails401k.java b/src/main/java/com/plaid/client/model/InvestmentsAuthAccountDetails401k.java new file mode 100644 index 0000000000..da73a8f01e --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsAuthAccountDetails401k.java @@ -0,0 +1,159 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentsAuth401kContributionDetails; +import com.plaid.client.model.InvestmentsAuth401kFeeDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Additional account fee and contribution information for 401k type accounts. + */ +@ApiModel(description = "Additional account fee and contribution information for 401k type accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsAuthAccountDetails401k { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_FEE_DETAILS = "fee_details"; + @SerializedName(SERIALIZED_NAME_FEE_DETAILS) + private InvestmentsAuth401kFeeDetails feeDetails; + + public static final String SERIALIZED_NAME_CONTRIBUTION_DETAILS = "contribution_details"; + @SerializedName(SERIALIZED_NAME_CONTRIBUTION_DETAILS) + private InvestmentsAuth401kContributionDetails contributionDetails; + + + public InvestmentsAuthAccountDetails401k accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the 401k account. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the 401k account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public InvestmentsAuthAccountDetails401k feeDetails(InvestmentsAuth401kFeeDetails feeDetails) { + + this.feeDetails = feeDetails; + return this; + } + + /** + * Get feeDetails + * @return feeDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InvestmentsAuth401kFeeDetails getFeeDetails() { + return feeDetails; + } + + + public void setFeeDetails(InvestmentsAuth401kFeeDetails feeDetails) { + this.feeDetails = feeDetails; + } + + + public InvestmentsAuthAccountDetails401k contributionDetails(InvestmentsAuth401kContributionDetails contributionDetails) { + + this.contributionDetails = contributionDetails; + return this; + } + + /** + * Get contributionDetails + * @return contributionDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InvestmentsAuth401kContributionDetails getContributionDetails() { + return contributionDetails; + } + + + public void setContributionDetails(InvestmentsAuth401kContributionDetails contributionDetails) { + this.contributionDetails = contributionDetails; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsAuthAccountDetails401k investmentsAuthAccountDetails401k = (InvestmentsAuthAccountDetails401k) o; + return Objects.equals(this.accountId, investmentsAuthAccountDetails401k.accountId) && + Objects.equals(this.feeDetails, investmentsAuthAccountDetails401k.feeDetails) && + Objects.equals(this.contributionDetails, investmentsAuthAccountDetails401k.contributionDetails); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, feeDetails, contributionDetails); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsAuthAccountDetails401k {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" feeDetails: ").append(toIndentedString(feeDetails)).append("\n"); + sb.append(" contributionDetails: ").append(toIndentedString(contributionDetails)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsAuthDataSources.java b/src/main/java/com/plaid/client/model/InvestmentsAuthDataSources.java new file mode 100644 index 0000000000..1d39fd0b3b --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsAuthDataSources.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DataSources; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Object with metadata pertaining to the source of data for the account numbers, owners, and holdings that are returned. + */ +@ApiModel(description = "Object with metadata pertaining to the source of data for the account numbers, owners, and holdings that are returned.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsAuthDataSources { + public static final String SERIALIZED_NAME_NUMBERS = "numbers"; + @SerializedName(SERIALIZED_NAME_NUMBERS) + private DataSources numbers; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private DataSources owners; + + public static final String SERIALIZED_NAME_HOLDINGS = "holdings"; + @SerializedName(SERIALIZED_NAME_HOLDINGS) + private DataSources holdings; + + + public InvestmentsAuthDataSources numbers(DataSources numbers) { + + this.numbers = numbers; + return this; + } + + /** + * Get numbers + * @return numbers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public DataSources getNumbers() { + return numbers; + } + + + public void setNumbers(DataSources numbers) { + this.numbers = numbers; + } + + + public InvestmentsAuthDataSources owners(DataSources owners) { + + this.owners = owners; + return this; + } + + /** + * Get owners + * @return owners + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public DataSources getOwners() { + return owners; + } + + + public void setOwners(DataSources owners) { + this.owners = owners; + } + + + public InvestmentsAuthDataSources holdings(DataSources holdings) { + + this.holdings = holdings; + return this; + } + + /** + * Get holdings + * @return holdings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public DataSources getHoldings() { + return holdings; + } + + + public void setHoldings(DataSources holdings) { + this.holdings = holdings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsAuthDataSources investmentsAuthDataSources = (InvestmentsAuthDataSources) o; + return Objects.equals(this.numbers, investmentsAuthDataSources.numbers) && + Objects.equals(this.owners, investmentsAuthDataSources.owners) && + Objects.equals(this.holdings, investmentsAuthDataSources.holdings); + } + + @Override + public int hashCode() { + return Objects.hash(numbers, owners, holdings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsAuthDataSources {\n"); + sb.append(" numbers: ").append(toIndentedString(numbers)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append(" holdings: ").append(toIndentedString(holdings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsAuthGetNumbers.java b/src/main/java/com/plaid/client/model/InvestmentsAuthGetNumbers.java new file mode 100644 index 0000000000..158a389893 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsAuthGetNumbers.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NumbersACATS; +import com.plaid.client.model.NumbersATON; +import com.plaid.client.model.NumbersRetirement401k; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Identifying information for transferring holdings to an investment account. + */ +@ApiModel(description = "Identifying information for transferring holdings to an investment account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsAuthGetNumbers { + public static final String SERIALIZED_NAME_ACATS = "acats"; + @SerializedName(SERIALIZED_NAME_ACATS) + private List acats = null; + + public static final String SERIALIZED_NAME_ATON = "aton"; + @SerializedName(SERIALIZED_NAME_ATON) + private List aton = null; + + public static final String SERIALIZED_NAME_RETIREMENT401K = "retirement_401k"; + @SerializedName(SERIALIZED_NAME_RETIREMENT401K) + private List retirement401k = null; + + + public InvestmentsAuthGetNumbers acats(List acats) { + + this.acats = acats; + return this; + } + + public InvestmentsAuthGetNumbers addAcatsItem(NumbersACATS acatsItem) { + if (this.acats == null) { + this.acats = new ArrayList<>(); + } + this.acats.add(acatsItem); + return this; + } + + /** + * Get acats + * @return acats + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getAcats() { + return acats; + } + + + public void setAcats(List acats) { + this.acats = acats; + } + + + public InvestmentsAuthGetNumbers aton(List aton) { + + this.aton = aton; + return this; + } + + public InvestmentsAuthGetNumbers addAtonItem(NumbersATON atonItem) { + if (this.aton == null) { + this.aton = new ArrayList<>(); + } + this.aton.add(atonItem); + return this; + } + + /** + * Get aton + * @return aton + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getAton() { + return aton; + } + + + public void setAton(List aton) { + this.aton = aton; + } + + + public InvestmentsAuthGetNumbers retirement401k(List retirement401k) { + + this.retirement401k = retirement401k; + return this; + } + + public InvestmentsAuthGetNumbers addRetirement401kItem(NumbersRetirement401k retirement401kItem) { + if (this.retirement401k == null) { + this.retirement401k = new ArrayList<>(); + } + this.retirement401k.add(retirement401kItem); + return this; + } + + /** + * Get retirement401k + * @return retirement401k + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getRetirement401k() { + return retirement401k; + } + + + public void setRetirement401k(List retirement401k) { + this.retirement401k = retirement401k; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsAuthGetNumbers investmentsAuthGetNumbers = (InvestmentsAuthGetNumbers) o; + return Objects.equals(this.acats, investmentsAuthGetNumbers.acats) && + Objects.equals(this.aton, investmentsAuthGetNumbers.aton) && + Objects.equals(this.retirement401k, investmentsAuthGetNumbers.retirement401k); + } + + @Override + public int hashCode() { + return Objects.hash(acats, aton, retirement401k); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsAuthGetNumbers {\n"); + sb.append(" acats: ").append(toIndentedString(acats)).append("\n"); + sb.append(" aton: ").append(toIndentedString(aton)).append("\n"); + sb.append(" retirement401k: ").append(toIndentedString(retirement401k)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsAuthGetRequest.java b/src/main/java/com/plaid/client/model/InvestmentsAuthGetRequest.java new file mode 100644 index 0000000000..672f8bf9f8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsAuthGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentsAuthGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * InvestmentsAuthGetRequest defines the request schema for `/investments/auth/get` + */ +@ApiModel(description = "InvestmentsAuthGetRequest defines the request schema for `/investments/auth/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsAuthGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private InvestmentsAuthGetRequestOptions options; + + + public InvestmentsAuthGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public InvestmentsAuthGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public InvestmentsAuthGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public InvestmentsAuthGetRequest options(InvestmentsAuthGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InvestmentsAuthGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(InvestmentsAuthGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsAuthGetRequest investmentsAuthGetRequest = (InvestmentsAuthGetRequest) o; + return Objects.equals(this.clientId, investmentsAuthGetRequest.clientId) && + Objects.equals(this.secret, investmentsAuthGetRequest.secret) && + Objects.equals(this.accessToken, investmentsAuthGetRequest.accessToken) && + Objects.equals(this.options, investmentsAuthGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsAuthGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsAuthGetRequestOptions.java b/src/main/java/com/plaid/client/model/InvestmentsAuthGetRequestOptions.java new file mode 100644 index 0000000000..f619f6ac65 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsAuthGetRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to filter `/investments/auth/get` results. + */ +@ApiModel(description = "An optional object to filter `/investments/auth/get` results.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsAuthGetRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + + public InvestmentsAuthGetRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public InvestmentsAuthGetRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * An array of `account_id`s to retrieve for the Item. An error will be returned if a provided `account_id` is not associated with the Item. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of `account_id`s to retrieve for the Item. An error will be returned if a provided `account_id` is not associated with the Item.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsAuthGetRequestOptions investmentsAuthGetRequestOptions = (InvestmentsAuthGetRequestOptions) o; + return Objects.equals(this.accountIds, investmentsAuthGetRequestOptions.accountIds); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsAuthGetRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsAuthGetResponse.java b/src/main/java/com/plaid/client/model/InvestmentsAuthGetResponse.java new file mode 100644 index 0000000000..c0e8352a0b --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsAuthGetResponse.java @@ -0,0 +1,361 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Holding; +import com.plaid.client.model.InvestmentAccount; +import com.plaid.client.model.InvestmentsAuthAccountDetails401k; +import com.plaid.client.model.InvestmentsAuthDataSources; +import com.plaid.client.model.InvestmentsAuthGetNumbers; +import com.plaid.client.model.InvestmentsAuthOwner; +import com.plaid.client.model.Item; +import com.plaid.client.model.Security; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * InvestmentsAuthGetResponse defines the response schema for `/investments/auth/get` + */ +@ApiModel(description = "InvestmentsAuthGetResponse defines the response schema for `/investments/auth/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsAuthGetResponse { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_HOLDINGS = "holdings"; + @SerializedName(SERIALIZED_NAME_HOLDINGS) + private List holdings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SECURITIES = "securities"; + @SerializedName(SERIALIZED_NAME_SECURITIES) + private List securities = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NUMBERS = "numbers"; + @SerializedName(SERIALIZED_NAME_NUMBERS) + private InvestmentsAuthGetNumbers numbers; + + public static final String SERIALIZED_NAME_DATA_SOURCES = "data_sources"; + @SerializedName(SERIALIZED_NAME_DATA_SOURCES) + private InvestmentsAuthDataSources dataSources; + + public static final String SERIALIZED_NAME_ACCOUNT_DETAILS401K = "account_details_401k"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_DETAILS401K) + private List accountDetails401k = null; + + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public InvestmentsAuthGetResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public InvestmentsAuthGetResponse addAccountsItem(InvestmentAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * The accounts for which data is being retrieved + * @return accounts + **/ + @ApiModelProperty(required = true, value = "The accounts for which data is being retrieved") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public InvestmentsAuthGetResponse holdings(List holdings) { + + this.holdings = holdings; + return this; + } + + public InvestmentsAuthGetResponse addHoldingsItem(Holding holdingsItem) { + this.holdings.add(holdingsItem); + return this; + } + + /** + * The holdings belonging to investment accounts associated with the Item. Details of the securities in the holdings are provided in the `securities` field. + * @return holdings + **/ + @ApiModelProperty(required = true, value = "The holdings belonging to investment accounts associated with the Item. Details of the securities in the holdings are provided in the `securities` field. ") + + public List getHoldings() { + return holdings; + } + + + public void setHoldings(List holdings) { + this.holdings = holdings; + } + + + public InvestmentsAuthGetResponse securities(List securities) { + + this.securities = securities; + return this; + } + + public InvestmentsAuthGetResponse addSecuritiesItem(Security securitiesItem) { + this.securities.add(securitiesItem); + return this; + } + + /** + * Objects describing the securities held in the accounts associated with the Item. + * @return securities + **/ + @ApiModelProperty(required = true, value = "Objects describing the securities held in the accounts associated with the Item. ") + + public List getSecurities() { + return securities; + } + + + public void setSecurities(List securities) { + this.securities = securities; + } + + + public InvestmentsAuthGetResponse owners(List owners) { + + this.owners = owners; + return this; + } + + public InvestmentsAuthGetResponse addOwnersItem(InvestmentsAuthOwner ownersItem) { + this.owners.add(ownersItem); + return this; + } + + /** + * Information about the account owners for the accounts associated with the Item. + * @return owners + **/ + @ApiModelProperty(required = true, value = "Information about the account owners for the accounts associated with the Item. ") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + public InvestmentsAuthGetResponse numbers(InvestmentsAuthGetNumbers numbers) { + + this.numbers = numbers; + return this; + } + + /** + * Get numbers + * @return numbers + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentsAuthGetNumbers getNumbers() { + return numbers; + } + + + public void setNumbers(InvestmentsAuthGetNumbers numbers) { + this.numbers = numbers; + } + + + public InvestmentsAuthGetResponse dataSources(InvestmentsAuthDataSources dataSources) { + + this.dataSources = dataSources; + return this; + } + + /** + * Get dataSources + * @return dataSources + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentsAuthDataSources getDataSources() { + return dataSources; + } + + + public void setDataSources(InvestmentsAuthDataSources dataSources) { + this.dataSources = dataSources; + } + + + public InvestmentsAuthGetResponse accountDetails401k(List accountDetails401k) { + + this.accountDetails401k = accountDetails401k; + return this; + } + + public InvestmentsAuthGetResponse addAccountDetails401kItem(InvestmentsAuthAccountDetails401k accountDetails401kItem) { + if (this.accountDetails401k == null) { + this.accountDetails401k = new ArrayList<>(); + } + this.accountDetails401k.add(accountDetails401kItem); + return this; + } + + /** + * Additional information for accounts of 401k subtype. + * @return accountDetails401k + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Additional information for accounts of 401k subtype.") + + public List getAccountDetails401k() { + return accountDetails401k; + } + + + public void setAccountDetails401k(List accountDetails401k) { + this.accountDetails401k = accountDetails401k; + } + + + public InvestmentsAuthGetResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public InvestmentsAuthGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsAuthGetResponse investmentsAuthGetResponse = (InvestmentsAuthGetResponse) o; + return Objects.equals(this.accounts, investmentsAuthGetResponse.accounts) && + Objects.equals(this.holdings, investmentsAuthGetResponse.holdings) && + Objects.equals(this.securities, investmentsAuthGetResponse.securities) && + Objects.equals(this.owners, investmentsAuthGetResponse.owners) && + Objects.equals(this.numbers, investmentsAuthGetResponse.numbers) && + Objects.equals(this.dataSources, investmentsAuthGetResponse.dataSources) && + Objects.equals(this.accountDetails401k, investmentsAuthGetResponse.accountDetails401k) && + Objects.equals(this.item, investmentsAuthGetResponse.item) && + Objects.equals(this.requestId, investmentsAuthGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, holdings, securities, owners, numbers, dataSources, accountDetails401k, item, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsAuthGetResponse {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" holdings: ").append(toIndentedString(holdings)).append("\n"); + sb.append(" securities: ").append(toIndentedString(securities)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append(" numbers: ").append(toIndentedString(numbers)).append("\n"); + sb.append(" dataSources: ").append(toIndentedString(dataSources)).append("\n"); + sb.append(" accountDetails401k: ").append(toIndentedString(accountDetails401k)).append("\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsAuthOwner.java b/src/main/java/com/plaid/client/model/InvestmentsAuthOwner.java new file mode 100644 index 0000000000..01df8472f6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsAuthOwner.java @@ -0,0 +1,138 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Information on the ownership of an investment account + */ +@ApiModel(description = "Information on the ownership of an investment account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsAuthOwner { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_NAMES = "names"; + @SerializedName(SERIALIZED_NAME_NAMES) + private List names = null; + + + public InvestmentsAuthOwner accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account that this identity information pertains to + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the account that this identity information pertains to") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public InvestmentsAuthOwner names(List names) { + + this.names = names; + return this; + } + + public InvestmentsAuthOwner addNamesItem(String namesItem) { + if (this.names == null) { + this.names = new ArrayList<>(); + } + this.names.add(namesItem); + return this; + } + + /** + * A list of names associated with the account by the financial institution. In the case of a joint account, Plaid will make a best effort to report the names of all account holders. If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's `names` array. + * @return names + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of names associated with the account by the financial institution. In the case of a joint account, Plaid will make a best effort to report the names of all account holders. If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's `names` array.") + + public List getNames() { + return names; + } + + + public void setNames(List names) { + this.names = names; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsAuthOwner investmentsAuthOwner = (InvestmentsAuthOwner) o; + return Objects.equals(this.accountId, investmentsAuthOwner.accountId) && + Objects.equals(this.names, investmentsAuthOwner.names); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, names); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsAuthOwner {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" names: ").append(toIndentedString(names)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsDefaultUpdateWebhook.java b/src/main/java/com/plaid/client/model/InvestmentsDefaultUpdateWebhook.java new file mode 100644 index 0000000000..e7c06ca332 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsDefaultUpdateWebhook.java @@ -0,0 +1,299 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Fired when new transactions have been detected on an investment account. + */ +@ApiModel(description = "Fired when new transactions have been detected on an investment account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsDefaultUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_NEW_INVESTMENTS_TRANSACTIONS = "new_investments_transactions"; + @SerializedName(SERIALIZED_NAME_NEW_INVESTMENTS_TRANSACTIONS) + private Double newInvestmentsTransactions; + + public static final String SERIALIZED_NAME_CANCELLED_INVESTMENTS_TRANSACTIONS = "cancelled_investments_transactions"; + @SerializedName(SERIALIZED_NAME_CANCELLED_INVESTMENTS_TRANSACTIONS) + private Double cancelledInvestmentsTransactions; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public InvestmentsDefaultUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `INVESTMENTS_TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`INVESTMENTS_TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public InvestmentsDefaultUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `DEFAULT_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`DEFAULT_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public InvestmentsDefaultUpdateWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public InvestmentsDefaultUpdateWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public InvestmentsDefaultUpdateWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public InvestmentsDefaultUpdateWebhook newInvestmentsTransactions(Double newInvestmentsTransactions) { + + this.newInvestmentsTransactions = newInvestmentsTransactions; + return this; + } + + /** + * The number of new transactions reported since the last time this webhook was fired. + * @return newInvestmentsTransactions + **/ + @ApiModelProperty(required = true, value = "The number of new transactions reported since the last time this webhook was fired.") + + public Double getNewInvestmentsTransactions() { + return newInvestmentsTransactions; + } + + + public void setNewInvestmentsTransactions(Double newInvestmentsTransactions) { + this.newInvestmentsTransactions = newInvestmentsTransactions; + } + + + public InvestmentsDefaultUpdateWebhook cancelledInvestmentsTransactions(Double cancelledInvestmentsTransactions) { + + this.cancelledInvestmentsTransactions = cancelledInvestmentsTransactions; + return this; + } + + /** + * The number of cancelled transactions reported since the last time this webhook was fired. + * @return cancelledInvestmentsTransactions + **/ + @ApiModelProperty(required = true, value = "The number of cancelled transactions reported since the last time this webhook was fired.") + + public Double getCancelledInvestmentsTransactions() { + return cancelledInvestmentsTransactions; + } + + + public void setCancelledInvestmentsTransactions(Double cancelledInvestmentsTransactions) { + this.cancelledInvestmentsTransactions = cancelledInvestmentsTransactions; + } + + + public InvestmentsDefaultUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsDefaultUpdateWebhook investmentsDefaultUpdateWebhook = (InvestmentsDefaultUpdateWebhook) o; + return Objects.equals(this.webhookType, investmentsDefaultUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, investmentsDefaultUpdateWebhook.webhookCode) && + Objects.equals(this.itemId, investmentsDefaultUpdateWebhook.itemId) && + Objects.equals(this.userId, investmentsDefaultUpdateWebhook.userId) && + Objects.equals(this.error, investmentsDefaultUpdateWebhook.error) && + Objects.equals(this.newInvestmentsTransactions, investmentsDefaultUpdateWebhook.newInvestmentsTransactions) && + Objects.equals(this.cancelledInvestmentsTransactions, investmentsDefaultUpdateWebhook.cancelledInvestmentsTransactions) && + Objects.equals(this.environment, investmentsDefaultUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, error, newInvestmentsTransactions, cancelledInvestmentsTransactions, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsDefaultUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" newInvestmentsTransactions: ").append(toIndentedString(newInvestmentsTransactions)).append("\n"); + sb.append(" cancelledInvestmentsTransactions: ").append(toIndentedString(cancelledInvestmentsTransactions)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsHistoricalUpdateWebhook.java b/src/main/java/com/plaid/client/model/InvestmentsHistoricalUpdateWebhook.java new file mode 100644 index 0000000000..14fa796022 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsHistoricalUpdateWebhook.java @@ -0,0 +1,299 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Fired after an asynchronous extraction on an investment account. + */ +@ApiModel(description = "Fired after an asynchronous extraction on an investment account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsHistoricalUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_NEW_INVESTMENTS_TRANSACTIONS = "new_investments_transactions"; + @SerializedName(SERIALIZED_NAME_NEW_INVESTMENTS_TRANSACTIONS) + private Double newInvestmentsTransactions; + + public static final String SERIALIZED_NAME_CANCELLED_INVESTMENTS_TRANSACTIONS = "cancelled_investments_transactions"; + @SerializedName(SERIALIZED_NAME_CANCELLED_INVESTMENTS_TRANSACTIONS) + private Double cancelledInvestmentsTransactions; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public InvestmentsHistoricalUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `INVESTMENTS_TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`INVESTMENTS_TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public InvestmentsHistoricalUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `HISTORICAL_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`HISTORICAL_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public InvestmentsHistoricalUpdateWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public InvestmentsHistoricalUpdateWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public InvestmentsHistoricalUpdateWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public InvestmentsHistoricalUpdateWebhook newInvestmentsTransactions(Double newInvestmentsTransactions) { + + this.newInvestmentsTransactions = newInvestmentsTransactions; + return this; + } + + /** + * The number of new transactions reported since the last time this webhook was fired. + * @return newInvestmentsTransactions + **/ + @ApiModelProperty(required = true, value = "The number of new transactions reported since the last time this webhook was fired.") + + public Double getNewInvestmentsTransactions() { + return newInvestmentsTransactions; + } + + + public void setNewInvestmentsTransactions(Double newInvestmentsTransactions) { + this.newInvestmentsTransactions = newInvestmentsTransactions; + } + + + public InvestmentsHistoricalUpdateWebhook cancelledInvestmentsTransactions(Double cancelledInvestmentsTransactions) { + + this.cancelledInvestmentsTransactions = cancelledInvestmentsTransactions; + return this; + } + + /** + * The number of cancelled transactions reported since the last time this webhook was fired. + * @return cancelledInvestmentsTransactions + **/ + @ApiModelProperty(required = true, value = "The number of cancelled transactions reported since the last time this webhook was fired.") + + public Double getCancelledInvestmentsTransactions() { + return cancelledInvestmentsTransactions; + } + + + public void setCancelledInvestmentsTransactions(Double cancelledInvestmentsTransactions) { + this.cancelledInvestmentsTransactions = cancelledInvestmentsTransactions; + } + + + public InvestmentsHistoricalUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsHistoricalUpdateWebhook investmentsHistoricalUpdateWebhook = (InvestmentsHistoricalUpdateWebhook) o; + return Objects.equals(this.webhookType, investmentsHistoricalUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, investmentsHistoricalUpdateWebhook.webhookCode) && + Objects.equals(this.itemId, investmentsHistoricalUpdateWebhook.itemId) && + Objects.equals(this.userId, investmentsHistoricalUpdateWebhook.userId) && + Objects.equals(this.error, investmentsHistoricalUpdateWebhook.error) && + Objects.equals(this.newInvestmentsTransactions, investmentsHistoricalUpdateWebhook.newInvestmentsTransactions) && + Objects.equals(this.cancelledInvestmentsTransactions, investmentsHistoricalUpdateWebhook.cancelledInvestmentsTransactions) && + Objects.equals(this.environment, investmentsHistoricalUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, error, newInvestmentsTransactions, cancelledInvestmentsTransactions, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsHistoricalUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" newInvestmentsTransactions: ").append(toIndentedString(newInvestmentsTransactions)).append("\n"); + sb.append(" cancelledInvestmentsTransactions: ").append(toIndentedString(cancelledInvestmentsTransactions)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsHoldingsGetRequest.java b/src/main/java/com/plaid/client/model/InvestmentsHoldingsGetRequest.java new file mode 100644 index 0000000000..d0f3bec703 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsHoldingsGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentHoldingsGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * InvestmentsHoldingsGetRequest defines the request schema for `/investments/holdings/get` + */ +@ApiModel(description = "InvestmentsHoldingsGetRequest defines the request schema for `/investments/holdings/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsHoldingsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private InvestmentHoldingsGetRequestOptions options; + + + public InvestmentsHoldingsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public InvestmentsHoldingsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public InvestmentsHoldingsGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public InvestmentsHoldingsGetRequest options(InvestmentHoldingsGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InvestmentHoldingsGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(InvestmentHoldingsGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsHoldingsGetRequest investmentsHoldingsGetRequest = (InvestmentsHoldingsGetRequest) o; + return Objects.equals(this.clientId, investmentsHoldingsGetRequest.clientId) && + Objects.equals(this.secret, investmentsHoldingsGetRequest.secret) && + Objects.equals(this.accessToken, investmentsHoldingsGetRequest.accessToken) && + Objects.equals(this.options, investmentsHoldingsGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsHoldingsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsHoldingsGetResponse.java b/src/main/java/com/plaid/client/model/InvestmentsHoldingsGetResponse.java new file mode 100644 index 0000000000..116437dc2c --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsHoldingsGetResponse.java @@ -0,0 +1,260 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Holding; +import com.plaid.client.model.InvestmentAccount; +import com.plaid.client.model.Item; +import com.plaid.client.model.Security; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * InvestmentsHoldingsGetResponse defines the response schema for `/investments/holdings/get` + */ +@ApiModel(description = "InvestmentsHoldingsGetResponse defines the response schema for `/investments/holdings/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsHoldingsGetResponse { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_HOLDINGS = "holdings"; + @SerializedName(SERIALIZED_NAME_HOLDINGS) + private List holdings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SECURITIES = "securities"; + @SerializedName(SERIALIZED_NAME_SECURITIES) + private List securities = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_IS_INVESTMENTS_FALLBACK_ITEM = "is_investments_fallback_item"; + @SerializedName(SERIALIZED_NAME_IS_INVESTMENTS_FALLBACK_ITEM) + private Boolean isInvestmentsFallbackItem; + + + public InvestmentsHoldingsGetResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public InvestmentsHoldingsGetResponse addAccountsItem(InvestmentAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * The accounts associated with the Item + * @return accounts + **/ + @ApiModelProperty(required = true, value = "The accounts associated with the Item") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public InvestmentsHoldingsGetResponse holdings(List holdings) { + + this.holdings = holdings; + return this; + } + + public InvestmentsHoldingsGetResponse addHoldingsItem(Holding holdingsItem) { + this.holdings.add(holdingsItem); + return this; + } + + /** + * The holdings belonging to investment accounts associated with the Item. Details of the securities in the holdings are provided in the `securities` field. + * @return holdings + **/ + @ApiModelProperty(required = true, value = "The holdings belonging to investment accounts associated with the Item. Details of the securities in the holdings are provided in the `securities` field. ") + + public List getHoldings() { + return holdings; + } + + + public void setHoldings(List holdings) { + this.holdings = holdings; + } + + + public InvestmentsHoldingsGetResponse securities(List securities) { + + this.securities = securities; + return this; + } + + public InvestmentsHoldingsGetResponse addSecuritiesItem(Security securitiesItem) { + this.securities.add(securitiesItem); + return this; + } + + /** + * Objects describing the securities held in the accounts associated with the Item. + * @return securities + **/ + @ApiModelProperty(required = true, value = "Objects describing the securities held in the accounts associated with the Item. ") + + public List getSecurities() { + return securities; + } + + + public void setSecurities(List securities) { + this.securities = securities; + } + + + public InvestmentsHoldingsGetResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public InvestmentsHoldingsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public InvestmentsHoldingsGetResponse isInvestmentsFallbackItem(Boolean isInvestmentsFallbackItem) { + + this.isInvestmentsFallbackItem = isInvestmentsFallbackItem; + return this; + } + + /** + * When true, this field indicates that the Item's portfolio was manually created with the Investments Fallback flow. + * @return isInvestmentsFallbackItem + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When true, this field indicates that the Item's portfolio was manually created with the Investments Fallback flow.") + + public Boolean getIsInvestmentsFallbackItem() { + return isInvestmentsFallbackItem; + } + + + public void setIsInvestmentsFallbackItem(Boolean isInvestmentsFallbackItem) { + this.isInvestmentsFallbackItem = isInvestmentsFallbackItem; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsHoldingsGetResponse investmentsHoldingsGetResponse = (InvestmentsHoldingsGetResponse) o; + return Objects.equals(this.accounts, investmentsHoldingsGetResponse.accounts) && + Objects.equals(this.holdings, investmentsHoldingsGetResponse.holdings) && + Objects.equals(this.securities, investmentsHoldingsGetResponse.securities) && + Objects.equals(this.item, investmentsHoldingsGetResponse.item) && + Objects.equals(this.requestId, investmentsHoldingsGetResponse.requestId) && + Objects.equals(this.isInvestmentsFallbackItem, investmentsHoldingsGetResponse.isInvestmentsFallbackItem); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, holdings, securities, item, requestId, isInvestmentsFallbackItem); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsHoldingsGetResponse {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" holdings: ").append(toIndentedString(holdings)).append("\n"); + sb.append(" securities: ").append(toIndentedString(securities)).append("\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" isInvestmentsFallbackItem: ").append(toIndentedString(isInvestmentsFallbackItem)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsRefreshRequest.java b/src/main/java/com/plaid/client/model/InvestmentsRefreshRequest.java new file mode 100644 index 0000000000..5ed2b001dd --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsRefreshRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * InvestmentsRefreshRequest defines the request schema for `/investments/refresh` + */ +@ApiModel(description = "InvestmentsRefreshRequest defines the request schema for `/investments/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsRefreshRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public InvestmentsRefreshRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public InvestmentsRefreshRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public InvestmentsRefreshRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsRefreshRequest investmentsRefreshRequest = (InvestmentsRefreshRequest) o; + return Objects.equals(this.clientId, investmentsRefreshRequest.clientId) && + Objects.equals(this.accessToken, investmentsRefreshRequest.accessToken) && + Objects.equals(this.secret, investmentsRefreshRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, accessToken, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsRefreshRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsRefreshResponse.java b/src/main/java/com/plaid/client/model/InvestmentsRefreshResponse.java new file mode 100644 index 0000000000..d6cd13e9d7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsRefreshResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * InvestmentsRefreshResponse defines the response schema for `/investments/refresh` + */ +@ApiModel(description = "InvestmentsRefreshResponse defines the response schema for `/investments/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsRefreshResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public InvestmentsRefreshResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsRefreshResponse investmentsRefreshResponse = (InvestmentsRefreshResponse) o; + return Objects.equals(this.requestId, investmentsRefreshResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsRefreshResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsTransactionsGetRequest.java b/src/main/java/com/plaid/client/model/InvestmentsTransactionsGetRequest.java new file mode 100644 index 0000000000..33529ec00a --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsTransactionsGetRequest.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentsTransactionsGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * InvestmentsTransactionsGetRequest defines the request schema for `/investments/transactions/get` + */ +@ApiModel(description = "InvestmentsTransactionsGetRequest defines the request schema for `/investments/transactions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsTransactionsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private InvestmentsTransactionsGetRequestOptions options; + + + public InvestmentsTransactionsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public InvestmentsTransactionsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public InvestmentsTransactionsGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public InvestmentsTransactionsGetRequest startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The earliest date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD. + * @return startDate + **/ + @ApiModelProperty(required = true, value = "The earliest date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD.") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public InvestmentsTransactionsGetRequest endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The most recent date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD. + * @return endDate + **/ + @ApiModelProperty(required = true, value = "The most recent date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD.") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public InvestmentsTransactionsGetRequest options(InvestmentsTransactionsGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InvestmentsTransactionsGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(InvestmentsTransactionsGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsTransactionsGetRequest investmentsTransactionsGetRequest = (InvestmentsTransactionsGetRequest) o; + return Objects.equals(this.clientId, investmentsTransactionsGetRequest.clientId) && + Objects.equals(this.secret, investmentsTransactionsGetRequest.secret) && + Objects.equals(this.accessToken, investmentsTransactionsGetRequest.accessToken) && + Objects.equals(this.startDate, investmentsTransactionsGetRequest.startDate) && + Objects.equals(this.endDate, investmentsTransactionsGetRequest.endDate) && + Objects.equals(this.options, investmentsTransactionsGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, startDate, endDate, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsTransactionsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsTransactionsGetRequestOptions.java b/src/main/java/com/plaid/client/model/InvestmentsTransactionsGetRequestOptions.java new file mode 100644 index 0000000000..6137cced1d --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsTransactionsGetRequestOptions.java @@ -0,0 +1,199 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to filter `/investments/transactions/get` results. If provided, must be non-`null`. + */ +@ApiModel(description = "An optional object to filter `/investments/transactions/get` results. If provided, must be non-`null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsTransactionsGetRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 100; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + public static final String SERIALIZED_NAME_ASYNC_UPDATE = "async_update"; + @SerializedName(SERIALIZED_NAME_ASYNC_UPDATE) + private Boolean asyncUpdate = false; + + + public InvestmentsTransactionsGetRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public InvestmentsTransactionsGetRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * An array of `account_ids` to retrieve for the Item. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of `account_ids` to retrieve for the Item.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + public InvestmentsTransactionsGetRequestOptions count(Integer count) { + + this.count = count; + return this; + } + + /** + * The number of transactions to fetch. + * minimum: 1 + * maximum: 500 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of transactions to fetch. ") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public InvestmentsTransactionsGetRequestOptions offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The number of transactions to skip when fetching transaction history + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of transactions to skip when fetching transaction history") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + public InvestmentsTransactionsGetRequestOptions asyncUpdate(Boolean asyncUpdate) { + + this.asyncUpdate = asyncUpdate; + return this; + } + + /** + * If the Item was not initialized with the investments product via the `products`, `required_if_supported_products`, or `optional_products` array when calling `/link/token/create`, and `async_update` is set to true, the initial Investments extraction will happen asynchronously. Plaid will subsequently fire a `HISTORICAL_UPDATE` webhook when the extraction completes. When `false`, Plaid will wait to return a response until extraction completion and no `HISTORICAL_UPDATE` webhook will fire. Note that while the extraction is happening asynchronously, calls to `/investments/transactions/get` and `/investments/refresh` will return `PRODUCT_NOT_READY` errors until the extraction completes. + * @return asyncUpdate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If the Item was not initialized with the investments product via the `products`, `required_if_supported_products`, or `optional_products` array when calling `/link/token/create`, and `async_update` is set to true, the initial Investments extraction will happen asynchronously. Plaid will subsequently fire a `HISTORICAL_UPDATE` webhook when the extraction completes. When `false`, Plaid will wait to return a response until extraction completion and no `HISTORICAL_UPDATE` webhook will fire. Note that while the extraction is happening asynchronously, calls to `/investments/transactions/get` and `/investments/refresh` will return `PRODUCT_NOT_READY` errors until the extraction completes.") + + public Boolean getAsyncUpdate() { + return asyncUpdate; + } + + + public void setAsyncUpdate(Boolean asyncUpdate) { + this.asyncUpdate = asyncUpdate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsTransactionsGetRequestOptions investmentsTransactionsGetRequestOptions = (InvestmentsTransactionsGetRequestOptions) o; + return Objects.equals(this.accountIds, investmentsTransactionsGetRequestOptions.accountIds) && + Objects.equals(this.count, investmentsTransactionsGetRequestOptions.count) && + Objects.equals(this.offset, investmentsTransactionsGetRequestOptions.offset) && + Objects.equals(this.asyncUpdate, investmentsTransactionsGetRequestOptions.asyncUpdate); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds, count, offset, asyncUpdate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsTransactionsGetRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append(" asyncUpdate: ").append(toIndentedString(asyncUpdate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsTransactionsGetResponse.java b/src/main/java/com/plaid/client/model/InvestmentsTransactionsGetResponse.java new file mode 100644 index 0000000000..2516cb62bb --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsTransactionsGetResponse.java @@ -0,0 +1,288 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentAccount; +import com.plaid.client.model.InvestmentTransaction; +import com.plaid.client.model.Item; +import com.plaid.client.model.Security; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * InvestmentsTransactionsGetResponse defines the response schema for `/investments/transactions/get` + */ +@ApiModel(description = "InvestmentsTransactionsGetResponse defines the response schema for `/investments/transactions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsTransactionsGetResponse { + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SECURITIES = "securities"; + @SerializedName(SERIALIZED_NAME_SECURITIES) + private List securities = new ArrayList<>(); + + public static final String SERIALIZED_NAME_INVESTMENT_TRANSACTIONS = "investment_transactions"; + @SerializedName(SERIALIZED_NAME_INVESTMENT_TRANSACTIONS) + private List investmentTransactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TOTAL_INVESTMENT_TRANSACTIONS = "total_investment_transactions"; + @SerializedName(SERIALIZED_NAME_TOTAL_INVESTMENT_TRANSACTIONS) + private Integer totalInvestmentTransactions; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_IS_INVESTMENTS_FALLBACK_ITEM = "is_investments_fallback_item"; + @SerializedName(SERIALIZED_NAME_IS_INVESTMENTS_FALLBACK_ITEM) + private Boolean isInvestmentsFallbackItem; + + + public InvestmentsTransactionsGetResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public InvestmentsTransactionsGetResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public InvestmentsTransactionsGetResponse addAccountsItem(InvestmentAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * The accounts for which transaction history is being fetched. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "The accounts for which transaction history is being fetched.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public InvestmentsTransactionsGetResponse securities(List securities) { + + this.securities = securities; + return this; + } + + public InvestmentsTransactionsGetResponse addSecuritiesItem(Security securitiesItem) { + this.securities.add(securitiesItem); + return this; + } + + /** + * All securities for which there is a corresponding transaction being fetched. + * @return securities + **/ + @ApiModelProperty(required = true, value = "All securities for which there is a corresponding transaction being fetched.") + + public List getSecurities() { + return securities; + } + + + public void setSecurities(List securities) { + this.securities = securities; + } + + + public InvestmentsTransactionsGetResponse investmentTransactions(List investmentTransactions) { + + this.investmentTransactions = investmentTransactions; + return this; + } + + public InvestmentsTransactionsGetResponse addInvestmentTransactionsItem(InvestmentTransaction investmentTransactionsItem) { + this.investmentTransactions.add(investmentTransactionsItem); + return this; + } + + /** + * The transactions being fetched + * @return investmentTransactions + **/ + @ApiModelProperty(required = true, value = "The transactions being fetched") + + public List getInvestmentTransactions() { + return investmentTransactions; + } + + + public void setInvestmentTransactions(List investmentTransactions) { + this.investmentTransactions = investmentTransactions; + } + + + public InvestmentsTransactionsGetResponse totalInvestmentTransactions(Integer totalInvestmentTransactions) { + + this.totalInvestmentTransactions = totalInvestmentTransactions; + return this; + } + + /** + * The total number of transactions available within the date range specified. If `total_investment_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched via manipulating the `offset` parameter. + * @return totalInvestmentTransactions + **/ + @ApiModelProperty(required = true, value = "The total number of transactions available within the date range specified. If `total_investment_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched via manipulating the `offset` parameter.") + + public Integer getTotalInvestmentTransactions() { + return totalInvestmentTransactions; + } + + + public void setTotalInvestmentTransactions(Integer totalInvestmentTransactions) { + this.totalInvestmentTransactions = totalInvestmentTransactions; + } + + + public InvestmentsTransactionsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public InvestmentsTransactionsGetResponse isInvestmentsFallbackItem(Boolean isInvestmentsFallbackItem) { + + this.isInvestmentsFallbackItem = isInvestmentsFallbackItem; + return this; + } + + /** + * When true, this field indicates that the Item's portfolio was manually created with the Investments Fallback flow. + * @return isInvestmentsFallbackItem + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When true, this field indicates that the Item's portfolio was manually created with the Investments Fallback flow.") + + public Boolean getIsInvestmentsFallbackItem() { + return isInvestmentsFallbackItem; + } + + + public void setIsInvestmentsFallbackItem(Boolean isInvestmentsFallbackItem) { + this.isInvestmentsFallbackItem = isInvestmentsFallbackItem; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsTransactionsGetResponse investmentsTransactionsGetResponse = (InvestmentsTransactionsGetResponse) o; + return Objects.equals(this.item, investmentsTransactionsGetResponse.item) && + Objects.equals(this.accounts, investmentsTransactionsGetResponse.accounts) && + Objects.equals(this.securities, investmentsTransactionsGetResponse.securities) && + Objects.equals(this.investmentTransactions, investmentsTransactionsGetResponse.investmentTransactions) && + Objects.equals(this.totalInvestmentTransactions, investmentsTransactionsGetResponse.totalInvestmentTransactions) && + Objects.equals(this.requestId, investmentsTransactionsGetResponse.requestId) && + Objects.equals(this.isInvestmentsFallbackItem, investmentsTransactionsGetResponse.isInvestmentsFallbackItem); + } + + @Override + public int hashCode() { + return Objects.hash(item, accounts, securities, investmentTransactions, totalInvestmentTransactions, requestId, isInvestmentsFallbackItem); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsTransactionsGetResponse {\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" securities: ").append(toIndentedString(securities)).append("\n"); + sb.append(" investmentTransactions: ").append(toIndentedString(investmentTransactions)).append("\n"); + sb.append(" totalInvestmentTransactions: ").append(toIndentedString(totalInvestmentTransactions)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" isInvestmentsFallbackItem: ").append(toIndentedString(isInvestmentsFallbackItem)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/InvestmentsTransactionsOverride.java b/src/main/java/com/plaid/client/model/InvestmentsTransactionsOverride.java new file mode 100644 index 0000000000..b3cf919fb8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/InvestmentsTransactionsOverride.java @@ -0,0 +1,298 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SecurityOverride; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Specify the list of investments transactions on the account. + */ +@ApiModel(description = "Specify the list of investments transactions on the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class InvestmentsTransactionsOverride { + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_QUANTITY = "quantity"; + @SerializedName(SERIALIZED_NAME_QUANTITY) + private Double quantity; + + public static final String SERIALIZED_NAME_PRICE = "price"; + @SerializedName(SERIALIZED_NAME_PRICE) + private Double price; + + public static final String SERIALIZED_NAME_FEES = "fees"; + @SerializedName(SERIALIZED_NAME_FEES) + private Double fees; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private String currency; + + public static final String SERIALIZED_NAME_SECURITY = "security"; + @SerializedName(SERIALIZED_NAME_SECURITY) + private SecurityOverride security; + + + public InvestmentsTransactionsOverride date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * Posting date for the transaction. Must be formatted as an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) date. + * @return date + **/ + @ApiModelProperty(required = true, value = "Posting date for the transaction. Must be formatted as an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) date.") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public InvestmentsTransactionsOverride name(String name) { + + this.name = name; + return this; + } + + /** + * The institution's description of the transaction. + * @return name + **/ + @ApiModelProperty(required = true, value = "The institution's description of the transaction.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public InvestmentsTransactionsOverride quantity(Double quantity) { + + this.quantity = quantity; + return this; + } + + /** + * The number of units of the security involved in this transaction. Must be positive if the type is a buy and negative if the type is a sell. + * @return quantity + **/ + @ApiModelProperty(required = true, value = "The number of units of the security involved in this transaction. Must be positive if the type is a buy and negative if the type is a sell.") + + public Double getQuantity() { + return quantity; + } + + + public void setQuantity(Double quantity) { + this.quantity = quantity; + } + + + public InvestmentsTransactionsOverride price(Double price) { + + this.price = price; + return this; + } + + /** + * The price of the security at which this transaction occurred. + * @return price + **/ + @ApiModelProperty(required = true, value = "The price of the security at which this transaction occurred.") + + public Double getPrice() { + return price; + } + + + public void setPrice(Double price) { + this.price = price; + } + + + public InvestmentsTransactionsOverride fees(Double fees) { + + this.fees = fees; + return this; + } + + /** + * The combined value of all fees applied to this transaction. + * @return fees + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The combined value of all fees applied to this transaction.") + + public Double getFees() { + return fees; + } + + + public void setFees(Double fees) { + this.fees = fees; + } + + + public InvestmentsTransactionsOverride type(String type) { + + this.type = type; + return this; + } + + /** + * The type of the investment transaction. Possible values are: `buy`: Buying an investment `sell`: Selling an investment `cash`: Activity that modifies a cash position `fee`: A fee on the account `transfer`: Activity that modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of the investment transaction. Possible values are: `buy`: Buying an investment `sell`: Selling an investment `cash`: Activity that modifies a cash position `fee`: A fee on the account `transfer`: Activity that modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public InvestmentsTransactionsOverride currency(String currency) { + + this.currency = currency; + return this; + } + + /** + * Either a valid `iso_currency_code` or `unofficial_currency_code` + * @return currency + **/ + @ApiModelProperty(required = true, value = "Either a valid `iso_currency_code` or `unofficial_currency_code`") + + public String getCurrency() { + return currency; + } + + + public void setCurrency(String currency) { + this.currency = currency; + } + + + public InvestmentsTransactionsOverride security(SecurityOverride security) { + + this.security = security; + return this; + } + + /** + * Get security + * @return security + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SecurityOverride getSecurity() { + return security; + } + + + public void setSecurity(SecurityOverride security) { + this.security = security; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InvestmentsTransactionsOverride investmentsTransactionsOverride = (InvestmentsTransactionsOverride) o; + return Objects.equals(this.date, investmentsTransactionsOverride.date) && + Objects.equals(this.name, investmentsTransactionsOverride.name) && + Objects.equals(this.quantity, investmentsTransactionsOverride.quantity) && + Objects.equals(this.price, investmentsTransactionsOverride.price) && + Objects.equals(this.fees, investmentsTransactionsOverride.fees) && + Objects.equals(this.type, investmentsTransactionsOverride.type) && + Objects.equals(this.currency, investmentsTransactionsOverride.currency) && + Objects.equals(this.security, investmentsTransactionsOverride.security); + } + + @Override + public int hashCode() { + return Objects.hash(date, name, quantity, price, fees, type, currency, security); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InvestmentsTransactionsOverride {\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); + sb.append(" price: ").append(toIndentedString(price)).append("\n"); + sb.append(" fees: ").append(toIndentedString(fees)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" security: ").append(toIndentedString(security)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Issue.java b/src/main/java/com/plaid/client/model/Issue.java new file mode 100644 index 0000000000..585a3bde4b --- /dev/null +++ b/src/main/java/com/plaid/client/model/Issue.java @@ -0,0 +1,293 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IssuesStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Information on an issue encountered with financial institution interactions during Linking. + */ +@ApiModel(description = "Information on an issue encountered with financial institution interactions during Linking.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Issue { + public static final String SERIALIZED_NAME_ISSUE_ID = "issue_id"; + @SerializedName(SERIALIZED_NAME_ISSUE_ID) + private String issueId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAMES = "institution_names"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAMES) + private List institutionNames = null; + + public static final String SERIALIZED_NAME_INSTITUTION_IDS = "institution_ids"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_IDS) + private List institutionIds = null; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_SUMMARY = "summary"; + @SerializedName(SERIALIZED_NAME_SUMMARY) + private String summary; + + public static final String SERIALIZED_NAME_DETAILED_DESCRIPTION = "detailed_description"; + @SerializedName(SERIALIZED_NAME_DETAILED_DESCRIPTION) + private String detailedDescription; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private IssuesStatus status; + + + public Issue issueId(String issueId) { + + this.issueId = issueId; + return this; + } + + /** + * The unique identifier of the issue. + * @return issueId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unique identifier of the issue.") + + public String getIssueId() { + return issueId; + } + + + public void setIssueId(String issueId) { + this.issueId = issueId; + } + + + public Issue institutionNames(List institutionNames) { + + this.institutionNames = institutionNames; + return this; + } + + public Issue addInstitutionNamesItem(String institutionNamesItem) { + if (this.institutionNames == null) { + this.institutionNames = new ArrayList<>(); + } + this.institutionNames.add(institutionNamesItem); + return this; + } + + /** + * A list of names of the financial institutions affected. + * @return institutionNames + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of names of the financial institutions affected.") + + public List getInstitutionNames() { + return institutionNames; + } + + + public void setInstitutionNames(List institutionNames) { + this.institutionNames = institutionNames; + } + + + public Issue institutionIds(List institutionIds) { + + this.institutionIds = institutionIds; + return this; + } + + public Issue addInstitutionIdsItem(String institutionIdsItem) { + if (this.institutionIds == null) { + this.institutionIds = new ArrayList<>(); + } + this.institutionIds.add(institutionIdsItem); + return this; + } + + /** + * A list of ids of the financial institutions affected. + * @return institutionIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of ids of the financial institutions affected.") + + public List getInstitutionIds() { + return institutionIds; + } + + + public void setInstitutionIds(List institutionIds) { + this.institutionIds = institutionIds; + } + + + public Issue createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * The creation time of the record tracking this issue. + * @return createdAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The creation time of the record tracking this issue.") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public Issue summary(String summary) { + + this.summary = summary; + return this; + } + + /** + * A simple summary of the error for the end user. + * @return summary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A simple summary of the error for the end user.") + + public String getSummary() { + return summary; + } + + + public void setSummary(String summary) { + this.summary = summary; + } + + + public Issue detailedDescription(String detailedDescription) { + + this.detailedDescription = detailedDescription; + return this; + } + + /** + * A more detailed description for the customer. + * @return detailedDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A more detailed description for the customer.") + + public String getDetailedDescription() { + return detailedDescription; + } + + + public void setDetailedDescription(String detailedDescription) { + this.detailedDescription = detailedDescription; + } + + + public Issue status(IssuesStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IssuesStatus getStatus() { + return status; + } + + + public void setStatus(IssuesStatus status) { + this.status = status; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Issue issue = (Issue) o; + return Objects.equals(this.issueId, issue.issueId) && + Objects.equals(this.institutionNames, issue.institutionNames) && + Objects.equals(this.institutionIds, issue.institutionIds) && + Objects.equals(this.createdAt, issue.createdAt) && + Objects.equals(this.summary, issue.summary) && + Objects.equals(this.detailedDescription, issue.detailedDescription) && + Objects.equals(this.status, issue.status); + } + + @Override + public int hashCode() { + return Objects.hash(issueId, institutionNames, institutionIds, createdAt, summary, detailedDescription, status); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Issue {\n"); + sb.append(" issueId: ").append(toIndentedString(issueId)).append("\n"); + sb.append(" institutionNames: ").append(toIndentedString(institutionNames)).append("\n"); + sb.append(" institutionIds: ").append(toIndentedString(institutionIds)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append(" detailedDescription: ").append(toIndentedString(detailedDescription)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IssueResolvedWebhook.java b/src/main/java/com/plaid/client/model/IssueResolvedWebhook.java new file mode 100644 index 0000000000..718069043c --- /dev/null +++ b/src/main/java/com/plaid/client/model/IssueResolvedWebhook.java @@ -0,0 +1,267 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Webhook notifications are sent only when a subscribed issue is marked as resolved. The payload contains details about the issue at the time of its resolution, focusing on the most essential information. + */ +@ApiModel(description = "Webhook notifications are sent only when a subscribed issue is marked as resolved. The payload contains details about the issue at the time of its resolution, focusing on the most essential information.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IssueResolvedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ISSUE_ID = "issue_id"; + @SerializedName(SERIALIZED_NAME_ISSUE_ID) + private String issueId; + + public static final String SERIALIZED_NAME_ISSUE_DESCRIPTION = "issue_description"; + @SerializedName(SERIALIZED_NAME_ISSUE_DESCRIPTION) + private String issueDescription; + + public static final String SERIALIZED_NAME_ISSUE_RESOLVED_AT = "issue_resolved_at"; + @SerializedName(SERIALIZED_NAME_ISSUE_RESOLVED_AT) + private OffsetDateTime issueResolvedAt; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + + public IssueResolvedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `ISSUES` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`ISSUES`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public IssueResolvedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `ISSUE_RESOLVED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`ISSUE_RESOLVED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public IssueResolvedWebhook issueId(String issueId) { + + this.issueId = issueId; + return this; + } + + /** + * The unique identifier of the connectivity issue. + * @return issueId + **/ + @ApiModelProperty(required = true, value = "The unique identifier of the connectivity issue.") + + public String getIssueId() { + return issueId; + } + + + public void setIssueId(String issueId) { + this.issueId = issueId; + } + + + public IssueResolvedWebhook issueDescription(String issueDescription) { + + this.issueDescription = issueDescription; + return this; + } + + /** + * A simple description of the error for the end user. + * @return issueDescription + **/ + @ApiModelProperty(required = true, value = "A simple description of the error for the end user.") + + public String getIssueDescription() { + return issueDescription; + } + + + public void setIssueDescription(String issueDescription) { + this.issueDescription = issueDescription; + } + + + public IssueResolvedWebhook issueResolvedAt(OffsetDateTime issueResolvedAt) { + + this.issueResolvedAt = issueResolvedAt; + return this; + } + + /** + * The time when the issue was marked as resolved. + * @return issueResolvedAt + **/ + @ApiModelProperty(required = true, value = "The time when the issue was marked as resolved.") + + public OffsetDateTime getIssueResolvedAt() { + return issueResolvedAt; + } + + + public void setIssueResolvedAt(OffsetDateTime issueResolvedAt) { + this.issueResolvedAt = issueResolvedAt; + } + + + public IssueResolvedWebhook institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The unique identifier of the financial institution involved. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The unique identifier of the financial institution involved.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public IssueResolvedWebhook institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The name of the financial institution involved. + * @return institutionName + **/ + @ApiModelProperty(required = true, value = "The name of the financial institution involved.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IssueResolvedWebhook issueResolvedWebhook = (IssueResolvedWebhook) o; + return Objects.equals(this.webhookType, issueResolvedWebhook.webhookType) && + Objects.equals(this.webhookCode, issueResolvedWebhook.webhookCode) && + Objects.equals(this.issueId, issueResolvedWebhook.issueId) && + Objects.equals(this.issueDescription, issueResolvedWebhook.issueDescription) && + Objects.equals(this.issueResolvedAt, issueResolvedWebhook.issueResolvedAt) && + Objects.equals(this.institutionId, issueResolvedWebhook.institutionId) && + Objects.equals(this.institutionName, issueResolvedWebhook.institutionName); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, issueId, issueDescription, issueResolvedAt, institutionId, institutionName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IssueResolvedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" issueId: ").append(toIndentedString(issueId)).append("\n"); + sb.append(" issueDescription: ").append(toIndentedString(issueDescription)).append("\n"); + sb.append(" issueResolvedAt: ").append(toIndentedString(issueResolvedAt)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IssuesGetRequest.java b/src/main/java/com/plaid/client/model/IssuesGetRequest.java new file mode 100644 index 0000000000..43c2310a9c --- /dev/null +++ b/src/main/java/com/plaid/client/model/IssuesGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IssuesGetRequest defines the request schema for `/issues/get`. + */ +@ApiModel(description = "IssuesGetRequest defines the request schema for `/issues/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IssuesGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ISSUE_ID = "issue_id"; + @SerializedName(SERIALIZED_NAME_ISSUE_ID) + private String issueId; + + + public IssuesGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IssuesGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IssuesGetRequest issueId(String issueId) { + + this.issueId = issueId; + return this; + } + + /** + * The unique identifier of the issue to retrieve. + * @return issueId + **/ + @ApiModelProperty(required = true, value = "The unique identifier of the issue to retrieve.") + + public String getIssueId() { + return issueId; + } + + + public void setIssueId(String issueId) { + this.issueId = issueId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IssuesGetRequest issuesGetRequest = (IssuesGetRequest) o; + return Objects.equals(this.clientId, issuesGetRequest.clientId) && + Objects.equals(this.secret, issuesGetRequest.secret) && + Objects.equals(this.issueId, issuesGetRequest.issueId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, issueId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IssuesGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" issueId: ").append(toIndentedString(issueId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IssuesGetResponse.java b/src/main/java/com/plaid/client/model/IssuesGetResponse.java new file mode 100644 index 0000000000..7f089ced0b --- /dev/null +++ b/src/main/java/com/plaid/client/model/IssuesGetResponse.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Issue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IssuesGetResponse defines the response schema for `/issues/get`. + */ +@ApiModel(description = "IssuesGetResponse defines the response schema for `/issues/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IssuesGetResponse { + public static final String SERIALIZED_NAME_ISSUE = "issue"; + @SerializedName(SERIALIZED_NAME_ISSUE) + private Issue issue; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IssuesGetResponse issue(Issue issue) { + + this.issue = issue; + return this; + } + + /** + * Get issue + * @return issue + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Issue getIssue() { + return issue; + } + + + public void setIssue(Issue issue) { + this.issue = issue; + } + + + public IssuesGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IssuesGetResponse issuesGetResponse = (IssuesGetResponse) o; + return Objects.equals(this.issue, issuesGetResponse.issue) && + Objects.equals(this.requestId, issuesGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(issue, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IssuesGetResponse {\n"); + sb.append(" issue: ").append(toIndentedString(issue)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IssuesSearchRequest.java b/src/main/java/com/plaid/client/model/IssuesSearchRequest.java new file mode 100644 index 0000000000..c7c2235a86 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IssuesSearchRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IssuesSearchRequest defines the request schema for `/issues/search`. + */ +@ApiModel(description = "IssuesSearchRequest defines the request schema for `/issues/search`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IssuesSearchRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_LINK_SESSION_REQUEST_ID = "link_session_request_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_REQUEST_ID) + private String linkSessionRequestId; + + + public IssuesSearchRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IssuesSearchRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IssuesSearchRequest itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * A unique identifier for the Plaid Item. + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the Plaid Item.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public IssuesSearchRequest linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * A unique identifier for the Link session. + * @return linkSessionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the Link session.") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public IssuesSearchRequest linkSessionRequestId(String linkSessionRequestId) { + + this.linkSessionRequestId = linkSessionRequestId; + return this; + } + + /** + * The `request_id` for the Link session that might have had an institution connection issue. + * @return linkSessionRequestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `request_id` for the Link session that might have had an institution connection issue.") + + public String getLinkSessionRequestId() { + return linkSessionRequestId; + } + + + public void setLinkSessionRequestId(String linkSessionRequestId) { + this.linkSessionRequestId = linkSessionRequestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IssuesSearchRequest issuesSearchRequest = (IssuesSearchRequest) o; + return Objects.equals(this.clientId, issuesSearchRequest.clientId) && + Objects.equals(this.secret, issuesSearchRequest.secret) && + Objects.equals(this.itemId, issuesSearchRequest.itemId) && + Objects.equals(this.linkSessionId, issuesSearchRequest.linkSessionId) && + Objects.equals(this.linkSessionRequestId, issuesSearchRequest.linkSessionRequestId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, itemId, linkSessionId, linkSessionRequestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IssuesSearchRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" linkSessionRequestId: ").append(toIndentedString(linkSessionRequestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IssuesSearchResponse.java b/src/main/java/com/plaid/client/model/IssuesSearchResponse.java new file mode 100644 index 0000000000..11363efba9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IssuesSearchResponse.java @@ -0,0 +1,139 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Issue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * IssuesSearchResponse defines the response schema for `/issues/search`. + */ +@ApiModel(description = "IssuesSearchResponse defines the response schema for `/issues/search`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IssuesSearchResponse { + public static final String SERIALIZED_NAME_ISSUES = "issues"; + @SerializedName(SERIALIZED_NAME_ISSUES) + private List issues = null; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IssuesSearchResponse issues(List issues) { + + this.issues = issues; + return this; + } + + public IssuesSearchResponse addIssuesItem(Issue issuesItem) { + if (this.issues == null) { + this.issues = new ArrayList<>(); + } + this.issues.add(issuesItem); + return this; + } + + /** + * A list of issues affecting the Item, session, or request passed in, conforming to the Issues data model. An empty list indicates that no matching issues were found. + * @return issues + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of issues affecting the Item, session, or request passed in, conforming to the Issues data model. An empty list indicates that no matching issues were found.") + + public List getIssues() { + return issues; + } + + + public void setIssues(List issues) { + this.issues = issues; + } + + + public IssuesSearchResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IssuesSearchResponse issuesSearchResponse = (IssuesSearchResponse) o; + return Objects.equals(this.issues, issuesSearchResponse.issues) && + Objects.equals(this.requestId, issuesSearchResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(issues, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IssuesSearchResponse {\n"); + sb.append(" issues: ").append(toIndentedString(issues)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IssuesStatus.java b/src/main/java/com/plaid/client/model/IssuesStatus.java new file mode 100644 index 0000000000..64941bbaf1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IssuesStatus.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The current status of the issue. + */ +@JsonAdapter(IssuesStatus.Adapter.class) +public enum IssuesStatus { + + REPORTED("REPORTED"), + + AWAITING_RESOLUTION("AWAITING_RESOLUTION"), + + FIX_IN_PROGRESS("FIX_IN_PROGRESS"), + + FIX_PENDING_VALIDATION("FIX_PENDING_VALIDATION"), + + CANNOT_FIX("CANNOT_FIX"), + + RESOLVED("RESOLVED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IssuesStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IssuesStatus fromValue(String value) { + for (IssuesStatus b : IssuesStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return IssuesStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IssuesStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IssuesStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IssuesStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/IssuesSubscribeRequest.java b/src/main/java/com/plaid/client/model/IssuesSubscribeRequest.java new file mode 100644 index 0000000000..cafc1d9455 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IssuesSubscribeRequest.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IssuesSubscribeRequest defines the request schema for `/issues/subscribe`. + */ +@ApiModel(description = "IssuesSubscribeRequest defines the request schema for `/issues/subscribe`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IssuesSubscribeRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ISSUE_ID = "issue_id"; + @SerializedName(SERIALIZED_NAME_ISSUE_ID) + private String issueId; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public IssuesSubscribeRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public IssuesSubscribeRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public IssuesSubscribeRequest issueId(String issueId) { + + this.issueId = issueId; + return this; + } + + /** + * The unique identifier of the issue to subscribe to. + * @return issueId + **/ + @ApiModelProperty(required = true, value = "The unique identifier of the issue to subscribe to.") + + public String getIssueId() { + return issueId; + } + + + public void setIssueId(String issueId) { + this.issueId = issueId; + } + + + public IssuesSubscribeRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The webhook URL where notifications should be sent when the issue status changes. + * @return webhook + **/ + @ApiModelProperty(required = true, value = "The webhook URL where notifications should be sent when the issue status changes.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IssuesSubscribeRequest issuesSubscribeRequest = (IssuesSubscribeRequest) o; + return Objects.equals(this.clientId, issuesSubscribeRequest.clientId) && + Objects.equals(this.secret, issuesSubscribeRequest.secret) && + Objects.equals(this.issueId, issuesSubscribeRequest.issueId) && + Objects.equals(this.webhook, issuesSubscribeRequest.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, issueId, webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IssuesSubscribeRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" issueId: ").append(toIndentedString(issueId)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IssuesSubscribeResponse.java b/src/main/java/com/plaid/client/model/IssuesSubscribeResponse.java new file mode 100644 index 0000000000..29278ff67e --- /dev/null +++ b/src/main/java/com/plaid/client/model/IssuesSubscribeResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IssuesSubscribeResponse defines the response schema for `/issues/subscribe`. + */ +@ApiModel(description = "IssuesSubscribeResponse defines the response schema for `/issues/subscribe`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class IssuesSubscribeResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public IssuesSubscribeResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IssuesSubscribeResponse issuesSubscribeResponse = (IssuesSubscribeResponse) o; + return Objects.equals(this.requestId, issuesSubscribeResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IssuesSubscribeResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/IssuingCountry.java b/src/main/java/com/plaid/client/model/IssuingCountry.java new file mode 100644 index 0000000000..7bb513feb6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/IssuingCountry.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A binary match indicator specifying whether the country that issued the provided document matches the country that the user separately provided to Plaid. Note: You can configure whether a `no_match` on `issuing_country` fails the `documentary_verification` by editing your Plaid Template. + */ +@JsonAdapter(IssuingCountry.Adapter.class) +public enum IssuingCountry { + + MATCH("match"), + + NO_MATCH("no_match"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + IssuingCountry(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IssuingCountry fromValue(String value) { + for (IssuingCountry b : IssuingCountry.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return IssuingCountry.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IssuingCountry enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IssuingCountry read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IssuingCountry.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/Item.java b/src/main/java/com/plaid/client/model/Item.java new file mode 100644 index 0000000000..d3136427b7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Item.java @@ -0,0 +1,493 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ItemAuthMethod; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Metadata about the Item. + */ +@ApiModel(description = "Metadata about the Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Item { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + public static final String SERIALIZED_NAME_AUTH_METHOD = "auth_method"; + @SerializedName(SERIALIZED_NAME_AUTH_METHOD) + private ItemAuthMethod authMethod; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_AVAILABLE_PRODUCTS = "available_products"; + @SerializedName(SERIALIZED_NAME_AVAILABLE_PRODUCTS) + private List availableProducts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_BILLED_PRODUCTS = "billed_products"; + @SerializedName(SERIALIZED_NAME_BILLED_PRODUCTS) + private List billedProducts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = null; + + public static final String SERIALIZED_NAME_CONSENTED_PRODUCTS = "consented_products"; + @SerializedName(SERIALIZED_NAME_CONSENTED_PRODUCTS) + private List consentedProducts = null; + + public static final String SERIALIZED_NAME_CONSENT_EXPIRATION_TIME = "consent_expiration_time"; + @SerializedName(SERIALIZED_NAME_CONSENT_EXPIRATION_TIME) + private OffsetDateTime consentExpirationTime; + + /** + * Indicates whether an Item requires user interaction to be updated, which can be the case for Items with some forms of two-factor authentication. `background` - Item can be updated in the background `user_present_required` - Item requires user interaction to be updated + */ + @JsonAdapter(UpdateTypeEnum.Adapter.class) + public enum UpdateTypeEnum { + BACKGROUND("background"), + + USER_PRESENT_REQUIRED("user_present_required"); + + private String value; + + UpdateTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static UpdateTypeEnum fromValue(String value) { + for (UpdateTypeEnum b : UpdateTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final UpdateTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public UpdateTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return UpdateTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_UPDATE_TYPE = "update_type"; + @SerializedName(SERIALIZED_NAME_UPDATE_TYPE) + private UpdateTypeEnum updateType; + + + public Item itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public Item institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The Plaid Institution ID associated with the Item. Field is `null` for Items created without an institution connection, such as Items created via Same-Day Micro-deposits. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid Institution ID associated with the Item. Field is `null` for Items created without an institution connection, such as Items created via Same-Day Micro-deposits.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public Item institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The name of the institution associated with the Item. Field is `null` for Items created without an institution connection, such as Items created via Same-Day Micro-deposits. + * @return institutionName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the institution associated with the Item. Field is `null` for Items created without an institution connection, such as Items created via Same-Day Micro-deposits.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public Item webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The URL registered to receive webhooks for the Item. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The URL registered to receive webhooks for the Item.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + public Item authMethod(ItemAuthMethod authMethod) { + + this.authMethod = authMethod; + return this; + } + + /** + * Get authMethod + * @return authMethod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ItemAuthMethod getAuthMethod() { + return authMethod; + } + + + public void setAuthMethod(ItemAuthMethod authMethod) { + this.authMethod = authMethod; + } + + + public Item error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public Item availableProducts(List availableProducts) { + + this.availableProducts = availableProducts; + return this; + } + + public Item addAvailableProductsItem(Products availableProductsItem) { + this.availableProducts.add(availableProductsItem); + return this; + } + + /** + * A list of products available for the Item that have not yet been accessed. The contents of this array will be mutually exclusive with `billed_products`. + * @return availableProducts + **/ + @ApiModelProperty(required = true, value = "A list of products available for the Item that have not yet been accessed. The contents of this array will be mutually exclusive with `billed_products`.") + + public List getAvailableProducts() { + return availableProducts; + } + + + public void setAvailableProducts(List availableProducts) { + this.availableProducts = availableProducts; + } + + + public Item billedProducts(List billedProducts) { + + this.billedProducts = billedProducts; + return this; + } + + public Item addBilledProductsItem(Products billedProductsItem) { + this.billedProducts.add(billedProductsItem); + return this; + } + + /** + * A list of products that have been billed for the Item. The contents of this array will be mutually exclusive with `available_products`. Note - `billed_products` is populated in all environments but only requests in Production are billed. Also note that products that are billed on a pay-per-call basis rather than a pay-per-Item basis, such as `balance`, will not appear here. + * @return billedProducts + **/ + @ApiModelProperty(required = true, value = "A list of products that have been billed for the Item. The contents of this array will be mutually exclusive with `available_products`. Note - `billed_products` is populated in all environments but only requests in Production are billed. Also note that products that are billed on a pay-per-call basis rather than a pay-per-Item basis, such as `balance`, will not appear here. ") + + public List getBilledProducts() { + return billedProducts; + } + + + public void setBilledProducts(List billedProducts) { + this.billedProducts = billedProducts; + } + + + public Item products(List products) { + + this.products = products; + return this; + } + + public Item addProductsItem(Products productsItem) { + if (this.products == null) { + this.products = new ArrayList<>(); + } + this.products.add(productsItem); + return this; + } + + /** + * A list of products added to the Item. In almost all cases, this will be the same as the `billed_products` field. For some products, it is possible for the product to be added to an Item but not yet billed (e.g. Assets, before `/asset_report/create` has been called, or Auth or Identity when added as Optional Products but before their endpoints have been called), in which case the product may appear in `products` but not in `billed_products`. + * @return products + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of products added to the Item. In almost all cases, this will be the same as the `billed_products` field. For some products, it is possible for the product to be added to an Item but not yet billed (e.g. Assets, before `/asset_report/create` has been called, or Auth or Identity when added as Optional Products but before their endpoints have been called), in which case the product may appear in `products` but not in `billed_products`. ") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + public Item consentedProducts(List consentedProducts) { + + this.consentedProducts = consentedProducts; + return this; + } + + public Item addConsentedProductsItem(Products consentedProductsItem) { + if (this.consentedProducts == null) { + this.consentedProducts = new ArrayList<>(); + } + this.consentedProducts.add(consentedProductsItem); + return this; + } + + /** + * A list of products that the user has consented to for the Item via [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide). This will consist of all products where both of the following are true: the user has consented to the required data scopes for that product and you have Production access for that product. + * @return consentedProducts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of products that the user has consented to for the Item via [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide). This will consist of all products where both of the following are true: the user has consented to the required data scopes for that product and you have Production access for that product. ") + + public List getConsentedProducts() { + return consentedProducts; + } + + + public void setConsentedProducts(List consentedProducts) { + this.consentedProducts = consentedProducts; + } + + + public Item consentExpirationTime(OffsetDateTime consentExpirationTime) { + + this.consentExpirationTime = consentExpirationTime; + return this; + } + + /** + * The date and time at which the Item's access consent will expire, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. If the Item does not have consent expiration scheduled, this field will be `null`. Currently, only institutions in Europe and a small number of institutions in the US have expiring consent. For a list of US institutions that currently expire consent, see the [OAuth Guide](https://plaid.com/docs/link/oauth/#refreshing-item-consent). + * @return consentExpirationTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date and time at which the Item's access consent will expire, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. If the Item does not have consent expiration scheduled, this field will be `null`. Currently, only institutions in Europe and a small number of institutions in the US have expiring consent. For a list of US institutions that currently expire consent, see the [OAuth Guide](https://plaid.com/docs/link/oauth/#refreshing-item-consent).") + + public OffsetDateTime getConsentExpirationTime() { + return consentExpirationTime; + } + + + public void setConsentExpirationTime(OffsetDateTime consentExpirationTime) { + this.consentExpirationTime = consentExpirationTime; + } + + + public Item updateType(UpdateTypeEnum updateType) { + + this.updateType = updateType; + return this; + } + + /** + * Indicates whether an Item requires user interaction to be updated, which can be the case for Items with some forms of two-factor authentication. `background` - Item can be updated in the background `user_present_required` - Item requires user interaction to be updated + * @return updateType + **/ + @ApiModelProperty(required = true, value = "Indicates whether an Item requires user interaction to be updated, which can be the case for Items with some forms of two-factor authentication. `background` - Item can be updated in the background `user_present_required` - Item requires user interaction to be updated") + + public UpdateTypeEnum getUpdateType() { + return updateType; + } + + + public void setUpdateType(UpdateTypeEnum updateType) { + this.updateType = updateType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Item item = (Item) o; + return Objects.equals(this.itemId, item.itemId) && + Objects.equals(this.institutionId, item.institutionId) && + Objects.equals(this.institutionName, item.institutionName) && + Objects.equals(this.webhook, item.webhook) && + Objects.equals(this.authMethod, item.authMethod) && + Objects.equals(this.error, item.error) && + Objects.equals(this.availableProducts, item.availableProducts) && + Objects.equals(this.billedProducts, item.billedProducts) && + Objects.equals(this.products, item.products) && + Objects.equals(this.consentedProducts, item.consentedProducts) && + Objects.equals(this.consentExpirationTime, item.consentExpirationTime) && + Objects.equals(this.updateType, item.updateType); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, institutionId, institutionName, webhook, authMethod, error, availableProducts, billedProducts, products, consentedProducts, consentExpirationTime, updateType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Item {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append(" authMethod: ").append(toIndentedString(authMethod)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" availableProducts: ").append(toIndentedString(availableProducts)).append("\n"); + sb.append(" billedProducts: ").append(toIndentedString(billedProducts)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append(" consentedProducts: ").append(toIndentedString(consentedProducts)).append("\n"); + sb.append(" consentExpirationTime: ").append(toIndentedString(consentExpirationTime)).append("\n"); + sb.append(" updateType: ").append(toIndentedString(updateType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemAccessTokenInvalidateRequest.java b/src/main/java/com/plaid/client/model/ItemAccessTokenInvalidateRequest.java new file mode 100644 index 0000000000..19e1287448 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemAccessTokenInvalidateRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemAccessTokenInvalidateRequest defines the request schema for `/item/access_token/invalidate` + */ +@ApiModel(description = "ItemAccessTokenInvalidateRequest defines the request schema for `/item/access_token/invalidate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemAccessTokenInvalidateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + + public ItemAccessTokenInvalidateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ItemAccessTokenInvalidateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ItemAccessTokenInvalidateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemAccessTokenInvalidateRequest itemAccessTokenInvalidateRequest = (ItemAccessTokenInvalidateRequest) o; + return Objects.equals(this.clientId, itemAccessTokenInvalidateRequest.clientId) && + Objects.equals(this.secret, itemAccessTokenInvalidateRequest.secret) && + Objects.equals(this.accessToken, itemAccessTokenInvalidateRequest.accessToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemAccessTokenInvalidateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemAccessTokenInvalidateResponse.java b/src/main/java/com/plaid/client/model/ItemAccessTokenInvalidateResponse.java new file mode 100644 index 0000000000..4dd70b83a9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemAccessTokenInvalidateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemAccessTokenInvalidateResponse defines the response schema for `/item/access_token/invalidate` + */ +@ApiModel(description = "ItemAccessTokenInvalidateResponse defines the response schema for `/item/access_token/invalidate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemAccessTokenInvalidateResponse { + public static final String SERIALIZED_NAME_NEW_ACCESS_TOKEN = "new_access_token"; + @SerializedName(SERIALIZED_NAME_NEW_ACCESS_TOKEN) + private String newAccessToken; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ItemAccessTokenInvalidateResponse newAccessToken(String newAccessToken) { + + this.newAccessToken = newAccessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return newAccessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getNewAccessToken() { + return newAccessToken; + } + + + public void setNewAccessToken(String newAccessToken) { + this.newAccessToken = newAccessToken; + } + + + public ItemAccessTokenInvalidateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemAccessTokenInvalidateResponse itemAccessTokenInvalidateResponse = (ItemAccessTokenInvalidateResponse) o; + return Objects.equals(this.newAccessToken, itemAccessTokenInvalidateResponse.newAccessToken) && + Objects.equals(this.requestId, itemAccessTokenInvalidateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(newAccessToken, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemAccessTokenInvalidateResponse {\n"); + sb.append(" newAccessToken: ").append(toIndentedString(newAccessToken)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemActivityListRequest.java b/src/main/java/com/plaid/client/model/ItemActivityListRequest.java new file mode 100644 index 0000000000..9f7ece9585 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemActivityListRequest.java @@ -0,0 +1,217 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request to list a historical log of user consent events. + */ +@ApiModel(description = "Request to list a historical log of user consent events.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemActivityListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 50; + + + public ItemActivityListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ItemActivityListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ItemActivityListRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public ItemActivityListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * Cursor used for pagination. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Cursor used for pagination.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + public ItemActivityListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * Get count + * minimum: 1 + * maximum: 50 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemActivityListRequest itemActivityListRequest = (ItemActivityListRequest) o; + return Objects.equals(this.clientId, itemActivityListRequest.clientId) && + Objects.equals(this.secret, itemActivityListRequest.secret) && + Objects.equals(this.accessToken, itemActivityListRequest.accessToken) && + Objects.equals(this.cursor, itemActivityListRequest.cursor) && + Objects.equals(this.count, itemActivityListRequest.count); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, cursor, count); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemActivityListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemActivityListResponse.java b/src/main/java/com/plaid/client/model/ItemActivityListResponse.java new file mode 100644 index 0000000000..b8ddbe4dec --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemActivityListResponse.java @@ -0,0 +1,197 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Activity; +import com.plaid.client.model.LastDataAccessTimes; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Describes a historical log of user consent events. + */ +@ApiModel(description = "Describes a historical log of user consent events.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemActivityListResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_ACTIVITIES = "activities"; + @SerializedName(SERIALIZED_NAME_ACTIVITIES) + private List activities = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LAST_DATA_ACCESS_TIMES = "last_data_access_times"; + @SerializedName(SERIALIZED_NAME_LAST_DATA_ACCESS_TIMES) + private List lastDataAccessTimes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public ItemActivityListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public ItemActivityListResponse activities(List activities) { + + this.activities = activities; + return this; + } + + public ItemActivityListResponse addActivitiesItem(Activity activitiesItem) { + this.activities.add(activitiesItem); + return this; + } + + /** + * A list of activities. + * @return activities + **/ + @ApiModelProperty(required = true, value = "A list of activities.") + + public List getActivities() { + return activities; + } + + + public void setActivities(List activities) { + this.activities = activities; + } + + + public ItemActivityListResponse lastDataAccessTimes(List lastDataAccessTimes) { + + this.lastDataAccessTimes = lastDataAccessTimes; + return this; + } + + public ItemActivityListResponse addLastDataAccessTimesItem(LastDataAccessTimes lastDataAccessTimesItem) { + this.lastDataAccessTimes.add(lastDataAccessTimesItem); + return this; + } + + /** + * An array of objects containing timestamps for the last time each data type was accessed per application. + * @return lastDataAccessTimes + **/ + @ApiModelProperty(required = true, value = "An array of objects containing timestamps for the last time each data type was accessed per application.") + + public List getLastDataAccessTimes() { + return lastDataAccessTimes; + } + + + public void setLastDataAccessTimes(List lastDataAccessTimes) { + this.lastDataAccessTimes = lastDataAccessTimes; + } + + + public ItemActivityListResponse cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * Cursor used for pagination. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Cursor used for pagination.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemActivityListResponse itemActivityListResponse = (ItemActivityListResponse) o; + return Objects.equals(this.requestId, itemActivityListResponse.requestId) && + Objects.equals(this.activities, itemActivityListResponse.activities) && + Objects.equals(this.lastDataAccessTimes, itemActivityListResponse.lastDataAccessTimes) && + Objects.equals(this.cursor, itemActivityListResponse.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, activities, lastDataAccessTimes, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemActivityListResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" activities: ").append(toIndentedString(activities)).append("\n"); + sb.append(" lastDataAccessTimes: ").append(toIndentedString(lastDataAccessTimes)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemAddResultWebhook.java b/src/main/java/com/plaid/client/model/ItemAddResultWebhook.java new file mode 100644 index 0000000000..318dca4224 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemAddResultWebhook.java @@ -0,0 +1,239 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when a user successfully adds a Plaid Item during a Link session when using Hosted Link or Multi-Item Link sessions. Contains the public token for the Item. + */ +@ApiModel(description = "Fired when a user successfully adds a Plaid Item during a Link session when using Hosted Link or Multi-Item Link sessions. Contains the public token for the Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemAddResultWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_LINK_TOKEN = "link_token"; + @SerializedName(SERIALIZED_NAME_LINK_TOKEN) + private String linkToken; + + public static final String SERIALIZED_NAME_PUBLIC_TOKEN = "public_token"; + @SerializedName(SERIALIZED_NAME_PUBLIC_TOKEN) + private String publicToken; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ItemAddResultWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `LINK` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`LINK`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ItemAddResultWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `ITEM_ADD_RESULT` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`ITEM_ADD_RESULT`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ItemAddResultWebhook linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * The identifier for the Link session. + * @return linkSessionId + **/ + @ApiModelProperty(required = true, value = "The identifier for the Link session.") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public ItemAddResultWebhook linkToken(String linkToken) { + + this.linkToken = linkToken; + return this; + } + + /** + * The `link_token` used to create the Link session. + * @return linkToken + **/ + @ApiModelProperty(required = true, value = "The `link_token` used to create the Link session.") + + public String getLinkToken() { + return linkToken; + } + + + public void setLinkToken(String linkToken) { + this.linkToken = linkToken; + } + + + public ItemAddResultWebhook publicToken(String publicToken) { + + this.publicToken = publicToken; + return this; + } + + /** + * The `public_token` corresponding to the Item that was added. + * @return publicToken + **/ + @ApiModelProperty(required = true, value = "The `public_token` corresponding to the Item that was added.") + + public String getPublicToken() { + return publicToken; + } + + + public void setPublicToken(String publicToken) { + this.publicToken = publicToken; + } + + + public ItemAddResultWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemAddResultWebhook itemAddResultWebhook = (ItemAddResultWebhook) o; + return Objects.equals(this.webhookType, itemAddResultWebhook.webhookType) && + Objects.equals(this.webhookCode, itemAddResultWebhook.webhookCode) && + Objects.equals(this.linkSessionId, itemAddResultWebhook.linkSessionId) && + Objects.equals(this.linkToken, itemAddResultWebhook.linkToken) && + Objects.equals(this.publicToken, itemAddResultWebhook.publicToken) && + Objects.equals(this.environment, itemAddResultWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, linkSessionId, linkToken, publicToken, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemAddResultWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" linkToken: ").append(toIndentedString(linkToken)).append("\n"); + sb.append(" publicToken: ").append(toIndentedString(publicToken)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemApplicationListRequest.java b/src/main/java/com/plaid/client/model/ItemApplicationListRequest.java new file mode 100644 index 0000000000..f7cde2ffd8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemApplicationListRequest.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request to list connected applications for a user. + */ +@ApiModel(description = "Request to list connected applications for a user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemApplicationListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + + public ItemApplicationListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ItemApplicationListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ItemApplicationListRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemApplicationListRequest itemApplicationListRequest = (ItemApplicationListRequest) o; + return Objects.equals(this.clientId, itemApplicationListRequest.clientId) && + Objects.equals(this.secret, itemApplicationListRequest.secret) && + Objects.equals(this.accessToken, itemApplicationListRequest.accessToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemApplicationListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemApplicationListResponse.java b/src/main/java/com/plaid/client/model/ItemApplicationListResponse.java new file mode 100644 index 0000000000..85b6e2c0db --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemApplicationListResponse.java @@ -0,0 +1,135 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ConnectedApplication; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Describes the connected application for a particular end user. + */ +@ApiModel(description = "Describes the connected application for a particular end user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemApplicationListResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_APPLICATIONS = "applications"; + @SerializedName(SERIALIZED_NAME_APPLICATIONS) + private List applications = new ArrayList<>(); + + + public ItemApplicationListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public ItemApplicationListResponse applications(List applications) { + + this.applications = applications; + return this; + } + + public ItemApplicationListResponse addApplicationsItem(ConnectedApplication applicationsItem) { + this.applications.add(applicationsItem); + return this; + } + + /** + * A list of connected applications. + * @return applications + **/ + @ApiModelProperty(required = true, value = "A list of connected applications.") + + public List getApplications() { + return applications; + } + + + public void setApplications(List applications) { + this.applications = applications; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemApplicationListResponse itemApplicationListResponse = (ItemApplicationListResponse) o; + return Objects.equals(this.requestId, itemApplicationListResponse.requestId) && + Objects.equals(this.applications, itemApplicationListResponse.applications); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, applications); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemApplicationListResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" applications: ").append(toIndentedString(applications)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemApplicationListUserAuth.java b/src/main/java/com/plaid/client/model/ItemApplicationListUserAuth.java new file mode 100644 index 0000000000..ea18e5c648 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemApplicationListUserAuth.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * User authentication parameters, for clients making a request without an `access_token`. This is only allowed for select clients and will not be supported in the future. Most clients should call `/item/import` to obtain an access token before making a request. + */ +@ApiModel(description = "User authentication parameters, for clients making a request without an `access_token`. This is only allowed for select clients and will not be supported in the future. Most clients should call `/item/import` to obtain an access token before making a request.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemApplicationListUserAuth { + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_FI_USERNAME_HASH = "fi_username_hash"; + @SerializedName(SERIALIZED_NAME_FI_USERNAME_HASH) + private String fiUsernameHash; + + + public ItemApplicationListUserAuth userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Account username. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Account username.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public ItemApplicationListUserAuth fiUsernameHash(String fiUsernameHash) { + + this.fiUsernameHash = fiUsernameHash; + return this; + } + + /** + * Account username hashed by FI. + * @return fiUsernameHash + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Account username hashed by FI.") + + public String getFiUsernameHash() { + return fiUsernameHash; + } + + + public void setFiUsernameHash(String fiUsernameHash) { + this.fiUsernameHash = fiUsernameHash; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemApplicationListUserAuth itemApplicationListUserAuth = (ItemApplicationListUserAuth) o; + return Objects.equals(this.userId, itemApplicationListUserAuth.userId) && + Objects.equals(this.fiUsernameHash, itemApplicationListUserAuth.fiUsernameHash); + } + + @Override + public int hashCode() { + return Objects.hash(userId, fiUsernameHash); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemApplicationListUserAuth {\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" fiUsernameHash: ").append(toIndentedString(fiUsernameHash)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemApplicationScopesUpdateRequest.java b/src/main/java/com/plaid/client/model/ItemApplicationScopesUpdateRequest.java new file mode 100644 index 0000000000..b900d09ddb --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemApplicationScopesUpdateRequest.java @@ -0,0 +1,271 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Scopes; +import com.plaid.client.model.ScopesContext; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemApplicationScopesUpdateRequest defines the request schema for `/item/application/scopes/update` + */ +@ApiModel(description = "ItemApplicationScopesUpdateRequest defines the request schema for `/item/application/scopes/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemApplicationScopesUpdateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_APPLICATION_ID = "application_id"; + @SerializedName(SERIALIZED_NAME_APPLICATION_ID) + private String applicationId; + + public static final String SERIALIZED_NAME_SCOPES = "scopes"; + @SerializedName(SERIALIZED_NAME_SCOPES) + private Scopes scopes; + + public static final String SERIALIZED_NAME_STATE = "state"; + @SerializedName(SERIALIZED_NAME_STATE) + private String state; + + public static final String SERIALIZED_NAME_CONTEXT = "context"; + @SerializedName(SERIALIZED_NAME_CONTEXT) + private ScopesContext context; + + + public ItemApplicationScopesUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ItemApplicationScopesUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ItemApplicationScopesUpdateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public ItemApplicationScopesUpdateRequest applicationId(String applicationId) { + + this.applicationId = applicationId; + return this; + } + + /** + * This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect. + * @return applicationId + **/ + @ApiModelProperty(required = true, value = "This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect.") + + public String getApplicationId() { + return applicationId; + } + + + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + + public ItemApplicationScopesUpdateRequest scopes(Scopes scopes) { + + this.scopes = scopes; + return this; + } + + /** + * Get scopes + * @return scopes + **/ + @ApiModelProperty(required = true, value = "") + + public Scopes getScopes() { + return scopes; + } + + + public void setScopes(Scopes scopes) { + this.scopes = scopes; + } + + + public ItemApplicationScopesUpdateRequest state(String state) { + + this.state = state; + return this; + } + + /** + * When scopes are updated during enrollment, this field must be populated with the state sent to the partner in the OAuth Login URI. This field is required when the context is `ENROLLMENT`. + * @return state + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When scopes are updated during enrollment, this field must be populated with the state sent to the partner in the OAuth Login URI. This field is required when the context is `ENROLLMENT`.") + + public String getState() { + return state; + } + + + public void setState(String state) { + this.state = state; + } + + + public ItemApplicationScopesUpdateRequest context(ScopesContext context) { + + this.context = context; + return this; + } + + /** + * Get context + * @return context + **/ + @ApiModelProperty(required = true, value = "") + + public ScopesContext getContext() { + return context; + } + + + public void setContext(ScopesContext context) { + this.context = context; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemApplicationScopesUpdateRequest itemApplicationScopesUpdateRequest = (ItemApplicationScopesUpdateRequest) o; + return Objects.equals(this.clientId, itemApplicationScopesUpdateRequest.clientId) && + Objects.equals(this.secret, itemApplicationScopesUpdateRequest.secret) && + Objects.equals(this.accessToken, itemApplicationScopesUpdateRequest.accessToken) && + Objects.equals(this.applicationId, itemApplicationScopesUpdateRequest.applicationId) && + Objects.equals(this.scopes, itemApplicationScopesUpdateRequest.scopes) && + Objects.equals(this.state, itemApplicationScopesUpdateRequest.state) && + Objects.equals(this.context, itemApplicationScopesUpdateRequest.context); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, applicationId, scopes, state, context); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemApplicationScopesUpdateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); + sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append(" context: ").append(toIndentedString(context)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemApplicationScopesUpdateResponse.java b/src/main/java/com/plaid/client/model/ItemApplicationScopesUpdateResponse.java new file mode 100644 index 0000000000..d0e55144fe --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemApplicationScopesUpdateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemApplicationScopesUpdateResponse defines the response schema for `/item/application/scopes/update` + */ +@ApiModel(description = "ItemApplicationScopesUpdateResponse defines the response schema for `/item/application/scopes/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemApplicationScopesUpdateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ItemApplicationScopesUpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemApplicationScopesUpdateResponse itemApplicationScopesUpdateResponse = (ItemApplicationScopesUpdateResponse) o; + return Objects.equals(this.requestId, itemApplicationScopesUpdateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemApplicationScopesUpdateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemApplicationUnlinkRequest.java b/src/main/java/com/plaid/client/model/ItemApplicationUnlinkRequest.java new file mode 100644 index 0000000000..be95032e14 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemApplicationUnlinkRequest.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemApplicationUnlinkRequest defines the request schema for `/item/application/unlink` + */ +@ApiModel(description = "ItemApplicationUnlinkRequest defines the request schema for `/item/application/unlink`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemApplicationUnlinkRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_APPLICATION_ID = "application_id"; + @SerializedName(SERIALIZED_NAME_APPLICATION_ID) + private String applicationId; + + + public ItemApplicationUnlinkRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ItemApplicationUnlinkRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ItemApplicationUnlinkRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public ItemApplicationUnlinkRequest applicationId(String applicationId) { + + this.applicationId = applicationId; + return this; + } + + /** + * This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect. + * @return applicationId + **/ + @ApiModelProperty(required = true, value = "This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect.") + + public String getApplicationId() { + return applicationId; + } + + + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemApplicationUnlinkRequest itemApplicationUnlinkRequest = (ItemApplicationUnlinkRequest) o; + return Objects.equals(this.clientId, itemApplicationUnlinkRequest.clientId) && + Objects.equals(this.secret, itemApplicationUnlinkRequest.secret) && + Objects.equals(this.accessToken, itemApplicationUnlinkRequest.accessToken) && + Objects.equals(this.applicationId, itemApplicationUnlinkRequest.applicationId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, applicationId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemApplicationUnlinkRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemApplicationUnlinkResponse.java b/src/main/java/com/plaid/client/model/ItemApplicationUnlinkResponse.java new file mode 100644 index 0000000000..66b5eadc03 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemApplicationUnlinkResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemApplicationUnlinkResponse defines the response schema for `/item/application/unlink` + */ +@ApiModel(description = "ItemApplicationUnlinkResponse defines the response schema for `/item/application/unlink`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemApplicationUnlinkResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ItemApplicationUnlinkResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemApplicationUnlinkResponse itemApplicationUnlinkResponse = (ItemApplicationUnlinkResponse) o; + return Objects.equals(this.requestId, itemApplicationUnlinkResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemApplicationUnlinkResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemAuthMethod.java b/src/main/java/com/plaid/client/model/ItemAuthMethod.java new file mode 100644 index 0000000000..57f6bb67be --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemAuthMethod.java @@ -0,0 +1,93 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The method used to populate Auth data for the Item. This field is only populated for Items that have had Auth numbers data set on at least one of their accounts, and will be `null` otherwise. For info about the various flows, see our [Auth coverage documentation](https://plaid.com/docs/auth/coverage/). `INSTANT_AUTH`: The Item's Auth data was provided directly by the user's institution connection. `INSTANT_MATCH`: The Item's Auth data was provided via the Instant Match fallback flow. `AUTOMATED_MICRODEPOSITS`: The Item's Auth data was provided via the Automated Micro-deposits flow. `SAME_DAY_MICRODEPOSITS`: The Item's Auth data was provided via the Same-Day Micro-deposits flow. `INSTANT_MICRODEPOSITS`: The Item's Auth data was provided via the Instant Micro-deposits flow. `DATABASE_MATCH`: The Item's Auth data was provided via the Database Match flow. `DATABASE_INSIGHTS`: The Item's Auth data was provided via the Database Insights flow. `TRANSFER_MIGRATED`: The Item's Auth data was provided via [`/transfer/migrate_account`](https://plaid.com/docs/api/products/transfer/account-linking/#migrate-account-into-transfers). `INVESTMENTS_FALLBACK`: The Item's Auth data for Investments Move was provided via a [fallback flow](https://plaid.com/docs/investments-move/#fallback-flows). + */ +@JsonAdapter(ItemAuthMethod.Adapter.class) +public enum ItemAuthMethod { + + INSTANT_AUTH("INSTANT_AUTH"), + + INSTANT_MATCH("INSTANT_MATCH"), + + AUTOMATED_MICRODEPOSITS("AUTOMATED_MICRODEPOSITS"), + + SAME_DAY_MICRODEPOSITS("SAME_DAY_MICRODEPOSITS"), + + INSTANT_MICRODEPOSITS("INSTANT_MICRODEPOSITS"), + + DATABASE_MATCH("DATABASE_MATCH"), + + DATABASE_INSIGHTS("DATABASE_INSIGHTS"), + + TRANSFER_MIGRATED("TRANSFER_MIGRATED"), + + INVESTMENTS_FALLBACK("INVESTMENTS_FALLBACK"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ItemAuthMethod(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ItemAuthMethod fromValue(String value) { + for (ItemAuthMethod b : ItemAuthMethod.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ItemAuthMethod enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ItemAuthMethod read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ItemAuthMethod.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ItemConsentedDataScope.java b/src/main/java/com/plaid/client/model/ItemConsentedDataScope.java new file mode 100644 index 0000000000..068d3f3fac --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemConsentedDataScope.java @@ -0,0 +1,105 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A data scope for the products that a user can consent to in [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide) + */ +@JsonAdapter(ItemConsentedDataScope.Adapter.class) +public enum ItemConsentedDataScope { + + ACCOUNT_BALANCE_INFO("account_balance_info"), + + CONTACT_INFO("contact_info"), + + ACCOUNT_ROUTING_NUMBER("account_routing_number"), + + TRANSACTIONS("transactions"), + + CREDIT_LOAN_INFO("credit_loan_info"), + + INVESTMENTS("investments"), + + PAYROLL_INFO("payroll_info"), + + INCOME_VERIFICATION_PAYSTUBS_INFO("income_verification_paystubs_info"), + + INCOME_VERIFICATION_W2S_INFO("income_verification_w2s_info"), + + INCOME_VERIFICATION_BANK_STATEMENTS("income_verification_bank_statements"), + + INCOME_VERIFICATION_EMPLOYMENT_INFO("income_verification_employment_info"), + + BANK_STATEMENTS("bank_statements"), + + RISK_INFO("risk_info"), + + NETWORK_INSIGHTS_LITE("network_insights_lite"), + + FRAUD_INFO("fraud_info"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ItemConsentedDataScope(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ItemConsentedDataScope fromValue(String value) { + for (ItemConsentedDataScope b : ItemConsentedDataScope.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ItemConsentedDataScope.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ItemConsentedDataScope enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ItemConsentedDataScope read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ItemConsentedDataScope.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ItemCreateAuthentication.java b/src/main/java/com/plaid/client/model/ItemCreateAuthentication.java new file mode 100644 index 0000000000..e08bdccd57 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemCreateAuthentication.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Enum representing the entity authenticating the user. + */ +@JsonAdapter(ItemCreateAuthentication.Adapter.class) +public enum ItemCreateAuthentication { + + UNKNOWN("UNKNOWN"), + + DATA_PARTNER("DATA_PARTNER"), + + PLAID("PLAID"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ItemCreateAuthentication(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ItemCreateAuthentication fromValue(String value) { + for (ItemCreateAuthentication b : ItemCreateAuthentication.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ItemCreateAuthentication.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ItemCreateAuthentication enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ItemCreateAuthentication read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ItemCreateAuthentication.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ItemErrorWebhook.java b/src/main/java/com/plaid/client/model/ItemErrorWebhook.java new file mode 100644 index 0000000000..3374812ab0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemErrorWebhook.java @@ -0,0 +1,242 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when an error is encountered with an Item. The error can be resolved by having the user go through Link's update mode. + */ +@ApiModel(description = "Fired when an error is encountered with an Item. The error can be resolved by having the user go through Link's update mode.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemErrorWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ItemErrorWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `ITEM` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`ITEM`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ItemErrorWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `ERROR` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`ERROR`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ItemErrorWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public ItemErrorWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public ItemErrorWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public ItemErrorWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemErrorWebhook itemErrorWebhook = (ItemErrorWebhook) o; + return Objects.equals(this.webhookType, itemErrorWebhook.webhookType) && + Objects.equals(this.webhookCode, itemErrorWebhook.webhookCode) && + Objects.equals(this.itemId, itemErrorWebhook.itemId) && + Objects.equals(this.userId, itemErrorWebhook.userId) && + Objects.equals(this.error, itemErrorWebhook.error) && + Objects.equals(this.environment, itemErrorWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, error, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemErrorWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemGetRequest.java b/src/main/java/com/plaid/client/model/ItemGetRequest.java new file mode 100644 index 0000000000..62dc70d2db --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemGetRequest defines the request schema for `/item/get` + */ +@ApiModel(description = "ItemGetRequest defines the request schema for `/item/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + + public ItemGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ItemGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ItemGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemGetRequest itemGetRequest = (ItemGetRequest) o; + return Objects.equals(this.clientId, itemGetRequest.clientId) && + Objects.equals(this.secret, itemGetRequest.secret) && + Objects.equals(this.accessToken, itemGetRequest.accessToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemGetResponse.java b/src/main/java/com/plaid/client/model/ItemGetResponse.java new file mode 100644 index 0000000000..0ad02840e7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemGetResponse.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ItemStatusNullable; +import com.plaid.client.model.ItemWithConsentFields; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemGetResponse defines the response schema for `/item/get` and `/item/webhook/update` + */ +@ApiModel(description = "ItemGetResponse defines the response schema for `/item/get` and `/item/webhook/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemGetResponse { + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private ItemWithConsentFields item; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private ItemStatusNullable status; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ItemGetResponse item(ItemWithConsentFields item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public ItemWithConsentFields getItem() { + return item; + } + + + public void setItem(ItemWithConsentFields item) { + this.item = item; + } + + + public ItemGetResponse status(ItemStatusNullable status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ItemStatusNullable getStatus() { + return status; + } + + + public void setStatus(ItemStatusNullable status) { + this.status = status; + } + + + public ItemGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemGetResponse itemGetResponse = (ItemGetResponse) o; + return Objects.equals(this.item, itemGetResponse.item) && + Objects.equals(this.status, itemGetResponse.status) && + Objects.equals(this.requestId, itemGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(item, status, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemGetResponse {\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemImportRequest.java b/src/main/java/com/plaid/client/model/ItemImportRequest.java new file mode 100644 index 0000000000..3250e30d7a --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemImportRequest.java @@ -0,0 +1,252 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ItemImportRequestOptions; +import com.plaid.client.model.ItemImportRequestUserAuth; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * ItemImportRequest defines the request schema for `/item/import` + */ +@ApiModel(description = "ItemImportRequest defines the request schema for `/item/import`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemImportRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = new ArrayList<>(); + + public static final String SERIALIZED_NAME_USER_AUTH = "user_auth"; + @SerializedName(SERIALIZED_NAME_USER_AUTH) + private ItemImportRequestUserAuth userAuth; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private ItemImportRequestOptions options; + + + public ItemImportRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ItemImportRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ItemImportRequest institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The Plaid Institution ID associated with the Item. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid Institution ID associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public ItemImportRequest products(List products) { + + this.products = products; + return this; + } + + public ItemImportRequest addProductsItem(Products productsItem) { + this.products.add(productsItem); + return this; + } + + /** + * Array of product strings + * @return products + **/ + @ApiModelProperty(required = true, value = "Array of product strings") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + public ItemImportRequest userAuth(ItemImportRequestUserAuth userAuth) { + + this.userAuth = userAuth; + return this; + } + + /** + * Get userAuth + * @return userAuth + **/ + @ApiModelProperty(required = true, value = "") + + public ItemImportRequestUserAuth getUserAuth() { + return userAuth; + } + + + public void setUserAuth(ItemImportRequestUserAuth userAuth) { + this.userAuth = userAuth; + } + + + public ItemImportRequest options(ItemImportRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ItemImportRequestOptions getOptions() { + return options; + } + + + public void setOptions(ItemImportRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemImportRequest itemImportRequest = (ItemImportRequest) o; + return Objects.equals(this.clientId, itemImportRequest.clientId) && + Objects.equals(this.secret, itemImportRequest.secret) && + Objects.equals(this.institutionId, itemImportRequest.institutionId) && + Objects.equals(this.products, itemImportRequest.products) && + Objects.equals(this.userAuth, itemImportRequest.userAuth) && + Objects.equals(this.options, itemImportRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, institutionId, products, userAuth, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemImportRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append(" userAuth: ").append(toIndentedString(userAuth)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemImportRequestOptions.java b/src/main/java/com/plaid/client/model/ItemImportRequestOptions.java new file mode 100644 index 0000000000..7464245a20 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemImportRequestOptions.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional object to configure `/item/import` request. + */ +@ApiModel(description = "An optional object to configure `/item/import` request.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemImportRequestOptions { + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public ItemImportRequestOptions webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * Specifies a webhook URL to associate with an Item. Plaid fires a webhook if credentials fail. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies a webhook URL to associate with an Item. Plaid fires a webhook if credentials fail. ") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemImportRequestOptions itemImportRequestOptions = (ItemImportRequestOptions) o; + return Objects.equals(this.webhook, itemImportRequestOptions.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemImportRequestOptions {\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemImportRequestUserAuth.java b/src/main/java/com/plaid/client/model/ItemImportRequestUserAuth.java new file mode 100644 index 0000000000..1b5e33064d --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemImportRequestUserAuth.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Object of user ID and auth token pair, permitting Plaid to aggregate a user's accounts + */ +@ApiModel(description = "Object of user ID and auth token pair, permitting Plaid to aggregate a user's accounts") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemImportRequestUserAuth { + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_AUTH_TOKEN = "auth_token"; + @SerializedName(SERIALIZED_NAME_AUTH_TOKEN) + private String authToken; + + + public ItemImportRequestUserAuth userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Opaque user identifier + * @return userId + **/ + @ApiModelProperty(required = true, value = "Opaque user identifier") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public ItemImportRequestUserAuth authToken(String authToken) { + + this.authToken = authToken; + return this; + } + + /** + * Authorization token Plaid will use to aggregate this user's accounts + * @return authToken + **/ + @ApiModelProperty(required = true, value = "Authorization token Plaid will use to aggregate this user's accounts") + + public String getAuthToken() { + return authToken; + } + + + public void setAuthToken(String authToken) { + this.authToken = authToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemImportRequestUserAuth itemImportRequestUserAuth = (ItemImportRequestUserAuth) o; + return Objects.equals(this.userId, itemImportRequestUserAuth.userId) && + Objects.equals(this.authToken, itemImportRequestUserAuth.authToken); + } + + @Override + public int hashCode() { + return Objects.hash(userId, authToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemImportRequestUserAuth {\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" authToken: ").append(toIndentedString(authToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemImportResponse.java b/src/main/java/com/plaid/client/model/ItemImportResponse.java new file mode 100644 index 0000000000..ffe7fc1d13 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemImportResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemImportResponse defines the response schema for `/item/import` + */ +@ApiModel(description = "ItemImportResponse defines the response schema for `/item/import`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemImportResponse { + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ItemImportResponse accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public ItemImportResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemImportResponse itemImportResponse = (ItemImportResponse) o; + return Objects.equals(this.accessToken, itemImportResponse.accessToken) && + Objects.equals(this.requestId, itemImportResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accessToken, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemImportResponse {\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemLoginRepairedWebhook.java b/src/main/java/com/plaid/client/model/ItemLoginRepairedWebhook.java new file mode 100644 index 0000000000..d0e96025eb --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemLoginRepairedWebhook.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when an Item has exited the `ITEM_LOGIN_REQUIRED` state without the user having gone through the update mode flow in your app (this can happen if the user completed the update mode in a different app). If you have messaging that tells the user to complete the update mode flow, you should silence this messaging upon receiving the `LOGIN_REPAIRED` webhook. + */ +@ApiModel(description = "Fired when an Item has exited the `ITEM_LOGIN_REQUIRED` state without the user having gone through the update mode flow in your app (this can happen if the user completed the update mode in a different app). If you have messaging that tells the user to complete the update mode flow, you should silence this messaging upon receiving the `LOGIN_REPAIRED` webhook.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemLoginRepairedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ItemLoginRepairedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `ITEM` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`ITEM`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ItemLoginRepairedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `LOGIN_REPAIRED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`LOGIN_REPAIRED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ItemLoginRepairedWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public ItemLoginRepairedWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public ItemLoginRepairedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemLoginRepairedWebhook itemLoginRepairedWebhook = (ItemLoginRepairedWebhook) o; + return Objects.equals(this.webhookType, itemLoginRepairedWebhook.webhookType) && + Objects.equals(this.webhookCode, itemLoginRepairedWebhook.webhookCode) && + Objects.equals(this.itemId, itemLoginRepairedWebhook.itemId) && + Objects.equals(this.userId, itemLoginRepairedWebhook.userId) && + Objects.equals(this.environment, itemLoginRepairedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemLoginRepairedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemProductReadyWebhook.java b/src/main/java/com/plaid/client/model/ItemProductReadyWebhook.java new file mode 100644 index 0000000000..345bf1c445 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemProductReadyWebhook.java @@ -0,0 +1,213 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired once Plaid calculates income from an Item. + */ +@ApiModel(description = "Fired once Plaid calculates income from an Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemProductReadyWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ItemProductReadyWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `INCOME` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`INCOME`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ItemProductReadyWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `PRODUCT_READY` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`PRODUCT_READY`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ItemProductReadyWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public ItemProductReadyWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public ItemProductReadyWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemProductReadyWebhook itemProductReadyWebhook = (ItemProductReadyWebhook) o; + return Objects.equals(this.webhookType, itemProductReadyWebhook.webhookType) && + Objects.equals(this.webhookCode, itemProductReadyWebhook.webhookCode) && + Objects.equals(this.itemId, itemProductReadyWebhook.itemId) && + Objects.equals(this.error, itemProductReadyWebhook.error) && + Objects.equals(this.environment, itemProductReadyWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, error, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemProductReadyWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemProductsTerminateRequest.java b/src/main/java/com/plaid/client/model/ItemProductsTerminateRequest.java new file mode 100644 index 0000000000..89d1157e43 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemProductsTerminateRequest.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProductsTerminateReasonCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemProductsTerminateRequest defines the request schema for `/item/products/terminate` + */ +@ApiModel(description = "ItemProductsTerminateRequest defines the request schema for `/item/products/terminate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemProductsTerminateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_REASON_CODE = "reason_code"; + @SerializedName(SERIALIZED_NAME_REASON_CODE) + private ProductsTerminateReasonCode reasonCode; + + public static final String SERIALIZED_NAME_REASON_NOTE = "reason_note"; + @SerializedName(SERIALIZED_NAME_REASON_NOTE) + private String reasonNote; + + + public ItemProductsTerminateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ItemProductsTerminateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ItemProductsTerminateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public ItemProductsTerminateRequest reasonCode(ProductsTerminateReasonCode reasonCode) { + + this.reasonCode = reasonCode; + return this; + } + + /** + * Get reasonCode + * @return reasonCode + **/ + @ApiModelProperty(required = true, value = "") + + public ProductsTerminateReasonCode getReasonCode() { + return reasonCode; + } + + + public void setReasonCode(ProductsTerminateReasonCode reasonCode) { + this.reasonCode = reasonCode; + } + + + public ItemProductsTerminateRequest reasonNote(String reasonNote) { + + this.reasonNote = reasonNote; + return this; + } + + /** + * Additional context or details about the reason for terminating products on the Item. Personally identifiable information, such as an email address or phone number, should not be included in the `reason_note`. + * @return reasonNote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Additional context or details about the reason for terminating products on the Item. Personally identifiable information, such as an email address or phone number, should not be included in the `reason_note`.") + + public String getReasonNote() { + return reasonNote; + } + + + public void setReasonNote(String reasonNote) { + this.reasonNote = reasonNote; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemProductsTerminateRequest itemProductsTerminateRequest = (ItemProductsTerminateRequest) o; + return Objects.equals(this.clientId, itemProductsTerminateRequest.clientId) && + Objects.equals(this.secret, itemProductsTerminateRequest.secret) && + Objects.equals(this.accessToken, itemProductsTerminateRequest.accessToken) && + Objects.equals(this.reasonCode, itemProductsTerminateRequest.reasonCode) && + Objects.equals(this.reasonNote, itemProductsTerminateRequest.reasonNote); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, reasonCode, reasonNote); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemProductsTerminateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" reasonCode: ").append(toIndentedString(reasonCode)).append("\n"); + sb.append(" reasonNote: ").append(toIndentedString(reasonNote)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemProductsTerminateResponse.java b/src/main/java/com/plaid/client/model/ItemProductsTerminateResponse.java new file mode 100644 index 0000000000..b89bc516ba --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemProductsTerminateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemProductsTerminateResponse defines the response schema for `/item/products/terminate` + */ +@ApiModel(description = "ItemProductsTerminateResponse defines the response schema for `/item/products/terminate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemProductsTerminateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ItemProductsTerminateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemProductsTerminateResponse itemProductsTerminateResponse = (ItemProductsTerminateResponse) o; + return Objects.equals(this.requestId, itemProductsTerminateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemProductsTerminateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemPublicTokenCreateRequest.java b/src/main/java/com/plaid/client/model/ItemPublicTokenCreateRequest.java new file mode 100644 index 0000000000..26a3c8a56b --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemPublicTokenCreateRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemPublicTokenCreateRequest defines the request schema for `/item/public_token/create` + */ +@ApiModel(description = "ItemPublicTokenCreateRequest defines the request schema for `/item/public_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemPublicTokenCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + + public ItemPublicTokenCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ItemPublicTokenCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ItemPublicTokenCreateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemPublicTokenCreateRequest itemPublicTokenCreateRequest = (ItemPublicTokenCreateRequest) o; + return Objects.equals(this.clientId, itemPublicTokenCreateRequest.clientId) && + Objects.equals(this.secret, itemPublicTokenCreateRequest.secret) && + Objects.equals(this.accessToken, itemPublicTokenCreateRequest.accessToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemPublicTokenCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemPublicTokenCreateResponse.java b/src/main/java/com/plaid/client/model/ItemPublicTokenCreateResponse.java new file mode 100644 index 0000000000..074f1d5f1f --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemPublicTokenCreateResponse.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * ItemPublicTokenCreateResponse defines the response schema for `/item/public_token/create` + */ +@ApiModel(description = "ItemPublicTokenCreateResponse defines the response schema for `/item/public_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemPublicTokenCreateResponse { + public static final String SERIALIZED_NAME_PUBLIC_TOKEN = "public_token"; + @SerializedName(SERIALIZED_NAME_PUBLIC_TOKEN) + private String publicToken; + + public static final String SERIALIZED_NAME_EXPIRATION = "expiration"; + @SerializedName(SERIALIZED_NAME_EXPIRATION) + private OffsetDateTime expiration; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ItemPublicTokenCreateResponse publicToken(String publicToken) { + + this.publicToken = publicToken; + return this; + } + + /** + * A `public_token` for the particular Item corresponding to the specified `access_token` + * @return publicToken + **/ + @ApiModelProperty(required = true, value = "A `public_token` for the particular Item corresponding to the specified `access_token`") + + public String getPublicToken() { + return publicToken; + } + + + public void setPublicToken(String publicToken) { + this.publicToken = publicToken; + } + + + public ItemPublicTokenCreateResponse expiration(OffsetDateTime expiration) { + + this.expiration = expiration; + return this; + } + + /** + * Get expiration + * @return expiration + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public OffsetDateTime getExpiration() { + return expiration; + } + + + public void setExpiration(OffsetDateTime expiration) { + this.expiration = expiration; + } + + + public ItemPublicTokenCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemPublicTokenCreateResponse itemPublicTokenCreateResponse = (ItemPublicTokenCreateResponse) o; + return Objects.equals(this.publicToken, itemPublicTokenCreateResponse.publicToken) && + Objects.equals(this.expiration, itemPublicTokenCreateResponse.expiration) && + Objects.equals(this.requestId, itemPublicTokenCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(publicToken, expiration, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemPublicTokenCreateResponse {\n"); + sb.append(" publicToken: ").append(toIndentedString(publicToken)).append("\n"); + sb.append(" expiration: ").append(toIndentedString(expiration)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemPublicTokenExchangeRequest.java b/src/main/java/com/plaid/client/model/ItemPublicTokenExchangeRequest.java new file mode 100644 index 0000000000..89d2f953ce --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemPublicTokenExchangeRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemPublicTokenExchangeRequest defines the request schema for `/item/public_token/exchange` + */ +@ApiModel(description = "ItemPublicTokenExchangeRequest defines the request schema for `/item/public_token/exchange`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemPublicTokenExchangeRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PUBLIC_TOKEN = "public_token"; + @SerializedName(SERIALIZED_NAME_PUBLIC_TOKEN) + private String publicToken; + + + public ItemPublicTokenExchangeRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ItemPublicTokenExchangeRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ItemPublicTokenExchangeRequest publicToken(String publicToken) { + + this.publicToken = publicToken; + return this; + } + + /** + * Your `public_token`, obtained from the Link `onSuccess` callback or `/sandbox/public_token/create`. + * @return publicToken + **/ + @ApiModelProperty(required = true, value = "Your `public_token`, obtained from the Link `onSuccess` callback or `/sandbox/public_token/create`.") + + public String getPublicToken() { + return publicToken; + } + + + public void setPublicToken(String publicToken) { + this.publicToken = publicToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemPublicTokenExchangeRequest itemPublicTokenExchangeRequest = (ItemPublicTokenExchangeRequest) o; + return Objects.equals(this.clientId, itemPublicTokenExchangeRequest.clientId) && + Objects.equals(this.secret, itemPublicTokenExchangeRequest.secret) && + Objects.equals(this.publicToken, itemPublicTokenExchangeRequest.publicToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, publicToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemPublicTokenExchangeRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" publicToken: ").append(toIndentedString(publicToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemPublicTokenExchangeResponse.java b/src/main/java/com/plaid/client/model/ItemPublicTokenExchangeResponse.java new file mode 100644 index 0000000000..90c1d39095 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemPublicTokenExchangeResponse.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemPublicTokenExchangeResponse defines the response schema for `/item/public_token/exchange` + */ +@ApiModel(description = "ItemPublicTokenExchangeResponse defines the response schema for `/item/public_token/exchange`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemPublicTokenExchangeResponse { + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ItemPublicTokenExchangeResponse accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public ItemPublicTokenExchangeResponse itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` value of the Item associated with the returned `access_token` + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` value of the Item associated with the returned `access_token`") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public ItemPublicTokenExchangeResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemPublicTokenExchangeResponse itemPublicTokenExchangeResponse = (ItemPublicTokenExchangeResponse) o; + return Objects.equals(this.accessToken, itemPublicTokenExchangeResponse.accessToken) && + Objects.equals(this.itemId, itemPublicTokenExchangeResponse.itemId) && + Objects.equals(this.requestId, itemPublicTokenExchangeResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accessToken, itemId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemPublicTokenExchangeResponse {\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemRemoveReasonCode.java b/src/main/java/com/plaid/client/model/ItemRemoveReasonCode.java new file mode 100644 index 0000000000..a1e4bed073 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemRemoveReasonCode.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The reason for removing the Item `FRAUD_FIRST_PARTY`: The end user who owns the connected bank account committed fraud `FRAUD_FALSE_IDENTITY`: The end user created the connection using false identity information or stolen credentials `FRAUD_ABUSE`: The end user is abusing the client's service or platform through their connected account `FRAUD_OTHER`: Other fraud-related reasons involving the end user not covered by the specific fraud categories `CONNECTION_IS_NON_FUNCTIONAL`: The connection to the end user's financial institution is broken and cannot be restored `OTHER`: Any other reason for removing the connection not covered by the above categories + */ +@JsonAdapter(ItemRemoveReasonCode.Adapter.class) +public enum ItemRemoveReasonCode { + + FRAUD_FIRST_PARTY("FRAUD_FIRST_PARTY"), + + FRAUD_FALSE_IDENTITY("FRAUD_FALSE_IDENTITY"), + + FRAUD_ABUSE("FRAUD_ABUSE"), + + FRAUD_OTHER("FRAUD_OTHER"), + + CONNECTION_IS_NON_FUNCTIONAL("CONNECTION_IS_NON_FUNCTIONAL"), + + OTHER("OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ItemRemoveReasonCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ItemRemoveReasonCode fromValue(String value) { + for (ItemRemoveReasonCode b : ItemRemoveReasonCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ItemRemoveReasonCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ItemRemoveReasonCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ItemRemoveReasonCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ItemRemoveRequest.java b/src/main/java/com/plaid/client/model/ItemRemoveRequest.java new file mode 100644 index 0000000000..1fb6aad3f0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemRemoveRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ItemRemoveReasonCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemRemoveRequest defines the request schema for `/item/remove` + */ +@ApiModel(description = "ItemRemoveRequest defines the request schema for `/item/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemRemoveRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_REASON_CODE = "reason_code"; + @SerializedName(SERIALIZED_NAME_REASON_CODE) + private ItemRemoveReasonCode reasonCode; + + public static final String SERIALIZED_NAME_REASON_NOTE = "reason_note"; + @SerializedName(SERIALIZED_NAME_REASON_NOTE) + private String reasonNote; + + + public ItemRemoveRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ItemRemoveRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ItemRemoveRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public ItemRemoveRequest reasonCode(ItemRemoveReasonCode reasonCode) { + + this.reasonCode = reasonCode; + return this; + } + + /** + * Get reasonCode + * @return reasonCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ItemRemoveReasonCode getReasonCode() { + return reasonCode; + } + + + public void setReasonCode(ItemRemoveReasonCode reasonCode) { + this.reasonCode = reasonCode; + } + + + public ItemRemoveRequest reasonNote(String reasonNote) { + + this.reasonNote = reasonNote; + return this; + } + + /** + * Additional context or details about the reason for removing the Item. Personally identifiable information, such as an email address or phone number, should not be included in the `reason_note`. + * @return reasonNote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Additional context or details about the reason for removing the Item. Personally identifiable information, such as an email address or phone number, should not be included in the `reason_note`.") + + public String getReasonNote() { + return reasonNote; + } + + + public void setReasonNote(String reasonNote) { + this.reasonNote = reasonNote; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemRemoveRequest itemRemoveRequest = (ItemRemoveRequest) o; + return Objects.equals(this.clientId, itemRemoveRequest.clientId) && + Objects.equals(this.secret, itemRemoveRequest.secret) && + Objects.equals(this.accessToken, itemRemoveRequest.accessToken) && + Objects.equals(this.reasonCode, itemRemoveRequest.reasonCode) && + Objects.equals(this.reasonNote, itemRemoveRequest.reasonNote); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, reasonCode, reasonNote); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemRemoveRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" reasonCode: ").append(toIndentedString(reasonCode)).append("\n"); + sb.append(" reasonNote: ").append(toIndentedString(reasonNote)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemRemoveResponse.java b/src/main/java/com/plaid/client/model/ItemRemoveResponse.java new file mode 100644 index 0000000000..b7d483fcf5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemRemoveResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemRemoveResponse defines the response schema for `/item/remove` + */ +@ApiModel(description = "ItemRemoveResponse defines the response schema for `/item/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemRemoveResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ItemRemoveResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemRemoveResponse itemRemoveResponse = (ItemRemoveResponse) o; + return Objects.equals(this.requestId, itemRemoveResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemRemoveResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemStatus.java b/src/main/java/com/plaid/client/model/ItemStatus.java new file mode 100644 index 0000000000..9157c48488 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemStatus.java @@ -0,0 +1,160 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ItemStatusInvestments; +import com.plaid.client.model.ItemStatusLastWebhook; +import com.plaid.client.model.ItemStatusTransactions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object with information about the status of the Item. + */ +@ApiModel(description = "An object with information about the status of the Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemStatus { + public static final String SERIALIZED_NAME_INVESTMENTS = "investments"; + @SerializedName(SERIALIZED_NAME_INVESTMENTS) + private ItemStatusInvestments investments; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private ItemStatusTransactions transactions; + + public static final String SERIALIZED_NAME_LAST_WEBHOOK = "last_webhook"; + @SerializedName(SERIALIZED_NAME_LAST_WEBHOOK) + private ItemStatusLastWebhook lastWebhook; + + + public ItemStatus investments(ItemStatusInvestments investments) { + + this.investments = investments; + return this; + } + + /** + * Get investments + * @return investments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ItemStatusInvestments getInvestments() { + return investments; + } + + + public void setInvestments(ItemStatusInvestments investments) { + this.investments = investments; + } + + + public ItemStatus transactions(ItemStatusTransactions transactions) { + + this.transactions = transactions; + return this; + } + + /** + * Get transactions + * @return transactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ItemStatusTransactions getTransactions() { + return transactions; + } + + + public void setTransactions(ItemStatusTransactions transactions) { + this.transactions = transactions; + } + + + public ItemStatus lastWebhook(ItemStatusLastWebhook lastWebhook) { + + this.lastWebhook = lastWebhook; + return this; + } + + /** + * Get lastWebhook + * @return lastWebhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ItemStatusLastWebhook getLastWebhook() { + return lastWebhook; + } + + + public void setLastWebhook(ItemStatusLastWebhook lastWebhook) { + this.lastWebhook = lastWebhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemStatus itemStatus = (ItemStatus) o; + return Objects.equals(this.investments, itemStatus.investments) && + Objects.equals(this.transactions, itemStatus.transactions) && + Objects.equals(this.lastWebhook, itemStatus.lastWebhook); + } + + @Override + public int hashCode() { + return Objects.hash(investments, transactions, lastWebhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemStatus {\n"); + sb.append(" investments: ").append(toIndentedString(investments)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" lastWebhook: ").append(toIndentedString(lastWebhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemStatusInvestments.java b/src/main/java/com/plaid/client/model/ItemStatusInvestments.java new file mode 100644 index 0000000000..cc4cf02bff --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemStatusInvestments.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Information about the last successful and failed investments update for the Item. + */ +@ApiModel(description = "Information about the last successful and failed investments update for the Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemStatusInvestments { + public static final String SERIALIZED_NAME_LAST_SUCCESSFUL_UPDATE = "last_successful_update"; + @SerializedName(SERIALIZED_NAME_LAST_SUCCESSFUL_UPDATE) + private OffsetDateTime lastSuccessfulUpdate; + + public static final String SERIALIZED_NAME_LAST_FAILED_UPDATE = "last_failed_update"; + @SerializedName(SERIALIZED_NAME_LAST_FAILED_UPDATE) + private OffsetDateTime lastFailedUpdate; + + + public ItemStatusInvestments lastSuccessfulUpdate(OffsetDateTime lastSuccessfulUpdate) { + + this.lastSuccessfulUpdate = lastSuccessfulUpdate; + return this; + } + + /** + * [ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of the last successful investments update for the Item. The status will update each time Plaid successfully connects with the institution, regardless of whether any new data is available in the update. + * @return lastSuccessfulUpdate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "[ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of the last successful investments update for the Item. The status will update each time Plaid successfully connects with the institution, regardless of whether any new data is available in the update.") + + public OffsetDateTime getLastSuccessfulUpdate() { + return lastSuccessfulUpdate; + } + + + public void setLastSuccessfulUpdate(OffsetDateTime lastSuccessfulUpdate) { + this.lastSuccessfulUpdate = lastSuccessfulUpdate; + } + + + public ItemStatusInvestments lastFailedUpdate(OffsetDateTime lastFailedUpdate) { + + this.lastFailedUpdate = lastFailedUpdate; + return this; + } + + /** + * [ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of the last failed investments update for the Item. The status will update each time Plaid fails an attempt to connect with the institution, regardless of whether any new data is available in the update. + * @return lastFailedUpdate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "[ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of the last failed investments update for the Item. The status will update each time Plaid fails an attempt to connect with the institution, regardless of whether any new data is available in the update.") + + public OffsetDateTime getLastFailedUpdate() { + return lastFailedUpdate; + } + + + public void setLastFailedUpdate(OffsetDateTime lastFailedUpdate) { + this.lastFailedUpdate = lastFailedUpdate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemStatusInvestments itemStatusInvestments = (ItemStatusInvestments) o; + return Objects.equals(this.lastSuccessfulUpdate, itemStatusInvestments.lastSuccessfulUpdate) && + Objects.equals(this.lastFailedUpdate, itemStatusInvestments.lastFailedUpdate); + } + + @Override + public int hashCode() { + return Objects.hash(lastSuccessfulUpdate, lastFailedUpdate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemStatusInvestments {\n"); + sb.append(" lastSuccessfulUpdate: ").append(toIndentedString(lastSuccessfulUpdate)).append("\n"); + sb.append(" lastFailedUpdate: ").append(toIndentedString(lastFailedUpdate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemStatusLastWebhook.java b/src/main/java/com/plaid/client/model/ItemStatusLastWebhook.java new file mode 100644 index 0000000000..2ead76aa90 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemStatusLastWebhook.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Information about the last webhook fired for the Item. + */ +@ApiModel(description = "Information about the last webhook fired for the Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemStatusLastWebhook { + public static final String SERIALIZED_NAME_SENT_AT = "sent_at"; + @SerializedName(SERIALIZED_NAME_SENT_AT) + private OffsetDateTime sentAt; + + public static final String SERIALIZED_NAME_CODE_SENT = "code_sent"; + @SerializedName(SERIALIZED_NAME_CODE_SENT) + private String codeSent; + + + public ItemStatusLastWebhook sentAt(OffsetDateTime sentAt) { + + this.sentAt = sentAt; + return this; + } + + /** + * [ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of when the webhook was fired. + * @return sentAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "[ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of when the webhook was fired. ") + + public OffsetDateTime getSentAt() { + return sentAt; + } + + + public void setSentAt(OffsetDateTime sentAt) { + this.sentAt = sentAt; + } + + + public ItemStatusLastWebhook codeSent(String codeSent) { + + this.codeSent = codeSent; + return this; + } + + /** + * The last webhook code sent. + * @return codeSent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The last webhook code sent.") + + public String getCodeSent() { + return codeSent; + } + + + public void setCodeSent(String codeSent) { + this.codeSent = codeSent; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemStatusLastWebhook itemStatusLastWebhook = (ItemStatusLastWebhook) o; + return Objects.equals(this.sentAt, itemStatusLastWebhook.sentAt) && + Objects.equals(this.codeSent, itemStatusLastWebhook.codeSent); + } + + @Override + public int hashCode() { + return Objects.hash(sentAt, codeSent); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemStatusLastWebhook {\n"); + sb.append(" sentAt: ").append(toIndentedString(sentAt)).append("\n"); + sb.append(" codeSent: ").append(toIndentedString(codeSent)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemStatusNullable.java b/src/main/java/com/plaid/client/model/ItemStatusNullable.java new file mode 100644 index 0000000000..33ba4a3dbe --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemStatusNullable.java @@ -0,0 +1,161 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ItemStatus; +import com.plaid.client.model.ItemStatusInvestments; +import com.plaid.client.model.ItemStatusLastWebhook; +import com.plaid.client.model.ItemStatusTransactions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object with information about the status of the Item. + */ +@ApiModel(description = "An object with information about the status of the Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemStatusNullable { + public static final String SERIALIZED_NAME_INVESTMENTS = "investments"; + @SerializedName(SERIALIZED_NAME_INVESTMENTS) + private ItemStatusInvestments investments; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private ItemStatusTransactions transactions; + + public static final String SERIALIZED_NAME_LAST_WEBHOOK = "last_webhook"; + @SerializedName(SERIALIZED_NAME_LAST_WEBHOOK) + private ItemStatusLastWebhook lastWebhook; + + + public ItemStatusNullable investments(ItemStatusInvestments investments) { + + this.investments = investments; + return this; + } + + /** + * Get investments + * @return investments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ItemStatusInvestments getInvestments() { + return investments; + } + + + public void setInvestments(ItemStatusInvestments investments) { + this.investments = investments; + } + + + public ItemStatusNullable transactions(ItemStatusTransactions transactions) { + + this.transactions = transactions; + return this; + } + + /** + * Get transactions + * @return transactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ItemStatusTransactions getTransactions() { + return transactions; + } + + + public void setTransactions(ItemStatusTransactions transactions) { + this.transactions = transactions; + } + + + public ItemStatusNullable lastWebhook(ItemStatusLastWebhook lastWebhook) { + + this.lastWebhook = lastWebhook; + return this; + } + + /** + * Get lastWebhook + * @return lastWebhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ItemStatusLastWebhook getLastWebhook() { + return lastWebhook; + } + + + public void setLastWebhook(ItemStatusLastWebhook lastWebhook) { + this.lastWebhook = lastWebhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemStatusNullable itemStatusNullable = (ItemStatusNullable) o; + return Objects.equals(this.investments, itemStatusNullable.investments) && + Objects.equals(this.transactions, itemStatusNullable.transactions) && + Objects.equals(this.lastWebhook, itemStatusNullable.lastWebhook); + } + + @Override + public int hashCode() { + return Objects.hash(investments, transactions, lastWebhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemStatusNullable {\n"); + sb.append(" investments: ").append(toIndentedString(investments)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" lastWebhook: ").append(toIndentedString(lastWebhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemStatusTransactions.java b/src/main/java/com/plaid/client/model/ItemStatusTransactions.java new file mode 100644 index 0000000000..6ed875c13f --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemStatusTransactions.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Information about the last successful and failed transactions update for the Item. + */ +@ApiModel(description = "Information about the last successful and failed transactions update for the Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemStatusTransactions { + public static final String SERIALIZED_NAME_LAST_SUCCESSFUL_UPDATE = "last_successful_update"; + @SerializedName(SERIALIZED_NAME_LAST_SUCCESSFUL_UPDATE) + private OffsetDateTime lastSuccessfulUpdate; + + public static final String SERIALIZED_NAME_LAST_FAILED_UPDATE = "last_failed_update"; + @SerializedName(SERIALIZED_NAME_LAST_FAILED_UPDATE) + private OffsetDateTime lastFailedUpdate; + + + public ItemStatusTransactions lastSuccessfulUpdate(OffsetDateTime lastSuccessfulUpdate) { + + this.lastSuccessfulUpdate = lastSuccessfulUpdate; + return this; + } + + /** + * [ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of the last successful transactions update for the Item. The status will update each time Plaid successfully connects with the institution, regardless of whether any new data is available in the update. This field does not reflect transactions updates performed by non-Transactions products (e.g. Signal). + * @return lastSuccessfulUpdate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "[ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of the last successful transactions update for the Item. The status will update each time Plaid successfully connects with the institution, regardless of whether any new data is available in the update. This field does not reflect transactions updates performed by non-Transactions products (e.g. Signal).") + + public OffsetDateTime getLastSuccessfulUpdate() { + return lastSuccessfulUpdate; + } + + + public void setLastSuccessfulUpdate(OffsetDateTime lastSuccessfulUpdate) { + this.lastSuccessfulUpdate = lastSuccessfulUpdate; + } + + + public ItemStatusTransactions lastFailedUpdate(OffsetDateTime lastFailedUpdate) { + + this.lastFailedUpdate = lastFailedUpdate; + return this; + } + + /** + * [ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of the last failed transactions update for the Item. The status will update each time Plaid fails an attempt to connect with the institution, regardless of whether any new data is available in the update. This field does not reflect transactions updates performed by non-Transactions products (e.g. Signal). + * @return lastFailedUpdate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "[ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of the last failed transactions update for the Item. The status will update each time Plaid fails an attempt to connect with the institution, regardless of whether any new data is available in the update. This field does not reflect transactions updates performed by non-Transactions products (e.g. Signal).") + + public OffsetDateTime getLastFailedUpdate() { + return lastFailedUpdate; + } + + + public void setLastFailedUpdate(OffsetDateTime lastFailedUpdate) { + this.lastFailedUpdate = lastFailedUpdate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemStatusTransactions itemStatusTransactions = (ItemStatusTransactions) o; + return Objects.equals(this.lastSuccessfulUpdate, itemStatusTransactions.lastSuccessfulUpdate) && + Objects.equals(this.lastFailedUpdate, itemStatusTransactions.lastFailedUpdate); + } + + @Override + public int hashCode() { + return Objects.hash(lastSuccessfulUpdate, lastFailedUpdate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemStatusTransactions {\n"); + sb.append(" lastSuccessfulUpdate: ").append(toIndentedString(lastSuccessfulUpdate)).append("\n"); + sb.append(" lastFailedUpdate: ").append(toIndentedString(lastFailedUpdate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemWebhookUpdateRequest.java b/src/main/java/com/plaid/client/model/ItemWebhookUpdateRequest.java new file mode 100644 index 0000000000..c2f276af7f --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemWebhookUpdateRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemWebhookUpdateRequest defines the request schema for `/item/webhook/update` + */ +@ApiModel(description = "ItemWebhookUpdateRequest defines the request schema for `/item/webhook/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemWebhookUpdateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public ItemWebhookUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ItemWebhookUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ItemWebhookUpdateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public ItemWebhookUpdateRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The new webhook URL to associate with the Item. To remove a webhook from an Item, set to `null`. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The new webhook URL to associate with the Item. To remove a webhook from an Item, set to `null`.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemWebhookUpdateRequest itemWebhookUpdateRequest = (ItemWebhookUpdateRequest) o; + return Objects.equals(this.clientId, itemWebhookUpdateRequest.clientId) && + Objects.equals(this.secret, itemWebhookUpdateRequest.secret) && + Objects.equals(this.accessToken, itemWebhookUpdateRequest.accessToken) && + Objects.equals(this.webhook, itemWebhookUpdateRequest.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemWebhookUpdateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemWebhookUpdateResponse.java b/src/main/java/com/plaid/client/model/ItemWebhookUpdateResponse.java new file mode 100644 index 0000000000..af709fe434 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemWebhookUpdateResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Item; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ItemWebhookUpdateResponse defines the response schema for `/item/webhook/update` + */ +@ApiModel(description = "ItemWebhookUpdateResponse defines the response schema for `/item/webhook/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemWebhookUpdateResponse { + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ItemWebhookUpdateResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public ItemWebhookUpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemWebhookUpdateResponse itemWebhookUpdateResponse = (ItemWebhookUpdateResponse) o; + return Objects.equals(this.item, itemWebhookUpdateResponse.item) && + Objects.equals(this.requestId, itemWebhookUpdateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(item, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemWebhookUpdateResponse {\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemWithConsentFields.java b/src/main/java/com/plaid/client/model/ItemWithConsentFields.java new file mode 100644 index 0000000000..e5105bdd88 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemWithConsentFields.java @@ -0,0 +1,599 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Item; +import com.plaid.client.model.ItemAuthMethod; +import com.plaid.client.model.ItemConsentedDataScope; +import com.plaid.client.model.ItemWithConsentFieldsAllOf; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Metadata about the Item + */ +@ApiModel(description = "Metadata about the Item") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemWithConsentFields { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + public static final String SERIALIZED_NAME_AUTH_METHOD = "auth_method"; + @SerializedName(SERIALIZED_NAME_AUTH_METHOD) + private ItemAuthMethod authMethod; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_AVAILABLE_PRODUCTS = "available_products"; + @SerializedName(SERIALIZED_NAME_AVAILABLE_PRODUCTS) + private List availableProducts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_BILLED_PRODUCTS = "billed_products"; + @SerializedName(SERIALIZED_NAME_BILLED_PRODUCTS) + private List billedProducts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = null; + + public static final String SERIALIZED_NAME_CONSENTED_PRODUCTS = "consented_products"; + @SerializedName(SERIALIZED_NAME_CONSENTED_PRODUCTS) + private List consentedProducts = null; + + public static final String SERIALIZED_NAME_CONSENT_EXPIRATION_TIME = "consent_expiration_time"; + @SerializedName(SERIALIZED_NAME_CONSENT_EXPIRATION_TIME) + private OffsetDateTime consentExpirationTime; + + /** + * Indicates whether an Item requires user interaction to be updated, which can be the case for Items with some forms of two-factor authentication. `background` - Item can be updated in the background `user_present_required` - Item requires user interaction to be updated + */ + @JsonAdapter(UpdateTypeEnum.Adapter.class) + public enum UpdateTypeEnum { + BACKGROUND("background"), + + USER_PRESENT_REQUIRED("user_present_required"); + + private String value; + + UpdateTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static UpdateTypeEnum fromValue(String value) { + for (UpdateTypeEnum b : UpdateTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final UpdateTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public UpdateTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return UpdateTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_UPDATE_TYPE = "update_type"; + @SerializedName(SERIALIZED_NAME_UPDATE_TYPE) + private UpdateTypeEnum updateType; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_CONSENTED_USE_CASES = "consented_use_cases"; + @SerializedName(SERIALIZED_NAME_CONSENTED_USE_CASES) + private List consentedUseCases = null; + + public static final String SERIALIZED_NAME_CONSENTED_DATA_SCOPES = "consented_data_scopes"; + @SerializedName(SERIALIZED_NAME_CONSENTED_DATA_SCOPES) + private List consentedDataScopes = null; + + + public ItemWithConsentFields itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public ItemWithConsentFields institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The Plaid Institution ID associated with the Item. Field is `null` for Items created without an institution connection, such as Items created via Same-Day Micro-deposits. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid Institution ID associated with the Item. Field is `null` for Items created without an institution connection, such as Items created via Same-Day Micro-deposits.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public ItemWithConsentFields institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The name of the institution associated with the Item. Field is `null` for Items created without an institution connection, such as Items created via Same-Day Micro-deposits. + * @return institutionName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the institution associated with the Item. Field is `null` for Items created without an institution connection, such as Items created via Same-Day Micro-deposits.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public ItemWithConsentFields webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The URL registered to receive webhooks for the Item. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The URL registered to receive webhooks for the Item.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + public ItemWithConsentFields authMethod(ItemAuthMethod authMethod) { + + this.authMethod = authMethod; + return this; + } + + /** + * Get authMethod + * @return authMethod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ItemAuthMethod getAuthMethod() { + return authMethod; + } + + + public void setAuthMethod(ItemAuthMethod authMethod) { + this.authMethod = authMethod; + } + + + public ItemWithConsentFields error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public ItemWithConsentFields availableProducts(List availableProducts) { + + this.availableProducts = availableProducts; + return this; + } + + public ItemWithConsentFields addAvailableProductsItem(Products availableProductsItem) { + this.availableProducts.add(availableProductsItem); + return this; + } + + /** + * A list of products available for the Item that have not yet been accessed. The contents of this array will be mutually exclusive with `billed_products`. + * @return availableProducts + **/ + @ApiModelProperty(required = true, value = "A list of products available for the Item that have not yet been accessed. The contents of this array will be mutually exclusive with `billed_products`.") + + public List getAvailableProducts() { + return availableProducts; + } + + + public void setAvailableProducts(List availableProducts) { + this.availableProducts = availableProducts; + } + + + public ItemWithConsentFields billedProducts(List billedProducts) { + + this.billedProducts = billedProducts; + return this; + } + + public ItemWithConsentFields addBilledProductsItem(Products billedProductsItem) { + this.billedProducts.add(billedProductsItem); + return this; + } + + /** + * A list of products that have been billed for the Item. The contents of this array will be mutually exclusive with `available_products`. Note - `billed_products` is populated in all environments but only requests in Production are billed. Also note that products that are billed on a pay-per-call basis rather than a pay-per-Item basis, such as `balance`, will not appear here. + * @return billedProducts + **/ + @ApiModelProperty(required = true, value = "A list of products that have been billed for the Item. The contents of this array will be mutually exclusive with `available_products`. Note - `billed_products` is populated in all environments but only requests in Production are billed. Also note that products that are billed on a pay-per-call basis rather than a pay-per-Item basis, such as `balance`, will not appear here. ") + + public List getBilledProducts() { + return billedProducts; + } + + + public void setBilledProducts(List billedProducts) { + this.billedProducts = billedProducts; + } + + + public ItemWithConsentFields products(List products) { + + this.products = products; + return this; + } + + public ItemWithConsentFields addProductsItem(Products productsItem) { + if (this.products == null) { + this.products = new ArrayList<>(); + } + this.products.add(productsItem); + return this; + } + + /** + * A list of products added to the Item. In almost all cases, this will be the same as the `billed_products` field. For some products, it is possible for the product to be added to an Item but not yet billed (e.g. Assets, before `/asset_report/create` has been called, or Auth or Identity when added as Optional Products but before their endpoints have been called), in which case the product may appear in `products` but not in `billed_products`. + * @return products + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of products added to the Item. In almost all cases, this will be the same as the `billed_products` field. For some products, it is possible for the product to be added to an Item but not yet billed (e.g. Assets, before `/asset_report/create` has been called, or Auth or Identity when added as Optional Products but before their endpoints have been called), in which case the product may appear in `products` but not in `billed_products`. ") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + public ItemWithConsentFields consentedProducts(List consentedProducts) { + + this.consentedProducts = consentedProducts; + return this; + } + + public ItemWithConsentFields addConsentedProductsItem(Products consentedProductsItem) { + if (this.consentedProducts == null) { + this.consentedProducts = new ArrayList<>(); + } + this.consentedProducts.add(consentedProductsItem); + return this; + } + + /** + * A list of products that the user has consented to for the Item via [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide). This will consist of all products where both of the following are true: the user has consented to the required data scopes for that product and you have Production access for that product. + * @return consentedProducts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of products that the user has consented to for the Item via [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide). This will consist of all products where both of the following are true: the user has consented to the required data scopes for that product and you have Production access for that product. ") + + public List getConsentedProducts() { + return consentedProducts; + } + + + public void setConsentedProducts(List consentedProducts) { + this.consentedProducts = consentedProducts; + } + + + public ItemWithConsentFields consentExpirationTime(OffsetDateTime consentExpirationTime) { + + this.consentExpirationTime = consentExpirationTime; + return this; + } + + /** + * The date and time at which the Item's access consent will expire, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. If the Item does not have consent expiration scheduled, this field will be `null`. Currently, only institutions in Europe and a small number of institutions in the US have expiring consent. For a list of US institutions that currently expire consent, see the [OAuth Guide](https://plaid.com/docs/link/oauth/#refreshing-item-consent). + * @return consentExpirationTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date and time at which the Item's access consent will expire, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. If the Item does not have consent expiration scheduled, this field will be `null`. Currently, only institutions in Europe and a small number of institutions in the US have expiring consent. For a list of US institutions that currently expire consent, see the [OAuth Guide](https://plaid.com/docs/link/oauth/#refreshing-item-consent).") + + public OffsetDateTime getConsentExpirationTime() { + return consentExpirationTime; + } + + + public void setConsentExpirationTime(OffsetDateTime consentExpirationTime) { + this.consentExpirationTime = consentExpirationTime; + } + + + public ItemWithConsentFields updateType(UpdateTypeEnum updateType) { + + this.updateType = updateType; + return this; + } + + /** + * Indicates whether an Item requires user interaction to be updated, which can be the case for Items with some forms of two-factor authentication. `background` - Item can be updated in the background `user_present_required` - Item requires user interaction to be updated + * @return updateType + **/ + @ApiModelProperty(required = true, value = "Indicates whether an Item requires user interaction to be updated, which can be the case for Items with some forms of two-factor authentication. `background` - Item can be updated in the background `user_present_required` - Item requires user interaction to be updated") + + public UpdateTypeEnum getUpdateType() { + return updateType; + } + + + public void setUpdateType(UpdateTypeEnum updateType) { + this.updateType = updateType; + } + + + public ItemWithConsentFields createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * The date and time when the Item was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return createdAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date and time when the Item was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public ItemWithConsentFields consentedUseCases(List consentedUseCases) { + + this.consentedUseCases = consentedUseCases; + return this; + } + + public ItemWithConsentFields addConsentedUseCasesItem(String consentedUseCasesItem) { + if (this.consentedUseCases == null) { + this.consentedUseCases = new ArrayList<>(); + } + this.consentedUseCases.add(consentedUseCasesItem); + return this; + } + + /** + * A list of use cases that the user has consented to for the Item via [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide). You can see the full list of use cases or update the list of use cases to request at any time via the Link Customization section of the [Plaid Dashboard](https://dashboard.plaid.com/link/data-transparency-v5). + * @return consentedUseCases + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of use cases that the user has consented to for the Item via [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide). You can see the full list of use cases or update the list of use cases to request at any time via the Link Customization section of the [Plaid Dashboard](https://dashboard.plaid.com/link/data-transparency-v5).") + + public List getConsentedUseCases() { + return consentedUseCases; + } + + + public void setConsentedUseCases(List consentedUseCases) { + this.consentedUseCases = consentedUseCases; + } + + + public ItemWithConsentFields consentedDataScopes(List consentedDataScopes) { + + this.consentedDataScopes = consentedDataScopes; + return this; + } + + public ItemWithConsentFields addConsentedDataScopesItem(ItemConsentedDataScope consentedDataScopesItem) { + if (this.consentedDataScopes == null) { + this.consentedDataScopes = new ArrayList<>(); + } + this.consentedDataScopes.add(consentedDataScopesItem); + return this; + } + + /** + * A list of data scopes that the user has consented to for the Item via [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide). These are based on the `consented_products`; see the [full mapping](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/#data-scopes-by-product) of data scopes and products. + * @return consentedDataScopes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of data scopes that the user has consented to for the Item via [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide). These are based on the `consented_products`; see the [full mapping](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/#data-scopes-by-product) of data scopes and products.") + + public List getConsentedDataScopes() { + return consentedDataScopes; + } + + + public void setConsentedDataScopes(List consentedDataScopes) { + this.consentedDataScopes = consentedDataScopes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemWithConsentFields itemWithConsentFields = (ItemWithConsentFields) o; + return Objects.equals(this.itemId, itemWithConsentFields.itemId) && + Objects.equals(this.institutionId, itemWithConsentFields.institutionId) && + Objects.equals(this.institutionName, itemWithConsentFields.institutionName) && + Objects.equals(this.webhook, itemWithConsentFields.webhook) && + Objects.equals(this.authMethod, itemWithConsentFields.authMethod) && + Objects.equals(this.error, itemWithConsentFields.error) && + Objects.equals(this.availableProducts, itemWithConsentFields.availableProducts) && + Objects.equals(this.billedProducts, itemWithConsentFields.billedProducts) && + Objects.equals(this.products, itemWithConsentFields.products) && + Objects.equals(this.consentedProducts, itemWithConsentFields.consentedProducts) && + Objects.equals(this.consentExpirationTime, itemWithConsentFields.consentExpirationTime) && + Objects.equals(this.updateType, itemWithConsentFields.updateType) && + Objects.equals(this.createdAt, itemWithConsentFields.createdAt) && + Objects.equals(this.consentedUseCases, itemWithConsentFields.consentedUseCases) && + Objects.equals(this.consentedDataScopes, itemWithConsentFields.consentedDataScopes); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, institutionId, institutionName, webhook, authMethod, error, availableProducts, billedProducts, products, consentedProducts, consentExpirationTime, updateType, createdAt, consentedUseCases, consentedDataScopes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemWithConsentFields {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append(" authMethod: ").append(toIndentedString(authMethod)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" availableProducts: ").append(toIndentedString(availableProducts)).append("\n"); + sb.append(" billedProducts: ").append(toIndentedString(billedProducts)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append(" consentedProducts: ").append(toIndentedString(consentedProducts)).append("\n"); + sb.append(" consentExpirationTime: ").append(toIndentedString(consentExpirationTime)).append("\n"); + sb.append(" updateType: ").append(toIndentedString(updateType)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" consentedUseCases: ").append(toIndentedString(consentedUseCases)).append("\n"); + sb.append(" consentedDataScopes: ").append(toIndentedString(consentedDataScopes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ItemWithConsentFieldsAllOf.java b/src/main/java/com/plaid/client/model/ItemWithConsentFieldsAllOf.java new file mode 100644 index 0000000000..0decf56796 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ItemWithConsentFieldsAllOf.java @@ -0,0 +1,176 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ItemConsentedDataScope; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * ItemWithConsentFieldsAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ItemWithConsentFieldsAllOf { + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_CONSENTED_USE_CASES = "consented_use_cases"; + @SerializedName(SERIALIZED_NAME_CONSENTED_USE_CASES) + private List consentedUseCases = null; + + public static final String SERIALIZED_NAME_CONSENTED_DATA_SCOPES = "consented_data_scopes"; + @SerializedName(SERIALIZED_NAME_CONSENTED_DATA_SCOPES) + private List consentedDataScopes = null; + + + public ItemWithConsentFieldsAllOf createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * The date and time when the Item was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return createdAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date and time when the Item was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public ItemWithConsentFieldsAllOf consentedUseCases(List consentedUseCases) { + + this.consentedUseCases = consentedUseCases; + return this; + } + + public ItemWithConsentFieldsAllOf addConsentedUseCasesItem(String consentedUseCasesItem) { + if (this.consentedUseCases == null) { + this.consentedUseCases = new ArrayList<>(); + } + this.consentedUseCases.add(consentedUseCasesItem); + return this; + } + + /** + * A list of use cases that the user has consented to for the Item via [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide). You can see the full list of use cases or update the list of use cases to request at any time via the Link Customization section of the [Plaid Dashboard](https://dashboard.plaid.com/link/data-transparency-v5). + * @return consentedUseCases + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of use cases that the user has consented to for the Item via [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide). You can see the full list of use cases or update the list of use cases to request at any time via the Link Customization section of the [Plaid Dashboard](https://dashboard.plaid.com/link/data-transparency-v5).") + + public List getConsentedUseCases() { + return consentedUseCases; + } + + + public void setConsentedUseCases(List consentedUseCases) { + this.consentedUseCases = consentedUseCases; + } + + + public ItemWithConsentFieldsAllOf consentedDataScopes(List consentedDataScopes) { + + this.consentedDataScopes = consentedDataScopes; + return this; + } + + public ItemWithConsentFieldsAllOf addConsentedDataScopesItem(ItemConsentedDataScope consentedDataScopesItem) { + if (this.consentedDataScopes == null) { + this.consentedDataScopes = new ArrayList<>(); + } + this.consentedDataScopes.add(consentedDataScopesItem); + return this; + } + + /** + * A list of data scopes that the user has consented to for the Item via [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide). These are based on the `consented_products`; see the [full mapping](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/#data-scopes-by-product) of data scopes and products. + * @return consentedDataScopes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of data scopes that the user has consented to for the Item via [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide). These are based on the `consented_products`; see the [full mapping](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/#data-scopes-by-product) of data scopes and products.") + + public List getConsentedDataScopes() { + return consentedDataScopes; + } + + + public void setConsentedDataScopes(List consentedDataScopes) { + this.consentedDataScopes = consentedDataScopes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ItemWithConsentFieldsAllOf itemWithConsentFieldsAllOf = (ItemWithConsentFieldsAllOf) o; + return Objects.equals(this.createdAt, itemWithConsentFieldsAllOf.createdAt) && + Objects.equals(this.consentedUseCases, itemWithConsentFieldsAllOf.consentedUseCases) && + Objects.equals(this.consentedDataScopes, itemWithConsentFieldsAllOf.consentedDataScopes); + } + + @Override + public int hashCode() { + return Objects.hash(createdAt, consentedUseCases, consentedDataScopes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ItemWithConsentFieldsAllOf {\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" consentedUseCases: ").append(toIndentedString(consentedUseCases)).append("\n"); + sb.append(" consentedDataScopes: ").append(toIndentedString(consentedDataScopes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/JWKPublicKey.java b/src/main/java/com/plaid/client/model/JWKPublicKey.java new file mode 100644 index 0000000000..a48e22406b --- /dev/null +++ b/src/main/java/com/plaid/client/model/JWKPublicKey.java @@ -0,0 +1,323 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A JSON Web Key (JWK) that can be used in conjunction with [JWT libraries](https://jwt.io/#libraries-io) to verify Plaid webhooks + */ +@ApiModel(description = "A JSON Web Key (JWK) that can be used in conjunction with [JWT libraries](https://jwt.io/#libraries-io) to verify Plaid webhooks") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class JWKPublicKey { + public static final String SERIALIZED_NAME_ALG = "alg"; + @SerializedName(SERIALIZED_NAME_ALG) + private String alg; + + public static final String SERIALIZED_NAME_CRV = "crv"; + @SerializedName(SERIALIZED_NAME_CRV) + private String crv; + + public static final String SERIALIZED_NAME_KID = "kid"; + @SerializedName(SERIALIZED_NAME_KID) + private String kid; + + public static final String SERIALIZED_NAME_KTY = "kty"; + @SerializedName(SERIALIZED_NAME_KTY) + private String kty; + + public static final String SERIALIZED_NAME_USE = "use"; + @SerializedName(SERIALIZED_NAME_USE) + private String use; + + public static final String SERIALIZED_NAME_X = "x"; + @SerializedName(SERIALIZED_NAME_X) + private String x; + + public static final String SERIALIZED_NAME_Y = "y"; + @SerializedName(SERIALIZED_NAME_Y) + private String y; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private Integer createdAt; + + public static final String SERIALIZED_NAME_EXPIRED_AT = "expired_at"; + @SerializedName(SERIALIZED_NAME_EXPIRED_AT) + private Integer expiredAt; + + + public JWKPublicKey alg(String alg) { + + this.alg = alg; + return this; + } + + /** + * The alg member identifies the cryptographic algorithm family used with the key. + * @return alg + **/ + @ApiModelProperty(required = true, value = "The alg member identifies the cryptographic algorithm family used with the key.") + + public String getAlg() { + return alg; + } + + + public void setAlg(String alg) { + this.alg = alg; + } + + + public JWKPublicKey crv(String crv) { + + this.crv = crv; + return this; + } + + /** + * The crv member identifies the cryptographic curve used with the key. + * @return crv + **/ + @ApiModelProperty(required = true, value = "The crv member identifies the cryptographic curve used with the key.") + + public String getCrv() { + return crv; + } + + + public void setCrv(String crv) { + this.crv = crv; + } + + + public JWKPublicKey kid(String kid) { + + this.kid = kid; + return this; + } + + /** + * The kid (Key ID) member can be used to match a specific key. This can be used, for instance, to choose among a set of keys within the JWK during key rollover. + * @return kid + **/ + @ApiModelProperty(required = true, value = "The kid (Key ID) member can be used to match a specific key. This can be used, for instance, to choose among a set of keys within the JWK during key rollover.") + + public String getKid() { + return kid; + } + + + public void setKid(String kid) { + this.kid = kid; + } + + + public JWKPublicKey kty(String kty) { + + this.kty = kty; + return this; + } + + /** + * The kty (key type) parameter identifies the cryptographic algorithm family used with the key, such as RSA or EC. + * @return kty + **/ + @ApiModelProperty(required = true, value = "The kty (key type) parameter identifies the cryptographic algorithm family used with the key, such as RSA or EC.") + + public String getKty() { + return kty; + } + + + public void setKty(String kty) { + this.kty = kty; + } + + + public JWKPublicKey use(String use) { + + this.use = use; + return this; + } + + /** + * The use (public key use) parameter identifies the intended use of the public key. + * @return use + **/ + @ApiModelProperty(required = true, value = "The use (public key use) parameter identifies the intended use of the public key.") + + public String getUse() { + return use; + } + + + public void setUse(String use) { + this.use = use; + } + + + public JWKPublicKey x(String x) { + + this.x = x; + return this; + } + + /** + * The x member contains the x coordinate for the elliptic curve point, provided as a base64url-encoded string of the coordinate's big endian representation. + * @return x + **/ + @ApiModelProperty(required = true, value = "The x member contains the x coordinate for the elliptic curve point, provided as a base64url-encoded string of the coordinate's big endian representation.") + + public String getX() { + return x; + } + + + public void setX(String x) { + this.x = x; + } + + + public JWKPublicKey y(String y) { + + this.y = y; + return this; + } + + /** + * The y member contains the y coordinate for the elliptic curve point, provided as a base64url-encoded string of the coordinate's big endian representation. + * @return y + **/ + @ApiModelProperty(required = true, value = "The y member contains the y coordinate for the elliptic curve point, provided as a base64url-encoded string of the coordinate's big endian representation.") + + public String getY() { + return y; + } + + + public void setY(String y) { + this.y = y; + } + + + public JWKPublicKey createdAt(Integer createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * The timestamp when the key was created, in Unix time. + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "The timestamp when the key was created, in Unix time.") + + public Integer getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(Integer createdAt) { + this.createdAt = createdAt; + } + + + public JWKPublicKey expiredAt(Integer expiredAt) { + + this.expiredAt = expiredAt; + return this; + } + + /** + * The timestamp when the key expired, in Unix time. + * @return expiredAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The timestamp when the key expired, in Unix time.") + + public Integer getExpiredAt() { + return expiredAt; + } + + + public void setExpiredAt(Integer expiredAt) { + this.expiredAt = expiredAt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JWKPublicKey jwKPublicKey = (JWKPublicKey) o; + return Objects.equals(this.alg, jwKPublicKey.alg) && + Objects.equals(this.crv, jwKPublicKey.crv) && + Objects.equals(this.kid, jwKPublicKey.kid) && + Objects.equals(this.kty, jwKPublicKey.kty) && + Objects.equals(this.use, jwKPublicKey.use) && + Objects.equals(this.x, jwKPublicKey.x) && + Objects.equals(this.y, jwKPublicKey.y) && + Objects.equals(this.createdAt, jwKPublicKey.createdAt) && + Objects.equals(this.expiredAt, jwKPublicKey.expiredAt); + } + + @Override + public int hashCode() { + return Objects.hash(alg, crv, kid, kty, use, x, y, createdAt, expiredAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JWKPublicKey {\n"); + sb.append(" alg: ").append(toIndentedString(alg)).append("\n"); + sb.append(" crv: ").append(toIndentedString(crv)).append("\n"); + sb.append(" kid: ").append(toIndentedString(kid)).append("\n"); + sb.append(" kty: ").append(toIndentedString(kty)).append("\n"); + sb.append(" use: ").append(toIndentedString(use)).append("\n"); + sb.append(" x: ").append(toIndentedString(x)).append("\n"); + sb.append(" y: ").append(toIndentedString(y)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" expiredAt: ").append(toIndentedString(expiredAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/JWTHeader.java b/src/main/java/com/plaid/client/model/JWTHeader.java new file mode 100644 index 0000000000..302fc33401 --- /dev/null +++ b/src/main/java/com/plaid/client/model/JWTHeader.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A JWT Header, used for webhook validation + */ +@ApiModel(description = "A JWT Header, used for webhook validation") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class JWTHeader { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_KID = "kid"; + @SerializedName(SERIALIZED_NAME_KID) + private String kid; + + public static final String SERIALIZED_NAME_ALG = "alg"; + @SerializedName(SERIALIZED_NAME_ALG) + private String alg; + + + public JWTHeader id(String id) { + + this.id = id; + return this; + } + + /** + * Get id + * @return id + **/ + @ApiModelProperty(required = true, value = "") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public JWTHeader kid(String kid) { + + this.kid = kid; + return this; + } + + /** + * Get kid + * @return kid + **/ + @ApiModelProperty(required = true, value = "") + + public String getKid() { + return kid; + } + + + public void setKid(String kid) { + this.kid = kid; + } + + + public JWTHeader alg(String alg) { + + this.alg = alg; + return this; + } + + /** + * Get alg + * @return alg + **/ + @ApiModelProperty(required = true, value = "") + + public String getAlg() { + return alg; + } + + + public void setAlg(String alg) { + this.alg = alg; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JWTHeader jwTHeader = (JWTHeader) o; + return Objects.equals(this.id, jwTHeader.id) && + Objects.equals(this.kid, jwTHeader.kid) && + Objects.equals(this.alg, jwTHeader.alg); + } + + @Override + public int hashCode() { + return Objects.hash(id, kid, alg); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JWTHeader {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" kid: ").append(toIndentedString(kid)).append("\n"); + sb.append(" alg: ").append(toIndentedString(alg)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/KYCCheckAddressSummary.java b/src/main/java/com/plaid/client/model/KYCCheckAddressSummary.java new file mode 100644 index 0000000000..917360e04c --- /dev/null +++ b/src/main/java/com/plaid/client/model/KYCCheckAddressSummary.java @@ -0,0 +1,304 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AddressPurposeLabel; +import com.plaid.client.model.HiddenMatchSummaryCode; +import com.plaid.client.model.KYCCheckDetailsInternationalAddress; +import com.plaid.client.model.MatchSummaryCode; +import com.plaid.client.model.POBoxStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Result summary object specifying how the `address` field matched. + */ +@ApiModel(description = "Result summary object specifying how the `address` field matched.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class KYCCheckAddressSummary { + public static final String SERIALIZED_NAME_SUMMARY = "summary"; + @SerializedName(SERIALIZED_NAME_SUMMARY) + private MatchSummaryCode summary; + + public static final String SERIALIZED_NAME_PO_BOX = "po_box"; + @SerializedName(SERIALIZED_NAME_PO_BOX) + private POBoxStatus poBox; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private AddressPurposeLabel type; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private HiddenMatchSummaryCode street; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private HiddenMatchSummaryCode city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private HiddenMatchSummaryCode region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private HiddenMatchSummaryCode postalCode; + + public static final String SERIALIZED_NAME_INTERNATIONAL_DETAILS = "international_details"; + @SerializedName(SERIALIZED_NAME_INTERNATIONAL_DETAILS) + private KYCCheckDetailsInternationalAddress internationalDetails; + + + public KYCCheckAddressSummary summary(MatchSummaryCode summary) { + + this.summary = summary; + return this; + } + + /** + * Get summary + * @return summary + **/ + @ApiModelProperty(required = true, value = "") + + public MatchSummaryCode getSummary() { + return summary; + } + + + public void setSummary(MatchSummaryCode summary) { + this.summary = summary; + } + + + public KYCCheckAddressSummary poBox(POBoxStatus poBox) { + + this.poBox = poBox; + return this; + } + + /** + * Get poBox + * @return poBox + **/ + @ApiModelProperty(required = true, value = "") + + public POBoxStatus getPoBox() { + return poBox; + } + + + public void setPoBox(POBoxStatus poBox) { + this.poBox = poBox; + } + + + public KYCCheckAddressSummary type(AddressPurposeLabel type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public AddressPurposeLabel getType() { + return type; + } + + + public void setType(AddressPurposeLabel type) { + this.type = type; + } + + + public KYCCheckAddressSummary street(HiddenMatchSummaryCode street) { + + this.street = street; + return this; + } + + /** + * Get street + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public HiddenMatchSummaryCode getStreet() { + return street; + } + + + public void setStreet(HiddenMatchSummaryCode street) { + this.street = street; + } + + + public KYCCheckAddressSummary city(HiddenMatchSummaryCode city) { + + this.city = city; + return this; + } + + /** + * Get city + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public HiddenMatchSummaryCode getCity() { + return city; + } + + + public void setCity(HiddenMatchSummaryCode city) { + this.city = city; + } + + + public KYCCheckAddressSummary region(HiddenMatchSummaryCode region) { + + this.region = region; + return this; + } + + /** + * Get region + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public HiddenMatchSummaryCode getRegion() { + return region; + } + + + public void setRegion(HiddenMatchSummaryCode region) { + this.region = region; + } + + + public KYCCheckAddressSummary postalCode(HiddenMatchSummaryCode postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * Get postalCode + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public HiddenMatchSummaryCode getPostalCode() { + return postalCode; + } + + + public void setPostalCode(HiddenMatchSummaryCode postalCode) { + this.postalCode = postalCode; + } + + + public KYCCheckAddressSummary internationalDetails(KYCCheckDetailsInternationalAddress internationalDetails) { + + this.internationalDetails = internationalDetails; + return this; + } + + /** + * Get internationalDetails + * @return internationalDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public KYCCheckDetailsInternationalAddress getInternationalDetails() { + return internationalDetails; + } + + + public void setInternationalDetails(KYCCheckDetailsInternationalAddress internationalDetails) { + this.internationalDetails = internationalDetails; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + KYCCheckAddressSummary kyCCheckAddressSummary = (KYCCheckAddressSummary) o; + return Objects.equals(this.summary, kyCCheckAddressSummary.summary) && + Objects.equals(this.poBox, kyCCheckAddressSummary.poBox) && + Objects.equals(this.type, kyCCheckAddressSummary.type) && + Objects.equals(this.street, kyCCheckAddressSummary.street) && + Objects.equals(this.city, kyCCheckAddressSummary.city) && + Objects.equals(this.region, kyCCheckAddressSummary.region) && + Objects.equals(this.postalCode, kyCCheckAddressSummary.postalCode) && + Objects.equals(this.internationalDetails, kyCCheckAddressSummary.internationalDetails); + } + + @Override + public int hashCode() { + return Objects.hash(summary, poBox, type, street, city, region, postalCode, internationalDetails); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class KYCCheckAddressSummary {\n"); + sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append(" poBox: ").append(toIndentedString(poBox)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" internationalDetails: ").append(toIndentedString(internationalDetails)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/KYCCheckDateOfBirthSummary.java b/src/main/java/com/plaid/client/model/KYCCheckDateOfBirthSummary.java new file mode 100644 index 0000000000..926ef3ffe3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/KYCCheckDateOfBirthSummary.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.HiddenMatchSummaryCode; +import com.plaid.client.model.MatchSummaryCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Result summary object specifying how the `date_of_birth` field matched. + */ +@ApiModel(description = "Result summary object specifying how the `date_of_birth` field matched.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class KYCCheckDateOfBirthSummary { + public static final String SERIALIZED_NAME_SUMMARY = "summary"; + @SerializedName(SERIALIZED_NAME_SUMMARY) + private MatchSummaryCode summary; + + public static final String SERIALIZED_NAME_DAY = "day"; + @SerializedName(SERIALIZED_NAME_DAY) + private HiddenMatchSummaryCode day; + + public static final String SERIALIZED_NAME_MONTH = "month"; + @SerializedName(SERIALIZED_NAME_MONTH) + private HiddenMatchSummaryCode month; + + public static final String SERIALIZED_NAME_YEAR = "year"; + @SerializedName(SERIALIZED_NAME_YEAR) + private HiddenMatchSummaryCode year; + + + public KYCCheckDateOfBirthSummary summary(MatchSummaryCode summary) { + + this.summary = summary; + return this; + } + + /** + * Get summary + * @return summary + **/ + @ApiModelProperty(required = true, value = "") + + public MatchSummaryCode getSummary() { + return summary; + } + + + public void setSummary(MatchSummaryCode summary) { + this.summary = summary; + } + + + public KYCCheckDateOfBirthSummary day(HiddenMatchSummaryCode day) { + + this.day = day; + return this; + } + + /** + * Get day + * @return day + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public HiddenMatchSummaryCode getDay() { + return day; + } + + + public void setDay(HiddenMatchSummaryCode day) { + this.day = day; + } + + + public KYCCheckDateOfBirthSummary month(HiddenMatchSummaryCode month) { + + this.month = month; + return this; + } + + /** + * Get month + * @return month + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public HiddenMatchSummaryCode getMonth() { + return month; + } + + + public void setMonth(HiddenMatchSummaryCode month) { + this.month = month; + } + + + public KYCCheckDateOfBirthSummary year(HiddenMatchSummaryCode year) { + + this.year = year; + return this; + } + + /** + * Get year + * @return year + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public HiddenMatchSummaryCode getYear() { + return year; + } + + + public void setYear(HiddenMatchSummaryCode year) { + this.year = year; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + KYCCheckDateOfBirthSummary kyCCheckDateOfBirthSummary = (KYCCheckDateOfBirthSummary) o; + return Objects.equals(this.summary, kyCCheckDateOfBirthSummary.summary) && + Objects.equals(this.day, kyCCheckDateOfBirthSummary.day) && + Objects.equals(this.month, kyCCheckDateOfBirthSummary.month) && + Objects.equals(this.year, kyCCheckDateOfBirthSummary.year); + } + + @Override + public int hashCode() { + return Objects.hash(summary, day, month, year); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class KYCCheckDateOfBirthSummary {\n"); + sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append(" day: ").append(toIndentedString(day)).append("\n"); + sb.append(" month: ").append(toIndentedString(month)).append("\n"); + sb.append(" year: ").append(toIndentedString(year)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/KYCCheckDetails.java b/src/main/java/com/plaid/client/model/KYCCheckDetails.java new file mode 100644 index 0000000000..b6197982ce --- /dev/null +++ b/src/main/java/com/plaid/client/model/KYCCheckDetails.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.KYCCheckAddressSummary; +import com.plaid.client.model.KYCCheckDateOfBirthSummary; +import com.plaid.client.model.KYCCheckIDNumberSummary; +import com.plaid.client.model.KYCCheckNameSummary; +import com.plaid.client.model.KYCCheckPhoneSummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Additional information for the `kyc_check` (Data Source Verification) step. This field will be `null` unless `steps.kyc_check` has reached a terminal state of either `success` or `failed`. + */ +@ApiModel(description = "Additional information for the `kyc_check` (Data Source Verification) step. This field will be `null` unless `steps.kyc_check` has reached a terminal state of either `success` or `failed`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class KYCCheckDetails { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private String status; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private KYCCheckAddressSummary address; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private KYCCheckNameSummary name; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private KYCCheckDateOfBirthSummary dateOfBirth; + + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private KYCCheckIDNumberSummary idNumber; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private KYCCheckPhoneSummary phoneNumber; + + + public KYCCheckDetails status(String status) { + + this.status = status; + return this; + } + + /** + * The outcome status for the associated Identity Verification attempt's `kyc_check` step. This field will always have the same value as `steps.kyc_check`. + * @return status + **/ + @ApiModelProperty(example = "success", required = true, value = "The outcome status for the associated Identity Verification attempt's `kyc_check` step. This field will always have the same value as `steps.kyc_check`.") + + public String getStatus() { + return status; + } + + + public void setStatus(String status) { + this.status = status; + } + + + public KYCCheckDetails address(KYCCheckAddressSummary address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public KYCCheckAddressSummary getAddress() { + return address; + } + + + public void setAddress(KYCCheckAddressSummary address) { + this.address = address; + } + + + public KYCCheckDetails name(KYCCheckNameSummary name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public KYCCheckNameSummary getName() { + return name; + } + + + public void setName(KYCCheckNameSummary name) { + this.name = name; + } + + + public KYCCheckDetails dateOfBirth(KYCCheckDateOfBirthSummary dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * Get dateOfBirth + * @return dateOfBirth + **/ + @ApiModelProperty(required = true, value = "") + + public KYCCheckDateOfBirthSummary getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(KYCCheckDateOfBirthSummary dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public KYCCheckDetails idNumber(KYCCheckIDNumberSummary idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Get idNumber + * @return idNumber + **/ + @ApiModelProperty(required = true, value = "") + + public KYCCheckIDNumberSummary getIdNumber() { + return idNumber; + } + + + public void setIdNumber(KYCCheckIDNumberSummary idNumber) { + this.idNumber = idNumber; + } + + + public KYCCheckDetails phoneNumber(KYCCheckPhoneSummary phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * Get phoneNumber + * @return phoneNumber + **/ + @ApiModelProperty(required = true, value = "") + + public KYCCheckPhoneSummary getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(KYCCheckPhoneSummary phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + KYCCheckDetails kyCCheckDetails = (KYCCheckDetails) o; + return Objects.equals(this.status, kyCCheckDetails.status) && + Objects.equals(this.address, kyCCheckDetails.address) && + Objects.equals(this.name, kyCCheckDetails.name) && + Objects.equals(this.dateOfBirth, kyCCheckDetails.dateOfBirth) && + Objects.equals(this.idNumber, kyCCheckDetails.idNumber) && + Objects.equals(this.phoneNumber, kyCCheckDetails.phoneNumber); + } + + @Override + public int hashCode() { + return Objects.hash(status, address, name, dateOfBirth, idNumber, phoneNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class KYCCheckDetails {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/KYCCheckDetailsInternationalAddress.java b/src/main/java/com/plaid/client/model/KYCCheckDetailsInternationalAddress.java new file mode 100644 index 0000000000..579a0761ec --- /dev/null +++ b/src/main/java/com/plaid/client/model/KYCCheckDetailsInternationalAddress.java @@ -0,0 +1,239 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.HiddenMatchSummaryCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Result summary object specifying how the `address` field matched for fields that are only present on an international KYC check. + */ +@ApiModel(description = "Result summary object specifying how the `address` field matched for fields that are only present on an international KYC check.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class KYCCheckDetailsInternationalAddress { + public static final String SERIALIZED_NAME_BUILDING = "building"; + @SerializedName(SERIALIZED_NAME_BUILDING) + private HiddenMatchSummaryCode building; + + public static final String SERIALIZED_NAME_COUNTY = "county"; + @SerializedName(SERIALIZED_NAME_COUNTY) + private HiddenMatchSummaryCode county; + + public static final String SERIALIZED_NAME_DISTRICT = "district"; + @SerializedName(SERIALIZED_NAME_DISTRICT) + private HiddenMatchSummaryCode district; + + public static final String SERIALIZED_NAME_HOUSE_NUMBER = "house_number"; + @SerializedName(SERIALIZED_NAME_HOUSE_NUMBER) + private HiddenMatchSummaryCode houseNumber; + + public static final String SERIALIZED_NAME_SUBPREMISE = "subpremise"; + @SerializedName(SERIALIZED_NAME_SUBPREMISE) + private HiddenMatchSummaryCode subpremise; + + public static final String SERIALIZED_NAME_THOROUGHFARE = "thoroughfare"; + @SerializedName(SERIALIZED_NAME_THOROUGHFARE) + private HiddenMatchSummaryCode thoroughfare; + + + public KYCCheckDetailsInternationalAddress building(HiddenMatchSummaryCode building) { + + this.building = building; + return this; + } + + /** + * Get building + * @return building + **/ + @ApiModelProperty(required = true, value = "") + + public HiddenMatchSummaryCode getBuilding() { + return building; + } + + + public void setBuilding(HiddenMatchSummaryCode building) { + this.building = building; + } + + + public KYCCheckDetailsInternationalAddress county(HiddenMatchSummaryCode county) { + + this.county = county; + return this; + } + + /** + * Get county + * @return county + **/ + @ApiModelProperty(required = true, value = "") + + public HiddenMatchSummaryCode getCounty() { + return county; + } + + + public void setCounty(HiddenMatchSummaryCode county) { + this.county = county; + } + + + public KYCCheckDetailsInternationalAddress district(HiddenMatchSummaryCode district) { + + this.district = district; + return this; + } + + /** + * Get district + * @return district + **/ + @ApiModelProperty(required = true, value = "") + + public HiddenMatchSummaryCode getDistrict() { + return district; + } + + + public void setDistrict(HiddenMatchSummaryCode district) { + this.district = district; + } + + + public KYCCheckDetailsInternationalAddress houseNumber(HiddenMatchSummaryCode houseNumber) { + + this.houseNumber = houseNumber; + return this; + } + + /** + * Get houseNumber + * @return houseNumber + **/ + @ApiModelProperty(required = true, value = "") + + public HiddenMatchSummaryCode getHouseNumber() { + return houseNumber; + } + + + public void setHouseNumber(HiddenMatchSummaryCode houseNumber) { + this.houseNumber = houseNumber; + } + + + public KYCCheckDetailsInternationalAddress subpremise(HiddenMatchSummaryCode subpremise) { + + this.subpremise = subpremise; + return this; + } + + /** + * Get subpremise + * @return subpremise + **/ + @ApiModelProperty(required = true, value = "") + + public HiddenMatchSummaryCode getSubpremise() { + return subpremise; + } + + + public void setSubpremise(HiddenMatchSummaryCode subpremise) { + this.subpremise = subpremise; + } + + + public KYCCheckDetailsInternationalAddress thoroughfare(HiddenMatchSummaryCode thoroughfare) { + + this.thoroughfare = thoroughfare; + return this; + } + + /** + * Get thoroughfare + * @return thoroughfare + **/ + @ApiModelProperty(required = true, value = "") + + public HiddenMatchSummaryCode getThoroughfare() { + return thoroughfare; + } + + + public void setThoroughfare(HiddenMatchSummaryCode thoroughfare) { + this.thoroughfare = thoroughfare; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + KYCCheckDetailsInternationalAddress kyCCheckDetailsInternationalAddress = (KYCCheckDetailsInternationalAddress) o; + return Objects.equals(this.building, kyCCheckDetailsInternationalAddress.building) && + Objects.equals(this.county, kyCCheckDetailsInternationalAddress.county) && + Objects.equals(this.district, kyCCheckDetailsInternationalAddress.district) && + Objects.equals(this.houseNumber, kyCCheckDetailsInternationalAddress.houseNumber) && + Objects.equals(this.subpremise, kyCCheckDetailsInternationalAddress.subpremise) && + Objects.equals(this.thoroughfare, kyCCheckDetailsInternationalAddress.thoroughfare); + } + + @Override + public int hashCode() { + return Objects.hash(building, county, district, houseNumber, subpremise, thoroughfare); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class KYCCheckDetailsInternationalAddress {\n"); + sb.append(" building: ").append(toIndentedString(building)).append("\n"); + sb.append(" county: ").append(toIndentedString(county)).append("\n"); + sb.append(" district: ").append(toIndentedString(district)).append("\n"); + sb.append(" houseNumber: ").append(toIndentedString(houseNumber)).append("\n"); + sb.append(" subpremise: ").append(toIndentedString(subpremise)).append("\n"); + sb.append(" thoroughfare: ").append(toIndentedString(thoroughfare)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/KYCCheckIDNumberSummary.java b/src/main/java/com/plaid/client/model/KYCCheckIDNumberSummary.java new file mode 100644 index 0000000000..6127e44d7d --- /dev/null +++ b/src/main/java/com/plaid/client/model/KYCCheckIDNumberSummary.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MatchSummaryCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Result summary object specifying how the `id_number` field matched. + */ +@ApiModel(description = "Result summary object specifying how the `id_number` field matched.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class KYCCheckIDNumberSummary { + public static final String SERIALIZED_NAME_SUMMARY = "summary"; + @SerializedName(SERIALIZED_NAME_SUMMARY) + private MatchSummaryCode summary; + + + public KYCCheckIDNumberSummary summary(MatchSummaryCode summary) { + + this.summary = summary; + return this; + } + + /** + * Get summary + * @return summary + **/ + @ApiModelProperty(required = true, value = "") + + public MatchSummaryCode getSummary() { + return summary; + } + + + public void setSummary(MatchSummaryCode summary) { + this.summary = summary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + KYCCheckIDNumberSummary kyCCheckIDNumberSummary = (KYCCheckIDNumberSummary) o; + return Objects.equals(this.summary, kyCCheckIDNumberSummary.summary); + } + + @Override + public int hashCode() { + return Objects.hash(summary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class KYCCheckIDNumberSummary {\n"); + sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/KYCCheckNameSummary.java b/src/main/java/com/plaid/client/model/KYCCheckNameSummary.java new file mode 100644 index 0000000000..18a88a44b3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/KYCCheckNameSummary.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.HiddenMatchSummaryCode; +import com.plaid.client.model.MatchSummaryCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Result summary object specifying how the `name` field matched. + */ +@ApiModel(description = "Result summary object specifying how the `name` field matched.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class KYCCheckNameSummary { + public static final String SERIALIZED_NAME_SUMMARY = "summary"; + @SerializedName(SERIALIZED_NAME_SUMMARY) + private MatchSummaryCode summary; + + public static final String SERIALIZED_NAME_GIVEN_NAME = "given_name"; + @SerializedName(SERIALIZED_NAME_GIVEN_NAME) + private HiddenMatchSummaryCode givenName; + + public static final String SERIALIZED_NAME_FAMILY_NAME = "family_name"; + @SerializedName(SERIALIZED_NAME_FAMILY_NAME) + private HiddenMatchSummaryCode familyName; + + + public KYCCheckNameSummary summary(MatchSummaryCode summary) { + + this.summary = summary; + return this; + } + + /** + * Get summary + * @return summary + **/ + @ApiModelProperty(required = true, value = "") + + public MatchSummaryCode getSummary() { + return summary; + } + + + public void setSummary(MatchSummaryCode summary) { + this.summary = summary; + } + + + public KYCCheckNameSummary givenName(HiddenMatchSummaryCode givenName) { + + this.givenName = givenName; + return this; + } + + /** + * Get givenName + * @return givenName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public HiddenMatchSummaryCode getGivenName() { + return givenName; + } + + + public void setGivenName(HiddenMatchSummaryCode givenName) { + this.givenName = givenName; + } + + + public KYCCheckNameSummary familyName(HiddenMatchSummaryCode familyName) { + + this.familyName = familyName; + return this; + } + + /** + * Get familyName + * @return familyName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public HiddenMatchSummaryCode getFamilyName() { + return familyName; + } + + + public void setFamilyName(HiddenMatchSummaryCode familyName) { + this.familyName = familyName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + KYCCheckNameSummary kyCCheckNameSummary = (KYCCheckNameSummary) o; + return Objects.equals(this.summary, kyCCheckNameSummary.summary) && + Objects.equals(this.givenName, kyCCheckNameSummary.givenName) && + Objects.equals(this.familyName, kyCCheckNameSummary.familyName); + } + + @Override + public int hashCode() { + return Objects.hash(summary, givenName, familyName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class KYCCheckNameSummary {\n"); + sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append(" givenName: ").append(toIndentedString(givenName)).append("\n"); + sb.append(" familyName: ").append(toIndentedString(familyName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/KYCCheckPhoneSummary.java b/src/main/java/com/plaid/client/model/KYCCheckPhoneSummary.java new file mode 100644 index 0000000000..ceeebe0efc --- /dev/null +++ b/src/main/java/com/plaid/client/model/KYCCheckPhoneSummary.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MatchSummaryCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Result summary object specifying how the `phone` field matched. + */ +@ApiModel(description = "Result summary object specifying how the `phone` field matched.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class KYCCheckPhoneSummary { + public static final String SERIALIZED_NAME_SUMMARY = "summary"; + @SerializedName(SERIALIZED_NAME_SUMMARY) + private MatchSummaryCode summary; + + public static final String SERIALIZED_NAME_AREA_CODE = "area_code"; + @SerializedName(SERIALIZED_NAME_AREA_CODE) + private MatchSummaryCode areaCode; + + + public KYCCheckPhoneSummary summary(MatchSummaryCode summary) { + + this.summary = summary; + return this; + } + + /** + * Get summary + * @return summary + **/ + @ApiModelProperty(required = true, value = "") + + public MatchSummaryCode getSummary() { + return summary; + } + + + public void setSummary(MatchSummaryCode summary) { + this.summary = summary; + } + + + public KYCCheckPhoneSummary areaCode(MatchSummaryCode areaCode) { + + this.areaCode = areaCode; + return this; + } + + /** + * Get areaCode + * @return areaCode + **/ + @ApiModelProperty(required = true, value = "") + + public MatchSummaryCode getAreaCode() { + return areaCode; + } + + + public void setAreaCode(MatchSummaryCode areaCode) { + this.areaCode = areaCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + KYCCheckPhoneSummary kyCCheckPhoneSummary = (KYCCheckPhoneSummary) o; + return Objects.equals(this.summary, kyCCheckPhoneSummary.summary) && + Objects.equals(this.areaCode, kyCCheckPhoneSummary.areaCode); + } + + @Override + public int hashCode() { + return Objects.hash(summary, areaCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class KYCCheckPhoneSummary {\n"); + sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append(" areaCode: ").append(toIndentedString(areaCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LastDataAccessTimes.java b/src/main/java/com/plaid/client/model/LastDataAccessTimes.java new file mode 100644 index 0000000000..5a16b10690 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LastDataAccessTimes.java @@ -0,0 +1,331 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Describes the last time each datatype was accessed by an application. + */ +@ApiModel(description = "Describes the last time each datatype was accessed by an application.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LastDataAccessTimes { + public static final String SERIALIZED_NAME_APPLICATION_ID = "application_id"; + @SerializedName(SERIALIZED_NAME_APPLICATION_ID) + private String applicationId; + + public static final String SERIALIZED_NAME_ACCOUNT_BALANCE_INFO = "account_balance_info"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_BALANCE_INFO) + private OffsetDateTime accountBalanceInfo; + + public static final String SERIALIZED_NAME_ACCOUNT_ROUTING_NUMBER = "account_routing_number"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ROUTING_NUMBER) + private OffsetDateTime accountRoutingNumber; + + public static final String SERIALIZED_NAME_CONTACT_DETAILS = "contact_details"; + @SerializedName(SERIALIZED_NAME_CONTACT_DETAILS) + private OffsetDateTime contactDetails; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private OffsetDateTime transactions; + + public static final String SERIALIZED_NAME_CREDIT_AND_LOANS = "credit_and_loans"; + @SerializedName(SERIALIZED_NAME_CREDIT_AND_LOANS) + private OffsetDateTime creditAndLoans; + + public static final String SERIALIZED_NAME_INVESTMENTS = "investments"; + @SerializedName(SERIALIZED_NAME_INVESTMENTS) + private OffsetDateTime investments; + + public static final String SERIALIZED_NAME_PAYROLL_INFO = "payroll_info"; + @SerializedName(SERIALIZED_NAME_PAYROLL_INFO) + private OffsetDateTime payrollInfo; + + public static final String SERIALIZED_NAME_TRANSACTION_RISK_INFO = "transaction_risk_info"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_RISK_INFO) + private OffsetDateTime transactionRiskInfo; + + + public LastDataAccessTimes applicationId(String applicationId) { + + this.applicationId = applicationId; + return this; + } + + /** + * ID of the application accessing data. + * @return applicationId + **/ + @ApiModelProperty(required = true, value = "ID of the application accessing data.") + + public String getApplicationId() { + return applicationId; + } + + + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + + public LastDataAccessTimes accountBalanceInfo(OffsetDateTime accountBalanceInfo) { + + this.accountBalanceInfo = accountBalanceInfo; + return this; + } + + /** + * The last time `account_balance_info` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed. + * @return accountBalanceInfo + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-02-08T10:00Z", required = true, value = "The last time `account_balance_info` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.") + + public OffsetDateTime getAccountBalanceInfo() { + return accountBalanceInfo; + } + + + public void setAccountBalanceInfo(OffsetDateTime accountBalanceInfo) { + this.accountBalanceInfo = accountBalanceInfo; + } + + + public LastDataAccessTimes accountRoutingNumber(OffsetDateTime accountRoutingNumber) { + + this.accountRoutingNumber = accountRoutingNumber; + return this; + } + + /** + * The last time `account_routing_number` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed. + * @return accountRoutingNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-02-08T10:00Z", required = true, value = "The last time `account_routing_number` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.") + + public OffsetDateTime getAccountRoutingNumber() { + return accountRoutingNumber; + } + + + public void setAccountRoutingNumber(OffsetDateTime accountRoutingNumber) { + this.accountRoutingNumber = accountRoutingNumber; + } + + + public LastDataAccessTimes contactDetails(OffsetDateTime contactDetails) { + + this.contactDetails = contactDetails; + return this; + } + + /** + * The last time `contact_details` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed. + * @return contactDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-02-08T10:00Z", required = true, value = "The last time `contact_details` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.") + + public OffsetDateTime getContactDetails() { + return contactDetails; + } + + + public void setContactDetails(OffsetDateTime contactDetails) { + this.contactDetails = contactDetails; + } + + + public LastDataAccessTimes transactions(OffsetDateTime transactions) { + + this.transactions = transactions; + return this; + } + + /** + * The last time `transactions` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed. + * @return transactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-02-08T10:00Z", required = true, value = "The last time `transactions` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.") + + public OffsetDateTime getTransactions() { + return transactions; + } + + + public void setTransactions(OffsetDateTime transactions) { + this.transactions = transactions; + } + + + public LastDataAccessTimes creditAndLoans(OffsetDateTime creditAndLoans) { + + this.creditAndLoans = creditAndLoans; + return this; + } + + /** + * The last time `credit_and_loans` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed. + * @return creditAndLoans + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-02-08T10:00Z", required = true, value = "The last time `credit_and_loans` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.") + + public OffsetDateTime getCreditAndLoans() { + return creditAndLoans; + } + + + public void setCreditAndLoans(OffsetDateTime creditAndLoans) { + this.creditAndLoans = creditAndLoans; + } + + + public LastDataAccessTimes investments(OffsetDateTime investments) { + + this.investments = investments; + return this; + } + + /** + * The last time `investments` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed. + * @return investments + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-02-08T10:00Z", required = true, value = "The last time `investments` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.") + + public OffsetDateTime getInvestments() { + return investments; + } + + + public void setInvestments(OffsetDateTime investments) { + this.investments = investments; + } + + + public LastDataAccessTimes payrollInfo(OffsetDateTime payrollInfo) { + + this.payrollInfo = payrollInfo; + return this; + } + + /** + * The last time `payroll_info` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed. + * @return payrollInfo + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-02-08T10:00Z", required = true, value = "The last time `payroll_info` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.") + + public OffsetDateTime getPayrollInfo() { + return payrollInfo; + } + + + public void setPayrollInfo(OffsetDateTime payrollInfo) { + this.payrollInfo = payrollInfo; + } + + + public LastDataAccessTimes transactionRiskInfo(OffsetDateTime transactionRiskInfo) { + + this.transactionRiskInfo = transactionRiskInfo; + return this; + } + + /** + * The last time `transaction_risk_info` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed. + * @return transactionRiskInfo + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-02-08T10:00Z", required = true, value = "The last time `transaction_risk_info` was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.") + + public OffsetDateTime getTransactionRiskInfo() { + return transactionRiskInfo; + } + + + public void setTransactionRiskInfo(OffsetDateTime transactionRiskInfo) { + this.transactionRiskInfo = transactionRiskInfo; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LastDataAccessTimes lastDataAccessTimes = (LastDataAccessTimes) o; + return Objects.equals(this.applicationId, lastDataAccessTimes.applicationId) && + Objects.equals(this.accountBalanceInfo, lastDataAccessTimes.accountBalanceInfo) && + Objects.equals(this.accountRoutingNumber, lastDataAccessTimes.accountRoutingNumber) && + Objects.equals(this.contactDetails, lastDataAccessTimes.contactDetails) && + Objects.equals(this.transactions, lastDataAccessTimes.transactions) && + Objects.equals(this.creditAndLoans, lastDataAccessTimes.creditAndLoans) && + Objects.equals(this.investments, lastDataAccessTimes.investments) && + Objects.equals(this.payrollInfo, lastDataAccessTimes.payrollInfo) && + Objects.equals(this.transactionRiskInfo, lastDataAccessTimes.transactionRiskInfo); + } + + @Override + public int hashCode() { + return Objects.hash(applicationId, accountBalanceInfo, accountRoutingNumber, contactDetails, transactions, creditAndLoans, investments, payrollInfo, transactionRiskInfo); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LastDataAccessTimes {\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append(" accountBalanceInfo: ").append(toIndentedString(accountBalanceInfo)).append("\n"); + sb.append(" accountRoutingNumber: ").append(toIndentedString(accountRoutingNumber)).append("\n"); + sb.append(" contactDetails: ").append(toIndentedString(contactDetails)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" creditAndLoans: ").append(toIndentedString(creditAndLoans)).append("\n"); + sb.append(" investments: ").append(toIndentedString(investments)).append("\n"); + sb.append(" payrollInfo: ").append(toIndentedString(payrollInfo)).append("\n"); + sb.append(" transactionRiskInfo: ").append(toIndentedString(transactionRiskInfo)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LatestScoredEvent.java b/src/main/java/com/plaid/client/model/LatestScoredEvent.java new file mode 100644 index 0000000000..b58e5faa48 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LatestScoredEvent.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TrustIndex; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * The latest scored event for a user. + */ +@ApiModel(description = "The latest scored event for a user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LatestScoredEvent { + public static final String SERIALIZED_NAME_EVENT_ID = "event_id"; + @SerializedName(SERIALIZED_NAME_EVENT_ID) + private String eventId; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + public static final String SERIALIZED_NAME_EVENT_TYPE = "event_type"; + @SerializedName(SERIALIZED_NAME_EVENT_TYPE) + private String eventType; + + public static final String SERIALIZED_NAME_TRUST_INDEX = "trust_index"; + @SerializedName(SERIALIZED_NAME_TRUST_INDEX) + private TrustIndex trustIndex; + + public static final String SERIALIZED_NAME_FRAUD_ATTRIBUTES = "fraud_attributes"; + @SerializedName(SERIALIZED_NAME_FRAUD_ATTRIBUTES) + private Object fraudAttributes; + + + public LatestScoredEvent eventId(String eventId) { + + this.eventId = eventId; + return this; + } + + /** + * The event ID. + * @return eventId + **/ + @ApiModelProperty(required = true, value = "The event ID.") + + public String getEventId() { + return eventId; + } + + + public void setEventId(String eventId) { + this.eventId = eventId; + } + + + public LatestScoredEvent timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * The timestamp of the event, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"` + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "The timestamp of the event, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"`") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + public LatestScoredEvent eventType(String eventType) { + + this.eventType = eventType; + return this; + } + + /** + * The type of event. + * @return eventType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The type of event.") + + public String getEventType() { + return eventType; + } + + + public void setEventType(String eventType) { + this.eventType = eventType; + } + + + public LatestScoredEvent trustIndex(TrustIndex trustIndex) { + + this.trustIndex = trustIndex; + return this; + } + + /** + * Get trustIndex + * @return trustIndex + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TrustIndex getTrustIndex() { + return trustIndex; + } + + + public void setTrustIndex(TrustIndex trustIndex) { + this.trustIndex = trustIndex; + } + + + public LatestScoredEvent fraudAttributes(Object fraudAttributes) { + + this.fraudAttributes = fraudAttributes; + return this; + } + + /** + * Event fraud attributes as an arbitrary set of key-value pairs. The set of attributes returned varies by model. + * @return fraudAttributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Event fraud attributes as an arbitrary set of key-value pairs. The set of attributes returned varies by model.") + + public Object getFraudAttributes() { + return fraudAttributes; + } + + + public void setFraudAttributes(Object fraudAttributes) { + this.fraudAttributes = fraudAttributes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LatestScoredEvent latestScoredEvent = (LatestScoredEvent) o; + return Objects.equals(this.eventId, latestScoredEvent.eventId) && + Objects.equals(this.timestamp, latestScoredEvent.timestamp) && + Objects.equals(this.eventType, latestScoredEvent.eventType) && + Objects.equals(this.trustIndex, latestScoredEvent.trustIndex) && + Objects.equals(this.fraudAttributes, latestScoredEvent.fraudAttributes); + } + + @Override + public int hashCode() { + return Objects.hash(eventId, timestamp, eventType, trustIndex, fraudAttributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LatestScoredEvent {\n"); + sb.append(" eventId: ").append(toIndentedString(eventId)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); + sb.append(" trustIndex: ").append(toIndentedString(trustIndex)).append("\n"); + sb.append(" fraudAttributes: ").append(toIndentedString(fraudAttributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LayerAuthenticationPassedWebhook.java b/src/main/java/com/plaid/client/model/LayerAuthenticationPassedWebhook.java new file mode 100644 index 0000000000..cb395a8179 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LayerAuthenticationPassedWebhook.java @@ -0,0 +1,211 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Indicates that Plaid's authentication process has completed for a user and that Plaid has verified that the user owns their phone number. If you receive this webhook, you should skip your own OTP phone number verification flow for the user, even if the user does not complete the entire Link flow. If the user doesn't complete the full Link flow (as verified by your being able to successfully call `/user_account/session/get` using the `public_token` from the `onSuccess` callback) it is recommended that you implement [webhook verification](https://plaid.com/docs/api/webhooks/webhook-verification/) or another technique to avoid webhook spoofing attacks. + */ +@ApiModel(description = "Indicates that Plaid's authentication process has completed for a user and that Plaid has verified that the user owns their phone number. If you receive this webhook, you should skip your own OTP phone number verification flow for the user, even if the user does not complete the entire Link flow. If the user doesn't complete the full Link flow (as verified by your being able to successfully call `/user_account/session/get` using the `public_token` from the `onSuccess` callback) it is recommended that you implement [webhook verification](https://plaid.com/docs/api/webhooks/webhook-verification/) or another technique to avoid webhook spoofing attacks.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LayerAuthenticationPassedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_LINK_TOKEN = "link_token"; + @SerializedName(SERIALIZED_NAME_LINK_TOKEN) + private String linkToken; + + + public LayerAuthenticationPassedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `LAYER` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`LAYER`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public LayerAuthenticationPassedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `LAYER_AUTHENTICATION_PASSED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`LAYER_AUTHENTICATION_PASSED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public LayerAuthenticationPassedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + public LayerAuthenticationPassedWebhook linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * An identifier for the Link session these events occurred in + * @return linkSessionId + **/ + @ApiModelProperty(required = true, value = "An identifier for the Link session these events occurred in") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public LayerAuthenticationPassedWebhook linkToken(String linkToken) { + + this.linkToken = linkToken; + return this; + } + + /** + * The Link token used to create the Link session these events are from + * @return linkToken + **/ + @ApiModelProperty(required = true, value = "The Link token used to create the Link session these events are from") + + public String getLinkToken() { + return linkToken; + } + + + public void setLinkToken(String linkToken) { + this.linkToken = linkToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LayerAuthenticationPassedWebhook layerAuthenticationPassedWebhook = (LayerAuthenticationPassedWebhook) o; + return Objects.equals(this.webhookType, layerAuthenticationPassedWebhook.webhookType) && + Objects.equals(this.webhookCode, layerAuthenticationPassedWebhook.webhookCode) && + Objects.equals(this.environment, layerAuthenticationPassedWebhook.environment) && + Objects.equals(this.linkSessionId, layerAuthenticationPassedWebhook.linkSessionId) && + Objects.equals(this.linkToken, layerAuthenticationPassedWebhook.linkToken); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, environment, linkSessionId, linkToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LayerAuthenticationPassedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" linkToken: ").append(toIndentedString(linkToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LedgerEventSourceType.java b/src/main/java/com/plaid/client/model/LedgerEventSourceType.java new file mode 100644 index 0000000000..e06f3c0045 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LedgerEventSourceType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Source of the ledger event. `\"TRANSFER\"` - The source of the ledger event is a transfer `\"SWEEP\"` - The source of the ledger event is a sweep `\"REFUND\"` - The source of the ledger event is a refund + */ +@JsonAdapter(LedgerEventSourceType.Adapter.class) +public enum LedgerEventSourceType { + + TRANSFER("TRANSFER"), + + SWEEP("SWEEP"), + + REFUND("REFUND"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + LedgerEventSourceType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LedgerEventSourceType fromValue(String value) { + for (LedgerEventSourceType b : LedgerEventSourceType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final LedgerEventSourceType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LedgerEventSourceType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LedgerEventSourceType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/LendScore.java b/src/main/java/com/plaid/client/model/LendScore.java new file mode 100644 index 0000000000..736b6dbbdc --- /dev/null +++ b/src/main/java/com/plaid/client/model/LendScore.java @@ -0,0 +1,167 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The results of the LendScore + */ +@ApiModel(description = "The results of the LendScore") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LendScore { + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_REASON_CODES = "reason_codes"; + @SerializedName(SERIALIZED_NAME_REASON_CODES) + private List reasonCodes = null; + + public static final String SERIALIZED_NAME_ERROR_REASON = "error_reason"; + @SerializedName(SERIALIZED_NAME_ERROR_REASON) + private String errorReason; + + + public LendScore score(Integer score) { + + this.score = score; + return this; + } + + /** + * The score returned by the LendScore model. Will be an integer in the range 1 to 99. Higher scores indicate lower credit risk. + * @return score + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The score returned by the LendScore model. Will be an integer in the range 1 to 99. Higher scores indicate lower credit risk.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public LendScore reasonCodes(List reasonCodes) { + + this.reasonCodes = reasonCodes; + return this; + } + + public LendScore addReasonCodesItem(String reasonCodesItem) { + if (this.reasonCodes == null) { + this.reasonCodes = new ArrayList<>(); + } + this.reasonCodes.add(reasonCodesItem); + return this; + } + + /** + * The reasons for an individual having risk according to the LendScore. For a full list of possible reason codes and a mapping of reason codes to human-readable reasons, contact your Plaid account manager. Different LendScore versions will use different sets of reason codes. + * @return reasonCodes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The reasons for an individual having risk according to the LendScore. For a full list of possible reason codes and a mapping of reason codes to human-readable reasons, contact your Plaid account manager. Different LendScore versions will use different sets of reason codes.") + + public List getReasonCodes() { + return reasonCodes; + } + + + public void setReasonCodes(List reasonCodes) { + this.reasonCodes = reasonCodes; + } + + + public LendScore errorReason(String errorReason) { + + this.errorReason = errorReason; + return this; + } + + /** + * Human-readable description of why the LendScore could not be computed. + * @return errorReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Human-readable description of why the LendScore could not be computed.") + + public String getErrorReason() { + return errorReason; + } + + + public void setErrorReason(String errorReason) { + this.errorReason = errorReason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LendScore lendScore = (LendScore) o; + return Objects.equals(this.score, lendScore.score) && + Objects.equals(this.reasonCodes, lendScore.reasonCodes) && + Objects.equals(this.errorReason, lendScore.errorReason); + } + + @Override + public int hashCode() { + return Objects.hash(score, reasonCodes, errorReason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LendScore {\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" reasonCodes: ").append(toIndentedString(reasonCodes)).append("\n"); + sb.append(" errorReason: ").append(toIndentedString(errorReason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LiabilitiesDefaultUpdateWebhook.java b/src/main/java/com/plaid/client/model/LiabilitiesDefaultUpdateWebhook.java new file mode 100644 index 0000000000..4b796424e8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LiabilitiesDefaultUpdateWebhook.java @@ -0,0 +1,312 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * The webhook of type `LIABILITIES` and code `DEFAULT_UPDATE` will be fired when new or updated liabilities have been detected on a liabilities item. + */ +@ApiModel(description = "The webhook of type `LIABILITIES` and code `DEFAULT_UPDATE` will be fired when new or updated liabilities have been detected on a liabilities item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LiabilitiesDefaultUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_ACCOUNT_IDS_WITH_NEW_LIABILITIES = "account_ids_with_new_liabilities"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS_WITH_NEW_LIABILITIES) + private List accountIdsWithNewLiabilities = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ACCOUNT_IDS_WITH_UPDATED_LIABILITIES = "account_ids_with_updated_liabilities"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS_WITH_UPDATED_LIABILITIES) + private Map> accountIdsWithUpdatedLiabilities = new HashMap<>(); + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public LiabilitiesDefaultUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `LIABILITIES` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`LIABILITIES`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public LiabilitiesDefaultUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `DEFAULT_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`DEFAULT_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public LiabilitiesDefaultUpdateWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public LiabilitiesDefaultUpdateWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public LiabilitiesDefaultUpdateWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public LiabilitiesDefaultUpdateWebhook accountIdsWithNewLiabilities(List accountIdsWithNewLiabilities) { + + this.accountIdsWithNewLiabilities = accountIdsWithNewLiabilities; + return this; + } + + public LiabilitiesDefaultUpdateWebhook addAccountIdsWithNewLiabilitiesItem(String accountIdsWithNewLiabilitiesItem) { + this.accountIdsWithNewLiabilities.add(accountIdsWithNewLiabilitiesItem); + return this; + } + + /** + * An array of `account_id`'s for accounts that contain new liabilities.' + * @return accountIdsWithNewLiabilities + **/ + @ApiModelProperty(required = true, value = "An array of `account_id`'s for accounts that contain new liabilities.'") + + public List getAccountIdsWithNewLiabilities() { + return accountIdsWithNewLiabilities; + } + + + public void setAccountIdsWithNewLiabilities(List accountIdsWithNewLiabilities) { + this.accountIdsWithNewLiabilities = accountIdsWithNewLiabilities; + } + + + public LiabilitiesDefaultUpdateWebhook accountIdsWithUpdatedLiabilities(Map> accountIdsWithUpdatedLiabilities) { + + this.accountIdsWithUpdatedLiabilities = accountIdsWithUpdatedLiabilities; + return this; + } + + public LiabilitiesDefaultUpdateWebhook putAccountIdsWithUpdatedLiabilitiesItem(String key, List accountIdsWithUpdatedLiabilitiesItem) { + this.accountIdsWithUpdatedLiabilities.put(key, accountIdsWithUpdatedLiabilitiesItem); + return this; + } + + /** + * An object with keys of `account_id`'s that are mapped to their respective liabilities fields that changed. Example: `{ \"XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58\": [\"past_amount_due\"] }` + * @return accountIdsWithUpdatedLiabilities + **/ + @ApiModelProperty(required = true, value = "An object with keys of `account_id`'s that are mapped to their respective liabilities fields that changed. Example: `{ \"XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58\": [\"past_amount_due\"] }` ") + + public Map> getAccountIdsWithUpdatedLiabilities() { + return accountIdsWithUpdatedLiabilities; + } + + + public void setAccountIdsWithUpdatedLiabilities(Map> accountIdsWithUpdatedLiabilities) { + this.accountIdsWithUpdatedLiabilities = accountIdsWithUpdatedLiabilities; + } + + + public LiabilitiesDefaultUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LiabilitiesDefaultUpdateWebhook liabilitiesDefaultUpdateWebhook = (LiabilitiesDefaultUpdateWebhook) o; + return Objects.equals(this.webhookType, liabilitiesDefaultUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, liabilitiesDefaultUpdateWebhook.webhookCode) && + Objects.equals(this.itemId, liabilitiesDefaultUpdateWebhook.itemId) && + Objects.equals(this.userId, liabilitiesDefaultUpdateWebhook.userId) && + Objects.equals(this.error, liabilitiesDefaultUpdateWebhook.error) && + Objects.equals(this.accountIdsWithNewLiabilities, liabilitiesDefaultUpdateWebhook.accountIdsWithNewLiabilities) && + Objects.equals(this.accountIdsWithUpdatedLiabilities, liabilitiesDefaultUpdateWebhook.accountIdsWithUpdatedLiabilities) && + Objects.equals(this.environment, liabilitiesDefaultUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, error, accountIdsWithNewLiabilities, accountIdsWithUpdatedLiabilities, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LiabilitiesDefaultUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" accountIdsWithNewLiabilities: ").append(toIndentedString(accountIdsWithNewLiabilities)).append("\n"); + sb.append(" accountIdsWithUpdatedLiabilities: ").append(toIndentedString(accountIdsWithUpdatedLiabilities)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LiabilitiesGetRequest.java b/src/main/java/com/plaid/client/model/LiabilitiesGetRequest.java new file mode 100644 index 0000000000..c8c144f39b --- /dev/null +++ b/src/main/java/com/plaid/client/model/LiabilitiesGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LiabilitiesGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * LiabilitiesGetRequest defines the request schema for `/liabilities/get` + */ +@ApiModel(description = "LiabilitiesGetRequest defines the request schema for `/liabilities/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LiabilitiesGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private LiabilitiesGetRequestOptions options; + + + public LiabilitiesGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public LiabilitiesGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public LiabilitiesGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public LiabilitiesGetRequest options(LiabilitiesGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LiabilitiesGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(LiabilitiesGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LiabilitiesGetRequest liabilitiesGetRequest = (LiabilitiesGetRequest) o; + return Objects.equals(this.clientId, liabilitiesGetRequest.clientId) && + Objects.equals(this.secret, liabilitiesGetRequest.secret) && + Objects.equals(this.accessToken, liabilitiesGetRequest.accessToken) && + Objects.equals(this.options, liabilitiesGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LiabilitiesGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LiabilitiesGetRequestOptions.java b/src/main/java/com/plaid/client/model/LiabilitiesGetRequestOptions.java new file mode 100644 index 0000000000..5929329265 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LiabilitiesGetRequestOptions.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to filter `/liabilities/get` results. If provided, `options` cannot be null. + */ +@ApiModel(description = "An optional object to filter `/liabilities/get` results. If provided, `options` cannot be null.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LiabilitiesGetRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + + public LiabilitiesGetRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public LiabilitiesGetRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * A list of accounts to retrieve for the Item. An error will be returned if a provided `account_id` is not associated with the Item + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of accounts to retrieve for the Item. An error will be returned if a provided `account_id` is not associated with the Item") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LiabilitiesGetRequestOptions liabilitiesGetRequestOptions = (LiabilitiesGetRequestOptions) o; + return Objects.equals(this.accountIds, liabilitiesGetRequestOptions.accountIds); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LiabilitiesGetRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LiabilitiesGetResponse.java b/src/main/java/com/plaid/client/model/LiabilitiesGetResponse.java new file mode 100644 index 0000000000..67ba61d2ab --- /dev/null +++ b/src/main/java/com/plaid/client/model/LiabilitiesGetResponse.java @@ -0,0 +1,192 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.Item; +import com.plaid.client.model.LiabilitiesObject; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * LiabilitiesGetResponse defines the response schema for `/liabilities/get` + */ +@ApiModel(description = "LiabilitiesGetResponse defines the response schema for `/liabilities/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LiabilitiesGetResponse { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_LIABILITIES = "liabilities"; + @SerializedName(SERIALIZED_NAME_LIABILITIES) + private LiabilitiesObject liabilities; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public LiabilitiesGetResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public LiabilitiesGetResponse addAccountsItem(AccountBase accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * An array of accounts associated with the Item + * @return accounts + **/ + @ApiModelProperty(required = true, value = "An array of accounts associated with the Item") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public LiabilitiesGetResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public LiabilitiesGetResponse liabilities(LiabilitiesObject liabilities) { + + this.liabilities = liabilities; + return this; + } + + /** + * Get liabilities + * @return liabilities + **/ + @ApiModelProperty(required = true, value = "") + + public LiabilitiesObject getLiabilities() { + return liabilities; + } + + + public void setLiabilities(LiabilitiesObject liabilities) { + this.liabilities = liabilities; + } + + + public LiabilitiesGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LiabilitiesGetResponse liabilitiesGetResponse = (LiabilitiesGetResponse) o; + return Objects.equals(this.accounts, liabilitiesGetResponse.accounts) && + Objects.equals(this.item, liabilitiesGetResponse.item) && + Objects.equals(this.liabilities, liabilitiesGetResponse.liabilities) && + Objects.equals(this.requestId, liabilitiesGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, item, liabilities, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LiabilitiesGetResponse {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" liabilities: ").append(toIndentedString(liabilities)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LiabilitiesObject.java b/src/main/java/com/plaid/client/model/LiabilitiesObject.java new file mode 100644 index 0000000000..92070cc1f4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LiabilitiesObject.java @@ -0,0 +1,177 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditCardLiability; +import com.plaid.client.model.MortgageLiability; +import com.plaid.client.model.StudentLoan; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object containing liability accounts + */ +@ApiModel(description = "An object containing liability accounts") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LiabilitiesObject { + public static final String SERIALIZED_NAME_CREDIT = "credit"; + @SerializedName(SERIALIZED_NAME_CREDIT) + private List credit = new ArrayList<>(); + + public static final String SERIALIZED_NAME_MORTGAGE = "mortgage"; + @SerializedName(SERIALIZED_NAME_MORTGAGE) + private List mortgage = new ArrayList<>(); + + public static final String SERIALIZED_NAME_STUDENT = "student"; + @SerializedName(SERIALIZED_NAME_STUDENT) + private List student = new ArrayList<>(); + + + public LiabilitiesObject credit(List credit) { + + this.credit = credit; + return this; + } + + public LiabilitiesObject addCreditItem(CreditCardLiability creditItem) { + this.credit.add(creditItem); + return this; + } + + /** + * The credit accounts returned. + * @return credit + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The credit accounts returned.") + + public List getCredit() { + return credit; + } + + + public void setCredit(List credit) { + this.credit = credit; + } + + + public LiabilitiesObject mortgage(List mortgage) { + + this.mortgage = mortgage; + return this; + } + + public LiabilitiesObject addMortgageItem(MortgageLiability mortgageItem) { + this.mortgage.add(mortgageItem); + return this; + } + + /** + * The mortgage accounts returned. + * @return mortgage + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The mortgage accounts returned.") + + public List getMortgage() { + return mortgage; + } + + + public void setMortgage(List mortgage) { + this.mortgage = mortgage; + } + + + public LiabilitiesObject student(List student) { + + this.student = student; + return this; + } + + public LiabilitiesObject addStudentItem(StudentLoan studentItem) { + this.student.add(studentItem); + return this; + } + + /** + * The student loan accounts returned. + * @return student + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The student loan accounts returned.") + + public List getStudent() { + return student; + } + + + public void setStudent(List student) { + this.student = student; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LiabilitiesObject liabilitiesObject = (LiabilitiesObject) o; + return Objects.equals(this.credit, liabilitiesObject.credit) && + Objects.equals(this.mortgage, liabilitiesObject.mortgage) && + Objects.equals(this.student, liabilitiesObject.student); + } + + @Override + public int hashCode() { + return Objects.hash(credit, mortgage, student); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LiabilitiesObject {\n"); + sb.append(" credit: ").append(toIndentedString(credit)).append("\n"); + sb.append(" mortgage: ").append(toIndentedString(mortgage)).append("\n"); + sb.append(" student: ").append(toIndentedString(student)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LiabilityOverride.java b/src/main/java/com/plaid/client/model/LiabilityOverride.java new file mode 100644 index 0000000000..94edf498b0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LiabilityOverride.java @@ -0,0 +1,748 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Address; +import com.plaid.client.model.PSLFStatus; +import com.plaid.client.model.StudentLoanRepaymentModel; +import com.plaid.client.model.StudentLoanStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * Used to configure Sandbox test data for the Liabilities product + */ +@ApiModel(description = "Used to configure Sandbox test data for the Liabilities product") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LiabilityOverride { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_PURCHASE_APR = "purchase_apr"; + @SerializedName(SERIALIZED_NAME_PURCHASE_APR) + private Double purchaseApr; + + public static final String SERIALIZED_NAME_CASH_APR = "cash_apr"; + @SerializedName(SERIALIZED_NAME_CASH_APR) + private Double cashApr; + + public static final String SERIALIZED_NAME_BALANCE_TRANSFER_APR = "balance_transfer_apr"; + @SerializedName(SERIALIZED_NAME_BALANCE_TRANSFER_APR) + private Double balanceTransferApr; + + public static final String SERIALIZED_NAME_SPECIAL_APR = "special_apr"; + @SerializedName(SERIALIZED_NAME_SPECIAL_APR) + private Double specialApr; + + public static final String SERIALIZED_NAME_LAST_PAYMENT_AMOUNT = "last_payment_amount"; + @SerializedName(SERIALIZED_NAME_LAST_PAYMENT_AMOUNT) + private Double lastPaymentAmount; + + public static final String SERIALIZED_NAME_MINIMUM_PAYMENT_AMOUNT = "minimum_payment_amount"; + @SerializedName(SERIALIZED_NAME_MINIMUM_PAYMENT_AMOUNT) + private Double minimumPaymentAmount; + + public static final String SERIALIZED_NAME_IS_OVERDUE = "is_overdue"; + @SerializedName(SERIALIZED_NAME_IS_OVERDUE) + private Boolean isOverdue; + + public static final String SERIALIZED_NAME_ORIGINATION_DATE = "origination_date"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_DATE) + private LocalDate originationDate; + + public static final String SERIALIZED_NAME_PRINCIPAL = "principal"; + @SerializedName(SERIALIZED_NAME_PRINCIPAL) + private Double principal; + + public static final String SERIALIZED_NAME_NOMINAL_APR = "nominal_apr"; + @SerializedName(SERIALIZED_NAME_NOMINAL_APR) + private Double nominalApr; + + public static final String SERIALIZED_NAME_INTEREST_CAPITALIZATION_GRACE_PERIOD_MONTHS = "interest_capitalization_grace_period_months"; + @SerializedName(SERIALIZED_NAME_INTEREST_CAPITALIZATION_GRACE_PERIOD_MONTHS) + private Double interestCapitalizationGracePeriodMonths; + + public static final String SERIALIZED_NAME_REPAYMENT_MODEL = "repayment_model"; + @SerializedName(SERIALIZED_NAME_REPAYMENT_MODEL) + private StudentLoanRepaymentModel repaymentModel; + + public static final String SERIALIZED_NAME_EXPECTED_PAYOFF_DATE = "expected_payoff_date"; + @SerializedName(SERIALIZED_NAME_EXPECTED_PAYOFF_DATE) + private LocalDate expectedPayoffDate; + + public static final String SERIALIZED_NAME_GUARANTOR = "guarantor"; + @SerializedName(SERIALIZED_NAME_GUARANTOR) + private String guarantor; + + public static final String SERIALIZED_NAME_IS_FEDERAL = "is_federal"; + @SerializedName(SERIALIZED_NAME_IS_FEDERAL) + private Boolean isFederal; + + public static final String SERIALIZED_NAME_LOAN_NAME = "loan_name"; + @SerializedName(SERIALIZED_NAME_LOAN_NAME) + private String loanName; + + public static final String SERIALIZED_NAME_LOAN_STATUS = "loan_status"; + @SerializedName(SERIALIZED_NAME_LOAN_STATUS) + private StudentLoanStatus loanStatus; + + public static final String SERIALIZED_NAME_PAYMENT_REFERENCE_NUMBER = "payment_reference_number"; + @SerializedName(SERIALIZED_NAME_PAYMENT_REFERENCE_NUMBER) + private String paymentReferenceNumber; + + public static final String SERIALIZED_NAME_PSLF_STATUS = "pslf_status"; + @SerializedName(SERIALIZED_NAME_PSLF_STATUS) + private PSLFStatus pslfStatus; + + public static final String SERIALIZED_NAME_REPAYMENT_PLAN_DESCRIPTION = "repayment_plan_description"; + @SerializedName(SERIALIZED_NAME_REPAYMENT_PLAN_DESCRIPTION) + private String repaymentPlanDescription; + + public static final String SERIALIZED_NAME_REPAYMENT_PLAN_TYPE = "repayment_plan_type"; + @SerializedName(SERIALIZED_NAME_REPAYMENT_PLAN_TYPE) + private String repaymentPlanType; + + public static final String SERIALIZED_NAME_SEQUENCE_NUMBER = "sequence_number"; + @SerializedName(SERIALIZED_NAME_SEQUENCE_NUMBER) + private String sequenceNumber; + + public static final String SERIALIZED_NAME_SERVICER_ADDRESS = "servicer_address"; + @SerializedName(SERIALIZED_NAME_SERVICER_ADDRESS) + private Address servicerAddress; + + + public LiabilityOverride type(String type) { + + this.type = type; + return this; + } + + /** + * The type of the liability object, either `credit` or `student`. Mortgages are not currently supported in the custom Sandbox. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of the liability object, either `credit` or `student`. Mortgages are not currently supported in the custom Sandbox.") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public LiabilityOverride purchaseApr(Double purchaseApr) { + + this.purchaseApr = purchaseApr; + return this; + } + + /** + * The purchase APR percentage value. For simplicity, this is the only interest rate used to calculate interest charges. Can only be set if `type` is `credit`. + * @return purchaseApr + **/ + @ApiModelProperty(required = true, value = "The purchase APR percentage value. For simplicity, this is the only interest rate used to calculate interest charges. Can only be set if `type` is `credit`.") + + public Double getPurchaseApr() { + return purchaseApr; + } + + + public void setPurchaseApr(Double purchaseApr) { + this.purchaseApr = purchaseApr; + } + + + public LiabilityOverride cashApr(Double cashApr) { + + this.cashApr = cashApr; + return this; + } + + /** + * The cash APR percentage value. Can only be set if `type` is `credit`. + * @return cashApr + **/ + @ApiModelProperty(required = true, value = "The cash APR percentage value. Can only be set if `type` is `credit`.") + + public Double getCashApr() { + return cashApr; + } + + + public void setCashApr(Double cashApr) { + this.cashApr = cashApr; + } + + + public LiabilityOverride balanceTransferApr(Double balanceTransferApr) { + + this.balanceTransferApr = balanceTransferApr; + return this; + } + + /** + * The balance transfer APR percentage value. Can only be set if `type` is `credit`. + * @return balanceTransferApr + **/ + @ApiModelProperty(required = true, value = "The balance transfer APR percentage value. Can only be set if `type` is `credit`.") + + public Double getBalanceTransferApr() { + return balanceTransferApr; + } + + + public void setBalanceTransferApr(Double balanceTransferApr) { + this.balanceTransferApr = balanceTransferApr; + } + + + public LiabilityOverride specialApr(Double specialApr) { + + this.specialApr = specialApr; + return this; + } + + /** + * The special APR percentage value. Can only be set if `type` is `credit`. + * @return specialApr + **/ + @ApiModelProperty(required = true, value = "The special APR percentage value. Can only be set if `type` is `credit`.") + + public Double getSpecialApr() { + return specialApr; + } + + + public void setSpecialApr(Double specialApr) { + this.specialApr = specialApr; + } + + + public LiabilityOverride lastPaymentAmount(Double lastPaymentAmount) { + + this.lastPaymentAmount = lastPaymentAmount; + return this; + } + + /** + * Override the `last_payment_amount` field. Can only be set if `type` is `credit`. + * @return lastPaymentAmount + **/ + @ApiModelProperty(required = true, value = "Override the `last_payment_amount` field. Can only be set if `type` is `credit`.") + + public Double getLastPaymentAmount() { + return lastPaymentAmount; + } + + + public void setLastPaymentAmount(Double lastPaymentAmount) { + this.lastPaymentAmount = lastPaymentAmount; + } + + + public LiabilityOverride minimumPaymentAmount(Double minimumPaymentAmount) { + + this.minimumPaymentAmount = minimumPaymentAmount; + return this; + } + + /** + * Override the `minimum_payment_amount` field. Can only be set if `type` is `credit` or `student`. + * @return minimumPaymentAmount + **/ + @ApiModelProperty(required = true, value = "Override the `minimum_payment_amount` field. Can only be set if `type` is `credit` or `student`.") + + public Double getMinimumPaymentAmount() { + return minimumPaymentAmount; + } + + + public void setMinimumPaymentAmount(Double minimumPaymentAmount) { + this.minimumPaymentAmount = minimumPaymentAmount; + } + + + public LiabilityOverride isOverdue(Boolean isOverdue) { + + this.isOverdue = isOverdue; + return this; + } + + /** + * Override the `is_overdue` field + * @return isOverdue + **/ + @ApiModelProperty(required = true, value = "Override the `is_overdue` field") + + public Boolean getIsOverdue() { + return isOverdue; + } + + + public void setIsOverdue(Boolean isOverdue) { + this.isOverdue = isOverdue; + } + + + public LiabilityOverride originationDate(LocalDate originationDate) { + + this.originationDate = originationDate; + return this; + } + + /** + * The date on which the loan was initially lent, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. Can only be set if `type` is `student`. + * @return originationDate + **/ + @ApiModelProperty(required = true, value = "The date on which the loan was initially lent, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. Can only be set if `type` is `student`.") + + public LocalDate getOriginationDate() { + return originationDate; + } + + + public void setOriginationDate(LocalDate originationDate) { + this.originationDate = originationDate; + } + + + public LiabilityOverride principal(Double principal) { + + this.principal = principal; + return this; + } + + /** + * The original loan principal. Can only be set if `type` is `student`. + * @return principal + **/ + @ApiModelProperty(required = true, value = "The original loan principal. Can only be set if `type` is `student`.") + + public Double getPrincipal() { + return principal; + } + + + public void setPrincipal(Double principal) { + this.principal = principal; + } + + + public LiabilityOverride nominalApr(Double nominalApr) { + + this.nominalApr = nominalApr; + return this; + } + + /** + * The interest rate on the loan as a percentage. Can only be set if `type` is `student`. + * @return nominalApr + **/ + @ApiModelProperty(required = true, value = "The interest rate on the loan as a percentage. Can only be set if `type` is `student`.") + + public Double getNominalApr() { + return nominalApr; + } + + + public void setNominalApr(Double nominalApr) { + this.nominalApr = nominalApr; + } + + + public LiabilityOverride interestCapitalizationGracePeriodMonths(Double interestCapitalizationGracePeriodMonths) { + + this.interestCapitalizationGracePeriodMonths = interestCapitalizationGracePeriodMonths; + return this; + } + + /** + * If set, interest capitalization begins at the given number of months after loan origination. By default interest is never capitalized. Can only be set if `type` is `student`. + * @return interestCapitalizationGracePeriodMonths + **/ + @ApiModelProperty(required = true, value = "If set, interest capitalization begins at the given number of months after loan origination. By default interest is never capitalized. Can only be set if `type` is `student`.") + + public Double getInterestCapitalizationGracePeriodMonths() { + return interestCapitalizationGracePeriodMonths; + } + + + public void setInterestCapitalizationGracePeriodMonths(Double interestCapitalizationGracePeriodMonths) { + this.interestCapitalizationGracePeriodMonths = interestCapitalizationGracePeriodMonths; + } + + + public LiabilityOverride repaymentModel(StudentLoanRepaymentModel repaymentModel) { + + this.repaymentModel = repaymentModel; + return this; + } + + /** + * Get repaymentModel + * @return repaymentModel + **/ + @ApiModelProperty(required = true, value = "") + + public StudentLoanRepaymentModel getRepaymentModel() { + return repaymentModel; + } + + + public void setRepaymentModel(StudentLoanRepaymentModel repaymentModel) { + this.repaymentModel = repaymentModel; + } + + + public LiabilityOverride expectedPayoffDate(LocalDate expectedPayoffDate) { + + this.expectedPayoffDate = expectedPayoffDate; + return this; + } + + /** + * Override the `expected_payoff_date` field. Can only be set if `type` is `student`. + * @return expectedPayoffDate + **/ + @ApiModelProperty(required = true, value = "Override the `expected_payoff_date` field. Can only be set if `type` is `student`.") + + public LocalDate getExpectedPayoffDate() { + return expectedPayoffDate; + } + + + public void setExpectedPayoffDate(LocalDate expectedPayoffDate) { + this.expectedPayoffDate = expectedPayoffDate; + } + + + public LiabilityOverride guarantor(String guarantor) { + + this.guarantor = guarantor; + return this; + } + + /** + * Override the `guarantor` field. Can only be set if `type` is `student`. + * @return guarantor + **/ + @ApiModelProperty(required = true, value = "Override the `guarantor` field. Can only be set if `type` is `student`.") + + public String getGuarantor() { + return guarantor; + } + + + public void setGuarantor(String guarantor) { + this.guarantor = guarantor; + } + + + public LiabilityOverride isFederal(Boolean isFederal) { + + this.isFederal = isFederal; + return this; + } + + /** + * Override the `is_federal` field. Can only be set if `type` is `student`. + * @return isFederal + **/ + @ApiModelProperty(required = true, value = "Override the `is_federal` field. Can only be set if `type` is `student`.") + + public Boolean getIsFederal() { + return isFederal; + } + + + public void setIsFederal(Boolean isFederal) { + this.isFederal = isFederal; + } + + + public LiabilityOverride loanName(String loanName) { + + this.loanName = loanName; + return this; + } + + /** + * Override the `loan_name` field. Can only be set if `type` is `student`. + * @return loanName + **/ + @ApiModelProperty(required = true, value = "Override the `loan_name` field. Can only be set if `type` is `student`.") + + public String getLoanName() { + return loanName; + } + + + public void setLoanName(String loanName) { + this.loanName = loanName; + } + + + public LiabilityOverride loanStatus(StudentLoanStatus loanStatus) { + + this.loanStatus = loanStatus; + return this; + } + + /** + * Get loanStatus + * @return loanStatus + **/ + @ApiModelProperty(required = true, value = "") + + public StudentLoanStatus getLoanStatus() { + return loanStatus; + } + + + public void setLoanStatus(StudentLoanStatus loanStatus) { + this.loanStatus = loanStatus; + } + + + public LiabilityOverride paymentReferenceNumber(String paymentReferenceNumber) { + + this.paymentReferenceNumber = paymentReferenceNumber; + return this; + } + + /** + * Override the `payment_reference_number` field. Can only be set if `type` is `student`. + * @return paymentReferenceNumber + **/ + @ApiModelProperty(required = true, value = "Override the `payment_reference_number` field. Can only be set if `type` is `student`.") + + public String getPaymentReferenceNumber() { + return paymentReferenceNumber; + } + + + public void setPaymentReferenceNumber(String paymentReferenceNumber) { + this.paymentReferenceNumber = paymentReferenceNumber; + } + + + public LiabilityOverride pslfStatus(PSLFStatus pslfStatus) { + + this.pslfStatus = pslfStatus; + return this; + } + + /** + * Get pslfStatus + * @return pslfStatus + **/ + @ApiModelProperty(required = true, value = "") + + public PSLFStatus getPslfStatus() { + return pslfStatus; + } + + + public void setPslfStatus(PSLFStatus pslfStatus) { + this.pslfStatus = pslfStatus; + } + + + public LiabilityOverride repaymentPlanDescription(String repaymentPlanDescription) { + + this.repaymentPlanDescription = repaymentPlanDescription; + return this; + } + + /** + * Override the `repayment_plan.description` field. Can only be set if `type` is `student`. + * @return repaymentPlanDescription + **/ + @ApiModelProperty(required = true, value = "Override the `repayment_plan.description` field. Can only be set if `type` is `student`.") + + public String getRepaymentPlanDescription() { + return repaymentPlanDescription; + } + + + public void setRepaymentPlanDescription(String repaymentPlanDescription) { + this.repaymentPlanDescription = repaymentPlanDescription; + } + + + public LiabilityOverride repaymentPlanType(String repaymentPlanType) { + + this.repaymentPlanType = repaymentPlanType; + return this; + } + + /** + * Override the `repayment_plan.type` field. Can only be set if `type` is `student`. Possible values are: `\"extended graduated\"`, `\"extended standard\"`, `\"graduated\"`, `\"income-contingent repayment\"`, `\"income-based repayment\"`, `\"income-sensitive repayment\"`, `\"interest only\"`, `\"other\"`, `\"pay as you earn\"`, `\"revised pay as you earn\"`, `\"standard\"`, or `\"saving on a valuable education\"`. + * @return repaymentPlanType + **/ + @ApiModelProperty(required = true, value = "Override the `repayment_plan.type` field. Can only be set if `type` is `student`. Possible values are: `\"extended graduated\"`, `\"extended standard\"`, `\"graduated\"`, `\"income-contingent repayment\"`, `\"income-based repayment\"`, `\"income-sensitive repayment\"`, `\"interest only\"`, `\"other\"`, `\"pay as you earn\"`, `\"revised pay as you earn\"`, `\"standard\"`, or `\"saving on a valuable education\"`.") + + public String getRepaymentPlanType() { + return repaymentPlanType; + } + + + public void setRepaymentPlanType(String repaymentPlanType) { + this.repaymentPlanType = repaymentPlanType; + } + + + public LiabilityOverride sequenceNumber(String sequenceNumber) { + + this.sequenceNumber = sequenceNumber; + return this; + } + + /** + * Override the `sequence_number` field. Can only be set if `type` is `student`. + * @return sequenceNumber + **/ + @ApiModelProperty(required = true, value = "Override the `sequence_number` field. Can only be set if `type` is `student`.") + + public String getSequenceNumber() { + return sequenceNumber; + } + + + public void setSequenceNumber(String sequenceNumber) { + this.sequenceNumber = sequenceNumber; + } + + + public LiabilityOverride servicerAddress(Address servicerAddress) { + + this.servicerAddress = servicerAddress; + return this; + } + + /** + * Get servicerAddress + * @return servicerAddress + **/ + @ApiModelProperty(required = true, value = "") + + public Address getServicerAddress() { + return servicerAddress; + } + + + public void setServicerAddress(Address servicerAddress) { + this.servicerAddress = servicerAddress; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LiabilityOverride liabilityOverride = (LiabilityOverride) o; + return Objects.equals(this.type, liabilityOverride.type) && + Objects.equals(this.purchaseApr, liabilityOverride.purchaseApr) && + Objects.equals(this.cashApr, liabilityOverride.cashApr) && + Objects.equals(this.balanceTransferApr, liabilityOverride.balanceTransferApr) && + Objects.equals(this.specialApr, liabilityOverride.specialApr) && + Objects.equals(this.lastPaymentAmount, liabilityOverride.lastPaymentAmount) && + Objects.equals(this.minimumPaymentAmount, liabilityOverride.minimumPaymentAmount) && + Objects.equals(this.isOverdue, liabilityOverride.isOverdue) && + Objects.equals(this.originationDate, liabilityOverride.originationDate) && + Objects.equals(this.principal, liabilityOverride.principal) && + Objects.equals(this.nominalApr, liabilityOverride.nominalApr) && + Objects.equals(this.interestCapitalizationGracePeriodMonths, liabilityOverride.interestCapitalizationGracePeriodMonths) && + Objects.equals(this.repaymentModel, liabilityOverride.repaymentModel) && + Objects.equals(this.expectedPayoffDate, liabilityOverride.expectedPayoffDate) && + Objects.equals(this.guarantor, liabilityOverride.guarantor) && + Objects.equals(this.isFederal, liabilityOverride.isFederal) && + Objects.equals(this.loanName, liabilityOverride.loanName) && + Objects.equals(this.loanStatus, liabilityOverride.loanStatus) && + Objects.equals(this.paymentReferenceNumber, liabilityOverride.paymentReferenceNumber) && + Objects.equals(this.pslfStatus, liabilityOverride.pslfStatus) && + Objects.equals(this.repaymentPlanDescription, liabilityOverride.repaymentPlanDescription) && + Objects.equals(this.repaymentPlanType, liabilityOverride.repaymentPlanType) && + Objects.equals(this.sequenceNumber, liabilityOverride.sequenceNumber) && + Objects.equals(this.servicerAddress, liabilityOverride.servicerAddress); + } + + @Override + public int hashCode() { + return Objects.hash(type, purchaseApr, cashApr, balanceTransferApr, specialApr, lastPaymentAmount, minimumPaymentAmount, isOverdue, originationDate, principal, nominalApr, interestCapitalizationGracePeriodMonths, repaymentModel, expectedPayoffDate, guarantor, isFederal, loanName, loanStatus, paymentReferenceNumber, pslfStatus, repaymentPlanDescription, repaymentPlanType, sequenceNumber, servicerAddress); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LiabilityOverride {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" purchaseApr: ").append(toIndentedString(purchaseApr)).append("\n"); + sb.append(" cashApr: ").append(toIndentedString(cashApr)).append("\n"); + sb.append(" balanceTransferApr: ").append(toIndentedString(balanceTransferApr)).append("\n"); + sb.append(" specialApr: ").append(toIndentedString(specialApr)).append("\n"); + sb.append(" lastPaymentAmount: ").append(toIndentedString(lastPaymentAmount)).append("\n"); + sb.append(" minimumPaymentAmount: ").append(toIndentedString(minimumPaymentAmount)).append("\n"); + sb.append(" isOverdue: ").append(toIndentedString(isOverdue)).append("\n"); + sb.append(" originationDate: ").append(toIndentedString(originationDate)).append("\n"); + sb.append(" principal: ").append(toIndentedString(principal)).append("\n"); + sb.append(" nominalApr: ").append(toIndentedString(nominalApr)).append("\n"); + sb.append(" interestCapitalizationGracePeriodMonths: ").append(toIndentedString(interestCapitalizationGracePeriodMonths)).append("\n"); + sb.append(" repaymentModel: ").append(toIndentedString(repaymentModel)).append("\n"); + sb.append(" expectedPayoffDate: ").append(toIndentedString(expectedPayoffDate)).append("\n"); + sb.append(" guarantor: ").append(toIndentedString(guarantor)).append("\n"); + sb.append(" isFederal: ").append(toIndentedString(isFederal)).append("\n"); + sb.append(" loanName: ").append(toIndentedString(loanName)).append("\n"); + sb.append(" loanStatus: ").append(toIndentedString(loanStatus)).append("\n"); + sb.append(" paymentReferenceNumber: ").append(toIndentedString(paymentReferenceNumber)).append("\n"); + sb.append(" pslfStatus: ").append(toIndentedString(pslfStatus)).append("\n"); + sb.append(" repaymentPlanDescription: ").append(toIndentedString(repaymentPlanDescription)).append("\n"); + sb.append(" repaymentPlanType: ").append(toIndentedString(repaymentPlanType)).append("\n"); + sb.append(" sequenceNumber: ").append(toIndentedString(sequenceNumber)).append("\n"); + sb.append(" servicerAddress: ").append(toIndentedString(servicerAddress)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LimitedPurposeType.java b/src/main/java/com/plaid/client/model/LimitedPurposeType.java new file mode 100644 index 0000000000..cb9f24c0b4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LimitedPurposeType.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A specific use case for a limited purpose checking account. Limited purpose checking accounts will reject or return ACH transactions that aren't for eligible use cases. For example, a `RENT_MORTGAGE` limited purpose checking account will reject ACH transactions that are not specifically rent or mortgage payments. + */ +@JsonAdapter(LimitedPurposeType.Adapter.class) +public enum LimitedPurposeType { + + RENT_MORTGAGE("RENT_MORTGAGE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + LimitedPurposeType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LimitedPurposeType fromValue(String value) { + for (LimitedPurposeType b : LimitedPurposeType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return LimitedPurposeType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final LimitedPurposeType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LimitedPurposeType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LimitedPurposeType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/LinkCallbackMetadata.java b/src/main/java/com/plaid/client/model/LinkCallbackMetadata.java new file mode 100644 index 0000000000..9d45c10441 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkCallbackMetadata.java @@ -0,0 +1,287 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkDeliveryAccount; +import com.plaid.client.model.LinkDeliveryInstitution; +import com.plaid.client.model.LinkDeliveryWebhookCallbackType; +import com.plaid.client.model.LinkEventName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Information related to the callback from the Hosted Link session. + */ +@ApiModel(description = "Information related to the callback from the Hosted Link session.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkCallbackMetadata { + public static final String SERIALIZED_NAME_CALLBACK_TYPE = "callback_type"; + @SerializedName(SERIALIZED_NAME_CALLBACK_TYPE) + private LinkDeliveryWebhookCallbackType callbackType; + + public static final String SERIALIZED_NAME_EVENT_NAME = "event_name"; + @SerializedName(SERIALIZED_NAME_EVENT_NAME) + private LinkEventName eventName; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private String status; + + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_INSTITUTION = "institution"; + @SerializedName(SERIALIZED_NAME_INSTITUTION) + private LinkDeliveryInstitution institution; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = null; + + + public LinkCallbackMetadata callbackType(LinkDeliveryWebhookCallbackType callbackType) { + + this.callbackType = callbackType; + return this; + } + + /** + * Get callbackType + * @return callbackType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkDeliveryWebhookCallbackType getCallbackType() { + return callbackType; + } + + + public void setCallbackType(LinkDeliveryWebhookCallbackType callbackType) { + this.callbackType = callbackType; + } + + + public LinkCallbackMetadata eventName(LinkEventName eventName) { + + this.eventName = eventName; + return this; + } + + /** + * Get eventName + * @return eventName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkEventName getEventName() { + return eventName; + } + + + public void setEventName(LinkEventName eventName) { + this.eventName = eventName; + } + + + public LinkCallbackMetadata status(String status) { + + this.status = status; + return this; + } + + /** + * Indicates where in the flow the Link user exited + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates where in the flow the Link user exited") + + public String getStatus() { + return status; + } + + + public void setStatus(String status) { + this.status = status; + } + + + public LinkCallbackMetadata linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * A unique identifier associated with a user's actions and events through the Link flow. Include this identifier when opening a support ticket for faster turnaround. + * @return linkSessionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier associated with a user's actions and events through the Link flow. Include this identifier when opening a support ticket for faster turnaround.") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public LinkCallbackMetadata requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * The request ID for the last request made by Link. This can be shared with Plaid support to expedite investigation. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The request ID for the last request made by Link. This can be shared with Plaid support to expedite investigation.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public LinkCallbackMetadata institution(LinkDeliveryInstitution institution) { + + this.institution = institution; + return this; + } + + /** + * Get institution + * @return institution + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkDeliveryInstitution getInstitution() { + return institution; + } + + + public void setInstitution(LinkDeliveryInstitution institution) { + this.institution = institution; + } + + + public LinkCallbackMetadata accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public LinkCallbackMetadata addAccountsItem(LinkDeliveryAccount accountsItem) { + if (this.accounts == null) { + this.accounts = new ArrayList<>(); + } + this.accounts.add(accountsItem); + return this; + } + + /** + * A list of accounts attached to the connected Item. If Account Select is enabled via the developer dashboard, accounts will only include selected accounts. + * @return accounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of accounts attached to the connected Item. If Account Select is enabled via the developer dashboard, accounts will only include selected accounts.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkCallbackMetadata linkCallbackMetadata = (LinkCallbackMetadata) o; + return Objects.equals(this.callbackType, linkCallbackMetadata.callbackType) && + Objects.equals(this.eventName, linkCallbackMetadata.eventName) && + Objects.equals(this.status, linkCallbackMetadata.status) && + Objects.equals(this.linkSessionId, linkCallbackMetadata.linkSessionId) && + Objects.equals(this.requestId, linkCallbackMetadata.requestId) && + Objects.equals(this.institution, linkCallbackMetadata.institution) && + Objects.equals(this.accounts, linkCallbackMetadata.accounts); + } + + @Override + public int hashCode() { + return Objects.hash(callbackType, eventName, status, linkSessionId, requestId, institution, accounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkCallbackMetadata {\n"); + sb.append(" callbackType: ").append(toIndentedString(callbackType)).append("\n"); + sb.append(" eventName: ").append(toIndentedString(eventName)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" institution: ").append(toIndentedString(institution)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryAccount.java b/src/main/java/com/plaid/client/model/LinkDeliveryAccount.java new file mode 100644 index 0000000000..66e1ba598c --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryAccount.java @@ -0,0 +1,274 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkDeliveryVerificationStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information related to account attached to the connected Item + */ +@ApiModel(description = "Information related to account attached to the connected Item") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkDeliveryAccount { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private String subtype; + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private LinkDeliveryVerificationStatus verificationStatus; + + public static final String SERIALIZED_NAME_CLASS_TYPE = "class_type"; + @SerializedName(SERIALIZED_NAME_CLASS_TYPE) + private String classType; + + + public LinkDeliveryAccount id(String id) { + + this.id = id; + return this; + } + + /** + * The Plaid `account_id` + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `account_id`") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public LinkDeliveryAccount name(String name) { + + this.name = name; + return this; + } + + /** + * The official account name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The official account name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public LinkDeliveryAccount mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts. It may also not match the mask that the bank displays to the user. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts. It may also not match the mask that the bank displays to the user.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public LinkDeliveryAccount type(String type) { + + this.type = type; + return this; + } + + /** + * The account type. See the [Account schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full list of possible values + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account type. See the [Account schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full list of possible values") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public LinkDeliveryAccount subtype(String subtype) { + + this.subtype = subtype; + return this; + } + + /** + * The account subtype. See the [Account schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full list of possible values + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account subtype. See the [Account schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full list of possible values") + + public String getSubtype() { + return subtype; + } + + + public void setSubtype(String subtype) { + this.subtype = subtype; + } + + + public LinkDeliveryAccount verificationStatus(LinkDeliveryVerificationStatus verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Get verificationStatus + * @return verificationStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkDeliveryVerificationStatus getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(LinkDeliveryVerificationStatus verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + public LinkDeliveryAccount classType(String classType) { + + this.classType = classType; + return this; + } + + /** + * If micro-deposit verification is being used, indicates whether the account being verified is a `business` or `personal` account. + * @return classType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If micro-deposit verification is being used, indicates whether the account being verified is a `business` or `personal` account.") + + public String getClassType() { + return classType; + } + + + public void setClassType(String classType) { + this.classType = classType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkDeliveryAccount linkDeliveryAccount = (LinkDeliveryAccount) o; + return Objects.equals(this.id, linkDeliveryAccount.id) && + Objects.equals(this.name, linkDeliveryAccount.name) && + Objects.equals(this.mask, linkDeliveryAccount.mask) && + Objects.equals(this.type, linkDeliveryAccount.type) && + Objects.equals(this.subtype, linkDeliveryAccount.subtype) && + Objects.equals(this.verificationStatus, linkDeliveryAccount.verificationStatus) && + Objects.equals(this.classType, linkDeliveryAccount.classType); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, mask, type, subtype, verificationStatus, classType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkDeliveryAccount {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append(" classType: ").append(toIndentedString(classType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryCallbackWebhook.java b/src/main/java/com/plaid/client/model/LinkDeliveryCallbackWebhook.java new file mode 100644 index 0000000000..1cf9f23530 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryCallbackWebhook.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkCallbackMetadata; +import com.plaid.client.model.PlaidError; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Webhook containing metadata proxied over from Link callback e.g. `onEvent`, `onExit`, `onSuccess`. + */ +@ApiModel(description = "Webhook containing metadata proxied over from Link callback e.g. `onEvent`, `onExit`, `onSuccess`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkDeliveryCallbackWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_LINK_DELIVERY_SESSION_ID = "link_delivery_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_DELIVERY_SESSION_ID) + private String linkDeliverySessionId; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private String timestamp; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_LINK_CALLBACK_METADATA = "link_callback_metadata"; + @SerializedName(SERIALIZED_NAME_LINK_CALLBACK_METADATA) + private LinkCallbackMetadata linkCallbackMetadata; + + + public LinkDeliveryCallbackWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `LINK_DELIVERY` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`LINK_DELIVERY`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public LinkDeliveryCallbackWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `LINK_CALLBACK` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`LINK_CALLBACK`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public LinkDeliveryCallbackWebhook linkDeliverySessionId(String linkDeliverySessionId) { + + this.linkDeliverySessionId = linkDeliverySessionId; + return this; + } + + /** + * The ID of the Hosted Link session. + * @return linkDeliverySessionId + **/ + @ApiModelProperty(required = true, value = "The ID of the Hosted Link session.") + + public String getLinkDeliverySessionId() { + return linkDeliverySessionId; + } + + + public void setLinkDeliverySessionId(String linkDeliverySessionId) { + this.linkDeliverySessionId = linkDeliverySessionId; + } + + + public LinkDeliveryCallbackWebhook timestamp(String timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public String getTimestamp() { + return timestamp; + } + + + public void setTimestamp(String timestamp) { + this.timestamp = timestamp; + } + + + public LinkDeliveryCallbackWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public LinkDeliveryCallbackWebhook linkCallbackMetadata(LinkCallbackMetadata linkCallbackMetadata) { + + this.linkCallbackMetadata = linkCallbackMetadata; + return this; + } + + /** + * Get linkCallbackMetadata + * @return linkCallbackMetadata + **/ + @ApiModelProperty(required = true, value = "") + + public LinkCallbackMetadata getLinkCallbackMetadata() { + return linkCallbackMetadata; + } + + + public void setLinkCallbackMetadata(LinkCallbackMetadata linkCallbackMetadata) { + this.linkCallbackMetadata = linkCallbackMetadata; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkDeliveryCallbackWebhook linkDeliveryCallbackWebhook = (LinkDeliveryCallbackWebhook) o; + return Objects.equals(this.webhookType, linkDeliveryCallbackWebhook.webhookType) && + Objects.equals(this.webhookCode, linkDeliveryCallbackWebhook.webhookCode) && + Objects.equals(this.linkDeliverySessionId, linkDeliveryCallbackWebhook.linkDeliverySessionId) && + Objects.equals(this.timestamp, linkDeliveryCallbackWebhook.timestamp) && + Objects.equals(this.error, linkDeliveryCallbackWebhook.error) && + Objects.equals(this.linkCallbackMetadata, linkDeliveryCallbackWebhook.linkCallbackMetadata); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, linkDeliverySessionId, timestamp, error, linkCallbackMetadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkDeliveryCallbackWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" linkDeliverySessionId: ").append(toIndentedString(linkDeliverySessionId)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" linkCallbackMetadata: ").append(toIndentedString(linkCallbackMetadata)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryCommunicationMethod.java b/src/main/java/com/plaid/client/model/LinkDeliveryCommunicationMethod.java new file mode 100644 index 0000000000..f6a687500c --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryCommunicationMethod.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkDeliveryDeliveryMethod; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The communication method containing both the type and address to send the URL. + */ +@ApiModel(description = "The communication method containing both the type and address to send the URL.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkDeliveryCommunicationMethod { + public static final String SERIALIZED_NAME_METHOD = "method"; + @SerializedName(SERIALIZED_NAME_METHOD) + private LinkDeliveryDeliveryMethod method; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private String address; + + + public LinkDeliveryCommunicationMethod method(LinkDeliveryDeliveryMethod method) { + + this.method = method; + return this; + } + + /** + * Get method + * @return method + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkDeliveryDeliveryMethod getMethod() { + return method; + } + + + public void setMethod(LinkDeliveryDeliveryMethod method) { + this.method = method; + } + + + public LinkDeliveryCommunicationMethod address(String address) { + + this.address = address; + return this; + } + + /** + * The phone number / email address that Hosted Link sessions are delivered to. Phone numbers must be in E.164 format. + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The phone number / email address that Hosted Link sessions are delivered to. Phone numbers must be in E.164 format.") + + public String getAddress() { + return address; + } + + + public void setAddress(String address) { + this.address = address; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkDeliveryCommunicationMethod linkDeliveryCommunicationMethod = (LinkDeliveryCommunicationMethod) o; + return Objects.equals(this.method, linkDeliveryCommunicationMethod.method) && + Objects.equals(this.address, linkDeliveryCommunicationMethod.address); + } + + @Override + public int hashCode() { + return Objects.hash(method, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkDeliveryCommunicationMethod {\n"); + sb.append(" method: ").append(toIndentedString(method)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryCreateRequest.java b/src/main/java/com/plaid/client/model/LinkDeliveryCreateRequest.java new file mode 100644 index 0000000000..0df53c5009 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryCreateRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkDeliveryOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * LinkDeliveryCreateRequest defines the request schema for `/link_delivery/create` + */ +@ApiModel(description = "LinkDeliveryCreateRequest defines the request schema for `/link_delivery/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkDeliveryCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_LINK_TOKEN = "link_token"; + @SerializedName(SERIALIZED_NAME_LINK_TOKEN) + private String linkToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private LinkDeliveryOptions options; + + + public LinkDeliveryCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public LinkDeliveryCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public LinkDeliveryCreateRequest linkToken(String linkToken) { + + this.linkToken = linkToken; + return this; + } + + /** + * A `link_token` from a previous invocation of `/link/token/create`. + * @return linkToken + **/ + @ApiModelProperty(required = true, value = "A `link_token` from a previous invocation of `/link/token/create`.") + + public String getLinkToken() { + return linkToken; + } + + + public void setLinkToken(String linkToken) { + this.linkToken = linkToken; + } + + + public LinkDeliveryCreateRequest options(LinkDeliveryOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkDeliveryOptions getOptions() { + return options; + } + + + public void setOptions(LinkDeliveryOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkDeliveryCreateRequest linkDeliveryCreateRequest = (LinkDeliveryCreateRequest) o; + return Objects.equals(this.clientId, linkDeliveryCreateRequest.clientId) && + Objects.equals(this.secret, linkDeliveryCreateRequest.secret) && + Objects.equals(this.linkToken, linkDeliveryCreateRequest.linkToken) && + Objects.equals(this.options, linkDeliveryCreateRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, linkToken, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkDeliveryCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" linkToken: ").append(toIndentedString(linkToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryCreateResponse.java b/src/main/java/com/plaid/client/model/LinkDeliveryCreateResponse.java new file mode 100644 index 0000000000..5ce8849124 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryCreateResponse.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * LinkDeliveryCreateResponse defines the response schema for `/link_delivery/create` + */ +@ApiModel(description = "LinkDeliveryCreateResponse defines the response schema for `/link_delivery/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkDeliveryCreateResponse { + public static final String SERIALIZED_NAME_LINK_DELIVERY_URL = "link_delivery_url"; + @SerializedName(SERIALIZED_NAME_LINK_DELIVERY_URL) + private String linkDeliveryUrl; + + public static final String SERIALIZED_NAME_LINK_DELIVERY_SESSION_ID = "link_delivery_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_DELIVERY_SESSION_ID) + private String linkDeliverySessionId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public LinkDeliveryCreateResponse linkDeliveryUrl(String linkDeliveryUrl) { + + this.linkDeliveryUrl = linkDeliveryUrl; + return this; + } + + /** + * The URL to the Hosted Link session, which will be delivered by the specified delivery method. + * @return linkDeliveryUrl + **/ + @ApiModelProperty(required = true, value = "The URL to the Hosted Link session, which will be delivered by the specified delivery method.") + + public String getLinkDeliveryUrl() { + return linkDeliveryUrl; + } + + + public void setLinkDeliveryUrl(String linkDeliveryUrl) { + this.linkDeliveryUrl = linkDeliveryUrl; + } + + + public LinkDeliveryCreateResponse linkDeliverySessionId(String linkDeliverySessionId) { + + this.linkDeliverySessionId = linkDeliverySessionId; + return this; + } + + /** + * The ID for the Hosted Link session. Same as the `link_token` string excluding the \"link-{env}-\" prefix. + * @return linkDeliverySessionId + **/ + @ApiModelProperty(required = true, value = "The ID for the Hosted Link session. Same as the `link_token` string excluding the \"link-{env}-\" prefix.") + + public String getLinkDeliverySessionId() { + return linkDeliverySessionId; + } + + + public void setLinkDeliverySessionId(String linkDeliverySessionId) { + this.linkDeliverySessionId = linkDeliverySessionId; + } + + + public LinkDeliveryCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkDeliveryCreateResponse linkDeliveryCreateResponse = (LinkDeliveryCreateResponse) o; + return Objects.equals(this.linkDeliveryUrl, linkDeliveryCreateResponse.linkDeliveryUrl) && + Objects.equals(this.linkDeliverySessionId, linkDeliveryCreateResponse.linkDeliverySessionId) && + Objects.equals(this.requestId, linkDeliveryCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(linkDeliveryUrl, linkDeliverySessionId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkDeliveryCreateResponse {\n"); + sb.append(" linkDeliveryUrl: ").append(toIndentedString(linkDeliveryUrl)).append("\n"); + sb.append(" linkDeliverySessionId: ").append(toIndentedString(linkDeliverySessionId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryDeliveryMethod.java b/src/main/java/com/plaid/client/model/LinkDeliveryDeliveryMethod.java new file mode 100644 index 0000000000..21eabc266b --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryDeliveryMethod.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The delivery method to be used to deliver the Hosted Link session URL. `SMS`: The URL will be delivered through SMS `EMAIL`: The URL will be delivered through email + */ +@JsonAdapter(LinkDeliveryDeliveryMethod.Adapter.class) +public enum LinkDeliveryDeliveryMethod { + + SMS("SMS"), + + EMAIL("EMAIL"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + LinkDeliveryDeliveryMethod(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LinkDeliveryDeliveryMethod fromValue(String value) { + for (LinkDeliveryDeliveryMethod b : LinkDeliveryDeliveryMethod.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return LinkDeliveryDeliveryMethod.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final LinkDeliveryDeliveryMethod enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LinkDeliveryDeliveryMethod read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LinkDeliveryDeliveryMethod.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryGetRequest.java b/src/main/java/com/plaid/client/model/LinkDeliveryGetRequest.java new file mode 100644 index 0000000000..682a7b0a22 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * LinkDeliveryGetRequest defines the request schema for `/link_delivery/get` + */ +@ApiModel(description = "LinkDeliveryGetRequest defines the request schema for `/link_delivery/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkDeliveryGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_LINK_DELIVERY_SESSION_ID = "link_delivery_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_DELIVERY_SESSION_ID) + private String linkDeliverySessionId; + + + public LinkDeliveryGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public LinkDeliveryGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public LinkDeliveryGetRequest linkDeliverySessionId(String linkDeliverySessionId) { + + this.linkDeliverySessionId = linkDeliverySessionId; + return this; + } + + /** + * The ID for the Hosted Link session from a previous invocation of `/link_delivery/create`. + * @return linkDeliverySessionId + **/ + @ApiModelProperty(required = true, value = "The ID for the Hosted Link session from a previous invocation of `/link_delivery/create`.") + + public String getLinkDeliverySessionId() { + return linkDeliverySessionId; + } + + + public void setLinkDeliverySessionId(String linkDeliverySessionId) { + this.linkDeliverySessionId = linkDeliverySessionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkDeliveryGetRequest linkDeliveryGetRequest = (LinkDeliveryGetRequest) o; + return Objects.equals(this.clientId, linkDeliveryGetRequest.clientId) && + Objects.equals(this.secret, linkDeliveryGetRequest.secret) && + Objects.equals(this.linkDeliverySessionId, linkDeliveryGetRequest.linkDeliverySessionId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, linkDeliverySessionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkDeliveryGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" linkDeliverySessionId: ").append(toIndentedString(linkDeliverySessionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryGetResponse.java b/src/main/java/com/plaid/client/model/LinkDeliveryGetResponse.java new file mode 100644 index 0000000000..ed699f824e --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryGetResponse.java @@ -0,0 +1,261 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkDeliverySessionStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * LinkDeliveryGetResponse defines the response schema for `/link_delivery/get` + */ +@ApiModel(description = "LinkDeliveryGetResponse defines the response schema for `/link_delivery/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkDeliveryGetResponse { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private LinkDeliverySessionStatus status; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_COMPLETED_AT = "completed_at"; + @SerializedName(SERIALIZED_NAME_COMPLETED_AT) + private OffsetDateTime completedAt; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_ACCESS_TOKENS = "access_tokens"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKENS) + private List accessTokens = null; + + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = null; + + + public LinkDeliveryGetResponse status(LinkDeliverySessionStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public LinkDeliverySessionStatus getStatus() { + return status; + } + + + public void setStatus(LinkDeliverySessionStatus status) { + this.status = status; + } + + + public LinkDeliveryGetResponse createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the time the given Hosted Link session was created at. + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the time the given Hosted Link session was created at.") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public LinkDeliveryGetResponse completedAt(OffsetDateTime completedAt) { + + this.completedAt = completedAt; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the time the given Hosted Link session was completed at. + * @return completedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the time the given Hosted Link session was completed at.") + + public OffsetDateTime getCompletedAt() { + return completedAt; + } + + + public void setCompletedAt(OffsetDateTime completedAt) { + this.completedAt = completedAt; + } + + + public LinkDeliveryGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public LinkDeliveryGetResponse accessTokens(List accessTokens) { + + this.accessTokens = accessTokens; + return this; + } + + public LinkDeliveryGetResponse addAccessTokensItem(String accessTokensItem) { + if (this.accessTokens == null) { + this.accessTokens = new ArrayList<>(); + } + this.accessTokens.add(accessTokensItem); + return this; + } + + /** + * An array of access tokens associated with the Hosted Link session. + * @return accessTokens + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of access tokens associated with the Hosted Link session.") + + public List getAccessTokens() { + return accessTokens; + } + + + public void setAccessTokens(List accessTokens) { + this.accessTokens = accessTokens; + } + + + public LinkDeliveryGetResponse itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public LinkDeliveryGetResponse addItemIdsItem(String itemIdsItem) { + if (this.itemIds == null) { + this.itemIds = new ArrayList<>(); + } + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * An array of `item_id`s associated with the Hosted Link session. + * @return itemIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of `item_id`s associated with the Hosted Link session.") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkDeliveryGetResponse linkDeliveryGetResponse = (LinkDeliveryGetResponse) o; + return Objects.equals(this.status, linkDeliveryGetResponse.status) && + Objects.equals(this.createdAt, linkDeliveryGetResponse.createdAt) && + Objects.equals(this.completedAt, linkDeliveryGetResponse.completedAt) && + Objects.equals(this.requestId, linkDeliveryGetResponse.requestId) && + Objects.equals(this.accessTokens, linkDeliveryGetResponse.accessTokens) && + Objects.equals(this.itemIds, linkDeliveryGetResponse.itemIds); + } + + @Override + public int hashCode() { + return Objects.hash(status, createdAt, completedAt, requestId, accessTokens, itemIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkDeliveryGetResponse {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" completedAt: ").append(toIndentedString(completedAt)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" accessTokens: ").append(toIndentedString(accessTokens)).append("\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryInstitution.java b/src/main/java/com/plaid/client/model/LinkDeliveryInstitution.java new file mode 100644 index 0000000000..a9f9fda425 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryInstitution.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information related to the financial institution. + */ +@ApiModel(description = "Information related to the financial institution.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkDeliveryInstitution { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + + public LinkDeliveryInstitution name(String name) { + + this.name = name; + return this; + } + + /** + * The full institution name, such as 'Wells Fargo' + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full institution name, such as 'Wells Fargo'") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public LinkDeliveryInstitution institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The Plaid institution identifier + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid institution identifier") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkDeliveryInstitution linkDeliveryInstitution = (LinkDeliveryInstitution) o; + return Objects.equals(this.name, linkDeliveryInstitution.name) && + Objects.equals(this.institutionId, linkDeliveryInstitution.institutionId); + } + + @Override + public int hashCode() { + return Objects.hash(name, institutionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkDeliveryInstitution {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryMetadata.java b/src/main/java/com/plaid/client/model/LinkDeliveryMetadata.java new file mode 100644 index 0000000000..010d9c69ac --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryMetadata.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkDeliveryWebhookCommunicationMethod; +import com.plaid.client.model.LinkDeliveryWebhookDeliveryStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information related to the delivery of the link session to users + */ +@ApiModel(description = "Information related to the delivery of the link session to users") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkDeliveryMetadata { + public static final String SERIALIZED_NAME_COMMUNICATION_METHOD = "communication_method"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_METHOD) + private LinkDeliveryWebhookCommunicationMethod communicationMethod; + + public static final String SERIALIZED_NAME_DELIVERY_STATUS = "delivery_status"; + @SerializedName(SERIALIZED_NAME_DELIVERY_STATUS) + private LinkDeliveryWebhookDeliveryStatus deliveryStatus; + + + public LinkDeliveryMetadata communicationMethod(LinkDeliveryWebhookCommunicationMethod communicationMethod) { + + this.communicationMethod = communicationMethod; + return this; + } + + /** + * Get communicationMethod + * @return communicationMethod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkDeliveryWebhookCommunicationMethod getCommunicationMethod() { + return communicationMethod; + } + + + public void setCommunicationMethod(LinkDeliveryWebhookCommunicationMethod communicationMethod) { + this.communicationMethod = communicationMethod; + } + + + public LinkDeliveryMetadata deliveryStatus(LinkDeliveryWebhookDeliveryStatus deliveryStatus) { + + this.deliveryStatus = deliveryStatus; + return this; + } + + /** + * Get deliveryStatus + * @return deliveryStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkDeliveryWebhookDeliveryStatus getDeliveryStatus() { + return deliveryStatus; + } + + + public void setDeliveryStatus(LinkDeliveryWebhookDeliveryStatus deliveryStatus) { + this.deliveryStatus = deliveryStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkDeliveryMetadata linkDeliveryMetadata = (LinkDeliveryMetadata) o; + return Objects.equals(this.communicationMethod, linkDeliveryMetadata.communicationMethod) && + Objects.equals(this.deliveryStatus, linkDeliveryMetadata.deliveryStatus); + } + + @Override + public int hashCode() { + return Objects.hash(communicationMethod, deliveryStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkDeliveryMetadata {\n"); + sb.append(" communicationMethod: ").append(toIndentedString(communicationMethod)).append("\n"); + sb.append(" deliveryStatus: ").append(toIndentedString(deliveryStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryOptions.java b/src/main/java/com/plaid/client/model/LinkDeliveryOptions.java new file mode 100644 index 0000000000..0271cff0dc --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryOptions.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkDeliveryRecipient; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Optional metadata related to the Hosted Link session + */ +@ApiModel(description = "Optional metadata related to the Hosted Link session") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkDeliveryOptions { + public static final String SERIALIZED_NAME_RECIPIENT = "recipient"; + @SerializedName(SERIALIZED_NAME_RECIPIENT) + private LinkDeliveryRecipient recipient; + + + public LinkDeliveryOptions recipient(LinkDeliveryRecipient recipient) { + + this.recipient = recipient; + return this; + } + + /** + * Get recipient + * @return recipient + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkDeliveryRecipient getRecipient() { + return recipient; + } + + + public void setRecipient(LinkDeliveryRecipient recipient) { + this.recipient = recipient; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkDeliveryOptions linkDeliveryOptions = (LinkDeliveryOptions) o; + return Objects.equals(this.recipient, linkDeliveryOptions.recipient); + } + + @Override + public int hashCode() { + return Objects.hash(recipient); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkDeliveryOptions {\n"); + sb.append(" recipient: ").append(toIndentedString(recipient)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryRecipient.java b/src/main/java/com/plaid/client/model/LinkDeliveryRecipient.java new file mode 100644 index 0000000000..94b98b36da --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryRecipient.java @@ -0,0 +1,139 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkDeliveryCommunicationMethod; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Metadata related to the recipient. If the information required to populate this field is not available, leave it blank. + */ +@ApiModel(description = "Metadata related to the recipient. If the information required to populate this field is not available, leave it blank.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkDeliveryRecipient { + public static final String SERIALIZED_NAME_COMMUNICATION_METHODS = "communication_methods"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_METHODS) + private List communicationMethods = null; + + public static final String SERIALIZED_NAME_FIRST_NAME = "first_name"; + @SerializedName(SERIALIZED_NAME_FIRST_NAME) + private String firstName; + + + public LinkDeliveryRecipient communicationMethods(List communicationMethods) { + + this.communicationMethods = communicationMethods; + return this; + } + + public LinkDeliveryRecipient addCommunicationMethodsItem(LinkDeliveryCommunicationMethod communicationMethodsItem) { + if (this.communicationMethods == null) { + this.communicationMethods = new ArrayList<>(); + } + this.communicationMethods.add(communicationMethodsItem); + return this; + } + + /** + * The list of communication methods to send the Hosted Link session URL to. If delivery is not required, leave this field blank. + * @return communicationMethods + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The list of communication methods to send the Hosted Link session URL to. If delivery is not required, leave this field blank.") + + public List getCommunicationMethods() { + return communicationMethods; + } + + + public void setCommunicationMethods(List communicationMethods) { + this.communicationMethods = communicationMethods; + } + + + public LinkDeliveryRecipient firstName(String firstName) { + + this.firstName = firstName; + return this; + } + + /** + * First name of the recipient. Will be used in the body of the email / text (if configured). If this information is not available, leave this field blank. + * @return firstName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "First name of the recipient. Will be used in the body of the email / text (if configured). If this information is not available, leave this field blank.") + + public String getFirstName() { + return firstName; + } + + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkDeliveryRecipient linkDeliveryRecipient = (LinkDeliveryRecipient) o; + return Objects.equals(this.communicationMethods, linkDeliveryRecipient.communicationMethods) && + Objects.equals(this.firstName, linkDeliveryRecipient.firstName); + } + + @Override + public int hashCode() { + return Objects.hash(communicationMethods, firstName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkDeliveryRecipient {\n"); + sb.append(" communicationMethods: ").append(toIndentedString(communicationMethods)).append("\n"); + sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliverySessionStatus.java b/src/main/java/com/plaid/client/model/LinkDeliverySessionStatus.java new file mode 100644 index 0000000000..931bc9bfc6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliverySessionStatus.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the given Hosted Link session. `CREATED`: The session is created but not yet accessed by the user `OPENED`: The session is opened by the user but not yet completed `EXITED`: The session has been exited by the user `COMPLETED`: The session has been completed by the user `EXPIRED`: The session has expired + */ +@JsonAdapter(LinkDeliverySessionStatus.Adapter.class) +public enum LinkDeliverySessionStatus { + + CREATED("CREATED"), + + OPENED("OPENED"), + + EXITED("EXITED"), + + COMPLETED("COMPLETED"), + + EXPIRED("EXPIRED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + LinkDeliverySessionStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LinkDeliverySessionStatus fromValue(String value) { + for (LinkDeliverySessionStatus b : LinkDeliverySessionStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return LinkDeliverySessionStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final LinkDeliverySessionStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LinkDeliverySessionStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LinkDeliverySessionStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryVerificationStatus.java b/src/main/java/com/plaid/client/model/LinkDeliveryVerificationStatus.java new file mode 100644 index 0000000000..c639eefde6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryVerificationStatus.java @@ -0,0 +1,93 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates an Item's micro-deposit-based verification or database verification status. + */ +@JsonAdapter(LinkDeliveryVerificationStatus.Adapter.class) +public enum LinkDeliveryVerificationStatus { + + AUTOMATICALLY_VERIFIED("automatically_verified"), + + PENDING_AUTOMATIC_VERIFICATION("pending_automatic_verification"), + + PENDING_MANUAL_VERIFICATION("pending_manual_verification"), + + MANUALLY_VERIFIED("manually_verified"), + + VERIFICATION_EXPIRED("verification_expired"), + + VERIFICATION_FAILED("verification_failed"), + + UNSENT("unsent"), + + DATABASE_MATCHED("database_matched"), + + DATABASE_INSIGHTS_PENDING("database_insights_pending"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + LinkDeliveryVerificationStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LinkDeliveryVerificationStatus fromValue(String value) { + for (LinkDeliveryVerificationStatus b : LinkDeliveryVerificationStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return LinkDeliveryVerificationStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final LinkDeliveryVerificationStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LinkDeliveryVerificationStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LinkDeliveryVerificationStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryWebhookCallbackType.java b/src/main/java/com/plaid/client/model/LinkDeliveryWebhookCallbackType.java new file mode 100644 index 0000000000..527991f3db --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryWebhookCallbackType.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of Link callback event + */ +@JsonAdapter(LinkDeliveryWebhookCallbackType.Adapter.class) +public enum LinkDeliveryWebhookCallbackType { + + SUCCESS("ON_SUCCESS"), + + EVENT("ON_EVENT"), + + EXIT("ON_EXIT"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + LinkDeliveryWebhookCallbackType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LinkDeliveryWebhookCallbackType fromValue(String value) { + for (LinkDeliveryWebhookCallbackType b : LinkDeliveryWebhookCallbackType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return LinkDeliveryWebhookCallbackType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final LinkDeliveryWebhookCallbackType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LinkDeliveryWebhookCallbackType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LinkDeliveryWebhookCallbackType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryWebhookCommunicationMethod.java b/src/main/java/com/plaid/client/model/LinkDeliveryWebhookCommunicationMethod.java new file mode 100644 index 0000000000..e14e90a67c --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryWebhookCommunicationMethod.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The communication method used to deliver the Hosted Link session + */ +@JsonAdapter(LinkDeliveryWebhookCommunicationMethod.Adapter.class) +public enum LinkDeliveryWebhookCommunicationMethod { + + SMS("SMS"), + + EMAIL("EMAIL"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + LinkDeliveryWebhookCommunicationMethod(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LinkDeliveryWebhookCommunicationMethod fromValue(String value) { + for (LinkDeliveryWebhookCommunicationMethod b : LinkDeliveryWebhookCommunicationMethod.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return LinkDeliveryWebhookCommunicationMethod.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final LinkDeliveryWebhookCommunicationMethod enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LinkDeliveryWebhookCommunicationMethod read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LinkDeliveryWebhookCommunicationMethod.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/LinkDeliveryWebhookDeliveryStatus.java b/src/main/java/com/plaid/client/model/LinkDeliveryWebhookDeliveryStatus.java new file mode 100644 index 0000000000..a1903388f0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkDeliveryWebhookDeliveryStatus.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the delivery of the Hosted Link to the user + */ +@JsonAdapter(LinkDeliveryWebhookDeliveryStatus.Adapter.class) +public enum LinkDeliveryWebhookDeliveryStatus { + + SUCCESS("SUCCESS"), + + FAILURE("FAILURE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + LinkDeliveryWebhookDeliveryStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LinkDeliveryWebhookDeliveryStatus fromValue(String value) { + for (LinkDeliveryWebhookDeliveryStatus b : LinkDeliveryWebhookDeliveryStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return LinkDeliveryWebhookDeliveryStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final LinkDeliveryWebhookDeliveryStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LinkDeliveryWebhookDeliveryStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LinkDeliveryWebhookDeliveryStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/LinkEvent.java b/src/main/java/com/plaid/client/model/LinkEvent.java new file mode 100644 index 0000000000..b9f59b66ce --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkEvent.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkEventMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An event that occurred while the user was going through Link + */ +@ApiModel(description = "An event that occurred while the user was going through Link") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkEvent { + public static final String SERIALIZED_NAME_EVENT_NAME = "event_name"; + @SerializedName(SERIALIZED_NAME_EVENT_NAME) + private String eventName; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private String timestamp; + + public static final String SERIALIZED_NAME_EVENT_ID = "event_id"; + @SerializedName(SERIALIZED_NAME_EVENT_ID) + private String eventId; + + public static final String SERIALIZED_NAME_EVENT_METADATA = "event_metadata"; + @SerializedName(SERIALIZED_NAME_EVENT_METADATA) + private LinkEventMetadata eventMetadata; + + + public LinkEvent eventName(String eventName) { + + this.eventName = eventName; + return this; + } + + /** + * Event name + * @return eventName + **/ + @ApiModelProperty(required = true, value = "Event name") + + public String getEventName() { + return eventName; + } + + + public void setEventName(String eventName) { + this.eventName = eventName; + } + + + public LinkEvent timestamp(String timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public String getTimestamp() { + return timestamp; + } + + + public void setTimestamp(String timestamp) { + this.timestamp = timestamp; + } + + + public LinkEvent eventId(String eventId) { + + this.eventId = eventId; + return this; + } + + /** + * UUID that can be used to deduplicate events + * @return eventId + **/ + @ApiModelProperty(required = true, value = "UUID that can be used to deduplicate events") + + public String getEventId() { + return eventId; + } + + + public void setEventId(String eventId) { + this.eventId = eventId; + } + + + public LinkEvent eventMetadata(LinkEventMetadata eventMetadata) { + + this.eventMetadata = eventMetadata; + return this; + } + + /** + * Get eventMetadata + * @return eventMetadata + **/ + @ApiModelProperty(required = true, value = "") + + public LinkEventMetadata getEventMetadata() { + return eventMetadata; + } + + + public void setEventMetadata(LinkEventMetadata eventMetadata) { + this.eventMetadata = eventMetadata; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkEvent linkEvent = (LinkEvent) o; + return Objects.equals(this.eventName, linkEvent.eventName) && + Objects.equals(this.timestamp, linkEvent.timestamp) && + Objects.equals(this.eventId, linkEvent.eventId) && + Objects.equals(this.eventMetadata, linkEvent.eventMetadata); + } + + @Override + public int hashCode() { + return Objects.hash(eventName, timestamp, eventId, eventMetadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkEvent {\n"); + sb.append(" eventName: ").append(toIndentedString(eventName)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" eventId: ").append(toIndentedString(eventId)).append("\n"); + sb.append(" eventMetadata: ").append(toIndentedString(eventMetadata)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkEventMetadata.java b/src/main/java/com/plaid/client/model/LinkEventMetadata.java new file mode 100644 index 0000000000..945c1140ec --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkEventMetadata.java @@ -0,0 +1,505 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Metadata about an event that occurred while the user was going through Link + */ +@ApiModel(description = "Metadata about an event that occurred while the user was going through Link") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkEventMetadata { + public static final String SERIALIZED_NAME_ERROR_CODE = "error_code"; + @SerializedName(SERIALIZED_NAME_ERROR_CODE) + private String errorCode; + + public static final String SERIALIZED_NAME_ERROR_MESSAGE = "error_message"; + @SerializedName(SERIALIZED_NAME_ERROR_MESSAGE) + private String errorMessage; + + public static final String SERIALIZED_NAME_ERROR_TYPE = "error_type"; + @SerializedName(SERIALIZED_NAME_ERROR_TYPE) + private String errorType; + + public static final String SERIALIZED_NAME_EXIT_STATUS = "exit_status"; + @SerializedName(SERIALIZED_NAME_EXIT_STATUS) + private String exitStatus; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_INSTITUTION_SEARCH_QUERY = "institution_search_query"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_SEARCH_QUERY) + private String institutionSearchQuery; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_MFA_TYPE = "mfa_type"; + @SerializedName(SERIALIZED_NAME_MFA_TYPE) + private String mfaType; + + public static final String SERIALIZED_NAME_VIEW_NAME = "view_name"; + @SerializedName(SERIALIZED_NAME_VIEW_NAME) + private String viewName; + + public static final String SERIALIZED_NAME_SELECTION = "selection"; + @SerializedName(SERIALIZED_NAME_SELECTION) + private String selection; + + public static final String SERIALIZED_NAME_BRAND_NAME = "brand_name"; + @SerializedName(SERIALIZED_NAME_BRAND_NAME) + private String brandName; + + public static final String SERIALIZED_NAME_MATCH_REASON = "match_reason"; + @SerializedName(SERIALIZED_NAME_MATCH_REASON) + private String matchReason; + + public static final String SERIALIZED_NAME_ROUTING_NUMBER = "routing_number"; + @SerializedName(SERIALIZED_NAME_ROUTING_NUMBER) + private String routingNumber; + + public static final String SERIALIZED_NAME_ACCOUNT_NUMBER_MASK = "account_number_mask"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBER_MASK) + private String accountNumberMask; + + + public LinkEventMetadata errorCode(String errorCode) { + + this.errorCode = errorCode; + return this; + } + + /** + * The error code that the user encountered. Emitted by `ERROR`, `EXIT`. + * @return errorCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The error code that the user encountered. Emitted by `ERROR`, `EXIT`.") + + public String getErrorCode() { + return errorCode; + } + + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + + public LinkEventMetadata errorMessage(String errorMessage) { + + this.errorMessage = errorMessage; + return this; + } + + /** + * The error message that the user encountered. Emitted by: `ERROR`, `EXIT`. + * @return errorMessage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The error message that the user encountered. Emitted by: `ERROR`, `EXIT`.") + + public String getErrorMessage() { + return errorMessage; + } + + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + + + public LinkEventMetadata errorType(String errorType) { + + this.errorType = errorType; + return this; + } + + /** + * The error type that the user encountered. Emitted by: `ERROR`, `EXIT`. + * @return errorType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The error type that the user encountered. Emitted by: `ERROR`, `EXIT`.") + + public String getErrorType() { + return errorType; + } + + + public void setErrorType(String errorType) { + this.errorType = errorType; + } + + + public LinkEventMetadata exitStatus(String exitStatus) { + + this.exitStatus = exitStatus; + return this; + } + + /** + * The status key indicates the point at which the user exited the Link flow. Emitted by: `EXIT`. + * @return exitStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The status key indicates the point at which the user exited the Link flow. Emitted by: `EXIT`.") + + public String getExitStatus() { + return exitStatus; + } + + + public void setExitStatus(String exitStatus) { + this.exitStatus = exitStatus; + } + + + public LinkEventMetadata institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The ID of the selected institution. Emitted by: all events. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the selected institution. Emitted by: all events.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public LinkEventMetadata institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The name of the selected institution. Emitted by: all events. + * @return institutionName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the selected institution. Emitted by: all events.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public LinkEventMetadata institutionSearchQuery(String institutionSearchQuery) { + + this.institutionSearchQuery = institutionSearchQuery; + return this; + } + + /** + * The query used to search for institutions. Emitted by: `SEARCH_INSTITUTION`. + * @return institutionSearchQuery + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The query used to search for institutions. Emitted by: `SEARCH_INSTITUTION`.") + + public String getInstitutionSearchQuery() { + return institutionSearchQuery; + } + + + public void setInstitutionSearchQuery(String institutionSearchQuery) { + this.institutionSearchQuery = institutionSearchQuery; + } + + + public LinkEventMetadata requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * The request ID for the last request made by Link. This can be shared with Plaid support to expedite investigation. Emitted by: all events. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The request ID for the last request made by Link. This can be shared with Plaid support to expedite investigation. Emitted by: all events.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public LinkEventMetadata mfaType(String mfaType) { + + this.mfaType = mfaType; + return this; + } + + /** + * If set, the user has encountered one of the following MFA types: code, device, questions, selections. Emitted by: `SUBMIT_MFA` and `TRANSITION_VIEW` when `view_name` is `MFA`. + * @return mfaType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If set, the user has encountered one of the following MFA types: code, device, questions, selections. Emitted by: `SUBMIT_MFA` and `TRANSITION_VIEW` when `view_name` is `MFA`.") + + public String getMfaType() { + return mfaType; + } + + + public void setMfaType(String mfaType) { + this.mfaType = mfaType; + } + + + public LinkEventMetadata viewName(String viewName) { + + this.viewName = viewName; + return this; + } + + /** + * The name of the view that is being transitioned to. Emitted by: `TRANSITION_VIEW`. + * @return viewName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the view that is being transitioned to. Emitted by: `TRANSITION_VIEW`.") + + public String getViewName() { + return viewName; + } + + + public void setViewName(String viewName) { + this.viewName = viewName; + } + + + public LinkEventMetadata selection(String selection) { + + this.selection = selection; + return this; + } + + /** + * Either the verification method for a matched institution selected by the user or the Auth Type Select flow type selected by the user. If selection is used to describe selected verification method, then possible values are `phoneotp` or `password`; if selection is used to describe the selected Auth Type Select flow, then possible values are `flow_type_manual` or `flow_type_instant`. Emitted by: `MATCHED_SELECT_VERIFY_METHOD` and `SELECT_AUTH_TYPE`. + * @return selection + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Either the verification method for a matched institution selected by the user or the Auth Type Select flow type selected by the user. If selection is used to describe selected verification method, then possible values are `phoneotp` or `password`; if selection is used to describe the selected Auth Type Select flow, then possible values are `flow_type_manual` or `flow_type_instant`. Emitted by: `MATCHED_SELECT_VERIFY_METHOD` and `SELECT_AUTH_TYPE`.") + + public String getSelection() { + return selection; + } + + + public void setSelection(String selection) { + this.selection = selection; + } + + + public LinkEventMetadata brandName(String brandName) { + + this.brandName = brandName; + return this; + } + + /** + * The name of the selected brand. + * @return brandName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the selected brand.") + + public String getBrandName() { + return brandName; + } + + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + + public LinkEventMetadata matchReason(String matchReason) { + + this.matchReason = matchReason; + return this; + } + + /** + * The reason this institution was matched. This will be either `returning_user` or `routing_number` if emitted by `MATCHED_SELECT_INSTITUTION`. Otherwise, this will be `SAVED_INSTITUTION` or `AUTO_SELECT_SAVED_INSTITUTION` if emitted by `SELECT_INSTITUTION`. + * @return matchReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The reason this institution was matched. This will be either `returning_user` or `routing_number` if emitted by `MATCHED_SELECT_INSTITUTION`. Otherwise, this will be `SAVED_INSTITUTION` or `AUTO_SELECT_SAVED_INSTITUTION` if emitted by `SELECT_INSTITUTION`.") + + public String getMatchReason() { + return matchReason; + } + + + public void setMatchReason(String matchReason) { + this.matchReason = matchReason; + } + + + public LinkEventMetadata routingNumber(String routingNumber) { + + this.routingNumber = routingNumber; + return this; + } + + /** + * The routing number submitted by the user at the micro-deposits routing number pane. Emitted by `SUBMIT_ROUTING_NUMBER`. + * @return routingNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The routing number submitted by the user at the micro-deposits routing number pane. Emitted by `SUBMIT_ROUTING_NUMBER`.") + + public String getRoutingNumber() { + return routingNumber; + } + + + public void setRoutingNumber(String routingNumber) { + this.routingNumber = routingNumber; + } + + + public LinkEventMetadata accountNumberMask(String accountNumberMask) { + + this.accountNumberMask = accountNumberMask; + return this; + } + + /** + * The account number mask extracted from the user-provided account number. If the user-inputted account number is four digits long, `account_number_mask` is empty. Emitted by `SUBMIT_ACCOUNT_NUMBER`. + * @return accountNumberMask + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account number mask extracted from the user-provided account number. If the user-inputted account number is four digits long, `account_number_mask` is empty. Emitted by `SUBMIT_ACCOUNT_NUMBER`.") + + public String getAccountNumberMask() { + return accountNumberMask; + } + + + public void setAccountNumberMask(String accountNumberMask) { + this.accountNumberMask = accountNumberMask; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkEventMetadata linkEventMetadata = (LinkEventMetadata) o; + return Objects.equals(this.errorCode, linkEventMetadata.errorCode) && + Objects.equals(this.errorMessage, linkEventMetadata.errorMessage) && + Objects.equals(this.errorType, linkEventMetadata.errorType) && + Objects.equals(this.exitStatus, linkEventMetadata.exitStatus) && + Objects.equals(this.institutionId, linkEventMetadata.institutionId) && + Objects.equals(this.institutionName, linkEventMetadata.institutionName) && + Objects.equals(this.institutionSearchQuery, linkEventMetadata.institutionSearchQuery) && + Objects.equals(this.requestId, linkEventMetadata.requestId) && + Objects.equals(this.mfaType, linkEventMetadata.mfaType) && + Objects.equals(this.viewName, linkEventMetadata.viewName) && + Objects.equals(this.selection, linkEventMetadata.selection) && + Objects.equals(this.brandName, linkEventMetadata.brandName) && + Objects.equals(this.matchReason, linkEventMetadata.matchReason) && + Objects.equals(this.routingNumber, linkEventMetadata.routingNumber) && + Objects.equals(this.accountNumberMask, linkEventMetadata.accountNumberMask); + } + + @Override + public int hashCode() { + return Objects.hash(errorCode, errorMessage, errorType, exitStatus, institutionId, institutionName, institutionSearchQuery, requestId, mfaType, viewName, selection, brandName, matchReason, routingNumber, accountNumberMask); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkEventMetadata {\n"); + sb.append(" errorCode: ").append(toIndentedString(errorCode)).append("\n"); + sb.append(" errorMessage: ").append(toIndentedString(errorMessage)).append("\n"); + sb.append(" errorType: ").append(toIndentedString(errorType)).append("\n"); + sb.append(" exitStatus: ").append(toIndentedString(exitStatus)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" institutionSearchQuery: ").append(toIndentedString(institutionSearchQuery)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" mfaType: ").append(toIndentedString(mfaType)).append("\n"); + sb.append(" viewName: ").append(toIndentedString(viewName)).append("\n"); + sb.append(" selection: ").append(toIndentedString(selection)).append("\n"); + sb.append(" brandName: ").append(toIndentedString(brandName)).append("\n"); + sb.append(" matchReason: ").append(toIndentedString(matchReason)).append("\n"); + sb.append(" routingNumber: ").append(toIndentedString(routingNumber)).append("\n"); + sb.append(" accountNumberMask: ").append(toIndentedString(accountNumberMask)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkEventName.java b/src/main/java/com/plaid/client/model/LinkEventName.java new file mode 100644 index 0000000000..8486506949 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkEventName.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A string representing the event that has just occurred in the Link flow. + */ +@JsonAdapter(LinkEventName.Adapter.class) +public enum LinkEventName { + + BANK_INCOME_INSIGHTS_COMPLETED("BANK_INCOME_INSIGHTS_COMPLETED"), + + CLOSE_OAUTH("CLOSE_OAUTH"), + + ERROR("ERROR"), + + EXIT("EXIT"), + + FAIL_OAUTH("FAIL_OAUTH"), + + HANDOFF("HANDOFF"), + + ISSUE_FOLLOWED("ISSUE_FOLLOWED"), + + OPEN("OPEN"), + + OPEN_MY_PLAID("OPEN_MY_PLAID"), + + OPEN_OAUTH("OPEN_OAUTH"), + + SEARCH_INSTITUTION("SEARCH_INSTITUTION"), + + SELECT_AUTH_TYPE("SELECT_AUTH_TYPE"), + + SELECT_BRAND("SELECT_BRAND"), + + SELECT_DEGRADED_INSTITUTION("SELECT_DEGRADED_INSTITUTION"), + + SELECT_DOWN_INSTITUTION("SELECT_DOWN_INSTITUTION"), + + SELECT_FILTERED_INSTITUTION("SELECT_FILTERED_INSTITUTION"), + + SELECT_INSTITUTION("SELECT_INSTITUTION"), + + SUBMIT_ACCOUNT_NUMBER("SUBMIT_ACCOUNT_NUMBER"), + + SUBMIT_CREDENTIALS("SUBMIT_CREDENTIALS"), + + SUBMIT_DOCUMENTS("SUBMIT_DOCUMENTS"), + + SUBMIT_DOCUMENTS_ERROR("SUBMIT_DOCUMENTS_ERROR"), + + SUBMIT_DOCUMENTS_SUCCESS("SUBMIT_DOCUMENTS_SUCCESS"), + + SUBMIT_MFA("SUBMIT_MFA"), + + SUBMIT_ROUTING_NUMBER("SUBMIT_ROUTING_NUMBER"), + + TRANSITION_VIEW("TRANSITION_VIEW"), + + VIEW_DATA_TYPES("VIEW_DATA_TYPES"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + LinkEventName(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LinkEventName fromValue(String value) { + for (LinkEventName b : LinkEventName.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return LinkEventName.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final LinkEventName enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LinkEventName read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LinkEventName.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/LinkEventsWebhook.java b/src/main/java/com/plaid/client/model/LinkEventsWebhook.java new file mode 100644 index 0000000000..3b228a2653 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkEventsWebhook.java @@ -0,0 +1,247 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkEvent; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * This webhook contains a summary of the events from a Link session and will be fired after the user finishes going through Link. If the user abandons the Link flow (i.e., closes the hosted link webpage or leaves Link open for too long without taking any action), the webhook will be fired 5-15 minutes after the last user interaction. A single Link session may occasionally generate multiple `EVENTS` webhooks. If this occurs, the new webhook will contain all previous events for the session, as well as new events that occurred since the previous `EVENTS` webhook was sent. If this occurs, events can be grouped using the `link_session_id` field and, if necessary, de-duplicated using the `event_id` field. By default, the `EVENTS` webhook is sent only for sessions where the end user goes through a Hosted Link flow (including Link Recovery flows). If you would like to receive this webhook for sessions not using Hosted Link, contact your account manager or support. This enablement will also cause you to receive the `SESSION_FINISHED` webhook for non-Hosted-Link sessions and to be able to use `/link/token/get` to receive events data for non-Hosted Link sessions. + */ +@ApiModel(description = "This webhook contains a summary of the events from a Link session and will be fired after the user finishes going through Link. If the user abandons the Link flow (i.e., closes the hosted link webpage or leaves Link open for too long without taking any action), the webhook will be fired 5-15 minutes after the last user interaction. A single Link session may occasionally generate multiple `EVENTS` webhooks. If this occurs, the new webhook will contain all previous events for the session, as well as new events that occurred since the previous `EVENTS` webhook was sent. If this occurs, events can be grouped using the `link_session_id` field and, if necessary, de-duplicated using the `event_id` field. By default, the `EVENTS` webhook is sent only for sessions where the end user goes through a Hosted Link flow (including Link Recovery flows). If you would like to receive this webhook for sessions not using Hosted Link, contact your account manager or support. This enablement will also cause you to receive the `SESSION_FINISHED` webhook for non-Hosted-Link sessions and to be able to use `/link/token/get` to receive events data for non-Hosted Link sessions.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkEventsWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_EVENTS = "events"; + @SerializedName(SERIALIZED_NAME_EVENTS) + private List events = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_LINK_TOKEN = "link_token"; + @SerializedName(SERIALIZED_NAME_LINK_TOKEN) + private String linkToken; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public LinkEventsWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `LINK` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`LINK`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public LinkEventsWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `EVENTS` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`EVENTS`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public LinkEventsWebhook events(List events) { + + this.events = events; + return this; + } + + public LinkEventsWebhook addEventsItem(LinkEvent eventsItem) { + this.events.add(eventsItem); + return this; + } + + /** + * The Link events emitted during the Link session + * @return events + **/ + @ApiModelProperty(required = true, value = "The Link events emitted during the Link session") + + public List getEvents() { + return events; + } + + + public void setEvents(List events) { + this.events = events; + } + + + public LinkEventsWebhook linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * An identifier for the Link session these events occurred in + * @return linkSessionId + **/ + @ApiModelProperty(required = true, value = "An identifier for the Link session these events occurred in") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public LinkEventsWebhook linkToken(String linkToken) { + + this.linkToken = linkToken; + return this; + } + + /** + * The Link token used to create the Link session these events are from + * @return linkToken + **/ + @ApiModelProperty(required = true, value = "The Link token used to create the Link session these events are from") + + public String getLinkToken() { + return linkToken; + } + + + public void setLinkToken(String linkToken) { + this.linkToken = linkToken; + } + + + public LinkEventsWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkEventsWebhook linkEventsWebhook = (LinkEventsWebhook) o; + return Objects.equals(this.webhookType, linkEventsWebhook.webhookType) && + Objects.equals(this.webhookCode, linkEventsWebhook.webhookCode) && + Objects.equals(this.events, linkEventsWebhook.events) && + Objects.equals(this.linkSessionId, linkEventsWebhook.linkSessionId) && + Objects.equals(this.linkToken, linkEventsWebhook.linkToken) && + Objects.equals(this.environment, linkEventsWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, events, linkSessionId, linkToken, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkEventsWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" events: ").append(toIndentedString(events)).append("\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" linkToken: ").append(toIndentedString(linkToken)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkOAuthCorrelationIdExchangeRequest.java b/src/main/java/com/plaid/client/model/LinkOAuthCorrelationIdExchangeRequest.java new file mode 100644 index 0000000000..eb47f5e3e7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkOAuthCorrelationIdExchangeRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * LinkOAuthCorrelationIdExchangeRequest defines the request schema for `/link/oauth/correlation_id/exchange` + */ +@ApiModel(description = "LinkOAuthCorrelationIdExchangeRequest defines the request schema for `/link/oauth/correlation_id/exchange`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkOAuthCorrelationIdExchangeRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_LINK_CORRELATION_ID = "link_correlation_id"; + @SerializedName(SERIALIZED_NAME_LINK_CORRELATION_ID) + private String linkCorrelationId; + + + public LinkOAuthCorrelationIdExchangeRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public LinkOAuthCorrelationIdExchangeRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public LinkOAuthCorrelationIdExchangeRequest linkCorrelationId(String linkCorrelationId) { + + this.linkCorrelationId = linkCorrelationId; + return this; + } + + /** + * A `link_correlation_id` from a received OAuth redirect URI callback + * @return linkCorrelationId + **/ + @ApiModelProperty(required = true, value = "A `link_correlation_id` from a received OAuth redirect URI callback") + + public String getLinkCorrelationId() { + return linkCorrelationId; + } + + + public void setLinkCorrelationId(String linkCorrelationId) { + this.linkCorrelationId = linkCorrelationId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkOAuthCorrelationIdExchangeRequest linkOAuthCorrelationIdExchangeRequest = (LinkOAuthCorrelationIdExchangeRequest) o; + return Objects.equals(this.clientId, linkOAuthCorrelationIdExchangeRequest.clientId) && + Objects.equals(this.secret, linkOAuthCorrelationIdExchangeRequest.secret) && + Objects.equals(this.linkCorrelationId, linkOAuthCorrelationIdExchangeRequest.linkCorrelationId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, linkCorrelationId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkOAuthCorrelationIdExchangeRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" linkCorrelationId: ").append(toIndentedString(linkCorrelationId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkOAuthCorrelationIdExchangeResponse.java b/src/main/java/com/plaid/client/model/LinkOAuthCorrelationIdExchangeResponse.java new file mode 100644 index 0000000000..e271044191 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkOAuthCorrelationIdExchangeResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * LinkOAuthCorrelationIdExchangeResponse defines the response schema for `/link/oauth/correlation_id/exchange` + */ +@ApiModel(description = "LinkOAuthCorrelationIdExchangeResponse defines the response schema for `/link/oauth/correlation_id/exchange`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkOAuthCorrelationIdExchangeResponse { + public static final String SERIALIZED_NAME_LINK_TOKEN = "link_token"; + @SerializedName(SERIALIZED_NAME_LINK_TOKEN) + private String linkToken; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public LinkOAuthCorrelationIdExchangeResponse linkToken(String linkToken) { + + this.linkToken = linkToken; + return this; + } + + /** + * The `link_token` associated to the given `link_correlation_id`, which can be used to re-initialize Link. + * @return linkToken + **/ + @ApiModelProperty(required = true, value = "The `link_token` associated to the given `link_correlation_id`, which can be used to re-initialize Link.") + + public String getLinkToken() { + return linkToken; + } + + + public void setLinkToken(String linkToken) { + this.linkToken = linkToken; + } + + + public LinkOAuthCorrelationIdExchangeResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkOAuthCorrelationIdExchangeResponse linkOAuthCorrelationIdExchangeResponse = (LinkOAuthCorrelationIdExchangeResponse) o; + return Objects.equals(this.linkToken, linkOAuthCorrelationIdExchangeResponse.linkToken) && + Objects.equals(this.requestId, linkOAuthCorrelationIdExchangeResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(linkToken, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkOAuthCorrelationIdExchangeResponse {\n"); + sb.append(" linkToken: ").append(toIndentedString(linkToken)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionBankEmploymentResult.java b/src/main/java/com/plaid/client/model/LinkSessionBankEmploymentResult.java new file mode 100644 index 0000000000..5653f61d56 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionBankEmploymentResult.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditSessionBankEmploymentStatus; +import com.plaid.client.model.LinkSessionSuccessMetadataInstitution; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The details of a bank employment verification in Link. + */ +@ApiModel(description = "The details of a bank employment verification in Link.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionBankEmploymentResult { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private CreditSessionBankEmploymentStatus status; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_INSTITUTION = "institution"; + @SerializedName(SERIALIZED_NAME_INSTITUTION) + private LinkSessionSuccessMetadataInstitution institution; + + + public LinkSessionBankEmploymentResult status(CreditSessionBankEmploymentStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public CreditSessionBankEmploymentStatus getStatus() { + return status; + } + + + public void setStatus(CreditSessionBankEmploymentStatus status) { + this.status = status; + } + + + public LinkSessionBankEmploymentResult itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public LinkSessionBankEmploymentResult institution(LinkSessionSuccessMetadataInstitution institution) { + + this.institution = institution; + return this; + } + + /** + * Get institution + * @return institution + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public LinkSessionSuccessMetadataInstitution getInstitution() { + return institution; + } + + + public void setInstitution(LinkSessionSuccessMetadataInstitution institution) { + this.institution = institution; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionBankEmploymentResult linkSessionBankEmploymentResult = (LinkSessionBankEmploymentResult) o; + return Objects.equals(this.status, linkSessionBankEmploymentResult.status) && + Objects.equals(this.itemId, linkSessionBankEmploymentResult.itemId) && + Objects.equals(this.institution, linkSessionBankEmploymentResult.institution); + } + + @Override + public int hashCode() { + return Objects.hash(status, itemId, institution); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionBankEmploymentResult {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" institution: ").append(toIndentedString(institution)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionBankIncomeResult.java b/src/main/java/com/plaid/client/model/LinkSessionBankIncomeResult.java new file mode 100644 index 0000000000..da7bc5d003 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionBankIncomeResult.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditSessionBankIncomeStatus; +import com.plaid.client.model.LinkSessionSuccessMetadataInstitution; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The details of a bank income verification in Link. + */ +@ApiModel(description = "The details of a bank income verification in Link.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionBankIncomeResult { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private CreditSessionBankIncomeStatus status; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_INSTITUTION = "institution"; + @SerializedName(SERIALIZED_NAME_INSTITUTION) + private LinkSessionSuccessMetadataInstitution institution; + + + public LinkSessionBankIncomeResult status(CreditSessionBankIncomeStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public CreditSessionBankIncomeStatus getStatus() { + return status; + } + + + public void setStatus(CreditSessionBankIncomeStatus status) { + this.status = status; + } + + + public LinkSessionBankIncomeResult itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public LinkSessionBankIncomeResult institution(LinkSessionSuccessMetadataInstitution institution) { + + this.institution = institution; + return this; + } + + /** + * Get institution + * @return institution + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public LinkSessionSuccessMetadataInstitution getInstitution() { + return institution; + } + + + public void setInstitution(LinkSessionSuccessMetadataInstitution institution) { + this.institution = institution; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionBankIncomeResult linkSessionBankIncomeResult = (LinkSessionBankIncomeResult) o; + return Objects.equals(this.status, linkSessionBankIncomeResult.status) && + Objects.equals(this.itemId, linkSessionBankIncomeResult.itemId) && + Objects.equals(this.institution, linkSessionBankIncomeResult.institution); + } + + @Override + public int hashCode() { + return Objects.hash(status, itemId, institution); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionBankIncomeResult {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" institution: ").append(toIndentedString(institution)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionCraDocumentUploadResult.java b/src/main/java/com/plaid/client/model/LinkSessionCraDocumentUploadResult.java new file mode 100644 index 0000000000..6952b62581 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionCraDocumentUploadResult.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The details of a document upload CRA session in Link + */ +@ApiModel(description = "The details of a document upload CRA session in Link") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionCraDocumentUploadResult { + public static final String SERIALIZED_NAME_NUM_BANK_STATEMENTS_UPLOADED = "num_bank_statements_uploaded"; + @SerializedName(SERIALIZED_NAME_NUM_BANK_STATEMENTS_UPLOADED) + private Integer numBankStatementsUploaded; + + + public LinkSessionCraDocumentUploadResult numBankStatementsUploaded(Integer numBankStatementsUploaded) { + + this.numBankStatementsUploaded = numBankStatementsUploaded; + return this; + } + + /** + * The number of bank statements uploaded by the user. + * @return numBankStatementsUploaded + **/ + @ApiModelProperty(required = true, value = "The number of bank statements uploaded by the user.") + + public Integer getNumBankStatementsUploaded() { + return numBankStatementsUploaded; + } + + + public void setNumBankStatementsUploaded(Integer numBankStatementsUploaded) { + this.numBankStatementsUploaded = numBankStatementsUploaded; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionCraDocumentUploadResult linkSessionCraDocumentUploadResult = (LinkSessionCraDocumentUploadResult) o; + return Objects.equals(this.numBankStatementsUploaded, linkSessionCraDocumentUploadResult.numBankStatementsUploaded); + } + + @Override + public int hashCode() { + return Objects.hash(numBankStatementsUploaded); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionCraDocumentUploadResult {\n"); + sb.append(" numBankStatementsUploaded: ").append(toIndentedString(numBankStatementsUploaded)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionCraItemAddResult.java b/src/main/java/com/plaid/client/model/LinkSessionCraItemAddResult.java new file mode 100644 index 0000000000..39e9d4786c --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionCraItemAddResult.java @@ -0,0 +1,164 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkSessionSuccessMetadataAccount; +import com.plaid.client.model.LinkSessionSuccessMetadataInstitution; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The details of a Plaid Check Item add in Link. + */ +@ApiModel(description = "The details of a Plaid Check Item add in Link.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionCraItemAddResult { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_INSTITUTION = "institution"; + @SerializedName(SERIALIZED_NAME_INSTITUTION) + private LinkSessionSuccessMetadataInstitution institution; + + + public LinkSessionCraItemAddResult itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Check Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. The `item_id` is case-sensitive. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The Plaid Check Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. The `item_id` is case-sensitive.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public LinkSessionCraItemAddResult accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public LinkSessionCraItemAddResult addAccountsItem(LinkSessionSuccessMetadataAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * A list of accounts attached to the connected Item. If Account Select is enabled via the developer dashboard, `accounts` will only include selected accounts. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "A list of accounts attached to the connected Item. If Account Select is enabled via the developer dashboard, `accounts` will only include selected accounts.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public LinkSessionCraItemAddResult institution(LinkSessionSuccessMetadataInstitution institution) { + + this.institution = institution; + return this; + } + + /** + * Get institution + * @return institution + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public LinkSessionSuccessMetadataInstitution getInstitution() { + return institution; + } + + + public void setInstitution(LinkSessionSuccessMetadataInstitution institution) { + this.institution = institution; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionCraItemAddResult linkSessionCraItemAddResult = (LinkSessionCraItemAddResult) o; + return Objects.equals(this.itemId, linkSessionCraItemAddResult.itemId) && + Objects.equals(this.accounts, linkSessionCraItemAddResult.accounts) && + Objects.equals(this.institution, linkSessionCraItemAddResult.institution); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, accounts, institution); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionCraItemAddResult {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" institution: ").append(toIndentedString(institution)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionCraUpdateResult.java b/src/main/java/com/plaid/client/model/LinkSessionCraUpdateResult.java new file mode 100644 index 0000000000..7ac6ac9ac9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionCraUpdateResult.java @@ -0,0 +1,164 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkSessionSuccessMetadataAccount; +import com.plaid.client.model.LinkSessionSuccessMetadataInstitution; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The details of a Plaid Check Item update via update mode in Link. + */ +@ApiModel(description = "The details of a Plaid Check Item update via update mode in Link.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionCraUpdateResult { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_INSTITUTION = "institution"; + @SerializedName(SERIALIZED_NAME_INSTITUTION) + private LinkSessionSuccessMetadataInstitution institution; + + + public LinkSessionCraUpdateResult itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Check Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. The `item_id` is case-sensitive. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The Plaid Check Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. The `item_id` is case-sensitive.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public LinkSessionCraUpdateResult accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public LinkSessionCraUpdateResult addAccountsItem(LinkSessionSuccessMetadataAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * A list of accounts attached to the connected Item. If Account Select is enabled via the developer dashboard, `accounts` will only include selected accounts. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "A list of accounts attached to the connected Item. If Account Select is enabled via the developer dashboard, `accounts` will only include selected accounts.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public LinkSessionCraUpdateResult institution(LinkSessionSuccessMetadataInstitution institution) { + + this.institution = institution; + return this; + } + + /** + * Get institution + * @return institution + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public LinkSessionSuccessMetadataInstitution getInstitution() { + return institution; + } + + + public void setInstitution(LinkSessionSuccessMetadataInstitution institution) { + this.institution = institution; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionCraUpdateResult linkSessionCraUpdateResult = (LinkSessionCraUpdateResult) o; + return Objects.equals(this.itemId, linkSessionCraUpdateResult.itemId) && + Objects.equals(this.accounts, linkSessionCraUpdateResult.accounts) && + Objects.equals(this.institution, linkSessionCraUpdateResult.institution); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, accounts, institution); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionCraUpdateResult {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" institution: ").append(toIndentedString(institution)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionExit.java b/src/main/java/com/plaid/client/model/LinkSessionExit.java new file mode 100644 index 0000000000..79ca281ace --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionExit.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkSessionExitMetadata; +import com.plaid.client.model.PlaidError; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing an [onExit](https://plaid.com/docs/link/web/#onexit) callback from Link. If you are not receiving this field and are instead receiving the deprecated `on_exit` field, contact your account manager to update your integration. + */ +@ApiModel(description = "An object representing an [onExit](https://plaid.com/docs/link/web/#onexit) callback from Link. If you are not receiving this field and are instead receiving the deprecated `on_exit` field, contact your account manager to update your integration.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionExit { + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private LinkSessionExitMetadata metadata; + + + public LinkSessionExit error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public LinkSessionExit metadata(LinkSessionExitMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public LinkSessionExitMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(LinkSessionExitMetadata metadata) { + this.metadata = metadata; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionExit linkSessionExit = (LinkSessionExit) o; + return Objects.equals(this.error, linkSessionExit.error) && + Objects.equals(this.metadata, linkSessionExit.metadata); + } + + @Override + public int hashCode() { + return Objects.hash(error, metadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionExit {\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionExitDeprecated.java b/src/main/java/com/plaid/client/model/LinkSessionExitDeprecated.java new file mode 100644 index 0000000000..054e969632 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionExitDeprecated.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkSessionExitMetadata; +import com.plaid.client.model.PlaidError; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing an [onExit](https://plaid.com/docs/link/web/#onexit) callback from Link. This field is returned only for legacy implementations and has been deprecated in favor of [`exit`](https://plaid.com/docs/api/link/#link-token-get-response-link-sessions-exit), for improved naming consistency. If you are receiving this field, contact your account manager to migrate to the newer `exit` field. + */ +@ApiModel(description = "An object representing an [onExit](https://plaid.com/docs/link/web/#onexit) callback from Link. This field is returned only for legacy implementations and has been deprecated in favor of [`exit`](https://plaid.com/docs/api/link/#link-token-get-response-link-sessions-exit), for improved naming consistency. If you are receiving this field, contact your account manager to migrate to the newer `exit` field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionExitDeprecated { + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private LinkSessionExitMetadata metadata; + + + public LinkSessionExitDeprecated error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public LinkSessionExitDeprecated metadata(LinkSessionExitMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public LinkSessionExitMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(LinkSessionExitMetadata metadata) { + this.metadata = metadata; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionExitDeprecated linkSessionExitDeprecated = (LinkSessionExitDeprecated) o; + return Objects.equals(this.error, linkSessionExitDeprecated.error) && + Objects.equals(this.metadata, linkSessionExitDeprecated.metadata); + } + + @Override + public int hashCode() { + return Objects.hash(error, metadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionExitDeprecated {\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionExitMetadata.java b/src/main/java/com/plaid/client/model/LinkSessionExitMetadata.java new file mode 100644 index 0000000000..2be63a65a3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionExitMetadata.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkSessionExitMetadataInstitution; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Displayed if a user exits Link without successfully linking an Item. + */ +@ApiModel(description = "Displayed if a user exits Link without successfully linking an Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionExitMetadata { + public static final String SERIALIZED_NAME_INSTITUTION = "institution"; + @SerializedName(SERIALIZED_NAME_INSTITUTION) + private LinkSessionExitMetadataInstitution institution; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private String status; + + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public LinkSessionExitMetadata institution(LinkSessionExitMetadataInstitution institution) { + + this.institution = institution; + return this; + } + + /** + * Get institution + * @return institution + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkSessionExitMetadataInstitution getInstitution() { + return institution; + } + + + public void setInstitution(LinkSessionExitMetadataInstitution institution) { + this.institution = institution; + } + + + public LinkSessionExitMetadata status(String status) { + + this.status = status; + return this; + } + + /** + * The point at which the user exited the Link flow. One of the following values. + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The point at which the user exited the Link flow. One of the following values.") + + public String getStatus() { + return status; + } + + + public void setStatus(String status) { + this.status = status; + } + + + public LinkSessionExitMetadata linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * A unique identifier associated with a user's actions and events through the Link flow. Include this identifier when opening a support ticket for faster turnaround. + * @return linkSessionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier associated with a user's actions and events through the Link flow. Include this identifier when opening a support ticket for faster turnaround.") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public LinkSessionExitMetadata requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * The request ID for the last request made by Link. This can be shared with Plaid support to expedite investigation. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The request ID for the last request made by Link. This can be shared with Plaid support to expedite investigation.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionExitMetadata linkSessionExitMetadata = (LinkSessionExitMetadata) o; + return Objects.equals(this.institution, linkSessionExitMetadata.institution) && + Objects.equals(this.status, linkSessionExitMetadata.status) && + Objects.equals(this.linkSessionId, linkSessionExitMetadata.linkSessionId) && + Objects.equals(this.requestId, linkSessionExitMetadata.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(institution, status, linkSessionId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionExitMetadata {\n"); + sb.append(" institution: ").append(toIndentedString(institution)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionExitMetadataInstitution.java b/src/main/java/com/plaid/client/model/LinkSessionExitMetadataInstitution.java new file mode 100644 index 0000000000..8fa593aff9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionExitMetadataInstitution.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An institution object. If the Item was created via Same-Day or Instant micro-deposit verification, will be `null`. + */ +@ApiModel(description = "An institution object. If the Item was created via Same-Day or Instant micro-deposit verification, will be `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionExitMetadataInstitution { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + + public LinkSessionExitMetadataInstitution name(String name) { + + this.name = name; + return this; + } + + /** + * The full institution name, such as `Wells Fargo` + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full institution name, such as `Wells Fargo`") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public LinkSessionExitMetadataInstitution institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The Plaid institution identifier + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid institution identifier") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionExitMetadataInstitution linkSessionExitMetadataInstitution = (LinkSessionExitMetadataInstitution) o; + return Objects.equals(this.name, linkSessionExitMetadataInstitution.name) && + Objects.equals(this.institutionId, linkSessionExitMetadataInstitution.institutionId); + } + + @Override + public int hashCode() { + return Objects.hash(name, institutionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionExitMetadataInstitution {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionFinishedWebhook.java b/src/main/java/com/plaid/client/model/LinkSessionFinishedWebhook.java new file mode 100644 index 0000000000..ab4178fc67 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionFinishedWebhook.java @@ -0,0 +1,336 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Contains the state of a completed Link session, along with the public token(s) if available. By default, this webhook is sent only for sessions enabled for the Hosted Link flow (including Link Recovery flows), a Multi-Item Link flow, or a Layer flow. If you would like to receive this webhook for other sessions, contact your account manager or support. This enablement will also enable the `EVENTS` webhook for all Link sessions and the ability to use `/link/token/get` to retrieve events for non-Hosted-Link sessions. + */ +@ApiModel(description = "Contains the state of a completed Link session, along with the public token(s) if available. By default, this webhook is sent only for sessions enabled for the Hosted Link flow (including Link Recovery flows), a Multi-Item Link flow, or a Layer flow. If you would like to receive this webhook for other sessions, contact your account manager or support. This enablement will also enable the `EVENTS` webhook for all Link sessions and the ability to use `/link/token/get` to retrieve events for non-Hosted-Link sessions.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionFinishedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private String status; + + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_LINK_TOKEN = "link_token"; + @SerializedName(SERIALIZED_NAME_LINK_TOKEN) + private String linkToken; + + public static final String SERIALIZED_NAME_PUBLIC_TOKEN = "public_token"; + @SerializedName(SERIALIZED_NAME_PUBLIC_TOKEN) + private String publicToken; + + public static final String SERIALIZED_NAME_PUBLIC_TOKENS = "public_tokens"; + @SerializedName(SERIALIZED_NAME_PUBLIC_TOKENS) + private List publicTokens = null; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public LinkSessionFinishedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `LINK` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`LINK`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public LinkSessionFinishedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `SESSION_FINISHED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`SESSION_FINISHED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public LinkSessionFinishedWebhook status(String status) { + + this.status = status; + return this; + } + + /** + * The final status of the Link session. Will always be \"SUCCESS\" or \"EXITED\". + * @return status + **/ + @ApiModelProperty(required = true, value = "The final status of the Link session. Will always be \"SUCCESS\" or \"EXITED\".") + + public String getStatus() { + return status; + } + + + public void setStatus(String status) { + this.status = status; + } + + + public LinkSessionFinishedWebhook linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * The identifier for the Link session. + * @return linkSessionId + **/ + @ApiModelProperty(required = true, value = "The identifier for the Link session.") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public LinkSessionFinishedWebhook linkToken(String linkToken) { + + this.linkToken = linkToken; + return this; + } + + /** + * The `link_token` used to create the Link session. + * @return linkToken + **/ + @ApiModelProperty(required = true, value = "The `link_token` used to create the Link session.") + + public String getLinkToken() { + return linkToken; + } + + + public void setLinkToken(String linkToken) { + this.linkToken = linkToken; + } + + + public LinkSessionFinishedWebhook publicToken(String publicToken) { + + this.publicToken = publicToken; + return this; + } + + /** + * The public token generated by the Link session. This field has been deprecated; please use `public_tokens` instead. + * @return publicToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The public token generated by the Link session. This field has been deprecated; please use `public_tokens` instead.") + + public String getPublicToken() { + return publicToken; + } + + + public void setPublicToken(String publicToken) { + this.publicToken = publicToken; + } + + + public LinkSessionFinishedWebhook publicTokens(List publicTokens) { + + this.publicTokens = publicTokens; + return this; + } + + public LinkSessionFinishedWebhook addPublicTokensItem(String publicTokensItem) { + if (this.publicTokens == null) { + this.publicTokens = new ArrayList<>(); + } + this.publicTokens.add(publicTokensItem); + return this; + } + + /** + * The public tokens generated by the Link session. + * @return publicTokens + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The public tokens generated by the Link session.") + + public List getPublicTokens() { + return publicTokens; + } + + + public void setPublicTokens(List publicTokens) { + this.publicTokens = publicTokens; + } + + + public LinkSessionFinishedWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public LinkSessionFinishedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionFinishedWebhook linkSessionFinishedWebhook = (LinkSessionFinishedWebhook) o; + return Objects.equals(this.webhookType, linkSessionFinishedWebhook.webhookType) && + Objects.equals(this.webhookCode, linkSessionFinishedWebhook.webhookCode) && + Objects.equals(this.status, linkSessionFinishedWebhook.status) && + Objects.equals(this.linkSessionId, linkSessionFinishedWebhook.linkSessionId) && + Objects.equals(this.linkToken, linkSessionFinishedWebhook.linkToken) && + Objects.equals(this.publicToken, linkSessionFinishedWebhook.publicToken) && + Objects.equals(this.publicTokens, linkSessionFinishedWebhook.publicTokens) && + Objects.equals(this.userId, linkSessionFinishedWebhook.userId) && + Objects.equals(this.environment, linkSessionFinishedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, status, linkSessionId, linkToken, publicToken, publicTokens, userId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionFinishedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" linkToken: ").append(toIndentedString(linkToken)).append("\n"); + sb.append(" publicToken: ").append(toIndentedString(publicToken)).append("\n"); + sb.append(" publicTokens: ").append(toIndentedString(publicTokens)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionItemAddResult.java b/src/main/java/com/plaid/client/model/LinkSessionItemAddResult.java new file mode 100644 index 0000000000..45165632ef --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionItemAddResult.java @@ -0,0 +1,164 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkSessionSuccessMetadataAccount; +import com.plaid.client.model.LinkSessionSuccessMetadataInstitution; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The details of an Item add in Link. + */ +@ApiModel(description = "The details of an Item add in Link.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionItemAddResult { + public static final String SERIALIZED_NAME_PUBLIC_TOKEN = "public_token"; + @SerializedName(SERIALIZED_NAME_PUBLIC_TOKEN) + private String publicToken; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_INSTITUTION = "institution"; + @SerializedName(SERIALIZED_NAME_INSTITUTION) + private LinkSessionSuccessMetadataInstitution institution; + + + public LinkSessionItemAddResult publicToken(String publicToken) { + + this.publicToken = publicToken; + return this; + } + + /** + * Returned once a user has successfully linked their Item. + * @return publicToken + **/ + @ApiModelProperty(required = true, value = "Returned once a user has successfully linked their Item.") + + public String getPublicToken() { + return publicToken; + } + + + public void setPublicToken(String publicToken) { + this.publicToken = publicToken; + } + + + public LinkSessionItemAddResult accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public LinkSessionItemAddResult addAccountsItem(LinkSessionSuccessMetadataAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * A list of accounts attached to the connected Item. If Account Select is enabled via the developer dashboard, `accounts` will only include selected accounts. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "A list of accounts attached to the connected Item. If Account Select is enabled via the developer dashboard, `accounts` will only include selected accounts.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public LinkSessionItemAddResult institution(LinkSessionSuccessMetadataInstitution institution) { + + this.institution = institution; + return this; + } + + /** + * Get institution + * @return institution + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public LinkSessionSuccessMetadataInstitution getInstitution() { + return institution; + } + + + public void setInstitution(LinkSessionSuccessMetadataInstitution institution) { + this.institution = institution; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionItemAddResult linkSessionItemAddResult = (LinkSessionItemAddResult) o; + return Objects.equals(this.publicToken, linkSessionItemAddResult.publicToken) && + Objects.equals(this.accounts, linkSessionItemAddResult.accounts) && + Objects.equals(this.institution, linkSessionItemAddResult.institution); + } + + @Override + public int hashCode() { + return Objects.hash(publicToken, accounts, institution); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionItemAddResult {\n"); + sb.append(" publicToken: ").append(toIndentedString(publicToken)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" institution: ").append(toIndentedString(institution)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionPayrollIncomeResult.java b/src/main/java/com/plaid/client/model/LinkSessionPayrollIncomeResult.java new file mode 100644 index 0000000000..6258d0d1bd --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionPayrollIncomeResult.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkSessionSuccessMetadataInstitution; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The details of a digital payroll income verification in Link. + */ +@ApiModel(description = "The details of a digital payroll income verification in Link.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionPayrollIncomeResult { + public static final String SERIALIZED_NAME_NUM_PAYSTUBS_RETRIEVED = "num_paystubs_retrieved"; + @SerializedName(SERIALIZED_NAME_NUM_PAYSTUBS_RETRIEVED) + private Integer numPaystubsRetrieved; + + public static final String SERIALIZED_NAME_NUM_W2S_RETRIEVED = "num_w2s_retrieved"; + @SerializedName(SERIALIZED_NAME_NUM_W2S_RETRIEVED) + private Integer numW2sRetrieved; + + public static final String SERIALIZED_NAME_INSTITUTION = "institution"; + @SerializedName(SERIALIZED_NAME_INSTITUTION) + private LinkSessionSuccessMetadataInstitution institution; + + + public LinkSessionPayrollIncomeResult numPaystubsRetrieved(Integer numPaystubsRetrieved) { + + this.numPaystubsRetrieved = numPaystubsRetrieved; + return this; + } + + /** + * The number of paystubs retrieved from a payroll provider. + * @return numPaystubsRetrieved + **/ + @ApiModelProperty(required = true, value = "The number of paystubs retrieved from a payroll provider.") + + public Integer getNumPaystubsRetrieved() { + return numPaystubsRetrieved; + } + + + public void setNumPaystubsRetrieved(Integer numPaystubsRetrieved) { + this.numPaystubsRetrieved = numPaystubsRetrieved; + } + + + public LinkSessionPayrollIncomeResult numW2sRetrieved(Integer numW2sRetrieved) { + + this.numW2sRetrieved = numW2sRetrieved; + return this; + } + + /** + * The number of W-2s retrieved from a payroll provider. + * @return numW2sRetrieved + **/ + @ApiModelProperty(required = true, value = "The number of W-2s retrieved from a payroll provider.") + + public Integer getNumW2sRetrieved() { + return numW2sRetrieved; + } + + + public void setNumW2sRetrieved(Integer numW2sRetrieved) { + this.numW2sRetrieved = numW2sRetrieved; + } + + + public LinkSessionPayrollIncomeResult institution(LinkSessionSuccessMetadataInstitution institution) { + + this.institution = institution; + return this; + } + + /** + * Get institution + * @return institution + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public LinkSessionSuccessMetadataInstitution getInstitution() { + return institution; + } + + + public void setInstitution(LinkSessionSuccessMetadataInstitution institution) { + this.institution = institution; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionPayrollIncomeResult linkSessionPayrollIncomeResult = (LinkSessionPayrollIncomeResult) o; + return Objects.equals(this.numPaystubsRetrieved, linkSessionPayrollIncomeResult.numPaystubsRetrieved) && + Objects.equals(this.numW2sRetrieved, linkSessionPayrollIncomeResult.numW2sRetrieved) && + Objects.equals(this.institution, linkSessionPayrollIncomeResult.institution); + } + + @Override + public int hashCode() { + return Objects.hash(numPaystubsRetrieved, numW2sRetrieved, institution); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionPayrollIncomeResult {\n"); + sb.append(" numPaystubsRetrieved: ").append(toIndentedString(numPaystubsRetrieved)).append("\n"); + sb.append(" numW2sRetrieved: ").append(toIndentedString(numW2sRetrieved)).append("\n"); + sb.append(" institution: ").append(toIndentedString(institution)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionResults.java b/src/main/java/com/plaid/client/model/LinkSessionResults.java new file mode 100644 index 0000000000..c36e09c7c1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionResults.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditSessionDocumentIncomeResult; +import com.plaid.client.model.LinkSessionBankIncomeResult; +import com.plaid.client.model.LinkSessionCraDocumentUploadResult; +import com.plaid.client.model.LinkSessionCraItemAddResult; +import com.plaid.client.model.LinkSessionCraUpdateResult; +import com.plaid.client.model.LinkSessionItemAddResult; +import com.plaid.client.model.LinkSessionPayrollIncomeResult; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The set of results for a Link session. + */ +@ApiModel(description = "The set of results for a Link session.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionResults { + public static final String SERIALIZED_NAME_ITEM_ADD_RESULTS = "item_add_results"; + @SerializedName(SERIALIZED_NAME_ITEM_ADD_RESULTS) + private List itemAddResults = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CRA_ITEM_ADD_RESULTS = "cra_item_add_results"; + @SerializedName(SERIALIZED_NAME_CRA_ITEM_ADD_RESULTS) + private List craItemAddResults = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CRA_UPDATE_RESULTS = "cra_update_results"; + @SerializedName(SERIALIZED_NAME_CRA_UPDATE_RESULTS) + private List craUpdateResults = new ArrayList<>(); + + public static final String SERIALIZED_NAME_BANK_INCOME_RESULTS = "bank_income_results"; + @SerializedName(SERIALIZED_NAME_BANK_INCOME_RESULTS) + private List bankIncomeResults = new ArrayList<>(); + + public static final String SERIALIZED_NAME_PAYROLL_INCOME_RESULTS = "payroll_income_results"; + @SerializedName(SERIALIZED_NAME_PAYROLL_INCOME_RESULTS) + private List payrollIncomeResults = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DOCUMENT_INCOME_RESULTS = "document_income_results"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_INCOME_RESULTS) + private CreditSessionDocumentIncomeResult documentIncomeResults; + + public static final String SERIALIZED_NAME_CRA_DOCUMENT_UPLOAD_RESULTS = "cra_document_upload_results"; + @SerializedName(SERIALIZED_NAME_CRA_DOCUMENT_UPLOAD_RESULTS) + private LinkSessionCraDocumentUploadResult craDocumentUploadResults; + + + public LinkSessionResults itemAddResults(List itemAddResults) { + + this.itemAddResults = itemAddResults; + return this; + } + + public LinkSessionResults addItemAddResultsItem(LinkSessionItemAddResult itemAddResultsItem) { + this.itemAddResults.add(itemAddResultsItem); + return this; + } + + /** + * The set of Item adds for the Link session. If you are not receiving this field and are instead receiving the deprecated `on_success` field, contact your account manager to update your integration. + * @return itemAddResults + **/ + @ApiModelProperty(required = true, value = "The set of Item adds for the Link session. If you are not receiving this field and are instead receiving the deprecated `on_success` field, contact your account manager to update your integration.") + + public List getItemAddResults() { + return itemAddResults; + } + + + public void setItemAddResults(List itemAddResults) { + this.itemAddResults = itemAddResults; + } + + + public LinkSessionResults craItemAddResults(List craItemAddResults) { + + this.craItemAddResults = craItemAddResults; + return this; + } + + public LinkSessionResults addCraItemAddResultsItem(LinkSessionCraItemAddResult craItemAddResultsItem) { + this.craItemAddResults.add(craItemAddResultsItem); + return this; + } + + /** + * The set of Plaid Check Item adds for the Link session. + * @return craItemAddResults + **/ + @ApiModelProperty(required = true, value = "The set of Plaid Check Item adds for the Link session.") + + public List getCraItemAddResults() { + return craItemAddResults; + } + + + public void setCraItemAddResults(List craItemAddResults) { + this.craItemAddResults = craItemAddResults; + } + + + public LinkSessionResults craUpdateResults(List craUpdateResults) { + + this.craUpdateResults = craUpdateResults; + return this; + } + + public LinkSessionResults addCraUpdateResultsItem(LinkSessionCraUpdateResult craUpdateResultsItem) { + this.craUpdateResults.add(craUpdateResultsItem); + return this; + } + + /** + * The set of Plaid Check Item updates for the Link session. + * @return craUpdateResults + **/ + @ApiModelProperty(required = true, value = "The set of Plaid Check Item updates for the Link session.") + + public List getCraUpdateResults() { + return craUpdateResults; + } + + + public void setCraUpdateResults(List craUpdateResults) { + this.craUpdateResults = craUpdateResults; + } + + + public LinkSessionResults bankIncomeResults(List bankIncomeResults) { + + this.bankIncomeResults = bankIncomeResults; + return this; + } + + public LinkSessionResults addBankIncomeResultsItem(LinkSessionBankIncomeResult bankIncomeResultsItem) { + this.bankIncomeResults.add(bankIncomeResultsItem); + return this; + } + + /** + * The set of bank income verifications for the Link session. + * @return bankIncomeResults + **/ + @ApiModelProperty(required = true, value = "The set of bank income verifications for the Link session.") + + public List getBankIncomeResults() { + return bankIncomeResults; + } + + + public void setBankIncomeResults(List bankIncomeResults) { + this.bankIncomeResults = bankIncomeResults; + } + + + public LinkSessionResults payrollIncomeResults(List payrollIncomeResults) { + + this.payrollIncomeResults = payrollIncomeResults; + return this; + } + + public LinkSessionResults addPayrollIncomeResultsItem(LinkSessionPayrollIncomeResult payrollIncomeResultsItem) { + this.payrollIncomeResults.add(payrollIncomeResultsItem); + return this; + } + + /** + * The set of payroll income verifications for the Link session. + * @return payrollIncomeResults + **/ + @ApiModelProperty(required = true, value = "The set of payroll income verifications for the Link session.") + + public List getPayrollIncomeResults() { + return payrollIncomeResults; + } + + + public void setPayrollIncomeResults(List payrollIncomeResults) { + this.payrollIncomeResults = payrollIncomeResults; + } + + + public LinkSessionResults documentIncomeResults(CreditSessionDocumentIncomeResult documentIncomeResults) { + + this.documentIncomeResults = documentIncomeResults; + return this; + } + + /** + * Get documentIncomeResults + * @return documentIncomeResults + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public CreditSessionDocumentIncomeResult getDocumentIncomeResults() { + return documentIncomeResults; + } + + + public void setDocumentIncomeResults(CreditSessionDocumentIncomeResult documentIncomeResults) { + this.documentIncomeResults = documentIncomeResults; + } + + + public LinkSessionResults craDocumentUploadResults(LinkSessionCraDocumentUploadResult craDocumentUploadResults) { + + this.craDocumentUploadResults = craDocumentUploadResults; + return this; + } + + /** + * Get craDocumentUploadResults + * @return craDocumentUploadResults + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkSessionCraDocumentUploadResult getCraDocumentUploadResults() { + return craDocumentUploadResults; + } + + + public void setCraDocumentUploadResults(LinkSessionCraDocumentUploadResult craDocumentUploadResults) { + this.craDocumentUploadResults = craDocumentUploadResults; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionResults linkSessionResults = (LinkSessionResults) o; + return Objects.equals(this.itemAddResults, linkSessionResults.itemAddResults) && + Objects.equals(this.craItemAddResults, linkSessionResults.craItemAddResults) && + Objects.equals(this.craUpdateResults, linkSessionResults.craUpdateResults) && + Objects.equals(this.bankIncomeResults, linkSessionResults.bankIncomeResults) && + Objects.equals(this.payrollIncomeResults, linkSessionResults.payrollIncomeResults) && + Objects.equals(this.documentIncomeResults, linkSessionResults.documentIncomeResults) && + Objects.equals(this.craDocumentUploadResults, linkSessionResults.craDocumentUploadResults); + } + + @Override + public int hashCode() { + return Objects.hash(itemAddResults, craItemAddResults, craUpdateResults, bankIncomeResults, payrollIncomeResults, documentIncomeResults, craDocumentUploadResults); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionResults {\n"); + sb.append(" itemAddResults: ").append(toIndentedString(itemAddResults)).append("\n"); + sb.append(" craItemAddResults: ").append(toIndentedString(craItemAddResults)).append("\n"); + sb.append(" craUpdateResults: ").append(toIndentedString(craUpdateResults)).append("\n"); + sb.append(" bankIncomeResults: ").append(toIndentedString(bankIncomeResults)).append("\n"); + sb.append(" payrollIncomeResults: ").append(toIndentedString(payrollIncomeResults)).append("\n"); + sb.append(" documentIncomeResults: ").append(toIndentedString(documentIncomeResults)).append("\n"); + sb.append(" craDocumentUploadResults: ").append(toIndentedString(craDocumentUploadResults)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionSuccess.java b/src/main/java/com/plaid/client/model/LinkSessionSuccess.java new file mode 100644 index 0000000000..623c3925d6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionSuccess.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkSessionSuccessMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing an [onSuccess](https://plaid.com/docs/link/web/#onsuccess) callback from Link. This field is returned only for legacy integrations and is deprecated in favor of [`results.item_add_results`](https://plaid.com/docs/api/link/#link-token-get-response-link-sessions-results-item-add-results) which can support multiple public tokens in a single Link session, for flows such as multi-Item Link. If you are receiving `on_success`, contact your account manager to migrate to `results.item_add_results` instead. + */ +@ApiModel(description = "An object representing an [onSuccess](https://plaid.com/docs/link/web/#onsuccess) callback from Link. This field is returned only for legacy integrations and is deprecated in favor of [`results.item_add_results`](https://plaid.com/docs/api/link/#link-token-get-response-link-sessions-results-item-add-results) which can support multiple public tokens in a single Link session, for flows such as multi-Item Link. If you are receiving `on_success`, contact your account manager to migrate to `results.item_add_results` instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionSuccess { + public static final String SERIALIZED_NAME_PUBLIC_TOKEN = "public_token"; + @SerializedName(SERIALIZED_NAME_PUBLIC_TOKEN) + private String publicToken; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private LinkSessionSuccessMetadata metadata; + + + public LinkSessionSuccess publicToken(String publicToken) { + + this.publicToken = publicToken; + return this; + } + + /** + * Displayed once a user has successfully linked their Item. + * @return publicToken + **/ + @ApiModelProperty(required = true, value = "Displayed once a user has successfully linked their Item.") + + public String getPublicToken() { + return publicToken; + } + + + public void setPublicToken(String publicToken) { + this.publicToken = publicToken; + } + + + public LinkSessionSuccess metadata(LinkSessionSuccessMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public LinkSessionSuccessMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(LinkSessionSuccessMetadata metadata) { + this.metadata = metadata; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionSuccess linkSessionSuccess = (LinkSessionSuccess) o; + return Objects.equals(this.publicToken, linkSessionSuccess.publicToken) && + Objects.equals(this.metadata, linkSessionSuccess.metadata); + } + + @Override + public int hashCode() { + return Objects.hash(publicToken, metadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionSuccess {\n"); + sb.append(" publicToken: ").append(toIndentedString(publicToken)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionSuccessMetadata.java b/src/main/java/com/plaid/client/model/LinkSessionSuccessMetadata.java new file mode 100644 index 0000000000..04e712a4d2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionSuccessMetadata.java @@ -0,0 +1,199 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkSessionSuccessMetadataAccount; +import com.plaid.client.model.LinkSessionSuccessMetadataInstitution; +import com.plaid.client.model.LinkSessionSuccessMetadataTransferStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Displayed once a user has successfully linked their Item. + */ +@ApiModel(description = "Displayed once a user has successfully linked their Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionSuccessMetadata { + public static final String SERIALIZED_NAME_INSTITUTION = "institution"; + @SerializedName(SERIALIZED_NAME_INSTITUTION) + private LinkSessionSuccessMetadataInstitution institution; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = null; + + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_TRANSFER_STATUS = "transfer_status"; + @SerializedName(SERIALIZED_NAME_TRANSFER_STATUS) + private LinkSessionSuccessMetadataTransferStatus transferStatus; + + + public LinkSessionSuccessMetadata institution(LinkSessionSuccessMetadataInstitution institution) { + + this.institution = institution; + return this; + } + + /** + * Get institution + * @return institution + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkSessionSuccessMetadataInstitution getInstitution() { + return institution; + } + + + public void setInstitution(LinkSessionSuccessMetadataInstitution institution) { + this.institution = institution; + } + + + public LinkSessionSuccessMetadata accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public LinkSessionSuccessMetadata addAccountsItem(LinkSessionSuccessMetadataAccount accountsItem) { + if (this.accounts == null) { + this.accounts = new ArrayList<>(); + } + this.accounts.add(accountsItem); + return this; + } + + /** + * A list of accounts attached to the connected Item. If Account Select is enabled via the developer dashboard, `accounts` will only include selected accounts. + * @return accounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of accounts attached to the connected Item. If Account Select is enabled via the developer dashboard, `accounts` will only include selected accounts.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public LinkSessionSuccessMetadata linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * A unique identifier associated with a user's actions and events through the Link flow. Include this identifier when opening a support ticket for faster turnaround. + * @return linkSessionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier associated with a user's actions and events through the Link flow. Include this identifier when opening a support ticket for faster turnaround.") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public LinkSessionSuccessMetadata transferStatus(LinkSessionSuccessMetadataTransferStatus transferStatus) { + + this.transferStatus = transferStatus; + return this; + } + + /** + * Get transferStatus + * @return transferStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkSessionSuccessMetadataTransferStatus getTransferStatus() { + return transferStatus; + } + + + public void setTransferStatus(LinkSessionSuccessMetadataTransferStatus transferStatus) { + this.transferStatus = transferStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionSuccessMetadata linkSessionSuccessMetadata = (LinkSessionSuccessMetadata) o; + return Objects.equals(this.institution, linkSessionSuccessMetadata.institution) && + Objects.equals(this.accounts, linkSessionSuccessMetadata.accounts) && + Objects.equals(this.linkSessionId, linkSessionSuccessMetadata.linkSessionId) && + Objects.equals(this.transferStatus, linkSessionSuccessMetadata.transferStatus); + } + + @Override + public int hashCode() { + return Objects.hash(institution, accounts, linkSessionId, transferStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionSuccessMetadata {\n"); + sb.append(" institution: ").append(toIndentedString(institution)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" transferStatus: ").append(toIndentedString(transferStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionSuccessMetadataAccount.java b/src/main/java/com/plaid/client/model/LinkSessionSuccessMetadataAccount.java new file mode 100644 index 0000000000..1507ab095d --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionSuccessMetadataAccount.java @@ -0,0 +1,273 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An account attached to the connected Item. + */ +@ApiModel(description = "An account attached to the connected Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionSuccessMetadataAccount { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private String subtype; + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private String verificationStatus; + + public static final String SERIALIZED_NAME_CLASS_TYPE = "class_type"; + @SerializedName(SERIALIZED_NAME_CLASS_TYPE) + private String classType; + + + public LinkSessionSuccessMetadataAccount id(String id) { + + this.id = id; + return this; + } + + /** + * The Plaid `account_id` + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `account_id` ") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public LinkSessionSuccessMetadataAccount name(String name) { + + this.name = name; + return this; + } + + /** + * The official account name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The official account name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public LinkSessionSuccessMetadataAccount mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts. It may also not match the mask that the bank displays to the user. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts. It may also not match the mask that the bank displays to the user.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public LinkSessionSuccessMetadataAccount type(String type) { + + this.type = type; + return this; + } + + /** + * The account type. See the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema) for a full list of possible values + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account type. See the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema) for a full list of possible values") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public LinkSessionSuccessMetadataAccount subtype(String subtype) { + + this.subtype = subtype; + return this; + } + + /** + * The account subtype. See the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema) for a full list of possible values + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account subtype. See the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema) for a full list of possible values") + + public String getSubtype() { + return subtype; + } + + + public void setSubtype(String subtype) { + this.subtype = subtype; + } + + + public LinkSessionSuccessMetadataAccount verificationStatus(String verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_pending`: The Database Auth result is pending and will be available upon Auth request. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. + * @return verificationStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates an Item's micro-deposit-based verification or database verification status. This field is only populated when using Auth and falling back to micro-deposit or database verification. Possible values are: `pending_automatic_verification`: The Item is pending automatic verification. `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the code. `automatically_verified`: The Item has successfully been automatically verified. `manually_verified`: The Item has successfully been manually verified. `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `unsent`: The Item is pending micro-deposit verification, but Plaid has not yet sent the micro-deposit. `database_insights_pending`: The Database Auth result is pending and will be available upon Auth request. `database_insights_fail`: The Item's numbers have been verified using Plaid's data sources and have signal for being invalid and/or have no signal for being valid. Typically this indicates that the routing number is invalid, the account number does not match the account number format associated with the routing number, or the account has been reported as closed or frozen. Only returned for Auth Items created via Database Auth. `database_insights_pass`: The Item's numbers have been verified using Plaid's data sources: the routing and account number match a routing and account number of an account recognized on the Plaid network, and the account is not known by Plaid to be frozen or closed. Only returned for Auth Items created via Database Auth. `database_insights_pass_with_caution`: The Item's numbers have been verified using Plaid's data sources and have some signal for being valid: the routing and account number were not recognized on the Plaid network, but the routing number is valid and the account number is a potential valid account number for that routing number. Only returned for Auth Items created via Database Auth. `database_matched`: (deprecated) The Item has successfully been verified using Plaid's data sources. Only returned for Auth Items created via Database Match. `null` or empty string: Neither micro-deposit-based verification nor database verification are being used for the Item. ") + + public String getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(String verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + public LinkSessionSuccessMetadataAccount classType(String classType) { + + this.classType = classType; + return this; + } + + /** + * If micro-deposit verification was being used, indicates the user's selection when asked if the account being verified is a `business` or `personal` account. This field is deprecated as Plaid no longer collects this information during the micro-deposit flow. To see whether an account is business or personal, use the `holder_category` field instead. + * @return classType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If micro-deposit verification was being used, indicates the user's selection when asked if the account being verified is a `business` or `personal` account. This field is deprecated as Plaid no longer collects this information during the micro-deposit flow. To see whether an account is business or personal, use the `holder_category` field instead.") + + public String getClassType() { + return classType; + } + + + public void setClassType(String classType) { + this.classType = classType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionSuccessMetadataAccount linkSessionSuccessMetadataAccount = (LinkSessionSuccessMetadataAccount) o; + return Objects.equals(this.id, linkSessionSuccessMetadataAccount.id) && + Objects.equals(this.name, linkSessionSuccessMetadataAccount.name) && + Objects.equals(this.mask, linkSessionSuccessMetadataAccount.mask) && + Objects.equals(this.type, linkSessionSuccessMetadataAccount.type) && + Objects.equals(this.subtype, linkSessionSuccessMetadataAccount.subtype) && + Objects.equals(this.verificationStatus, linkSessionSuccessMetadataAccount.verificationStatus) && + Objects.equals(this.classType, linkSessionSuccessMetadataAccount.classType); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, mask, type, subtype, verificationStatus, classType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionSuccessMetadataAccount {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append(" classType: ").append(toIndentedString(classType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionSuccessMetadataInstitution.java b/src/main/java/com/plaid/client/model/LinkSessionSuccessMetadataInstitution.java new file mode 100644 index 0000000000..5f41207d2d --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionSuccessMetadataInstitution.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An institution object. If the Item was created via Same-Day or Instant micro-deposit verification, will be `null`. + */ +@ApiModel(description = "An institution object. If the Item was created via Same-Day or Instant micro-deposit verification, will be `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkSessionSuccessMetadataInstitution { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + + public LinkSessionSuccessMetadataInstitution name(String name) { + + this.name = name; + return this; + } + + /** + * The full institution name, such as `'Wells Fargo'` + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full institution name, such as `'Wells Fargo'`") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public LinkSessionSuccessMetadataInstitution institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The Plaid institution identifier + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid institution identifier") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkSessionSuccessMetadataInstitution linkSessionSuccessMetadataInstitution = (LinkSessionSuccessMetadataInstitution) o; + return Objects.equals(this.name, linkSessionSuccessMetadataInstitution.name) && + Objects.equals(this.institutionId, linkSessionSuccessMetadataInstitution.institutionId); + } + + @Override + public int hashCode() { + return Objects.hash(name, institutionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkSessionSuccessMetadataInstitution {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkSessionSuccessMetadataTransferStatus.java b/src/main/java/com/plaid/client/model/LinkSessionSuccessMetadataTransferStatus.java new file mode 100644 index 0000000000..ea7857258f --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkSessionSuccessMetadataTransferStatus.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of a transfer. Returned only when [Transfer UI](https://plaid.com/docs/transfer/using-transfer-ui) is implemented. - `COMPLETE` - The transfer was completed. - `INCOMPLETE` - The transfer could not be completed. For help, see [Troubleshooting transfers](https://plaid.com/docs/transfer/using-transfer-ui/#troubleshooting-transfer-ui). + */ +@JsonAdapter(LinkSessionSuccessMetadataTransferStatus.Adapter.class) +public enum LinkSessionSuccessMetadataTransferStatus { + + COMPLETE("COMPLETE"), + + INCOMPLETE("INCOMPLETE"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + LinkSessionSuccessMetadataTransferStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LinkSessionSuccessMetadataTransferStatus fromValue(String value) { + for (LinkSessionSuccessMetadataTransferStatus b : LinkSessionSuccessMetadataTransferStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final LinkSessionSuccessMetadataTransferStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LinkSessionSuccessMetadataTransferStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LinkSessionSuccessMetadataTransferStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenAccountFilters.java b/src/main/java/com/plaid/client/model/LinkTokenAccountFilters.java new file mode 100644 index 0000000000..be5d7c09c2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenAccountFilters.java @@ -0,0 +1,220 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditFilter; +import com.plaid.client.model.DepositoryFilter; +import com.plaid.client.model.InvestmentFilter; +import com.plaid.client.model.LoanFilter; +import com.plaid.client.model.OtherFilter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * By default, Link will provide limited account filtering: it will only display Institutions that are compatible with all products supplied in the `products` parameter of `/link/token/create`, and, if `auth` is specified in the `products` array, will also filter out accounts other than `checking`, `savings`, and `cash management` accounts on the Account Select pane. You can further limit the accounts shown in Link by using `account_filters` to specify the account subtypes to be shown in Link. Only the specified subtypes will be shown. This filtering applies to both the Account Select view (if enabled) and the Institution Select view. Institutions that do not support the selected subtypes will be omitted from Link. To indicate that all subtypes should be shown, use the value `\"all\"`. If the `account_filters` filter is used, any account type for which a filter is not specified will be entirely omitted from Link. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). The filter may or may not impact the list of accounts shown by the institution in the OAuth account selection flow, depending on the specific institution. If the user selects excluded account subtypes in the OAuth flow, these accounts will not be added to the Item. If the user selects only excluded account subtypes, the link attempt will fail and the user will be prompted to try again. + */ +@ApiModel(description = "By default, Link will provide limited account filtering: it will only display Institutions that are compatible with all products supplied in the `products` parameter of `/link/token/create`, and, if `auth` is specified in the `products` array, will also filter out accounts other than `checking`, `savings`, and `cash management` accounts on the Account Select pane. You can further limit the accounts shown in Link by using `account_filters` to specify the account subtypes to be shown in Link. Only the specified subtypes will be shown. This filtering applies to both the Account Select view (if enabled) and the Institution Select view. Institutions that do not support the selected subtypes will be omitted from Link. To indicate that all subtypes should be shown, use the value `\"all\"`. If the `account_filters` filter is used, any account type for which a filter is not specified will be entirely omitted from Link. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). The filter may or may not impact the list of accounts shown by the institution in the OAuth account selection flow, depending on the specific institution. If the user selects excluded account subtypes in the OAuth flow, these accounts will not be added to the Item. If the user selects only excluded account subtypes, the link attempt will fail and the user will be prompted to try again. ") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenAccountFilters { + public static final String SERIALIZED_NAME_DEPOSITORY = "depository"; + @SerializedName(SERIALIZED_NAME_DEPOSITORY) + private DepositoryFilter depository; + + public static final String SERIALIZED_NAME_CREDIT = "credit"; + @SerializedName(SERIALIZED_NAME_CREDIT) + private CreditFilter credit; + + public static final String SERIALIZED_NAME_LOAN = "loan"; + @SerializedName(SERIALIZED_NAME_LOAN) + private LoanFilter loan; + + public static final String SERIALIZED_NAME_INVESTMENT = "investment"; + @SerializedName(SERIALIZED_NAME_INVESTMENT) + private InvestmentFilter investment; + + public static final String SERIALIZED_NAME_OTHER = "other"; + @SerializedName(SERIALIZED_NAME_OTHER) + private OtherFilter other; + + + public LinkTokenAccountFilters depository(DepositoryFilter depository) { + + this.depository = depository; + return this; + } + + /** + * Get depository + * @return depository + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public DepositoryFilter getDepository() { + return depository; + } + + + public void setDepository(DepositoryFilter depository) { + this.depository = depository; + } + + + public LinkTokenAccountFilters credit(CreditFilter credit) { + + this.credit = credit; + return this; + } + + /** + * Get credit + * @return credit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditFilter getCredit() { + return credit; + } + + + public void setCredit(CreditFilter credit) { + this.credit = credit; + } + + + public LinkTokenAccountFilters loan(LoanFilter loan) { + + this.loan = loan; + return this; + } + + /** + * Get loan + * @return loan + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LoanFilter getLoan() { + return loan; + } + + + public void setLoan(LoanFilter loan) { + this.loan = loan; + } + + + public LinkTokenAccountFilters investment(InvestmentFilter investment) { + + this.investment = investment; + return this; + } + + /** + * Get investment + * @return investment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InvestmentFilter getInvestment() { + return investment; + } + + + public void setInvestment(InvestmentFilter investment) { + this.investment = investment; + } + + + public LinkTokenAccountFilters other(OtherFilter other) { + + this.other = other; + return this; + } + + /** + * Get other + * @return other + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public OtherFilter getOther() { + return other; + } + + + public void setOther(OtherFilter other) { + this.other = other; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenAccountFilters linkTokenAccountFilters = (LinkTokenAccountFilters) o; + return Objects.equals(this.depository, linkTokenAccountFilters.depository) && + Objects.equals(this.credit, linkTokenAccountFilters.credit) && + Objects.equals(this.loan, linkTokenAccountFilters.loan) && + Objects.equals(this.investment, linkTokenAccountFilters.investment) && + Objects.equals(this.other, linkTokenAccountFilters.other); + } + + @Override + public int hashCode() { + return Objects.hash(depository, credit, loan, investment, other); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenAccountFilters {\n"); + sb.append(" depository: ").append(toIndentedString(depository)).append("\n"); + sb.append(" credit: ").append(toIndentedString(credit)).append("\n"); + sb.append(" loan: ").append(toIndentedString(loan)).append("\n"); + sb.append(" investment: ").append(toIndentedString(investment)).append("\n"); + sb.append(" other: ").append(toIndentedString(other)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCashflowReport.java b/src/main/java/com/plaid/client/model/LinkTokenCashflowReport.java new file mode 100644 index 0000000000..62636f9515 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCashflowReport.java @@ -0,0 +1,101 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Configuration parameters for the Cashflow Report product. Currently in closed beta. + */ +@ApiModel(description = "Configuration parameters for the Cashflow Report product. Currently in closed beta.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCashflowReport { + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested = 365; + + + public LinkTokenCashflowReport daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * Number of days of transaction history to request in the Cashflow Report product. + * minimum: 1 + * maximum: 730 + * @return daysRequested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of days of transaction history to request in the Cashflow Report product.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCashflowReport linkTokenCashflowReport = (LinkTokenCashflowReport) o; + return Objects.equals(this.daysRequested, linkTokenCashflowReport.daysRequested); + } + + @Override + public int hashCode() { + return Objects.hash(daysRequested); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCashflowReport {\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateCardSwitch.java b/src/main/java/com/plaid/client/model/LinkTokenCreateCardSwitch.java new file mode 100644 index 0000000000..e7bd32c744 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateCardSwitch.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A map containing data to pass in for the Card Switch flow. + */ +@ApiModel(description = "A map containing data to pass in for the Card Switch flow.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateCardSwitch { + public static final String SERIALIZED_NAME_CARD_BIN = "card_bin"; + @SerializedName(SERIALIZED_NAME_CARD_BIN) + private String cardBin; + + + public LinkTokenCreateCardSwitch cardBin(String cardBin) { + + this.cardBin = cardBin; + return this; + } + + /** + * The BIN (Bank Identification Number) of the card to switch. + * @return cardBin + **/ + @ApiModelProperty(required = true, value = "The BIN (Bank Identification Number) of the card to switch.") + + public String getCardBin() { + return cardBin; + } + + + public void setCardBin(String cardBin) { + this.cardBin = cardBin; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateCardSwitch linkTokenCreateCardSwitch = (LinkTokenCreateCardSwitch) o; + return Objects.equals(this.cardBin, linkTokenCreateCardSwitch.cardBin); + } + + @Override + public int hashCode() { + return Objects.hash(cardBin); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateCardSwitch {\n"); + sb.append(" cardBin: ").append(toIndentedString(cardBin)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateCreditFilter.java b/src/main/java/com/plaid/client/model/LinkTokenCreateCreditFilter.java new file mode 100644 index 0000000000..f5533d28e3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateCreditFilter.java @@ -0,0 +1,110 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditAccountSubtype; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A filter to apply to `credit`-type accounts + */ +@ApiModel(description = "A filter to apply to `credit`-type accounts") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateCreditFilter { + public static final String SERIALIZED_NAME_ACCOUNT_SUBTYPES = "account_subtypes"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SUBTYPES) + private List accountSubtypes = null; + + + public LinkTokenCreateCreditFilter accountSubtypes(List accountSubtypes) { + + this.accountSubtypes = accountSubtypes; + return this; + } + + public LinkTokenCreateCreditFilter addAccountSubtypesItem(CreditAccountSubtype accountSubtypesItem) { + if (this.accountSubtypes == null) { + this.accountSubtypes = new ArrayList<>(); + } + this.accountSubtypes.add(accountSubtypesItem); + return this; + } + + /** + * An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountSubtypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ") + + public List getAccountSubtypes() { + return accountSubtypes; + } + + + public void setAccountSubtypes(List accountSubtypes) { + this.accountSubtypes = accountSubtypes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateCreditFilter linkTokenCreateCreditFilter = (LinkTokenCreateCreditFilter) o; + return Objects.equals(this.accountSubtypes, linkTokenCreateCreditFilter.accountSubtypes); + } + + @Override + public int hashCode() { + return Objects.hash(accountSubtypes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateCreditFilter {\n"); + sb.append(" accountSubtypes: ").append(toIndentedString(accountSubtypes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateDepositoryFilter.java b/src/main/java/com/plaid/client/model/LinkTokenCreateDepositoryFilter.java new file mode 100644 index 0000000000..d3b8b9a761 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateDepositoryFilter.java @@ -0,0 +1,148 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DepositoryAccountSubtype; +import com.plaid.client.model.LimitedPurposeType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A filter to apply to `depository`-type accounts + */ +@ApiModel(description = "A filter to apply to `depository`-type accounts") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateDepositoryFilter { + public static final String SERIALIZED_NAME_ACCOUNT_SUBTYPES = "account_subtypes"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SUBTYPES) + private List accountSubtypes = null; + + public static final String SERIALIZED_NAME_LIMITED_PURPOSE_TYPES = "limited_purpose_types"; + @SerializedName(SERIALIZED_NAME_LIMITED_PURPOSE_TYPES) + private List limitedPurposeTypes = null; + + + public LinkTokenCreateDepositoryFilter accountSubtypes(List accountSubtypes) { + + this.accountSubtypes = accountSubtypes; + return this; + } + + public LinkTokenCreateDepositoryFilter addAccountSubtypesItem(DepositoryAccountSubtype accountSubtypesItem) { + if (this.accountSubtypes == null) { + this.accountSubtypes = new ArrayList<>(); + } + this.accountSubtypes.add(accountSubtypesItem); + return this; + } + + /** + * An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountSubtypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ") + + public List getAccountSubtypes() { + return accountSubtypes; + } + + + public void setAccountSubtypes(List accountSubtypes) { + this.accountSubtypes = accountSubtypes; + } + + + public LinkTokenCreateDepositoryFilter limitedPurposeTypes(List limitedPurposeTypes) { + + this.limitedPurposeTypes = limitedPurposeTypes; + return this; + } + + public LinkTokenCreateDepositoryFilter addLimitedPurposeTypesItem(LimitedPurposeType limitedPurposeTypesItem) { + if (this.limitedPurposeTypes == null) { + this.limitedPurposeTypes = new ArrayList<>(); + } + this.limitedPurposeTypes.add(limitedPurposeTypesItem); + return this; + } + + /** + * An array of limited purpose types. Restricts which kinds of limited purpose checking accounts may be connected in Link to prevent users from connecting them for unsupported use cases. Required when 'limited purpose checking' is in the subtypes filter. + * @return limitedPurposeTypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of limited purpose types. Restricts which kinds of limited purpose checking accounts may be connected in Link to prevent users from connecting them for unsupported use cases. Required when 'limited purpose checking' is in the subtypes filter.") + + public List getLimitedPurposeTypes() { + return limitedPurposeTypes; + } + + + public void setLimitedPurposeTypes(List limitedPurposeTypes) { + this.limitedPurposeTypes = limitedPurposeTypes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateDepositoryFilter linkTokenCreateDepositoryFilter = (LinkTokenCreateDepositoryFilter) o; + return Objects.equals(this.accountSubtypes, linkTokenCreateDepositoryFilter.accountSubtypes) && + Objects.equals(this.limitedPurposeTypes, linkTokenCreateDepositoryFilter.limitedPurposeTypes); + } + + @Override + public int hashCode() { + return Objects.hash(accountSubtypes, limitedPurposeTypes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateDepositoryFilter {\n"); + sb.append(" accountSubtypes: ").append(toIndentedString(accountSubtypes)).append("\n"); + sb.append(" limitedPurposeTypes: ").append(toIndentedString(limitedPurposeTypes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateHostedLink.java b/src/main/java/com/plaid/client/model/LinkTokenCreateHostedLink.java new file mode 100644 index 0000000000..1577758c80 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateHostedLink.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.HostedLinkDeliveryMethod; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Configuration parameters for Hosted Link. To enable the session for Hosted Link, send this object in the request. It can be empty. + */ +@ApiModel(description = "Configuration parameters for Hosted Link. To enable the session for Hosted Link, send this object in the request. It can be empty.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateHostedLink { + public static final String SERIALIZED_NAME_DELIVERY_METHOD = "delivery_method"; + @SerializedName(SERIALIZED_NAME_DELIVERY_METHOD) + private HostedLinkDeliveryMethod deliveryMethod; + + public static final String SERIALIZED_NAME_COMPLETION_REDIRECT_URI = "completion_redirect_uri"; + @SerializedName(SERIALIZED_NAME_COMPLETION_REDIRECT_URI) + private String completionRedirectUri; + + public static final String SERIALIZED_NAME_URL_LIFETIME_SECONDS = "url_lifetime_seconds"; + @SerializedName(SERIALIZED_NAME_URL_LIFETIME_SECONDS) + private Integer urlLifetimeSeconds; + + public static final String SERIALIZED_NAME_IS_MOBILE_APP = "is_mobile_app"; + @SerializedName(SERIALIZED_NAME_IS_MOBILE_APP) + private Boolean isMobileApp = false; + + + public LinkTokenCreateHostedLink deliveryMethod(HostedLinkDeliveryMethod deliveryMethod) { + + this.deliveryMethod = deliveryMethod; + return this; + } + + /** + * Get deliveryMethod + * @return deliveryMethod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public HostedLinkDeliveryMethod getDeliveryMethod() { + return deliveryMethod; + } + + + public void setDeliveryMethod(HostedLinkDeliveryMethod deliveryMethod) { + this.deliveryMethod = deliveryMethod; + } + + + public LinkTokenCreateHostedLink completionRedirectUri(String completionRedirectUri) { + + this.completionRedirectUri = completionRedirectUri; + return this; + } + + /** + * URI that Hosted Link will redirect to upon completion of the Link flow. This will only occur in Hosted Link sessions, not in other implementation methods. + * @return completionRedirectUri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI that Hosted Link will redirect to upon completion of the Link flow. This will only occur in Hosted Link sessions, not in other implementation methods. ") + + public String getCompletionRedirectUri() { + return completionRedirectUri; + } + + + public void setCompletionRedirectUri(String completionRedirectUri) { + this.completionRedirectUri = completionRedirectUri; + } + + + public LinkTokenCreateHostedLink urlLifetimeSeconds(Integer urlLifetimeSeconds) { + + this.urlLifetimeSeconds = urlLifetimeSeconds; + return this; + } + + /** + * How many seconds the link will be valid for. Must be positive. Cannot be longer than 21 days. The default lifetime is 7 days for links delivered by email, 1 day for links delivered via SMS, and 30 minutes for links not sent via Plaid Link delivery. This parameter will override the value of all three link types. + * @return urlLifetimeSeconds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "How many seconds the link will be valid for. Must be positive. Cannot be longer than 21 days. The default lifetime is 7 days for links delivered by email, 1 day for links delivered via SMS, and 30 minutes for links not sent via Plaid Link delivery. This parameter will override the value of all three link types. ") + + public Integer getUrlLifetimeSeconds() { + return urlLifetimeSeconds; + } + + + public void setUrlLifetimeSeconds(Integer urlLifetimeSeconds) { + this.urlLifetimeSeconds = urlLifetimeSeconds; + } + + + public LinkTokenCreateHostedLink isMobileApp(Boolean isMobileApp) { + + this.isMobileApp = isMobileApp; + return this; + } + + /** + * This indicates whether the client is opening Hosted Link in a mobile app in an `AsWebAuthenticationSession` or Chrome custom tab. + * @return isMobileApp + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "This indicates whether the client is opening Hosted Link in a mobile app in an `AsWebAuthenticationSession` or Chrome custom tab. ") + + public Boolean getIsMobileApp() { + return isMobileApp; + } + + + public void setIsMobileApp(Boolean isMobileApp) { + this.isMobileApp = isMobileApp; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateHostedLink linkTokenCreateHostedLink = (LinkTokenCreateHostedLink) o; + return Objects.equals(this.deliveryMethod, linkTokenCreateHostedLink.deliveryMethod) && + Objects.equals(this.completionRedirectUri, linkTokenCreateHostedLink.completionRedirectUri) && + Objects.equals(this.urlLifetimeSeconds, linkTokenCreateHostedLink.urlLifetimeSeconds) && + Objects.equals(this.isMobileApp, linkTokenCreateHostedLink.isMobileApp); + } + + @Override + public int hashCode() { + return Objects.hash(deliveryMethod, completionRedirectUri, urlLifetimeSeconds, isMobileApp); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateHostedLink {\n"); + sb.append(" deliveryMethod: ").append(toIndentedString(deliveryMethod)).append("\n"); + sb.append(" completionRedirectUri: ").append(toIndentedString(completionRedirectUri)).append("\n"); + sb.append(" urlLifetimeSeconds: ").append(toIndentedString(urlLifetimeSeconds)).append("\n"); + sb.append(" isMobileApp: ").append(toIndentedString(isMobileApp)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateIdentity.java b/src/main/java/com/plaid/client/model/LinkTokenCreateIdentity.java new file mode 100644 index 0000000000..7063da8aee --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateIdentity.java @@ -0,0 +1,176 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeVerificationDocParsingConfig; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Identity object used to specify document upload + */ +@ApiModel(description = "Identity object used to specify document upload") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateIdentity { + public static final String SERIALIZED_NAME_IS_DOCUMENT_UPLOAD = "is_document_upload"; + @SerializedName(SERIALIZED_NAME_IS_DOCUMENT_UPLOAD) + private Boolean isDocumentUpload; + + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + public static final String SERIALIZED_NAME_PARSING_CONFIGS = "parsing_configs"; + @SerializedName(SERIALIZED_NAME_PARSING_CONFIGS) + private List parsingConfigs = null; + + + public LinkTokenCreateIdentity isDocumentUpload(Boolean isDocumentUpload) { + + this.isDocumentUpload = isDocumentUpload; + return this; + } + + /** + * Used to specify whether the Link session is Identity Document Upload + * @return isDocumentUpload + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Used to specify whether the Link session is Identity Document Upload") + + public Boolean getIsDocumentUpload() { + return isDocumentUpload; + } + + + public void setIsDocumentUpload(Boolean isDocumentUpload) { + this.isDocumentUpload = isDocumentUpload; + } + + + public LinkTokenCreateIdentity accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public LinkTokenCreateIdentity addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * An array of `account_ids`. Currently can only contain one `account_id`. Must be populated if using Document Upload. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of `account_ids`. Currently can only contain one `account_id`. Must be populated if using Document Upload.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + public LinkTokenCreateIdentity parsingConfigs(List parsingConfigs) { + + this.parsingConfigs = parsingConfigs; + return this; + } + + public LinkTokenCreateIdentity addParsingConfigsItem(IncomeVerificationDocParsingConfig parsingConfigsItem) { + if (this.parsingConfigs == null) { + this.parsingConfigs = new ArrayList<>(); + } + this.parsingConfigs.add(parsingConfigsItem); + return this; + } + + /** + * An array of parsing configurations. Valid parsing configurations are `ocr` and `risk_signals`. If parsing configurations are omitted, defaults to `ocr` + * @return parsingConfigs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of parsing configurations. Valid parsing configurations are `ocr` and `risk_signals`. If parsing configurations are omitted, defaults to `ocr`") + + public List getParsingConfigs() { + return parsingConfigs; + } + + + public void setParsingConfigs(List parsingConfigs) { + this.parsingConfigs = parsingConfigs; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateIdentity linkTokenCreateIdentity = (LinkTokenCreateIdentity) o; + return Objects.equals(this.isDocumentUpload, linkTokenCreateIdentity.isDocumentUpload) && + Objects.equals(this.accountIds, linkTokenCreateIdentity.accountIds) && + Objects.equals(this.parsingConfigs, linkTokenCreateIdentity.parsingConfigs); + } + + @Override + public int hashCode() { + return Objects.hash(isDocumentUpload, accountIds, parsingConfigs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateIdentity {\n"); + sb.append(" isDocumentUpload: ").append(toIndentedString(isDocumentUpload)).append("\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append(" parsingConfigs: ").append(toIndentedString(parsingConfigs)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateInstitutionData.java b/src/main/java/com/plaid/client/model/LinkTokenCreateInstitutionData.java new file mode 100644 index 0000000000..c10bf0084d --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateInstitutionData.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A map containing data used to highlight institutions in Link. + */ +@ApiModel(description = "A map containing data used to highlight institutions in Link.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateInstitutionData { + public static final String SERIALIZED_NAME_ROUTING_NUMBER = "routing_number"; + @SerializedName(SERIALIZED_NAME_ROUTING_NUMBER) + private String routingNumber; + + + public LinkTokenCreateInstitutionData routingNumber(String routingNumber) { + + this.routingNumber = routingNumber; + return this; + } + + /** + * The routing number of the bank to highlight in Link. Note: in rare cases, a single routing number can be associated with multiple institutions, e.g. due to a brokerage using another institution to manage ACH on its sweep accounts. If this happens, the bank will not be highlighted in Link even if the routing number is provided. + * @return routingNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The routing number of the bank to highlight in Link. Note: in rare cases, a single routing number can be associated with multiple institutions, e.g. due to a brokerage using another institution to manage ACH on its sweep accounts. If this happens, the bank will not be highlighted in Link even if the routing number is provided.") + + public String getRoutingNumber() { + return routingNumber; + } + + + public void setRoutingNumber(String routingNumber) { + this.routingNumber = routingNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateInstitutionData linkTokenCreateInstitutionData = (LinkTokenCreateInstitutionData) o; + return Objects.equals(this.routingNumber, linkTokenCreateInstitutionData.routingNumber); + } + + @Override + public int hashCode() { + return Objects.hash(routingNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateInstitutionData {\n"); + sb.append(" routingNumber: ").append(toIndentedString(routingNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateInvestmentFilter.java b/src/main/java/com/plaid/client/model/LinkTokenCreateInvestmentFilter.java new file mode 100644 index 0000000000..0f12af460e --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateInvestmentFilter.java @@ -0,0 +1,110 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentAccountSubtype; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A filter to apply to `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier). + */ +@ApiModel(description = "A filter to apply to `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateInvestmentFilter { + public static final String SERIALIZED_NAME_ACCOUNT_SUBTYPES = "account_subtypes"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SUBTYPES) + private List accountSubtypes = null; + + + public LinkTokenCreateInvestmentFilter accountSubtypes(List accountSubtypes) { + + this.accountSubtypes = accountSubtypes; + return this; + } + + public LinkTokenCreateInvestmentFilter addAccountSubtypesItem(InvestmentAccountSubtype accountSubtypesItem) { + if (this.accountSubtypes == null) { + this.accountSubtypes = new ArrayList<>(); + } + this.accountSubtypes.add(accountSubtypesItem); + return this; + } + + /** + * An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountSubtypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ") + + public List getAccountSubtypes() { + return accountSubtypes; + } + + + public void setAccountSubtypes(List accountSubtypes) { + this.accountSubtypes = accountSubtypes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateInvestmentFilter linkTokenCreateInvestmentFilter = (LinkTokenCreateInvestmentFilter) o; + return Objects.equals(this.accountSubtypes, linkTokenCreateInvestmentFilter.accountSubtypes); + } + + @Override + public int hashCode() { + return Objects.hash(accountSubtypes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateInvestmentFilter {\n"); + sb.append(" accountSubtypes: ").append(toIndentedString(accountSubtypes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateLoanFilter.java b/src/main/java/com/plaid/client/model/LinkTokenCreateLoanFilter.java new file mode 100644 index 0000000000..075d6a3cb2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateLoanFilter.java @@ -0,0 +1,110 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LoanAccountSubtype; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A filter to apply to `loan`-type accounts + */ +@ApiModel(description = "A filter to apply to `loan`-type accounts") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateLoanFilter { + public static final String SERIALIZED_NAME_ACCOUNT_SUBTYPES = "account_subtypes"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SUBTYPES) + private List accountSubtypes = null; + + + public LinkTokenCreateLoanFilter accountSubtypes(List accountSubtypes) { + + this.accountSubtypes = accountSubtypes; + return this; + } + + public LinkTokenCreateLoanFilter addAccountSubtypesItem(LoanAccountSubtype accountSubtypesItem) { + if (this.accountSubtypes == null) { + this.accountSubtypes = new ArrayList<>(); + } + this.accountSubtypes.add(accountSubtypesItem); + return this; + } + + /** + * An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountSubtypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ") + + public List getAccountSubtypes() { + return accountSubtypes; + } + + + public void setAccountSubtypes(List accountSubtypes) { + this.accountSubtypes = accountSubtypes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateLoanFilter linkTokenCreateLoanFilter = (LinkTokenCreateLoanFilter) o; + return Objects.equals(this.accountSubtypes, linkTokenCreateLoanFilter.accountSubtypes); + } + + @Override + public int hashCode() { + return Objects.hash(accountSubtypes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateLoanFilter {\n"); + sb.append(" accountSubtypes: ").append(toIndentedString(accountSubtypes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequest.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequest.java new file mode 100644 index 0000000000..b050c708ff --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequest.java @@ -0,0 +1,1504 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ConsumerReportPermissiblePurpose; +import com.plaid.client.model.CountryCode; +import com.plaid.client.model.LinkTokenAccountFilters; +import com.plaid.client.model.LinkTokenCashflowReport; +import com.plaid.client.model.LinkTokenCreateCardSwitch; +import com.plaid.client.model.LinkTokenCreateHostedLink; +import com.plaid.client.model.LinkTokenCreateIdentity; +import com.plaid.client.model.LinkTokenCreateInstitutionData; +import com.plaid.client.model.LinkTokenCreateRequestAppearanceMode; +import com.plaid.client.model.LinkTokenCreateRequestAuth; +import com.plaid.client.model.LinkTokenCreateRequestBaseReport; +import com.plaid.client.model.LinkTokenCreateRequestCraOptions; +import com.plaid.client.model.LinkTokenCreateRequestCreditPartnerInsights; +import com.plaid.client.model.LinkTokenCreateRequestEmployment; +import com.plaid.client.model.LinkTokenCreateRequestIdentityVerification; +import com.plaid.client.model.LinkTokenCreateRequestIncomeVerification; +import com.plaid.client.model.LinkTokenCreateRequestPaymentConfiguration; +import com.plaid.client.model.LinkTokenCreateRequestPaymentInitiation; +import com.plaid.client.model.LinkTokenCreateRequestStatements; +import com.plaid.client.model.LinkTokenCreateRequestTransfer; +import com.plaid.client.model.LinkTokenCreateRequestUpdate; +import com.plaid.client.model.LinkTokenCreateRequestUser; +import com.plaid.client.model.LinkTokenEUConfig; +import com.plaid.client.model.LinkTokenInvestments; +import com.plaid.client.model.LinkTokenInvestmentsAuth; +import com.plaid.client.model.LinkTokenTransactions; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * LinkTokenCreateRequest defines the request schema for `/link/token/create` + */ +@ApiModel(description = "LinkTokenCreateRequest defines the request schema for `/link/token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_NAME = "client_name"; + @SerializedName(SERIALIZED_NAME_CLIENT_NAME) + private String clientName; + + public static final String SERIALIZED_NAME_LANGUAGE = "language"; + @SerializedName(SERIALIZED_NAME_LANGUAGE) + private String language; + + public static final String SERIALIZED_NAME_COUNTRY_CODES = "country_codes"; + @SerializedName(SERIALIZED_NAME_COUNTRY_CODES) + private List countryCodes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private LinkTokenCreateRequestUser user; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = null; + + public static final String SERIALIZED_NAME_REQUIRED_IF_SUPPORTED_PRODUCTS = "required_if_supported_products"; + @SerializedName(SERIALIZED_NAME_REQUIRED_IF_SUPPORTED_PRODUCTS) + private List requiredIfSupportedProducts = null; + + public static final String SERIALIZED_NAME_OPTIONAL_PRODUCTS = "optional_products"; + @SerializedName(SERIALIZED_NAME_OPTIONAL_PRODUCTS) + private List optionalProducts = null; + + public static final String SERIALIZED_NAME_ADDITIONAL_CONSENTED_PRODUCTS = "additional_consented_products"; + @SerializedName(SERIALIZED_NAME_ADDITIONAL_CONSENTED_PRODUCTS) + private List additionalConsentedProducts = null; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCESS_TOKENS = "access_tokens"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKENS) + private List accessTokens = null; + + public static final String SERIALIZED_NAME_LINK_CUSTOMIZATION_NAME = "link_customization_name"; + @SerializedName(SERIALIZED_NAME_LINK_CUSTOMIZATION_NAME) + private String linkCustomizationName; + + public static final String SERIALIZED_NAME_APPEARANCE_MODE = "appearance_mode"; + @SerializedName(SERIALIZED_NAME_APPEARANCE_MODE) + private LinkTokenCreateRequestAppearanceMode appearanceMode; + + public static final String SERIALIZED_NAME_REDIRECT_URI = "redirect_uri"; + @SerializedName(SERIALIZED_NAME_REDIRECT_URI) + private String redirectUri; + + public static final String SERIALIZED_NAME_ANDROID_PACKAGE_NAME = "android_package_name"; + @SerializedName(SERIALIZED_NAME_ANDROID_PACKAGE_NAME) + private String androidPackageName; + + public static final String SERIALIZED_NAME_INSTITUTION_DATA = "institution_data"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_DATA) + private LinkTokenCreateInstitutionData institutionData; + + public static final String SERIALIZED_NAME_CARD_SWITCH = "card_switch"; + @SerializedName(SERIALIZED_NAME_CARD_SWITCH) + private LinkTokenCreateCardSwitch cardSwitch; + + public static final String SERIALIZED_NAME_ACCOUNT_FILTERS = "account_filters"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_FILTERS) + private LinkTokenAccountFilters accountFilters; + + public static final String SERIALIZED_NAME_EU_CONFIG = "eu_config"; + @SerializedName(SERIALIZED_NAME_EU_CONFIG) + private LinkTokenEUConfig euConfig; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_PAYMENT_CONFIGURATION = "payment_configuration"; + @SerializedName(SERIALIZED_NAME_PAYMENT_CONFIGURATION) + private LinkTokenCreateRequestPaymentConfiguration paymentConfiguration; + + public static final String SERIALIZED_NAME_PAYMENT_INITIATION = "payment_initiation"; + @SerializedName(SERIALIZED_NAME_PAYMENT_INITIATION) + private LinkTokenCreateRequestPaymentInitiation paymentInitiation; + + public static final String SERIALIZED_NAME_EMPLOYMENT = "employment"; + @SerializedName(SERIALIZED_NAME_EMPLOYMENT) + private LinkTokenCreateRequestEmployment employment; + + public static final String SERIALIZED_NAME_INCOME_VERIFICATION = "income_verification"; + @SerializedName(SERIALIZED_NAME_INCOME_VERIFICATION) + private LinkTokenCreateRequestIncomeVerification incomeVerification; + + public static final String SERIALIZED_NAME_BASE_REPORT = "base_report"; + @SerializedName(SERIALIZED_NAME_BASE_REPORT) + private LinkTokenCreateRequestBaseReport baseReport; + + public static final String SERIALIZED_NAME_CREDIT_PARTNER_INSIGHTS = "credit_partner_insights"; + @SerializedName(SERIALIZED_NAME_CREDIT_PARTNER_INSIGHTS) + private LinkTokenCreateRequestCreditPartnerInsights creditPartnerInsights; + + public static final String SERIALIZED_NAME_CRA_OPTIONS = "cra_options"; + @SerializedName(SERIALIZED_NAME_CRA_OPTIONS) + private LinkTokenCreateRequestCraOptions craOptions; + + public static final String SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE = "consumer_report_permissible_purpose"; + @SerializedName(SERIALIZED_NAME_CONSUMER_REPORT_PERMISSIBLE_PURPOSE) + private ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose; + + public static final String SERIALIZED_NAME_AUTH = "auth"; + @SerializedName(SERIALIZED_NAME_AUTH) + private LinkTokenCreateRequestAuth auth; + + public static final String SERIALIZED_NAME_TRANSFER = "transfer"; + @SerializedName(SERIALIZED_NAME_TRANSFER) + private LinkTokenCreateRequestTransfer transfer; + + public static final String SERIALIZED_NAME_UPDATE = "update"; + @SerializedName(SERIALIZED_NAME_UPDATE) + private LinkTokenCreateRequestUpdate update; + + public static final String SERIALIZED_NAME_IDENTITY_VERIFICATION = "identity_verification"; + @SerializedName(SERIALIZED_NAME_IDENTITY_VERIFICATION) + private LinkTokenCreateRequestIdentityVerification identityVerification; + + public static final String SERIALIZED_NAME_STATEMENTS = "statements"; + @SerializedName(SERIALIZED_NAME_STATEMENTS) + private LinkTokenCreateRequestStatements statements; + + public static final String SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN = "third_party_user_token"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN) + private String thirdPartyUserToken; + + public static final String SERIALIZED_NAME_INVESTMENTS = "investments"; + @SerializedName(SERIALIZED_NAME_INVESTMENTS) + private LinkTokenInvestments investments; + + public static final String SERIALIZED_NAME_INVESTMENTS_AUTH = "investments_auth"; + @SerializedName(SERIALIZED_NAME_INVESTMENTS_AUTH) + private LinkTokenInvestmentsAuth investmentsAuth; + + public static final String SERIALIZED_NAME_HOSTED_LINK = "hosted_link"; + @SerializedName(SERIALIZED_NAME_HOSTED_LINK) + private LinkTokenCreateHostedLink hostedLink; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private LinkTokenTransactions transactions; + + public static final String SERIALIZED_NAME_CASHFLOW_REPORT = "cashflow_report"; + @SerializedName(SERIALIZED_NAME_CASHFLOW_REPORT) + private LinkTokenCashflowReport cashflowReport; + + public static final String SERIALIZED_NAME_CRA_ENABLED = "cra_enabled"; + @SerializedName(SERIALIZED_NAME_CRA_ENABLED) + private Boolean craEnabled; + + public static final String SERIALIZED_NAME_IDENTITY = "identity"; + @SerializedName(SERIALIZED_NAME_IDENTITY) + private LinkTokenCreateIdentity identity; + + public static final String SERIALIZED_NAME_FINANCEKIT_SUPPORTED = "financekit_supported"; + @SerializedName(SERIALIZED_NAME_FINANCEKIT_SUPPORTED) + private Boolean financekitSupported; + + public static final String SERIALIZED_NAME_ENABLE_MULTI_ITEM_LINK = "enable_multi_item_link"; + @SerializedName(SERIALIZED_NAME_ENABLE_MULTI_ITEM_LINK) + private Boolean enableMultiItemLink; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + + public LinkTokenCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public LinkTokenCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public LinkTokenCreateRequest clientName(String clientName) { + + this.clientName = clientName; + return this; + } + + /** + * The name of your application, as it should be displayed in Link. Maximum length of 30 characters. If a value longer than 30 characters is provided, Link will display \"This Application\" instead. + * @return clientName + **/ + @ApiModelProperty(required = true, value = "The name of your application, as it should be displayed in Link. Maximum length of 30 characters. If a value longer than 30 characters is provided, Link will display \"This Application\" instead.") + + public String getClientName() { + return clientName; + } + + + public void setClientName(String clientName) { + this.clientName = clientName; + } + + + public LinkTokenCreateRequest language(String language) { + + this.language = language; + return this; + } + + /** + * The language that Link should be displayed in. When initializing with Identity Verification, this field is not used; for more details, see [Identity Verification supported languages](https://plaid.com/docs/identity-verification/#supported-languages). Supported languages are: - Danish (`'da'`) - Dutch (`'nl'`) - English (`'en'`) - Estonian (`'et'`) - French (`'fr'`) - German (`'de'`) - Hindi (`'hi'`) - Italian (`'it'`) - Latvian (`'lv'`) - Lithuanian (`'lt'`) - Norwegian (`'no'`) - Polish (`'pl'`) - Portuguese (`'pt'`) - Romanian (`'ro'`) - Spanish (`'es'`) - Swedish (`'sv'`) - Vietnamese (`'vi'`) When using a Link customization, the language configured here must match the setting in the customization, or the customization will not be applied. + * @return language + **/ + @ApiModelProperty(required = true, value = "The language that Link should be displayed in. When initializing with Identity Verification, this field is not used; for more details, see [Identity Verification supported languages](https://plaid.com/docs/identity-verification/#supported-languages). Supported languages are: - Danish (`'da'`) - Dutch (`'nl'`) - English (`'en'`) - Estonian (`'et'`) - French (`'fr'`) - German (`'de'`) - Hindi (`'hi'`) - Italian (`'it'`) - Latvian (`'lv'`) - Lithuanian (`'lt'`) - Norwegian (`'no'`) - Polish (`'pl'`) - Portuguese (`'pt'`) - Romanian (`'ro'`) - Spanish (`'es'`) - Swedish (`'sv'`) - Vietnamese (`'vi'`) When using a Link customization, the language configured here must match the setting in the customization, or the customization will not be applied.") + + public String getLanguage() { + return language; + } + + + public void setLanguage(String language) { + this.language = language; + } + + + public LinkTokenCreateRequest countryCodes(List countryCodes) { + + this.countryCodes = countryCodes; + return this; + } + + public LinkTokenCreateRequest addCountryCodesItem(CountryCode countryCodesItem) { + this.countryCodes.add(countryCodesItem); + return this; + } + + /** + * Specify an array of Plaid-supported country codes using the ISO-3166-1 alpha-2 country code standard. Institutions from all listed countries will be shown. For a complete mapping of supported products by country, see https://support.plaid.com/hc/en-us/articles/27895826947735-What-Plaid-products-are-supported-in-each-country-and-region. For access to additional countries beyond what you have been approved for, [contact sales](https://plaid.com/contact/), your account manager, or support. If using Identity Verification, `country_codes` should be set to the country where your company is based, not the country where your user is located. For all other products, `country_codes` represents the location of your user's financial institution. If Link is launched with multiple country codes, only products that you are enabled for in all countries will be used by Link. While all countries are enabled by default in Sandbox, in Production only the countries you have requested access for are shown. To request access to additional countries, [file a product access Support ticket](https://dashboard.plaid.com/support/new/product-and-development/product-troubleshooting/request-product-access) via the Plaid dashboard. If using a Link customization, make sure the country codes in the customization match those specified in `country_codes`, or the customization may not be applied. If using the Auth features Instant Match, Instant Micro-deposits, Same-Day Micro-deposits, Automated Micro-deposits, or Database Auth, `country_codes` must be set to `['US']`. + * @return countryCodes + **/ + @ApiModelProperty(required = true, value = "Specify an array of Plaid-supported country codes using the ISO-3166-1 alpha-2 country code standard. Institutions from all listed countries will be shown. For a complete mapping of supported products by country, see https://support.plaid.com/hc/en-us/articles/27895826947735-What-Plaid-products-are-supported-in-each-country-and-region. For access to additional countries beyond what you have been approved for, [contact sales](https://plaid.com/contact/), your account manager, or support. If using Identity Verification, `country_codes` should be set to the country where your company is based, not the country where your user is located. For all other products, `country_codes` represents the location of your user's financial institution. If Link is launched with multiple country codes, only products that you are enabled for in all countries will be used by Link. While all countries are enabled by default in Sandbox, in Production only the countries you have requested access for are shown. To request access to additional countries, [file a product access Support ticket](https://dashboard.plaid.com/support/new/product-and-development/product-troubleshooting/request-product-access) via the Plaid dashboard. If using a Link customization, make sure the country codes in the customization match those specified in `country_codes`, or the customization may not be applied. If using the Auth features Instant Match, Instant Micro-deposits, Same-Day Micro-deposits, Automated Micro-deposits, or Database Auth, `country_codes` must be set to `['US']`.") + + public List getCountryCodes() { + return countryCodes; + } + + + public void setCountryCodes(List countryCodes) { + this.countryCodes = countryCodes; + } + + + public LinkTokenCreateRequest user(LinkTokenCreateRequestUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestUser getUser() { + return user; + } + + + public void setUser(LinkTokenCreateRequestUser user) { + this.user = user; + } + + + public LinkTokenCreateRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A `user_id` generated using `/user/create`. Required for integrations that began using Plaid Protect, Multi-Item Link, or Plaid Check Consumer Report after December 10, 2025. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). One of either the `user_id` or the `user` field is required. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A `user_id` generated using `/user/create`. Required for integrations that began using Plaid Protect, Multi-Item Link, or Plaid Check Consumer Report after December 10, 2025. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). One of either the `user_id` or the `user` field is required.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public LinkTokenCreateRequest products(List products) { + + this.products = products; + return this; + } + + public LinkTokenCreateRequest addProductsItem(Products productsItem) { + if (this.products == null) { + this.products = new ArrayList<>(); + } + this.products.add(productsItem); + return this; + } + + /** + * List of Plaid product(s) that the linked Item must support. If launching Link in update mode, should be omitted (unless you are using update mode to add a credit product, such as Assets, Statements, Income, or Plaid Check Consumer Report, to an existing Item); at least one `product` is required otherwise. To maximize the number of institutions and accounts available, initialize Link with the minimal product set required for your use case, as the products specified will limit which institutions and account types will be available to your users in Link. Only institutions that support *all* requested products can be selected; if a user attempts to select an institution that does not support a listed product, a \"Connectivity not supported\" error message will appear in Link. For each specified product, the Item connected by the user must contain at least one compatible account. For details on compatible product / account type combinations, see [the account type/product support matrix](https://plaid.com/docs/api/accounts/#account-type--product-support-matrix). To add products without limiting the institution list or account types, use the [`optional_products`](https://plaid.com/docs/api/link/#link-token-create-request-optional-products) or [`required_if_supported_products`](https://plaid.com/docs/api/link/#link-token-create-request-required-if-supported-products) fields. Products can also be added to an Item by calling the product endpoint after obtaining an access token; this may require the product to be listed in the [`additional_consented_products`](https://plaid.com/docs/api/link/#link-token-create-request-additional-consented-products) array. For details, see [Choosing when to initialize products](https://plaid.com/docs/link/initializing-products/). `balance` is *not* a valid value, the Balance product does not require explicit initialization and will automatically be initialized when any other product is initialized. If launching Link with CRA products, `cra_base_report` is required and must be included in the `products` array. Note that, unless you have opted to disable Instant Match support, institutions that support Instant Match will also be shown in Link if `auth` is specified as a product, even though these institutions do not contain `auth` in their product array. In Production, you will be billed for each product that you specify when initializing Link. Note that a product cannot be removed from an Item once the Item has been initialized with that product. To stop billing on an Item for subscription-based products, such as Liabilities, Investments, and Transactions, remove the Item via `/item/remove`. + * @return products + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of Plaid product(s) that the linked Item must support. If launching Link in update mode, should be omitted (unless you are using update mode to add a credit product, such as Assets, Statements, Income, or Plaid Check Consumer Report, to an existing Item); at least one `product` is required otherwise. To maximize the number of institutions and accounts available, initialize Link with the minimal product set required for your use case, as the products specified will limit which institutions and account types will be available to your users in Link. Only institutions that support *all* requested products can be selected; if a user attempts to select an institution that does not support a listed product, a \"Connectivity not supported\" error message will appear in Link. For each specified product, the Item connected by the user must contain at least one compatible account. For details on compatible product / account type combinations, see [the account type/product support matrix](https://plaid.com/docs/api/accounts/#account-type--product-support-matrix). To add products without limiting the institution list or account types, use the [`optional_products`](https://plaid.com/docs/api/link/#link-token-create-request-optional-products) or [`required_if_supported_products`](https://plaid.com/docs/api/link/#link-token-create-request-required-if-supported-products) fields. Products can also be added to an Item by calling the product endpoint after obtaining an access token; this may require the product to be listed in the [`additional_consented_products`](https://plaid.com/docs/api/link/#link-token-create-request-additional-consented-products) array. For details, see [Choosing when to initialize products](https://plaid.com/docs/link/initializing-products/). `balance` is *not* a valid value, the Balance product does not require explicit initialization and will automatically be initialized when any other product is initialized. If launching Link with CRA products, `cra_base_report` is required and must be included in the `products` array. Note that, unless you have opted to disable Instant Match support, institutions that support Instant Match will also be shown in Link if `auth` is specified as a product, even though these institutions do not contain `auth` in their product array. In Production, you will be billed for each product that you specify when initializing Link. Note that a product cannot be removed from an Item once the Item has been initialized with that product. To stop billing on an Item for subscription-based products, such as Liabilities, Investments, and Transactions, remove the Item via `/item/remove`.") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + public LinkTokenCreateRequest requiredIfSupportedProducts(List requiredIfSupportedProducts) { + + this.requiredIfSupportedProducts = requiredIfSupportedProducts; + return this; + } + + public LinkTokenCreateRequest addRequiredIfSupportedProductsItem(Products requiredIfSupportedProductsItem) { + if (this.requiredIfSupportedProducts == null) { + this.requiredIfSupportedProducts = new ArrayList<>(); + } + this.requiredIfSupportedProducts.add(requiredIfSupportedProductsItem); + return this; + } + + /** + * List of Plaid product(s) you wish to use only if the institution and account(s) selected by the user support the product. Institutions that do not support these products will still be shown in Link. The products will only be extracted and billed if the user selects an institution and account type that supports them. There should be no overlap between this array and the `products`, `optional_products`, or `additional_consented_products` arrays. The `products` array must have at least one product. For more details on using this feature, see [Required if Supported Products](https://plaid.com/docs/link/initializing-products/#required-if-supported-products). + * @return requiredIfSupportedProducts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of Plaid product(s) you wish to use only if the institution and account(s) selected by the user support the product. Institutions that do not support these products will still be shown in Link. The products will only be extracted and billed if the user selects an institution and account type that supports them. There should be no overlap between this array and the `products`, `optional_products`, or `additional_consented_products` arrays. The `products` array must have at least one product. For more details on using this feature, see [Required if Supported Products](https://plaid.com/docs/link/initializing-products/#required-if-supported-products).") + + public List getRequiredIfSupportedProducts() { + return requiredIfSupportedProducts; + } + + + public void setRequiredIfSupportedProducts(List requiredIfSupportedProducts) { + this.requiredIfSupportedProducts = requiredIfSupportedProducts; + } + + + public LinkTokenCreateRequest optionalProducts(List optionalProducts) { + + this.optionalProducts = optionalProducts; + return this; + } + + public LinkTokenCreateRequest addOptionalProductsItem(Products optionalProductsItem) { + if (this.optionalProducts == null) { + this.optionalProducts = new ArrayList<>(); + } + this.optionalProducts.add(optionalProductsItem); + return this; + } + + /** + * List of Plaid product(s) that will enhance the consumer's use case, but that your app can function without. Plaid will attempt to fetch data for these products on a best-effort basis, and failure to support these products will not affect Item creation. There should be no overlap between this array and the `products`, `required_if_supported_products`, or `additional_consented_products` arrays. The `products` array must have at least one product. For more details on using this feature, see [Optional Products](https://plaid.com/docs/link/initializing-products/#optional-products). + * @return optionalProducts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of Plaid product(s) that will enhance the consumer's use case, but that your app can function without. Plaid will attempt to fetch data for these products on a best-effort basis, and failure to support these products will not affect Item creation. There should be no overlap between this array and the `products`, `required_if_supported_products`, or `additional_consented_products` arrays. The `products` array must have at least one product. For more details on using this feature, see [Optional Products](https://plaid.com/docs/link/initializing-products/#optional-products).") + + public List getOptionalProducts() { + return optionalProducts; + } + + + public void setOptionalProducts(List optionalProducts) { + this.optionalProducts = optionalProducts; + } + + + public LinkTokenCreateRequest additionalConsentedProducts(List additionalConsentedProducts) { + + this.additionalConsentedProducts = additionalConsentedProducts; + return this; + } + + public LinkTokenCreateRequest addAdditionalConsentedProductsItem(Products additionalConsentedProductsItem) { + if (this.additionalConsentedProducts == null) { + this.additionalConsentedProducts = new ArrayList<>(); + } + this.additionalConsentedProducts.add(additionalConsentedProductsItem); + return this; + } + + /** + * List of additional Plaid product(s) you wish to collect consent for to support your use case. These products will not be billed until you start using them by calling the relevant endpoints. `balance` is *not* a valid value, the Balance product does not require explicit initialization and will automatically have consent collected. Institutions that do not support these products will still be shown in Link. There should be no overlap between this array and the `products` or `required_if_supported_products` arrays. If you include `signal` in `additional_consented_products`, you will need to call [`/signal/prepare`](https://plaid.com/docs/api/products/signal/#signalprepare) before calling `/signal/evaluate` for the first time on an Item in order to get the most accurate results. For more details, see [`/signal/prepare`](https://plaid.com/docs/api/products/signal/#signalprepare). + * @return additionalConsentedProducts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of additional Plaid product(s) you wish to collect consent for to support your use case. These products will not be billed until you start using them by calling the relevant endpoints. `balance` is *not* a valid value, the Balance product does not require explicit initialization and will automatically have consent collected. Institutions that do not support these products will still be shown in Link. There should be no overlap between this array and the `products` or `required_if_supported_products` arrays. If you include `signal` in `additional_consented_products`, you will need to call [`/signal/prepare`](https://plaid.com/docs/api/products/signal/#signalprepare) before calling `/signal/evaluate` for the first time on an Item in order to get the most accurate results. For more details, see [`/signal/prepare`](https://plaid.com/docs/api/products/signal/#signalprepare).") + + public List getAdditionalConsentedProducts() { + return additionalConsentedProducts; + } + + + public void setAdditionalConsentedProducts(List additionalConsentedProducts) { + this.additionalConsentedProducts = additionalConsentedProducts; + } + + + public LinkTokenCreateRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The destination URL to which any webhooks should be sent. Note that webhooks for Payment Initiation (e-wallet transactions only), Transfer, Bank Transfer (including Auth micro-deposit notification webhooks), Monitor, and Identity Verification are configured via the Dashboard instead. In update mode, this field will not have an effect; to update the webhook receiver endpoint for an existing Item, use `/item/webhook/update` instead. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The destination URL to which any webhooks should be sent. Note that webhooks for Payment Initiation (e-wallet transactions only), Transfer, Bank Transfer (including Auth micro-deposit notification webhooks), Monitor, and Identity Verification are configured via the Dashboard instead. In update mode, this field will not have an effect; to update the webhook receiver endpoint for an existing Item, use `/item/webhook/update` instead.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + public LinkTokenCreateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The `access_token` associated with the Item to update or reference, used when updating, modifying, or accessing an existing `access_token`. Used when launching Link in update mode, when completing the Same-Day Micro-deposit (manual) flow, or (optionally) when initializing Link for a returning user as part of the Transfer UI flow. + * @return accessToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `access_token` associated with the Item to update or reference, used when updating, modifying, or accessing an existing `access_token`. Used when launching Link in update mode, when completing the Same-Day Micro-deposit (manual) flow, or (optionally) when initializing Link for a returning user as part of the Transfer UI flow.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public LinkTokenCreateRequest accessTokens(List accessTokens) { + + this.accessTokens = accessTokens; + return this; + } + + public LinkTokenCreateRequest addAccessTokensItem(String accessTokensItem) { + if (this.accessTokens == null) { + this.accessTokens = new ArrayList<>(); + } + this.accessTokens.add(accessTokensItem); + return this; + } + + /** + * A list of access tokens associated with the items to update in Link update mode for the Assets product. Using this instead of the `access_token` field allows the updating of multiple items at once. This feature is in closed beta, please contact your account manager for more info. + * @return accessTokens + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of access tokens associated with the items to update in Link update mode for the Assets product. Using this instead of the `access_token` field allows the updating of multiple items at once. This feature is in closed beta, please contact your account manager for more info.") + + public List getAccessTokens() { + return accessTokens; + } + + + public void setAccessTokens(List accessTokens) { + this.accessTokens = accessTokens; + } + + + public LinkTokenCreateRequest linkCustomizationName(String linkCustomizationName) { + + this.linkCustomizationName = linkCustomizationName; + return this; + } + + /** + * The name of the Link customization from the Plaid Dashboard to be applied to Link. If not specified, the `default` customization will be used. When using a Link customization, the language in the customization must match the language selected via the `language` parameter, and the countries in the customization should match the country codes selected via `country_codes`. + * @return linkCustomizationName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the Link customization from the Plaid Dashboard to be applied to Link. If not specified, the `default` customization will be used. When using a Link customization, the language in the customization must match the language selected via the `language` parameter, and the countries in the customization should match the country codes selected via `country_codes`.") + + public String getLinkCustomizationName() { + return linkCustomizationName; + } + + + public void setLinkCustomizationName(String linkCustomizationName) { + this.linkCustomizationName = linkCustomizationName; + } + + + public LinkTokenCreateRequest appearanceMode(LinkTokenCreateRequestAppearanceMode appearanceMode) { + + this.appearanceMode = appearanceMode; + return this; + } + + /** + * Get appearanceMode + * @return appearanceMode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestAppearanceMode getAppearanceMode() { + return appearanceMode; + } + + + public void setAppearanceMode(LinkTokenCreateRequestAppearanceMode appearanceMode) { + this.appearanceMode = appearanceMode; + } + + + public LinkTokenCreateRequest redirectUri(String redirectUri) { + + this.redirectUri = redirectUri; + return this; + } + + /** + * A URI indicating the destination where a user should be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or another app. The `redirect_uri` should not contain any query parameters. When used in Production, must be an https URI. Note that any redirect URI must also be added to the Allowed redirect URIs list in the [developer dashboard](https://dashboard.plaid.com/team/api). If initializing on Android, `android_package_name` must be specified instead and `redirect_uri` should be left blank. + * @return redirectUri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A URI indicating the destination where a user should be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or another app. The `redirect_uri` should not contain any query parameters. When used in Production, must be an https URI. Note that any redirect URI must also be added to the Allowed redirect URIs list in the [developer dashboard](https://dashboard.plaid.com/team/api). If initializing on Android, `android_package_name` must be specified instead and `redirect_uri` should be left blank.") + + public String getRedirectUri() { + return redirectUri; + } + + + public void setRedirectUri(String redirectUri) { + this.redirectUri = redirectUri; + } + + + public LinkTokenCreateRequest androidPackageName(String androidPackageName) { + + this.androidPackageName = androidPackageName; + return this; + } + + /** + * The name of your app's Android package. Required if using the `link_token` to initialize Link on Android. Any package name specified here must also be added to the Allowed Android package names setting on the [developer dashboard](https://dashboard.plaid.com/team/api). When creating a `link_token` for initializing Link on other platforms, `android_package_name` must be left blank and `redirect_uri` should be used instead. + * @return androidPackageName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of your app's Android package. Required if using the `link_token` to initialize Link on Android. Any package name specified here must also be added to the Allowed Android package names setting on the [developer dashboard](https://dashboard.plaid.com/team/api). When creating a `link_token` for initializing Link on other platforms, `android_package_name` must be left blank and `redirect_uri` should be used instead.") + + public String getAndroidPackageName() { + return androidPackageName; + } + + + public void setAndroidPackageName(String androidPackageName) { + this.androidPackageName = androidPackageName; + } + + + public LinkTokenCreateRequest institutionData(LinkTokenCreateInstitutionData institutionData) { + + this.institutionData = institutionData; + return this; + } + + /** + * Get institutionData + * @return institutionData + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateInstitutionData getInstitutionData() { + return institutionData; + } + + + public void setInstitutionData(LinkTokenCreateInstitutionData institutionData) { + this.institutionData = institutionData; + } + + + public LinkTokenCreateRequest cardSwitch(LinkTokenCreateCardSwitch cardSwitch) { + + this.cardSwitch = cardSwitch; + return this; + } + + /** + * Get cardSwitch + * @return cardSwitch + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateCardSwitch getCardSwitch() { + return cardSwitch; + } + + + public void setCardSwitch(LinkTokenCreateCardSwitch cardSwitch) { + this.cardSwitch = cardSwitch; + } + + + public LinkTokenCreateRequest accountFilters(LinkTokenAccountFilters accountFilters) { + + this.accountFilters = accountFilters; + return this; + } + + /** + * Get accountFilters + * @return accountFilters + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenAccountFilters getAccountFilters() { + return accountFilters; + } + + + public void setAccountFilters(LinkTokenAccountFilters accountFilters) { + this.accountFilters = accountFilters; + } + + + public LinkTokenCreateRequest euConfig(LinkTokenEUConfig euConfig) { + + this.euConfig = euConfig; + return this; + } + + /** + * Get euConfig + * @return euConfig + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenEUConfig getEuConfig() { + return euConfig; + } + + + public void setEuConfig(LinkTokenEUConfig euConfig) { + this.euConfig = euConfig; + } + + + public LinkTokenCreateRequest institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * Used for certain legacy use cases + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Used for certain legacy use cases") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public LinkTokenCreateRequest paymentConfiguration(LinkTokenCreateRequestPaymentConfiguration paymentConfiguration) { + + this.paymentConfiguration = paymentConfiguration; + return this; + } + + /** + * Get paymentConfiguration + * @return paymentConfiguration + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestPaymentConfiguration getPaymentConfiguration() { + return paymentConfiguration; + } + + + public void setPaymentConfiguration(LinkTokenCreateRequestPaymentConfiguration paymentConfiguration) { + this.paymentConfiguration = paymentConfiguration; + } + + + public LinkTokenCreateRequest paymentInitiation(LinkTokenCreateRequestPaymentInitiation paymentInitiation) { + + this.paymentInitiation = paymentInitiation; + return this; + } + + /** + * Get paymentInitiation + * @return paymentInitiation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestPaymentInitiation getPaymentInitiation() { + return paymentInitiation; + } + + + public void setPaymentInitiation(LinkTokenCreateRequestPaymentInitiation paymentInitiation) { + this.paymentInitiation = paymentInitiation; + } + + + public LinkTokenCreateRequest employment(LinkTokenCreateRequestEmployment employment) { + + this.employment = employment; + return this; + } + + /** + * Get employment + * @return employment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestEmployment getEmployment() { + return employment; + } + + + public void setEmployment(LinkTokenCreateRequestEmployment employment) { + this.employment = employment; + } + + + public LinkTokenCreateRequest incomeVerification(LinkTokenCreateRequestIncomeVerification incomeVerification) { + + this.incomeVerification = incomeVerification; + return this; + } + + /** + * Get incomeVerification + * @return incomeVerification + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestIncomeVerification getIncomeVerification() { + return incomeVerification; + } + + + public void setIncomeVerification(LinkTokenCreateRequestIncomeVerification incomeVerification) { + this.incomeVerification = incomeVerification; + } + + + public LinkTokenCreateRequest baseReport(LinkTokenCreateRequestBaseReport baseReport) { + + this.baseReport = baseReport; + return this; + } + + /** + * Get baseReport + * @return baseReport + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestBaseReport getBaseReport() { + return baseReport; + } + + + public void setBaseReport(LinkTokenCreateRequestBaseReport baseReport) { + this.baseReport = baseReport; + } + + + public LinkTokenCreateRequest creditPartnerInsights(LinkTokenCreateRequestCreditPartnerInsights creditPartnerInsights) { + + this.creditPartnerInsights = creditPartnerInsights; + return this; + } + + /** + * Get creditPartnerInsights + * @return creditPartnerInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestCreditPartnerInsights getCreditPartnerInsights() { + return creditPartnerInsights; + } + + + public void setCreditPartnerInsights(LinkTokenCreateRequestCreditPartnerInsights creditPartnerInsights) { + this.creditPartnerInsights = creditPartnerInsights; + } + + + public LinkTokenCreateRequest craOptions(LinkTokenCreateRequestCraOptions craOptions) { + + this.craOptions = craOptions; + return this; + } + + /** + * Get craOptions + * @return craOptions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestCraOptions getCraOptions() { + return craOptions; + } + + + public void setCraOptions(LinkTokenCreateRequestCraOptions craOptions) { + this.craOptions = craOptions; + } + + + public LinkTokenCreateRequest consumerReportPermissiblePurpose(ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose) { + + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + return this; + } + + /** + * Get consumerReportPermissiblePurpose + * @return consumerReportPermissiblePurpose + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ConsumerReportPermissiblePurpose getConsumerReportPermissiblePurpose() { + return consumerReportPermissiblePurpose; + } + + + public void setConsumerReportPermissiblePurpose(ConsumerReportPermissiblePurpose consumerReportPermissiblePurpose) { + this.consumerReportPermissiblePurpose = consumerReportPermissiblePurpose; + } + + + public LinkTokenCreateRequest auth(LinkTokenCreateRequestAuth auth) { + + this.auth = auth; + return this; + } + + /** + * Get auth + * @return auth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestAuth getAuth() { + return auth; + } + + + public void setAuth(LinkTokenCreateRequestAuth auth) { + this.auth = auth; + } + + + public LinkTokenCreateRequest transfer(LinkTokenCreateRequestTransfer transfer) { + + this.transfer = transfer; + return this; + } + + /** + * Get transfer + * @return transfer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestTransfer getTransfer() { + return transfer; + } + + + public void setTransfer(LinkTokenCreateRequestTransfer transfer) { + this.transfer = transfer; + } + + + public LinkTokenCreateRequest update(LinkTokenCreateRequestUpdate update) { + + this.update = update; + return this; + } + + /** + * Get update + * @return update + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestUpdate getUpdate() { + return update; + } + + + public void setUpdate(LinkTokenCreateRequestUpdate update) { + this.update = update; + } + + + public LinkTokenCreateRequest identityVerification(LinkTokenCreateRequestIdentityVerification identityVerification) { + + this.identityVerification = identityVerification; + return this; + } + + /** + * Get identityVerification + * @return identityVerification + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestIdentityVerification getIdentityVerification() { + return identityVerification; + } + + + public void setIdentityVerification(LinkTokenCreateRequestIdentityVerification identityVerification) { + this.identityVerification = identityVerification; + } + + + public LinkTokenCreateRequest statements(LinkTokenCreateRequestStatements statements) { + + this.statements = statements; + return this; + } + + /** + * Get statements + * @return statements + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestStatements getStatements() { + return statements; + } + + + public void setStatements(LinkTokenCreateRequestStatements statements) { + this.statements = statements; + } + + + public LinkTokenCreateRequest thirdPartyUserToken(String thirdPartyUserToken) { + + this.thirdPartyUserToken = thirdPartyUserToken; + return this; + } + + /** + * A third party user token associated with the current user. + * @return thirdPartyUserToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A third party user token associated with the current user.") + + public String getThirdPartyUserToken() { + return thirdPartyUserToken; + } + + + public void setThirdPartyUserToken(String thirdPartyUserToken) { + this.thirdPartyUserToken = thirdPartyUserToken; + } + + + public LinkTokenCreateRequest investments(LinkTokenInvestments investments) { + + this.investments = investments; + return this; + } + + /** + * Get investments + * @return investments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenInvestments getInvestments() { + return investments; + } + + + public void setInvestments(LinkTokenInvestments investments) { + this.investments = investments; + } + + + public LinkTokenCreateRequest investmentsAuth(LinkTokenInvestmentsAuth investmentsAuth) { + + this.investmentsAuth = investmentsAuth; + return this; + } + + /** + * Get investmentsAuth + * @return investmentsAuth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenInvestmentsAuth getInvestmentsAuth() { + return investmentsAuth; + } + + + public void setInvestmentsAuth(LinkTokenInvestmentsAuth investmentsAuth) { + this.investmentsAuth = investmentsAuth; + } + + + public LinkTokenCreateRequest hostedLink(LinkTokenCreateHostedLink hostedLink) { + + this.hostedLink = hostedLink; + return this; + } + + /** + * Get hostedLink + * @return hostedLink + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateHostedLink getHostedLink() { + return hostedLink; + } + + + public void setHostedLink(LinkTokenCreateHostedLink hostedLink) { + this.hostedLink = hostedLink; + } + + + public LinkTokenCreateRequest transactions(LinkTokenTransactions transactions) { + + this.transactions = transactions; + return this; + } + + /** + * Get transactions + * @return transactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenTransactions getTransactions() { + return transactions; + } + + + public void setTransactions(LinkTokenTransactions transactions) { + this.transactions = transactions; + } + + + public LinkTokenCreateRequest cashflowReport(LinkTokenCashflowReport cashflowReport) { + + this.cashflowReport = cashflowReport; + return this; + } + + /** + * Get cashflowReport + * @return cashflowReport + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCashflowReport getCashflowReport() { + return cashflowReport; + } + + + public void setCashflowReport(LinkTokenCashflowReport cashflowReport) { + this.cashflowReport = cashflowReport; + } + + + public LinkTokenCreateRequest craEnabled(Boolean craEnabled) { + + this.craEnabled = craEnabled; + return this; + } + + /** + * If `true`, request a CRA connection. Defaults to `false`. + * @return craEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, request a CRA connection. Defaults to `false`.") + + public Boolean getCraEnabled() { + return craEnabled; + } + + + public void setCraEnabled(Boolean craEnabled) { + this.craEnabled = craEnabled; + } + + + public LinkTokenCreateRequest identity(LinkTokenCreateIdentity identity) { + + this.identity = identity; + return this; + } + + /** + * Get identity + * @return identity + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateIdentity getIdentity() { + return identity; + } + + + public void setIdentity(LinkTokenCreateIdentity identity) { + this.identity = identity; + } + + + public LinkTokenCreateRequest financekitSupported(Boolean financekitSupported) { + + this.financekitSupported = financekitSupported; + return this; + } + + /** + * If `true`, indicates that client supports linking FinanceKit / AppleCard items. Defaults to `false`. + * @return financekitSupported + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, indicates that client supports linking FinanceKit / AppleCard items. Defaults to `false`.") + + public Boolean getFinancekitSupported() { + return financekitSupported; + } + + + public void setFinancekitSupported(Boolean financekitSupported) { + this.financekitSupported = financekitSupported; + } + + + public LinkTokenCreateRequest enableMultiItemLink(Boolean enableMultiItemLink) { + + this.enableMultiItemLink = enableMultiItemLink; + return this; + } + + /** + * If `true`, enable linking multiple items in the same Link session. Defaults to `false`. + * @return enableMultiItemLink + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, enable linking multiple items in the same Link session. Defaults to `false`.") + + public Boolean getEnableMultiItemLink() { + return enableMultiItemLink; + } + + + public void setEnableMultiItemLink(Boolean enableMultiItemLink) { + this.enableMultiItemLink = enableMultiItemLink; + } + + + public LinkTokenCreateRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * A user token generated using `/user/create`. Any Item created during the Link session will be associated with the user. Integrations that began using Plaid Protect, Multi-Item Link, or Plaid Check Consumer Report before December 10, 2025 use this field instead of the `user_id`. + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A user token generated using `/user/create`. Any Item created during the Link session will be associated with the user. Integrations that began using Plaid Protect, Multi-Item Link, or Plaid Check Consumer Report before December 10, 2025 use this field instead of the `user_id`.") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequest linkTokenCreateRequest = (LinkTokenCreateRequest) o; + return Objects.equals(this.clientId, linkTokenCreateRequest.clientId) && + Objects.equals(this.secret, linkTokenCreateRequest.secret) && + Objects.equals(this.clientName, linkTokenCreateRequest.clientName) && + Objects.equals(this.language, linkTokenCreateRequest.language) && + Objects.equals(this.countryCodes, linkTokenCreateRequest.countryCodes) && + Objects.equals(this.user, linkTokenCreateRequest.user) && + Objects.equals(this.userId, linkTokenCreateRequest.userId) && + Objects.equals(this.products, linkTokenCreateRequest.products) && + Objects.equals(this.requiredIfSupportedProducts, linkTokenCreateRequest.requiredIfSupportedProducts) && + Objects.equals(this.optionalProducts, linkTokenCreateRequest.optionalProducts) && + Objects.equals(this.additionalConsentedProducts, linkTokenCreateRequest.additionalConsentedProducts) && + Objects.equals(this.webhook, linkTokenCreateRequest.webhook) && + Objects.equals(this.accessToken, linkTokenCreateRequest.accessToken) && + Objects.equals(this.accessTokens, linkTokenCreateRequest.accessTokens) && + Objects.equals(this.linkCustomizationName, linkTokenCreateRequest.linkCustomizationName) && + Objects.equals(this.appearanceMode, linkTokenCreateRequest.appearanceMode) && + Objects.equals(this.redirectUri, linkTokenCreateRequest.redirectUri) && + Objects.equals(this.androidPackageName, linkTokenCreateRequest.androidPackageName) && + Objects.equals(this.institutionData, linkTokenCreateRequest.institutionData) && + Objects.equals(this.cardSwitch, linkTokenCreateRequest.cardSwitch) && + Objects.equals(this.accountFilters, linkTokenCreateRequest.accountFilters) && + Objects.equals(this.euConfig, linkTokenCreateRequest.euConfig) && + Objects.equals(this.institutionId, linkTokenCreateRequest.institutionId) && + Objects.equals(this.paymentConfiguration, linkTokenCreateRequest.paymentConfiguration) && + Objects.equals(this.paymentInitiation, linkTokenCreateRequest.paymentInitiation) && + Objects.equals(this.employment, linkTokenCreateRequest.employment) && + Objects.equals(this.incomeVerification, linkTokenCreateRequest.incomeVerification) && + Objects.equals(this.baseReport, linkTokenCreateRequest.baseReport) && + Objects.equals(this.creditPartnerInsights, linkTokenCreateRequest.creditPartnerInsights) && + Objects.equals(this.craOptions, linkTokenCreateRequest.craOptions) && + Objects.equals(this.consumerReportPermissiblePurpose, linkTokenCreateRequest.consumerReportPermissiblePurpose) && + Objects.equals(this.auth, linkTokenCreateRequest.auth) && + Objects.equals(this.transfer, linkTokenCreateRequest.transfer) && + Objects.equals(this.update, linkTokenCreateRequest.update) && + Objects.equals(this.identityVerification, linkTokenCreateRequest.identityVerification) && + Objects.equals(this.statements, linkTokenCreateRequest.statements) && + Objects.equals(this.thirdPartyUserToken, linkTokenCreateRequest.thirdPartyUserToken) && + Objects.equals(this.investments, linkTokenCreateRequest.investments) && + Objects.equals(this.investmentsAuth, linkTokenCreateRequest.investmentsAuth) && + Objects.equals(this.hostedLink, linkTokenCreateRequest.hostedLink) && + Objects.equals(this.transactions, linkTokenCreateRequest.transactions) && + Objects.equals(this.cashflowReport, linkTokenCreateRequest.cashflowReport) && + Objects.equals(this.craEnabled, linkTokenCreateRequest.craEnabled) && + Objects.equals(this.identity, linkTokenCreateRequest.identity) && + Objects.equals(this.financekitSupported, linkTokenCreateRequest.financekitSupported) && + Objects.equals(this.enableMultiItemLink, linkTokenCreateRequest.enableMultiItemLink) && + Objects.equals(this.userToken, linkTokenCreateRequest.userToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, clientName, language, countryCodes, user, userId, products, requiredIfSupportedProducts, optionalProducts, additionalConsentedProducts, webhook, accessToken, accessTokens, linkCustomizationName, appearanceMode, redirectUri, androidPackageName, institutionData, cardSwitch, accountFilters, euConfig, institutionId, paymentConfiguration, paymentInitiation, employment, incomeVerification, baseReport, creditPartnerInsights, craOptions, consumerReportPermissiblePurpose, auth, transfer, update, identityVerification, statements, thirdPartyUserToken, investments, investmentsAuth, hostedLink, transactions, cashflowReport, craEnabled, identity, financekitSupported, enableMultiItemLink, userToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientName: ").append(toIndentedString(clientName)).append("\n"); + sb.append(" language: ").append(toIndentedString(language)).append("\n"); + sb.append(" countryCodes: ").append(toIndentedString(countryCodes)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append(" requiredIfSupportedProducts: ").append(toIndentedString(requiredIfSupportedProducts)).append("\n"); + sb.append(" optionalProducts: ").append(toIndentedString(optionalProducts)).append("\n"); + sb.append(" additionalConsentedProducts: ").append(toIndentedString(additionalConsentedProducts)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accessTokens: ").append(toIndentedString(accessTokens)).append("\n"); + sb.append(" linkCustomizationName: ").append(toIndentedString(linkCustomizationName)).append("\n"); + sb.append(" appearanceMode: ").append(toIndentedString(appearanceMode)).append("\n"); + sb.append(" redirectUri: ").append(toIndentedString(redirectUri)).append("\n"); + sb.append(" androidPackageName: ").append(toIndentedString(androidPackageName)).append("\n"); + sb.append(" institutionData: ").append(toIndentedString(institutionData)).append("\n"); + sb.append(" cardSwitch: ").append(toIndentedString(cardSwitch)).append("\n"); + sb.append(" accountFilters: ").append(toIndentedString(accountFilters)).append("\n"); + sb.append(" euConfig: ").append(toIndentedString(euConfig)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" paymentConfiguration: ").append(toIndentedString(paymentConfiguration)).append("\n"); + sb.append(" paymentInitiation: ").append(toIndentedString(paymentInitiation)).append("\n"); + sb.append(" employment: ").append(toIndentedString(employment)).append("\n"); + sb.append(" incomeVerification: ").append(toIndentedString(incomeVerification)).append("\n"); + sb.append(" baseReport: ").append(toIndentedString(baseReport)).append("\n"); + sb.append(" creditPartnerInsights: ").append(toIndentedString(creditPartnerInsights)).append("\n"); + sb.append(" craOptions: ").append(toIndentedString(craOptions)).append("\n"); + sb.append(" consumerReportPermissiblePurpose: ").append(toIndentedString(consumerReportPermissiblePurpose)).append("\n"); + sb.append(" auth: ").append(toIndentedString(auth)).append("\n"); + sb.append(" transfer: ").append(toIndentedString(transfer)).append("\n"); + sb.append(" update: ").append(toIndentedString(update)).append("\n"); + sb.append(" identityVerification: ").append(toIndentedString(identityVerification)).append("\n"); + sb.append(" statements: ").append(toIndentedString(statements)).append("\n"); + sb.append(" thirdPartyUserToken: ").append(toIndentedString(thirdPartyUserToken)).append("\n"); + sb.append(" investments: ").append(toIndentedString(investments)).append("\n"); + sb.append(" investmentsAuth: ").append(toIndentedString(investmentsAuth)).append("\n"); + sb.append(" hostedLink: ").append(toIndentedString(hostedLink)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" cashflowReport: ").append(toIndentedString(cashflowReport)).append("\n"); + sb.append(" craEnabled: ").append(toIndentedString(craEnabled)).append("\n"); + sb.append(" identity: ").append(toIndentedString(identity)).append("\n"); + sb.append(" financekitSupported: ").append(toIndentedString(financekitSupported)).append("\n"); + sb.append(" enableMultiItemLink: ").append(toIndentedString(enableMultiItemLink)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestAccountSubtypes.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestAccountSubtypes.java new file mode 100644 index 0000000000..008f83e4f1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestAccountSubtypes.java @@ -0,0 +1,190 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkTokenCreateCreditFilter; +import com.plaid.client.model.LinkTokenCreateDepositoryFilter; +import com.plaid.client.model.LinkTokenCreateInvestmentFilter; +import com.plaid.client.model.LinkTokenCreateLoanFilter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * By default, Link will only display account types that are compatible with all products supplied in the `products` parameter of `/link/token/create`. You can further limit the accounts shown in Link by using `account_filters` to specify the account subtypes to be shown in Link. Only the specified subtypes will be shown. This filtering applies to both the Account Select view (if enabled) and the Institution Select view. Institutions that do not support the selected subtypes will be omitted from Link. To indicate that all subtypes should be shown, use the value `\"all\"`. If the `account_filters` filter is used, any account type for which a filter is not specified will be entirely omitted from Link. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). For institutions using OAuth, the filter will not affect the list of institutions or accounts shown by the bank in the OAuth window. + */ +@ApiModel(description = "By default, Link will only display account types that are compatible with all products supplied in the `products` parameter of `/link/token/create`. You can further limit the accounts shown in Link by using `account_filters` to specify the account subtypes to be shown in Link. Only the specified subtypes will be shown. This filtering applies to both the Account Select view (if enabled) and the Institution Select view. Institutions that do not support the selected subtypes will be omitted from Link. To indicate that all subtypes should be shown, use the value `\"all\"`. If the `account_filters` filter is used, any account type for which a filter is not specified will be entirely omitted from Link. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). For institutions using OAuth, the filter will not affect the list of institutions or accounts shown by the bank in the OAuth window. ") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestAccountSubtypes { + public static final String SERIALIZED_NAME_DEPOSITORY = "depository"; + @SerializedName(SERIALIZED_NAME_DEPOSITORY) + private LinkTokenCreateDepositoryFilter depository; + + public static final String SERIALIZED_NAME_CREDIT = "credit"; + @SerializedName(SERIALIZED_NAME_CREDIT) + private LinkTokenCreateCreditFilter credit; + + public static final String SERIALIZED_NAME_LOAN = "loan"; + @SerializedName(SERIALIZED_NAME_LOAN) + private LinkTokenCreateLoanFilter loan; + + public static final String SERIALIZED_NAME_INVESTMENT = "investment"; + @SerializedName(SERIALIZED_NAME_INVESTMENT) + private LinkTokenCreateInvestmentFilter investment; + + + public LinkTokenCreateRequestAccountSubtypes depository(LinkTokenCreateDepositoryFilter depository) { + + this.depository = depository; + return this; + } + + /** + * Get depository + * @return depository + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateDepositoryFilter getDepository() { + return depository; + } + + + public void setDepository(LinkTokenCreateDepositoryFilter depository) { + this.depository = depository; + } + + + public LinkTokenCreateRequestAccountSubtypes credit(LinkTokenCreateCreditFilter credit) { + + this.credit = credit; + return this; + } + + /** + * Get credit + * @return credit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateCreditFilter getCredit() { + return credit; + } + + + public void setCredit(LinkTokenCreateCreditFilter credit) { + this.credit = credit; + } + + + public LinkTokenCreateRequestAccountSubtypes loan(LinkTokenCreateLoanFilter loan) { + + this.loan = loan; + return this; + } + + /** + * Get loan + * @return loan + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateLoanFilter getLoan() { + return loan; + } + + + public void setLoan(LinkTokenCreateLoanFilter loan) { + this.loan = loan; + } + + + public LinkTokenCreateRequestAccountSubtypes investment(LinkTokenCreateInvestmentFilter investment) { + + this.investment = investment; + return this; + } + + /** + * Get investment + * @return investment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateInvestmentFilter getInvestment() { + return investment; + } + + + public void setInvestment(LinkTokenCreateInvestmentFilter investment) { + this.investment = investment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestAccountSubtypes linkTokenCreateRequestAccountSubtypes = (LinkTokenCreateRequestAccountSubtypes) o; + return Objects.equals(this.depository, linkTokenCreateRequestAccountSubtypes.depository) && + Objects.equals(this.credit, linkTokenCreateRequestAccountSubtypes.credit) && + Objects.equals(this.loan, linkTokenCreateRequestAccountSubtypes.loan) && + Objects.equals(this.investment, linkTokenCreateRequestAccountSubtypes.investment); + } + + @Override + public int hashCode() { + return Objects.hash(depository, credit, loan, investment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestAccountSubtypes {\n"); + sb.append(" depository: ").append(toIndentedString(depository)).append("\n"); + sb.append(" credit: ").append(toIndentedString(credit)).append("\n"); + sb.append(" loan: ").append(toIndentedString(loan)).append("\n"); + sb.append(" investment: ").append(toIndentedString(investment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestAppearanceMode.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestAppearanceMode.java new file mode 100644 index 0000000000..5a7c306604 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestAppearanceMode.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Enum representing the desired appearance mode for Link, used to force light or dark modes or set Link to change depending on user system settings. Currently in closed beta. + */ +@JsonAdapter(LinkTokenCreateRequestAppearanceMode.Adapter.class) +public enum LinkTokenCreateRequestAppearanceMode { + + LIGHT("LIGHT"), + + DARK("DARK"), + + SYSTEM("SYSTEM"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + LinkTokenCreateRequestAppearanceMode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LinkTokenCreateRequestAppearanceMode fromValue(String value) { + for (LinkTokenCreateRequestAppearanceMode b : LinkTokenCreateRequestAppearanceMode.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final LinkTokenCreateRequestAppearanceMode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LinkTokenCreateRequestAppearanceMode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LinkTokenCreateRequestAppearanceMode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestAuth.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestAuth.java new file mode 100644 index 0000000000..d0d7b69bb6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestAuth.java @@ -0,0 +1,454 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with the Auth product. This field can be used to enable or disable extended Auth flows for the resulting Link session. Omitting any field will result in a default that can be configured by your account manager. The default behavior described in the documentation is the default behavior that will apply if you have not requested your account manager to apply a different default. If you have enabled the [Dashboard Account Verification pane](https://dashboard.plaid.com/account-verification), the settings enabled there will override any settings in this object. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the Auth product. This field can be used to enable or disable extended Auth flows for the resulting Link session. Omitting any field will result in a default that can be configured by your account manager. The default behavior described in the documentation is the default behavior that will apply if you have not requested your account manager to apply a different default. If you have enabled the [Dashboard Account Verification pane](https://dashboard.plaid.com/account-verification), the settings enabled there will override any settings in this object.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestAuth { + public static final String SERIALIZED_NAME_AUTH_TYPE_SELECT_ENABLED = "auth_type_select_enabled"; + @SerializedName(SERIALIZED_NAME_AUTH_TYPE_SELECT_ENABLED) + private Boolean authTypeSelectEnabled; + + public static final String SERIALIZED_NAME_AUTOMATED_MICRODEPOSITS_ENABLED = "automated_microdeposits_enabled"; + @SerializedName(SERIALIZED_NAME_AUTOMATED_MICRODEPOSITS_ENABLED) + private Boolean automatedMicrodepositsEnabled; + + public static final String SERIALIZED_NAME_INSTANT_MATCH_ENABLED = "instant_match_enabled"; + @SerializedName(SERIALIZED_NAME_INSTANT_MATCH_ENABLED) + private Boolean instantMatchEnabled; + + public static final String SERIALIZED_NAME_SAME_DAY_MICRODEPOSITS_ENABLED = "same_day_microdeposits_enabled"; + @SerializedName(SERIALIZED_NAME_SAME_DAY_MICRODEPOSITS_ENABLED) + private Boolean sameDayMicrodepositsEnabled; + + public static final String SERIALIZED_NAME_INSTANT_MICRODEPOSITS_ENABLED = "instant_microdeposits_enabled"; + @SerializedName(SERIALIZED_NAME_INSTANT_MICRODEPOSITS_ENABLED) + private Boolean instantMicrodepositsEnabled; + + /** + * Specifies what type of [Reroute to Credentials](https://plaid.com/docs/auth/coverage/flow-options/#removing-manual-verification-entry-points-with-reroute-to-credentials) pane should be used in the Link session for the Same-Day Micro-deposits flow. Default behavior is `OPTIONAL`. + */ + @JsonAdapter(RerouteToCredentialsEnum.Adapter.class) + public enum RerouteToCredentialsEnum { + OFF("OFF"), + + OPTIONAL("OPTIONAL"), + + FORCED("FORCED"); + + private String value; + + RerouteToCredentialsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RerouteToCredentialsEnum fromValue(String value) { + for (RerouteToCredentialsEnum b : RerouteToCredentialsEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RerouteToCredentialsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RerouteToCredentialsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RerouteToCredentialsEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_REROUTE_TO_CREDENTIALS = "reroute_to_credentials"; + @SerializedName(SERIALIZED_NAME_REROUTE_TO_CREDENTIALS) + private RerouteToCredentialsEnum rerouteToCredentials; + + public static final String SERIALIZED_NAME_DATABASE_MATCH_ENABLED = "database_match_enabled"; + @SerializedName(SERIALIZED_NAME_DATABASE_MATCH_ENABLED) + private Boolean databaseMatchEnabled; + + public static final String SERIALIZED_NAME_DATABASE_INSIGHTS_ENABLED = "database_insights_enabled"; + @SerializedName(SERIALIZED_NAME_DATABASE_INSIGHTS_ENABLED) + private Boolean databaseInsightsEnabled; + + /** + * This field has been deprecated in favor of `auth_type_select_enabled`. + */ + @JsonAdapter(FlowTypeEnum.Adapter.class) + public enum FlowTypeEnum { + FLEXIBLE_AUTH("FLEXIBLE_AUTH"); + + private String value; + + FlowTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FlowTypeEnum fromValue(String value) { + for (FlowTypeEnum b : FlowTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FlowTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FlowTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FlowTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_FLOW_TYPE = "flow_type"; + @SerializedName(SERIALIZED_NAME_FLOW_TYPE) + private FlowTypeEnum flowType; + + public static final String SERIALIZED_NAME_SMS_MICRODEPOSITS_VERIFICATION_ENABLED = "sms_microdeposits_verification_enabled"; + @SerializedName(SERIALIZED_NAME_SMS_MICRODEPOSITS_VERIFICATION_ENABLED) + private Boolean smsMicrodepositsVerificationEnabled; + + + public LinkTokenCreateRequestAuth authTypeSelectEnabled(Boolean authTypeSelectEnabled) { + + this.authTypeSelectEnabled = authTypeSelectEnabled; + return this; + } + + /** + * Specifies whether Auth Type Select is enabled for the Link session, allowing the end user to choose between linking via a credentials-based flow (i.e. Instant Auth, Instant Match, Automated Micro-deposits) or a manual flow that does not require login (all other Auth flows) prior to selecting their financial institution. Default behavior is `false`. + * @return authTypeSelectEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies whether Auth Type Select is enabled for the Link session, allowing the end user to choose between linking via a credentials-based flow (i.e. Instant Auth, Instant Match, Automated Micro-deposits) or a manual flow that does not require login (all other Auth flows) prior to selecting their financial institution. Default behavior is `false`.") + + public Boolean getAuthTypeSelectEnabled() { + return authTypeSelectEnabled; + } + + + public void setAuthTypeSelectEnabled(Boolean authTypeSelectEnabled) { + this.authTypeSelectEnabled = authTypeSelectEnabled; + } + + + public LinkTokenCreateRequestAuth automatedMicrodepositsEnabled(Boolean automatedMicrodepositsEnabled) { + + this.automatedMicrodepositsEnabled = automatedMicrodepositsEnabled; + return this; + } + + /** + * Specifies whether the Link session is enabled for the Automated Micro-deposits flow. Default behavior is `false`. + * @return automatedMicrodepositsEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies whether the Link session is enabled for the Automated Micro-deposits flow. Default behavior is `false`.") + + public Boolean getAutomatedMicrodepositsEnabled() { + return automatedMicrodepositsEnabled; + } + + + public void setAutomatedMicrodepositsEnabled(Boolean automatedMicrodepositsEnabled) { + this.automatedMicrodepositsEnabled = automatedMicrodepositsEnabled; + } + + + public LinkTokenCreateRequestAuth instantMatchEnabled(Boolean instantMatchEnabled) { + + this.instantMatchEnabled = instantMatchEnabled; + return this; + } + + /** + * Specifies whether the Link session is enabled for the Instant Match flow. Instant Match is enabled by default. Instant Match can be disabled by setting this field to `false`. + * @return instantMatchEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies whether the Link session is enabled for the Instant Match flow. Instant Match is enabled by default. Instant Match can be disabled by setting this field to `false`.") + + public Boolean getInstantMatchEnabled() { + return instantMatchEnabled; + } + + + public void setInstantMatchEnabled(Boolean instantMatchEnabled) { + this.instantMatchEnabled = instantMatchEnabled; + } + + + public LinkTokenCreateRequestAuth sameDayMicrodepositsEnabled(Boolean sameDayMicrodepositsEnabled) { + + this.sameDayMicrodepositsEnabled = sameDayMicrodepositsEnabled; + return this; + } + + /** + * Specifies whether the Link session is enabled for the Same-Day Micro-deposits flow. Default behavior is `false`. + * @return sameDayMicrodepositsEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies whether the Link session is enabled for the Same-Day Micro-deposits flow. Default behavior is `false`.") + + public Boolean getSameDayMicrodepositsEnabled() { + return sameDayMicrodepositsEnabled; + } + + + public void setSameDayMicrodepositsEnabled(Boolean sameDayMicrodepositsEnabled) { + this.sameDayMicrodepositsEnabled = sameDayMicrodepositsEnabled; + } + + + public LinkTokenCreateRequestAuth instantMicrodepositsEnabled(Boolean instantMicrodepositsEnabled) { + + this.instantMicrodepositsEnabled = instantMicrodepositsEnabled; + return this; + } + + /** + * Specifies whether the Link session is enabled for the Instant Micro-deposits flow. Default behavior for Plaid teams created after November 2023 is `false`; default behavior for Plaid teams created before that date is `true`. + * @return instantMicrodepositsEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies whether the Link session is enabled for the Instant Micro-deposits flow. Default behavior for Plaid teams created after November 2023 is `false`; default behavior for Plaid teams created before that date is `true`.") + + public Boolean getInstantMicrodepositsEnabled() { + return instantMicrodepositsEnabled; + } + + + public void setInstantMicrodepositsEnabled(Boolean instantMicrodepositsEnabled) { + this.instantMicrodepositsEnabled = instantMicrodepositsEnabled; + } + + + public LinkTokenCreateRequestAuth rerouteToCredentials(RerouteToCredentialsEnum rerouteToCredentials) { + + this.rerouteToCredentials = rerouteToCredentials; + return this; + } + + /** + * Specifies what type of [Reroute to Credentials](https://plaid.com/docs/auth/coverage/flow-options/#removing-manual-verification-entry-points-with-reroute-to-credentials) pane should be used in the Link session for the Same-Day Micro-deposits flow. Default behavior is `OPTIONAL`. + * @return rerouteToCredentials + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies what type of [Reroute to Credentials](https://plaid.com/docs/auth/coverage/flow-options/#removing-manual-verification-entry-points-with-reroute-to-credentials) pane should be used in the Link session for the Same-Day Micro-deposits flow. Default behavior is `OPTIONAL`.") + + public RerouteToCredentialsEnum getRerouteToCredentials() { + return rerouteToCredentials; + } + + + public void setRerouteToCredentials(RerouteToCredentialsEnum rerouteToCredentials) { + this.rerouteToCredentials = rerouteToCredentials; + } + + + public LinkTokenCreateRequestAuth databaseMatchEnabled(Boolean databaseMatchEnabled) { + + this.databaseMatchEnabled = databaseMatchEnabled; + return this; + } + + /** + * Database Match has been deprecated and replaced with Database Auth. Use the [Account Verification Dashboard](https://dashboard.plaid.com/account-verification) to enable Database Auth. + * @return databaseMatchEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Database Match has been deprecated and replaced with Database Auth. Use the [Account Verification Dashboard](https://dashboard.plaid.com/account-verification) to enable Database Auth.") + + public Boolean getDatabaseMatchEnabled() { + return databaseMatchEnabled; + } + + + public void setDatabaseMatchEnabled(Boolean databaseMatchEnabled) { + this.databaseMatchEnabled = databaseMatchEnabled; + } + + + public LinkTokenCreateRequestAuth databaseInsightsEnabled(Boolean databaseInsightsEnabled) { + + this.databaseInsightsEnabled = databaseInsightsEnabled; + return this; + } + + /** + * Database Insights has been deprecated and replaced with Database Auth. Use the [Account Verification Dashboard](https://dashboard.plaid.com/account-verification) to enable Database Auth. In Canada, Database Auth is in early availability and cannot yet be managed via the Dashboard; it must be enabled by passing `database_insights_enabled: true` in `/link/token/create`. + * @return databaseInsightsEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Database Insights has been deprecated and replaced with Database Auth. Use the [Account Verification Dashboard](https://dashboard.plaid.com/account-verification) to enable Database Auth. In Canada, Database Auth is in early availability and cannot yet be managed via the Dashboard; it must be enabled by passing `database_insights_enabled: true` in `/link/token/create`.") + + public Boolean getDatabaseInsightsEnabled() { + return databaseInsightsEnabled; + } + + + public void setDatabaseInsightsEnabled(Boolean databaseInsightsEnabled) { + this.databaseInsightsEnabled = databaseInsightsEnabled; + } + + + public LinkTokenCreateRequestAuth flowType(FlowTypeEnum flowType) { + + this.flowType = flowType; + return this; + } + + /** + * This field has been deprecated in favor of `auth_type_select_enabled`. + * @return flowType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "This field has been deprecated in favor of `auth_type_select_enabled`.") + + public FlowTypeEnum getFlowType() { + return flowType; + } + + + public void setFlowType(FlowTypeEnum flowType) { + this.flowType = flowType; + } + + + public LinkTokenCreateRequestAuth smsMicrodepositsVerificationEnabled(Boolean smsMicrodepositsVerificationEnabled) { + + this.smsMicrodepositsVerificationEnabled = smsMicrodepositsVerificationEnabled; + return this; + } + + /** + * Specifies whether the Link session is enabled for SMS micro-deposits verification. Default behavior is `true`. + * @return smsMicrodepositsVerificationEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifies whether the Link session is enabled for SMS micro-deposits verification. Default behavior is `true`.") + + public Boolean getSmsMicrodepositsVerificationEnabled() { + return smsMicrodepositsVerificationEnabled; + } + + + public void setSmsMicrodepositsVerificationEnabled(Boolean smsMicrodepositsVerificationEnabled) { + this.smsMicrodepositsVerificationEnabled = smsMicrodepositsVerificationEnabled; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestAuth linkTokenCreateRequestAuth = (LinkTokenCreateRequestAuth) o; + return Objects.equals(this.authTypeSelectEnabled, linkTokenCreateRequestAuth.authTypeSelectEnabled) && + Objects.equals(this.automatedMicrodepositsEnabled, linkTokenCreateRequestAuth.automatedMicrodepositsEnabled) && + Objects.equals(this.instantMatchEnabled, linkTokenCreateRequestAuth.instantMatchEnabled) && + Objects.equals(this.sameDayMicrodepositsEnabled, linkTokenCreateRequestAuth.sameDayMicrodepositsEnabled) && + Objects.equals(this.instantMicrodepositsEnabled, linkTokenCreateRequestAuth.instantMicrodepositsEnabled) && + Objects.equals(this.rerouteToCredentials, linkTokenCreateRequestAuth.rerouteToCredentials) && + Objects.equals(this.databaseMatchEnabled, linkTokenCreateRequestAuth.databaseMatchEnabled) && + Objects.equals(this.databaseInsightsEnabled, linkTokenCreateRequestAuth.databaseInsightsEnabled) && + Objects.equals(this.flowType, linkTokenCreateRequestAuth.flowType) && + Objects.equals(this.smsMicrodepositsVerificationEnabled, linkTokenCreateRequestAuth.smsMicrodepositsVerificationEnabled); + } + + @Override + public int hashCode() { + return Objects.hash(authTypeSelectEnabled, automatedMicrodepositsEnabled, instantMatchEnabled, sameDayMicrodepositsEnabled, instantMicrodepositsEnabled, rerouteToCredentials, databaseMatchEnabled, databaseInsightsEnabled, flowType, smsMicrodepositsVerificationEnabled); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestAuth {\n"); + sb.append(" authTypeSelectEnabled: ").append(toIndentedString(authTypeSelectEnabled)).append("\n"); + sb.append(" automatedMicrodepositsEnabled: ").append(toIndentedString(automatedMicrodepositsEnabled)).append("\n"); + sb.append(" instantMatchEnabled: ").append(toIndentedString(instantMatchEnabled)).append("\n"); + sb.append(" sameDayMicrodepositsEnabled: ").append(toIndentedString(sameDayMicrodepositsEnabled)).append("\n"); + sb.append(" instantMicrodepositsEnabled: ").append(toIndentedString(instantMicrodepositsEnabled)).append("\n"); + sb.append(" rerouteToCredentials: ").append(toIndentedString(rerouteToCredentials)).append("\n"); + sb.append(" databaseMatchEnabled: ").append(toIndentedString(databaseMatchEnabled)).append("\n"); + sb.append(" databaseInsightsEnabled: ").append(toIndentedString(databaseInsightsEnabled)).append("\n"); + sb.append(" flowType: ").append(toIndentedString(flowType)).append("\n"); + sb.append(" smsMicrodepositsVerificationEnabled: ").append(toIndentedString(smsMicrodepositsVerificationEnabled)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestBaseReport.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestBaseReport.java new file mode 100644 index 0000000000..9613aeb7be --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestBaseReport.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with the Base Report product. This field is required if `assets` is included in the `products` array and the client is CRA-enabled. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the Base Report product. This field is required if `assets` is included in the `products` array and the client is CRA-enabled.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestBaseReport { + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + + public LinkTokenCreateRequestBaseReport daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The maximum integer number of days of history to include in the Base Report. + * minimum: 1 + * maximum: 730 + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The maximum integer number of days of history to include in the Base Report.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + public LinkTokenCreateRequestBaseReport clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * Client-generated identifier, which can be used by lenders to track loan applications. + * @return clientReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client-generated identifier, which can be used by lenders to track loan applications.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestBaseReport linkTokenCreateRequestBaseReport = (LinkTokenCreateRequestBaseReport) o; + return Objects.equals(this.daysRequested, linkTokenCreateRequestBaseReport.daysRequested) && + Objects.equals(this.clientReportId, linkTokenCreateRequestBaseReport.clientReportId); + } + + @Override + public int hashCode() { + return Objects.hash(daysRequested, clientReportId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestBaseReport {\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptions.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptions.java new file mode 100644 index 0000000000..40b7db397e --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptions.java @@ -0,0 +1,367 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkTokenCreateRequestCraOptionsBaseReport; +import com.plaid.client.model.LinkTokenCreateRequestCraOptionsCashflowInsights; +import com.plaid.client.model.LinkTokenCreateRequestCraOptionsIncomeInsights; +import com.plaid.client.model.LinkTokenCreateRequestCraOptionsLendScore; +import com.plaid.client.model.LinkTokenCreateRequestCraOptionsNetworkInsights; +import com.plaid.client.model.LinkTokenCreateRequestCraOptionsPartnerInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with Plaid Check products + */ +@ApiModel(description = "Specifies options for initializing Link for use with Plaid Check products") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestCraOptions { + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + public static final String SERIALIZED_NAME_DAYS_REQUIRED = "days_required"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUIRED) + private Integer daysRequired; + + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + public static final String SERIALIZED_NAME_PARTNER_INSIGHTS = "partner_insights"; + @SerializedName(SERIALIZED_NAME_PARTNER_INSIGHTS) + private LinkTokenCreateRequestCraOptionsPartnerInsights partnerInsights; + + public static final String SERIALIZED_NAME_BASE_REPORT = "base_report"; + @SerializedName(SERIALIZED_NAME_BASE_REPORT) + private LinkTokenCreateRequestCraOptionsBaseReport baseReport; + + public static final String SERIALIZED_NAME_CASHFLOW_INSIGHTS = "cashflow_insights"; + @SerializedName(SERIALIZED_NAME_CASHFLOW_INSIGHTS) + private LinkTokenCreateRequestCraOptionsCashflowInsights cashflowInsights; + + public static final String SERIALIZED_NAME_LEND_SCORE = "lend_score"; + @SerializedName(SERIALIZED_NAME_LEND_SCORE) + private LinkTokenCreateRequestCraOptionsLendScore lendScore; + + public static final String SERIALIZED_NAME_NETWORK_INSIGHTS = "network_insights"; + @SerializedName(SERIALIZED_NAME_NETWORK_INSIGHTS) + private LinkTokenCreateRequestCraOptionsNetworkInsights networkInsights; + + public static final String SERIALIZED_NAME_INCLUDE_INVESTMENTS = "include_investments"; + @SerializedName(SERIALIZED_NAME_INCLUDE_INVESTMENTS) + private Boolean includeInvestments; + + public static final String SERIALIZED_NAME_INCOME_INSIGHTS = "income_insights"; + @SerializedName(SERIALIZED_NAME_INCOME_INSIGHTS) + private LinkTokenCreateRequestCraOptionsIncomeInsights incomeInsights; + + + public LinkTokenCreateRequestCraOptions daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days of history to include in Plaid Check products. Maximum is 731; minimum is 180. If a value lower than 180 is provided, a minimum of 180 days of history will be requested. + * maximum: 731 + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The number of days of history to include in Plaid Check products. Maximum is 731; minimum is 180. If a value lower than 180 is provided, a minimum of 180 days of history will be requested.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + public LinkTokenCreateRequestCraOptions daysRequired(Integer daysRequired) { + + this.daysRequired = daysRequired; + return this; + } + + /** + * The minimum number of days of data required for the report to be successfully generated. + * maximum: 184 + * @return daysRequired + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The minimum number of days of data required for the report to be successfully generated.") + + public Integer getDaysRequired() { + return daysRequired; + } + + + public void setDaysRequired(Integer daysRequired) { + this.daysRequired = daysRequired; + } + + + public LinkTokenCreateRequestCraOptions clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * Client-generated identifier, which can be used by lenders to track loan applications. + * @return clientReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client-generated identifier, which can be used by lenders to track loan applications.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + public LinkTokenCreateRequestCraOptions partnerInsights(LinkTokenCreateRequestCraOptionsPartnerInsights partnerInsights) { + + this.partnerInsights = partnerInsights; + return this; + } + + /** + * Get partnerInsights + * @return partnerInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestCraOptionsPartnerInsights getPartnerInsights() { + return partnerInsights; + } + + + public void setPartnerInsights(LinkTokenCreateRequestCraOptionsPartnerInsights partnerInsights) { + this.partnerInsights = partnerInsights; + } + + + public LinkTokenCreateRequestCraOptions baseReport(LinkTokenCreateRequestCraOptionsBaseReport baseReport) { + + this.baseReport = baseReport; + return this; + } + + /** + * Get baseReport + * @return baseReport + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestCraOptionsBaseReport getBaseReport() { + return baseReport; + } + + + public void setBaseReport(LinkTokenCreateRequestCraOptionsBaseReport baseReport) { + this.baseReport = baseReport; + } + + + public LinkTokenCreateRequestCraOptions cashflowInsights(LinkTokenCreateRequestCraOptionsCashflowInsights cashflowInsights) { + + this.cashflowInsights = cashflowInsights; + return this; + } + + /** + * Get cashflowInsights + * @return cashflowInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestCraOptionsCashflowInsights getCashflowInsights() { + return cashflowInsights; + } + + + public void setCashflowInsights(LinkTokenCreateRequestCraOptionsCashflowInsights cashflowInsights) { + this.cashflowInsights = cashflowInsights; + } + + + public LinkTokenCreateRequestCraOptions lendScore(LinkTokenCreateRequestCraOptionsLendScore lendScore) { + + this.lendScore = lendScore; + return this; + } + + /** + * Get lendScore + * @return lendScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestCraOptionsLendScore getLendScore() { + return lendScore; + } + + + public void setLendScore(LinkTokenCreateRequestCraOptionsLendScore lendScore) { + this.lendScore = lendScore; + } + + + public LinkTokenCreateRequestCraOptions networkInsights(LinkTokenCreateRequestCraOptionsNetworkInsights networkInsights) { + + this.networkInsights = networkInsights; + return this; + } + + /** + * Get networkInsights + * @return networkInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestCraOptionsNetworkInsights getNetworkInsights() { + return networkInsights; + } + + + public void setNetworkInsights(LinkTokenCreateRequestCraOptionsNetworkInsights networkInsights) { + this.networkInsights = networkInsights; + } + + + public LinkTokenCreateRequestCraOptions includeInvestments(Boolean includeInvestments) { + + this.includeInvestments = includeInvestments; + return this; + } + + /** + * Indicates that investment data should be extracted from the linked account(s). + * @return includeInvestments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates that investment data should be extracted from the linked account(s).") + + public Boolean getIncludeInvestments() { + return includeInvestments; + } + + + public void setIncludeInvestments(Boolean includeInvestments) { + this.includeInvestments = includeInvestments; + } + + + public LinkTokenCreateRequestCraOptions incomeInsights(LinkTokenCreateRequestCraOptionsIncomeInsights incomeInsights) { + + this.incomeInsights = incomeInsights; + return this; + } + + /** + * Get incomeInsights + * @return incomeInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestCraOptionsIncomeInsights getIncomeInsights() { + return incomeInsights; + } + + + public void setIncomeInsights(LinkTokenCreateRequestCraOptionsIncomeInsights incomeInsights) { + this.incomeInsights = incomeInsights; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestCraOptions linkTokenCreateRequestCraOptions = (LinkTokenCreateRequestCraOptions) o; + return Objects.equals(this.daysRequested, linkTokenCreateRequestCraOptions.daysRequested) && + Objects.equals(this.daysRequired, linkTokenCreateRequestCraOptions.daysRequired) && + Objects.equals(this.clientReportId, linkTokenCreateRequestCraOptions.clientReportId) && + Objects.equals(this.partnerInsights, linkTokenCreateRequestCraOptions.partnerInsights) && + Objects.equals(this.baseReport, linkTokenCreateRequestCraOptions.baseReport) && + Objects.equals(this.cashflowInsights, linkTokenCreateRequestCraOptions.cashflowInsights) && + Objects.equals(this.lendScore, linkTokenCreateRequestCraOptions.lendScore) && + Objects.equals(this.networkInsights, linkTokenCreateRequestCraOptions.networkInsights) && + Objects.equals(this.includeInvestments, linkTokenCreateRequestCraOptions.includeInvestments) && + Objects.equals(this.incomeInsights, linkTokenCreateRequestCraOptions.incomeInsights); + } + + @Override + public int hashCode() { + return Objects.hash(daysRequested, daysRequired, clientReportId, partnerInsights, baseReport, cashflowInsights, lendScore, networkInsights, includeInvestments, incomeInsights); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestCraOptions {\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" daysRequired: ").append(toIndentedString(daysRequired)).append("\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append(" partnerInsights: ").append(toIndentedString(partnerInsights)).append("\n"); + sb.append(" baseReport: ").append(toIndentedString(baseReport)).append("\n"); + sb.append(" cashflowInsights: ").append(toIndentedString(cashflowInsights)).append("\n"); + sb.append(" lendScore: ").append(toIndentedString(lendScore)).append("\n"); + sb.append(" networkInsights: ").append(toIndentedString(networkInsights)).append("\n"); + sb.append(" includeInvestments: ").append(toIndentedString(includeInvestments)).append("\n"); + sb.append(" incomeInsights: ").append(toIndentedString(incomeInsights)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsBaseReport.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsBaseReport.java new file mode 100644 index 0000000000..5caf0a409e --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsBaseReport.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraCheckReportHomeLendingReportOptions; +import com.plaid.client.model.LinkTokenCreateRequestCraOptionsBaseReportGSEOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with the Base Report product, specifically the `client_report_id`. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the Base Report product, specifically the `client_report_id`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestCraOptionsBaseReport { + public static final String SERIALIZED_NAME_CLIENT_REPORT_ID = "client_report_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_REPORT_ID) + private String clientReportId; + + public static final String SERIALIZED_NAME_GSE_OPTIONS = "gse_options"; + @SerializedName(SERIALIZED_NAME_GSE_OPTIONS) + private LinkTokenCreateRequestCraOptionsBaseReportGSEOptions gseOptions; + + public static final String SERIALIZED_NAME_REQUIRE_IDENTITY = "require_identity"; + @SerializedName(SERIALIZED_NAME_REQUIRE_IDENTITY) + private Boolean requireIdentity; + + public static final String SERIALIZED_NAME_HOME_LENDING_REPORT_OPTIONS = "home_lending_report_options"; + @SerializedName(SERIALIZED_NAME_HOME_LENDING_REPORT_OPTIONS) + private CraCheckReportHomeLendingReportOptions homeLendingReportOptions; + + + public LinkTokenCreateRequestCraOptionsBaseReport clientReportId(String clientReportId) { + + this.clientReportId = clientReportId; + return this; + } + + /** + * Client-generated identifier, which can be used by lenders to track loan applications. + * @return clientReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client-generated identifier, which can be used by lenders to track loan applications.") + + public String getClientReportId() { + return clientReportId; + } + + + public void setClientReportId(String clientReportId) { + this.clientReportId = clientReportId; + } + + + public LinkTokenCreateRequestCraOptionsBaseReport gseOptions(LinkTokenCreateRequestCraOptionsBaseReportGSEOptions gseOptions) { + + this.gseOptions = gseOptions; + return this; + } + + /** + * Get gseOptions + * @return gseOptions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestCraOptionsBaseReportGSEOptions getGseOptions() { + return gseOptions; + } + + + public void setGseOptions(LinkTokenCreateRequestCraOptionsBaseReportGSEOptions gseOptions) { + this.gseOptions = gseOptions; + } + + + public LinkTokenCreateRequestCraOptionsBaseReport requireIdentity(Boolean requireIdentity) { + + this.requireIdentity = requireIdentity; + return this; + } + + /** + * Indicates that the report must include identity information. If identity information is not available, the report will fail. + * @return requireIdentity + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates that the report must include identity information. If identity information is not available, the report will fail.") + + public Boolean getRequireIdentity() { + return requireIdentity; + } + + + public void setRequireIdentity(Boolean requireIdentity) { + this.requireIdentity = requireIdentity; + } + + + public LinkTokenCreateRequestCraOptionsBaseReport homeLendingReportOptions(CraCheckReportHomeLendingReportOptions homeLendingReportOptions) { + + this.homeLendingReportOptions = homeLendingReportOptions; + return this; + } + + /** + * Get homeLendingReportOptions + * @return homeLendingReportOptions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraCheckReportHomeLendingReportOptions getHomeLendingReportOptions() { + return homeLendingReportOptions; + } + + + public void setHomeLendingReportOptions(CraCheckReportHomeLendingReportOptions homeLendingReportOptions) { + this.homeLendingReportOptions = homeLendingReportOptions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestCraOptionsBaseReport linkTokenCreateRequestCraOptionsBaseReport = (LinkTokenCreateRequestCraOptionsBaseReport) o; + return Objects.equals(this.clientReportId, linkTokenCreateRequestCraOptionsBaseReport.clientReportId) && + Objects.equals(this.gseOptions, linkTokenCreateRequestCraOptionsBaseReport.gseOptions) && + Objects.equals(this.requireIdentity, linkTokenCreateRequestCraOptionsBaseReport.requireIdentity) && + Objects.equals(this.homeLendingReportOptions, linkTokenCreateRequestCraOptionsBaseReport.homeLendingReportOptions); + } + + @Override + public int hashCode() { + return Objects.hash(clientReportId, gseOptions, requireIdentity, homeLendingReportOptions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestCraOptionsBaseReport {\n"); + sb.append(" clientReportId: ").append(toIndentedString(clientReportId)).append("\n"); + sb.append(" gseOptions: ").append(toIndentedString(gseOptions)).append("\n"); + sb.append(" requireIdentity: ").append(toIndentedString(requireIdentity)).append("\n"); + sb.append(" homeLendingReportOptions: ").append(toIndentedString(homeLendingReportOptions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsBaseReportGSEOptions.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsBaseReportGSEOptions.java new file mode 100644 index 0000000000..585015b3b6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsBaseReportGSEOptions.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.GSEReportType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Specifies options for initializing Link to create reports that can be shared with GSEs for mortgage verification. + */ +@ApiModel(description = "Specifies options for initializing Link to create reports that can be shared with GSEs for mortgage verification.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestCraOptionsBaseReportGSEOptions { + public static final String SERIALIZED_NAME_REPORT_TYPES = "report_types"; + @SerializedName(SERIALIZED_NAME_REPORT_TYPES) + private List reportTypes = new ArrayList<>(); + + + public LinkTokenCreateRequestCraOptionsBaseReportGSEOptions reportTypes(List reportTypes) { + + this.reportTypes = reportTypes; + return this; + } + + public LinkTokenCreateRequestCraOptionsBaseReportGSEOptions addReportTypesItem(GSEReportType reportTypesItem) { + this.reportTypes.add(reportTypesItem); + return this; + } + + /** + * Specifies which types of reports should be made available to GSEs. + * @return reportTypes + **/ + @ApiModelProperty(required = true, value = "Specifies which types of reports should be made available to GSEs.") + + public List getReportTypes() { + return reportTypes; + } + + + public void setReportTypes(List reportTypes) { + this.reportTypes = reportTypes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestCraOptionsBaseReportGSEOptions linkTokenCreateRequestCraOptionsBaseReportGSEOptions = (LinkTokenCreateRequestCraOptionsBaseReportGSEOptions) o; + return Objects.equals(this.reportTypes, linkTokenCreateRequestCraOptionsBaseReportGSEOptions.reportTypes); + } + + @Override + public int hashCode() { + return Objects.hash(reportTypes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestCraOptionsBaseReportGSEOptions {\n"); + sb.append(" reportTypes: ").append(toIndentedString(reportTypes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsCashflowInsights.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsCashflowInsights.java new file mode 100644 index 0000000000..588f643ef0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsCashflowInsights.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CashflowAttributesVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with the Cashflow Insights product. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the Cashflow Insights product.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestCraOptionsCashflowInsights { + public static final String SERIALIZED_NAME_ATTRIBUTES_VERSION = "attributes_version"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES_VERSION) + private CashflowAttributesVersion attributesVersion; + + + public LinkTokenCreateRequestCraOptionsCashflowInsights attributesVersion(CashflowAttributesVersion attributesVersion) { + + this.attributesVersion = attributesVersion; + return this; + } + + /** + * Get attributesVersion + * @return attributesVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CashflowAttributesVersion getAttributesVersion() { + return attributesVersion; + } + + + public void setAttributesVersion(CashflowAttributesVersion attributesVersion) { + this.attributesVersion = attributesVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestCraOptionsCashflowInsights linkTokenCreateRequestCraOptionsCashflowInsights = (LinkTokenCreateRequestCraOptionsCashflowInsights) o; + return Objects.equals(this.attributesVersion, linkTokenCreateRequestCraOptionsCashflowInsights.attributesVersion); + } + + @Override + public int hashCode() { + return Objects.hash(attributesVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestCraOptionsCashflowInsights {\n"); + sb.append(" attributesVersion: ").append(toIndentedString(attributesVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsIncomeInsights.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsIncomeInsights.java new file mode 100644 index 0000000000..9fbefca808 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsIncomeInsights.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeInsightsFilter; +import com.plaid.client.model.IncomeInsightsVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with the CRA Income Insights product. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the CRA Income Insights product.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestCraOptionsIncomeInsights { + public static final String SERIALIZED_NAME_INCOME_INSIGHTS_FILTER = "income_insights_filter"; + @SerializedName(SERIALIZED_NAME_INCOME_INSIGHTS_FILTER) + private IncomeInsightsFilter incomeInsightsFilter; + + public static final String SERIALIZED_NAME_INCOME_INSIGHTS_VERSION = "income_insights_version"; + @SerializedName(SERIALIZED_NAME_INCOME_INSIGHTS_VERSION) + private IncomeInsightsVersion incomeInsightsVersion; + + + public LinkTokenCreateRequestCraOptionsIncomeInsights incomeInsightsFilter(IncomeInsightsFilter incomeInsightsFilter) { + + this.incomeInsightsFilter = incomeInsightsFilter; + return this; + } + + /** + * Get incomeInsightsFilter + * @return incomeInsightsFilter + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeInsightsFilter getIncomeInsightsFilter() { + return incomeInsightsFilter; + } + + + public void setIncomeInsightsFilter(IncomeInsightsFilter incomeInsightsFilter) { + this.incomeInsightsFilter = incomeInsightsFilter; + } + + + public LinkTokenCreateRequestCraOptionsIncomeInsights incomeInsightsVersion(IncomeInsightsVersion incomeInsightsVersion) { + + this.incomeInsightsVersion = incomeInsightsVersion; + return this; + } + + /** + * Get incomeInsightsVersion + * @return incomeInsightsVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public IncomeInsightsVersion getIncomeInsightsVersion() { + return incomeInsightsVersion; + } + + + public void setIncomeInsightsVersion(IncomeInsightsVersion incomeInsightsVersion) { + this.incomeInsightsVersion = incomeInsightsVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestCraOptionsIncomeInsights linkTokenCreateRequestCraOptionsIncomeInsights = (LinkTokenCreateRequestCraOptionsIncomeInsights) o; + return Objects.equals(this.incomeInsightsFilter, linkTokenCreateRequestCraOptionsIncomeInsights.incomeInsightsFilter) && + Objects.equals(this.incomeInsightsVersion, linkTokenCreateRequestCraOptionsIncomeInsights.incomeInsightsVersion); + } + + @Override + public int hashCode() { + return Objects.hash(incomeInsightsFilter, incomeInsightsVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestCraOptionsIncomeInsights {\n"); + sb.append(" incomeInsightsFilter: ").append(toIndentedString(incomeInsightsFilter)).append("\n"); + sb.append(" incomeInsightsVersion: ").append(toIndentedString(incomeInsightsVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsLendScore.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsLendScore.java new file mode 100644 index 0000000000..563432ab09 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsLendScore.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidLendScoreVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with the CRA LendScore product. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the CRA LendScore product.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestCraOptionsLendScore { + public static final String SERIALIZED_NAME_LEND_SCORE_VERSION = "lend_score_version"; + @SerializedName(SERIALIZED_NAME_LEND_SCORE_VERSION) + private PlaidLendScoreVersion lendScoreVersion; + + + public LinkTokenCreateRequestCraOptionsLendScore lendScoreVersion(PlaidLendScoreVersion lendScoreVersion) { + + this.lendScoreVersion = lendScoreVersion; + return this; + } + + /** + * Get lendScoreVersion + * @return lendScoreVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidLendScoreVersion getLendScoreVersion() { + return lendScoreVersion; + } + + + public void setLendScoreVersion(PlaidLendScoreVersion lendScoreVersion) { + this.lendScoreVersion = lendScoreVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestCraOptionsLendScore linkTokenCreateRequestCraOptionsLendScore = (LinkTokenCreateRequestCraOptionsLendScore) o; + return Objects.equals(this.lendScoreVersion, linkTokenCreateRequestCraOptionsLendScore.lendScoreVersion); + } + + @Override + public int hashCode() { + return Objects.hash(lendScoreVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestCraOptionsLendScore {\n"); + sb.append(" lendScoreVersion: ").append(toIndentedString(lendScoreVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsNetworkInsights.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsNetworkInsights.java new file mode 100644 index 0000000000..387014d7bc --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsNetworkInsights.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NetworkInsightsVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with the CRA Network Insights product. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the CRA Network Insights product.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestCraOptionsNetworkInsights { + public static final String SERIALIZED_NAME_NETWORK_INSIGHTS_VERSION = "network_insights_version"; + @SerializedName(SERIALIZED_NAME_NETWORK_INSIGHTS_VERSION) + private NetworkInsightsVersion networkInsightsVersion; + + + public LinkTokenCreateRequestCraOptionsNetworkInsights networkInsightsVersion(NetworkInsightsVersion networkInsightsVersion) { + + this.networkInsightsVersion = networkInsightsVersion; + return this; + } + + /** + * Get networkInsightsVersion + * @return networkInsightsVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NetworkInsightsVersion getNetworkInsightsVersion() { + return networkInsightsVersion; + } + + + public void setNetworkInsightsVersion(NetworkInsightsVersion networkInsightsVersion) { + this.networkInsightsVersion = networkInsightsVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestCraOptionsNetworkInsights linkTokenCreateRequestCraOptionsNetworkInsights = (LinkTokenCreateRequestCraOptionsNetworkInsights) o; + return Objects.equals(this.networkInsightsVersion, linkTokenCreateRequestCraOptionsNetworkInsights.networkInsightsVersion); + } + + @Override + public int hashCode() { + return Objects.hash(networkInsightsVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestCraOptionsNetworkInsights {\n"); + sb.append(" networkInsightsVersion: ").append(toIndentedString(networkInsightsVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsPartnerInsights.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsPartnerInsights.java new file mode 100644 index 0000000000..0eb84fc3bb --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCraOptionsPartnerInsights.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CraPartnerInsightsFicoInput; +import com.plaid.client.model.PrismVersions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with the Credit Partner Insights product. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the Credit Partner Insights product.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestCraOptionsPartnerInsights { + public static final String SERIALIZED_NAME_PRISM_VERSIONS = "prism_versions"; + @SerializedName(SERIALIZED_NAME_PRISM_VERSIONS) + private PrismVersions prismVersions; + + public static final String SERIALIZED_NAME_FICO = "fico"; + @SerializedName(SERIALIZED_NAME_FICO) + private CraPartnerInsightsFicoInput fico; + + + public LinkTokenCreateRequestCraOptionsPartnerInsights prismVersions(PrismVersions prismVersions) { + + this.prismVersions = prismVersions; + return this; + } + + /** + * Get prismVersions + * @return prismVersions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismVersions getPrismVersions() { + return prismVersions; + } + + + public void setPrismVersions(PrismVersions prismVersions) { + this.prismVersions = prismVersions; + } + + + public LinkTokenCreateRequestCraOptionsPartnerInsights fico(CraPartnerInsightsFicoInput fico) { + + this.fico = fico; + return this; + } + + /** + * Get fico + * @return fico + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CraPartnerInsightsFicoInput getFico() { + return fico; + } + + + public void setFico(CraPartnerInsightsFicoInput fico) { + this.fico = fico; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestCraOptionsPartnerInsights linkTokenCreateRequestCraOptionsPartnerInsights = (LinkTokenCreateRequestCraOptionsPartnerInsights) o; + return Objects.equals(this.prismVersions, linkTokenCreateRequestCraOptionsPartnerInsights.prismVersions) && + Objects.equals(this.fico, linkTokenCreateRequestCraOptionsPartnerInsights.fico); + } + + @Override + public int hashCode() { + return Objects.hash(prismVersions, fico); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestCraOptionsPartnerInsights {\n"); + sb.append(" prismVersions: ").append(toIndentedString(prismVersions)).append("\n"); + sb.append(" fico: ").append(toIndentedString(fico)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCreditPartnerInsights.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCreditPartnerInsights.java new file mode 100644 index 0000000000..a8a22535ac --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestCreditPartnerInsights.java @@ -0,0 +1,101 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with the Credit Partner Insights product. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the Credit Partner Insights product.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestCreditPartnerInsights { + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + + public LinkTokenCreateRequestCreditPartnerInsights daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The maximum integer number of days of history to compute Credit Partner Insights. Defaults to 180 if not specified + * minimum: 1 + * maximum: 730 + * @return daysRequested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum integer number of days of history to compute Credit Partner Insights. Defaults to 180 if not specified") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestCreditPartnerInsights linkTokenCreateRequestCreditPartnerInsights = (LinkTokenCreateRequestCreditPartnerInsights) o; + return Objects.equals(this.daysRequested, linkTokenCreateRequestCreditPartnerInsights.daysRequested); + } + + @Override + public int hashCode() { + return Objects.hash(daysRequested); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestCreditPartnerInsights {\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestDepositSwitch.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestDepositSwitch.java new file mode 100644 index 0000000000..000f38b649 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestDepositSwitch.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * (Deprecated) Specifies options for initializing Link for use with the Deposit Switch (beta) product. This field is required if `deposit_switch` is included in the `products` array. + */ +@ApiModel(description = "(Deprecated) Specifies options for initializing Link for use with the Deposit Switch (beta) product. This field is required if `deposit_switch` is included in the `products` array.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestDepositSwitch { + public static final String SERIALIZED_NAME_DEPOSIT_SWITCH_ID = "deposit_switch_id"; + @SerializedName(SERIALIZED_NAME_DEPOSIT_SWITCH_ID) + private String depositSwitchId; + + + public LinkTokenCreateRequestDepositSwitch depositSwitchId(String depositSwitchId) { + + this.depositSwitchId = depositSwitchId; + return this; + } + + /** + * The `deposit_switch_id` provided by the `/deposit_switch/create` endpoint. + * @return depositSwitchId + **/ + @ApiModelProperty(required = true, value = "The `deposit_switch_id` provided by the `/deposit_switch/create` endpoint.") + + public String getDepositSwitchId() { + return depositSwitchId; + } + + + public void setDepositSwitchId(String depositSwitchId) { + this.depositSwitchId = depositSwitchId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestDepositSwitch linkTokenCreateRequestDepositSwitch = (LinkTokenCreateRequestDepositSwitch) o; + return Objects.equals(this.depositSwitchId, linkTokenCreateRequestDepositSwitch.depositSwitchId); + } + + @Override + public int hashCode() { + return Objects.hash(depositSwitchId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestDepositSwitch {\n"); + sb.append(" depositSwitchId: ").append(toIndentedString(depositSwitchId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestEmployment.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestEmployment.java new file mode 100644 index 0000000000..782f5587c4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestEmployment.java @@ -0,0 +1,140 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EmploymentSourceType; +import com.plaid.client.model.LinkTokenCreateRequestEmploymentBankIncome; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Specifies options for initializing Link for use with the Employment product. This field is required if `employment` is included in the `products` array. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the Employment product. This field is required if `employment` is included in the `products` array.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestEmployment { + public static final String SERIALIZED_NAME_EMPLOYMENT_SOURCE_TYPES = "employment_source_types"; + @SerializedName(SERIALIZED_NAME_EMPLOYMENT_SOURCE_TYPES) + private List employmentSourceTypes = null; + + public static final String SERIALIZED_NAME_BANK_EMPLOYMENT = "bank_employment"; + @SerializedName(SERIALIZED_NAME_BANK_EMPLOYMENT) + private LinkTokenCreateRequestEmploymentBankIncome bankEmployment; + + + public LinkTokenCreateRequestEmployment employmentSourceTypes(List employmentSourceTypes) { + + this.employmentSourceTypes = employmentSourceTypes; + return this; + } + + public LinkTokenCreateRequestEmployment addEmploymentSourceTypesItem(EmploymentSourceType employmentSourceTypesItem) { + if (this.employmentSourceTypes == null) { + this.employmentSourceTypes = new ArrayList<>(); + } + this.employmentSourceTypes.add(employmentSourceTypesItem); + return this; + } + + /** + * The types of source employment data that users will be permitted to share. Options include `bank` and `payroll`. Currently you can only specify one of these options. + * @return employmentSourceTypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The types of source employment data that users will be permitted to share. Options include `bank` and `payroll`. Currently you can only specify one of these options.") + + public List getEmploymentSourceTypes() { + return employmentSourceTypes; + } + + + public void setEmploymentSourceTypes(List employmentSourceTypes) { + this.employmentSourceTypes = employmentSourceTypes; + } + + + public LinkTokenCreateRequestEmployment bankEmployment(LinkTokenCreateRequestEmploymentBankIncome bankEmployment) { + + this.bankEmployment = bankEmployment; + return this; + } + + /** + * Get bankEmployment + * @return bankEmployment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestEmploymentBankIncome getBankEmployment() { + return bankEmployment; + } + + + public void setBankEmployment(LinkTokenCreateRequestEmploymentBankIncome bankEmployment) { + this.bankEmployment = bankEmployment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestEmployment linkTokenCreateRequestEmployment = (LinkTokenCreateRequestEmployment) o; + return Objects.equals(this.employmentSourceTypes, linkTokenCreateRequestEmployment.employmentSourceTypes) && + Objects.equals(this.bankEmployment, linkTokenCreateRequestEmployment.bankEmployment); + } + + @Override + public int hashCode() { + return Objects.hash(employmentSourceTypes, bankEmployment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestEmployment {\n"); + sb.append(" employmentSourceTypes: ").append(toIndentedString(employmentSourceTypes)).append("\n"); + sb.append(" bankEmployment: ").append(toIndentedString(bankEmployment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestEmploymentBankIncome.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestEmploymentBankIncome.java new file mode 100644 index 0000000000..6458c92af7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestEmploymentBankIncome.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with Bank Employment. This field is required if `employment` is included in the `products` array and `bank` is specified in `employment_source_types`. + */ +@ApiModel(description = "Specifies options for initializing Link for use with Bank Employment. This field is required if `employment` is included in the `products` array and `bank` is specified in `employment_source_types`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestEmploymentBankIncome { + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + + public LinkTokenCreateRequestEmploymentBankIncome daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days of data to request for the Bank Employment product. + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The number of days of data to request for the Bank Employment product.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestEmploymentBankIncome linkTokenCreateRequestEmploymentBankIncome = (LinkTokenCreateRequestEmploymentBankIncome) o; + return Objects.equals(this.daysRequested, linkTokenCreateRequestEmploymentBankIncome.daysRequested); + } + + @Override + public int hashCode() { + return Objects.hash(daysRequested); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestEmploymentBankIncome {\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestIdentityVerification.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestIdentityVerification.java new file mode 100644 index 0000000000..18492cf1fd --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestIdentityVerification.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies option for initializing Link for use with the Identity Verification product. + */ +@ApiModel(description = "Specifies option for initializing Link for use with the Identity Verification product.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestIdentityVerification { + public static final String SERIALIZED_NAME_TEMPLATE_ID = "template_id"; + @SerializedName(SERIALIZED_NAME_TEMPLATE_ID) + private String templateId; + + public static final String SERIALIZED_NAME_CONSENT = "consent"; + @SerializedName(SERIALIZED_NAME_CONSENT) + private Boolean consent; + + public static final String SERIALIZED_NAME_GAVE_CONSENT = "gave_consent"; + @SerializedName(SERIALIZED_NAME_GAVE_CONSENT) + private Boolean gaveConsent = false; + + + public LinkTokenCreateRequestIdentityVerification templateId(String templateId) { + + this.templateId = templateId; + return this; + } + + /** + * Get templateId + * @return templateId + **/ + @ApiModelProperty(required = true, value = "") + + public String getTemplateId() { + return templateId; + } + + + public void setTemplateId(String templateId) { + this.templateId = templateId; + } + + + public LinkTokenCreateRequestIdentityVerification consent(Boolean consent) { + + this.consent = consent; + return this; + } + + /** + * Get consent + * @return consent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Boolean getConsent() { + return consent; + } + + + public void setConsent(Boolean consent) { + this.consent = consent; + } + + + public LinkTokenCreateRequestIdentityVerification gaveConsent(Boolean gaveConsent) { + + this.gaveConsent = gaveConsent; + return this; + } + + /** + * A flag specifying whether the end user has already agreed to a privacy policy specifying that their data will be shared with Plaid for verification purposes. If `gave_consent` is set to `true`, the `accept_tos` step will be marked as `skipped` and the end user's session will start at the next step requirement. + * @return gaveConsent + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "true", value = "A flag specifying whether the end user has already agreed to a privacy policy specifying that their data will be shared with Plaid for verification purposes. If `gave_consent` is set to `true`, the `accept_tos` step will be marked as `skipped` and the end user's session will start at the next step requirement.") + + public Boolean getGaveConsent() { + return gaveConsent; + } + + + public void setGaveConsent(Boolean gaveConsent) { + this.gaveConsent = gaveConsent; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestIdentityVerification linkTokenCreateRequestIdentityVerification = (LinkTokenCreateRequestIdentityVerification) o; + return Objects.equals(this.templateId, linkTokenCreateRequestIdentityVerification.templateId) && + Objects.equals(this.consent, linkTokenCreateRequestIdentityVerification.consent) && + Objects.equals(this.gaveConsent, linkTokenCreateRequestIdentityVerification.gaveConsent); + } + + @Override + public int hashCode() { + return Objects.hash(templateId, consent, gaveConsent); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestIdentityVerification {\n"); + sb.append(" templateId: ").append(toIndentedString(templateId)).append("\n"); + sb.append(" consent: ").append(toIndentedString(consent)).append("\n"); + sb.append(" gaveConsent: ").append(toIndentedString(gaveConsent)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestIncomeVerification.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestIncomeVerification.java new file mode 100644 index 0000000000..4c77183191 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestIncomeVerification.java @@ -0,0 +1,303 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeVerificationSourceType; +import com.plaid.client.model.LinkTokenCreateRequestIncomeVerificationBankIncome; +import com.plaid.client.model.LinkTokenCreateRequestIncomeVerificationPayrollIncome; +import com.plaid.client.model.LinkTokenCreateRequestUserStatedIncomeSource; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Specifies options for initializing Link for use with the Income product. This field is required if `income_verification` is included in the `products` array. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the Income product. This field is required if `income_verification` is included in the `products` array.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestIncomeVerification { + public static final String SERIALIZED_NAME_INCOME_VERIFICATION_ID = "income_verification_id"; + @SerializedName(SERIALIZED_NAME_INCOME_VERIFICATION_ID) + private String incomeVerificationId; + + public static final String SERIALIZED_NAME_ASSET_REPORT_ID = "asset_report_id"; + @SerializedName(SERIALIZED_NAME_ASSET_REPORT_ID) + private String assetReportId; + + public static final String SERIALIZED_NAME_ACCESS_TOKENS = "access_tokens"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKENS) + private List accessTokens = null; + + public static final String SERIALIZED_NAME_INCOME_SOURCE_TYPES = "income_source_types"; + @SerializedName(SERIALIZED_NAME_INCOME_SOURCE_TYPES) + private List incomeSourceTypes = null; + + public static final String SERIALIZED_NAME_BANK_INCOME = "bank_income"; + @SerializedName(SERIALIZED_NAME_BANK_INCOME) + private LinkTokenCreateRequestIncomeVerificationBankIncome bankIncome; + + public static final String SERIALIZED_NAME_PAYROLL_INCOME = "payroll_income"; + @SerializedName(SERIALIZED_NAME_PAYROLL_INCOME) + private LinkTokenCreateRequestIncomeVerificationPayrollIncome payrollIncome; + + public static final String SERIALIZED_NAME_STATED_INCOME_SOURCES = "stated_income_sources"; + @SerializedName(SERIALIZED_NAME_STATED_INCOME_SOURCES) + private List statedIncomeSources = null; + + + public LinkTokenCreateRequestIncomeVerification incomeVerificationId(String incomeVerificationId) { + + this.incomeVerificationId = incomeVerificationId; + return this; + } + + /** + * The `income_verification_id` of the verification instance, as provided by `/income/verification/create`. Replaced by the user token. + * @return incomeVerificationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `income_verification_id` of the verification instance, as provided by `/income/verification/create`. Replaced by the user token.") + + public String getIncomeVerificationId() { + return incomeVerificationId; + } + + + public void setIncomeVerificationId(String incomeVerificationId) { + this.incomeVerificationId = incomeVerificationId; + } + + + public LinkTokenCreateRequestIncomeVerification assetReportId(String assetReportId) { + + this.assetReportId = assetReportId; + return this; + } + + /** + * The `asset_report_id` of an asset report associated with the user, as provided by `/asset_report/create`. Providing an `asset_report_id` is optional and can be used to verify the user through a streamlined flow. If provided, the bank linking flow will be skipped. + * @return assetReportId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `asset_report_id` of an asset report associated with the user, as provided by `/asset_report/create`. Providing an `asset_report_id` is optional and can be used to verify the user through a streamlined flow. If provided, the bank linking flow will be skipped.") + + public String getAssetReportId() { + return assetReportId; + } + + + public void setAssetReportId(String assetReportId) { + this.assetReportId = assetReportId; + } + + + public LinkTokenCreateRequestIncomeVerification accessTokens(List accessTokens) { + + this.accessTokens = accessTokens; + return this; + } + + public LinkTokenCreateRequestIncomeVerification addAccessTokensItem(String accessTokensItem) { + if (this.accessTokens == null) { + this.accessTokens = new ArrayList<>(); + } + this.accessTokens.add(accessTokensItem); + return this; + } + + /** + * An array of access tokens corresponding to Items that a user has previously connected with. Data from these institutions will be cross-referenced with document data received during the Document Income flow to help verify that the uploaded documents are accurate. If the `transactions` product was not initialized for these Items during Link, it will be initialized after this Link session. This field should only be used with the `payroll` income source type. + * @return accessTokens + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of access tokens corresponding to Items that a user has previously connected with. Data from these institutions will be cross-referenced with document data received during the Document Income flow to help verify that the uploaded documents are accurate. If the `transactions` product was not initialized for these Items during Link, it will be initialized after this Link session. This field should only be used with the `payroll` income source type.") + + public List getAccessTokens() { + return accessTokens; + } + + + public void setAccessTokens(List accessTokens) { + this.accessTokens = accessTokens; + } + + + public LinkTokenCreateRequestIncomeVerification incomeSourceTypes(List incomeSourceTypes) { + + this.incomeSourceTypes = incomeSourceTypes; + return this; + } + + public LinkTokenCreateRequestIncomeVerification addIncomeSourceTypesItem(IncomeVerificationSourceType incomeSourceTypesItem) { + if (this.incomeSourceTypes == null) { + this.incomeSourceTypes = new ArrayList<>(); + } + this.incomeSourceTypes.add(incomeSourceTypesItem); + return this; + } + + /** + * The types of source income data that users will be permitted to share. Options include `bank` and `payroll`. Currently you can only specify one of these options. + * @return incomeSourceTypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The types of source income data that users will be permitted to share. Options include `bank` and `payroll`. Currently you can only specify one of these options.") + + public List getIncomeSourceTypes() { + return incomeSourceTypes; + } + + + public void setIncomeSourceTypes(List incomeSourceTypes) { + this.incomeSourceTypes = incomeSourceTypes; + } + + + public LinkTokenCreateRequestIncomeVerification bankIncome(LinkTokenCreateRequestIncomeVerificationBankIncome bankIncome) { + + this.bankIncome = bankIncome; + return this; + } + + /** + * Get bankIncome + * @return bankIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestIncomeVerificationBankIncome getBankIncome() { + return bankIncome; + } + + + public void setBankIncome(LinkTokenCreateRequestIncomeVerificationBankIncome bankIncome) { + this.bankIncome = bankIncome; + } + + + public LinkTokenCreateRequestIncomeVerification payrollIncome(LinkTokenCreateRequestIncomeVerificationPayrollIncome payrollIncome) { + + this.payrollIncome = payrollIncome; + return this; + } + + /** + * Get payrollIncome + * @return payrollIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateRequestIncomeVerificationPayrollIncome getPayrollIncome() { + return payrollIncome; + } + + + public void setPayrollIncome(LinkTokenCreateRequestIncomeVerificationPayrollIncome payrollIncome) { + this.payrollIncome = payrollIncome; + } + + + public LinkTokenCreateRequestIncomeVerification statedIncomeSources(List statedIncomeSources) { + + this.statedIncomeSources = statedIncomeSources; + return this; + } + + public LinkTokenCreateRequestIncomeVerification addStatedIncomeSourcesItem(LinkTokenCreateRequestUserStatedIncomeSource statedIncomeSourcesItem) { + if (this.statedIncomeSources == null) { + this.statedIncomeSources = new ArrayList<>(); + } + this.statedIncomeSources.add(statedIncomeSourcesItem); + return this; + } + + /** + * A list of user stated income sources + * @return statedIncomeSources + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of user stated income sources") + + public List getStatedIncomeSources() { + return statedIncomeSources; + } + + + public void setStatedIncomeSources(List statedIncomeSources) { + this.statedIncomeSources = statedIncomeSources; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestIncomeVerification linkTokenCreateRequestIncomeVerification = (LinkTokenCreateRequestIncomeVerification) o; + return Objects.equals(this.incomeVerificationId, linkTokenCreateRequestIncomeVerification.incomeVerificationId) && + Objects.equals(this.assetReportId, linkTokenCreateRequestIncomeVerification.assetReportId) && + Objects.equals(this.accessTokens, linkTokenCreateRequestIncomeVerification.accessTokens) && + Objects.equals(this.incomeSourceTypes, linkTokenCreateRequestIncomeVerification.incomeSourceTypes) && + Objects.equals(this.bankIncome, linkTokenCreateRequestIncomeVerification.bankIncome) && + Objects.equals(this.payrollIncome, linkTokenCreateRequestIncomeVerification.payrollIncome) && + Objects.equals(this.statedIncomeSources, linkTokenCreateRequestIncomeVerification.statedIncomeSources); + } + + @Override + public int hashCode() { + return Objects.hash(incomeVerificationId, assetReportId, accessTokens, incomeSourceTypes, bankIncome, payrollIncome, statedIncomeSources); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestIncomeVerification {\n"); + sb.append(" incomeVerificationId: ").append(toIndentedString(incomeVerificationId)).append("\n"); + sb.append(" assetReportId: ").append(toIndentedString(assetReportId)).append("\n"); + sb.append(" accessTokens: ").append(toIndentedString(accessTokens)).append("\n"); + sb.append(" incomeSourceTypes: ").append(toIndentedString(incomeSourceTypes)).append("\n"); + sb.append(" bankIncome: ").append(toIndentedString(bankIncome)).append("\n"); + sb.append(" payrollIncome: ").append(toIndentedString(payrollIncome)).append("\n"); + sb.append(" statedIncomeSources: ").append(toIndentedString(statedIncomeSources)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestIncomeVerificationBankIncome.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestIncomeVerificationBankIncome.java new file mode 100644 index 0000000000..0cc1b4fdf7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestIncomeVerificationBankIncome.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with Bank Income. This field is required if `income_verification` is included in the `products` array and `bank` is specified in `income_source_types`. + */ +@ApiModel(description = "Specifies options for initializing Link for use with Bank Income. This field is required if `income_verification` is included in the `products` array and `bank` is specified in `income_source_types`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestIncomeVerificationBankIncome { + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + public static final String SERIALIZED_NAME_ENABLE_MULTIPLE_ITEMS = "enable_multiple_items"; + @SerializedName(SERIALIZED_NAME_ENABLE_MULTIPLE_ITEMS) + private Boolean enableMultipleItems = false; + + + public LinkTokenCreateRequestIncomeVerificationBankIncome daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days of data to request for the Bank Income product + * minimum: 1 + * maximum: 731 + * @return daysRequested + **/ + @ApiModelProperty(required = true, value = "The number of days of data to request for the Bank Income product") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + public LinkTokenCreateRequestIncomeVerificationBankIncome enableMultipleItems(Boolean enableMultipleItems) { + + this.enableMultipleItems = enableMultipleItems; + return this; + } + + /** + * Whether to enable multiple Items to be added in the Link session. This setting is deprecated and has been replaced by the more general `enable_multi_item_link` setting, which supports all products. + * @return enableMultipleItems + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether to enable multiple Items to be added in the Link session. This setting is deprecated and has been replaced by the more general `enable_multi_item_link` setting, which supports all products.") + + public Boolean getEnableMultipleItems() { + return enableMultipleItems; + } + + + public void setEnableMultipleItems(Boolean enableMultipleItems) { + this.enableMultipleItems = enableMultipleItems; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestIncomeVerificationBankIncome linkTokenCreateRequestIncomeVerificationBankIncome = (LinkTokenCreateRequestIncomeVerificationBankIncome) o; + return Objects.equals(this.daysRequested, linkTokenCreateRequestIncomeVerificationBankIncome.daysRequested) && + Objects.equals(this.enableMultipleItems, linkTokenCreateRequestIncomeVerificationBankIncome.enableMultipleItems); + } + + @Override + public int hashCode() { + return Objects.hash(daysRequested, enableMultipleItems); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestIncomeVerificationBankIncome {\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" enableMultipleItems: ").append(toIndentedString(enableMultipleItems)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestIncomeVerificationPayrollIncome.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestIncomeVerificationPayrollIncome.java new file mode 100644 index 0000000000..0c8f2e6d24 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestIncomeVerificationPayrollIncome.java @@ -0,0 +1,206 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeVerificationDocParsingConfig; +import com.plaid.client.model.IncomeVerificationPayrollFlowType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Specifies options for initializing Link for use with Payroll Income (including Document Income). Further customization options for Document Income, such as customizing which document types may be uploaded, are also available via the [Link Customization pane](https://dashboard.plaid.com/link) in the Dashboard. (Requires Production enablement.) + */ +@ApiModel(description = "Specifies options for initializing Link for use with Payroll Income (including Document Income). Further customization options for Document Income, such as customizing which document types may be uploaded, are also available via the [Link Customization pane](https://dashboard.plaid.com/link) in the Dashboard. (Requires Production enablement.)") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestIncomeVerificationPayrollIncome { + public static final String SERIALIZED_NAME_FLOW_TYPES = "flow_types"; + @SerializedName(SERIALIZED_NAME_FLOW_TYPES) + private List flowTypes = null; + + public static final String SERIALIZED_NAME_IS_UPDATE_MODE = "is_update_mode"; + @SerializedName(SERIALIZED_NAME_IS_UPDATE_MODE) + private Boolean isUpdateMode = false; + + public static final String SERIALIZED_NAME_ITEM_ID_TO_UPDATE = "item_id_to_update"; + @SerializedName(SERIALIZED_NAME_ITEM_ID_TO_UPDATE) + private String itemIdToUpdate; + + public static final String SERIALIZED_NAME_PARSING_CONFIG = "parsing_config"; + @SerializedName(SERIALIZED_NAME_PARSING_CONFIG) + private List parsingConfig = null; + + + public LinkTokenCreateRequestIncomeVerificationPayrollIncome flowTypes(List flowTypes) { + + this.flowTypes = flowTypes; + return this; + } + + public LinkTokenCreateRequestIncomeVerificationPayrollIncome addFlowTypesItem(IncomeVerificationPayrollFlowType flowTypesItem) { + if (this.flowTypes == null) { + this.flowTypes = new ArrayList<>(); + } + this.flowTypes.add(flowTypesItem); + return this; + } + + /** + * The types of payroll income verification to enable for the Link session. If none are specified, then users will see both document and digital payroll income. + * @return flowTypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The types of payroll income verification to enable for the Link session. If none are specified, then users will see both document and digital payroll income.") + + public List getFlowTypes() { + return flowTypes; + } + + + public void setFlowTypes(List flowTypes) { + this.flowTypes = flowTypes; + } + + + public LinkTokenCreateRequestIncomeVerificationPayrollIncome isUpdateMode(Boolean isUpdateMode) { + + this.isUpdateMode = isUpdateMode; + return this; + } + + /** + * An identifier to indicate whether the income verification Link token will be used for update mode. This field is only relevant for participants in the Payroll Income Refresh beta. + * @return isUpdateMode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An identifier to indicate whether the income verification Link token will be used for update mode. This field is only relevant for participants in the Payroll Income Refresh beta.") + + public Boolean getIsUpdateMode() { + return isUpdateMode; + } + + + public void setIsUpdateMode(Boolean isUpdateMode) { + this.isUpdateMode = isUpdateMode; + } + + + public LinkTokenCreateRequestIncomeVerificationPayrollIncome itemIdToUpdate(String itemIdToUpdate) { + + this.itemIdToUpdate = itemIdToUpdate; + return this; + } + + /** + * Uniquely identify a payroll income Item to update with. This field is only relevant for participants in the Payroll Income Refresh beta. + * @return itemIdToUpdate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Uniquely identify a payroll income Item to update with. This field is only relevant for participants in the Payroll Income Refresh beta.") + + public String getItemIdToUpdate() { + return itemIdToUpdate; + } + + + public void setItemIdToUpdate(String itemIdToUpdate) { + this.itemIdToUpdate = itemIdToUpdate; + } + + + public LinkTokenCreateRequestIncomeVerificationPayrollIncome parsingConfig(List parsingConfig) { + + this.parsingConfig = parsingConfig; + return this; + } + + public LinkTokenCreateRequestIncomeVerificationPayrollIncome addParsingConfigItem(IncomeVerificationDocParsingConfig parsingConfigItem) { + if (this.parsingConfig == null) { + this.parsingConfig = new ArrayList<>(); + } + this.parsingConfig.add(parsingConfigItem); + return this; + } + + /** + * The types of analysis to enable for document uploads. If this field is not provided, then docs will undergo OCR parsing only. + * @return parsingConfig + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The types of analysis to enable for document uploads. If this field is not provided, then docs will undergo OCR parsing only.") + + public List getParsingConfig() { + return parsingConfig; + } + + + public void setParsingConfig(List parsingConfig) { + this.parsingConfig = parsingConfig; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestIncomeVerificationPayrollIncome linkTokenCreateRequestIncomeVerificationPayrollIncome = (LinkTokenCreateRequestIncomeVerificationPayrollIncome) o; + return Objects.equals(this.flowTypes, linkTokenCreateRequestIncomeVerificationPayrollIncome.flowTypes) && + Objects.equals(this.isUpdateMode, linkTokenCreateRequestIncomeVerificationPayrollIncome.isUpdateMode) && + Objects.equals(this.itemIdToUpdate, linkTokenCreateRequestIncomeVerificationPayrollIncome.itemIdToUpdate) && + Objects.equals(this.parsingConfig, linkTokenCreateRequestIncomeVerificationPayrollIncome.parsingConfig); + } + + @Override + public int hashCode() { + return Objects.hash(flowTypes, isUpdateMode, itemIdToUpdate, parsingConfig); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestIncomeVerificationPayrollIncome {\n"); + sb.append(" flowTypes: ").append(toIndentedString(flowTypes)).append("\n"); + sb.append(" isUpdateMode: ").append(toIndentedString(isUpdateMode)).append("\n"); + sb.append(" itemIdToUpdate: ").append(toIndentedString(itemIdToUpdate)).append("\n"); + sb.append(" parsingConfig: ").append(toIndentedString(parsingConfig)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestPaymentConfiguration.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestPaymentConfiguration.java new file mode 100644 index 0000000000..8d061ab059 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestPaymentConfiguration.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with the Pay By Bank flow. This is an optional field to configure the user experience, and currently requires the amount field to be set. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the Pay By Bank flow. This is an optional field to configure the user experience, and currently requires the amount field to be set.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestPaymentConfiguration { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + + public LinkTokenCreateRequestPaymentConfiguration amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\").") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public LinkTokenCreateRequestPaymentConfiguration description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the transfer that provides the payment context. The max length is 256. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The description of the transfer that provides the payment context. The max length is 256.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestPaymentConfiguration linkTokenCreateRequestPaymentConfiguration = (LinkTokenCreateRequestPaymentConfiguration) o; + return Objects.equals(this.amount, linkTokenCreateRequestPaymentConfiguration.amount) && + Objects.equals(this.description, linkTokenCreateRequestPaymentConfiguration.description); + } + + @Override + public int hashCode() { + return Objects.hash(amount, description); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestPaymentConfiguration {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestPaymentInitiation.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestPaymentInitiation.java new file mode 100644 index 0000000000..f8e73b9791 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestPaymentInitiation.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with the Payment Initiation (Europe) product. This field is required if `payment_initiation` is included in the `products` array. Either `payment_id` or `consent_id` must be provided. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the Payment Initiation (Europe) product. This field is required if `payment_initiation` is included in the `products` array. Either `payment_id` or `consent_id` must be provided.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestPaymentInitiation { + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + + public LinkTokenCreateRequestPaymentInitiation paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * The `payment_id` provided by the `/payment_initiation/payment/create` endpoint. + * @return paymentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `payment_id` provided by the `/payment_initiation/payment/create` endpoint.") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + public LinkTokenCreateRequestPaymentInitiation consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * The `consent_id` provided by the `/payment_initiation/consent/create` endpoint. + * @return consentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `consent_id` provided by the `/payment_initiation/consent/create` endpoint.") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestPaymentInitiation linkTokenCreateRequestPaymentInitiation = (LinkTokenCreateRequestPaymentInitiation) o; + return Objects.equals(this.paymentId, linkTokenCreateRequestPaymentInitiation.paymentId) && + Objects.equals(this.consentId, linkTokenCreateRequestPaymentInitiation.consentId); + } + + @Override + public int hashCode() { + return Objects.hash(paymentId, consentId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestPaymentInitiation {\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestStatements.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestStatements.java new file mode 100644 index 0000000000..6da4c54539 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestStatements.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Specifies options for initializing Link for use with the Statements product. This field is required for the statements product. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the Statements product. This field is required for the statements product.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestStatements { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + + public LinkTokenCreateRequestStatements startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date for statements, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) \"YYYY-MM-DD\" format, e.g. \"2020-10-30\". + * @return startDate + **/ + @ApiModelProperty(required = true, value = "The start date for statements, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) \"YYYY-MM-DD\" format, e.g. \"2020-10-30\".") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public LinkTokenCreateRequestStatements endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end date for statements, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) \"YYYY-MM-DD\" format, e.g. \"2020-10-30\". You can request up to two years of data. + * @return endDate + **/ + @ApiModelProperty(required = true, value = "The end date for statements, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) \"YYYY-MM-DD\" format, e.g. \"2020-10-30\". You can request up to two years of data.") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestStatements linkTokenCreateRequestStatements = (LinkTokenCreateRequestStatements) o; + return Objects.equals(this.startDate, linkTokenCreateRequestStatements.startDate) && + Objects.equals(this.endDate, linkTokenCreateRequestStatements.endDate); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestStatements {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestTransfer.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestTransfer.java new file mode 100644 index 0000000000..3472291672 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestTransfer.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for initializing Link for use with the Transfer product. + */ +@ApiModel(description = "Specifies options for initializing Link for use with the Transfer product.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestTransfer { + public static final String SERIALIZED_NAME_INTENT_ID = "intent_id"; + @SerializedName(SERIALIZED_NAME_INTENT_ID) + private String intentId; + + public static final String SERIALIZED_NAME_AUTHORIZATION_ID = "authorization_id"; + @SerializedName(SERIALIZED_NAME_AUTHORIZATION_ID) + private String authorizationId; + + public static final String SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN = "payment_profile_token"; + @SerializedName(SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN) + private String paymentProfileToken; + + + public LinkTokenCreateRequestTransfer intentId(String intentId) { + + this.intentId = intentId; + return this; + } + + /** + * The `id` returned by the `/transfer/intent/create` endpoint. + * @return intentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `id` returned by the `/transfer/intent/create` endpoint.") + + public String getIntentId() { + return intentId; + } + + + public void setIntentId(String intentId) { + this.intentId = intentId; + } + + + public LinkTokenCreateRequestTransfer authorizationId(String authorizationId) { + + this.authorizationId = authorizationId; + return this; + } + + /** + * The `id` returned by the `/transfer/authorization/create` endpoint. Used to indicate Link session to complete required user action in order to make a decision for the authorization. If set, `access_token` can be omitted. + * @return authorizationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `id` returned by the `/transfer/authorization/create` endpoint. Used to indicate Link session to complete required user action in order to make a decision for the authorization. If set, `access_token` can be omitted.") + + public String getAuthorizationId() { + return authorizationId; + } + + + public void setAuthorizationId(String authorizationId) { + this.authorizationId = authorizationId; + } + + + public LinkTokenCreateRequestTransfer paymentProfileToken(String paymentProfileToken) { + + this.paymentProfileToken = paymentProfileToken; + return this; + } + + /** + * The `payment_profile_token` returned by the `/payment_profile/create` endpoint. + * @return paymentProfileToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `payment_profile_token` returned by the `/payment_profile/create` endpoint.") + + public String getPaymentProfileToken() { + return paymentProfileToken; + } + + + public void setPaymentProfileToken(String paymentProfileToken) { + this.paymentProfileToken = paymentProfileToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestTransfer linkTokenCreateRequestTransfer = (LinkTokenCreateRequestTransfer) o; + return Objects.equals(this.intentId, linkTokenCreateRequestTransfer.intentId) && + Objects.equals(this.authorizationId, linkTokenCreateRequestTransfer.authorizationId) && + Objects.equals(this.paymentProfileToken, linkTokenCreateRequestTransfer.paymentProfileToken); + } + + @Override + public int hashCode() { + return Objects.hash(intentId, authorizationId, paymentProfileToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestTransfer {\n"); + sb.append(" intentId: ").append(toIndentedString(intentId)).append("\n"); + sb.append(" authorizationId: ").append(toIndentedString(authorizationId)).append("\n"); + sb.append(" paymentProfileToken: ").append(toIndentedString(paymentProfileToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestUpdate.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestUpdate.java new file mode 100644 index 0000000000..02aaaa7527 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestUpdate.java @@ -0,0 +1,196 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Specifies options for initializing Link for [update mode](https://plaid.com/docs/link/update-mode). + */ +@ApiModel(description = "Specifies options for initializing Link for [update mode](https://plaid.com/docs/link/update-mode).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestUpdate { + public static final String SERIALIZED_NAME_ACCOUNT_SELECTION_ENABLED = "account_selection_enabled"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SELECTION_ENABLED) + private Boolean accountSelectionEnabled = false; + + public static final String SERIALIZED_NAME_REAUTHORIZATION_ENABLED = "reauthorization_enabled"; + @SerializedName(SERIALIZED_NAME_REAUTHORIZATION_ENABLED) + private Boolean reauthorizationEnabled; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private Boolean user = false; + + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = null; + + + public LinkTokenCreateRequestUpdate accountSelectionEnabled(Boolean accountSelectionEnabled) { + + this.accountSelectionEnabled = accountSelectionEnabled; + return this; + } + + /** + * If `true`, enables [update mode with Account Select](https://plaid.com/docs/link/update-mode/#using-update-mode-to-request-new-accounts) for institutions in the US and Canada that do not use OAuth, or that use OAuth but do not have their own account selection flow. For institutions in the US that have an OAuth account selection flow (i.e. most OAuth-enabled institutions), update mode with Account Select will always be enabled, regardless of the value of this field. + * @return accountSelectionEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, enables [update mode with Account Select](https://plaid.com/docs/link/update-mode/#using-update-mode-to-request-new-accounts) for institutions in the US and Canada that do not use OAuth, or that use OAuth but do not have their own account selection flow. For institutions in the US that have an OAuth account selection flow (i.e. most OAuth-enabled institutions), update mode with Account Select will always be enabled, regardless of the value of this field.") + + public Boolean getAccountSelectionEnabled() { + return accountSelectionEnabled; + } + + + public void setAccountSelectionEnabled(Boolean accountSelectionEnabled) { + this.accountSelectionEnabled = accountSelectionEnabled; + } + + + public LinkTokenCreateRequestUpdate reauthorizationEnabled(Boolean reauthorizationEnabled) { + + this.reauthorizationEnabled = reauthorizationEnabled; + return this; + } + + /** + * Note: this field is not currently used. Plaid may enable this field in the future if 1033-related expiration begins to be enforced. By default, Plaid will enable the reauthorization flow during update mode for an Item enabled for [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/) if the Item expires within six months. During a reauthorization flow, an end user will review Plaid's end user privacy policy, use case and data scope consents, and account access consents; they may also be required to log in to their financial institution's OAuth flow. After the end user successfully completes the reauthorization flow, the Item's expiration date will be extended to 12 months from the time that the reauthorization took place. This field allows you to optionally override the default reauthorization scheduling logic to either forcibly enable or disable the reauthorization flow for a given update mode session. This field does not impact the flow for Items at institutions in the EU or UK. + * @return reauthorizationEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Note: this field is not currently used. Plaid may enable this field in the future if 1033-related expiration begins to be enforced. By default, Plaid will enable the reauthorization flow during update mode for an Item enabled for [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/) if the Item expires within six months. During a reauthorization flow, an end user will review Plaid's end user privacy policy, use case and data scope consents, and account access consents; they may also be required to log in to their financial institution's OAuth flow. After the end user successfully completes the reauthorization flow, the Item's expiration date will be extended to 12 months from the time that the reauthorization took place. This field allows you to optionally override the default reauthorization scheduling logic to either forcibly enable or disable the reauthorization flow for a given update mode session. This field does not impact the flow for Items at institutions in the EU or UK. ") + + public Boolean getReauthorizationEnabled() { + return reauthorizationEnabled; + } + + + public void setReauthorizationEnabled(Boolean reauthorizationEnabled) { + this.reauthorizationEnabled = reauthorizationEnabled; + } + + + public LinkTokenCreateRequestUpdate user(Boolean user) { + + this.user = user; + return this; + } + + /** + * If `true`, a `user_token` or `user_id` must also be provided, and Link will open in update mode for the given user. + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, a `user_token` or `user_id` must also be provided, and Link will open in update mode for the given user.") + + public Boolean getUser() { + return user; + } + + + public void setUser(Boolean user) { + this.user = user; + } + + + public LinkTokenCreateRequestUpdate itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public LinkTokenCreateRequestUpdate addItemIdsItem(String itemIdsItem) { + if (this.itemIds == null) { + this.itemIds = new ArrayList<>(); + } + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * An array of `item_id`s associated with the user to be updated in update mode. If empty or `null`, this field will default to initializing update mode for the most recent unhealthy Item associated with the user. A `user_token` must also be provided to use this field. + * @return itemIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of `item_id`s associated with the user to be updated in update mode. If empty or `null`, this field will default to initializing update mode for the most recent unhealthy Item associated with the user. A `user_token` must also be provided to use this field. ") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestUpdate linkTokenCreateRequestUpdate = (LinkTokenCreateRequestUpdate) o; + return Objects.equals(this.accountSelectionEnabled, linkTokenCreateRequestUpdate.accountSelectionEnabled) && + Objects.equals(this.reauthorizationEnabled, linkTokenCreateRequestUpdate.reauthorizationEnabled) && + Objects.equals(this.user, linkTokenCreateRequestUpdate.user) && + Objects.equals(this.itemIds, linkTokenCreateRequestUpdate.itemIds); + } + + @Override + public int hashCode() { + return Objects.hash(accountSelectionEnabled, reauthorizationEnabled, user, itemIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestUpdate {\n"); + sb.append(" accountSelectionEnabled: ").append(toIndentedString(accountSelectionEnabled)).append("\n"); + sb.append(" reauthorizationEnabled: ").append(toIndentedString(reauthorizationEnabled)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestUser.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestUser.java new file mode 100644 index 0000000000..4843148891 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestUser.java @@ -0,0 +1,393 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityVerificationRequestUserName; +import com.plaid.client.model.UserAddress; +import com.plaid.client.model.UserIDNumber; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; + +/** + * An object specifying information about the end user who will be linking their account. **Required** if `user_id` isn't included. + */ +@ApiModel(description = "An object specifying information about the end user who will be linking their account. **Required** if `user_id` isn't included.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestUser { + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private IdentityVerificationRequestUserName name; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_PHONE_NUMBER_VERIFIED_TIME = "phone_number_verified_time"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER_VERIFIED_TIME) + private OffsetDateTime phoneNumberVerifiedTime; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS_VERIFIED_TIME = "email_address_verified_time"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS_VERIFIED_TIME) + private OffsetDateTime emailAddressVerifiedTime; + + public static final String SERIALIZED_NAME_SSN = "ssn"; + @SerializedName(SERIALIZED_NAME_SSN) + private String ssn; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private UserAddress address; + + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private UserIDNumber idNumber; + + + public LinkTokenCreateRequestUser clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID representing the end user. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. It is currently used as a means of searching logs for the given user in the Plaid Dashboard. + * @return clientUserId + **/ + @ApiModelProperty(required = true, value = "A unique ID representing the end user. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. It is currently used as a means of searching logs for the given user in the Plaid Dashboard.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public LinkTokenCreateRequestUser legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * The user's full legal name, used for [micro-deposit based verification flows](https://plaid.com/docs/auth/coverage/). For a small number of customers on legacy flows, providing this field is required to enable micro-deposit-based flows. For all other customers, this field is optional. Providing the user's name in this field when using micro-deposit-based verification will streamline the end user experience, as the user will not be prompted to enter their name during the Link flow; Plaid will use the provided legal name instead. + * @return legalName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's full legal name, used for [micro-deposit based verification flows](https://plaid.com/docs/auth/coverage/). For a small number of customers on legacy flows, providing this field is required to enable micro-deposit-based flows. For all other customers, this field is optional. Providing the user's name in this field when using micro-deposit-based verification will streamline the end user experience, as the user will not be prompted to enter their name during the Link flow; Plaid will use the provided legal name instead.") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public LinkTokenCreateRequestUser name(IdentityVerificationRequestUserName name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityVerificationRequestUserName getName() { + return name; + } + + + public void setName(IdentityVerificationRequestUserName name) { + this.name = name; + } + + + public LinkTokenCreateRequestUser phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * The user's phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format. If supplied, will be used when applicable to prefill phone number fields in Link for the [returning user flow](https://plaid.com/docs/link/returning-user) and the [Identity Verification flow](https://plaid.com/docs/identity-verification). Phone number input is validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format. If supplied, will be used when applicable to prefill phone number fields in Link for the [returning user flow](https://plaid.com/docs/link/returning-user) and the [Identity Verification flow](https://plaid.com/docs/identity-verification). Phone number input is validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public LinkTokenCreateRequestUser phoneNumberVerifiedTime(OffsetDateTime phoneNumberVerifiedTime) { + + this.phoneNumberVerifiedTime = phoneNumberVerifiedTime; + return this; + } + + /** + * The date and time the phone number was verified in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDThh:mm:ssZ`). This was previously an optional field used in the [returning user experience](https://plaid.com/docs/link/returning-user). This field is no longer required to enable the returning user experience. Only pass a verification time for a phone number that you have verified. If you have performed verification but don't have the time, you may supply a signal value of the start of the UNIX epoch. Example: `2020-01-01T00:00:00Z` + * @return phoneNumberVerifiedTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date and time the phone number was verified in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDThh:mm:ssZ`). This was previously an optional field used in the [returning user experience](https://plaid.com/docs/link/returning-user). This field is no longer required to enable the returning user experience. Only pass a verification time for a phone number that you have verified. If you have performed verification but don't have the time, you may supply a signal value of the start of the UNIX epoch. Example: `2020-01-01T00:00:00Z` ") + + public OffsetDateTime getPhoneNumberVerifiedTime() { + return phoneNumberVerifiedTime; + } + + + public void setPhoneNumberVerifiedTime(OffsetDateTime phoneNumberVerifiedTime) { + this.phoneNumberVerifiedTime = phoneNumberVerifiedTime; + } + + + public LinkTokenCreateRequestUser emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * The user's email address. Can be used to prefill Link fields when used with [Identity Verification](https://plaid.com/docs/identity-verification). + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's email address. Can be used to prefill Link fields when used with [Identity Verification](https://plaid.com/docs/identity-verification).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public LinkTokenCreateRequestUser emailAddressVerifiedTime(OffsetDateTime emailAddressVerifiedTime) { + + this.emailAddressVerifiedTime = emailAddressVerifiedTime; + return this; + } + + /** + * The date and time the email address was verified in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDThh:mm:ssZ`). This was previously an optional field used in the [returning user experience](https://plaid.com/docs/link/returning-user). This field is no longer required to enable the returning user experience. Only pass a verification time for an email address that you have verified. If you have performed verification but don't have the time, you may supply a signal value of the start of the UNIX epoch. Example: `2020-01-01T00:00:00Z` + * @return emailAddressVerifiedTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date and time the email address was verified in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDThh:mm:ssZ`). This was previously an optional field used in the [returning user experience](https://plaid.com/docs/link/returning-user). This field is no longer required to enable the returning user experience. Only pass a verification time for an email address that you have verified. If you have performed verification but don't have the time, you may supply a signal value of the start of the UNIX epoch. Example: `2020-01-01T00:00:00Z`") + + public OffsetDateTime getEmailAddressVerifiedTime() { + return emailAddressVerifiedTime; + } + + + public void setEmailAddressVerifiedTime(OffsetDateTime emailAddressVerifiedTime) { + this.emailAddressVerifiedTime = emailAddressVerifiedTime; + } + + + public LinkTokenCreateRequestUser ssn(String ssn) { + + this.ssn = ssn; + return this; + } + + /** + * Deprecated and not currently used, use the `id_number` field instead. + * @return ssn + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated and not currently used, use the `id_number` field instead.") + + public String getSsn() { + return ssn; + } + + + public void setSsn(String ssn) { + this.ssn = ssn; + } + + + public LinkTokenCreateRequestUser dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * To be provided in the format \"yyyy-mm-dd\". Can be used to prefill Link fields when used with Identity Verification. + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "To be provided in the format \"yyyy-mm-dd\". Can be used to prefill Link fields when used with Identity Verification.") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public LinkTokenCreateRequestUser address(UserAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserAddress getAddress() { + return address; + } + + + public void setAddress(UserAddress address) { + this.address = address; + } + + + public LinkTokenCreateRequestUser idNumber(UserIDNumber idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Get idNumber + * @return idNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserIDNumber getIdNumber() { + return idNumber; + } + + + public void setIdNumber(UserIDNumber idNumber) { + this.idNumber = idNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestUser linkTokenCreateRequestUser = (LinkTokenCreateRequestUser) o; + return Objects.equals(this.clientUserId, linkTokenCreateRequestUser.clientUserId) && + Objects.equals(this.legalName, linkTokenCreateRequestUser.legalName) && + Objects.equals(this.name, linkTokenCreateRequestUser.name) && + Objects.equals(this.phoneNumber, linkTokenCreateRequestUser.phoneNumber) && + Objects.equals(this.phoneNumberVerifiedTime, linkTokenCreateRequestUser.phoneNumberVerifiedTime) && + Objects.equals(this.emailAddress, linkTokenCreateRequestUser.emailAddress) && + Objects.equals(this.emailAddressVerifiedTime, linkTokenCreateRequestUser.emailAddressVerifiedTime) && + Objects.equals(this.ssn, linkTokenCreateRequestUser.ssn) && + Objects.equals(this.dateOfBirth, linkTokenCreateRequestUser.dateOfBirth) && + Objects.equals(this.address, linkTokenCreateRequestUser.address) && + Objects.equals(this.idNumber, linkTokenCreateRequestUser.idNumber); + } + + @Override + public int hashCode() { + return Objects.hash(clientUserId, legalName, name, phoneNumber, phoneNumberVerifiedTime, emailAddress, emailAddressVerifiedTime, ssn, dateOfBirth, address, idNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestUser {\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" phoneNumberVerifiedTime: ").append(toIndentedString(phoneNumberVerifiedTime)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" emailAddressVerifiedTime: ").append(toIndentedString(emailAddressVerifiedTime)).append("\n"); + sb.append(" ssn: ").append(toIndentedString(ssn)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateRequestUserStatedIncomeSource.java b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestUserStatedIncomeSource.java new file mode 100644 index 0000000000..69759bd253 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateRequestUserStatedIncomeSource.java @@ -0,0 +1,247 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.UserStatedIncomeSourceCategory; +import com.plaid.client.model.UserStatedIncomeSourceFrequency; +import com.plaid.client.model.UserStatedIncomeSourcePayType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies user stated income sources for the Income product + */ +@ApiModel(description = "Specifies user stated income sources for the Income product") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateRequestUserStatedIncomeSource { + public static final String SERIALIZED_NAME_EMPLOYER = "employer"; + @SerializedName(SERIALIZED_NAME_EMPLOYER) + private String employer; + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private UserStatedIncomeSourceCategory category; + + public static final String SERIALIZED_NAME_PAY_PER_CYCLE = "pay_per_cycle"; + @SerializedName(SERIALIZED_NAME_PAY_PER_CYCLE) + private Double payPerCycle; + + public static final String SERIALIZED_NAME_PAY_ANNUAL = "pay_annual"; + @SerializedName(SERIALIZED_NAME_PAY_ANNUAL) + private Double payAnnual; + + public static final String SERIALIZED_NAME_PAY_TYPE = "pay_type"; + @SerializedName(SERIALIZED_NAME_PAY_TYPE) + private UserStatedIncomeSourcePayType payType; + + public static final String SERIALIZED_NAME_PAY_FREQUENCY = "pay_frequency"; + @SerializedName(SERIALIZED_NAME_PAY_FREQUENCY) + private UserStatedIncomeSourceFrequency payFrequency; + + + public LinkTokenCreateRequestUserStatedIncomeSource employer(String employer) { + + this.employer = employer; + return this; + } + + /** + * The employer corresponding to an income source specified by the user + * @return employer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The employer corresponding to an income source specified by the user") + + public String getEmployer() { + return employer; + } + + + public void setEmployer(String employer) { + this.employer = employer; + } + + + public LinkTokenCreateRequestUserStatedIncomeSource category(UserStatedIncomeSourceCategory category) { + + this.category = category; + return this; + } + + /** + * Get category + * @return category + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserStatedIncomeSourceCategory getCategory() { + return category; + } + + + public void setCategory(UserStatedIncomeSourceCategory category) { + this.category = category; + } + + + public LinkTokenCreateRequestUserStatedIncomeSource payPerCycle(Double payPerCycle) { + + this.payPerCycle = payPerCycle; + return this; + } + + /** + * The income amount paid per cycle for a specified income source + * @return payPerCycle + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The income amount paid per cycle for a specified income source") + + public Double getPayPerCycle() { + return payPerCycle; + } + + + public void setPayPerCycle(Double payPerCycle) { + this.payPerCycle = payPerCycle; + } + + + public LinkTokenCreateRequestUserStatedIncomeSource payAnnual(Double payAnnual) { + + this.payAnnual = payAnnual; + return this; + } + + /** + * The income amount paid annually for a specified income source + * @return payAnnual + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The income amount paid annually for a specified income source") + + public Double getPayAnnual() { + return payAnnual; + } + + + public void setPayAnnual(Double payAnnual) { + this.payAnnual = payAnnual; + } + + + public LinkTokenCreateRequestUserStatedIncomeSource payType(UserStatedIncomeSourcePayType payType) { + + this.payType = payType; + return this; + } + + /** + * Get payType + * @return payType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserStatedIncomeSourcePayType getPayType() { + return payType; + } + + + public void setPayType(UserStatedIncomeSourcePayType payType) { + this.payType = payType; + } + + + public LinkTokenCreateRequestUserStatedIncomeSource payFrequency(UserStatedIncomeSourceFrequency payFrequency) { + + this.payFrequency = payFrequency; + return this; + } + + /** + * Get payFrequency + * @return payFrequency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserStatedIncomeSourceFrequency getPayFrequency() { + return payFrequency; + } + + + public void setPayFrequency(UserStatedIncomeSourceFrequency payFrequency) { + this.payFrequency = payFrequency; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateRequestUserStatedIncomeSource linkTokenCreateRequestUserStatedIncomeSource = (LinkTokenCreateRequestUserStatedIncomeSource) o; + return Objects.equals(this.employer, linkTokenCreateRequestUserStatedIncomeSource.employer) && + Objects.equals(this.category, linkTokenCreateRequestUserStatedIncomeSource.category) && + Objects.equals(this.payPerCycle, linkTokenCreateRequestUserStatedIncomeSource.payPerCycle) && + Objects.equals(this.payAnnual, linkTokenCreateRequestUserStatedIncomeSource.payAnnual) && + Objects.equals(this.payType, linkTokenCreateRequestUserStatedIncomeSource.payType) && + Objects.equals(this.payFrequency, linkTokenCreateRequestUserStatedIncomeSource.payFrequency); + } + + @Override + public int hashCode() { + return Objects.hash(employer, category, payPerCycle, payAnnual, payType, payFrequency); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateRequestUserStatedIncomeSource {\n"); + sb.append(" employer: ").append(toIndentedString(employer)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" payPerCycle: ").append(toIndentedString(payPerCycle)).append("\n"); + sb.append(" payAnnual: ").append(toIndentedString(payAnnual)).append("\n"); + sb.append(" payType: ").append(toIndentedString(payType)).append("\n"); + sb.append(" payFrequency: ").append(toIndentedString(payFrequency)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenCreateResponse.java b/src/main/java/com/plaid/client/model/LinkTokenCreateResponse.java new file mode 100644 index 0000000000..2adea938d7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenCreateResponse.java @@ -0,0 +1,213 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * LinkTokenCreateResponse defines the response schema for `/link/token/create` + */ +@ApiModel(description = "LinkTokenCreateResponse defines the response schema for `/link/token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenCreateResponse { + public static final String SERIALIZED_NAME_LINK_TOKEN = "link_token"; + @SerializedName(SERIALIZED_NAME_LINK_TOKEN) + private String linkToken; + + public static final String SERIALIZED_NAME_EXPIRATION = "expiration"; + @SerializedName(SERIALIZED_NAME_EXPIRATION) + private OffsetDateTime expiration; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_HOSTED_LINK_URL = "hosted_link_url"; + @SerializedName(SERIALIZED_NAME_HOSTED_LINK_URL) + private String hostedLinkUrl; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public LinkTokenCreateResponse linkToken(String linkToken) { + + this.linkToken = linkToken; + return this; + } + + /** + * A `link_token`, which can be supplied to Link in order to initialize it and receive a `public_token`, which can be exchanged for an `access_token`. + * @return linkToken + **/ + @ApiModelProperty(required = true, value = "A `link_token`, which can be supplied to Link in order to initialize it and receive a `public_token`, which can be exchanged for an `access_token`.") + + public String getLinkToken() { + return linkToken; + } + + + public void setLinkToken(String linkToken) { + this.linkToken = linkToken; + } + + + public LinkTokenCreateResponse expiration(OffsetDateTime expiration) { + + this.expiration = expiration; + return this; + } + + /** + * The expiration date and time for the `link_token`, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. By default, a `link_token` created to generate a `public_token` that will be exchanged for a new `access_token` expires after 4 hours, and a `link_token` created for an existing Item (such as when updating an existing `access_token` by launching Link in update mode) expires after 30 minutes. If using [Hosted Link](https://plaid.com/docs/link/hosted-link/), the `link_token` will expire at the same time as the Hosted Link URL, and you can customize the duration using the `hosted_link.url_lifetime_seconds` option in the request. If using Link Delivery (beta), the `link_token` will expire by default after 24 hours if sent via SMS and after 7 days if sent via email. If using Identity Verification, Link token expiration will not be enforced; an Identity Verification Link session can be created with an expired Link token. + * @return expiration + **/ + @ApiModelProperty(required = true, value = "The expiration date and time for the `link_token`, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. By default, a `link_token` created to generate a `public_token` that will be exchanged for a new `access_token` expires after 4 hours, and a `link_token` created for an existing Item (such as when updating an existing `access_token` by launching Link in update mode) expires after 30 minutes. If using [Hosted Link](https://plaid.com/docs/link/hosted-link/), the `link_token` will expire at the same time as the Hosted Link URL, and you can customize the duration using the `hosted_link.url_lifetime_seconds` option in the request. If using Link Delivery (beta), the `link_token` will expire by default after 24 hours if sent via SMS and after 7 days if sent via email. If using Identity Verification, Link token expiration will not be enforced; an Identity Verification Link session can be created with an expired Link token.") + + public OffsetDateTime getExpiration() { + return expiration; + } + + + public void setExpiration(OffsetDateTime expiration) { + this.expiration = expiration; + } + + + public LinkTokenCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public LinkTokenCreateResponse hostedLinkUrl(String hostedLinkUrl) { + + this.hostedLinkUrl = hostedLinkUrl; + return this; + } + + /** + * A URL of a Plaid-hosted Link flow that will use the Link token returned by this request. Only present if the session is enabled for Hosted Link. To enable the session for Hosted Link, send a `hosted_link` object in the request. + * @return hostedLinkUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A URL of a Plaid-hosted Link flow that will use the Link token returned by this request. Only present if the session is enabled for Hosted Link. To enable the session for Hosted Link, send a `hosted_link` object in the request.") + + public String getHostedLinkUrl() { + return hostedLinkUrl; + } + + + public void setHostedLinkUrl(String hostedLinkUrl) { + this.hostedLinkUrl = hostedLinkUrl; + } + + + public LinkTokenCreateResponse userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenCreateResponse linkTokenCreateResponse = (LinkTokenCreateResponse) o; + return Objects.equals(this.linkToken, linkTokenCreateResponse.linkToken) && + Objects.equals(this.expiration, linkTokenCreateResponse.expiration) && + Objects.equals(this.requestId, linkTokenCreateResponse.requestId) && + Objects.equals(this.hostedLinkUrl, linkTokenCreateResponse.hostedLinkUrl) && + Objects.equals(this.userId, linkTokenCreateResponse.userId); + } + + @Override + public int hashCode() { + return Objects.hash(linkToken, expiration, requestId, hostedLinkUrl, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenCreateResponse {\n"); + sb.append(" linkToken: ").append(toIndentedString(linkToken)).append("\n"); + sb.append(" expiration: ").append(toIndentedString(expiration)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" hostedLinkUrl: ").append(toIndentedString(hostedLinkUrl)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenEUConfig.java b/src/main/java/com/plaid/client/model/LinkTokenEUConfig.java new file mode 100644 index 0000000000..1ae9938280 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenEUConfig.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Configuration parameters for EU flows + */ +@ApiModel(description = "Configuration parameters for EU flows") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenEUConfig { + public static final String SERIALIZED_NAME_HEADLESS = "headless"; + @SerializedName(SERIALIZED_NAME_HEADLESS) + private Boolean headless; + + + public LinkTokenEUConfig headless(Boolean headless) { + + this.headless = headless; + return this; + } + + /** + * If `true`, open Link without an initial UI. Defaults to `false`. + * @return headless + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, open Link without an initial UI. Defaults to `false`.") + + public Boolean getHeadless() { + return headless; + } + + + public void setHeadless(Boolean headless) { + this.headless = headless; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenEUConfig linkTokenEUConfig = (LinkTokenEUConfig) o; + return Objects.equals(this.headless, linkTokenEUConfig.headless); + } + + @Override + public int hashCode() { + return Objects.hash(headless); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenEUConfig {\n"); + sb.append(" headless: ").append(toIndentedString(headless)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenGetMetadataResponse.java b/src/main/java/com/plaid/client/model/LinkTokenGetMetadataResponse.java new file mode 100644 index 0000000000..e3692caf9e --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenGetMetadataResponse.java @@ -0,0 +1,316 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountFiltersResponse; +import com.plaid.client.model.CountryCode; +import com.plaid.client.model.LinkTokenCreateInstitutionData; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object specifying the arguments originally provided to the `/link/token/create` call. + */ +@ApiModel(description = "An object specifying the arguments originally provided to the `/link/token/create` call.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenGetMetadataResponse { + public static final String SERIALIZED_NAME_INITIAL_PRODUCTS = "initial_products"; + @SerializedName(SERIALIZED_NAME_INITIAL_PRODUCTS) + private List initialProducts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + public static final String SERIALIZED_NAME_COUNTRY_CODES = "country_codes"; + @SerializedName(SERIALIZED_NAME_COUNTRY_CODES) + private List countryCodes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LANGUAGE = "language"; + @SerializedName(SERIALIZED_NAME_LANGUAGE) + private String language; + + public static final String SERIALIZED_NAME_INSTITUTION_DATA = "institution_data"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_DATA) + private LinkTokenCreateInstitutionData institutionData; + + public static final String SERIALIZED_NAME_ACCOUNT_FILTERS = "account_filters"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_FILTERS) + private AccountFiltersResponse accountFilters; + + public static final String SERIALIZED_NAME_REDIRECT_URI = "redirect_uri"; + @SerializedName(SERIALIZED_NAME_REDIRECT_URI) + private String redirectUri; + + public static final String SERIALIZED_NAME_CLIENT_NAME = "client_name"; + @SerializedName(SERIALIZED_NAME_CLIENT_NAME) + private String clientName; + + + public LinkTokenGetMetadataResponse initialProducts(List initialProducts) { + + this.initialProducts = initialProducts; + return this; + } + + public LinkTokenGetMetadataResponse addInitialProductsItem(Products initialProductsItem) { + this.initialProducts.add(initialProductsItem); + return this; + } + + /** + * The `products` specified in the `/link/token/create` call. + * @return initialProducts + **/ + @ApiModelProperty(required = true, value = "The `products` specified in the `/link/token/create` call.") + + public List getInitialProducts() { + return initialProducts; + } + + + public void setInitialProducts(List initialProducts) { + this.initialProducts = initialProducts; + } + + + public LinkTokenGetMetadataResponse webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The `webhook` specified in the `/link/token/create` call. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The `webhook` specified in the `/link/token/create` call.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + public LinkTokenGetMetadataResponse countryCodes(List countryCodes) { + + this.countryCodes = countryCodes; + return this; + } + + public LinkTokenGetMetadataResponse addCountryCodesItem(CountryCode countryCodesItem) { + this.countryCodes.add(countryCodesItem); + return this; + } + + /** + * The `country_codes` specified in the `/link/token/create` call. + * @return countryCodes + **/ + @ApiModelProperty(required = true, value = "The `country_codes` specified in the `/link/token/create` call.") + + public List getCountryCodes() { + return countryCodes; + } + + + public void setCountryCodes(List countryCodes) { + this.countryCodes = countryCodes; + } + + + public LinkTokenGetMetadataResponse language(String language) { + + this.language = language; + return this; + } + + /** + * The `language` specified in the `/link/token/create` call. + * @return language + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The `language` specified in the `/link/token/create` call.") + + public String getLanguage() { + return language; + } + + + public void setLanguage(String language) { + this.language = language; + } + + + public LinkTokenGetMetadataResponse institutionData(LinkTokenCreateInstitutionData institutionData) { + + this.institutionData = institutionData; + return this; + } + + /** + * Get institutionData + * @return institutionData + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkTokenCreateInstitutionData getInstitutionData() { + return institutionData; + } + + + public void setInstitutionData(LinkTokenCreateInstitutionData institutionData) { + this.institutionData = institutionData; + } + + + public LinkTokenGetMetadataResponse accountFilters(AccountFiltersResponse accountFilters) { + + this.accountFilters = accountFilters; + return this; + } + + /** + * Get accountFilters + * @return accountFilters + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AccountFiltersResponse getAccountFilters() { + return accountFilters; + } + + + public void setAccountFilters(AccountFiltersResponse accountFilters) { + this.accountFilters = accountFilters; + } + + + public LinkTokenGetMetadataResponse redirectUri(String redirectUri) { + + this.redirectUri = redirectUri; + return this; + } + + /** + * The `redirect_uri` specified in the `/link/token/create` call. + * @return redirectUri + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The `redirect_uri` specified in the `/link/token/create` call.") + + public String getRedirectUri() { + return redirectUri; + } + + + public void setRedirectUri(String redirectUri) { + this.redirectUri = redirectUri; + } + + + public LinkTokenGetMetadataResponse clientName(String clientName) { + + this.clientName = clientName; + return this; + } + + /** + * The `client_name` specified in the `/link/token/create` call. + * @return clientName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The `client_name` specified in the `/link/token/create` call.") + + public String getClientName() { + return clientName; + } + + + public void setClientName(String clientName) { + this.clientName = clientName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenGetMetadataResponse linkTokenGetMetadataResponse = (LinkTokenGetMetadataResponse) o; + return Objects.equals(this.initialProducts, linkTokenGetMetadataResponse.initialProducts) && + Objects.equals(this.webhook, linkTokenGetMetadataResponse.webhook) && + Objects.equals(this.countryCodes, linkTokenGetMetadataResponse.countryCodes) && + Objects.equals(this.language, linkTokenGetMetadataResponse.language) && + Objects.equals(this.institutionData, linkTokenGetMetadataResponse.institutionData) && + Objects.equals(this.accountFilters, linkTokenGetMetadataResponse.accountFilters) && + Objects.equals(this.redirectUri, linkTokenGetMetadataResponse.redirectUri) && + Objects.equals(this.clientName, linkTokenGetMetadataResponse.clientName); + } + + @Override + public int hashCode() { + return Objects.hash(initialProducts, webhook, countryCodes, language, institutionData, accountFilters, redirectUri, clientName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenGetMetadataResponse {\n"); + sb.append(" initialProducts: ").append(toIndentedString(initialProducts)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append(" countryCodes: ").append(toIndentedString(countryCodes)).append("\n"); + sb.append(" language: ").append(toIndentedString(language)).append("\n"); + sb.append(" institutionData: ").append(toIndentedString(institutionData)).append("\n"); + sb.append(" accountFilters: ").append(toIndentedString(accountFilters)).append("\n"); + sb.append(" redirectUri: ").append(toIndentedString(redirectUri)).append("\n"); + sb.append(" clientName: ").append(toIndentedString(clientName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenGetRequest.java b/src/main/java/com/plaid/client/model/LinkTokenGetRequest.java new file mode 100644 index 0000000000..b48b9e5ec3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * LinkTokenGetRequest defines the request schema for `/link/token/get` + */ +@ApiModel(description = "LinkTokenGetRequest defines the request schema for `/link/token/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_LINK_TOKEN = "link_token"; + @SerializedName(SERIALIZED_NAME_LINK_TOKEN) + private String linkToken; + + + public LinkTokenGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public LinkTokenGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public LinkTokenGetRequest linkToken(String linkToken) { + + this.linkToken = linkToken; + return this; + } + + /** + * A `link_token` from a previous invocation of `/link/token/create` + * @return linkToken + **/ + @ApiModelProperty(required = true, value = "A `link_token` from a previous invocation of `/link/token/create`") + + public String getLinkToken() { + return linkToken; + } + + + public void setLinkToken(String linkToken) { + this.linkToken = linkToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenGetRequest linkTokenGetRequest = (LinkTokenGetRequest) o; + return Objects.equals(this.clientId, linkTokenGetRequest.clientId) && + Objects.equals(this.secret, linkTokenGetRequest.secret) && + Objects.equals(this.linkToken, linkTokenGetRequest.linkToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, linkToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" linkToken: ").append(toIndentedString(linkToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenGetResponse.java b/src/main/java/com/plaid/client/model/LinkTokenGetResponse.java new file mode 100644 index 0000000000..a25377387a --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenGetResponse.java @@ -0,0 +1,283 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkTokenGetMetadataResponse; +import com.plaid.client.model.LinkTokenGetSessionsResponse; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * LinkTokenGetResponse defines the response schema for `/link/token/get` + */ +@ApiModel(description = "LinkTokenGetResponse defines the response schema for `/link/token/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenGetResponse { + public static final String SERIALIZED_NAME_LINK_TOKEN = "link_token"; + @SerializedName(SERIALIZED_NAME_LINK_TOKEN) + private String linkToken; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_EXPIRATION = "expiration"; + @SerializedName(SERIALIZED_NAME_EXPIRATION) + private OffsetDateTime expiration; + + public static final String SERIALIZED_NAME_LINK_SESSIONS = "link_sessions"; + @SerializedName(SERIALIZED_NAME_LINK_SESSIONS) + private List linkSessions = null; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private LinkTokenGetMetadataResponse metadata; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public LinkTokenGetResponse linkToken(String linkToken) { + + this.linkToken = linkToken; + return this; + } + + /** + * A `link_token`, which can be supplied to Link in order to initialize it and receive a `public_token`, which can be exchanged for an `access_token`. + * @return linkToken + **/ + @ApiModelProperty(required = true, value = "A `link_token`, which can be supplied to Link in order to initialize it and receive a `public_token`, which can be exchanged for an `access_token`.") + + public String getLinkToken() { + return linkToken; + } + + + public void setLinkToken(String linkToken) { + this.linkToken = linkToken; + } + + + public LinkTokenGetResponse createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * The creation timestamp for the `link_token`, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return createdAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The creation timestamp for the `link_token`, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public LinkTokenGetResponse expiration(OffsetDateTime expiration) { + + this.expiration = expiration; + return this; + } + + /** + * The expiration timestamp for the `link_token`, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return expiration + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The expiration timestamp for the `link_token`, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getExpiration() { + return expiration; + } + + + public void setExpiration(OffsetDateTime expiration) { + this.expiration = expiration; + } + + + public LinkTokenGetResponse linkSessions(List linkSessions) { + + this.linkSessions = linkSessions; + return this; + } + + public LinkTokenGetResponse addLinkSessionsItem(LinkTokenGetSessionsResponse linkSessionsItem) { + if (this.linkSessions == null) { + this.linkSessions = new ArrayList<>(); + } + this.linkSessions.add(linkSessionsItem); + return this; + } + + /** + * Information about Link sessions created using this `link_token`. Session data will be provided for up to six hours after the session has ended. + * @return linkSessions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Information about Link sessions created using this `link_token`. Session data will be provided for up to six hours after the session has ended.") + + public List getLinkSessions() { + return linkSessions; + } + + + public void setLinkSessions(List linkSessions) { + this.linkSessions = linkSessions; + } + + + public LinkTokenGetResponse metadata(LinkTokenGetMetadataResponse metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @ApiModelProperty(required = true, value = "") + + public LinkTokenGetMetadataResponse getMetadata() { + return metadata; + } + + + public void setMetadata(LinkTokenGetMetadataResponse metadata) { + this.metadata = metadata; + } + + + public LinkTokenGetResponse userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public LinkTokenGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenGetResponse linkTokenGetResponse = (LinkTokenGetResponse) o; + return Objects.equals(this.linkToken, linkTokenGetResponse.linkToken) && + Objects.equals(this.createdAt, linkTokenGetResponse.createdAt) && + Objects.equals(this.expiration, linkTokenGetResponse.expiration) && + Objects.equals(this.linkSessions, linkTokenGetResponse.linkSessions) && + Objects.equals(this.metadata, linkTokenGetResponse.metadata) && + Objects.equals(this.userId, linkTokenGetResponse.userId) && + Objects.equals(this.requestId, linkTokenGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(linkToken, createdAt, expiration, linkSessions, metadata, userId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenGetResponse {\n"); + sb.append(" linkToken: ").append(toIndentedString(linkToken)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" expiration: ").append(toIndentedString(expiration)).append("\n"); + sb.append(" linkSessions: ").append(toIndentedString(linkSessions)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenGetSessionsResponse.java b/src/main/java/com/plaid/client/model/LinkTokenGetSessionsResponse.java new file mode 100644 index 0000000000..94aed681f4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenGetSessionsResponse.java @@ -0,0 +1,317 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkEvent; +import com.plaid.client.model.LinkSessionExit; +import com.plaid.client.model.LinkSessionExitDeprecated; +import com.plaid.client.model.LinkSessionResults; +import com.plaid.client.model.LinkSessionSuccess; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * An object containing information about a link session. Session data will be provided for up to six hours after the session has ended. + */ +@ApiModel(description = "An object containing information about a link session. Session data will be provided for up to six hours after the session has ended.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenGetSessionsResponse { + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_STARTED_AT = "started_at"; + @SerializedName(SERIALIZED_NAME_STARTED_AT) + private OffsetDateTime startedAt; + + public static final String SERIALIZED_NAME_FINISHED_AT = "finished_at"; + @SerializedName(SERIALIZED_NAME_FINISHED_AT) + private OffsetDateTime finishedAt; + + public static final String SERIALIZED_NAME_ON_SUCCESS = "on_success"; + @SerializedName(SERIALIZED_NAME_ON_SUCCESS) + private LinkSessionSuccess onSuccess; + + public static final String SERIALIZED_NAME_ON_EXIT = "on_exit"; + @SerializedName(SERIALIZED_NAME_ON_EXIT) + private LinkSessionExitDeprecated onExit; + + public static final String SERIALIZED_NAME_EXIT = "exit"; + @SerializedName(SERIALIZED_NAME_EXIT) + private LinkSessionExit exit; + + public static final String SERIALIZED_NAME_EVENTS = "events"; + @SerializedName(SERIALIZED_NAME_EVENTS) + private List events = null; + + public static final String SERIALIZED_NAME_RESULTS = "results"; + @SerializedName(SERIALIZED_NAME_RESULTS) + private LinkSessionResults results; + + + public LinkTokenGetSessionsResponse linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * The unique ID for the link session. + * @return linkSessionId + **/ + @ApiModelProperty(required = true, value = "The unique ID for the link session.") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public LinkTokenGetSessionsResponse startedAt(OffsetDateTime startedAt) { + + this.startedAt = startedAt; + return this; + } + + /** + * The timestamp at which the link session was first started, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return startedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The timestamp at which the link session was first started, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getStartedAt() { + return startedAt; + } + + + public void setStartedAt(OffsetDateTime startedAt) { + this.startedAt = startedAt; + } + + + public LinkTokenGetSessionsResponse finishedAt(OffsetDateTime finishedAt) { + + this.finishedAt = finishedAt; + return this; + } + + /** + * The timestamp at which the link session was finished, if available, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return finishedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The timestamp at which the link session was finished, if available, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getFinishedAt() { + return finishedAt; + } + + + public void setFinishedAt(OffsetDateTime finishedAt) { + this.finishedAt = finishedAt; + } + + + public LinkTokenGetSessionsResponse onSuccess(LinkSessionSuccess onSuccess) { + + this.onSuccess = onSuccess; + return this; + } + + /** + * Get onSuccess + * @return onSuccess + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkSessionSuccess getOnSuccess() { + return onSuccess; + } + + + public void setOnSuccess(LinkSessionSuccess onSuccess) { + this.onSuccess = onSuccess; + } + + + public LinkTokenGetSessionsResponse onExit(LinkSessionExitDeprecated onExit) { + + this.onExit = onExit; + return this; + } + + /** + * Get onExit + * @return onExit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkSessionExitDeprecated getOnExit() { + return onExit; + } + + + public void setOnExit(LinkSessionExitDeprecated onExit) { + this.onExit = onExit; + } + + + public LinkTokenGetSessionsResponse exit(LinkSessionExit exit) { + + this.exit = exit; + return this; + } + + /** + * Get exit + * @return exit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkSessionExit getExit() { + return exit; + } + + + public void setExit(LinkSessionExit exit) { + this.exit = exit; + } + + + public LinkTokenGetSessionsResponse events(List events) { + + this.events = events; + return this; + } + + public LinkTokenGetSessionsResponse addEventsItem(LinkEvent eventsItem) { + if (this.events == null) { + this.events = new ArrayList<>(); + } + this.events.add(eventsItem); + return this; + } + + /** + * List of customer-related Link events + * @return events + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of customer-related Link events") + + public List getEvents() { + return events; + } + + + public void setEvents(List events) { + this.events = events; + } + + + public LinkTokenGetSessionsResponse results(LinkSessionResults results) { + + this.results = results; + return this; + } + + /** + * Get results + * @return results + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LinkSessionResults getResults() { + return results; + } + + + public void setResults(LinkSessionResults results) { + this.results = results; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenGetSessionsResponse linkTokenGetSessionsResponse = (LinkTokenGetSessionsResponse) o; + return Objects.equals(this.linkSessionId, linkTokenGetSessionsResponse.linkSessionId) && + Objects.equals(this.startedAt, linkTokenGetSessionsResponse.startedAt) && + Objects.equals(this.finishedAt, linkTokenGetSessionsResponse.finishedAt) && + Objects.equals(this.onSuccess, linkTokenGetSessionsResponse.onSuccess) && + Objects.equals(this.onExit, linkTokenGetSessionsResponse.onExit) && + Objects.equals(this.exit, linkTokenGetSessionsResponse.exit) && + Objects.equals(this.events, linkTokenGetSessionsResponse.events) && + Objects.equals(this.results, linkTokenGetSessionsResponse.results); + } + + @Override + public int hashCode() { + return Objects.hash(linkSessionId, startedAt, finishedAt, onSuccess, onExit, exit, events, results); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenGetSessionsResponse {\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" startedAt: ").append(toIndentedString(startedAt)).append("\n"); + sb.append(" finishedAt: ").append(toIndentedString(finishedAt)).append("\n"); + sb.append(" onSuccess: ").append(toIndentedString(onSuccess)).append("\n"); + sb.append(" onExit: ").append(toIndentedString(onExit)).append("\n"); + sb.append(" exit: ").append(toIndentedString(exit)).append("\n"); + sb.append(" events: ").append(toIndentedString(events)).append("\n"); + sb.append(" results: ").append(toIndentedString(results)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenInvestments.java b/src/main/java/com/plaid/client/model/LinkTokenInvestments.java new file mode 100644 index 0000000000..42fdfcbc6a --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenInvestments.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Configuration parameters for the Investments product + */ +@ApiModel(description = "Configuration parameters for the Investments product") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenInvestments { + public static final String SERIALIZED_NAME_ALLOW_UNVERIFIED_CRYPTO_WALLETS = "allow_unverified_crypto_wallets"; + @SerializedName(SERIALIZED_NAME_ALLOW_UNVERIFIED_CRYPTO_WALLETS) + private Boolean allowUnverifiedCryptoWallets; + + public static final String SERIALIZED_NAME_ALLOW_MANUAL_ENTRY = "allow_manual_entry"; + @SerializedName(SERIALIZED_NAME_ALLOW_MANUAL_ENTRY) + private Boolean allowManualEntry; + + + public LinkTokenInvestments allowUnverifiedCryptoWallets(Boolean allowUnverifiedCryptoWallets) { + + this.allowUnverifiedCryptoWallets = allowUnverifiedCryptoWallets; + return this; + } + + /** + * If `true`, allow self-custody crypto wallets to be added without requiring signature verification. Defaults to `false`. + * @return allowUnverifiedCryptoWallets + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, allow self-custody crypto wallets to be added without requiring signature verification. Defaults to `false`.") + + public Boolean getAllowUnverifiedCryptoWallets() { + return allowUnverifiedCryptoWallets; + } + + + public void setAllowUnverifiedCryptoWallets(Boolean allowUnverifiedCryptoWallets) { + this.allowUnverifiedCryptoWallets = allowUnverifiedCryptoWallets; + } + + + public LinkTokenInvestments allowManualEntry(Boolean allowManualEntry) { + + this.allowManualEntry = allowManualEntry; + return this; + } + + /** + * If `true`, allow users to manually enter Investments account and holdings information. Defaults to `false`. + * @return allowManualEntry + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, allow users to manually enter Investments account and holdings information. Defaults to `false`.") + + public Boolean getAllowManualEntry() { + return allowManualEntry; + } + + + public void setAllowManualEntry(Boolean allowManualEntry) { + this.allowManualEntry = allowManualEntry; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenInvestments linkTokenInvestments = (LinkTokenInvestments) o; + return Objects.equals(this.allowUnverifiedCryptoWallets, linkTokenInvestments.allowUnverifiedCryptoWallets) && + Objects.equals(this.allowManualEntry, linkTokenInvestments.allowManualEntry); + } + + @Override + public int hashCode() { + return Objects.hash(allowUnverifiedCryptoWallets, allowManualEntry); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenInvestments {\n"); + sb.append(" allowUnverifiedCryptoWallets: ").append(toIndentedString(allowUnverifiedCryptoWallets)).append("\n"); + sb.append(" allowManualEntry: ").append(toIndentedString(allowManualEntry)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenInvestmentsAuth.java b/src/main/java/com/plaid/client/model/LinkTokenInvestmentsAuth.java new file mode 100644 index 0000000000..e04bb85a99 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenInvestmentsAuth.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Configuration parameters for the Investments Move product + */ +@ApiModel(description = "Configuration parameters for the Investments Move product") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenInvestmentsAuth { + public static final String SERIALIZED_NAME_MANUAL_ENTRY_ENABLED = "manual_entry_enabled"; + @SerializedName(SERIALIZED_NAME_MANUAL_ENTRY_ENABLED) + private Boolean manualEntryEnabled = false; + + public static final String SERIALIZED_NAME_MASKED_NUMBER_MATCH_ENABLED = "masked_number_match_enabled"; + @SerializedName(SERIALIZED_NAME_MASKED_NUMBER_MATCH_ENABLED) + private Boolean maskedNumberMatchEnabled = false; + + public static final String SERIALIZED_NAME_STATED_ACCOUNT_NUMBER_ENABLED = "stated_account_number_enabled"; + @SerializedName(SERIALIZED_NAME_STATED_ACCOUNT_NUMBER_ENABLED) + private Boolean statedAccountNumberEnabled = false; + + public static final String SERIALIZED_NAME_ROLLOVER401K_ENABLED = "rollover_401k_enabled"; + @SerializedName(SERIALIZED_NAME_ROLLOVER401K_ENABLED) + private Boolean rollover401kEnabled = false; + + + public LinkTokenInvestmentsAuth manualEntryEnabled(Boolean manualEntryEnabled) { + + this.manualEntryEnabled = manualEntryEnabled; + return this; + } + + /** + * If `true`, show institutions that use the manual entry fallback flow. + * @return manualEntryEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, show institutions that use the manual entry fallback flow.") + + public Boolean getManualEntryEnabled() { + return manualEntryEnabled; + } + + + public void setManualEntryEnabled(Boolean manualEntryEnabled) { + this.manualEntryEnabled = manualEntryEnabled; + } + + + public LinkTokenInvestmentsAuth maskedNumberMatchEnabled(Boolean maskedNumberMatchEnabled) { + + this.maskedNumberMatchEnabled = maskedNumberMatchEnabled; + return this; + } + + /** + * If `true`, show institutions that use the masked number match fallback flow. + * @return maskedNumberMatchEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, show institutions that use the masked number match fallback flow.") + + public Boolean getMaskedNumberMatchEnabled() { + return maskedNumberMatchEnabled; + } + + + public void setMaskedNumberMatchEnabled(Boolean maskedNumberMatchEnabled) { + this.maskedNumberMatchEnabled = maskedNumberMatchEnabled; + } + + + public LinkTokenInvestmentsAuth statedAccountNumberEnabled(Boolean statedAccountNumberEnabled) { + + this.statedAccountNumberEnabled = statedAccountNumberEnabled; + return this; + } + + /** + * If `true`, show institutions that use the stated account number fallback flow. + * @return statedAccountNumberEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, show institutions that use the stated account number fallback flow.") + + public Boolean getStatedAccountNumberEnabled() { + return statedAccountNumberEnabled; + } + + + public void setStatedAccountNumberEnabled(Boolean statedAccountNumberEnabled) { + this.statedAccountNumberEnabled = statedAccountNumberEnabled; + } + + + public LinkTokenInvestmentsAuth rollover401kEnabled(Boolean rollover401kEnabled) { + + this.rollover401kEnabled = rollover401kEnabled; + return this; + } + + /** + * If `true`, the fee and contribution details for 401k accounts will be returned. + * @return rollover401kEnabled + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, the fee and contribution details for 401k accounts will be returned.") + + public Boolean getRollover401kEnabled() { + return rollover401kEnabled; + } + + + public void setRollover401kEnabled(Boolean rollover401kEnabled) { + this.rollover401kEnabled = rollover401kEnabled; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenInvestmentsAuth linkTokenInvestmentsAuth = (LinkTokenInvestmentsAuth) o; + return Objects.equals(this.manualEntryEnabled, linkTokenInvestmentsAuth.manualEntryEnabled) && + Objects.equals(this.maskedNumberMatchEnabled, linkTokenInvestmentsAuth.maskedNumberMatchEnabled) && + Objects.equals(this.statedAccountNumberEnabled, linkTokenInvestmentsAuth.statedAccountNumberEnabled) && + Objects.equals(this.rollover401kEnabled, linkTokenInvestmentsAuth.rollover401kEnabled); + } + + @Override + public int hashCode() { + return Objects.hash(manualEntryEnabled, maskedNumberMatchEnabled, statedAccountNumberEnabled, rollover401kEnabled); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenInvestmentsAuth {\n"); + sb.append(" manualEntryEnabled: ").append(toIndentedString(manualEntryEnabled)).append("\n"); + sb.append(" maskedNumberMatchEnabled: ").append(toIndentedString(maskedNumberMatchEnabled)).append("\n"); + sb.append(" statedAccountNumberEnabled: ").append(toIndentedString(statedAccountNumberEnabled)).append("\n"); + sb.append(" rollover401kEnabled: ").append(toIndentedString(rollover401kEnabled)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkTokenTransactions.java b/src/main/java/com/plaid/client/model/LinkTokenTransactions.java new file mode 100644 index 0000000000..0d1bb1acee --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkTokenTransactions.java @@ -0,0 +1,101 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Configuration parameters for the Transactions product + */ +@ApiModel(description = "Configuration parameters for the Transactions product") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkTokenTransactions { + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested = 90; + + + public LinkTokenTransactions daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The maximum number of days of transaction history to request for the Transactions product. The more transaction history is requested, the longer the historical update poll will take. The default value is 90 days. In Production, if a value under 30 is provided, a minimum of 30 days of history will be requested. Once Transactions has been added to an Item, this value cannot be updated. Customers using [Recurring Transactions](https://plaid.com/docs/api/products/transactions/#transactionsrecurringget) should request at least 180 days of history for optimal results. + * minimum: 1 + * maximum: 730 + * @return daysRequested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of days of transaction history to request for the Transactions product. The more transaction history is requested, the longer the historical update poll will take. The default value is 90 days. In Production, if a value under 30 is provided, a minimum of 30 days of history will be requested. Once Transactions has been added to an Item, this value cannot be updated. Customers using [Recurring Transactions](https://plaid.com/docs/api/products/transactions/#transactionsrecurringget) should request at least 180 days of history for optimal results.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkTokenTransactions linkTokenTransactions = (LinkTokenTransactions) o; + return Objects.equals(this.daysRequested, linkTokenTransactions.daysRequested); + } + + @Override + public int hashCode() { + return Objects.hash(daysRequested); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkTokenTransactions {\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LinkUserDeliveryStatusWebhook.java b/src/main/java/com/plaid/client/model/LinkUserDeliveryStatusWebhook.java new file mode 100644 index 0000000000..f2657edba4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LinkUserDeliveryStatusWebhook.java @@ -0,0 +1,211 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LinkDeliveryMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Webhook indicating that the status of the delivery of the Hosted Link session to a user + */ +@ApiModel(description = "Webhook indicating that the status of the delivery of the Hosted Link session to a user") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LinkUserDeliveryStatusWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_LINK_DELIVERY_SESSION_ID = "link_delivery_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_DELIVERY_SESSION_ID) + private String linkDeliverySessionId; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private String timestamp; + + public static final String SERIALIZED_NAME_LINK_DELIVERY_METADATA = "link_delivery_metadata"; + @SerializedName(SERIALIZED_NAME_LINK_DELIVERY_METADATA) + private LinkDeliveryMetadata linkDeliveryMetadata; + + + public LinkUserDeliveryStatusWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `LINK_DELIVERY` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`LINK_DELIVERY`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public LinkUserDeliveryStatusWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `DELIVERY_STATUS` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`DELIVERY_STATUS`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public LinkUserDeliveryStatusWebhook linkDeliverySessionId(String linkDeliverySessionId) { + + this.linkDeliverySessionId = linkDeliverySessionId; + return this; + } + + /** + * The ID of the Hosted Link session. + * @return linkDeliverySessionId + **/ + @ApiModelProperty(required = true, value = "The ID of the Hosted Link session.") + + public String getLinkDeliverySessionId() { + return linkDeliverySessionId; + } + + + public void setLinkDeliverySessionId(String linkDeliverySessionId) { + this.linkDeliverySessionId = linkDeliverySessionId; + } + + + public LinkUserDeliveryStatusWebhook timestamp(String timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public String getTimestamp() { + return timestamp; + } + + + public void setTimestamp(String timestamp) { + this.timestamp = timestamp; + } + + + public LinkUserDeliveryStatusWebhook linkDeliveryMetadata(LinkDeliveryMetadata linkDeliveryMetadata) { + + this.linkDeliveryMetadata = linkDeliveryMetadata; + return this; + } + + /** + * Get linkDeliveryMetadata + * @return linkDeliveryMetadata + **/ + @ApiModelProperty(required = true, value = "") + + public LinkDeliveryMetadata getLinkDeliveryMetadata() { + return linkDeliveryMetadata; + } + + + public void setLinkDeliveryMetadata(LinkDeliveryMetadata linkDeliveryMetadata) { + this.linkDeliveryMetadata = linkDeliveryMetadata; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkUserDeliveryStatusWebhook linkUserDeliveryStatusWebhook = (LinkUserDeliveryStatusWebhook) o; + return Objects.equals(this.webhookType, linkUserDeliveryStatusWebhook.webhookType) && + Objects.equals(this.webhookCode, linkUserDeliveryStatusWebhook.webhookCode) && + Objects.equals(this.linkDeliverySessionId, linkUserDeliveryStatusWebhook.linkDeliverySessionId) && + Objects.equals(this.timestamp, linkUserDeliveryStatusWebhook.timestamp) && + Objects.equals(this.linkDeliveryMetadata, linkUserDeliveryStatusWebhook.linkDeliveryMetadata); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, linkDeliverySessionId, timestamp, linkDeliveryMetadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkUserDeliveryStatusWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" linkDeliverySessionId: ").append(toIndentedString(linkDeliverySessionId)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" linkDeliveryMetadata: ").append(toIndentedString(linkDeliveryMetadata)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Loan.java b/src/main/java/com/plaid/client/model/Loan.java new file mode 100644 index 0000000000..e3b7ec0587 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Loan.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LoanIdentifiers; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information specific to a mortgage loan agreement between one or more borrowers and a mortgage lender. + */ +@ApiModel(description = "Information specific to a mortgage loan agreement between one or more borrowers and a mortgage lender.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Loan { + public static final String SERIALIZED_NAME_L_O_A_N_I_D_E_N_T_I_F_I_E_R_S = "LOAN_IDENTIFIERS"; + @SerializedName(SERIALIZED_NAME_L_O_A_N_I_D_E_N_T_I_F_I_E_R_S) + private LoanIdentifiers LOAN_IDENTIFIERS; + + + public Loan LOAN_IDENTIFIERS(LoanIdentifiers LOAN_IDENTIFIERS) { + + this.LOAN_IDENTIFIERS = LOAN_IDENTIFIERS; + return this; + } + + /** + * Get LOAN_IDENTIFIERS + * @return LOAN_IDENTIFIERS + **/ + @ApiModelProperty(required = true, value = "") + + public LoanIdentifiers getLOANIDENTIFIERS() { + return LOAN_IDENTIFIERS; + } + + + public void setLOANIDENTIFIERS(LoanIdentifiers LOAN_IDENTIFIERS) { + this.LOAN_IDENTIFIERS = LOAN_IDENTIFIERS; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Loan loan = (Loan) o; + return Objects.equals(this.LOAN_IDENTIFIERS, loan.LOAN_IDENTIFIERS); + } + + @Override + public int hashCode() { + return Objects.hash(LOAN_IDENTIFIERS); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Loan {\n"); + sb.append(" LOAN_IDENTIFIERS: ").append(toIndentedString(LOAN_IDENTIFIERS)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LoanAccountSubtype.java b/src/main/java/com/plaid/client/model/LoanAccountSubtype.java new file mode 100644 index 0000000000..2940639ba0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LoanAccountSubtype.java @@ -0,0 +1,101 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Valid account subtypes for loan accounts. For a list containing descriptions of each subtype, see [Account schemas](https://plaid.com/docs/api/accounts/#StandaloneAccountType-loan). + */ +@JsonAdapter(LoanAccountSubtype.Adapter.class) +public enum LoanAccountSubtype { + + AUTO("auto"), + + BUSINESS("business"), + + COMMERCIAL("commercial"), + + CONSTRUCTION("construction"), + + CONSUMER("consumer"), + + HOME_EQUITY("home equity"), + + LOAN("loan"), + + MORTGAGE("mortgage"), + + OVERDRAFT("overdraft"), + + LINE_OF_CREDIT("line of credit"), + + STUDENT("student"), + + OTHER("other"), + + ALL("all"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + LoanAccountSubtype(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LoanAccountSubtype fromValue(String value) { + for (LoanAccountSubtype b : LoanAccountSubtype.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return LoanAccountSubtype.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final LoanAccountSubtype enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LoanAccountSubtype read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LoanAccountSubtype.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/LoanDisbursementsIndicators.java b/src/main/java/com/plaid/client/model/LoanDisbursementsIndicators.java new file mode 100644 index 0000000000..a4207877d2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LoanDisbursementsIndicators.java @@ -0,0 +1,389 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CategoryExpenses; +import com.plaid.client.model.MonthlyAverage; +import com.plaid.client.model.MonthlySummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Insights into loan disbursement transactions received by the user, tracking incoming funds from loan providers. + */ +@ApiModel(description = "Insights into loan disbursement transactions received by the user, tracking incoming funds from loan providers.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LoanDisbursementsIndicators { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_CATEGORY_DETAILS = "category_details"; + @SerializedName(SERIALIZED_NAME_CATEGORY_DETAILS) + private List categoryDetails = null; + + public static final String SERIALIZED_NAME_MONTHLY_AVERAGE = "monthly_average"; + @SerializedName(SERIALIZED_NAME_MONTHLY_AVERAGE) + private MonthlyAverage monthlyAverage; + + public static final String SERIALIZED_NAME_TOP_PROVIDERS = "top_providers"; + @SerializedName(SERIALIZED_NAME_TOP_PROVIDERS) + private List topProviders = null; + + public static final String SERIALIZED_NAME_TRANSACTIONS_COUNT = "transactions_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_COUNT) + private Integer transactionsCount; + + public static final String SERIALIZED_NAME_MONTHLY_SUMMARIES = "monthly_summaries"; + @SerializedName(SERIALIZED_NAME_MONTHLY_SUMMARIES) + private List monthlySummaries = null; + + public static final String SERIALIZED_NAME_DAYS_SINCE_LAST_OCCURRENCE = "days_since_last_occurrence"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_LAST_OCCURRENCE) + private Integer daysSinceLastOccurrence; + + public static final String SERIALIZED_NAME_PERCENTAGE_OF_INCOME = "percentage_of_income"; + @SerializedName(SERIALIZED_NAME_PERCENTAGE_OF_INCOME) + private Double percentageOfIncome; + + + public LoanDisbursementsIndicators amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The total value of inflow transactions categorized as `LOAN_DISBURSEMENTS`, across all the accounts in the report within the requested time window. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total value of inflow transactions categorized as `LOAN_DISBURSEMENTS`, across all the accounts in the report within the requested time window.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public LoanDisbursementsIndicators isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public LoanDisbursementsIndicators unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public LoanDisbursementsIndicators categoryDetails(List categoryDetails) { + + this.categoryDetails = categoryDetails; + return this; + } + + public LoanDisbursementsIndicators addCategoryDetailsItem(CategoryExpenses categoryDetailsItem) { + if (this.categoryDetails == null) { + this.categoryDetails = new ArrayList<>(); + } + this.categoryDetails.add(categoryDetailsItem); + return this; + } + + /** + * Detailed categories view of all the transactions that fall into the `LOAN_DISBURSEMENTS` credit category within the given time window, across all the accounts in the report. + * @return categoryDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Detailed categories view of all the transactions that fall into the `LOAN_DISBURSEMENTS` credit category within the given time window, across all the accounts in the report.") + + public List getCategoryDetails() { + return categoryDetails; + } + + + public void setCategoryDetails(List categoryDetails) { + this.categoryDetails = categoryDetails; + } + + + public LoanDisbursementsIndicators monthlyAverage(MonthlyAverage monthlyAverage) { + + this.monthlyAverage = monthlyAverage; + return this; + } + + /** + * Get monthlyAverage + * @return monthlyAverage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MonthlyAverage getMonthlyAverage() { + return monthlyAverage; + } + + + public void setMonthlyAverage(MonthlyAverage monthlyAverage) { + this.monthlyAverage = monthlyAverage; + } + + + public LoanDisbursementsIndicators topProviders(List topProviders) { + + this.topProviders = topProviders; + return this; + } + + public LoanDisbursementsIndicators addTopProvidersItem(String topProvidersItem) { + if (this.topProviders == null) { + this.topProviders = new ArrayList<>(); + } + this.topProviders.add(topProvidersItem); + return this; + } + + /** + * Up to 3 top service providers that the user had the most transactions for in the given time window, in descending order of total spend. If the user has not received money from any provider in the given time window, this list will be empty. + * @return topProviders + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Up to 3 top service providers that the user had the most transactions for in the given time window, in descending order of total spend. If the user has not received money from any provider in the given time window, this list will be empty.") + + public List getTopProviders() { + return topProviders; + } + + + public void setTopProviders(List topProviders) { + this.topProviders = topProviders; + } + + + public LoanDisbursementsIndicators transactionsCount(Integer transactionsCount) { + + this.transactionsCount = transactionsCount; + return this; + } + + /** + * The total number of transactions that fall into the `LOAN_DISBURSEMENTS` credit category, across all the accounts in the report. + * @return transactionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of transactions that fall into the `LOAN_DISBURSEMENTS` credit category, across all the accounts in the report.") + + public Integer getTransactionsCount() { + return transactionsCount; + } + + + public void setTransactionsCount(Integer transactionsCount) { + this.transactionsCount = transactionsCount; + } + + + public LoanDisbursementsIndicators monthlySummaries(List monthlySummaries) { + + this.monthlySummaries = monthlySummaries; + return this; + } + + public LoanDisbursementsIndicators addMonthlySummariesItem(MonthlySummary monthlySummariesItem) { + if (this.monthlySummaries == null) { + this.monthlySummaries = new ArrayList<>(); + } + this.monthlySummaries.add(monthlySummariesItem); + return this; + } + + /** + * The monthly summaries of the transactions that fall into the `LOAN_DISBURSEMENTS` category within the given time window, across all the accounts in the report. + * @return monthlySummaries + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The monthly summaries of the transactions that fall into the `LOAN_DISBURSEMENTS` category within the given time window, across all the accounts in the report.") + + public List getMonthlySummaries() { + return monthlySummaries; + } + + + public void setMonthlySummaries(List monthlySummaries) { + this.monthlySummaries = monthlySummaries; + } + + + public LoanDisbursementsIndicators daysSinceLastOccurrence(Integer daysSinceLastOccurrence) { + + this.daysSinceLastOccurrence = daysSinceLastOccurrence; + return this; + } + + /** + * The number of days since the last transaction that falls into the `LOAN_DISBURSEMENTS` credit category, across all the accounts in the report. + * @return daysSinceLastOccurrence + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days since the last transaction that falls into the `LOAN_DISBURSEMENTS` credit category, across all the accounts in the report.") + + public Integer getDaysSinceLastOccurrence() { + return daysSinceLastOccurrence; + } + + + public void setDaysSinceLastOccurrence(Integer daysSinceLastOccurrence) { + this.daysSinceLastOccurrence = daysSinceLastOccurrence; + } + + + public LoanDisbursementsIndicators percentageOfIncome(Double percentageOfIncome) { + + this.percentageOfIncome = percentageOfIncome; + return this; + } + + /** + * The percentage of the user's monthly inflows that was received on transactions that fall into the `LOAN_DISBURSEMENTS` credit category within the given time window, across all the accounts in the report. For example, a value of 100 indicates that 100% of the inflows were spent on transactions that fall into the `LOAN_DISBURSEMENTS` credit category. If there's no available income for the given time period, this field value will be `-1`. + * @return percentageOfIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The percentage of the user's monthly inflows that was received on transactions that fall into the `LOAN_DISBURSEMENTS` credit category within the given time window, across all the accounts in the report. For example, a value of 100 indicates that 100% of the inflows were spent on transactions that fall into the `LOAN_DISBURSEMENTS` credit category. If there's no available income for the given time period, this field value will be `-1`.") + + public Double getPercentageOfIncome() { + return percentageOfIncome; + } + + + public void setPercentageOfIncome(Double percentageOfIncome) { + this.percentageOfIncome = percentageOfIncome; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LoanDisbursementsIndicators loanDisbursementsIndicators = (LoanDisbursementsIndicators) o; + return Objects.equals(this.amount, loanDisbursementsIndicators.amount) && + Objects.equals(this.isoCurrencyCode, loanDisbursementsIndicators.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, loanDisbursementsIndicators.unofficialCurrencyCode) && + Objects.equals(this.categoryDetails, loanDisbursementsIndicators.categoryDetails) && + Objects.equals(this.monthlyAverage, loanDisbursementsIndicators.monthlyAverage) && + Objects.equals(this.topProviders, loanDisbursementsIndicators.topProviders) && + Objects.equals(this.transactionsCount, loanDisbursementsIndicators.transactionsCount) && + Objects.equals(this.monthlySummaries, loanDisbursementsIndicators.monthlySummaries) && + Objects.equals(this.daysSinceLastOccurrence, loanDisbursementsIndicators.daysSinceLastOccurrence) && + Objects.equals(this.percentageOfIncome, loanDisbursementsIndicators.percentageOfIncome); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode, categoryDetails, monthlyAverage, topProviders, transactionsCount, monthlySummaries, daysSinceLastOccurrence, percentageOfIncome); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LoanDisbursementsIndicators {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" categoryDetails: ").append(toIndentedString(categoryDetails)).append("\n"); + sb.append(" monthlyAverage: ").append(toIndentedString(monthlyAverage)).append("\n"); + sb.append(" topProviders: ").append(toIndentedString(topProviders)).append("\n"); + sb.append(" transactionsCount: ").append(toIndentedString(transactionsCount)).append("\n"); + sb.append(" monthlySummaries: ").append(toIndentedString(monthlySummaries)).append("\n"); + sb.append(" daysSinceLastOccurrence: ").append(toIndentedString(daysSinceLastOccurrence)).append("\n"); + sb.append(" percentageOfIncome: ").append(toIndentedString(percentageOfIncome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LoanFilter.java b/src/main/java/com/plaid/client/model/LoanFilter.java new file mode 100644 index 0000000000..8c1c987e29 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LoanFilter.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LoanAccountSubtype; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A filter to apply to `loan`-type accounts + */ +@ApiModel(description = "A filter to apply to `loan`-type accounts") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LoanFilter { + public static final String SERIALIZED_NAME_ACCOUNT_SUBTYPES = "account_subtypes"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SUBTYPES) + private List accountSubtypes = new ArrayList<>(); + + + public LoanFilter accountSubtypes(List accountSubtypes) { + + this.accountSubtypes = accountSubtypes; + return this; + } + + public LoanFilter addAccountSubtypesItem(LoanAccountSubtype accountSubtypesItem) { + this.accountSubtypes.add(accountSubtypesItem); + return this; + } + + /** + * An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountSubtypes + **/ + @ApiModelProperty(required = true, value = "An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ") + + public List getAccountSubtypes() { + return accountSubtypes; + } + + + public void setAccountSubtypes(List accountSubtypes) { + this.accountSubtypes = accountSubtypes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LoanFilter loanFilter = (LoanFilter) o; + return Objects.equals(this.accountSubtypes, loanFilter.accountSubtypes); + } + + @Override + public int hashCode() { + return Objects.hash(accountSubtypes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LoanFilter {\n"); + sb.append(" accountSubtypes: ").append(toIndentedString(accountSubtypes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LoanIdentifier.java b/src/main/java/com/plaid/client/model/LoanIdentifier.java new file mode 100644 index 0000000000..c152544832 --- /dev/null +++ b/src/main/java/com/plaid/client/model/LoanIdentifier.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LoanIdentifierType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The information used to identify this loan by various parties to the transaction or other organizations. + */ +@ApiModel(description = "The information used to identify this loan by various parties to the transaction or other organizations.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LoanIdentifier { + public static final String SERIALIZED_NAME_LOAN_IDENTIFIER = "LoanIdentifier"; + @SerializedName(SERIALIZED_NAME_LOAN_IDENTIFIER) + private String loanIdentifier; + + public static final String SERIALIZED_NAME_LOAN_IDENTIFIER_TYPE = "LoanIdentifierType"; + @SerializedName(SERIALIZED_NAME_LOAN_IDENTIFIER_TYPE) + private LoanIdentifierType loanIdentifierType; + + + public LoanIdentifier loanIdentifier(String loanIdentifier) { + + this.loanIdentifier = loanIdentifier; + return this; + } + + /** + * The value of the identifier for the specified type. + * @return loanIdentifier + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The value of the identifier for the specified type.") + + public String getLoanIdentifier() { + return loanIdentifier; + } + + + public void setLoanIdentifier(String loanIdentifier) { + this.loanIdentifier = loanIdentifier; + } + + + public LoanIdentifier loanIdentifierType(LoanIdentifierType loanIdentifierType) { + + this.loanIdentifierType = loanIdentifierType; + return this; + } + + /** + * Get loanIdentifierType + * @return loanIdentifierType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public LoanIdentifierType getLoanIdentifierType() { + return loanIdentifierType; + } + + + public void setLoanIdentifierType(LoanIdentifierType loanIdentifierType) { + this.loanIdentifierType = loanIdentifierType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LoanIdentifier loanIdentifier = (LoanIdentifier) o; + return Objects.equals(this.loanIdentifier, loanIdentifier.loanIdentifier) && + Objects.equals(this.loanIdentifierType, loanIdentifier.loanIdentifierType); + } + + @Override + public int hashCode() { + return Objects.hash(loanIdentifier, loanIdentifierType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LoanIdentifier {\n"); + sb.append(" loanIdentifier: ").append(toIndentedString(loanIdentifier)).append("\n"); + sb.append(" loanIdentifierType: ").append(toIndentedString(loanIdentifierType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LoanIdentifierType.java b/src/main/java/com/plaid/client/model/LoanIdentifierType.java new file mode 100644 index 0000000000..4276dbe58e --- /dev/null +++ b/src/main/java/com/plaid/client/model/LoanIdentifierType.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A value from a MISMO prescribed list that specifies the type of loan identifier. + */ +@JsonAdapter(LoanIdentifierType.Adapter.class) +public enum LoanIdentifierType { + + LENDERLOAN("LenderLoan"), + + UNIVERSALLOAN("UniversalLoan"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + LoanIdentifierType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LoanIdentifierType fromValue(String value) { + for (LoanIdentifierType b : LoanIdentifierType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final LoanIdentifierType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LoanIdentifierType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LoanIdentifierType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/LoanIdentifiers.java b/src/main/java/com/plaid/client/model/LoanIdentifiers.java new file mode 100644 index 0000000000..f412ba0fbd --- /dev/null +++ b/src/main/java/com/plaid/client/model/LoanIdentifiers.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LoanIdentifier; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Collection of current and previous identifiers for this loan. + */ +@ApiModel(description = "Collection of current and previous identifiers for this loan.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LoanIdentifiers { + public static final String SERIALIZED_NAME_L_O_A_N_I_D_E_N_T_I_F_I_E_R = "LOAN_IDENTIFIER"; + @SerializedName(SERIALIZED_NAME_L_O_A_N_I_D_E_N_T_I_F_I_E_R) + private LoanIdentifier LOAN_IDENTIFIER; + + + public LoanIdentifiers LOAN_IDENTIFIER(LoanIdentifier LOAN_IDENTIFIER) { + + this.LOAN_IDENTIFIER = LOAN_IDENTIFIER; + return this; + } + + /** + * Get LOAN_IDENTIFIER + * @return LOAN_IDENTIFIER + **/ + @ApiModelProperty(required = true, value = "") + + public LoanIdentifier getLOANIDENTIFIER() { + return LOAN_IDENTIFIER; + } + + + public void setLOANIDENTIFIER(LoanIdentifier LOAN_IDENTIFIER) { + this.LOAN_IDENTIFIER = LOAN_IDENTIFIER; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LoanIdentifiers loanIdentifiers = (LoanIdentifiers) o; + return Objects.equals(this.LOAN_IDENTIFIER, loanIdentifiers.LOAN_IDENTIFIER); + } + + @Override + public int hashCode() { + return Objects.hash(LOAN_IDENTIFIER); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LoanIdentifiers {\n"); + sb.append(" LOAN_IDENTIFIER: ").append(toIndentedString(LOAN_IDENTIFIER)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LoanPaymentsCounts.java b/src/main/java/com/plaid/client/model/LoanPaymentsCounts.java new file mode 100644 index 0000000000..43776c5e9d --- /dev/null +++ b/src/main/java/com/plaid/client/model/LoanPaymentsCounts.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Details regarding the number of loan payments + */ +@ApiModel(description = "Details regarding the number of loan payments") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LoanPaymentsCounts { + public static final String SERIALIZED_NAME_BASELINE_COUNT = "baseline_count"; + @SerializedName(SERIALIZED_NAME_BASELINE_COUNT) + private Double baselineCount; + + public static final String SERIALIZED_NAME_CURRENT_COUNT = "current_count"; + @SerializedName(SERIALIZED_NAME_CURRENT_COUNT) + private Double currentCount; + + + public LoanPaymentsCounts baselineCount(Double baselineCount) { + + this.baselineCount = baselineCount; + return this; + } + + /** + * The number of loan payments made in the 30 days before the subscription date + * @return baselineCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of loan payments made in the 30 days before the subscription date") + + public Double getBaselineCount() { + return baselineCount; + } + + + public void setBaselineCount(Double baselineCount) { + this.baselineCount = baselineCount; + } + + + public LoanPaymentsCounts currentCount(Double currentCount) { + + this.currentCount = currentCount; + return this; + } + + /** + * The current number of loan payments made in the last 30 days + * @return currentCount + **/ + @ApiModelProperty(required = true, value = "The current number of loan payments made in the last 30 days") + + public Double getCurrentCount() { + return currentCount; + } + + + public void setCurrentCount(Double currentCount) { + this.currentCount = currentCount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LoanPaymentsCounts loanPaymentsCounts = (LoanPaymentsCounts) o; + return Objects.equals(this.baselineCount, loanPaymentsCounts.baselineCount) && + Objects.equals(this.currentCount, loanPaymentsCounts.currentCount); + } + + @Override + public int hashCode() { + return Objects.hash(baselineCount, currentCount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LoanPaymentsCounts {\n"); + sb.append(" baselineCount: ").append(toIndentedString(baselineCount)).append("\n"); + sb.append(" currentCount: ").append(toIndentedString(currentCount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LoanPaymentsIndicators.java b/src/main/java/com/plaid/client/model/LoanPaymentsIndicators.java new file mode 100644 index 0000000000..e5a71d15da --- /dev/null +++ b/src/main/java/com/plaid/client/model/LoanPaymentsIndicators.java @@ -0,0 +1,389 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CategoryExpenses; +import com.plaid.client.model.MonthlyAverage; +import com.plaid.client.model.MonthlySummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Insights into loan payment transactions made by the user, tracking outgoing payments to loan providers. + */ +@ApiModel(description = "Insights into loan payment transactions made by the user, tracking outgoing payments to loan providers.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LoanPaymentsIndicators { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_MONTHLY_AVERAGE = "monthly_average"; + @SerializedName(SERIALIZED_NAME_MONTHLY_AVERAGE) + private MonthlyAverage monthlyAverage; + + public static final String SERIALIZED_NAME_CATEGORY_DETAILS = "category_details"; + @SerializedName(SERIALIZED_NAME_CATEGORY_DETAILS) + private List categoryDetails = null; + + public static final String SERIALIZED_NAME_TOP_PROVIDERS = "top_providers"; + @SerializedName(SERIALIZED_NAME_TOP_PROVIDERS) + private List topProviders = null; + + public static final String SERIALIZED_NAME_TRANSACTIONS_COUNT = "transactions_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_COUNT) + private Integer transactionsCount; + + public static final String SERIALIZED_NAME_MONTHLY_SUMMARIES = "monthly_summaries"; + @SerializedName(SERIALIZED_NAME_MONTHLY_SUMMARIES) + private List monthlySummaries = null; + + public static final String SERIALIZED_NAME_DAYS_SINCE_LAST_OCCURRENCE = "days_since_last_occurrence"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_LAST_OCCURRENCE) + private Integer daysSinceLastOccurrence; + + public static final String SERIALIZED_NAME_PERCENTAGE_OF_INCOME = "percentage_of_income"; + @SerializedName(SERIALIZED_NAME_PERCENTAGE_OF_INCOME) + private Double percentageOfIncome; + + + public LoanPaymentsIndicators amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The total value of outflow transactions categorized as `LOAN_PAYMENTS`, across all the accounts in the report within the requested time window. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total value of outflow transactions categorized as `LOAN_PAYMENTS`, across all the accounts in the report within the requested time window.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public LoanPaymentsIndicators isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public LoanPaymentsIndicators unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public LoanPaymentsIndicators monthlyAverage(MonthlyAverage monthlyAverage) { + + this.monthlyAverage = monthlyAverage; + return this; + } + + /** + * Get monthlyAverage + * @return monthlyAverage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MonthlyAverage getMonthlyAverage() { + return monthlyAverage; + } + + + public void setMonthlyAverage(MonthlyAverage monthlyAverage) { + this.monthlyAverage = monthlyAverage; + } + + + public LoanPaymentsIndicators categoryDetails(List categoryDetails) { + + this.categoryDetails = categoryDetails; + return this; + } + + public LoanPaymentsIndicators addCategoryDetailsItem(CategoryExpenses categoryDetailsItem) { + if (this.categoryDetails == null) { + this.categoryDetails = new ArrayList<>(); + } + this.categoryDetails.add(categoryDetailsItem); + return this; + } + + /** + * Detailed categories view of all the transactions that fall into the `LOAN_PAYMENTS` credit category within the given time window, across all the accounts in the report. + * @return categoryDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Detailed categories view of all the transactions that fall into the `LOAN_PAYMENTS` credit category within the given time window, across all the accounts in the report.") + + public List getCategoryDetails() { + return categoryDetails; + } + + + public void setCategoryDetails(List categoryDetails) { + this.categoryDetails = categoryDetails; + } + + + public LoanPaymentsIndicators topProviders(List topProviders) { + + this.topProviders = topProviders; + return this; + } + + public LoanPaymentsIndicators addTopProvidersItem(String topProvidersItem) { + if (this.topProviders == null) { + this.topProviders = new ArrayList<>(); + } + this.topProviders.add(topProvidersItem); + return this; + } + + /** + * Up to 3 top service providers that the user had the most transactions for in the given time window, in descending order of total spend. If the user has not spent money on any provider in the given time window, this list will be empty. + * @return topProviders + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Up to 3 top service providers that the user had the most transactions for in the given time window, in descending order of total spend. If the user has not spent money on any provider in the given time window, this list will be empty.") + + public List getTopProviders() { + return topProviders; + } + + + public void setTopProviders(List topProviders) { + this.topProviders = topProviders; + } + + + public LoanPaymentsIndicators transactionsCount(Integer transactionsCount) { + + this.transactionsCount = transactionsCount; + return this; + } + + /** + * The total number of transactions that fall into the `LOAN_PAYMENTS` credit category, across all the accounts in the report. + * @return transactionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of transactions that fall into the `LOAN_PAYMENTS` credit category, across all the accounts in the report.") + + public Integer getTransactionsCount() { + return transactionsCount; + } + + + public void setTransactionsCount(Integer transactionsCount) { + this.transactionsCount = transactionsCount; + } + + + public LoanPaymentsIndicators monthlySummaries(List monthlySummaries) { + + this.monthlySummaries = monthlySummaries; + return this; + } + + public LoanPaymentsIndicators addMonthlySummariesItem(MonthlySummary monthlySummariesItem) { + if (this.monthlySummaries == null) { + this.monthlySummaries = new ArrayList<>(); + } + this.monthlySummaries.add(monthlySummariesItem); + return this; + } + + /** + * The monthly summaries of the transactions that fall into the `LOAN_PAYMENTS` credit category within the given time window, across all the accounts in the report. + * @return monthlySummaries + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The monthly summaries of the transactions that fall into the `LOAN_PAYMENTS` credit category within the given time window, across all the accounts in the report.") + + public List getMonthlySummaries() { + return monthlySummaries; + } + + + public void setMonthlySummaries(List monthlySummaries) { + this.monthlySummaries = monthlySummaries; + } + + + public LoanPaymentsIndicators daysSinceLastOccurrence(Integer daysSinceLastOccurrence) { + + this.daysSinceLastOccurrence = daysSinceLastOccurrence; + return this; + } + + /** + * The number of days since the last transaction that falls into the `LOAN_PAYMENTS` credit category, across all the accounts in the report. + * @return daysSinceLastOccurrence + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days since the last transaction that falls into the `LOAN_PAYMENTS` credit category, across all the accounts in the report.") + + public Integer getDaysSinceLastOccurrence() { + return daysSinceLastOccurrence; + } + + + public void setDaysSinceLastOccurrence(Integer daysSinceLastOccurrence) { + this.daysSinceLastOccurrence = daysSinceLastOccurrence; + } + + + public LoanPaymentsIndicators percentageOfIncome(Double percentageOfIncome) { + + this.percentageOfIncome = percentageOfIncome; + return this; + } + + /** + * The percentage of the user's monthly inflows that was spent on transactions that fall into the `LOAN_PAYMENTS` credit category within the given time window, across all the accounts in the report. For example, a value of 100 indicates that 100% of the inflows were spent on transactions that fall into the `LOAN_PAYMENTS` credit category. If there's no available income for the given time period, this field value will be `-1` + * @return percentageOfIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The percentage of the user's monthly inflows that was spent on transactions that fall into the `LOAN_PAYMENTS` credit category within the given time window, across all the accounts in the report. For example, a value of 100 indicates that 100% of the inflows were spent on transactions that fall into the `LOAN_PAYMENTS` credit category. If there's no available income for the given time period, this field value will be `-1`") + + public Double getPercentageOfIncome() { + return percentageOfIncome; + } + + + public void setPercentageOfIncome(Double percentageOfIncome) { + this.percentageOfIncome = percentageOfIncome; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LoanPaymentsIndicators loanPaymentsIndicators = (LoanPaymentsIndicators) o; + return Objects.equals(this.amount, loanPaymentsIndicators.amount) && + Objects.equals(this.isoCurrencyCode, loanPaymentsIndicators.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, loanPaymentsIndicators.unofficialCurrencyCode) && + Objects.equals(this.monthlyAverage, loanPaymentsIndicators.monthlyAverage) && + Objects.equals(this.categoryDetails, loanPaymentsIndicators.categoryDetails) && + Objects.equals(this.topProviders, loanPaymentsIndicators.topProviders) && + Objects.equals(this.transactionsCount, loanPaymentsIndicators.transactionsCount) && + Objects.equals(this.monthlySummaries, loanPaymentsIndicators.monthlySummaries) && + Objects.equals(this.daysSinceLastOccurrence, loanPaymentsIndicators.daysSinceLastOccurrence) && + Objects.equals(this.percentageOfIncome, loanPaymentsIndicators.percentageOfIncome); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode, monthlyAverage, categoryDetails, topProviders, transactionsCount, monthlySummaries, daysSinceLastOccurrence, percentageOfIncome); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LoanPaymentsIndicators {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" monthlyAverage: ").append(toIndentedString(monthlyAverage)).append("\n"); + sb.append(" categoryDetails: ").append(toIndentedString(categoryDetails)).append("\n"); + sb.append(" topProviders: ").append(toIndentedString(topProviders)).append("\n"); + sb.append(" transactionsCount: ").append(toIndentedString(transactionsCount)).append("\n"); + sb.append(" monthlySummaries: ").append(toIndentedString(monthlySummaries)).append("\n"); + sb.append(" daysSinceLastOccurrence: ").append(toIndentedString(daysSinceLastOccurrence)).append("\n"); + sb.append(" percentageOfIncome: ").append(toIndentedString(percentageOfIncome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/LoanPaymentsMerchantCounts.java b/src/main/java/com/plaid/client/model/LoanPaymentsMerchantCounts.java new file mode 100644 index 0000000000..407c7a666e --- /dev/null +++ b/src/main/java/com/plaid/client/model/LoanPaymentsMerchantCounts.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Details regarding the number of unique loan payment merchants + */ +@ApiModel(description = "Details regarding the number of unique loan payment merchants") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class LoanPaymentsMerchantCounts { + public static final String SERIALIZED_NAME_BASELINE_COUNT = "baseline_count"; + @SerializedName(SERIALIZED_NAME_BASELINE_COUNT) + private Double baselineCount; + + public static final String SERIALIZED_NAME_CURRENT_COUNT = "current_count"; + @SerializedName(SERIALIZED_NAME_CURRENT_COUNT) + private Double currentCount; + + + public LoanPaymentsMerchantCounts baselineCount(Double baselineCount) { + + this.baselineCount = baselineCount; + return this; + } + + /** + * The number of unique loan payment merchants detected in the 30 days before the subscription date + * @return baselineCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of unique loan payment merchants detected in the 30 days before the subscription date") + + public Double getBaselineCount() { + return baselineCount; + } + + + public void setBaselineCount(Double baselineCount) { + this.baselineCount = baselineCount; + } + + + public LoanPaymentsMerchantCounts currentCount(Double currentCount) { + + this.currentCount = currentCount; + return this; + } + + /** + * The current number of unique loan payment merchants detected in the last 30 days + * @return currentCount + **/ + @ApiModelProperty(required = true, value = "The current number of unique loan payment merchants detected in the last 30 days") + + public Double getCurrentCount() { + return currentCount; + } + + + public void setCurrentCount(Double currentCount) { + this.currentCount = currentCount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LoanPaymentsMerchantCounts loanPaymentsMerchantCounts = (LoanPaymentsMerchantCounts) o; + return Objects.equals(this.baselineCount, loanPaymentsMerchantCounts.baselineCount) && + Objects.equals(this.currentCount, loanPaymentsMerchantCounts.currentCount); + } + + @Override + public int hashCode() { + return Objects.hash(baselineCount, currentCount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LoanPaymentsMerchantCounts {\n"); + sb.append(" baselineCount: ").append(toIndentedString(baselineCount)).append("\n"); + sb.append(" currentCount: ").append(toIndentedString(currentCount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Loans.java b/src/main/java/com/plaid/client/model/Loans.java new file mode 100644 index 0000000000..5ba872d3af --- /dev/null +++ b/src/main/java/com/plaid/client/model/Loans.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Loan; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A collection of loans that are part of a single deal. + */ +@ApiModel(description = "A collection of loans that are part of a single deal.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Loans { + public static final String SERIALIZED_NAME_L_O_A_N = "LOAN"; + @SerializedName(SERIALIZED_NAME_L_O_A_N) + private Loan LOAN; + + + public Loans LOAN(Loan LOAN) { + + this.LOAN = LOAN; + return this; + } + + /** + * Get LOAN + * @return LOAN + **/ + @ApiModelProperty(required = true, value = "") + + public Loan getLOAN() { + return LOAN; + } + + + public void setLOAN(Loan LOAN) { + this.LOAN = LOAN; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Loans loans = (Loans) o; + return Objects.equals(this.LOAN, loans.LOAN); + } + + @Override + public int hashCode() { + return Objects.hash(LOAN); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Loans {\n"); + sb.append(" LOAN: ").append(toIndentedString(LOAN)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Location.java b/src/main/java/com/plaid/client/model/Location.java new file mode 100644 index 0000000000..bf3b478d12 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Location.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A representation of where a transaction took place. Location data is provided only for transactions at physical locations, not for online transactions. Location data availability depends primarily on the merchant and is most likely to be populated for transactions at large retail chains; small, local businesses are less likely to have location data available. + */ +@ApiModel(description = "A representation of where a transaction took place. Location data is provided only for transactions at physical locations, not for online transactions. Location data availability depends primarily on the merchant and is most likely to be populated for transactions at large retail chains; small, local businesses are less likely to have location data available.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Location { + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private String address; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_LAT = "lat"; + @SerializedName(SERIALIZED_NAME_LAT) + private Double lat; + + public static final String SERIALIZED_NAME_LON = "lon"; + @SerializedName(SERIALIZED_NAME_LON) + private Double lon; + + public static final String SERIALIZED_NAME_STORE_NUMBER = "store_number"; + @SerializedName(SERIALIZED_NAME_STORE_NUMBER) + private String storeNumber; + + + public Location address(String address) { + + this.address = address; + return this; + } + + /** + * The street address where the transaction occurred. + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The street address where the transaction occurred.") + + public String getAddress() { + return address; + } + + + public void setAddress(String address) { + this.address = address; + } + + + public Location city(String city) { + + this.city = city; + return this; + } + + /** + * The city where the transaction occurred. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The city where the transaction occurred.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public Location region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `state`. + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The region or state where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `state`.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public Location postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `zip`. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The postal code where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `zip`.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public Location country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code where the transaction occurred. + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 3166-1 alpha-2 country code where the transaction occurred.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public Location lat(Double lat) { + + this.lat = lat; + return this; + } + + /** + * The latitude where the transaction occurred. + * @return lat + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The latitude where the transaction occurred.") + + public Double getLat() { + return lat; + } + + + public void setLat(Double lat) { + this.lat = lat; + } + + + public Location lon(Double lon) { + + this.lon = lon; + return this; + } + + /** + * The longitude where the transaction occurred. + * @return lon + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The longitude where the transaction occurred.") + + public Double getLon() { + return lon; + } + + + public void setLon(Double lon) { + this.lon = lon; + } + + + public Location storeNumber(String storeNumber) { + + this.storeNumber = storeNumber; + return this; + } + + /** + * The merchant defined store number where the transaction occurred. + * @return storeNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The merchant defined store number where the transaction occurred.") + + public String getStoreNumber() { + return storeNumber; + } + + + public void setStoreNumber(String storeNumber) { + this.storeNumber = storeNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Location location = (Location) o; + return Objects.equals(this.address, location.address) && + Objects.equals(this.city, location.city) && + Objects.equals(this.region, location.region) && + Objects.equals(this.postalCode, location.postalCode) && + Objects.equals(this.country, location.country) && + Objects.equals(this.lat, location.lat) && + Objects.equals(this.lon, location.lon) && + Objects.equals(this.storeNumber, location.storeNumber); + } + + @Override + public int hashCode() { + return Objects.hash(address, city, region, postalCode, country, lat, lon, storeNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Location {\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" lat: ").append(toIndentedString(lat)).append("\n"); + sb.append(" lon: ").append(toIndentedString(lon)).append("\n"); + sb.append(" storeNumber: ").append(toIndentedString(storeNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MFA.java b/src/main/java/com/plaid/client/model/MFA.java new file mode 100644 index 0000000000..171440a17d --- /dev/null +++ b/src/main/java/com/plaid/client/model/MFA.java @@ -0,0 +1,211 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Specifies the multi-factor authentication settings to use with this test account + */ +@ApiModel(description = "Specifies the multi-factor authentication settings to use with this test account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MFA { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_QUESTION_ROUNDS = "question_rounds"; + @SerializedName(SERIALIZED_NAME_QUESTION_ROUNDS) + private Double questionRounds; + + public static final String SERIALIZED_NAME_QUESTIONS_PER_ROUND = "questions_per_round"; + @SerializedName(SERIALIZED_NAME_QUESTIONS_PER_ROUND) + private Double questionsPerRound; + + public static final String SERIALIZED_NAME_SELECTION_ROUNDS = "selection_rounds"; + @SerializedName(SERIALIZED_NAME_SELECTION_ROUNDS) + private Double selectionRounds; + + public static final String SERIALIZED_NAME_SELECTIONS_PER_QUESTION = "selections_per_question"; + @SerializedName(SERIALIZED_NAME_SELECTIONS_PER_QUESTION) + private Double selectionsPerQuestion; + + + public MFA type(String type) { + + this.type = type; + return this; + } + + /** + * Possible values are `device`, `selections`, or `questions`. If value is `device`, the MFA answer is `1234`. If value is `selections`, the MFA answer is always the first option. If value is `questions`, the MFA answer is `answer_<i>_<j>` for the j-th question in the i-th round, starting from 0. For example, the answer to the first question in the second round is `answer_1_0`. + * @return type + **/ + @ApiModelProperty(required = true, value = "Possible values are `device`, `selections`, or `questions`. If value is `device`, the MFA answer is `1234`. If value is `selections`, the MFA answer is always the first option. If value is `questions`, the MFA answer is `answer__` for the j-th question in the i-th round, starting from 0. For example, the answer to the first question in the second round is `answer_1_0`.") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public MFA questionRounds(Double questionRounds) { + + this.questionRounds = questionRounds; + return this; + } + + /** + * Number of rounds of questions. Required if value of `type` is `questions`. + * @return questionRounds + **/ + @ApiModelProperty(required = true, value = "Number of rounds of questions. Required if value of `type` is `questions`. ") + + public Double getQuestionRounds() { + return questionRounds; + } + + + public void setQuestionRounds(Double questionRounds) { + this.questionRounds = questionRounds; + } + + + public MFA questionsPerRound(Double questionsPerRound) { + + this.questionsPerRound = questionsPerRound; + return this; + } + + /** + * Number of questions per round. Required if value of `type` is `questions`. If value of type is `selections`, default value is 2. + * @return questionsPerRound + **/ + @ApiModelProperty(required = true, value = "Number of questions per round. Required if value of `type` is `questions`. If value of type is `selections`, default value is 2.") + + public Double getQuestionsPerRound() { + return questionsPerRound; + } + + + public void setQuestionsPerRound(Double questionsPerRound) { + this.questionsPerRound = questionsPerRound; + } + + + public MFA selectionRounds(Double selectionRounds) { + + this.selectionRounds = selectionRounds; + return this; + } + + /** + * Number of rounds of selections, used if `type` is `selections`. Defaults to 1. + * @return selectionRounds + **/ + @ApiModelProperty(required = true, value = "Number of rounds of selections, used if `type` is `selections`. Defaults to 1.") + + public Double getSelectionRounds() { + return selectionRounds; + } + + + public void setSelectionRounds(Double selectionRounds) { + this.selectionRounds = selectionRounds; + } + + + public MFA selectionsPerQuestion(Double selectionsPerQuestion) { + + this.selectionsPerQuestion = selectionsPerQuestion; + return this; + } + + /** + * Number of available answers per question, used if `type` is `selections`. Defaults to 2. + * @return selectionsPerQuestion + **/ + @ApiModelProperty(required = true, value = "Number of available answers per question, used if `type` is `selections`. Defaults to 2. ") + + public Double getSelectionsPerQuestion() { + return selectionsPerQuestion; + } + + + public void setSelectionsPerQuestion(Double selectionsPerQuestion) { + this.selectionsPerQuestion = selectionsPerQuestion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MFA MFA = (MFA) o; + return Objects.equals(this.type, MFA.type) && + Objects.equals(this.questionRounds, MFA.questionRounds) && + Objects.equals(this.questionsPerRound, MFA.questionsPerRound) && + Objects.equals(this.selectionRounds, MFA.selectionRounds) && + Objects.equals(this.selectionsPerQuestion, MFA.selectionsPerQuestion); + } + + @Override + public int hashCode() { + return Objects.hash(type, questionRounds, questionsPerRound, selectionRounds, selectionsPerQuestion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MFA {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" questionRounds: ").append(toIndentedString(questionRounds)).append("\n"); + sb.append(" questionsPerRound: ").append(toIndentedString(questionsPerRound)).append("\n"); + sb.append(" selectionRounds: ").append(toIndentedString(selectionRounds)).append("\n"); + sb.append(" selectionsPerQuestion: ").append(toIndentedString(selectionsPerQuestion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MatchSummary.java b/src/main/java/com/plaid/client/model/MatchSummary.java new file mode 100644 index 0000000000..c337b0a8c5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/MatchSummary.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MatchSummaryCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Summary object reflecting the match result of the associated data + */ +@ApiModel(description = "Summary object reflecting the match result of the associated data") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MatchSummary { + public static final String SERIALIZED_NAME_SUMMARY = "summary"; + @SerializedName(SERIALIZED_NAME_SUMMARY) + private MatchSummaryCode summary; + + + public MatchSummary summary(MatchSummaryCode summary) { + + this.summary = summary; + return this; + } + + /** + * Get summary + * @return summary + **/ + @ApiModelProperty(required = true, value = "") + + public MatchSummaryCode getSummary() { + return summary; + } + + + public void setSummary(MatchSummaryCode summary) { + this.summary = summary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MatchSummary matchSummary = (MatchSummary) o; + return Objects.equals(this.summary, matchSummary.summary); + } + + @Override + public int hashCode() { + return Objects.hash(summary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MatchSummary {\n"); + sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MatchSummaryCode.java b/src/main/java/com/plaid/client/model/MatchSummaryCode.java new file mode 100644 index 0000000000..95afe9b4dc --- /dev/null +++ b/src/main/java/com/plaid/client/model/MatchSummaryCode.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An enum indicating the match type between data provided by user and data checked against an external data source. `match` indicates that the provided input data was a strong match against external data. `partial_match` indicates the data approximately matched against external data. For example, \"Knope\" vs. \"Knope-Wyatt\" for last name. `no_match` indicates that Plaid was able to perform a check against an external data source and it did not match the provided input data. `no_data` indicates that Plaid was unable to find external data to compare against the provided input data. `no_input` indicates that Plaid was unable to perform a check because no information was provided for this field by the end user. + */ +@JsonAdapter(MatchSummaryCode.Adapter.class) +public enum MatchSummaryCode { + + MATCH("match"), + + PARTIAL_MATCH("partial_match"), + + NO_MATCH("no_match"), + + NO_DATA("no_data"), + + NO_INPUT("no_input"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + MatchSummaryCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static MatchSummaryCode fromValue(String value) { + for (MatchSummaryCode b : MatchSummaryCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return MatchSummaryCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final MatchSummaryCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public MatchSummaryCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return MatchSummaryCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/MerchantInsights.java b/src/main/java/com/plaid/client/model/MerchantInsights.java new file mode 100644 index 0000000000..1ec8c682d3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/MerchantInsights.java @@ -0,0 +1,298 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Insights into a user's top merchants. + */ +@ApiModel(description = "Insights into a user's top merchants.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MerchantInsights { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ENTITY_ID = "entity_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_ID) + private String entityId; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private String website; + + public static final String SERIALIZED_NAME_TRANSACTION_COUNT = "transaction_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_COUNT) + private Integer transactionCount; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_PRIMARY = "personal_finance_category_primary"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_PRIMARY) + private String personalFinanceCategoryPrimary; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_DETAILED = "personal_finance_category_detailed"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_DETAILED) + private String personalFinanceCategoryDetailed; + + public static final String SERIALIZED_NAME_TOTAL_OUTFLOWS = "total_outflows"; + @SerializedName(SERIALIZED_NAME_TOTAL_OUTFLOWS) + private Double totalOutflows; + + public static final String SERIALIZED_NAME_TOTAL_INFLOWS = "total_inflows"; + @SerializedName(SERIALIZED_NAME_TOTAL_INFLOWS) + private Double totalInflows; + + + public MerchantInsights name(String name) { + + this.name = name; + return this; + } + + /** + * The counterparty name. + * @return name + **/ + @ApiModelProperty(required = true, value = "The counterparty name.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public MerchantInsights entityId(String entityId) { + + this.entityId = entityId; + return this; + } + + /** + * A unique, stable, Plaid-generated id that maps to the merchant. + * @return entityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique, stable, Plaid-generated id that maps to the merchant.") + + public String getEntityId() { + return entityId; + } + + + public void setEntityId(String entityId) { + this.entityId = entityId; + } + + + public MerchantInsights website(String website) { + + this.website = website; + return this; + } + + /** + * The website associated with the merchant. + * @return website + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The website associated with the merchant.") + + public String getWebsite() { + return website; + } + + + public void setWebsite(String website) { + this.website = website; + } + + + public MerchantInsights transactionCount(Integer transactionCount) { + + this.transactionCount = transactionCount; + return this; + } + + /** + * The number of transactions associated with merchant of this type. + * @return transactionCount + **/ + @ApiModelProperty(required = true, value = "The number of transactions associated with merchant of this type.") + + public Integer getTransactionCount() { + return transactionCount; + } + + + public void setTransactionCount(Integer transactionCount) { + this.transactionCount = transactionCount; + } + + + public MerchantInsights personalFinanceCategoryPrimary(String personalFinanceCategoryPrimary) { + + this.personalFinanceCategoryPrimary = personalFinanceCategoryPrimary; + return this; + } + + /** + * The primary personal finance category associated with this merchant. + * @return personalFinanceCategoryPrimary + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The primary personal finance category associated with this merchant.") + + public String getPersonalFinanceCategoryPrimary() { + return personalFinanceCategoryPrimary; + } + + + public void setPersonalFinanceCategoryPrimary(String personalFinanceCategoryPrimary) { + this.personalFinanceCategoryPrimary = personalFinanceCategoryPrimary; + } + + + public MerchantInsights personalFinanceCategoryDetailed(String personalFinanceCategoryDetailed) { + + this.personalFinanceCategoryDetailed = personalFinanceCategoryDetailed; + return this; + } + + /** + * The detailed personal finance category associated with this merchant. + * @return personalFinanceCategoryDetailed + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The detailed personal finance category associated with this merchant.") + + public String getPersonalFinanceCategoryDetailed() { + return personalFinanceCategoryDetailed; + } + + + public void setPersonalFinanceCategoryDetailed(String personalFinanceCategoryDetailed) { + this.personalFinanceCategoryDetailed = personalFinanceCategoryDetailed; + } + + + public MerchantInsights totalOutflows(Double totalOutflows) { + + this.totalOutflows = totalOutflows; + return this; + } + + /** + * Sum of outflow amounts. + * @return totalOutflows + **/ + @ApiModelProperty(required = true, value = "Sum of outflow amounts.") + + public Double getTotalOutflows() { + return totalOutflows; + } + + + public void setTotalOutflows(Double totalOutflows) { + this.totalOutflows = totalOutflows; + } + + + public MerchantInsights totalInflows(Double totalInflows) { + + this.totalInflows = totalInflows; + return this; + } + + /** + * Sum of inflow amounts. + * @return totalInflows + **/ + @ApiModelProperty(required = true, value = "Sum of inflow amounts.") + + public Double getTotalInflows() { + return totalInflows; + } + + + public void setTotalInflows(Double totalInflows) { + this.totalInflows = totalInflows; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MerchantInsights merchantInsights = (MerchantInsights) o; + return Objects.equals(this.name, merchantInsights.name) && + Objects.equals(this.entityId, merchantInsights.entityId) && + Objects.equals(this.website, merchantInsights.website) && + Objects.equals(this.transactionCount, merchantInsights.transactionCount) && + Objects.equals(this.personalFinanceCategoryPrimary, merchantInsights.personalFinanceCategoryPrimary) && + Objects.equals(this.personalFinanceCategoryDetailed, merchantInsights.personalFinanceCategoryDetailed) && + Objects.equals(this.totalOutflows, merchantInsights.totalOutflows) && + Objects.equals(this.totalInflows, merchantInsights.totalInflows); + } + + @Override + public int hashCode() { + return Objects.hash(name, entityId, website, transactionCount, personalFinanceCategoryPrimary, personalFinanceCategoryDetailed, totalOutflows, totalInflows); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MerchantInsights {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" transactionCount: ").append(toIndentedString(transactionCount)).append("\n"); + sb.append(" personalFinanceCategoryPrimary: ").append(toIndentedString(personalFinanceCategoryPrimary)).append("\n"); + sb.append(" personalFinanceCategoryDetailed: ").append(toIndentedString(personalFinanceCategoryDetailed)).append("\n"); + sb.append(" totalOutflows: ").append(toIndentedString(totalOutflows)).append("\n"); + sb.append(" totalInflows: ").append(toIndentedString(totalInflows)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Meta.java b/src/main/java/com/plaid/client/model/Meta.java new file mode 100644 index 0000000000..c58e5207ca --- /dev/null +++ b/src/main/java/com/plaid/client/model/Meta.java @@ -0,0 +1,182 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the metadata of the test account + */ +@ApiModel(description = "Allows specifying the metadata of the test account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Meta { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OFFICIAL_NAME = "official_name"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_NAME) + private String officialName; + + public static final String SERIALIZED_NAME_LIMIT = "limit"; + @SerializedName(SERIALIZED_NAME_LIMIT) + private Double limit; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + + public Meta name(String name) { + + this.name = name; + return this; + } + + /** + * The account's name + * @return name + **/ + @ApiModelProperty(required = true, value = "The account's name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public Meta officialName(String officialName) { + + this.officialName = officialName; + return this; + } + + /** + * The account's official name + * @return officialName + **/ + @ApiModelProperty(required = true, value = "The account's official name") + + public String getOfficialName() { + return officialName; + } + + + public void setOfficialName(String officialName) { + this.officialName = officialName; + } + + + public Meta limit(Double limit) { + + this.limit = limit; + return this; + } + + /** + * The account's limit + * @return limit + **/ + @ApiModelProperty(required = true, value = "The account's limit") + + public Double getLimit() { + return limit; + } + + + public void setLimit(Double limit) { + this.limit = limit; + } + + + public Meta mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The account's mask. Should be an empty string or a string of 2-4 alphanumeric characters. This allows you to model a mask which does not match the account number (such as with a virtual account number). + * @return mask + **/ + @ApiModelProperty(required = true, value = "The account's mask. Should be an empty string or a string of 2-4 alphanumeric characters. This allows you to model a mask which does not match the account number (such as with a virtual account number).") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Meta meta = (Meta) o; + return Objects.equals(this.name, meta.name) && + Objects.equals(this.officialName, meta.officialName) && + Objects.equals(this.limit, meta.limit) && + Objects.equals(this.mask, meta.mask); + } + + @Override + public int hashCode() { + return Objects.hash(name, officialName, limit, mask); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Meta {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" officialName: ").append(toIndentedString(officialName)).append("\n"); + sb.append(" limit: ").append(toIndentedString(limit)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MonitoringConsumerReportPermissiblePurpose.java b/src/main/java/com/plaid/client/model/MonitoringConsumerReportPermissiblePurpose.java new file mode 100644 index 0000000000..a32e217a10 --- /dev/null +++ b/src/main/java/com/plaid/client/model/MonitoringConsumerReportPermissiblePurpose.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Describes the reason you are generating a Consumer Report for this user. `ACCOUNT_REVIEW_CREDIT`: In connection with a consumer credit transaction for the review or collection of an account pursuant to FCRA Section 604(a)(3)(A). `WRITTEN_INSTRUCTION_OTHER`: In accordance with the written instructions of the consumer pursuant to FCRA Section 604(a)(2), such as when an individual agrees to act as a guarantor or assumes personal liability for a consumer, business, or commercial loan. + */ +@JsonAdapter(MonitoringConsumerReportPermissiblePurpose.Adapter.class) +public enum MonitoringConsumerReportPermissiblePurpose { + + ACCOUNT_REVIEW_CREDIT("ACCOUNT_REVIEW_CREDIT"), + + WRITTEN_INSTRUCTION_OTHER("WRITTEN_INSTRUCTION_OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + MonitoringConsumerReportPermissiblePurpose(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static MonitoringConsumerReportPermissiblePurpose fromValue(String value) { + for (MonitoringConsumerReportPermissiblePurpose b : MonitoringConsumerReportPermissiblePurpose.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return MonitoringConsumerReportPermissiblePurpose.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final MonitoringConsumerReportPermissiblePurpose enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public MonitoringConsumerReportPermissiblePurpose read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return MonitoringConsumerReportPermissiblePurpose.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/MonitoringIncomeInsights.java b/src/main/java/com/plaid/client/model/MonitoringIncomeInsights.java new file mode 100644 index 0000000000..a8078d7eaf --- /dev/null +++ b/src/main/java/com/plaid/client/model/MonitoringIncomeInsights.java @@ -0,0 +1,222 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ForecastedMonthlyIncome; +import com.plaid.client.model.HistoricalAnnualIncome; +import com.plaid.client.model.IncomeSourcesCounts; +import com.plaid.client.model.MonitoringIncomeSource; +import com.plaid.client.model.TotalMonthlyIncomeInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing the income subcategory of the report + */ +@ApiModel(description = "An object representing the income subcategory of the report") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MonitoringIncomeInsights { + public static final String SERIALIZED_NAME_TOTAL_MONTHLY_INCOME = "total_monthly_income"; + @SerializedName(SERIALIZED_NAME_TOTAL_MONTHLY_INCOME) + private TotalMonthlyIncomeInsights totalMonthlyIncome; + + public static final String SERIALIZED_NAME_INCOME_SOURCES_COUNTS = "income_sources_counts"; + @SerializedName(SERIALIZED_NAME_INCOME_SOURCES_COUNTS) + private IncomeSourcesCounts incomeSourcesCounts; + + public static final String SERIALIZED_NAME_FORECASTED_MONTHLY_INCOME = "forecasted_monthly_income"; + @SerializedName(SERIALIZED_NAME_FORECASTED_MONTHLY_INCOME) + private ForecastedMonthlyIncome forecastedMonthlyIncome; + + public static final String SERIALIZED_NAME_HISTORICAL_ANNUAL_INCOME = "historical_annual_income"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_ANNUAL_INCOME) + private HistoricalAnnualIncome historicalAnnualIncome; + + public static final String SERIALIZED_NAME_INCOME_SOURCES = "income_sources"; + @SerializedName(SERIALIZED_NAME_INCOME_SOURCES) + private List incomeSources = new ArrayList<>(); + + + public MonitoringIncomeInsights totalMonthlyIncome(TotalMonthlyIncomeInsights totalMonthlyIncome) { + + this.totalMonthlyIncome = totalMonthlyIncome; + return this; + } + + /** + * Get totalMonthlyIncome + * @return totalMonthlyIncome + **/ + @ApiModelProperty(required = true, value = "") + + public TotalMonthlyIncomeInsights getTotalMonthlyIncome() { + return totalMonthlyIncome; + } + + + public void setTotalMonthlyIncome(TotalMonthlyIncomeInsights totalMonthlyIncome) { + this.totalMonthlyIncome = totalMonthlyIncome; + } + + + public MonitoringIncomeInsights incomeSourcesCounts(IncomeSourcesCounts incomeSourcesCounts) { + + this.incomeSourcesCounts = incomeSourcesCounts; + return this; + } + + /** + * Get incomeSourcesCounts + * @return incomeSourcesCounts + **/ + @ApiModelProperty(required = true, value = "") + + public IncomeSourcesCounts getIncomeSourcesCounts() { + return incomeSourcesCounts; + } + + + public void setIncomeSourcesCounts(IncomeSourcesCounts incomeSourcesCounts) { + this.incomeSourcesCounts = incomeSourcesCounts; + } + + + public MonitoringIncomeInsights forecastedMonthlyIncome(ForecastedMonthlyIncome forecastedMonthlyIncome) { + + this.forecastedMonthlyIncome = forecastedMonthlyIncome; + return this; + } + + /** + * Get forecastedMonthlyIncome + * @return forecastedMonthlyIncome + **/ + @ApiModelProperty(required = true, value = "") + + public ForecastedMonthlyIncome getForecastedMonthlyIncome() { + return forecastedMonthlyIncome; + } + + + public void setForecastedMonthlyIncome(ForecastedMonthlyIncome forecastedMonthlyIncome) { + this.forecastedMonthlyIncome = forecastedMonthlyIncome; + } + + + public MonitoringIncomeInsights historicalAnnualIncome(HistoricalAnnualIncome historicalAnnualIncome) { + + this.historicalAnnualIncome = historicalAnnualIncome; + return this; + } + + /** + * Get historicalAnnualIncome + * @return historicalAnnualIncome + **/ + @ApiModelProperty(required = true, value = "") + + public HistoricalAnnualIncome getHistoricalAnnualIncome() { + return historicalAnnualIncome; + } + + + public void setHistoricalAnnualIncome(HistoricalAnnualIncome historicalAnnualIncome) { + this.historicalAnnualIncome = historicalAnnualIncome; + } + + + public MonitoringIncomeInsights incomeSources(List incomeSources) { + + this.incomeSources = incomeSources; + return this; + } + + public MonitoringIncomeInsights addIncomeSourcesItem(MonitoringIncomeSource incomeSourcesItem) { + this.incomeSources.add(incomeSourcesItem); + return this; + } + + /** + * The income sources for this Item. Each entry in the array is a single income source + * @return incomeSources + **/ + @ApiModelProperty(required = true, value = "The income sources for this Item. Each entry in the array is a single income source") + + public List getIncomeSources() { + return incomeSources; + } + + + public void setIncomeSources(List incomeSources) { + this.incomeSources = incomeSources; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MonitoringIncomeInsights monitoringIncomeInsights = (MonitoringIncomeInsights) o; + return Objects.equals(this.totalMonthlyIncome, monitoringIncomeInsights.totalMonthlyIncome) && + Objects.equals(this.incomeSourcesCounts, monitoringIncomeInsights.incomeSourcesCounts) && + Objects.equals(this.forecastedMonthlyIncome, monitoringIncomeInsights.forecastedMonthlyIncome) && + Objects.equals(this.historicalAnnualIncome, monitoringIncomeInsights.historicalAnnualIncome) && + Objects.equals(this.incomeSources, monitoringIncomeInsights.incomeSources); + } + + @Override + public int hashCode() { + return Objects.hash(totalMonthlyIncome, incomeSourcesCounts, forecastedMonthlyIncome, historicalAnnualIncome, incomeSources); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MonitoringIncomeInsights {\n"); + sb.append(" totalMonthlyIncome: ").append(toIndentedString(totalMonthlyIncome)).append("\n"); + sb.append(" incomeSourcesCounts: ").append(toIndentedString(incomeSourcesCounts)).append("\n"); + sb.append(" forecastedMonthlyIncome: ").append(toIndentedString(forecastedMonthlyIncome)).append("\n"); + sb.append(" historicalAnnualIncome: ").append(toIndentedString(historicalAnnualIncome)).append("\n"); + sb.append(" incomeSources: ").append(toIndentedString(incomeSources)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MonitoringIncomeSource.java b/src/main/java/com/plaid/client/model/MonitoringIncomeSource.java new file mode 100644 index 0000000000..fbe4ad511c --- /dev/null +++ b/src/main/java/com/plaid/client/model/MonitoringIncomeSource.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditBankIncomeCategory; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An object representing an income source + */ +@ApiModel(description = "An object representing an income source") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MonitoringIncomeSource { + public static final String SERIALIZED_NAME_INCOME_SOURCE_ID = "income_source_id"; + @SerializedName(SERIALIZED_NAME_INCOME_SOURCE_ID) + private String incomeSourceId; + + public static final String SERIALIZED_NAME_INCOME_DESCRIPTION = "income_description"; + @SerializedName(SERIALIZED_NAME_INCOME_DESCRIPTION) + private String incomeDescription; + + public static final String SERIALIZED_NAME_INCOME_CATEGORY = "income_category"; + @SerializedName(SERIALIZED_NAME_INCOME_CATEGORY) + private CreditBankIncomeCategory incomeCategory; + + public static final String SERIALIZED_NAME_LAST_TRANSACTION_DATE = "last_transaction_date"; + @SerializedName(SERIALIZED_NAME_LAST_TRANSACTION_DATE) + private LocalDate lastTransactionDate; + + + public MonitoringIncomeSource incomeSourceId(String incomeSourceId) { + + this.incomeSourceId = incomeSourceId; + return this; + } + + /** + * A unique identifier for an income source + * @return incomeSourceId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for an income source") + + public String getIncomeSourceId() { + return incomeSourceId; + } + + + public void setIncomeSourceId(String incomeSourceId) { + this.incomeSourceId = incomeSourceId; + } + + + public MonitoringIncomeSource incomeDescription(String incomeDescription) { + + this.incomeDescription = incomeDescription; + return this; + } + + /** + * The most common name or original description for the underlying income transactions + * @return incomeDescription + **/ + @ApiModelProperty(required = true, value = "The most common name or original description for the underlying income transactions") + + public String getIncomeDescription() { + return incomeDescription; + } + + + public void setIncomeDescription(String incomeDescription) { + this.incomeDescription = incomeDescription; + } + + + public MonitoringIncomeSource incomeCategory(CreditBankIncomeCategory incomeCategory) { + + this.incomeCategory = incomeCategory; + return this; + } + + /** + * Get incomeCategory + * @return incomeCategory + **/ + @ApiModelProperty(required = true, value = "") + + public CreditBankIncomeCategory getIncomeCategory() { + return incomeCategory; + } + + + public void setIncomeCategory(CreditBankIncomeCategory incomeCategory) { + this.incomeCategory = incomeCategory; + } + + + public MonitoringIncomeSource lastTransactionDate(LocalDate lastTransactionDate) { + + this.lastTransactionDate = lastTransactionDate; + return this; + } + + /** + * The last detected transaction date for this income source + * @return lastTransactionDate + **/ + @ApiModelProperty(required = true, value = "The last detected transaction date for this income source") + + public LocalDate getLastTransactionDate() { + return lastTransactionDate; + } + + + public void setLastTransactionDate(LocalDate lastTransactionDate) { + this.lastTransactionDate = lastTransactionDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MonitoringIncomeSource monitoringIncomeSource = (MonitoringIncomeSource) o; + return Objects.equals(this.incomeSourceId, monitoringIncomeSource.incomeSourceId) && + Objects.equals(this.incomeDescription, monitoringIncomeSource.incomeDescription) && + Objects.equals(this.incomeCategory, monitoringIncomeSource.incomeCategory) && + Objects.equals(this.lastTransactionDate, monitoringIncomeSource.lastTransactionDate); + } + + @Override + public int hashCode() { + return Objects.hash(incomeSourceId, incomeDescription, incomeCategory, lastTransactionDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MonitoringIncomeSource {\n"); + sb.append(" incomeSourceId: ").append(toIndentedString(incomeSourceId)).append("\n"); + sb.append(" incomeDescription: ").append(toIndentedString(incomeDescription)).append("\n"); + sb.append(" incomeCategory: ").append(toIndentedString(incomeCategory)).append("\n"); + sb.append(" lastTransactionDate: ").append(toIndentedString(lastTransactionDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MonitoringInsights.java b/src/main/java/com/plaid/client/model/MonitoringInsights.java new file mode 100644 index 0000000000..b1e26c3437 --- /dev/null +++ b/src/main/java/com/plaid/client/model/MonitoringInsights.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MonitoringIncomeInsights; +import com.plaid.client.model.MonitoringLoanInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing the Monitoring Insights for the given Item + */ +@ApiModel(description = "An object representing the Monitoring Insights for the given Item") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MonitoringInsights { + public static final String SERIALIZED_NAME_INCOME = "income"; + @SerializedName(SERIALIZED_NAME_INCOME) + private MonitoringIncomeInsights income; + + public static final String SERIALIZED_NAME_LOANS = "loans"; + @SerializedName(SERIALIZED_NAME_LOANS) + private MonitoringLoanInsights loans; + + + public MonitoringInsights income(MonitoringIncomeInsights income) { + + this.income = income; + return this; + } + + /** + * Get income + * @return income + **/ + @ApiModelProperty(required = true, value = "") + + public MonitoringIncomeInsights getIncome() { + return income; + } + + + public void setIncome(MonitoringIncomeInsights income) { + this.income = income; + } + + + public MonitoringInsights loans(MonitoringLoanInsights loans) { + + this.loans = loans; + return this; + } + + /** + * Get loans + * @return loans + **/ + @ApiModelProperty(required = true, value = "") + + public MonitoringLoanInsights getLoans() { + return loans; + } + + + public void setLoans(MonitoringLoanInsights loans) { + this.loans = loans; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MonitoringInsights monitoringInsights = (MonitoringInsights) o; + return Objects.equals(this.income, monitoringInsights.income) && + Objects.equals(this.loans, monitoringInsights.loans); + } + + @Override + public int hashCode() { + return Objects.hash(income, loans); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MonitoringInsights {\n"); + sb.append(" income: ").append(toIndentedString(income)).append("\n"); + sb.append(" loans: ").append(toIndentedString(loans)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MonitoringInsightsItemStatus.java b/src/main/java/com/plaid/client/model/MonitoringInsightsItemStatus.java new file mode 100644 index 0000000000..2a7c162007 --- /dev/null +++ b/src/main/java/com/plaid/client/model/MonitoringInsightsItemStatus.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MonitoringItemStatusCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object with details of the Monitoring Insights Item's status. + */ +@ApiModel(description = "An object with details of the Monitoring Insights Item's status.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MonitoringInsightsItemStatus { + public static final String SERIALIZED_NAME_STATUS_CODE = "status_code"; + @SerializedName(SERIALIZED_NAME_STATUS_CODE) + private MonitoringItemStatusCode statusCode; + + public static final String SERIALIZED_NAME_REASON = "reason"; + @SerializedName(SERIALIZED_NAME_REASON) + private String reason; + + + public MonitoringInsightsItemStatus statusCode(MonitoringItemStatusCode statusCode) { + + this.statusCode = statusCode; + return this; + } + + /** + * Get statusCode + * @return statusCode + **/ + @ApiModelProperty(required = true, value = "") + + public MonitoringItemStatusCode getStatusCode() { + return statusCode; + } + + + public void setStatusCode(MonitoringItemStatusCode statusCode) { + this.statusCode = statusCode; + } + + + public MonitoringInsightsItemStatus reason(String reason) { + + this.reason = reason; + return this; + } + + /** + * A reason for why a Monitoring Insights Report is not available. This field will only be populated when the `status_code` is not `AVAILABLE` + * @return reason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A reason for why a Monitoring Insights Report is not available. This field will only be populated when the `status_code` is not `AVAILABLE`") + + public String getReason() { + return reason; + } + + + public void setReason(String reason) { + this.reason = reason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MonitoringInsightsItemStatus monitoringInsightsItemStatus = (MonitoringInsightsItemStatus) o; + return Objects.equals(this.statusCode, monitoringInsightsItemStatus.statusCode) && + Objects.equals(this.reason, monitoringInsightsItemStatus.reason); + } + + @Override + public int hashCode() { + return Objects.hash(statusCode, reason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MonitoringInsightsItemStatus {\n"); + sb.append(" statusCode: ").append(toIndentedString(statusCode)).append("\n"); + sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MonitoringInsightsStatus.java b/src/main/java/com/plaid/client/model/MonitoringInsightsStatus.java new file mode 100644 index 0000000000..f5d58cf8d3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/MonitoringInsightsStatus.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Enum for the status of the insights + */ +@JsonAdapter(MonitoringInsightsStatus.Adapter.class) +public enum MonitoringInsightsStatus { + + AVAILABLE("AVAILABLE"), + + FAILED("FAILED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + MonitoringInsightsStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static MonitoringInsightsStatus fromValue(String value) { + for (MonitoringInsightsStatus b : MonitoringInsightsStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return MonitoringInsightsStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final MonitoringInsightsStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public MonitoringInsightsStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return MonitoringInsightsStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/MonitoringItemStatusCode.java b/src/main/java/com/plaid/client/model/MonitoringItemStatusCode.java new file mode 100644 index 0000000000..3499ac323f --- /dev/null +++ b/src/main/java/com/plaid/client/model/MonitoringItemStatusCode.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Enum for the status of the Item's insights + */ +@JsonAdapter(MonitoringItemStatusCode.Adapter.class) +public enum MonitoringItemStatusCode { + + AVAILABLE("AVAILABLE"), + + FAILED("FAILED"), + + PENDING("PENDING"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + MonitoringItemStatusCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static MonitoringItemStatusCode fromValue(String value) { + for (MonitoringItemStatusCode b : MonitoringItemStatusCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return MonitoringItemStatusCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final MonitoringItemStatusCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public MonitoringItemStatusCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return MonitoringItemStatusCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/MonitoringLoanInsights.java b/src/main/java/com/plaid/client/model/MonitoringLoanInsights.java new file mode 100644 index 0000000000..2f2e438f2a --- /dev/null +++ b/src/main/java/com/plaid/client/model/MonitoringLoanInsights.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LoanPaymentsCounts; +import com.plaid.client.model.LoanPaymentsMerchantCounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * An object representing the loan exposure subcategory of the report + */ +@ApiModel(description = "An object representing the loan exposure subcategory of the report") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MonitoringLoanInsights { + public static final String SERIALIZED_NAME_LOAN_PAYMENTS_COUNTS = "loan_payments_counts"; + @SerializedName(SERIALIZED_NAME_LOAN_PAYMENTS_COUNTS) + private LoanPaymentsCounts loanPaymentsCounts; + + public static final String SERIALIZED_NAME_LOAN_DISBURSEMENTS_COUNT = "loan_disbursements_count"; + @SerializedName(SERIALIZED_NAME_LOAN_DISBURSEMENTS_COUNT) + private Double loanDisbursementsCount; + + public static final String SERIALIZED_NAME_LOAN_PAYMENT_MERCHANTS_COUNTS = "loan_payment_merchants_counts"; + @SerializedName(SERIALIZED_NAME_LOAN_PAYMENT_MERCHANTS_COUNTS) + private LoanPaymentsMerchantCounts loanPaymentMerchantsCounts; + + + public MonitoringLoanInsights loanPaymentsCounts(LoanPaymentsCounts loanPaymentsCounts) { + + this.loanPaymentsCounts = loanPaymentsCounts; + return this; + } + + /** + * Get loanPaymentsCounts + * @return loanPaymentsCounts + **/ + @ApiModelProperty(required = true, value = "") + + public LoanPaymentsCounts getLoanPaymentsCounts() { + return loanPaymentsCounts; + } + + + public void setLoanPaymentsCounts(LoanPaymentsCounts loanPaymentsCounts) { + this.loanPaymentsCounts = loanPaymentsCounts; + } + + + public MonitoringLoanInsights loanDisbursementsCount(Double loanDisbursementsCount) { + + this.loanDisbursementsCount = loanDisbursementsCount; + return this; + } + + /** + * The number of loan disbursements detected in the last 30 days + * @return loanDisbursementsCount + **/ + @ApiModelProperty(required = true, value = "The number of loan disbursements detected in the last 30 days") + + public Double getLoanDisbursementsCount() { + return loanDisbursementsCount; + } + + + public void setLoanDisbursementsCount(Double loanDisbursementsCount) { + this.loanDisbursementsCount = loanDisbursementsCount; + } + + + public MonitoringLoanInsights loanPaymentMerchantsCounts(LoanPaymentsMerchantCounts loanPaymentMerchantsCounts) { + + this.loanPaymentMerchantsCounts = loanPaymentMerchantsCounts; + return this; + } + + /** + * Get loanPaymentMerchantsCounts + * @return loanPaymentMerchantsCounts + **/ + @ApiModelProperty(required = true, value = "") + + public LoanPaymentsMerchantCounts getLoanPaymentMerchantsCounts() { + return loanPaymentMerchantsCounts; + } + + + public void setLoanPaymentMerchantsCounts(LoanPaymentsMerchantCounts loanPaymentMerchantsCounts) { + this.loanPaymentMerchantsCounts = loanPaymentMerchantsCounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MonitoringLoanInsights monitoringLoanInsights = (MonitoringLoanInsights) o; + return Objects.equals(this.loanPaymentsCounts, monitoringLoanInsights.loanPaymentsCounts) && + Objects.equals(this.loanDisbursementsCount, monitoringLoanInsights.loanDisbursementsCount) && + Objects.equals(this.loanPaymentMerchantsCounts, monitoringLoanInsights.loanPaymentMerchantsCounts); + } + + @Override + public int hashCode() { + return Objects.hash(loanPaymentsCounts, loanDisbursementsCount, loanPaymentMerchantsCounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MonitoringLoanInsights {\n"); + sb.append(" loanPaymentsCounts: ").append(toIndentedString(loanPaymentsCounts)).append("\n"); + sb.append(" loanDisbursementsCount: ").append(toIndentedString(loanDisbursementsCount)).append("\n"); + sb.append(" loanPaymentMerchantsCounts: ").append(toIndentedString(loanPaymentMerchantsCounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MonthlyAverage.java b/src/main/java/com/plaid/client/model/MonthlyAverage.java new file mode 100644 index 0000000000..06e2abf71c --- /dev/null +++ b/src/main/java/com/plaid/client/model/MonthlyAverage.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The monthly average amount calculated by dividing the total by the number of calendar months in the time period. + */ +@ApiModel(description = "The monthly average amount calculated by dividing the total by the number of calendar months in the time period.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MonthlyAverage { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public MonthlyAverage amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The monthly average amount of all the aggregated transactions of the given category, across all the accounts for the given time window. The average is calculated by dividing the total amount of the transactions by the number of calendar months in the given time window. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The monthly average amount of all the aggregated transactions of the given category, across all the accounts for the given time window. The average is calculated by dividing the total amount of the transactions by the number of calendar months in the given time window.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public MonthlyAverage isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public MonthlyAverage unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the amount. Always `null` if `iso_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MonthlyAverage monthlyAverage = (MonthlyAverage) o; + return Objects.equals(this.amount, monthlyAverage.amount) && + Objects.equals(this.isoCurrencyCode, monthlyAverage.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, monthlyAverage.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MonthlyAverage {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MonthlySummary.java b/src/main/java/com/plaid/client/model/MonthlySummary.java new file mode 100644 index 0000000000..1e0a223e55 --- /dev/null +++ b/src/main/java/com/plaid/client/model/MonthlySummary.java @@ -0,0 +1,159 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AmountWithCurrency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Monthly summary of transactions within a specific time period, showing aggregated amounts. + */ +@ApiModel(description = "Monthly summary of transactions within a specific time period, showing aggregated amounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MonthlySummary { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_TOTAL_AMOUNT = "total_amount"; + @SerializedName(SERIALIZED_NAME_TOTAL_AMOUNT) + private AmountWithCurrency totalAmount; + + + public MonthlySummary startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date of the month for the given report time window. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start date of the month for the given report time window. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public MonthlySummary endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end date of the month for the given report time window. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end date of the month for the given report time window. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public MonthlySummary totalAmount(AmountWithCurrency totalAmount) { + + this.totalAmount = totalAmount; + return this; + } + + /** + * Get totalAmount + * @return totalAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AmountWithCurrency getTotalAmount() { + return totalAmount; + } + + + public void setTotalAmount(AmountWithCurrency totalAmount) { + this.totalAmount = totalAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MonthlySummary monthlySummary = (MonthlySummary) o; + return Objects.equals(this.startDate, monthlySummary.startDate) && + Objects.equals(this.endDate, monthlySummary.endDate) && + Objects.equals(this.totalAmount, monthlySummary.totalAmount); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate, totalAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MonthlySummary {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" totalAmount: ").append(toIndentedString(totalAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MortgageInterestRate.java b/src/main/java/com/plaid/client/model/MortgageInterestRate.java new file mode 100644 index 0000000000..777ff84310 --- /dev/null +++ b/src/main/java/com/plaid/client/model/MortgageInterestRate.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Object containing metadata about the interest rate for the mortgage. + */ +@ApiModel(description = "Object containing metadata about the interest rate for the mortgage.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MortgageInterestRate { + public static final String SERIALIZED_NAME_PERCENTAGE = "percentage"; + @SerializedName(SERIALIZED_NAME_PERCENTAGE) + private Double percentage; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + + public MortgageInterestRate percentage(Double percentage) { + + this.percentage = percentage; + return this; + } + + /** + * Percentage value (interest rate of current mortgage, not APR) of interest payable on a loan. + * @return percentage + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Percentage value (interest rate of current mortgage, not APR) of interest payable on a loan.") + + public Double getPercentage() { + return percentage; + } + + + public void setPercentage(Double percentage) { + this.percentage = percentage; + } + + + public MortgageInterestRate type(String type) { + + this.type = type; + return this; + } + + /** + * The type of interest charged (fixed or variable). + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The type of interest charged (fixed or variable).") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MortgageInterestRate mortgageInterestRate = (MortgageInterestRate) o; + return Objects.equals(this.percentage, mortgageInterestRate.percentage) && + Objects.equals(this.type, mortgageInterestRate.type); + } + + @Override + public int hashCode() { + return Objects.hash(percentage, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MortgageInterestRate {\n"); + sb.append(" percentage: ").append(toIndentedString(percentage)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MortgageLiability.java b/src/main/java/com/plaid/client/model/MortgageLiability.java new file mode 100644 index 0000000000..7038b6fcb2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/MortgageLiability.java @@ -0,0 +1,650 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MortgageInterestRate; +import com.plaid.client.model.MortgagePropertyAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Contains details about a mortgage account. + */ +@ApiModel(description = "Contains details about a mortgage account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MortgageLiability { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ACCOUNT_NUMBER = "account_number"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBER) + private String accountNumber; + + public static final String SERIALIZED_NAME_CURRENT_LATE_FEE = "current_late_fee"; + @SerializedName(SERIALIZED_NAME_CURRENT_LATE_FEE) + private Double currentLateFee; + + public static final String SERIALIZED_NAME_ESCROW_BALANCE = "escrow_balance"; + @SerializedName(SERIALIZED_NAME_ESCROW_BALANCE) + private Double escrowBalance; + + public static final String SERIALIZED_NAME_HAS_PMI = "has_pmi"; + @SerializedName(SERIALIZED_NAME_HAS_PMI) + private Boolean hasPmi; + + public static final String SERIALIZED_NAME_HAS_PREPAYMENT_PENALTY = "has_prepayment_penalty"; + @SerializedName(SERIALIZED_NAME_HAS_PREPAYMENT_PENALTY) + private Boolean hasPrepaymentPenalty; + + public static final String SERIALIZED_NAME_INTEREST_RATE = "interest_rate"; + @SerializedName(SERIALIZED_NAME_INTEREST_RATE) + private MortgageInterestRate interestRate; + + public static final String SERIALIZED_NAME_LAST_PAYMENT_AMOUNT = "last_payment_amount"; + @SerializedName(SERIALIZED_NAME_LAST_PAYMENT_AMOUNT) + private Double lastPaymentAmount; + + public static final String SERIALIZED_NAME_LAST_PAYMENT_DATE = "last_payment_date"; + @SerializedName(SERIALIZED_NAME_LAST_PAYMENT_DATE) + private LocalDate lastPaymentDate; + + public static final String SERIALIZED_NAME_LOAN_TYPE_DESCRIPTION = "loan_type_description"; + @SerializedName(SERIALIZED_NAME_LOAN_TYPE_DESCRIPTION) + private String loanTypeDescription; + + public static final String SERIALIZED_NAME_LOAN_TERM = "loan_term"; + @SerializedName(SERIALIZED_NAME_LOAN_TERM) + private String loanTerm; + + public static final String SERIALIZED_NAME_MATURITY_DATE = "maturity_date"; + @SerializedName(SERIALIZED_NAME_MATURITY_DATE) + private LocalDate maturityDate; + + public static final String SERIALIZED_NAME_NEXT_MONTHLY_PAYMENT = "next_monthly_payment"; + @SerializedName(SERIALIZED_NAME_NEXT_MONTHLY_PAYMENT) + private Double nextMonthlyPayment; + + public static final String SERIALIZED_NAME_NEXT_PAYMENT_DUE_DATE = "next_payment_due_date"; + @SerializedName(SERIALIZED_NAME_NEXT_PAYMENT_DUE_DATE) + private LocalDate nextPaymentDueDate; + + public static final String SERIALIZED_NAME_ORIGINATION_DATE = "origination_date"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_DATE) + private LocalDate originationDate; + + public static final String SERIALIZED_NAME_ORIGINATION_PRINCIPAL_AMOUNT = "origination_principal_amount"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_PRINCIPAL_AMOUNT) + private Double originationPrincipalAmount; + + public static final String SERIALIZED_NAME_PAST_DUE_AMOUNT = "past_due_amount"; + @SerializedName(SERIALIZED_NAME_PAST_DUE_AMOUNT) + private Double pastDueAmount; + + public static final String SERIALIZED_NAME_PROPERTY_ADDRESS = "property_address"; + @SerializedName(SERIALIZED_NAME_PROPERTY_ADDRESS) + private MortgagePropertyAddress propertyAddress; + + public static final String SERIALIZED_NAME_YTD_INTEREST_PAID = "ytd_interest_paid"; + @SerializedName(SERIALIZED_NAME_YTD_INTEREST_PAID) + private Double ytdInterestPaid; + + public static final String SERIALIZED_NAME_YTD_PRINCIPAL_PAID = "ytd_principal_paid"; + @SerializedName(SERIALIZED_NAME_YTD_PRINCIPAL_PAID) + private Double ytdPrincipalPaid; + + + public MortgageLiability accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account that this liability belongs to. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account that this liability belongs to.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public MortgageLiability accountNumber(String accountNumber) { + + this.accountNumber = accountNumber; + return this; + } + + /** + * The account number of the loan. + * @return accountNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The account number of the loan.") + + public String getAccountNumber() { + return accountNumber; + } + + + public void setAccountNumber(String accountNumber) { + this.accountNumber = accountNumber; + } + + + public MortgageLiability currentLateFee(Double currentLateFee) { + + this.currentLateFee = currentLateFee; + return this; + } + + /** + * The current outstanding amount charged for late payment. + * @return currentLateFee + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The current outstanding amount charged for late payment.") + + public Double getCurrentLateFee() { + return currentLateFee; + } + + + public void setCurrentLateFee(Double currentLateFee) { + this.currentLateFee = currentLateFee; + } + + + public MortgageLiability escrowBalance(Double escrowBalance) { + + this.escrowBalance = escrowBalance; + return this; + } + + /** + * Total amount held in escrow to pay taxes and insurance on behalf of the borrower. + * @return escrowBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Total amount held in escrow to pay taxes and insurance on behalf of the borrower.") + + public Double getEscrowBalance() { + return escrowBalance; + } + + + public void setEscrowBalance(Double escrowBalance) { + this.escrowBalance = escrowBalance; + } + + + public MortgageLiability hasPmi(Boolean hasPmi) { + + this.hasPmi = hasPmi; + return this; + } + + /** + * Indicates whether the borrower has private mortgage insurance in effect. + * @return hasPmi + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Indicates whether the borrower has private mortgage insurance in effect.") + + public Boolean getHasPmi() { + return hasPmi; + } + + + public void setHasPmi(Boolean hasPmi) { + this.hasPmi = hasPmi; + } + + + public MortgageLiability hasPrepaymentPenalty(Boolean hasPrepaymentPenalty) { + + this.hasPrepaymentPenalty = hasPrepaymentPenalty; + return this; + } + + /** + * Indicates whether the borrower will pay a penalty for early payoff of mortgage. + * @return hasPrepaymentPenalty + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Indicates whether the borrower will pay a penalty for early payoff of mortgage.") + + public Boolean getHasPrepaymentPenalty() { + return hasPrepaymentPenalty; + } + + + public void setHasPrepaymentPenalty(Boolean hasPrepaymentPenalty) { + this.hasPrepaymentPenalty = hasPrepaymentPenalty; + } + + + public MortgageLiability interestRate(MortgageInterestRate interestRate) { + + this.interestRate = interestRate; + return this; + } + + /** + * Get interestRate + * @return interestRate + **/ + @ApiModelProperty(required = true, value = "") + + public MortgageInterestRate getInterestRate() { + return interestRate; + } + + + public void setInterestRate(MortgageInterestRate interestRate) { + this.interestRate = interestRate; + } + + + public MortgageLiability lastPaymentAmount(Double lastPaymentAmount) { + + this.lastPaymentAmount = lastPaymentAmount; + return this; + } + + /** + * The amount of the last payment. + * @return lastPaymentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The amount of the last payment.") + + public Double getLastPaymentAmount() { + return lastPaymentAmount; + } + + + public void setLastPaymentAmount(Double lastPaymentAmount) { + this.lastPaymentAmount = lastPaymentAmount; + } + + + public MortgageLiability lastPaymentDate(LocalDate lastPaymentDate) { + + this.lastPaymentDate = lastPaymentDate; + return this; + } + + /** + * The date of the last payment. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return lastPaymentDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date of the last payment. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getLastPaymentDate() { + return lastPaymentDate; + } + + + public void setLastPaymentDate(LocalDate lastPaymentDate) { + this.lastPaymentDate = lastPaymentDate; + } + + + public MortgageLiability loanTypeDescription(String loanTypeDescription) { + + this.loanTypeDescription = loanTypeDescription; + return this; + } + + /** + * Description of the type of loan, for example `conventional`, `fixed`, or `variable`. This field is provided directly from the loan servicer and does not have an enumerated set of possible values. + * @return loanTypeDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Description of the type of loan, for example `conventional`, `fixed`, or `variable`. This field is provided directly from the loan servicer and does not have an enumerated set of possible values.") + + public String getLoanTypeDescription() { + return loanTypeDescription; + } + + + public void setLoanTypeDescription(String loanTypeDescription) { + this.loanTypeDescription = loanTypeDescription; + } + + + public MortgageLiability loanTerm(String loanTerm) { + + this.loanTerm = loanTerm; + return this; + } + + /** + * Full duration of mortgage as at origination (e.g. `10 year`). + * @return loanTerm + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Full duration of mortgage as at origination (e.g. `10 year`).") + + public String getLoanTerm() { + return loanTerm; + } + + + public void setLoanTerm(String loanTerm) { + this.loanTerm = loanTerm; + } + + + public MortgageLiability maturityDate(LocalDate maturityDate) { + + this.maturityDate = maturityDate; + return this; + } + + /** + * Original date on which mortgage is due in full. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return maturityDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Original date on which mortgage is due in full. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getMaturityDate() { + return maturityDate; + } + + + public void setMaturityDate(LocalDate maturityDate) { + this.maturityDate = maturityDate; + } + + + public MortgageLiability nextMonthlyPayment(Double nextMonthlyPayment) { + + this.nextMonthlyPayment = nextMonthlyPayment; + return this; + } + + /** + * The amount of the next payment. + * @return nextMonthlyPayment + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The amount of the next payment.") + + public Double getNextMonthlyPayment() { + return nextMonthlyPayment; + } + + + public void setNextMonthlyPayment(Double nextMonthlyPayment) { + this.nextMonthlyPayment = nextMonthlyPayment; + } + + + public MortgageLiability nextPaymentDueDate(LocalDate nextPaymentDueDate) { + + this.nextPaymentDueDate = nextPaymentDueDate; + return this; + } + + /** + * The due date for the next payment. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return nextPaymentDueDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The due date for the next payment. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getNextPaymentDueDate() { + return nextPaymentDueDate; + } + + + public void setNextPaymentDueDate(LocalDate nextPaymentDueDate) { + this.nextPaymentDueDate = nextPaymentDueDate; + } + + + public MortgageLiability originationDate(LocalDate originationDate) { + + this.originationDate = originationDate; + return this; + } + + /** + * The date on which the loan was initially lent. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return originationDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date on which the loan was initially lent. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getOriginationDate() { + return originationDate; + } + + + public void setOriginationDate(LocalDate originationDate) { + this.originationDate = originationDate; + } + + + public MortgageLiability originationPrincipalAmount(Double originationPrincipalAmount) { + + this.originationPrincipalAmount = originationPrincipalAmount; + return this; + } + + /** + * The original principal balance of the mortgage. + * @return originationPrincipalAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The original principal balance of the mortgage.") + + public Double getOriginationPrincipalAmount() { + return originationPrincipalAmount; + } + + + public void setOriginationPrincipalAmount(Double originationPrincipalAmount) { + this.originationPrincipalAmount = originationPrincipalAmount; + } + + + public MortgageLiability pastDueAmount(Double pastDueAmount) { + + this.pastDueAmount = pastDueAmount; + return this; + } + + /** + * Amount of loan (principal + interest) past due for payment. + * @return pastDueAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Amount of loan (principal + interest) past due for payment.") + + public Double getPastDueAmount() { + return pastDueAmount; + } + + + public void setPastDueAmount(Double pastDueAmount) { + this.pastDueAmount = pastDueAmount; + } + + + public MortgageLiability propertyAddress(MortgagePropertyAddress propertyAddress) { + + this.propertyAddress = propertyAddress; + return this; + } + + /** + * Get propertyAddress + * @return propertyAddress + **/ + @ApiModelProperty(required = true, value = "") + + public MortgagePropertyAddress getPropertyAddress() { + return propertyAddress; + } + + + public void setPropertyAddress(MortgagePropertyAddress propertyAddress) { + this.propertyAddress = propertyAddress; + } + + + public MortgageLiability ytdInterestPaid(Double ytdInterestPaid) { + + this.ytdInterestPaid = ytdInterestPaid; + return this; + } + + /** + * The year to date (YTD) interest paid. + * @return ytdInterestPaid + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The year to date (YTD) interest paid.") + + public Double getYtdInterestPaid() { + return ytdInterestPaid; + } + + + public void setYtdInterestPaid(Double ytdInterestPaid) { + this.ytdInterestPaid = ytdInterestPaid; + } + + + public MortgageLiability ytdPrincipalPaid(Double ytdPrincipalPaid) { + + this.ytdPrincipalPaid = ytdPrincipalPaid; + return this; + } + + /** + * The YTD principal paid. + * @return ytdPrincipalPaid + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The YTD principal paid.") + + public Double getYtdPrincipalPaid() { + return ytdPrincipalPaid; + } + + + public void setYtdPrincipalPaid(Double ytdPrincipalPaid) { + this.ytdPrincipalPaid = ytdPrincipalPaid; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MortgageLiability mortgageLiability = (MortgageLiability) o; + return Objects.equals(this.accountId, mortgageLiability.accountId) && + Objects.equals(this.accountNumber, mortgageLiability.accountNumber) && + Objects.equals(this.currentLateFee, mortgageLiability.currentLateFee) && + Objects.equals(this.escrowBalance, mortgageLiability.escrowBalance) && + Objects.equals(this.hasPmi, mortgageLiability.hasPmi) && + Objects.equals(this.hasPrepaymentPenalty, mortgageLiability.hasPrepaymentPenalty) && + Objects.equals(this.interestRate, mortgageLiability.interestRate) && + Objects.equals(this.lastPaymentAmount, mortgageLiability.lastPaymentAmount) && + Objects.equals(this.lastPaymentDate, mortgageLiability.lastPaymentDate) && + Objects.equals(this.loanTypeDescription, mortgageLiability.loanTypeDescription) && + Objects.equals(this.loanTerm, mortgageLiability.loanTerm) && + Objects.equals(this.maturityDate, mortgageLiability.maturityDate) && + Objects.equals(this.nextMonthlyPayment, mortgageLiability.nextMonthlyPayment) && + Objects.equals(this.nextPaymentDueDate, mortgageLiability.nextPaymentDueDate) && + Objects.equals(this.originationDate, mortgageLiability.originationDate) && + Objects.equals(this.originationPrincipalAmount, mortgageLiability.originationPrincipalAmount) && + Objects.equals(this.pastDueAmount, mortgageLiability.pastDueAmount) && + Objects.equals(this.propertyAddress, mortgageLiability.propertyAddress) && + Objects.equals(this.ytdInterestPaid, mortgageLiability.ytdInterestPaid) && + Objects.equals(this.ytdPrincipalPaid, mortgageLiability.ytdPrincipalPaid); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, accountNumber, currentLateFee, escrowBalance, hasPmi, hasPrepaymentPenalty, interestRate, lastPaymentAmount, lastPaymentDate, loanTypeDescription, loanTerm, maturityDate, nextMonthlyPayment, nextPaymentDueDate, originationDate, originationPrincipalAmount, pastDueAmount, propertyAddress, ytdInterestPaid, ytdPrincipalPaid); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MortgageLiability {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).append("\n"); + sb.append(" currentLateFee: ").append(toIndentedString(currentLateFee)).append("\n"); + sb.append(" escrowBalance: ").append(toIndentedString(escrowBalance)).append("\n"); + sb.append(" hasPmi: ").append(toIndentedString(hasPmi)).append("\n"); + sb.append(" hasPrepaymentPenalty: ").append(toIndentedString(hasPrepaymentPenalty)).append("\n"); + sb.append(" interestRate: ").append(toIndentedString(interestRate)).append("\n"); + sb.append(" lastPaymentAmount: ").append(toIndentedString(lastPaymentAmount)).append("\n"); + sb.append(" lastPaymentDate: ").append(toIndentedString(lastPaymentDate)).append("\n"); + sb.append(" loanTypeDescription: ").append(toIndentedString(loanTypeDescription)).append("\n"); + sb.append(" loanTerm: ").append(toIndentedString(loanTerm)).append("\n"); + sb.append(" maturityDate: ").append(toIndentedString(maturityDate)).append("\n"); + sb.append(" nextMonthlyPayment: ").append(toIndentedString(nextMonthlyPayment)).append("\n"); + sb.append(" nextPaymentDueDate: ").append(toIndentedString(nextPaymentDueDate)).append("\n"); + sb.append(" originationDate: ").append(toIndentedString(originationDate)).append("\n"); + sb.append(" originationPrincipalAmount: ").append(toIndentedString(originationPrincipalAmount)).append("\n"); + sb.append(" pastDueAmount: ").append(toIndentedString(pastDueAmount)).append("\n"); + sb.append(" propertyAddress: ").append(toIndentedString(propertyAddress)).append("\n"); + sb.append(" ytdInterestPaid: ").append(toIndentedString(ytdInterestPaid)).append("\n"); + sb.append(" ytdPrincipalPaid: ").append(toIndentedString(ytdPrincipalPaid)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MortgagePropertyAddress.java b/src/main/java/com/plaid/client/model/MortgagePropertyAddress.java new file mode 100644 index 0000000000..1d7954fdde --- /dev/null +++ b/src/main/java/com/plaid/client/model/MortgagePropertyAddress.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Object containing fields describing property address. + */ +@ApiModel(description = "Object containing fields describing property address.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MortgagePropertyAddress { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + + public MortgagePropertyAddress city(String city) { + + this.city = city; + return this; + } + + /** + * The city name. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The city name.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public MortgagePropertyAddress country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code. + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 3166-1 alpha-2 country code.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public MortgagePropertyAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The five or nine digit postal code. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The five or nine digit postal code.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public MortgagePropertyAddress region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state (example \"NC\"). + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The region or state (example \"NC\").") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public MortgagePropertyAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address (example \"564 Main Street, Apt 15\"). + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The full street address (example \"564 Main Street, Apt 15\").") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MortgagePropertyAddress mortgagePropertyAddress = (MortgagePropertyAddress) o; + return Objects.equals(this.city, mortgagePropertyAddress.city) && + Objects.equals(this.country, mortgagePropertyAddress.country) && + Objects.equals(this.postalCode, mortgagePropertyAddress.postalCode) && + Objects.equals(this.region, mortgagePropertyAddress.region) && + Objects.equals(this.street, mortgagePropertyAddress.street); + } + + @Override + public int hashCode() { + return Objects.hash(city, country, postalCode, region, street); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MortgagePropertyAddress {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/MultiDocumentRiskSignal.java b/src/main/java/com/plaid/client/model/MultiDocumentRiskSignal.java new file mode 100644 index 0000000000..bb389d76d4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/MultiDocumentRiskSignal.java @@ -0,0 +1,140 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocumentRiskSignal; +import com.plaid.client.model.RiskSignalDocumentReference; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Object containing risk signals and relevant metadata for a set of uploaded documents + */ +@ApiModel(description = "Object containing risk signals and relevant metadata for a set of uploaded documents") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class MultiDocumentRiskSignal { + public static final String SERIALIZED_NAME_DOCUMENT_REFERENCES = "document_references"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_REFERENCES) + private List documentReferences = new ArrayList<>(); + + public static final String SERIALIZED_NAME_RISK_SIGNALS = "risk_signals"; + @SerializedName(SERIALIZED_NAME_RISK_SIGNALS) + private List riskSignals = new ArrayList<>(); + + + public MultiDocumentRiskSignal documentReferences(List documentReferences) { + + this.documentReferences = documentReferences; + return this; + } + + public MultiDocumentRiskSignal addDocumentReferencesItem(RiskSignalDocumentReference documentReferencesItem) { + this.documentReferences.add(documentReferencesItem); + return this; + } + + /** + * Array of objects containing attributes that could indicate if a document is fraudulent + * @return documentReferences + **/ + @ApiModelProperty(required = true, value = "Array of objects containing attributes that could indicate if a document is fraudulent") + + public List getDocumentReferences() { + return documentReferences; + } + + + public void setDocumentReferences(List documentReferences) { + this.documentReferences = documentReferences; + } + + + public MultiDocumentRiskSignal riskSignals(List riskSignals) { + + this.riskSignals = riskSignals; + return this; + } + + public MultiDocumentRiskSignal addRiskSignalsItem(DocumentRiskSignal riskSignalsItem) { + this.riskSignals.add(riskSignalsItem); + return this; + } + + /** + * Array of attributes that indicate whether or not there is fraud risk with a set of documents + * @return riskSignals + **/ + @ApiModelProperty(required = true, value = "Array of attributes that indicate whether or not there is fraud risk with a set of documents") + + public List getRiskSignals() { + return riskSignals; + } + + + public void setRiskSignals(List riskSignals) { + this.riskSignals = riskSignals; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MultiDocumentRiskSignal multiDocumentRiskSignal = (MultiDocumentRiskSignal) o; + return Objects.equals(this.documentReferences, multiDocumentRiskSignal.documentReferences) && + Objects.equals(this.riskSignals, multiDocumentRiskSignal.riskSignals); + } + + @Override + public int hashCode() { + return Objects.hash(documentReferences, riskSignals); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MultiDocumentRiskSignal {\n"); + sb.append(" documentReferences: ").append(toIndentedString(documentReferences)).append("\n"); + sb.append(" riskSignals: ").append(toIndentedString(riskSignals)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NameMatchScore.java b/src/main/java/com/plaid/client/model/NameMatchScore.java new file mode 100644 index 0000000000..8b5c21954e --- /dev/null +++ b/src/main/java/com/plaid/client/model/NameMatchScore.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Score found by matching name provided by the API with the name on the account at the financial institution. If the account contains multiple owners, the maximum match score is filled. + */ +@ApiModel(description = "Score found by matching name provided by the API with the name on the account at the financial institution. If the account contains multiple owners, the maximum match score is filled.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NameMatchScore { + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_IS_FIRST_NAME_OR_LAST_NAME_MATCH = "is_first_name_or_last_name_match"; + @SerializedName(SERIALIZED_NAME_IS_FIRST_NAME_OR_LAST_NAME_MATCH) + private Boolean isFirstNameOrLastNameMatch; + + public static final String SERIALIZED_NAME_IS_NICKNAME_MATCH = "is_nickname_match"; + @SerializedName(SERIALIZED_NAME_IS_NICKNAME_MATCH) + private Boolean isNicknameMatch; + + public static final String SERIALIZED_NAME_IS_BUSINESS_NAME_DETECTED = "is_business_name_detected"; + @SerializedName(SERIALIZED_NAME_IS_BUSINESS_NAME_DETECTED) + private Boolean isBusinessNameDetected; + + + public NameMatchScore score(Integer score) { + + this.score = score; + return this; + } + + /** + * Match score for name. 100 is a perfect score, 99-85 means a strong match, 84-70 is a partial match, any score less than 70 is a mismatch. Typically, the match threshold should be set to a score of 70 or higher. If the name is missing from either the API or financial institution, this is null. + * @return score + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Match score for name. 100 is a perfect score, 99-85 means a strong match, 84-70 is a partial match, any score less than 70 is a mismatch. Typically, the match threshold should be set to a score of 70 or higher. If the name is missing from either the API or financial institution, this is null.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public NameMatchScore isFirstNameOrLastNameMatch(Boolean isFirstNameOrLastNameMatch) { + + this.isFirstNameOrLastNameMatch = isFirstNameOrLastNameMatch; + return this; + } + + /** + * first or last name completely matched, likely a family member + * @return isFirstNameOrLastNameMatch + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "first or last name completely matched, likely a family member") + + public Boolean getIsFirstNameOrLastNameMatch() { + return isFirstNameOrLastNameMatch; + } + + + public void setIsFirstNameOrLastNameMatch(Boolean isFirstNameOrLastNameMatch) { + this.isFirstNameOrLastNameMatch = isFirstNameOrLastNameMatch; + } + + + public NameMatchScore isNicknameMatch(Boolean isNicknameMatch) { + + this.isNicknameMatch = isNicknameMatch; + return this; + } + + /** + * nickname matched, example Jennifer and Jenn. + * @return isNicknameMatch + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "nickname matched, example Jennifer and Jenn.") + + public Boolean getIsNicknameMatch() { + return isNicknameMatch; + } + + + public void setIsNicknameMatch(Boolean isNicknameMatch) { + this.isNicknameMatch = isNicknameMatch; + } + + + public NameMatchScore isBusinessNameDetected(Boolean isBusinessNameDetected) { + + this.isBusinessNameDetected = isBusinessNameDetected; + return this; + } + + /** + * Is `true` if the name on either of the names that was matched for the score contained strings indicative of a business name, such as \"CORP\", \"LLC\", \"INC\", or \"LTD\". A `true` result generally indicates that an account's name is a business name. However, a `false` result does not mean the account name is not a business name, as some businesses do not use these strings in the names used for their financial institution accounts. + * @return isBusinessNameDetected + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Is `true` if the name on either of the names that was matched for the score contained strings indicative of a business name, such as \"CORP\", \"LLC\", \"INC\", or \"LTD\". A `true` result generally indicates that an account's name is a business name. However, a `false` result does not mean the account name is not a business name, as some businesses do not use these strings in the names used for their financial institution accounts.") + + public Boolean getIsBusinessNameDetected() { + return isBusinessNameDetected; + } + + + public void setIsBusinessNameDetected(Boolean isBusinessNameDetected) { + this.isBusinessNameDetected = isBusinessNameDetected; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NameMatchScore nameMatchScore = (NameMatchScore) o; + return Objects.equals(this.score, nameMatchScore.score) && + Objects.equals(this.isFirstNameOrLastNameMatch, nameMatchScore.isFirstNameOrLastNameMatch) && + Objects.equals(this.isNicknameMatch, nameMatchScore.isNicknameMatch) && + Objects.equals(this.isBusinessNameDetected, nameMatchScore.isBusinessNameDetected); + } + + @Override + public int hashCode() { + return Objects.hash(score, isFirstNameOrLastNameMatch, isNicknameMatch, isBusinessNameDetected); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NameMatchScore {\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" isFirstNameOrLastNameMatch: ").append(toIndentedString(isFirstNameOrLastNameMatch)).append("\n"); + sb.append(" isNicknameMatch: ").append(toIndentedString(isNicknameMatch)).append("\n"); + sb.append(" isBusinessNameDetected: ").append(toIndentedString(isBusinessNameDetected)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NegativeBalanceInsights.java b/src/main/java/com/plaid/client/model/NegativeBalanceInsights.java new file mode 100644 index 0000000000..a88f83e911 --- /dev/null +++ b/src/main/java/com/plaid/client/model/NegativeBalanceInsights.java @@ -0,0 +1,198 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AmountWithCurrency; +import com.plaid.client.model.NegativeBalanceOccurrence; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Insights into negative balance occurrences, including frequency, duration, and minimum balance details. + */ +@ApiModel(description = "Insights into negative balance occurrences, including frequency, duration, and minimum balance details.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NegativeBalanceInsights { + public static final String SERIALIZED_NAME_DAYS_SINCE_LAST_OCCURRENCE = "days_since_last_occurrence"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_LAST_OCCURRENCE) + private Integer daysSinceLastOccurrence; + + public static final String SERIALIZED_NAME_DAYS_WITH_NEGATIVE_BALANCE = "days_with_negative_balance"; + @SerializedName(SERIALIZED_NAME_DAYS_WITH_NEGATIVE_BALANCE) + private Integer daysWithNegativeBalance; + + public static final String SERIALIZED_NAME_MINIMUM_BALANCE = "minimum_balance"; + @SerializedName(SERIALIZED_NAME_MINIMUM_BALANCE) + private AmountWithCurrency minimumBalance; + + public static final String SERIALIZED_NAME_OCCURRENCES = "occurrences"; + @SerializedName(SERIALIZED_NAME_OCCURRENCES) + private List occurrences = null; + + + public NegativeBalanceInsights daysSinceLastOccurrence(Integer daysSinceLastOccurrence) { + + this.daysSinceLastOccurrence = daysSinceLastOccurrence; + return this; + } + + /** + * The number of days since the last transaction that caused any account in the report to have a negative balance. This value is inclusive of the date of the last negative balance, meaning that if the last negative balance occurred today, this value will be `0`. + * @return daysSinceLastOccurrence + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days since the last transaction that caused any account in the report to have a negative balance. This value is inclusive of the date of the last negative balance, meaning that if the last negative balance occurred today, this value will be `0`.") + + public Integer getDaysSinceLastOccurrence() { + return daysSinceLastOccurrence; + } + + + public void setDaysSinceLastOccurrence(Integer daysSinceLastOccurrence) { + this.daysSinceLastOccurrence = daysSinceLastOccurrence; + } + + + public NegativeBalanceInsights daysWithNegativeBalance(Integer daysWithNegativeBalance) { + + this.daysWithNegativeBalance = daysWithNegativeBalance; + return this; + } + + /** + * The number of aggregated days that the accounts in the report has had a negative balance within the given time window. + * @return daysWithNegativeBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of aggregated days that the accounts in the report has had a negative balance within the given time window.") + + public Integer getDaysWithNegativeBalance() { + return daysWithNegativeBalance; + } + + + public void setDaysWithNegativeBalance(Integer daysWithNegativeBalance) { + this.daysWithNegativeBalance = daysWithNegativeBalance; + } + + + public NegativeBalanceInsights minimumBalance(AmountWithCurrency minimumBalance) { + + this.minimumBalance = minimumBalance; + return this; + } + + /** + * Get minimumBalance + * @return minimumBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AmountWithCurrency getMinimumBalance() { + return minimumBalance; + } + + + public void setMinimumBalance(AmountWithCurrency minimumBalance) { + this.minimumBalance = minimumBalance; + } + + + public NegativeBalanceInsights occurrences(List occurrences) { + + this.occurrences = occurrences; + return this; + } + + public NegativeBalanceInsights addOccurrencesItem(NegativeBalanceOccurrence occurrencesItem) { + if (this.occurrences == null) { + this.occurrences = new ArrayList<>(); + } + this.occurrences.add(occurrencesItem); + return this; + } + + /** + * The summary of the negative balance occurrences for this account. If the user has not had a negative balance in the account in the given time window, this list will be empty. + * @return occurrences + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The summary of the negative balance occurrences for this account. If the user has not had a negative balance in the account in the given time window, this list will be empty.") + + public List getOccurrences() { + return occurrences; + } + + + public void setOccurrences(List occurrences) { + this.occurrences = occurrences; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NegativeBalanceInsights negativeBalanceInsights = (NegativeBalanceInsights) o; + return Objects.equals(this.daysSinceLastOccurrence, negativeBalanceInsights.daysSinceLastOccurrence) && + Objects.equals(this.daysWithNegativeBalance, negativeBalanceInsights.daysWithNegativeBalance) && + Objects.equals(this.minimumBalance, negativeBalanceInsights.minimumBalance) && + Objects.equals(this.occurrences, negativeBalanceInsights.occurrences); + } + + @Override + public int hashCode() { + return Objects.hash(daysSinceLastOccurrence, daysWithNegativeBalance, minimumBalance, occurrences); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NegativeBalanceInsights {\n"); + sb.append(" daysSinceLastOccurrence: ").append(toIndentedString(daysSinceLastOccurrence)).append("\n"); + sb.append(" daysWithNegativeBalance: ").append(toIndentedString(daysWithNegativeBalance)).append("\n"); + sb.append(" minimumBalance: ").append(toIndentedString(minimumBalance)).append("\n"); + sb.append(" occurrences: ").append(toIndentedString(occurrences)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NegativeBalanceOccurrence.java b/src/main/java/com/plaid/client/model/NegativeBalanceOccurrence.java new file mode 100644 index 0000000000..92ae2c80aa --- /dev/null +++ b/src/main/java/com/plaid/client/model/NegativeBalanceOccurrence.java @@ -0,0 +1,159 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AmountWithCurrency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Details about a specific occurrence of a negative balance period, including start and end dates. + */ +@ApiModel(description = "Details about a specific occurrence of a negative balance period, including start and end dates.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NegativeBalanceOccurrence { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_MINIMUM_BALANCE = "minimum_balance"; + @SerializedName(SERIALIZED_NAME_MINIMUM_BALANCE) + private AmountWithCurrency minimumBalance; + + + public NegativeBalanceOccurrence startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The date of the first transaction that caused the account to have a negative balance. The date will be returned in an ISO 8601 format (YYYY-MM-DD). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date of the first transaction that caused the account to have a negative balance. The date will be returned in an ISO 8601 format (YYYY-MM-DD).") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public NegativeBalanceOccurrence endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The date of the last transaction that caused the account to have a negative balance. The date will be returned in an ISO 8601 format (YYYY-MM-DD). This date is inclusive, meaning that this was the last date that the account had a negative balance. + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date of the last transaction that caused the account to have a negative balance. The date will be returned in an ISO 8601 format (YYYY-MM-DD). This date is inclusive, meaning that this was the last date that the account had a negative balance.") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public NegativeBalanceOccurrence minimumBalance(AmountWithCurrency minimumBalance) { + + this.minimumBalance = minimumBalance; + return this; + } + + /** + * Get minimumBalance + * @return minimumBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AmountWithCurrency getMinimumBalance() { + return minimumBalance; + } + + + public void setMinimumBalance(AmountWithCurrency minimumBalance) { + this.minimumBalance = minimumBalance; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NegativeBalanceOccurrence negativeBalanceOccurrence = (NegativeBalanceOccurrence) o; + return Objects.equals(this.startDate, negativeBalanceOccurrence.startDate) && + Objects.equals(this.endDate, negativeBalanceOccurrence.endDate) && + Objects.equals(this.minimumBalance, negativeBalanceOccurrence.minimumBalance); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate, minimumBalance); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NegativeBalanceOccurrence {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" minimumBalance: ").append(toIndentedString(minimumBalance)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NetPay.java b/src/main/java/com/plaid/client/model/NetPay.java new file mode 100644 index 0000000000..c295e868e9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/NetPay.java @@ -0,0 +1,245 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Total; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing information about the net pay amount on the paystub. + */ +@ApiModel(description = "An object representing information about the net pay amount on the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NetPay { + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + public static final String SERIALIZED_NAME_TOTAL = "total"; + @SerializedName(SERIALIZED_NAME_TOTAL) + private Total total; + + + public NetPay currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * Raw amount of the net pay for the pay period + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Raw amount of the net pay for the pay period") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public NetPay description(String description) { + + this.description = description; + return this; + } + + /** + * Description of the net pay + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Description of the net pay") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public NetPay isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public NetPay unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public NetPay ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The year-to-date amount of the net pay + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The year-to-date amount of the net pay") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + public NetPay total(Total total) { + + this.total = total; + return this; + } + + /** + * Get total + * @return total + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Total getTotal() { + return total; + } + + + public void setTotal(Total total) { + this.total = total; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NetPay netPay = (NetPay) o; + return Objects.equals(this.currentAmount, netPay.currentAmount) && + Objects.equals(this.description, netPay.description) && + Objects.equals(this.isoCurrencyCode, netPay.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, netPay.unofficialCurrencyCode) && + Objects.equals(this.ytdAmount, netPay.ytdAmount) && + Objects.equals(this.total, netPay.total); + } + + @Override + public int hashCode() { + return Objects.hash(currentAmount, description, isoCurrencyCode, unofficialCurrencyCode, ytdAmount, total); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NetPay {\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NetworkInsightsVersion.java b/src/main/java/com/plaid/client/model/NetworkInsightsVersion.java new file mode 100644 index 0000000000..bc5cfd039b --- /dev/null +++ b/src/main/java/com/plaid/client/model/NetworkInsightsVersion.java @@ -0,0 +1,75 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The version of Network Insights. Required if using Network Insights. + */ +@JsonAdapter(NetworkInsightsVersion.Adapter.class) +public enum NetworkInsightsVersion { + + NI1("NI1"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + NetworkInsightsVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NetworkInsightsVersion fromValue(String value) { + for (NetworkInsightsVersion b : NetworkInsightsVersion.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NetworkInsightsVersion enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NetworkInsightsVersion read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NetworkInsightsVersion.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/NetworkStatusGetRequest.java b/src/main/java/com/plaid/client/model/NetworkStatusGetRequest.java new file mode 100644 index 0000000000..5701b39668 --- /dev/null +++ b/src/main/java/com/plaid/client/model/NetworkStatusGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NetworkStatusGetUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * NetworkStatusGetRequest defines the request schema for `/network/status/get` + */ +@ApiModel(description = "NetworkStatusGetRequest defines the request schema for `/network/status/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NetworkStatusGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private NetworkStatusGetUser user; + + public static final String SERIALIZED_NAME_TEMPLATE_ID = "template_id"; + @SerializedName(SERIALIZED_NAME_TEMPLATE_ID) + private String templateId; + + + public NetworkStatusGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public NetworkStatusGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public NetworkStatusGetRequest user(NetworkStatusGetUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public NetworkStatusGetUser getUser() { + return user; + } + + + public void setUser(NetworkStatusGetUser user) { + this.user = user; + } + + + public NetworkStatusGetRequest templateId(String templateId) { + + this.templateId = templateId; + return this; + } + + /** + * The id of a template defined in Plaid Dashboard. This field is used if you have additional criteria that you want to check against (e.g. Layer eligibility). + * @return templateId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The id of a template defined in Plaid Dashboard. This field is used if you have additional criteria that you want to check against (e.g. Layer eligibility).") + + public String getTemplateId() { + return templateId; + } + + + public void setTemplateId(String templateId) { + this.templateId = templateId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NetworkStatusGetRequest networkStatusGetRequest = (NetworkStatusGetRequest) o; + return Objects.equals(this.clientId, networkStatusGetRequest.clientId) && + Objects.equals(this.secret, networkStatusGetRequest.secret) && + Objects.equals(this.user, networkStatusGetRequest.user) && + Objects.equals(this.templateId, networkStatusGetRequest.templateId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, user, templateId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NetworkStatusGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" templateId: ").append(toIndentedString(templateId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NetworkStatusGetResponse.java b/src/main/java/com/plaid/client/model/NetworkStatusGetResponse.java new file mode 100644 index 0000000000..952408d2a8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/NetworkStatusGetResponse.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NetworkStatusGetResponseLayer; +import com.plaid.client.model.NetworkStatusGetResponseNetworkStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * NetworkStatusGetResponse defines the response schema for `/network/status/get` + */ +@ApiModel(description = "NetworkStatusGetResponse defines the response schema for `/network/status/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NetworkStatusGetResponse { + public static final String SERIALIZED_NAME_NETWORK_STATUS = "network_status"; + @SerializedName(SERIALIZED_NAME_NETWORK_STATUS) + private NetworkStatusGetResponseNetworkStatus networkStatus; + + public static final String SERIALIZED_NAME_LAYER = "layer"; + @SerializedName(SERIALIZED_NAME_LAYER) + private NetworkStatusGetResponseLayer layer; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public NetworkStatusGetResponse networkStatus(NetworkStatusGetResponseNetworkStatus networkStatus) { + + this.networkStatus = networkStatus; + return this; + } + + /** + * Get networkStatus + * @return networkStatus + **/ + @ApiModelProperty(required = true, value = "") + + public NetworkStatusGetResponseNetworkStatus getNetworkStatus() { + return networkStatus; + } + + + public void setNetworkStatus(NetworkStatusGetResponseNetworkStatus networkStatus) { + this.networkStatus = networkStatus; + } + + + public NetworkStatusGetResponse layer(NetworkStatusGetResponseLayer layer) { + + this.layer = layer; + return this; + } + + /** + * Get layer + * @return layer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NetworkStatusGetResponseLayer getLayer() { + return layer; + } + + + public void setLayer(NetworkStatusGetResponseLayer layer) { + this.layer = layer; + } + + + public NetworkStatusGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NetworkStatusGetResponse networkStatusGetResponse = (NetworkStatusGetResponse) o; + return Objects.equals(this.networkStatus, networkStatusGetResponse.networkStatus) && + Objects.equals(this.layer, networkStatusGetResponse.layer) && + Objects.equals(this.requestId, networkStatusGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(networkStatus, layer, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NetworkStatusGetResponse {\n"); + sb.append(" networkStatus: ").append(toIndentedString(networkStatus)).append("\n"); + sb.append(" layer: ").append(toIndentedString(layer)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NetworkStatusGetResponseLayer.java b/src/main/java/com/plaid/client/model/NetworkStatusGetResponseLayer.java new file mode 100644 index 0000000000..200a145754 --- /dev/null +++ b/src/main/java/com/plaid/client/model/NetworkStatusGetResponseLayer.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing Layer-related metadata for the requested user. + */ +@ApiModel(description = "An object representing Layer-related metadata for the requested user.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NetworkStatusGetResponseLayer { + public static final String SERIALIZED_NAME_ELIGIBLE = "eligible"; + @SerializedName(SERIALIZED_NAME_ELIGIBLE) + private Boolean eligible; + + + public NetworkStatusGetResponseLayer eligible(Boolean eligible) { + + this.eligible = eligible; + return this; + } + + /** + * Indicates if the user is eligible for a Layer session. + * @return eligible + **/ + @ApiModelProperty(required = true, value = "Indicates if the user is eligible for a Layer session.") + + public Boolean getEligible() { + return eligible; + } + + + public void setEligible(Boolean eligible) { + this.eligible = eligible; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NetworkStatusGetResponseLayer networkStatusGetResponseLayer = (NetworkStatusGetResponseLayer) o; + return Objects.equals(this.eligible, networkStatusGetResponseLayer.eligible); + } + + @Override + public int hashCode() { + return Objects.hash(eligible); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NetworkStatusGetResponseLayer {\n"); + sb.append(" eligible: ").append(toIndentedString(eligible)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NetworkStatusGetResponseNetworkStatus.java b/src/main/java/com/plaid/client/model/NetworkStatusGetResponseNetworkStatus.java new file mode 100644 index 0000000000..d64e53733b --- /dev/null +++ b/src/main/java/com/plaid/client/model/NetworkStatusGetResponseNetworkStatus.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Enum representing the overall network status of the user. + */ +@JsonAdapter(NetworkStatusGetResponseNetworkStatus.Adapter.class) +public enum NetworkStatusGetResponseNetworkStatus { + + UNKNOWN("UNKNOWN"), + + RETURNING_USER("RETURNING_USER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + NetworkStatusGetResponseNetworkStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NetworkStatusGetResponseNetworkStatus fromValue(String value) { + for (NetworkStatusGetResponseNetworkStatus b : NetworkStatusGetResponseNetworkStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return NetworkStatusGetResponseNetworkStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NetworkStatusGetResponseNetworkStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NetworkStatusGetResponseNetworkStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NetworkStatusGetResponseNetworkStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/NetworkStatusGetUser.java b/src/main/java/com/plaid/client/model/NetworkStatusGetUser.java new file mode 100644 index 0000000000..93be42ab5e --- /dev/null +++ b/src/main/java/com/plaid/client/model/NetworkStatusGetUser.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object specifying information about the end user for the network status check. + */ +@ApiModel(description = "An object specifying information about the end user for the network status check.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NetworkStatusGetUser { + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + + public NetworkStatusGetUser phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * The user's phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format. + * @return phoneNumber + **/ + @ApiModelProperty(required = true, value = "The user's phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NetworkStatusGetUser networkStatusGetUser = (NetworkStatusGetUser) o; + return Objects.equals(this.phoneNumber, networkStatusGetUser.phoneNumber); + } + + @Override + public int hashCode() { + return Objects.hash(phoneNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NetworkStatusGetUser {\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NewAccountsAvailableWebhook.java b/src/main/java/com/plaid/client/model/NewAccountsAvailableWebhook.java new file mode 100644 index 0000000000..b0d6a38d93 --- /dev/null +++ b/src/main/java/com/plaid/client/model/NewAccountsAvailableWebhook.java @@ -0,0 +1,246 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when Plaid detects a new account. Upon receiving this webhook, you can prompt your users to share new accounts with you through [update mode](https://plaid.com/docs/link/update-mode/#using-update-mode-to-request-new-accounts) (US/CA only). If the end user has opted not to share new accounts with Plaid via their institution's OAuth settings, Plaid will not detect new accounts and this webhook will not fire. For end user accounts in the EU and UK, upon receiving this webhook, you can prompt your user to re-link their account and then delete the old Item via `/item/remove`. + */ +@ApiModel(description = "Fired when Plaid detects a new account. Upon receiving this webhook, you can prompt your users to share new accounts with you through [update mode](https://plaid.com/docs/link/update-mode/#using-update-mode-to-request-new-accounts) (US/CA only). If the end user has opted not to share new accounts with Plaid via their institution's OAuth settings, Plaid will not detect new accounts and this webhook will not fire. For end user accounts in the EU and UK, upon receiving this webhook, you can prompt your user to re-link their account and then delete the old Item via `/item/remove`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NewAccountsAvailableWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public NewAccountsAvailableWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `ITEM` + * @return webhookType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "`ITEM`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public NewAccountsAvailableWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `NEW_ACCOUNTS_AVAILABLE` + * @return webhookCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "`NEW_ACCOUNTS_AVAILABLE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public NewAccountsAvailableWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public NewAccountsAvailableWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public NewAccountsAvailableWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public NewAccountsAvailableWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewAccountsAvailableWebhook newAccountsAvailableWebhook = (NewAccountsAvailableWebhook) o; + return Objects.equals(this.webhookType, newAccountsAvailableWebhook.webhookType) && + Objects.equals(this.webhookCode, newAccountsAvailableWebhook.webhookCode) && + Objects.equals(this.itemId, newAccountsAvailableWebhook.itemId) && + Objects.equals(this.userId, newAccountsAvailableWebhook.userId) && + Objects.equals(this.error, newAccountsAvailableWebhook.error) && + Objects.equals(this.environment, newAccountsAvailableWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, error, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewAccountsAvailableWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Numbers.java b/src/main/java/com/plaid/client/model/Numbers.java new file mode 100644 index 0000000000..5c469ff625 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Numbers.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Account and bank identifier number data used to configure the test account. All values are optional. + */ +@ApiModel(description = "Account and bank identifier number data used to configure the test account. All values are optional.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Numbers { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_ACH_ROUTING = "ach_routing"; + @SerializedName(SERIALIZED_NAME_ACH_ROUTING) + private String achRouting; + + public static final String SERIALIZED_NAME_ACH_WIRE_ROUTING = "ach_wire_routing"; + @SerializedName(SERIALIZED_NAME_ACH_WIRE_ROUTING) + private String achWireRouting; + + public static final String SERIALIZED_NAME_EFT_INSTITUTION = "eft_institution"; + @SerializedName(SERIALIZED_NAME_EFT_INSTITUTION) + private String eftInstitution; + + public static final String SERIALIZED_NAME_EFT_BRANCH = "eft_branch"; + @SerializedName(SERIALIZED_NAME_EFT_BRANCH) + private String eftBranch; + + public static final String SERIALIZED_NAME_INTERNATIONAL_BIC = "international_bic"; + @SerializedName(SERIALIZED_NAME_INTERNATIONAL_BIC) + private String internationalBic; + + public static final String SERIALIZED_NAME_INTERNATIONAL_IBAN = "international_iban"; + @SerializedName(SERIALIZED_NAME_INTERNATIONAL_IBAN) + private String internationalIban; + + public static final String SERIALIZED_NAME_BACS_SORT_CODE = "bacs_sort_code"; + @SerializedName(SERIALIZED_NAME_BACS_SORT_CODE) + private String bacsSortCode; + + + public Numbers account(String account) { + + this.account = account; + return this; + } + + /** + * Will be used for the account number. + * @return account + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Will be used for the account number.") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public Numbers achRouting(String achRouting) { + + this.achRouting = achRouting; + return this; + } + + /** + * Must be a valid ACH routing number. To test `/transfer/capabilities/get`, set this to 322271627 to force a `true` result. + * @return achRouting + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Must be a valid ACH routing number. To test `/transfer/capabilities/get`, set this to 322271627 to force a `true` result.") + + public String getAchRouting() { + return achRouting; + } + + + public void setAchRouting(String achRouting) { + this.achRouting = achRouting; + } + + + public Numbers achWireRouting(String achWireRouting) { + + this.achWireRouting = achWireRouting; + return this; + } + + /** + * Must be a valid wire transfer routing number. + * @return achWireRouting + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Must be a valid wire transfer routing number.") + + public String getAchWireRouting() { + return achWireRouting; + } + + + public void setAchWireRouting(String achWireRouting) { + this.achWireRouting = achWireRouting; + } + + + public Numbers eftInstitution(String eftInstitution) { + + this.eftInstitution = eftInstitution; + return this; + } + + /** + * EFT institution number. Must be specified alongside `eft_branch`. + * @return eftInstitution + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "EFT institution number. Must be specified alongside `eft_branch`.") + + public String getEftInstitution() { + return eftInstitution; + } + + + public void setEftInstitution(String eftInstitution) { + this.eftInstitution = eftInstitution; + } + + + public Numbers eftBranch(String eftBranch) { + + this.eftBranch = eftBranch; + return this; + } + + /** + * EFT branch number. Must be specified alongside `eft_institution`. + * @return eftBranch + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "EFT branch number. Must be specified alongside `eft_institution`.") + + public String getEftBranch() { + return eftBranch; + } + + + public void setEftBranch(String eftBranch) { + this.eftBranch = eftBranch; + } + + + public Numbers internationalBic(String internationalBic) { + + this.internationalBic = internationalBic; + return this; + } + + /** + * Business Identifier Code (BIC). Must be specified alongside `international_iban`. + * @return internationalBic + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Business Identifier Code (BIC). Must be specified alongside `international_iban`.") + + public String getInternationalBic() { + return internationalBic; + } + + + public void setInternationalBic(String internationalBic) { + this.internationalBic = internationalBic; + } + + + public Numbers internationalIban(String internationalIban) { + + this.internationalIban = internationalIban; + return this; + } + + /** + * International Bank Account Number (IBAN). If no account number is specified via `account`, will also be used as the account number by default. Must be specified alongside `international_bic`. + * @return internationalIban + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "International Bank Account Number (IBAN). If no account number is specified via `account`, will also be used as the account number by default. Must be specified alongside `international_bic`.") + + public String getInternationalIban() { + return internationalIban; + } + + + public void setInternationalIban(String internationalIban) { + this.internationalIban = internationalIban; + } + + + public Numbers bacsSortCode(String bacsSortCode) { + + this.bacsSortCode = bacsSortCode; + return this; + } + + /** + * Bacs sort code + * @return bacsSortCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Bacs sort code") + + public String getBacsSortCode() { + return bacsSortCode; + } + + + public void setBacsSortCode(String bacsSortCode) { + this.bacsSortCode = bacsSortCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Numbers numbers = (Numbers) o; + return Objects.equals(this.account, numbers.account) && + Objects.equals(this.achRouting, numbers.achRouting) && + Objects.equals(this.achWireRouting, numbers.achWireRouting) && + Objects.equals(this.eftInstitution, numbers.eftInstitution) && + Objects.equals(this.eftBranch, numbers.eftBranch) && + Objects.equals(this.internationalBic, numbers.internationalBic) && + Objects.equals(this.internationalIban, numbers.internationalIban) && + Objects.equals(this.bacsSortCode, numbers.bacsSortCode); + } + + @Override + public int hashCode() { + return Objects.hash(account, achRouting, achWireRouting, eftInstitution, eftBranch, internationalBic, internationalIban, bacsSortCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Numbers {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" achRouting: ").append(toIndentedString(achRouting)).append("\n"); + sb.append(" achWireRouting: ").append(toIndentedString(achWireRouting)).append("\n"); + sb.append(" eftInstitution: ").append(toIndentedString(eftInstitution)).append("\n"); + sb.append(" eftBranch: ").append(toIndentedString(eftBranch)).append("\n"); + sb.append(" internationalBic: ").append(toIndentedString(internationalBic)).append("\n"); + sb.append(" internationalIban: ").append(toIndentedString(internationalIban)).append("\n"); + sb.append(" bacsSortCode: ").append(toIndentedString(bacsSortCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NumbersACATS.java b/src/main/java/com/plaid/client/model/NumbersACATS.java new file mode 100644 index 0000000000..eeab93d821 --- /dev/null +++ b/src/main/java/com/plaid/client/model/NumbersACATS.java @@ -0,0 +1,161 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Identifying information for transferring holdings to an investment account via ACATS. + */ +@ApiModel(description = "Identifying information for transferring holdings to an investment account via ACATS.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NumbersACATS { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_DTC_NUMBERS = "dtc_numbers"; + @SerializedName(SERIALIZED_NAME_DTC_NUMBERS) + private List dtcNumbers = new ArrayList<>(); + + + public NumbersACATS accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid account ID associated with the account numbers + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid account ID associated with the account numbers") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public NumbersACATS account(String account) { + + this.account = account; + return this; + } + + /** + * The full account number for the account + * @return account + **/ + @ApiModelProperty(required = true, value = "The full account number for the account") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public NumbersACATS dtcNumbers(List dtcNumbers) { + + this.dtcNumbers = dtcNumbers; + return this; + } + + public NumbersACATS addDtcNumbersItem(String dtcNumbersItem) { + this.dtcNumbers.add(dtcNumbersItem); + return this; + } + + /** + * Identifiers for the clearinghouses that are associated with the account in order of relevance. If this array is empty, call `/institutions/get_by_id` with the `item.institution_id` to get the DTC number. + * @return dtcNumbers + **/ + @ApiModelProperty(required = true, value = "Identifiers for the clearinghouses that are associated with the account in order of relevance. If this array is empty, call `/institutions/get_by_id` with the `item.institution_id` to get the DTC number.") + + public List getDtcNumbers() { + return dtcNumbers; + } + + + public void setDtcNumbers(List dtcNumbers) { + this.dtcNumbers = dtcNumbers; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumbersACATS numbersACATS = (NumbersACATS) o; + return Objects.equals(this.accountId, numbersACATS.accountId) && + Objects.equals(this.account, numbersACATS.account) && + Objects.equals(this.dtcNumbers, numbersACATS.dtcNumbers); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, account, dtcNumbers); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumbersACATS {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" dtcNumbers: ").append(toIndentedString(dtcNumbers)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NumbersACH.java b/src/main/java/com/plaid/client/model/NumbersACH.java new file mode 100644 index 0000000000..202e6df58b --- /dev/null +++ b/src/main/java/com/plaid/client/model/NumbersACH.java @@ -0,0 +1,270 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Identifying information for transferring money to or from a US account via ACH or wire transfer. + */ +@ApiModel(description = "Identifying information for transferring money to or from a US account via ACH or wire transfer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NumbersACH { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_IS_TOKENIZED_ACCOUNT_NUMBER = "is_tokenized_account_number"; + @SerializedName(SERIALIZED_NAME_IS_TOKENIZED_ACCOUNT_NUMBER) + private Boolean isTokenizedAccountNumber; + + public static final String SERIALIZED_NAME_ROUTING = "routing"; + @SerializedName(SERIALIZED_NAME_ROUTING) + private String routing; + + public static final String SERIALIZED_NAME_WIRE_ROUTING = "wire_routing"; + @SerializedName(SERIALIZED_NAME_WIRE_ROUTING) + private String wireRouting; + + public static final String SERIALIZED_NAME_CAN_TRANSFER_IN = "can_transfer_in"; + @SerializedName(SERIALIZED_NAME_CAN_TRANSFER_IN) + private Boolean canTransferIn; + + public static final String SERIALIZED_NAME_CAN_TRANSFER_OUT = "can_transfer_out"; + @SerializedName(SERIALIZED_NAME_CAN_TRANSFER_OUT) + private Boolean canTransferOut; + + + public NumbersACH accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid account ID associated with the account numbers + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid account ID associated with the account numbers") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public NumbersACH account(String account) { + + this.account = account; + return this; + } + + /** + * The ACH account number for the account. At certain institutions, including Chase, PNC, and US Bank, you will receive a \"tokenized\" account number, which is not the user's actual account number. For important details on how this may impact your integration and on how to avoid fraud, user confusion, and ACH returns, see [Tokenized account numbers](https://plaid.com/docs/auth/#tokenized-account-numbers). + * @return account + **/ + @ApiModelProperty(required = true, value = "The ACH account number for the account. At certain institutions, including Chase, PNC, and US Bank, you will receive a \"tokenized\" account number, which is not the user's actual account number. For important details on how this may impact your integration and on how to avoid fraud, user confusion, and ACH returns, see [Tokenized account numbers](https://plaid.com/docs/auth/#tokenized-account-numbers).") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public NumbersACH isTokenizedAccountNumber(Boolean isTokenizedAccountNumber) { + + this.isTokenizedAccountNumber = isTokenizedAccountNumber; + return this; + } + + /** + * Indicates whether the account number is tokenized by the institution. For important details on how tokenized account numbers may impact your integration, see [Tokenized account numbers](https://plaid.com/docs/auth/#tokenized-account-numbers). + * @return isTokenizedAccountNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates whether the account number is tokenized by the institution. For important details on how tokenized account numbers may impact your integration, see [Tokenized account numbers](https://plaid.com/docs/auth/#tokenized-account-numbers).") + + public Boolean getIsTokenizedAccountNumber() { + return isTokenizedAccountNumber; + } + + + public void setIsTokenizedAccountNumber(Boolean isTokenizedAccountNumber) { + this.isTokenizedAccountNumber = isTokenizedAccountNumber; + } + + + public NumbersACH routing(String routing) { + + this.routing = routing; + return this; + } + + /** + * The ACH routing number for the account. For more information, see [Tokenized account numbers](https://plaid.com/docs/auth/#tokenized-account-numbers). + * @return routing + **/ + @ApiModelProperty(required = true, value = "The ACH routing number for the account. For more information, see [Tokenized account numbers](https://plaid.com/docs/auth/#tokenized-account-numbers).") + + public String getRouting() { + return routing; + } + + + public void setRouting(String routing) { + this.routing = routing; + } + + + public NumbersACH wireRouting(String wireRouting) { + + this.wireRouting = wireRouting; + return this; + } + + /** + * The wire transfer routing number for the account. This field is only populated if the institution is known to use a separate wire transfer routing number. Many institutions do not have a separate wire routing number and use the ACH routing number for wires instead. It is recommended to have the end user manually confirm their wire routing number before sending any wires to their account, especially if this field is `null`. + * @return wireRouting + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The wire transfer routing number for the account. This field is only populated if the institution is known to use a separate wire transfer routing number. Many institutions do not have a separate wire routing number and use the ACH routing number for wires instead. It is recommended to have the end user manually confirm their wire routing number before sending any wires to their account, especially if this field is `null`.") + + public String getWireRouting() { + return wireRouting; + } + + + public void setWireRouting(String wireRouting) { + this.wireRouting = wireRouting; + } + + + public NumbersACH canTransferIn(Boolean canTransferIn) { + + this.canTransferIn = canTransferIn; + return this; + } + + /** + * Whether the account supports ACH transfers into the account + * @return canTransferIn + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the account supports ACH transfers into the account") + + public Boolean getCanTransferIn() { + return canTransferIn; + } + + + public void setCanTransferIn(Boolean canTransferIn) { + this.canTransferIn = canTransferIn; + } + + + public NumbersACH canTransferOut(Boolean canTransferOut) { + + this.canTransferOut = canTransferOut; + return this; + } + + /** + * Whether the account supports ACH transfers out of the account + * @return canTransferOut + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the account supports ACH transfers out of the account") + + public Boolean getCanTransferOut() { + return canTransferOut; + } + + + public void setCanTransferOut(Boolean canTransferOut) { + this.canTransferOut = canTransferOut; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumbersACH numbersACH = (NumbersACH) o; + return Objects.equals(this.accountId, numbersACH.accountId) && + Objects.equals(this.account, numbersACH.account) && + Objects.equals(this.isTokenizedAccountNumber, numbersACH.isTokenizedAccountNumber) && + Objects.equals(this.routing, numbersACH.routing) && + Objects.equals(this.wireRouting, numbersACH.wireRouting) && + Objects.equals(this.canTransferIn, numbersACH.canTransferIn) && + Objects.equals(this.canTransferOut, numbersACH.canTransferOut); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, account, isTokenizedAccountNumber, routing, wireRouting, canTransferIn, canTransferOut); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumbersACH {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" isTokenizedAccountNumber: ").append(toIndentedString(isTokenizedAccountNumber)).append("\n"); + sb.append(" routing: ").append(toIndentedString(routing)).append("\n"); + sb.append(" wireRouting: ").append(toIndentedString(wireRouting)).append("\n"); + sb.append(" canTransferIn: ").append(toIndentedString(canTransferIn)).append("\n"); + sb.append(" canTransferOut: ").append(toIndentedString(canTransferOut)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NumbersACHNullable.java b/src/main/java/com/plaid/client/model/NumbersACHNullable.java new file mode 100644 index 0000000000..11997f437b --- /dev/null +++ b/src/main/java/com/plaid/client/model/NumbersACHNullable.java @@ -0,0 +1,271 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NumbersACH; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Identifying information for transferring money to or from a US account via ACH or wire transfer. + */ +@ApiModel(description = "Identifying information for transferring money to or from a US account via ACH or wire transfer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NumbersACHNullable { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_IS_TOKENIZED_ACCOUNT_NUMBER = "is_tokenized_account_number"; + @SerializedName(SERIALIZED_NAME_IS_TOKENIZED_ACCOUNT_NUMBER) + private Boolean isTokenizedAccountNumber; + + public static final String SERIALIZED_NAME_ROUTING = "routing"; + @SerializedName(SERIALIZED_NAME_ROUTING) + private String routing; + + public static final String SERIALIZED_NAME_WIRE_ROUTING = "wire_routing"; + @SerializedName(SERIALIZED_NAME_WIRE_ROUTING) + private String wireRouting; + + public static final String SERIALIZED_NAME_CAN_TRANSFER_IN = "can_transfer_in"; + @SerializedName(SERIALIZED_NAME_CAN_TRANSFER_IN) + private Boolean canTransferIn; + + public static final String SERIALIZED_NAME_CAN_TRANSFER_OUT = "can_transfer_out"; + @SerializedName(SERIALIZED_NAME_CAN_TRANSFER_OUT) + private Boolean canTransferOut; + + + public NumbersACHNullable accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid account ID associated with the account numbers + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid account ID associated with the account numbers") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public NumbersACHNullable account(String account) { + + this.account = account; + return this; + } + + /** + * The ACH account number for the account. At certain institutions, including Chase, PNC, and US Bank, you will receive a \"tokenized\" account number, which is not the user's actual account number. For important details on how this may impact your integration and on how to avoid fraud, user confusion, and ACH returns, see [Tokenized account numbers](https://plaid.com/docs/auth/#tokenized-account-numbers). + * @return account + **/ + @ApiModelProperty(required = true, value = "The ACH account number for the account. At certain institutions, including Chase, PNC, and US Bank, you will receive a \"tokenized\" account number, which is not the user's actual account number. For important details on how this may impact your integration and on how to avoid fraud, user confusion, and ACH returns, see [Tokenized account numbers](https://plaid.com/docs/auth/#tokenized-account-numbers).") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public NumbersACHNullable isTokenizedAccountNumber(Boolean isTokenizedAccountNumber) { + + this.isTokenizedAccountNumber = isTokenizedAccountNumber; + return this; + } + + /** + * Indicates whether the account number is tokenized by the institution. For important details on how tokenized account numbers may impact your integration, see [Tokenized account numbers](https://plaid.com/docs/auth/#tokenized-account-numbers). + * @return isTokenizedAccountNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates whether the account number is tokenized by the institution. For important details on how tokenized account numbers may impact your integration, see [Tokenized account numbers](https://plaid.com/docs/auth/#tokenized-account-numbers).") + + public Boolean getIsTokenizedAccountNumber() { + return isTokenizedAccountNumber; + } + + + public void setIsTokenizedAccountNumber(Boolean isTokenizedAccountNumber) { + this.isTokenizedAccountNumber = isTokenizedAccountNumber; + } + + + public NumbersACHNullable routing(String routing) { + + this.routing = routing; + return this; + } + + /** + * The ACH routing number for the account. For more information, see [Tokenized account numbers](https://plaid.com/docs/auth/#tokenized-account-numbers). + * @return routing + **/ + @ApiModelProperty(required = true, value = "The ACH routing number for the account. For more information, see [Tokenized account numbers](https://plaid.com/docs/auth/#tokenized-account-numbers).") + + public String getRouting() { + return routing; + } + + + public void setRouting(String routing) { + this.routing = routing; + } + + + public NumbersACHNullable wireRouting(String wireRouting) { + + this.wireRouting = wireRouting; + return this; + } + + /** + * The wire transfer routing number for the account. This field is only populated if the institution is known to use a separate wire transfer routing number. Many institutions do not have a separate wire routing number and use the ACH routing number for wires instead. It is recommended to have the end user manually confirm their wire routing number before sending any wires to their account, especially if this field is `null`. + * @return wireRouting + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The wire transfer routing number for the account. This field is only populated if the institution is known to use a separate wire transfer routing number. Many institutions do not have a separate wire routing number and use the ACH routing number for wires instead. It is recommended to have the end user manually confirm their wire routing number before sending any wires to their account, especially if this field is `null`.") + + public String getWireRouting() { + return wireRouting; + } + + + public void setWireRouting(String wireRouting) { + this.wireRouting = wireRouting; + } + + + public NumbersACHNullable canTransferIn(Boolean canTransferIn) { + + this.canTransferIn = canTransferIn; + return this; + } + + /** + * Whether the account supports ACH transfers into the account + * @return canTransferIn + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the account supports ACH transfers into the account") + + public Boolean getCanTransferIn() { + return canTransferIn; + } + + + public void setCanTransferIn(Boolean canTransferIn) { + this.canTransferIn = canTransferIn; + } + + + public NumbersACHNullable canTransferOut(Boolean canTransferOut) { + + this.canTransferOut = canTransferOut; + return this; + } + + /** + * Whether the account supports ACH transfers out of the account + * @return canTransferOut + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the account supports ACH transfers out of the account") + + public Boolean getCanTransferOut() { + return canTransferOut; + } + + + public void setCanTransferOut(Boolean canTransferOut) { + this.canTransferOut = canTransferOut; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumbersACHNullable numbersACHNullable = (NumbersACHNullable) o; + return Objects.equals(this.accountId, numbersACHNullable.accountId) && + Objects.equals(this.account, numbersACHNullable.account) && + Objects.equals(this.isTokenizedAccountNumber, numbersACHNullable.isTokenizedAccountNumber) && + Objects.equals(this.routing, numbersACHNullable.routing) && + Objects.equals(this.wireRouting, numbersACHNullable.wireRouting) && + Objects.equals(this.canTransferIn, numbersACHNullable.canTransferIn) && + Objects.equals(this.canTransferOut, numbersACHNullable.canTransferOut); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, account, isTokenizedAccountNumber, routing, wireRouting, canTransferIn, canTransferOut); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumbersACHNullable {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" isTokenizedAccountNumber: ").append(toIndentedString(isTokenizedAccountNumber)).append("\n"); + sb.append(" routing: ").append(toIndentedString(routing)).append("\n"); + sb.append(" wireRouting: ").append(toIndentedString(wireRouting)).append("\n"); + sb.append(" canTransferIn: ").append(toIndentedString(canTransferIn)).append("\n"); + sb.append(" canTransferOut: ").append(toIndentedString(canTransferOut)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NumbersATON.java b/src/main/java/com/plaid/client/model/NumbersATON.java new file mode 100644 index 0000000000..531621dc7b --- /dev/null +++ b/src/main/java/com/plaid/client/model/NumbersATON.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Identifying information for transferring holdings to an investment account via ATON. + */ +@ApiModel(description = "Identifying information for transferring holdings to an investment account via ATON.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NumbersATON { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + + public NumbersATON accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid account ID associated with the account numbers + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid account ID associated with the account numbers") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public NumbersATON account(String account) { + + this.account = account; + return this; + } + + /** + * The full account number for the account + * @return account + **/ + @ApiModelProperty(required = true, value = "The full account number for the account") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumbersATON numbersATON = (NumbersATON) o; + return Objects.equals(this.accountId, numbersATON.accountId) && + Objects.equals(this.account, numbersATON.account); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, account); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumbersATON {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NumbersBACS.java b/src/main/java/com/plaid/client/model/NumbersBACS.java new file mode 100644 index 0000000000..369083b26c --- /dev/null +++ b/src/main/java/com/plaid/client/model/NumbersBACS.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Identifying information for transferring money to or from a UK bank account via Bacs. + */ +@ApiModel(description = "Identifying information for transferring money to or from a UK bank account via Bacs.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NumbersBACS { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_SORT_CODE = "sort_code"; + @SerializedName(SERIALIZED_NAME_SORT_CODE) + private String sortCode; + + + public NumbersBACS accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid account ID associated with the account numbers + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid account ID associated with the account numbers") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public NumbersBACS account(String account) { + + this.account = account; + return this; + } + + /** + * The Bacs account number for the account + * @return account + **/ + @ApiModelProperty(required = true, value = "The Bacs account number for the account") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public NumbersBACS sortCode(String sortCode) { + + this.sortCode = sortCode; + return this; + } + + /** + * The Bacs sort code for the account + * @return sortCode + **/ + @ApiModelProperty(required = true, value = "The Bacs sort code for the account") + + public String getSortCode() { + return sortCode; + } + + + public void setSortCode(String sortCode) { + this.sortCode = sortCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumbersBACS numbersBACS = (NumbersBACS) o; + return Objects.equals(this.accountId, numbersBACS.accountId) && + Objects.equals(this.account, numbersBACS.account) && + Objects.equals(this.sortCode, numbersBACS.sortCode); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, account, sortCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumbersBACS {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" sortCode: ").append(toIndentedString(sortCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NumbersBACSNullable.java b/src/main/java/com/plaid/client/model/NumbersBACSNullable.java new file mode 100644 index 0000000000..1c18f3e7d2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/NumbersBACSNullable.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NumbersBACS; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Identifying information for transferring money to or from a UK bank account via Bacs. + */ +@ApiModel(description = "Identifying information for transferring money to or from a UK bank account via Bacs.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NumbersBACSNullable { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_SORT_CODE = "sort_code"; + @SerializedName(SERIALIZED_NAME_SORT_CODE) + private String sortCode; + + + public NumbersBACSNullable accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid account ID associated with the account numbers + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid account ID associated with the account numbers") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public NumbersBACSNullable account(String account) { + + this.account = account; + return this; + } + + /** + * The Bacs account number for the account + * @return account + **/ + @ApiModelProperty(required = true, value = "The Bacs account number for the account") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public NumbersBACSNullable sortCode(String sortCode) { + + this.sortCode = sortCode; + return this; + } + + /** + * The Bacs sort code for the account + * @return sortCode + **/ + @ApiModelProperty(required = true, value = "The Bacs sort code for the account") + + public String getSortCode() { + return sortCode; + } + + + public void setSortCode(String sortCode) { + this.sortCode = sortCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumbersBACSNullable numbersBACSNullable = (NumbersBACSNullable) o; + return Objects.equals(this.accountId, numbersBACSNullable.accountId) && + Objects.equals(this.account, numbersBACSNullable.account) && + Objects.equals(this.sortCode, numbersBACSNullable.sortCode); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, account, sortCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumbersBACSNullable {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" sortCode: ").append(toIndentedString(sortCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NumbersEFT.java b/src/main/java/com/plaid/client/model/NumbersEFT.java new file mode 100644 index 0000000000..d1d738525a --- /dev/null +++ b/src/main/java/com/plaid/client/model/NumbersEFT.java @@ -0,0 +1,182 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Identifying information for transferring money to or from a Canadian bank account via EFT. + */ +@ApiModel(description = "Identifying information for transferring money to or from a Canadian bank account via EFT.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NumbersEFT { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_INSTITUTION = "institution"; + @SerializedName(SERIALIZED_NAME_INSTITUTION) + private String institution; + + public static final String SERIALIZED_NAME_BRANCH = "branch"; + @SerializedName(SERIALIZED_NAME_BRANCH) + private String branch; + + + public NumbersEFT accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid account ID associated with the account numbers + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid account ID associated with the account numbers") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public NumbersEFT account(String account) { + + this.account = account; + return this; + } + + /** + * The EFT account number for the account + * @return account + **/ + @ApiModelProperty(required = true, value = "The EFT account number for the account") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public NumbersEFT institution(String institution) { + + this.institution = institution; + return this; + } + + /** + * The EFT institution number for the account + * @return institution + **/ + @ApiModelProperty(required = true, value = "The EFT institution number for the account") + + public String getInstitution() { + return institution; + } + + + public void setInstitution(String institution) { + this.institution = institution; + } + + + public NumbersEFT branch(String branch) { + + this.branch = branch; + return this; + } + + /** + * The EFT branch number for the account + * @return branch + **/ + @ApiModelProperty(required = true, value = "The EFT branch number for the account") + + public String getBranch() { + return branch; + } + + + public void setBranch(String branch) { + this.branch = branch; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumbersEFT numbersEFT = (NumbersEFT) o; + return Objects.equals(this.accountId, numbersEFT.accountId) && + Objects.equals(this.account, numbersEFT.account) && + Objects.equals(this.institution, numbersEFT.institution) && + Objects.equals(this.branch, numbersEFT.branch); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, account, institution, branch); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumbersEFT {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" institution: ").append(toIndentedString(institution)).append("\n"); + sb.append(" branch: ").append(toIndentedString(branch)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NumbersEFTNullable.java b/src/main/java/com/plaid/client/model/NumbersEFTNullable.java new file mode 100644 index 0000000000..7094147041 --- /dev/null +++ b/src/main/java/com/plaid/client/model/NumbersEFTNullable.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NumbersEFT; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Identifying information for transferring money to or from a Canadian bank account via EFT. + */ +@ApiModel(description = "Identifying information for transferring money to or from a Canadian bank account via EFT.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NumbersEFTNullable { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_INSTITUTION = "institution"; + @SerializedName(SERIALIZED_NAME_INSTITUTION) + private String institution; + + public static final String SERIALIZED_NAME_BRANCH = "branch"; + @SerializedName(SERIALIZED_NAME_BRANCH) + private String branch; + + + public NumbersEFTNullable accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid account ID associated with the account numbers + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid account ID associated with the account numbers") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public NumbersEFTNullable account(String account) { + + this.account = account; + return this; + } + + /** + * The EFT account number for the account + * @return account + **/ + @ApiModelProperty(required = true, value = "The EFT account number for the account") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public NumbersEFTNullable institution(String institution) { + + this.institution = institution; + return this; + } + + /** + * The EFT institution number for the account + * @return institution + **/ + @ApiModelProperty(required = true, value = "The EFT institution number for the account") + + public String getInstitution() { + return institution; + } + + + public void setInstitution(String institution) { + this.institution = institution; + } + + + public NumbersEFTNullable branch(String branch) { + + this.branch = branch; + return this; + } + + /** + * The EFT branch number for the account + * @return branch + **/ + @ApiModelProperty(required = true, value = "The EFT branch number for the account") + + public String getBranch() { + return branch; + } + + + public void setBranch(String branch) { + this.branch = branch; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumbersEFTNullable numbersEFTNullable = (NumbersEFTNullable) o; + return Objects.equals(this.accountId, numbersEFTNullable.accountId) && + Objects.equals(this.account, numbersEFTNullable.account) && + Objects.equals(this.institution, numbersEFTNullable.institution) && + Objects.equals(this.branch, numbersEFTNullable.branch); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, account, institution, branch); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumbersEFTNullable {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" institution: ").append(toIndentedString(institution)).append("\n"); + sb.append(" branch: ").append(toIndentedString(branch)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NumbersIBANNullable.java b/src/main/java/com/plaid/client/model/NumbersIBANNullable.java new file mode 100644 index 0000000000..090b4ed557 --- /dev/null +++ b/src/main/java/com/plaid/client/model/NumbersIBANNullable.java @@ -0,0 +1,63 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; + +/** + * International Bank Account Number (IBAN). + */ +@ApiModel(description = "International Bank Account Number (IBAN).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NumbersIBANNullable { + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return true; + } + + @Override + public int hashCode() { + return Objects.hash(); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumbersIBANNullable {\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NumbersInternational.java b/src/main/java/com/plaid/client/model/NumbersInternational.java new file mode 100644 index 0000000000..9594e01e4c --- /dev/null +++ b/src/main/java/com/plaid/client/model/NumbersInternational.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Identifying information for transferring money to or from an international bank account via wire transfer. + */ +@ApiModel(description = "Identifying information for transferring money to or from an international bank account via wire transfer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NumbersInternational { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private String iban; + + public static final String SERIALIZED_NAME_BIC = "bic"; + @SerializedName(SERIALIZED_NAME_BIC) + private String bic; + + + public NumbersInternational accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid account ID associated with the account numbers + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid account ID associated with the account numbers") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public NumbersInternational iban(String iban) { + + this.iban = iban; + return this; + } + + /** + * The International Bank Account Number (IBAN) for the account + * @return iban + **/ + @ApiModelProperty(required = true, value = "The International Bank Account Number (IBAN) for the account") + + public String getIban() { + return iban; + } + + + public void setIban(String iban) { + this.iban = iban; + } + + + public NumbersInternational bic(String bic) { + + this.bic = bic; + return this; + } + + /** + * The Business Identifier Code (BIC) for the account + * @return bic + **/ + @ApiModelProperty(required = true, value = "The Business Identifier Code (BIC) for the account") + + public String getBic() { + return bic; + } + + + public void setBic(String bic) { + this.bic = bic; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumbersInternational numbersInternational = (NumbersInternational) o; + return Objects.equals(this.accountId, numbersInternational.accountId) && + Objects.equals(this.iban, numbersInternational.iban) && + Objects.equals(this.bic, numbersInternational.bic); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, iban, bic); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumbersInternational {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append(" bic: ").append(toIndentedString(bic)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NumbersInternationalIBAN.java b/src/main/java/com/plaid/client/model/NumbersInternationalIBAN.java new file mode 100644 index 0000000000..19d7514582 --- /dev/null +++ b/src/main/java/com/plaid/client/model/NumbersInternationalIBAN.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Account numbers using the International Bank Account Number and BIC/SWIFT code format. + */ +@ApiModel(description = "Account numbers using the International Bank Account Number and BIC/SWIFT code format.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NumbersInternationalIBAN { + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private String iban; + + public static final String SERIALIZED_NAME_BIC = "bic"; + @SerializedName(SERIALIZED_NAME_BIC) + private String bic; + + + public NumbersInternationalIBAN iban(String iban) { + + this.iban = iban; + return this; + } + + /** + * International Bank Account Number (IBAN). + * @return iban + **/ + @ApiModelProperty(required = true, value = "International Bank Account Number (IBAN).") + + public String getIban() { + return iban; + } + + + public void setIban(String iban) { + this.iban = iban; + } + + + public NumbersInternationalIBAN bic(String bic) { + + this.bic = bic; + return this; + } + + /** + * The Business Identifier Code, also known as SWIFT code, for this bank account. + * @return bic + **/ + @ApiModelProperty(required = true, value = "The Business Identifier Code, also known as SWIFT code, for this bank account.") + + public String getBic() { + return bic; + } + + + public void setBic(String bic) { + this.bic = bic; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumbersInternationalIBAN numbersInternationalIBAN = (NumbersInternationalIBAN) o; + return Objects.equals(this.iban, numbersInternationalIBAN.iban) && + Objects.equals(this.bic, numbersInternationalIBAN.bic); + } + + @Override + public int hashCode() { + return Objects.hash(iban, bic); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumbersInternationalIBAN {\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append(" bic: ").append(toIndentedString(bic)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NumbersInternationalNullable.java b/src/main/java/com/plaid/client/model/NumbersInternationalNullable.java new file mode 100644 index 0000000000..c9fde84c28 --- /dev/null +++ b/src/main/java/com/plaid/client/model/NumbersInternationalNullable.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NumbersInternational; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Identifying information for transferring money to or from an international bank account via wire transfer. + */ +@ApiModel(description = "Identifying information for transferring money to or from an international bank account via wire transfer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NumbersInternationalNullable { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private String iban; + + public static final String SERIALIZED_NAME_BIC = "bic"; + @SerializedName(SERIALIZED_NAME_BIC) + private String bic; + + + public NumbersInternationalNullable accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid account ID associated with the account numbers + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid account ID associated with the account numbers") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public NumbersInternationalNullable iban(String iban) { + + this.iban = iban; + return this; + } + + /** + * The International Bank Account Number (IBAN) for the account + * @return iban + **/ + @ApiModelProperty(required = true, value = "The International Bank Account Number (IBAN) for the account") + + public String getIban() { + return iban; + } + + + public void setIban(String iban) { + this.iban = iban; + } + + + public NumbersInternationalNullable bic(String bic) { + + this.bic = bic; + return this; + } + + /** + * The Business Identifier Code (BIC) for the account + * @return bic + **/ + @ApiModelProperty(required = true, value = "The Business Identifier Code (BIC) for the account") + + public String getBic() { + return bic; + } + + + public void setBic(String bic) { + this.bic = bic; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumbersInternationalNullable numbersInternationalNullable = (NumbersInternationalNullable) o; + return Objects.equals(this.accountId, numbersInternationalNullable.accountId) && + Objects.equals(this.iban, numbersInternationalNullable.iban) && + Objects.equals(this.bic, numbersInternationalNullable.bic); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, iban, bic); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumbersInternationalNullable {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append(" bic: ").append(toIndentedString(bic)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/NumbersRetirement401k.java b/src/main/java/com/plaid/client/model/NumbersRetirement401k.java new file mode 100644 index 0000000000..88b6fd6618 --- /dev/null +++ b/src/main/java/com/plaid/client/model/NumbersRetirement401k.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Identifying information for transferring holdings from a 401k account to another 401k account or IRA via the manual 401k rollover process. + */ +@ApiModel(description = "Identifying information for transferring holdings from a 401k account to another 401k account or IRA via the manual 401k rollover process.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class NumbersRetirement401k { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_PLAN = "plan"; + @SerializedName(SERIALIZED_NAME_PLAN) + private String plan; + + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + + public NumbersRetirement401k accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid account ID associated with the account numbers + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid account ID associated with the account numbers") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public NumbersRetirement401k plan(String plan) { + + this.plan = plan; + return this; + } + + /** + * The plan number for the employer's 401k retirement plan + * @return plan + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The plan number for the employer's 401k retirement plan") + + public String getPlan() { + return plan; + } + + + public void setPlan(String plan) { + this.plan = plan; + } + + + public NumbersRetirement401k account(String account) { + + this.account = account; + return this; + } + + /** + * The full account number for the account + * @return account + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full account number for the account") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumbersRetirement401k numbersRetirement401k = (NumbersRetirement401k) o; + return Objects.equals(this.accountId, numbersRetirement401k.accountId) && + Objects.equals(this.plan, numbersRetirement401k.plan) && + Objects.equals(this.account, numbersRetirement401k.account); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, plan, account); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumbersRetirement401k {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" plan: ").append(toIndentedString(plan)).append("\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OAuthErrorCode.java b/src/main/java/com/plaid/client/model/OAuthErrorCode.java new file mode 100644 index 0000000000..e82f0f325a --- /dev/null +++ b/src/main/java/com/plaid/client/model/OAuthErrorCode.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * OAuth error code + */ +@JsonAdapter(OAuthErrorCode.Adapter.class) +public enum OAuthErrorCode { + + INVALID_REQUEST("invalid_request"), + + INVALID_CLIENT("invalid_client"), + + INVALID_GRANT("invalid_grant"), + + UNAUTHORIZED_CLIENT("unauthorized_client"), + + INVALID_SCOPE("invalid_scope"), + + UNSUPPORTED_GRANT_TYPE("unsupported_grant_type"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + OAuthErrorCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OAuthErrorCode fromValue(String value) { + for (OAuthErrorCode b : OAuthErrorCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return OAuthErrorCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OAuthErrorCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OAuthErrorCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OAuthErrorCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/OAuthErrorResponse.java b/src/main/java/com/plaid/client/model/OAuthErrorResponse.java new file mode 100644 index 0000000000..6fce835fed --- /dev/null +++ b/src/main/java/com/plaid/client/model/OAuthErrorResponse.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.OAuthErrorCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * OAuth error response + */ +@ApiModel(description = "OAuth error response") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class OAuthErrorResponse { + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private OAuthErrorCode error; + + public static final String SERIALIZED_NAME_ERROR_DESCRIPTION = "error_description"; + @SerializedName(SERIALIZED_NAME_ERROR_DESCRIPTION) + private String errorDescription; + + public static final String SERIALIZED_NAME_ERROR_URI = "error_uri"; + @SerializedName(SERIALIZED_NAME_ERROR_URI) + private String errorUri; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public OAuthErrorResponse error(OAuthErrorCode error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public OAuthErrorCode getError() { + return error; + } + + + public void setError(OAuthErrorCode error) { + this.error = error; + } + + + public OAuthErrorResponse errorDescription(String errorDescription) { + + this.errorDescription = errorDescription; + return this; + } + + /** + * A human-readable description of the error + * @return errorDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A human-readable description of the error") + + public String getErrorDescription() { + return errorDescription; + } + + + public void setErrorDescription(String errorDescription) { + this.errorDescription = errorDescription; + } + + + public OAuthErrorResponse errorUri(String errorUri) { + + this.errorUri = errorUri; + return this; + } + + /** + * A URI identifying the specific error + * @return errorUri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A URI identifying the specific error") + + public String getErrorUri() { + return errorUri; + } + + + public void setErrorUri(String errorUri) { + this.errorUri = errorUri; + } + + + public OAuthErrorResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OAuthErrorResponse oauthErrorResponse = (OAuthErrorResponse) o; + return Objects.equals(this.error, oauthErrorResponse.error) && + Objects.equals(this.errorDescription, oauthErrorResponse.errorDescription) && + Objects.equals(this.errorUri, oauthErrorResponse.errorUri) && + Objects.equals(this.requestId, oauthErrorResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(error, errorDescription, errorUri, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OAuthErrorResponse {\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" errorDescription: ").append(toIndentedString(errorDescription)).append("\n"); + sb.append(" errorUri: ").append(toIndentedString(errorUri)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OAuthGrantType.java b/src/main/java/com/plaid/client/model/OAuthGrantType.java new file mode 100644 index 0000000000..36a3507e42 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OAuthGrantType.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of OAuth grant being requested: `client_credentials` allows exchanging a client id and client secret for a refresh and access token. `refresh_token` allows refreshing an access token using a refresh token. When using this grant type, only the `refresh_token` field is required (along with the `client_id` and `client_secret`). `urn:ietf:params:oauth:grant-type:token-exchange` allows exchanging a subject token for an OAuth token. When using this grant type, the `audience`, `subject_token` and `subject_token_type` fields are required. These grants are defined in their respective RFCs. `refresh_token` and `client_credentials` are defined in RFC 6749 and `urn:ietf:params:oauth:grant-type:token-exchange` is defined in RFC 8693. + */ +@JsonAdapter(OAuthGrantType.Adapter.class) +public enum OAuthGrantType { + + REFRESH_TOKEN("refresh_token"), + + URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE("urn:ietf:params:oauth:grant-type:token-exchange"), + + CLIENT_CREDENTIALS("client_credentials"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + OAuthGrantType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OAuthGrantType fromValue(String value) { + for (OAuthGrantType b : OAuthGrantType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return OAuthGrantType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OAuthGrantType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OAuthGrantType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OAuthGrantType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/OAuthIntrospectRequest.java b/src/main/java/com/plaid/client/model/OAuthIntrospectRequest.java new file mode 100644 index 0000000000..fc10c0dbe9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OAuthIntrospectRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * OAuth token introspect request. + */ +@ApiModel(description = "OAuth token introspect request.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class OAuthIntrospectRequest { + public static final String SERIALIZED_NAME_TOKEN = "token"; + @SerializedName(SERIALIZED_NAME_TOKEN) + private String token; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_CLIENT_SECRET = "client_secret"; + @SerializedName(SERIALIZED_NAME_CLIENT_SECRET) + private String clientSecret; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public OAuthIntrospectRequest token(String token) { + + this.token = token; + return this; + } + + /** + * An OAuth token of any type (`refresh_token`, `access_token`, etc) + * @return token + **/ + @ApiModelProperty(required = true, value = "An OAuth token of any type (`refresh_token`, `access_token`, etc)") + + public String getToken() { + return token; + } + + + public void setToken(String token) { + this.token = token; + } + + + public OAuthIntrospectRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public OAuthIntrospectRequest clientSecret(String clientSecret) { + + this.clientSecret = clientSecret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body as either `secret` or `client_secret`. + * @return clientSecret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body as either `secret` or `client_secret`.") + + public String getClientSecret() { + return clientSecret; + } + + + public void setClientSecret(String clientSecret) { + this.clientSecret = clientSecret; + } + + + public OAuthIntrospectRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body as either `secret` or `client_secret`. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body as either `secret` or `client_secret`.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OAuthIntrospectRequest oauthIntrospectRequest = (OAuthIntrospectRequest) o; + return Objects.equals(this.token, oauthIntrospectRequest.token) && + Objects.equals(this.clientId, oauthIntrospectRequest.clientId) && + Objects.equals(this.clientSecret, oauthIntrospectRequest.clientSecret) && + Objects.equals(this.secret, oauthIntrospectRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(token, clientId, clientSecret, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OAuthIntrospectRequest {\n"); + sb.append(" token: ").append(toIndentedString(token)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" clientSecret: ").append(toIndentedString(clientSecret)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OAuthIntrospectResponse.java b/src/main/java/com/plaid/client/model/OAuthIntrospectResponse.java new file mode 100644 index 0000000000..380e6088c7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OAuthIntrospectResponse.java @@ -0,0 +1,387 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * OAuth token introspect response + */ +@ApiModel(description = "OAuth token introspect response") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class OAuthIntrospectResponse { + public static final String SERIALIZED_NAME_ACTIVE = "active"; + @SerializedName(SERIALIZED_NAME_ACTIVE) + private Boolean active; + + public static final String SERIALIZED_NAME_SCOPE = "scope"; + @SerializedName(SERIALIZED_NAME_SCOPE) + private String scope; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_EXP = "exp"; + @SerializedName(SERIALIZED_NAME_EXP) + private Integer exp; + + public static final String SERIALIZED_NAME_IAT = "iat"; + @SerializedName(SERIALIZED_NAME_IAT) + private Integer iat; + + public static final String SERIALIZED_NAME_SUB = "sub"; + @SerializedName(SERIALIZED_NAME_SUB) + private String sub; + + public static final String SERIALIZED_NAME_AUD = "aud"; + @SerializedName(SERIALIZED_NAME_AUD) + private String aud; + + public static final String SERIALIZED_NAME_ISS = "iss"; + @SerializedName(SERIALIZED_NAME_ISS) + private String iss; + + public static final String SERIALIZED_NAME_TOKEN_TYPE = "token_type"; + @SerializedName(SERIALIZED_NAME_TOKEN_TYPE) + private String tokenType; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public OAuthIntrospectResponse active(Boolean active) { + + this.active = active; + return this; + } + + /** + * Boolean indicator of whether or not the presented token is currently active. A `true` value indicates that the token has been issued, has not been revoked, and is within the time window of validity. + * @return active + **/ + @ApiModelProperty(required = true, value = "Boolean indicator of whether or not the presented token is currently active. A `true` value indicates that the token has been issued, has not been revoked, and is within the time window of validity.") + + public Boolean getActive() { + return active; + } + + + public void setActive(Boolean active) { + this.active = active; + } + + + public OAuthIntrospectResponse scope(String scope) { + + this.scope = scope; + return this; + } + + /** + * A space-separated list of scopes associated with this token, in the format described in [https://datatracker.ietf.org/doc/html/rfc6749#section-3.3](https://datatracker.ietf.org/doc/html/rfc6749#section-3.3). Currently accepted values are: `user:read` allows reading user data. `user:write` allows writing user data. `exchange` allows exchanging a token using the `urn:plaid:params:oauth:user-token` subject token type. `mcp:dashboard` allows access to the MCP dashboard server. + * @return scope + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user:read user:write exchange", value = "A space-separated list of scopes associated with this token, in the format described in [https://datatracker.ietf.org/doc/html/rfc6749#section-3.3](https://datatracker.ietf.org/doc/html/rfc6749#section-3.3). Currently accepted values are: `user:read` allows reading user data. `user:write` allows writing user data. `exchange` allows exchanging a token using the `urn:plaid:params:oauth:user-token` subject token type. `mcp:dashboard` allows access to the MCP dashboard server.") + + public String getScope() { + return scope; + } + + + public void setScope(String scope) { + this.scope = scope; + } + + + public OAuthIntrospectResponse clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public OAuthIntrospectResponse exp(Integer exp) { + + this.exp = exp; + return this; + } + + /** + * Expiration time as UNIX timestamp since January 1 1970 UTC + * @return exp + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1670000000", value = "Expiration time as UNIX timestamp since January 1 1970 UTC") + + public Integer getExp() { + return exp; + } + + + public void setExp(Integer exp) { + this.exp = exp; + } + + + public OAuthIntrospectResponse iat(Integer iat) { + + this.iat = iat; + return this; + } + + /** + * Issued at time as UNIX timestamp since January 1 1970 UTC + * @return iat + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1670000000", value = "Issued at time as UNIX timestamp since January 1 1970 UTC") + + public Integer getIat() { + return iat; + } + + + public void setIat(Integer iat) { + this.iat = iat; + } + + + public OAuthIntrospectResponse sub(String sub) { + + this.sub = sub; + return this; + } + + /** + * Subject of the token + * @return sub + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "68028ce48d2b0dec68747f6c", value = "Subject of the token") + + public String getSub() { + return sub; + } + + + public void setSub(String sub) { + this.sub = sub; + } + + + public OAuthIntrospectResponse aud(String aud) { + + this.aud = aud; + return this; + } + + /** + * Audience of the token + * @return aud + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://production.plaid.com", value = "Audience of the token") + + public String getAud() { + return aud; + } + + + public void setAud(String aud) { + this.aud = aud; + } + + + public OAuthIntrospectResponse iss(String iss) { + + this.iss = iss; + return this; + } + + /** + * Issuer of the token + * @return iss + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://production.plaid.com", value = "Issuer of the token") + + public String getIss() { + return iss; + } + + + public void setIss(String iss) { + this.iss = iss; + } + + + public OAuthIntrospectResponse tokenType(String tokenType) { + + this.tokenType = tokenType; + return this; + } + + /** + * Type of the token + * @return tokenType + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Bearer", value = "Type of the token") + + public String getTokenType() { + return tokenType; + } + + + public void setTokenType(String tokenType) { + this.tokenType = tokenType; + } + + + public OAuthIntrospectResponse userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * User ID of the token + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "wz666MBjYWTp2PDzzggYhM6oWWmBb", value = "User ID of the token") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public OAuthIntrospectResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OAuthIntrospectResponse oauthIntrospectResponse = (OAuthIntrospectResponse) o; + return Objects.equals(this.active, oauthIntrospectResponse.active) && + Objects.equals(this.scope, oauthIntrospectResponse.scope) && + Objects.equals(this.clientId, oauthIntrospectResponse.clientId) && + Objects.equals(this.exp, oauthIntrospectResponse.exp) && + Objects.equals(this.iat, oauthIntrospectResponse.iat) && + Objects.equals(this.sub, oauthIntrospectResponse.sub) && + Objects.equals(this.aud, oauthIntrospectResponse.aud) && + Objects.equals(this.iss, oauthIntrospectResponse.iss) && + Objects.equals(this.tokenType, oauthIntrospectResponse.tokenType) && + Objects.equals(this.userId, oauthIntrospectResponse.userId) && + Objects.equals(this.requestId, oauthIntrospectResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(active, scope, clientId, exp, iat, sub, aud, iss, tokenType, userId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OAuthIntrospectResponse {\n"); + sb.append(" active: ").append(toIndentedString(active)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" exp: ").append(toIndentedString(exp)).append("\n"); + sb.append(" iat: ").append(toIndentedString(iat)).append("\n"); + sb.append(" sub: ").append(toIndentedString(sub)).append("\n"); + sb.append(" aud: ").append(toIndentedString(aud)).append("\n"); + sb.append(" iss: ").append(toIndentedString(iss)).append("\n"); + sb.append(" tokenType: ").append(toIndentedString(tokenType)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OAuthRevokeRequest.java b/src/main/java/com/plaid/client/model/OAuthRevokeRequest.java new file mode 100644 index 0000000000..5564343b19 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OAuthRevokeRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * OAuth token revoke request + */ +@ApiModel(description = "OAuth token revoke request") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class OAuthRevokeRequest { + public static final String SERIALIZED_NAME_TOKEN = "token"; + @SerializedName(SERIALIZED_NAME_TOKEN) + private String token; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_CLIENT_SECRET = "client_secret"; + @SerializedName(SERIALIZED_NAME_CLIENT_SECRET) + private String clientSecret; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public OAuthRevokeRequest token(String token) { + + this.token = token; + return this; + } + + /** + * An OAuth token of any type (`refresh_token`, `access_token`, etc) + * @return token + **/ + @ApiModelProperty(required = true, value = "An OAuth token of any type (`refresh_token`, `access_token`, etc)") + + public String getToken() { + return token; + } + + + public void setToken(String token) { + this.token = token; + } + + + public OAuthRevokeRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public OAuthRevokeRequest clientSecret(String clientSecret) { + + this.clientSecret = clientSecret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body as either `secret` or `client_secret`. + * @return clientSecret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body as either `secret` or `client_secret`.") + + public String getClientSecret() { + return clientSecret; + } + + + public void setClientSecret(String clientSecret) { + this.clientSecret = clientSecret; + } + + + public OAuthRevokeRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body as either `secret` or `client_secret`. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body as either `secret` or `client_secret`.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OAuthRevokeRequest oauthRevokeRequest = (OAuthRevokeRequest) o; + return Objects.equals(this.token, oauthRevokeRequest.token) && + Objects.equals(this.clientId, oauthRevokeRequest.clientId) && + Objects.equals(this.clientSecret, oauthRevokeRequest.clientSecret) && + Objects.equals(this.secret, oauthRevokeRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(token, clientId, clientSecret, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OAuthRevokeRequest {\n"); + sb.append(" token: ").append(toIndentedString(token)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" clientSecret: ").append(toIndentedString(clientSecret)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OAuthRevokeResponse.java b/src/main/java/com/plaid/client/model/OAuthRevokeResponse.java new file mode 100644 index 0000000000..495d3936a2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OAuthRevokeResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Successful OAuth token revoke response + */ +@ApiModel(description = "Successful OAuth token revoke response") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class OAuthRevokeResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public OAuthRevokeResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OAuthRevokeResponse oauthRevokeResponse = (OAuthRevokeResponse) o; + return Objects.equals(this.requestId, oauthRevokeResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OAuthRevokeResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OAuthSubjectTokenType.java b/src/main/java/com/plaid/client/model/OAuthSubjectTokenType.java new file mode 100644 index 0000000000..f50e95fee8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OAuthSubjectTokenType.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of the subject token. `urn:plaid:params:tokens:user` allows exchanging a Plaid-issued user token for an OAuth token. When using this token type, `audience` must be the same as the `client_id`. `subject_token` must be a Plaid-issued user token issued from the `/user/create` endpoint. `urn:plaid:params:oauth:user-token` allows exchanging a refresh token for an OAuth token to another `client_id`. The other `client_id` is provided in `audience`. `subject_token` must be an OAuth refresh token issued from the `/oauth/token` endpoint. `urn:plaid:params:credit:multi-user` allows exchanging a Plaid-issued user token for an OAuth token. When using this token type, `audience` may be a client id or a supported CRA partner URN. `audience` supports a comma-delimited list of clients. When multiple clients are specified in the `audience` a multi-party token is created which can be used by all parties in the audience in conjunction with their `client_id` and `client_secret`. + */ +@JsonAdapter(OAuthSubjectTokenType.Adapter.class) +public enum OAuthSubjectTokenType { + + TOKENS_USER("urn:plaid:params:tokens:user"), + + OAUTH_USER_TOKEN("urn:plaid:params:oauth:user-token"), + + CREDIT_MULTI_USER("urn:plaid:params:credit:multi-user"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + OAuthSubjectTokenType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OAuthSubjectTokenType fromValue(String value) { + for (OAuthSubjectTokenType b : OAuthSubjectTokenType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return OAuthSubjectTokenType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OAuthSubjectTokenType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OAuthSubjectTokenType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OAuthSubjectTokenType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/OAuthTokenRequest.java b/src/main/java/com/plaid/client/model/OAuthTokenRequest.java new file mode 100644 index 0000000000..e2eca59327 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OAuthTokenRequest.java @@ -0,0 +1,361 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.OAuthGrantType; +import com.plaid.client.model.OAuthSubjectTokenType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * OAuth token grant request. + */ +@ApiModel(description = "OAuth token grant request.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class OAuthTokenRequest { + public static final String SERIALIZED_NAME_GRANT_TYPE = "grant_type"; + @SerializedName(SERIALIZED_NAME_GRANT_TYPE) + private OAuthGrantType grantType; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_CLIENT_SECRET = "client_secret"; + @SerializedName(SERIALIZED_NAME_CLIENT_SECRET) + private String clientSecret; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_SCOPE = "scope"; + @SerializedName(SERIALIZED_NAME_SCOPE) + private String scope; + + public static final String SERIALIZED_NAME_REFRESH_TOKEN = "refresh_token"; + @SerializedName(SERIALIZED_NAME_REFRESH_TOKEN) + private String refreshToken; + + public static final String SERIALIZED_NAME_RESOURCE = "resource"; + @SerializedName(SERIALIZED_NAME_RESOURCE) + private String resource; + + public static final String SERIALIZED_NAME_AUDIENCE = "audience"; + @SerializedName(SERIALIZED_NAME_AUDIENCE) + private String audience; + + public static final String SERIALIZED_NAME_SUBJECT_TOKEN = "subject_token"; + @SerializedName(SERIALIZED_NAME_SUBJECT_TOKEN) + private String subjectToken; + + public static final String SERIALIZED_NAME_SUBJECT_TOKEN_TYPE = "subject_token_type"; + @SerializedName(SERIALIZED_NAME_SUBJECT_TOKEN_TYPE) + private OAuthSubjectTokenType subjectTokenType; + + + public OAuthTokenRequest grantType(OAuthGrantType grantType) { + + this.grantType = grantType; + return this; + } + + /** + * Get grantType + * @return grantType + **/ + @ApiModelProperty(required = true, value = "") + + public OAuthGrantType getGrantType() { + return grantType; + } + + + public void setGrantType(OAuthGrantType grantType) { + this.grantType = grantType; + } + + + public OAuthTokenRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public OAuthTokenRequest clientSecret(String clientSecret) { + + this.clientSecret = clientSecret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body as either `secret` or `client_secret`. + * @return clientSecret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body as either `secret` or `client_secret`.") + + public String getClientSecret() { + return clientSecret; + } + + + public void setClientSecret(String clientSecret) { + this.clientSecret = clientSecret; + } + + + public OAuthTokenRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body as either `secret` or `client_secret`. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body as either `secret` or `client_secret`.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public OAuthTokenRequest scope(String scope) { + + this.scope = scope; + return this; + } + + /** + * A space-separated list of scopes associated with this token, in the format described in [https://datatracker.ietf.org/doc/html/rfc6749#section-3.3](https://datatracker.ietf.org/doc/html/rfc6749#section-3.3). Currently accepted values are: `user:read` allows reading user data. `user:write` allows writing user data. `exchange` allows exchanging a token using the `urn:plaid:params:oauth:user-token` subject token type. `mcp:dashboard` allows access to the MCP dashboard server. + * @return scope + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user:read user:write exchange", value = "A space-separated list of scopes associated with this token, in the format described in [https://datatracker.ietf.org/doc/html/rfc6749#section-3.3](https://datatracker.ietf.org/doc/html/rfc6749#section-3.3). Currently accepted values are: `user:read` allows reading user data. `user:write` allows writing user data. `exchange` allows exchanging a token using the `urn:plaid:params:oauth:user-token` subject token type. `mcp:dashboard` allows access to the MCP dashboard server.") + + public String getScope() { + return scope; + } + + + public void setScope(String scope) { + this.scope = scope; + } + + + public OAuthTokenRequest refreshToken(String refreshToken) { + + this.refreshToken = refreshToken; + return this; + } + + /** + * Refresh token for OAuth + * @return refreshToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Refresh token for OAuth") + + public String getRefreshToken() { + return refreshToken; + } + + + public void setRefreshToken(String refreshToken) { + this.refreshToken = refreshToken; + } + + + public OAuthTokenRequest resource(String resource) { + + this.resource = resource; + return this; + } + + /** + * URI of the target resource server + * @return resource + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://production.plaid.com", value = "URI of the target resource server") + + public String getResource() { + return resource; + } + + + public void setResource(String resource) { + this.resource = resource; + } + + + public OAuthTokenRequest audience(String audience) { + + this.audience = audience; + return this; + } + + /** + * Used when exchanging a token. The meaning depends on the `subject_token_type`: - For `urn:plaid:params:tokens:user`: Must be the same as the `client_id`. - For `urn:plaid:params:oauth:user-token`: The other `client_id` to exchange tokens to. - For `urn:plaid:params:credit:multi-user`: a `client_id` or one of the supported CRA partner URNs: `urn:plaid:params:cra-partner:experian`, `urn:plaid:params:cra-partner:fannie-mae`, or `urn:plaid:params:cra-partner:freddie-mac`. + * @return audience + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "68028ce48d2b0dec68747f6c", value = "Used when exchanging a token. The meaning depends on the `subject_token_type`: - For `urn:plaid:params:tokens:user`: Must be the same as the `client_id`. - For `urn:plaid:params:oauth:user-token`: The other `client_id` to exchange tokens to. - For `urn:plaid:params:credit:multi-user`: a `client_id` or one of the supported CRA partner URNs: `urn:plaid:params:cra-partner:experian`, `urn:plaid:params:cra-partner:fannie-mae`, or `urn:plaid:params:cra-partner:freddie-mac`.") + + public String getAudience() { + return audience; + } + + + public void setAudience(String audience) { + this.audience = audience; + } + + + public OAuthTokenRequest subjectToken(String subjectToken) { + + this.subjectToken = subjectToken; + return this; + } + + /** + * Token representing the subject. The meaning depends on the `subject_token_type`. For `urn:plaid:params:tokens:user`, the `subject_token` must be a Plaid-issued user token from the `/user/create` endpoint. For `urn:plaid:params:oauth:user-token`, the `subject_token` must be an OAuth refresh token issued from the `/oauth/token` endpoint. + * @return subjectToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d", value = "Token representing the subject. The meaning depends on the `subject_token_type`. For `urn:plaid:params:tokens:user`, the `subject_token` must be a Plaid-issued user token from the `/user/create` endpoint. For `urn:plaid:params:oauth:user-token`, the `subject_token` must be an OAuth refresh token issued from the `/oauth/token` endpoint.") + + public String getSubjectToken() { + return subjectToken; + } + + + public void setSubjectToken(String subjectToken) { + this.subjectToken = subjectToken; + } + + + public OAuthTokenRequest subjectTokenType(OAuthSubjectTokenType subjectTokenType) { + + this.subjectTokenType = subjectTokenType; + return this; + } + + /** + * Get subjectTokenType + * @return subjectTokenType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public OAuthSubjectTokenType getSubjectTokenType() { + return subjectTokenType; + } + + + public void setSubjectTokenType(OAuthSubjectTokenType subjectTokenType) { + this.subjectTokenType = subjectTokenType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OAuthTokenRequest oauthTokenRequest = (OAuthTokenRequest) o; + return Objects.equals(this.grantType, oauthTokenRequest.grantType) && + Objects.equals(this.clientId, oauthTokenRequest.clientId) && + Objects.equals(this.clientSecret, oauthTokenRequest.clientSecret) && + Objects.equals(this.secret, oauthTokenRequest.secret) && + Objects.equals(this.scope, oauthTokenRequest.scope) && + Objects.equals(this.refreshToken, oauthTokenRequest.refreshToken) && + Objects.equals(this.resource, oauthTokenRequest.resource) && + Objects.equals(this.audience, oauthTokenRequest.audience) && + Objects.equals(this.subjectToken, oauthTokenRequest.subjectToken) && + Objects.equals(this.subjectTokenType, oauthTokenRequest.subjectTokenType); + } + + @Override + public int hashCode() { + return Objects.hash(grantType, clientId, clientSecret, secret, scope, refreshToken, resource, audience, subjectToken, subjectTokenType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OAuthTokenRequest {\n"); + sb.append(" grantType: ").append(toIndentedString(grantType)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" clientSecret: ").append(toIndentedString(clientSecret)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append(" refreshToken: ").append(toIndentedString(refreshToken)).append("\n"); + sb.append(" resource: ").append(toIndentedString(resource)).append("\n"); + sb.append(" audience: ").append(toIndentedString(audience)).append("\n"); + sb.append(" subjectToken: ").append(toIndentedString(subjectToken)).append("\n"); + sb.append(" subjectTokenType: ").append(toIndentedString(subjectTokenType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OAuthTokenResponse.java b/src/main/java/com/plaid/client/model/OAuthTokenResponse.java new file mode 100644 index 0000000000..61cd232f66 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OAuthTokenResponse.java @@ -0,0 +1,210 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * OAuth token grant success response + */ +@ApiModel(description = "OAuth token grant success response") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class OAuthTokenResponse { + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_REFRESH_TOKEN = "refresh_token"; + @SerializedName(SERIALIZED_NAME_REFRESH_TOKEN) + private String refreshToken; + + public static final String SERIALIZED_NAME_TOKEN_TYPE = "token_type"; + @SerializedName(SERIALIZED_NAME_TOKEN_TYPE) + private String tokenType; + + public static final String SERIALIZED_NAME_EXPIRES_IN = "expires_in"; + @SerializedName(SERIALIZED_NAME_EXPIRES_IN) + private Integer expiresIn; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public OAuthTokenResponse accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * Access token for OAuth + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "Access token for OAuth") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public OAuthTokenResponse refreshToken(String refreshToken) { + + this.refreshToken = refreshToken; + return this; + } + + /** + * Refresh token for OAuth + * @return refreshToken + **/ + @ApiModelProperty(required = true, value = "Refresh token for OAuth") + + public String getRefreshToken() { + return refreshToken; + } + + + public void setRefreshToken(String refreshToken) { + this.refreshToken = refreshToken; + } + + + public OAuthTokenResponse tokenType(String tokenType) { + + this.tokenType = tokenType; + return this; + } + + /** + * The type of the returned token. `Bearer` for OAuth access tokens. + * @return tokenType + **/ + @ApiModelProperty(example = "Bearer", required = true, value = "The type of the returned token. `Bearer` for OAuth access tokens.") + + public String getTokenType() { + return tokenType; + } + + + public void setTokenType(String tokenType) { + this.tokenType = tokenType; + } + + + public OAuthTokenResponse expiresIn(Integer expiresIn) { + + this.expiresIn = expiresIn; + return this; + } + + /** + * Time remaining in seconds before expiration. + * @return expiresIn + **/ + @ApiModelProperty(example = "900", required = true, value = "Time remaining in seconds before expiration.") + + public Integer getExpiresIn() { + return expiresIn; + } + + + public void setExpiresIn(Integer expiresIn) { + this.expiresIn = expiresIn; + } + + + public OAuthTokenResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OAuthTokenResponse oauthTokenResponse = (OAuthTokenResponse) o; + return Objects.equals(this.accessToken, oauthTokenResponse.accessToken) && + Objects.equals(this.refreshToken, oauthTokenResponse.refreshToken) && + Objects.equals(this.tokenType, oauthTokenResponse.tokenType) && + Objects.equals(this.expiresIn, oauthTokenResponse.expiresIn) && + Objects.equals(this.requestId, oauthTokenResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accessToken, refreshToken, tokenType, expiresIn, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OAuthTokenResponse {\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" refreshToken: ").append(toIndentedString(refreshToken)).append("\n"); + sb.append(" tokenType: ").append(toIndentedString(tokenType)).append("\n"); + sb.append(" expiresIn: ").append(toIndentedString(expiresIn)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OmittableTransferType.java b/src/main/java/com/plaid/client/model/OmittableTransferType.java new file mode 100644 index 0000000000..8ede43c4b5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OmittableTransferType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of transfer. Valid values are `debit` or `credit`. A `debit` indicates a transfer of money into the origination account; a `credit` indicates a transfer of money out of the origination account. This field is omitted for Plaid Ledger Sweep events. + */ +@JsonAdapter(OmittableTransferType.Adapter.class) +public enum OmittableTransferType { + + DEBIT("debit"), + + CREDIT("credit"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + OmittableTransferType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OmittableTransferType fromValue(String value) { + for (OmittableTransferType b : OmittableTransferType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return OmittableTransferType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OmittableTransferType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OmittableTransferType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OmittableTransferType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/OptionContract.java b/src/main/java/com/plaid/client/model/OptionContract.java new file mode 100644 index 0000000000..81181b1741 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OptionContract.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Details about the option security. For the Sandbox environment, this data is currently only available if the Item is using a [custom Sandbox user](https://plaid.com/docs/sandbox/user-custom/) and the `ticker` field of the custom security follows the [OCC Option Symbol](https://en.wikipedia.org/wiki/Option_symbol#The_OCC_Option_Symbol) standard with no spaces. For an example of simulating this in Sandbox, see the [custom Sandbox GitHub](https://github.com/plaid/sandbox-custom-users). + */ +@ApiModel(description = "Details about the option security. For the Sandbox environment, this data is currently only available if the Item is using a [custom Sandbox user](https://plaid.com/docs/sandbox/user-custom/) and the `ticker` field of the custom security follows the [OCC Option Symbol](https://en.wikipedia.org/wiki/Option_symbol#The_OCC_Option_Symbol) standard with no spaces. For an example of simulating this in Sandbox, see the [custom Sandbox GitHub](https://github.com/plaid/sandbox-custom-users).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class OptionContract { + public static final String SERIALIZED_NAME_CONTRACT_TYPE = "contract_type"; + @SerializedName(SERIALIZED_NAME_CONTRACT_TYPE) + private String contractType; + + public static final String SERIALIZED_NAME_EXPIRATION_DATE = "expiration_date"; + @SerializedName(SERIALIZED_NAME_EXPIRATION_DATE) + private LocalDate expirationDate; + + public static final String SERIALIZED_NAME_STRIKE_PRICE = "strike_price"; + @SerializedName(SERIALIZED_NAME_STRIKE_PRICE) + private Double strikePrice; + + public static final String SERIALIZED_NAME_UNDERLYING_SECURITY_TICKER = "underlying_security_ticker"; + @SerializedName(SERIALIZED_NAME_UNDERLYING_SECURITY_TICKER) + private String underlyingSecurityTicker; + + + public OptionContract contractType(String contractType) { + + this.contractType = contractType; + return this; + } + + /** + * The type of this option contract. It is one of: `put`: for Put option contracts `call`: for Call option contracts + * @return contractType + **/ + @ApiModelProperty(required = true, value = "The type of this option contract. It is one of: `put`: for Put option contracts `call`: for Call option contracts") + + public String getContractType() { + return contractType; + } + + + public void setContractType(String contractType) { + this.contractType = contractType; + } + + + public OptionContract expirationDate(LocalDate expirationDate) { + + this.expirationDate = expirationDate; + return this; + } + + /** + * The expiration date for this option contract, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return expirationDate + **/ + @ApiModelProperty(required = true, value = "The expiration date for this option contract, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public LocalDate getExpirationDate() { + return expirationDate; + } + + + public void setExpirationDate(LocalDate expirationDate) { + this.expirationDate = expirationDate; + } + + + public OptionContract strikePrice(Double strikePrice) { + + this.strikePrice = strikePrice; + return this; + } + + /** + * The strike price for this option contract, per share of security. + * @return strikePrice + **/ + @ApiModelProperty(required = true, value = "The strike price for this option contract, per share of security.") + + public Double getStrikePrice() { + return strikePrice; + } + + + public void setStrikePrice(Double strikePrice) { + this.strikePrice = strikePrice; + } + + + public OptionContract underlyingSecurityTicker(String underlyingSecurityTicker) { + + this.underlyingSecurityTicker = underlyingSecurityTicker; + return this; + } + + /** + * The ticker of the underlying security for this option contract. + * @return underlyingSecurityTicker + **/ + @ApiModelProperty(required = true, value = "The ticker of the underlying security for this option contract.") + + public String getUnderlyingSecurityTicker() { + return underlyingSecurityTicker; + } + + + public void setUnderlyingSecurityTicker(String underlyingSecurityTicker) { + this.underlyingSecurityTicker = underlyingSecurityTicker; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OptionContract optionContract = (OptionContract) o; + return Objects.equals(this.contractType, optionContract.contractType) && + Objects.equals(this.expirationDate, optionContract.expirationDate) && + Objects.equals(this.strikePrice, optionContract.strikePrice) && + Objects.equals(this.underlyingSecurityTicker, optionContract.underlyingSecurityTicker); + } + + @Override + public int hashCode() { + return Objects.hash(contractType, expirationDate, strikePrice, underlyingSecurityTicker); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OptionContract {\n"); + sb.append(" contractType: ").append(toIndentedString(contractType)).append("\n"); + sb.append(" expirationDate: ").append(toIndentedString(expirationDate)).append("\n"); + sb.append(" strikePrice: ").append(toIndentedString(strikePrice)).append("\n"); + sb.append(" underlyingSecurityTicker: ").append(toIndentedString(underlyingSecurityTicker)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OriginatingFundSource.java b/src/main/java/com/plaid/client/model/OriginatingFundSource.java new file mode 100644 index 0000000000..877d1abcc2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OriginatingFundSource.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The original source of the funds. This field is required by local regulation for certain businesses (e.g. money remittance) to send payouts to recipients in the EU and UK. + */ +@ApiModel(description = "The original source of the funds. This field is required by local regulation for certain businesses (e.g. money remittance) to send payouts to recipients in the EU and UK.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class OriginatingFundSource { + public static final String SERIALIZED_NAME_FULL_NAME = "full_name"; + @SerializedName(SERIALIZED_NAME_FULL_NAME) + private String fullName; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private PaymentInitiationAddress address; + + public static final String SERIALIZED_NAME_ACCOUNT_NUMBER = "account_number"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBER) + private String accountNumber; + + public static final String SERIALIZED_NAME_BIC = "bic"; + @SerializedName(SERIALIZED_NAME_BIC) + private String bic; + + + public OriginatingFundSource fullName(String fullName) { + + this.fullName = fullName; + return this; + } + + /** + * The full name associated with the source of the funds. + * @return fullName + **/ + @ApiModelProperty(required = true, value = "The full name associated with the source of the funds.") + + public String getFullName() { + return fullName; + } + + + public void setFullName(String fullName) { + this.fullName = fullName; + } + + + public OriginatingFundSource address(PaymentInitiationAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationAddress getAddress() { + return address; + } + + + public void setAddress(PaymentInitiationAddress address) { + this.address = address; + } + + + public OriginatingFundSource accountNumber(String accountNumber) { + + this.accountNumber = accountNumber; + return this; + } + + /** + * The account number from which the funds are sourced. + * @return accountNumber + **/ + @ApiModelProperty(required = true, value = "The account number from which the funds are sourced.") + + public String getAccountNumber() { + return accountNumber; + } + + + public void setAccountNumber(String accountNumber) { + this.accountNumber = accountNumber; + } + + + public OriginatingFundSource bic(String bic) { + + this.bic = bic; + return this; + } + + /** + * The Business Identifier Code, also known as SWIFT code, for this bank account. + * @return bic + **/ + @ApiModelProperty(required = true, value = "The Business Identifier Code, also known as SWIFT code, for this bank account.") + + public String getBic() { + return bic; + } + + + public void setBic(String bic) { + this.bic = bic; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OriginatingFundSource originatingFundSource = (OriginatingFundSource) o; + return Objects.equals(this.fullName, originatingFundSource.fullName) && + Objects.equals(this.address, originatingFundSource.address) && + Objects.equals(this.accountNumber, originatingFundSource.accountNumber) && + Objects.equals(this.bic, originatingFundSource.bic); + } + + @Override + public int hashCode() { + return Objects.hash(fullName, address, accountNumber, bic); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OriginatingFundSource {\n"); + sb.append(" fullName: ").append(toIndentedString(fullName)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).append("\n"); + sb.append(" bic: ").append(toIndentedString(bic)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Originator.java b/src/main/java/com/plaid/client/model/Originator.java new file mode 100644 index 0000000000..5663ff7998 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Originator.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferDiligenceStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Originator and their status. + */ +@ApiModel(description = "Originator and their status.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Originator { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_TRANSFER_DILIGENCE_STATUS = "transfer_diligence_status"; + @SerializedName(SERIALIZED_NAME_TRANSFER_DILIGENCE_STATUS) + private TransferDiligenceStatus transferDiligenceStatus; + + + public Originator clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Originator's client ID. + * @return clientId + **/ + @ApiModelProperty(required = true, value = "Originator's client ID.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public Originator transferDiligenceStatus(TransferDiligenceStatus transferDiligenceStatus) { + + this.transferDiligenceStatus = transferDiligenceStatus; + return this; + } + + /** + * Get transferDiligenceStatus + * @return transferDiligenceStatus + **/ + @ApiModelProperty(required = true, value = "") + + public TransferDiligenceStatus getTransferDiligenceStatus() { + return transferDiligenceStatus; + } + + + public void setTransferDiligenceStatus(TransferDiligenceStatus transferDiligenceStatus) { + this.transferDiligenceStatus = transferDiligenceStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Originator originator = (Originator) o; + return Objects.equals(this.clientId, originator.clientId) && + Objects.equals(this.transferDiligenceStatus, originator.transferDiligenceStatus); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, transferDiligenceStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Originator {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" transferDiligenceStatus: ").append(toIndentedString(transferDiligenceStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OriginatorExpectedTransferFrequency.java b/src/main/java/com/plaid/client/model/OriginatorExpectedTransferFrequency.java new file mode 100644 index 0000000000..2907e85a71 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OriginatorExpectedTransferFrequency.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The originator's expected transfer frequency. + */ +@JsonAdapter(OriginatorExpectedTransferFrequency.Adapter.class) +public enum OriginatorExpectedTransferFrequency { + + ONCE_PER_MONTH("once_per_month"), + + TWICE_PER_MONTH("twice_per_month"), + + ONCE_PER_WEEK("once_per_week"), + + DAILY("daily"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + OriginatorExpectedTransferFrequency(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OriginatorExpectedTransferFrequency fromValue(String value) { + for (OriginatorExpectedTransferFrequency b : OriginatorExpectedTransferFrequency.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return OriginatorExpectedTransferFrequency.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OriginatorExpectedTransferFrequency enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OriginatorExpectedTransferFrequency read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OriginatorExpectedTransferFrequency.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/OtherAccountSubtype.java b/src/main/java/com/plaid/client/model/OtherAccountSubtype.java new file mode 100644 index 0000000000..0b573b8fdc --- /dev/null +++ b/src/main/java/com/plaid/client/model/OtherAccountSubtype.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Valid account subtypes for other accounts. For a list containing descriptions of each subtype, see [Account schemas](https://plaid.com/docs/api/accounts/#StandaloneAccountType-other). + */ +@JsonAdapter(OtherAccountSubtype.Adapter.class) +public enum OtherAccountSubtype { + + OTHER("other"), + + ALL("all"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + OtherAccountSubtype(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OtherAccountSubtype fromValue(String value) { + for (OtherAccountSubtype b : OtherAccountSubtype.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return OtherAccountSubtype.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OtherAccountSubtype enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OtherAccountSubtype read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OtherAccountSubtype.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/OtherFilter.java b/src/main/java/com/plaid/client/model/OtherFilter.java new file mode 100644 index 0000000000..b3fec9318a --- /dev/null +++ b/src/main/java/com/plaid/client/model/OtherFilter.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.OtherAccountSubtype; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A filter to apply to `other`-type accounts + */ +@ApiModel(description = "A filter to apply to `other`-type accounts") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class OtherFilter { + public static final String SERIALIZED_NAME_ACCOUNT_SUBTYPES = "account_subtypes"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SUBTYPES) + private List accountSubtypes = new ArrayList<>(); + + + public OtherFilter accountSubtypes(List accountSubtypes) { + + this.accountSubtypes = accountSubtypes; + return this; + } + + public OtherFilter addAccountSubtypesItem(OtherAccountSubtype accountSubtypesItem) { + this.accountSubtypes.add(accountSubtypesItem); + return this; + } + + /** + * An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountSubtypes + **/ + @ApiModelProperty(required = true, value = "An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ") + + public List getAccountSubtypes() { + return accountSubtypes; + } + + + public void setAccountSubtypes(List accountSubtypes) { + this.accountSubtypes = accountSubtypes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OtherFilter otherFilter = (OtherFilter) o; + return Objects.equals(this.accountSubtypes, otherFilter.accountSubtypes); + } + + @Override + public int hashCode() { + return Objects.hash(accountSubtypes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OtherFilter {\n"); + sb.append(" accountSubtypes: ").append(toIndentedString(accountSubtypes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OutlierTransactionsInsights.java b/src/main/java/com/plaid/client/model/OutlierTransactionsInsights.java new file mode 100644 index 0000000000..6b6ae2739b --- /dev/null +++ b/src/main/java/com/plaid/client/model/OutlierTransactionsInsights.java @@ -0,0 +1,169 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AmountWithCurrency; +import com.plaid.client.model.CategoryExpenses; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Insights into unusually large transactions that exceed typical spending patterns for the account. + */ +@ApiModel(description = "Insights into unusually large transactions that exceed typical spending patterns for the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class OutlierTransactionsInsights { + public static final String SERIALIZED_NAME_TRANSACTIONS_COUNT = "transactions_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_COUNT) + private Integer transactionsCount; + + public static final String SERIALIZED_NAME_TOTAL_AMOUNT = "total_amount"; + @SerializedName(SERIALIZED_NAME_TOTAL_AMOUNT) + private AmountWithCurrency totalAmount; + + public static final String SERIALIZED_NAME_TOP_CATEGORIES = "top_categories"; + @SerializedName(SERIALIZED_NAME_TOP_CATEGORIES) + private List topCategories = null; + + + public OutlierTransactionsInsights transactionsCount(Integer transactionsCount) { + + this.transactionsCount = transactionsCount; + return this; + } + + /** + * The total number of transactions whose value is above the threshold of normal amounts for a given account. + * @return transactionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of transactions whose value is above the threshold of normal amounts for a given account.") + + public Integer getTransactionsCount() { + return transactionsCount; + } + + + public void setTransactionsCount(Integer transactionsCount) { + this.transactionsCount = transactionsCount; + } + + + public OutlierTransactionsInsights totalAmount(AmountWithCurrency totalAmount) { + + this.totalAmount = totalAmount; + return this; + } + + /** + * Get totalAmount + * @return totalAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AmountWithCurrency getTotalAmount() { + return totalAmount; + } + + + public void setTotalAmount(AmountWithCurrency totalAmount) { + this.totalAmount = totalAmount; + } + + + public OutlierTransactionsInsights topCategories(List topCategories) { + + this.topCategories = topCategories; + return this; + } + + public OutlierTransactionsInsights addTopCategoriesItem(CategoryExpenses topCategoriesItem) { + if (this.topCategories == null) { + this.topCategories = new ArrayList<>(); + } + this.topCategories.add(topCategoriesItem); + return this; + } + + /** + * Up to 3 top categories of expenses in this group. + * @return topCategories + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Up to 3 top categories of expenses in this group.") + + public List getTopCategories() { + return topCategories; + } + + + public void setTopCategories(List topCategories) { + this.topCategories = topCategories; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OutlierTransactionsInsights outlierTransactionsInsights = (OutlierTransactionsInsights) o; + return Objects.equals(this.transactionsCount, outlierTransactionsInsights.transactionsCount) && + Objects.equals(this.totalAmount, outlierTransactionsInsights.totalAmount) && + Objects.equals(this.topCategories, outlierTransactionsInsights.topCategories); + } + + @Override + public int hashCode() { + return Objects.hash(transactionsCount, totalAmount, topCategories); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OutlierTransactionsInsights {\n"); + sb.append(" transactionsCount: ").append(toIndentedString(transactionsCount)).append("\n"); + sb.append(" totalAmount: ").append(toIndentedString(totalAmount)).append("\n"); + sb.append(" topCategories: ").append(toIndentedString(topCategories)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OverrideAccountType.java b/src/main/java/com/plaid/client/model/OverrideAccountType.java new file mode 100644 index 0000000000..1f885ae944 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OverrideAccountType.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * `investment:` Investment account. `credit:` Credit card `depository:` Depository account `loan:` Loan account `payroll:` Payroll account `other:` Non-specified account type See the [Account type schema](https://plaid.com/docs/api/accounts#account-type-schema) for a full listing of account types and corresponding subtypes. + */ +@JsonAdapter(OverrideAccountType.Adapter.class) +public enum OverrideAccountType { + + INVESTMENT("investment"), + + CREDIT("credit"), + + DEPOSITORY("depository"), + + LOAN("loan"), + + PAYROLL("payroll"), + + OTHER("other"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + OverrideAccountType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OverrideAccountType fromValue(String value) { + for (OverrideAccountType b : OverrideAccountType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return OverrideAccountType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OverrideAccountType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OverrideAccountType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OverrideAccountType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/OverrideAccounts.java b/src/main/java/com/plaid/client/model/OverrideAccounts.java new file mode 100644 index 0000000000..85ef32af5e --- /dev/null +++ b/src/main/java/com/plaid/client/model/OverrideAccounts.java @@ -0,0 +1,512 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.HoldingsOverride; +import com.plaid.client.model.IncomeOverride; +import com.plaid.client.model.InflowModel; +import com.plaid.client.model.InvestmentsTransactionsOverride; +import com.plaid.client.model.LiabilityOverride; +import com.plaid.client.model.Meta; +import com.plaid.client.model.Numbers; +import com.plaid.client.model.OverrideAccountType; +import com.plaid.client.model.OwnerOverride; +import com.plaid.client.model.TransactionOverride; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Data to use to set values of test accounts. Some values cannot be specified in the schema and will instead be calculated from other test data in order to achieve more consistent, realistic test data. + */ +@ApiModel(description = "Data to use to set values of test accounts. Some values cannot be specified in the schema and will instead be calculated from other test data in order to achieve more consistent, realistic test data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class OverrideAccounts { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private OverrideAccountType type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private AccountSubtype subtype; + + public static final String SERIALIZED_NAME_STARTING_BALANCE = "starting_balance"; + @SerializedName(SERIALIZED_NAME_STARTING_BALANCE) + private Double startingBalance; + + public static final String SERIALIZED_NAME_FORCE_AVAILABLE_BALANCE = "force_available_balance"; + @SerializedName(SERIALIZED_NAME_FORCE_AVAILABLE_BALANCE) + private Double forceAvailableBalance; + + public static final String SERIALIZED_NAME_HAS_NULL_AVAILABLE_BALANCE = "has_null_available_balance"; + @SerializedName(SERIALIZED_NAME_HAS_NULL_AVAILABLE_BALANCE) + private Boolean hasNullAvailableBalance; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private String currency; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + private Meta meta; + + public static final String SERIALIZED_NAME_NUMBERS = "numbers"; + @SerializedName(SERIALIZED_NAME_NUMBERS) + private Numbers numbers; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_HOLDINGS = "holdings"; + @SerializedName(SERIALIZED_NAME_HOLDINGS) + private HoldingsOverride holdings; + + public static final String SERIALIZED_NAME_INVESTMENT_TRANSACTIONS = "investment_transactions"; + @SerializedName(SERIALIZED_NAME_INVESTMENT_TRANSACTIONS) + private InvestmentsTransactionsOverride investmentTransactions; + + public static final String SERIALIZED_NAME_IDENTITY = "identity"; + @SerializedName(SERIALIZED_NAME_IDENTITY) + private OwnerOverride identity; + + public static final String SERIALIZED_NAME_LIABILITY = "liability"; + @SerializedName(SERIALIZED_NAME_LIABILITY) + private LiabilityOverride liability; + + public static final String SERIALIZED_NAME_INFLOW_MODEL = "inflow_model"; + @SerializedName(SERIALIZED_NAME_INFLOW_MODEL) + private InflowModel inflowModel; + + public static final String SERIALIZED_NAME_INCOME = "income"; + @SerializedName(SERIALIZED_NAME_INCOME) + private IncomeOverride income; + + + public OverrideAccounts type(OverrideAccountType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public OverrideAccountType getType() { + return type; + } + + + public void setType(OverrideAccountType type) { + this.type = type; + } + + + public OverrideAccounts subtype(AccountSubtype subtype) { + + this.subtype = subtype; + return this; + } + + /** + * Get subtype + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountSubtype getSubtype() { + return subtype; + } + + + public void setSubtype(AccountSubtype subtype) { + this.subtype = subtype; + } + + + public OverrideAccounts startingBalance(Double startingBalance) { + + this.startingBalance = startingBalance; + return this; + } + + /** + * If provided, the account will start with this amount as the current balance. + * @return startingBalance + **/ + @ApiModelProperty(required = true, value = "If provided, the account will start with this amount as the current balance. ") + + public Double getStartingBalance() { + return startingBalance; + } + + + public void setStartingBalance(Double startingBalance) { + this.startingBalance = startingBalance; + } + + + public OverrideAccounts forceAvailableBalance(Double forceAvailableBalance) { + + this.forceAvailableBalance = forceAvailableBalance; + return this; + } + + /** + * If provided, the account will always have this amount as its available balance, regardless of current balance or changes in transactions over time. Cannot be set together with `has_null_available_balance`. + * @return forceAvailableBalance + **/ + @ApiModelProperty(required = true, value = "If provided, the account will always have this amount as its available balance, regardless of current balance or changes in transactions over time. Cannot be set together with `has_null_available_balance`. ") + + public Double getForceAvailableBalance() { + return forceAvailableBalance; + } + + + public void setForceAvailableBalance(Double forceAvailableBalance) { + this.forceAvailableBalance = forceAvailableBalance; + } + + + public OverrideAccounts hasNullAvailableBalance(Boolean hasNullAvailableBalance) { + + this.hasNullAvailableBalance = hasNullAvailableBalance; + return this; + } + + /** + * If set to `true`, the account will always have null as its available balance, regardless of current balance or changes in transactions over time. Cannot be set together with `force_available_balance`. + * @return hasNullAvailableBalance + **/ + @ApiModelProperty(required = true, value = "If set to `true`, the account will always have null as its available balance, regardless of current balance or changes in transactions over time. Cannot be set together with `force_available_balance`. ") + + public Boolean getHasNullAvailableBalance() { + return hasNullAvailableBalance; + } + + + public void setHasNullAvailableBalance(Boolean hasNullAvailableBalance) { + this.hasNullAvailableBalance = hasNullAvailableBalance; + } + + + public OverrideAccounts currency(String currency) { + + this.currency = currency; + return this; + } + + /** + * ISO-4217 currency code. If provided, the account will be denominated in the given currency. Transactions will also be in this currency by default. + * @return currency + **/ + @ApiModelProperty(required = true, value = "ISO-4217 currency code. If provided, the account will be denominated in the given currency. Transactions will also be in this currency by default.") + + public String getCurrency() { + return currency; + } + + + public void setCurrency(String currency) { + this.currency = currency; + } + + + public OverrideAccounts meta(Meta meta) { + + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + **/ + @ApiModelProperty(required = true, value = "") + + public Meta getMeta() { + return meta; + } + + + public void setMeta(Meta meta) { + this.meta = meta; + } + + + public OverrideAccounts numbers(Numbers numbers) { + + this.numbers = numbers; + return this; + } + + /** + * Get numbers + * @return numbers + **/ + @ApiModelProperty(required = true, value = "") + + public Numbers getNumbers() { + return numbers; + } + + + public void setNumbers(Numbers numbers) { + this.numbers = numbers; + } + + + public OverrideAccounts transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public OverrideAccounts addTransactionsItem(TransactionOverride transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * Specify the list of transactions on the account. + * @return transactions + **/ + @ApiModelProperty(required = true, value = "Specify the list of transactions on the account.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + public OverrideAccounts holdings(HoldingsOverride holdings) { + + this.holdings = holdings; + return this; + } + + /** + * Get holdings + * @return holdings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public HoldingsOverride getHoldings() { + return holdings; + } + + + public void setHoldings(HoldingsOverride holdings) { + this.holdings = holdings; + } + + + public OverrideAccounts investmentTransactions(InvestmentsTransactionsOverride investmentTransactions) { + + this.investmentTransactions = investmentTransactions; + return this; + } + + /** + * Get investmentTransactions + * @return investmentTransactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InvestmentsTransactionsOverride getInvestmentTransactions() { + return investmentTransactions; + } + + + public void setInvestmentTransactions(InvestmentsTransactionsOverride investmentTransactions) { + this.investmentTransactions = investmentTransactions; + } + + + public OverrideAccounts identity(OwnerOverride identity) { + + this.identity = identity; + return this; + } + + /** + * Get identity + * @return identity + **/ + @ApiModelProperty(required = true, value = "") + + public OwnerOverride getIdentity() { + return identity; + } + + + public void setIdentity(OwnerOverride identity) { + this.identity = identity; + } + + + public OverrideAccounts liability(LiabilityOverride liability) { + + this.liability = liability; + return this; + } + + /** + * Get liability + * @return liability + **/ + @ApiModelProperty(required = true, value = "") + + public LiabilityOverride getLiability() { + return liability; + } + + + public void setLiability(LiabilityOverride liability) { + this.liability = liability; + } + + + public OverrideAccounts inflowModel(InflowModel inflowModel) { + + this.inflowModel = inflowModel; + return this; + } + + /** + * Get inflowModel + * @return inflowModel + **/ + @ApiModelProperty(required = true, value = "") + + public InflowModel getInflowModel() { + return inflowModel; + } + + + public void setInflowModel(InflowModel inflowModel) { + this.inflowModel = inflowModel; + } + + + public OverrideAccounts income(IncomeOverride income) { + + this.income = income; + return this; + } + + /** + * Get income + * @return income + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IncomeOverride getIncome() { + return income; + } + + + public void setIncome(IncomeOverride income) { + this.income = income; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OverrideAccounts overrideAccounts = (OverrideAccounts) o; + return Objects.equals(this.type, overrideAccounts.type) && + Objects.equals(this.subtype, overrideAccounts.subtype) && + Objects.equals(this.startingBalance, overrideAccounts.startingBalance) && + Objects.equals(this.forceAvailableBalance, overrideAccounts.forceAvailableBalance) && + Objects.equals(this.hasNullAvailableBalance, overrideAccounts.hasNullAvailableBalance) && + Objects.equals(this.currency, overrideAccounts.currency) && + Objects.equals(this.meta, overrideAccounts.meta) && + Objects.equals(this.numbers, overrideAccounts.numbers) && + Objects.equals(this.transactions, overrideAccounts.transactions) && + Objects.equals(this.holdings, overrideAccounts.holdings) && + Objects.equals(this.investmentTransactions, overrideAccounts.investmentTransactions) && + Objects.equals(this.identity, overrideAccounts.identity) && + Objects.equals(this.liability, overrideAccounts.liability) && + Objects.equals(this.inflowModel, overrideAccounts.inflowModel) && + Objects.equals(this.income, overrideAccounts.income); + } + + @Override + public int hashCode() { + return Objects.hash(type, subtype, startingBalance, forceAvailableBalance, hasNullAvailableBalance, currency, meta, numbers, transactions, holdings, investmentTransactions, identity, liability, inflowModel, income); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OverrideAccounts {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" startingBalance: ").append(toIndentedString(startingBalance)).append("\n"); + sb.append(" forceAvailableBalance: ").append(toIndentedString(forceAvailableBalance)).append("\n"); + sb.append(" hasNullAvailableBalance: ").append(toIndentedString(hasNullAvailableBalance)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" meta: ").append(toIndentedString(meta)).append("\n"); + sb.append(" numbers: ").append(toIndentedString(numbers)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" holdings: ").append(toIndentedString(holdings)).append("\n"); + sb.append(" investmentTransactions: ").append(toIndentedString(investmentTransactions)).append("\n"); + sb.append(" identity: ").append(toIndentedString(identity)).append("\n"); + sb.append(" liability: ").append(toIndentedString(liability)).append("\n"); + sb.append(" inflowModel: ").append(toIndentedString(inflowModel)).append("\n"); + sb.append(" income: ").append(toIndentedString(income)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Owner.java b/src/main/java/com/plaid/client/model/Owner.java new file mode 100644 index 0000000000..a7e90e896a --- /dev/null +++ b/src/main/java/com/plaid/client/model/Owner.java @@ -0,0 +1,207 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Address; +import com.plaid.client.model.Email; +import com.plaid.client.model.PhoneNumber; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Data returned from the financial institution about the owner or owners of an account. Only the `names` array must be non-empty. + */ +@ApiModel(description = "Data returned from the financial institution about the owner or owners of an account. Only the `names` array must be non-empty.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Owner { + public static final String SERIALIZED_NAME_NAMES = "names"; + @SerializedName(SERIALIZED_NAME_NAMES) + private List names = new ArrayList<>(); + + public static final String SERIALIZED_NAME_PHONE_NUMBERS = "phone_numbers"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBERS) + private List phoneNumbers = new ArrayList<>(); + + public static final String SERIALIZED_NAME_EMAILS = "emails"; + @SerializedName(SERIALIZED_NAME_EMAILS) + private List emails = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ADDRESSES = "addresses"; + @SerializedName(SERIALIZED_NAME_ADDRESSES) + private List
addresses = new ArrayList<>(); + + + public Owner names(List names) { + + this.names = names; + return this; + } + + public Owner addNamesItem(String namesItem) { + this.names.add(namesItem); + return this; + } + + /** + * A list of names associated with the account by the financial institution. In the case of a joint account, Plaid will make a best effort to report the names of all account holders. If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's `names` array. + * @return names + **/ + @ApiModelProperty(required = true, value = "A list of names associated with the account by the financial institution. In the case of a joint account, Plaid will make a best effort to report the names of all account holders. If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's `names` array.") + + public List getNames() { + return names; + } + + + public void setNames(List names) { + this.names = names; + } + + + public Owner phoneNumbers(List phoneNumbers) { + + this.phoneNumbers = phoneNumbers; + return this; + } + + public Owner addPhoneNumbersItem(PhoneNumber phoneNumbersItem) { + this.phoneNumbers.add(phoneNumbersItem); + return this; + } + + /** + * A list of phone numbers associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution. + * @return phoneNumbers + **/ + @ApiModelProperty(required = true, value = "A list of phone numbers associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.") + + public List getPhoneNumbers() { + return phoneNumbers; + } + + + public void setPhoneNumbers(List phoneNumbers) { + this.phoneNumbers = phoneNumbers; + } + + + public Owner emails(List emails) { + + this.emails = emails; + return this; + } + + public Owner addEmailsItem(Email emailsItem) { + this.emails.add(emailsItem); + return this; + } + + /** + * A list of email addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution. + * @return emails + **/ + @ApiModelProperty(required = true, value = "A list of email addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.") + + public List getEmails() { + return emails; + } + + + public void setEmails(List emails) { + this.emails = emails; + } + + + public Owner addresses(List
addresses) { + + this.addresses = addresses; + return this; + } + + public Owner addAddressesItem(Address addressesItem) { + this.addresses.add(addressesItem); + return this; + } + + /** + * Data about the various addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution. + * @return addresses + **/ + @ApiModelProperty(required = true, value = "Data about the various addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.") + + public List
getAddresses() { + return addresses; + } + + + public void setAddresses(List
addresses) { + this.addresses = addresses; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Owner owner = (Owner) o; + return Objects.equals(this.names, owner.names) && + Objects.equals(this.phoneNumbers, owner.phoneNumbers) && + Objects.equals(this.emails, owner.emails) && + Objects.equals(this.addresses, owner.addresses); + } + + @Override + public int hashCode() { + return Objects.hash(names, phoneNumbers, emails, addresses); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Owner {\n"); + sb.append(" names: ").append(toIndentedString(names)).append("\n"); + sb.append(" phoneNumbers: ").append(toIndentedString(phoneNumbers)).append("\n"); + sb.append(" emails: ").append(toIndentedString(emails)).append("\n"); + sb.append(" addresses: ").append(toIndentedString(addresses)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OwnerOverride.java b/src/main/java/com/plaid/client/model/OwnerOverride.java new file mode 100644 index 0000000000..b75759a20c --- /dev/null +++ b/src/main/java/com/plaid/client/model/OwnerOverride.java @@ -0,0 +1,207 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Address; +import com.plaid.client.model.Email; +import com.plaid.client.model.PhoneNumber; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Data about the owner or owners of an account. Any fields not specified will be filled in with default Sandbox information. + */ +@ApiModel(description = "Data about the owner or owners of an account. Any fields not specified will be filled in with default Sandbox information.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class OwnerOverride { + public static final String SERIALIZED_NAME_NAMES = "names"; + @SerializedName(SERIALIZED_NAME_NAMES) + private List names = new ArrayList<>(); + + public static final String SERIALIZED_NAME_PHONE_NUMBERS = "phone_numbers"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBERS) + private List phoneNumbers = new ArrayList<>(); + + public static final String SERIALIZED_NAME_EMAILS = "emails"; + @SerializedName(SERIALIZED_NAME_EMAILS) + private List emails = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ADDRESSES = "addresses"; + @SerializedName(SERIALIZED_NAME_ADDRESSES) + private List
addresses = new ArrayList<>(); + + + public OwnerOverride names(List names) { + + this.names = names; + return this; + } + + public OwnerOverride addNamesItem(String namesItem) { + this.names.add(namesItem); + return this; + } + + /** + * A list of names associated with the account by the financial institution. These should always be the names of individuals, even for business accounts. Note that the same name data will be used for all accounts associated with an Item. + * @return names + **/ + @ApiModelProperty(required = true, value = "A list of names associated with the account by the financial institution. These should always be the names of individuals, even for business accounts. Note that the same name data will be used for all accounts associated with an Item.") + + public List getNames() { + return names; + } + + + public void setNames(List names) { + this.names = names; + } + + + public OwnerOverride phoneNumbers(List phoneNumbers) { + + this.phoneNumbers = phoneNumbers; + return this; + } + + public OwnerOverride addPhoneNumbersItem(PhoneNumber phoneNumbersItem) { + this.phoneNumbers.add(phoneNumbersItem); + return this; + } + + /** + * A list of phone numbers associated with the account. + * @return phoneNumbers + **/ + @ApiModelProperty(required = true, value = "A list of phone numbers associated with the account.") + + public List getPhoneNumbers() { + return phoneNumbers; + } + + + public void setPhoneNumbers(List phoneNumbers) { + this.phoneNumbers = phoneNumbers; + } + + + public OwnerOverride emails(List emails) { + + this.emails = emails; + return this; + } + + public OwnerOverride addEmailsItem(Email emailsItem) { + this.emails.add(emailsItem); + return this; + } + + /** + * A list of email addresses associated with the account. + * @return emails + **/ + @ApiModelProperty(required = true, value = "A list of email addresses associated with the account.") + + public List getEmails() { + return emails; + } + + + public void setEmails(List emails) { + this.emails = emails; + } + + + public OwnerOverride addresses(List
addresses) { + + this.addresses = addresses; + return this; + } + + public OwnerOverride addAddressesItem(Address addressesItem) { + this.addresses.add(addressesItem); + return this; + } + + /** + * Data about the various addresses associated with the account. + * @return addresses + **/ + @ApiModelProperty(required = true, value = "Data about the various addresses associated with the account.") + + public List
getAddresses() { + return addresses; + } + + + public void setAddresses(List
addresses) { + this.addresses = addresses; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OwnerOverride ownerOverride = (OwnerOverride) o; + return Objects.equals(this.names, ownerOverride.names) && + Objects.equals(this.phoneNumbers, ownerOverride.phoneNumbers) && + Objects.equals(this.emails, ownerOverride.emails) && + Objects.equals(this.addresses, ownerOverride.addresses); + } + + @Override + public int hashCode() { + return Objects.hash(names, phoneNumbers, emails, addresses); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OwnerOverride {\n"); + sb.append(" names: ").append(toIndentedString(names)).append("\n"); + sb.append(" phoneNumbers: ").append(toIndentedString(phoneNumbers)).append("\n"); + sb.append(" emails: ").append(toIndentedString(emails)).append("\n"); + sb.append(" addresses: ").append(toIndentedString(addresses)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/OwnershipType.java b/src/main/java/com/plaid/client/model/OwnershipType.java new file mode 100644 index 0000000000..751e198735 --- /dev/null +++ b/src/main/java/com/plaid/client/model/OwnershipType.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * How an asset is owned. `association`: Ownership by a corporation, partnership, or unincorporated association, including for-profit and not-for-profit organizations. `individual`: Ownership by an individual. `joint`: Joint ownership by multiple parties. `trust`: Ownership by a revocable or irrevocable trust. + */ +@JsonAdapter(OwnershipType.Adapter.class) +public enum OwnershipType { + + NULL("null"), + + INDIVIDUAL("individual"), + + JOINT("joint"), + + ASSOCIATION("association"), + + TRUST("trust"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + OwnershipType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OwnershipType fromValue(String value) { + for (OwnershipType b : OwnershipType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OwnershipType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OwnershipType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OwnershipType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/POBoxStatus.java b/src/main/java/com/plaid/client/model/POBoxStatus.java new file mode 100644 index 0000000000..f928e7b0f1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/POBoxStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Field describing whether the associated address is a post office box. Will be `yes` when a P.O. box is detected, `no` when Plaid confirmed the address is not a P.O. box, and `no_data` when Plaid was not able to determine if the address is a P.O. box. + */ +@JsonAdapter(POBoxStatus.Adapter.class) +public enum POBoxStatus { + + YES("yes"), + + NO("no"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + POBoxStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static POBoxStatus fromValue(String value) { + for (POBoxStatus b : POBoxStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return POBoxStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final POBoxStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public POBoxStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return POBoxStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PSLFStatus.java b/src/main/java/com/plaid/client/model/PSLFStatus.java new file mode 100644 index 0000000000..847961125c --- /dev/null +++ b/src/main/java/com/plaid/client/model/PSLFStatus.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Information about the student's eligibility in the Public Service Loan Forgiveness program. This is only returned if the institution is FedLoan (`ins_116527`). Since FedLoan no longer services student loans, this field is no longer returned. + */ +@ApiModel(description = "Information about the student's eligibility in the Public Service Loan Forgiveness program. This is only returned if the institution is FedLoan (`ins_116527`). Since FedLoan no longer services student loans, this field is no longer returned. ") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PSLFStatus { + public static final String SERIALIZED_NAME_ESTIMATED_ELIGIBILITY_DATE = "estimated_eligibility_date"; + @SerializedName(SERIALIZED_NAME_ESTIMATED_ELIGIBILITY_DATE) + private LocalDate estimatedEligibilityDate; + + public static final String SERIALIZED_NAME_PAYMENTS_MADE = "payments_made"; + @SerializedName(SERIALIZED_NAME_PAYMENTS_MADE) + private Integer paymentsMade; + + public static final String SERIALIZED_NAME_PAYMENTS_REMAINING = "payments_remaining"; + @SerializedName(SERIALIZED_NAME_PAYMENTS_REMAINING) + private Integer paymentsRemaining; + + + public PSLFStatus estimatedEligibilityDate(LocalDate estimatedEligibilityDate) { + + this.estimatedEligibilityDate = estimatedEligibilityDate; + return this; + } + + /** + * The estimated date borrower will have completed 120 qualifying monthly payments. Returned in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return estimatedEligibilityDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The estimated date borrower will have completed 120 qualifying monthly payments. Returned in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getEstimatedEligibilityDate() { + return estimatedEligibilityDate; + } + + + public void setEstimatedEligibilityDate(LocalDate estimatedEligibilityDate) { + this.estimatedEligibilityDate = estimatedEligibilityDate; + } + + + public PSLFStatus paymentsMade(Integer paymentsMade) { + + this.paymentsMade = paymentsMade; + return this; + } + + /** + * The number of qualifying payments that have been made. + * @return paymentsMade + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The number of qualifying payments that have been made.") + + public Integer getPaymentsMade() { + return paymentsMade; + } + + + public void setPaymentsMade(Integer paymentsMade) { + this.paymentsMade = paymentsMade; + } + + + public PSLFStatus paymentsRemaining(Integer paymentsRemaining) { + + this.paymentsRemaining = paymentsRemaining; + return this; + } + + /** + * The number of qualifying payments remaining. + * @return paymentsRemaining + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The number of qualifying payments remaining.") + + public Integer getPaymentsRemaining() { + return paymentsRemaining; + } + + + public void setPaymentsRemaining(Integer paymentsRemaining) { + this.paymentsRemaining = paymentsRemaining; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PSLFStatus psLFStatus = (PSLFStatus) o; + return Objects.equals(this.estimatedEligibilityDate, psLFStatus.estimatedEligibilityDate) && + Objects.equals(this.paymentsMade, psLFStatus.paymentsMade) && + Objects.equals(this.paymentsRemaining, psLFStatus.paymentsRemaining); + } + + @Override + public int hashCode() { + return Objects.hash(estimatedEligibilityDate, paymentsMade, paymentsRemaining); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PSLFStatus {\n"); + sb.append(" estimatedEligibilityDate: ").append(toIndentedString(estimatedEligibilityDate)).append("\n"); + sb.append(" paymentsMade: ").append(toIndentedString(paymentsMade)).append("\n"); + sb.append(" paymentsRemaining: ").append(toIndentedString(paymentsRemaining)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Parties.java b/src/main/java/com/plaid/client/model/Parties.java new file mode 100644 index 0000000000..e28ae70cb6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Parties.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Party; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A collection of objects that define specific parties to a deal. This includes the direct participating parties, such as borrower and seller and the indirect parties such as the credit report provider. + */ +@ApiModel(description = "A collection of objects that define specific parties to a deal. This includes the direct participating parties, such as borrower and seller and the indirect parties such as the credit report provider.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Parties { + public static final String SERIALIZED_NAME_P_A_R_T_Y = "PARTY"; + @SerializedName(SERIALIZED_NAME_P_A_R_T_Y) + private List PARTY = new ArrayList<>(); + + + public Parties PARTY(List PARTY) { + + this.PARTY = PARTY; + return this; + } + + public Parties addPARTYItem(Party PARTYItem) { + this.PARTY.add(PARTYItem); + return this; + } + + /** + * Get PARTY + * @return PARTY + **/ + @ApiModelProperty(required = true, value = "") + + public List getPARTY() { + return PARTY; + } + + + public void setPARTY(List PARTY) { + this.PARTY = PARTY; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Parties parties = (Parties) o; + return Objects.equals(this.PARTY, parties.PARTY); + } + + @Override + public int hashCode() { + return Objects.hash(PARTY); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Parties {\n"); + sb.append(" PARTY: ").append(toIndentedString(PARTY)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerCustomerCreateRequest.java b/src/main/java/com/plaid/client/model/PartnerCustomerCreateRequest.java new file mode 100644 index 0000000000..a4db8e5b3f --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerCustomerCreateRequest.java @@ -0,0 +1,609 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerAddress; +import com.plaid.client.model.PartnerEndCustomerAssetsUnderManagement; +import com.plaid.client.model.PartnerEndCustomerBillingContact; +import com.plaid.client.model.PartnerEndCustomerCustomerSupportInfo; +import com.plaid.client.model.PartnerEndCustomerTechnicalContact; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Request schema for `/partner/customer/create`. + */ +@ApiModel(description = "Request schema for `/partner/customer/create`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerCustomerCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_COMPANY_NAME = "company_name"; + @SerializedName(SERIALIZED_NAME_COMPANY_NAME) + private String companyName; + + public static final String SERIALIZED_NAME_IS_DILIGENCE_ATTESTED = "is_diligence_attested"; + @SerializedName(SERIALIZED_NAME_IS_DILIGENCE_ATTESTED) + private Boolean isDiligenceAttested; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = null; + + public static final String SERIALIZED_NAME_CREATE_LINK_CUSTOMIZATION = "create_link_customization"; + @SerializedName(SERIALIZED_NAME_CREATE_LINK_CUSTOMIZATION) + private Boolean createLinkCustomization; + + public static final String SERIALIZED_NAME_LOGO = "logo"; + @SerializedName(SERIALIZED_NAME_LOGO) + private String logo; + + public static final String SERIALIZED_NAME_LEGAL_ENTITY_NAME = "legal_entity_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_ENTITY_NAME) + private String legalEntityName; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private String website; + + public static final String SERIALIZED_NAME_APPLICATION_NAME = "application_name"; + @SerializedName(SERIALIZED_NAME_APPLICATION_NAME) + private String applicationName; + + public static final String SERIALIZED_NAME_TECHNICAL_CONTACT = "technical_contact"; + @SerializedName(SERIALIZED_NAME_TECHNICAL_CONTACT) + private PartnerEndCustomerTechnicalContact technicalContact; + + public static final String SERIALIZED_NAME_BILLING_CONTACT = "billing_contact"; + @SerializedName(SERIALIZED_NAME_BILLING_CONTACT) + private PartnerEndCustomerBillingContact billingContact; + + public static final String SERIALIZED_NAME_CUSTOMER_SUPPORT_INFO = "customer_support_info"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_SUPPORT_INFO) + private PartnerEndCustomerCustomerSupportInfo customerSupportInfo; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private PartnerEndCustomerAddress address; + + public static final String SERIALIZED_NAME_IS_BANK_ADDENDUM_COMPLETED = "is_bank_addendum_completed"; + @SerializedName(SERIALIZED_NAME_IS_BANK_ADDENDUM_COMPLETED) + private Boolean isBankAddendumCompleted; + + public static final String SERIALIZED_NAME_ASSETS_UNDER_MANAGEMENT = "assets_under_management"; + @SerializedName(SERIALIZED_NAME_ASSETS_UNDER_MANAGEMENT) + private PartnerEndCustomerAssetsUnderManagement assetsUnderManagement; + + public static final String SERIALIZED_NAME_REDIRECT_URIS = "redirect_uris"; + @SerializedName(SERIALIZED_NAME_REDIRECT_URIS) + private List redirectUris = null; + + public static final String SERIALIZED_NAME_REGISTRATION_NUMBER = "registration_number"; + @SerializedName(SERIALIZED_NAME_REGISTRATION_NUMBER) + private String registrationNumber; + + + public PartnerCustomerCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PartnerCustomerCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PartnerCustomerCreateRequest companyName(String companyName) { + + this.companyName = companyName; + return this; + } + + /** + * The company name of the end customer being created. This will be used to display the end customer in the Plaid Dashboard. It will not be shown to end users. + * @return companyName + **/ + @ApiModelProperty(required = true, value = "The company name of the end customer being created. This will be used to display the end customer in the Plaid Dashboard. It will not be shown to end users.") + + public String getCompanyName() { + return companyName; + } + + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + + public PartnerCustomerCreateRequest isDiligenceAttested(Boolean isDiligenceAttested) { + + this.isDiligenceAttested = isDiligenceAttested; + return this; + } + + /** + * Denotes whether or not the partner has completed attestation of diligence for the end customer to be created. + * @return isDiligenceAttested + **/ + @ApiModelProperty(required = true, value = "Denotes whether or not the partner has completed attestation of diligence for the end customer to be created.") + + public Boolean getIsDiligenceAttested() { + return isDiligenceAttested; + } + + + public void setIsDiligenceAttested(Boolean isDiligenceAttested) { + this.isDiligenceAttested = isDiligenceAttested; + } + + + public PartnerCustomerCreateRequest products(List products) { + + this.products = products; + return this; + } + + public PartnerCustomerCreateRequest addProductsItem(Products productsItem) { + if (this.products == null) { + this.products = new ArrayList<>(); + } + this.products.add(productsItem); + return this; + } + + /** + * The products to be enabled for the end customer. If empty or `null`, this field will default to the products enabled for the reseller at the time this endpoint is called. + * @return products + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The products to be enabled for the end customer. If empty or `null`, this field will default to the products enabled for the reseller at the time this endpoint is called.") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + public PartnerCustomerCreateRequest createLinkCustomization(Boolean createLinkCustomization) { + + this.createLinkCustomization = createLinkCustomization; + return this; + } + + /** + * If `true`, the end customer's default Link customization will be set to match the partner's. You can always change the end customer's Link customization in the Plaid Dashboard. See the [Link Customization docs](https://plaid.com/docs/link/customization/) for more information. If you require the ability to programmatically create end customers using multiple different Link customization profiles, contact your Plaid account manager for assistance. Important: Data Transparency Messaging (DTM) use cases will not be copied to the end customer's Link customization unless the **Publish changes** button is clicked after the use cases are applied. Link will not work in Production unless the end customer's DTM use cases are configured. For more details, see [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/). + * @return createLinkCustomization + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If `true`, the end customer's default Link customization will be set to match the partner's. You can always change the end customer's Link customization in the Plaid Dashboard. See the [Link Customization docs](https://plaid.com/docs/link/customization/) for more information. If you require the ability to programmatically create end customers using multiple different Link customization profiles, contact your Plaid account manager for assistance. Important: Data Transparency Messaging (DTM) use cases will not be copied to the end customer's Link customization unless the **Publish changes** button is clicked after the use cases are applied. Link will not work in Production unless the end customer's DTM use cases are configured. For more details, see [Data Transparency Messaging](https://plaid.com/docs/link/data-transparency-messaging-migration-guide/).") + + public Boolean getCreateLinkCustomization() { + return createLinkCustomization; + } + + + public void setCreateLinkCustomization(Boolean createLinkCustomization) { + this.createLinkCustomization = createLinkCustomization; + } + + + public PartnerCustomerCreateRequest logo(String logo) { + + this.logo = logo; + return this; + } + + /** + * Base64-encoded representation of the end customer's logo. Must be a PNG of size 1024x1024 under 4MB. The logo will be shared with financial institutions and shown to the end user during Link flows. A logo is required if `create_link_customization` is `true`. If `create_link_customization` is `false` and the logo is omitted, the partner's logo will be used if one exists, otherwise a stock logo will be used. + * @return logo + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Base64-encoded representation of the end customer's logo. Must be a PNG of size 1024x1024 under 4MB. The logo will be shared with financial institutions and shown to the end user during Link flows. A logo is required if `create_link_customization` is `true`. If `create_link_customization` is `false` and the logo is omitted, the partner's logo will be used if one exists, otherwise a stock logo will be used.") + + public String getLogo() { + return logo; + } + + + public void setLogo(String logo) { + this.logo = logo; + } + + + public PartnerCustomerCreateRequest legalEntityName(String legalEntityName) { + + this.legalEntityName = legalEntityName; + return this; + } + + /** + * The end customer's legal name. This will be shared with financial institutions as part of the OAuth registration process. It will not be shown to end users. + * @return legalEntityName + **/ + @ApiModelProperty(required = true, value = "The end customer's legal name. This will be shared with financial institutions as part of the OAuth registration process. It will not be shown to end users.") + + public String getLegalEntityName() { + return legalEntityName; + } + + + public void setLegalEntityName(String legalEntityName) { + this.legalEntityName = legalEntityName; + } + + + public PartnerCustomerCreateRequest website(String website) { + + this.website = website; + return this; + } + + /** + * The end customer's website. + * @return website + **/ + @ApiModelProperty(required = true, value = "The end customer's website.") + + public String getWebsite() { + return website; + } + + + public void setWebsite(String website) { + this.website = website; + } + + + public PartnerCustomerCreateRequest applicationName(String applicationName) { + + this.applicationName = applicationName; + return this; + } + + /** + * The name of the end customer's application. This will be shown to end users when they go through the Plaid Link flow. The application name must be unique and cannot match the name of another application already registered with Plaid. + * @return applicationName + **/ + @ApiModelProperty(required = true, value = "The name of the end customer's application. This will be shown to end users when they go through the Plaid Link flow. The application name must be unique and cannot match the name of another application already registered with Plaid.") + + public String getApplicationName() { + return applicationName; + } + + + public void setApplicationName(String applicationName) { + this.applicationName = applicationName; + } + + + public PartnerCustomerCreateRequest technicalContact(PartnerEndCustomerTechnicalContact technicalContact) { + + this.technicalContact = technicalContact; + return this; + } + + /** + * Get technicalContact + * @return technicalContact + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerTechnicalContact getTechnicalContact() { + return technicalContact; + } + + + public void setTechnicalContact(PartnerEndCustomerTechnicalContact technicalContact) { + this.technicalContact = technicalContact; + } + + + public PartnerCustomerCreateRequest billingContact(PartnerEndCustomerBillingContact billingContact) { + + this.billingContact = billingContact; + return this; + } + + /** + * Get billingContact + * @return billingContact + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerBillingContact getBillingContact() { + return billingContact; + } + + + public void setBillingContact(PartnerEndCustomerBillingContact billingContact) { + this.billingContact = billingContact; + } + + + public PartnerCustomerCreateRequest customerSupportInfo(PartnerEndCustomerCustomerSupportInfo customerSupportInfo) { + + this.customerSupportInfo = customerSupportInfo; + return this; + } + + /** + * Get customerSupportInfo + * @return customerSupportInfo + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerCustomerSupportInfo getCustomerSupportInfo() { + return customerSupportInfo; + } + + + public void setCustomerSupportInfo(PartnerEndCustomerCustomerSupportInfo customerSupportInfo) { + this.customerSupportInfo = customerSupportInfo; + } + + + public PartnerCustomerCreateRequest address(PartnerEndCustomerAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public PartnerEndCustomerAddress getAddress() { + return address; + } + + + public void setAddress(PartnerEndCustomerAddress address) { + this.address = address; + } + + + public PartnerCustomerCreateRequest isBankAddendumCompleted(Boolean isBankAddendumCompleted) { + + this.isBankAddendumCompleted = isBankAddendumCompleted; + return this; + } + + /** + * Denotes whether the partner has forwarded the Plaid bank addendum to the end customer. + * @return isBankAddendumCompleted + **/ + @ApiModelProperty(required = true, value = "Denotes whether the partner has forwarded the Plaid bank addendum to the end customer.") + + public Boolean getIsBankAddendumCompleted() { + return isBankAddendumCompleted; + } + + + public void setIsBankAddendumCompleted(Boolean isBankAddendumCompleted) { + this.isBankAddendumCompleted = isBankAddendumCompleted; + } + + + public PartnerCustomerCreateRequest assetsUnderManagement(PartnerEndCustomerAssetsUnderManagement assetsUnderManagement) { + + this.assetsUnderManagement = assetsUnderManagement; + return this; + } + + /** + * Get assetsUnderManagement + * @return assetsUnderManagement + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerAssetsUnderManagement getAssetsUnderManagement() { + return assetsUnderManagement; + } + + + public void setAssetsUnderManagement(PartnerEndCustomerAssetsUnderManagement assetsUnderManagement) { + this.assetsUnderManagement = assetsUnderManagement; + } + + + public PartnerCustomerCreateRequest redirectUris(List redirectUris) { + + this.redirectUris = redirectUris; + return this; + } + + public PartnerCustomerCreateRequest addRedirectUrisItem(String redirectUrisItem) { + if (this.redirectUris == null) { + this.redirectUris = new ArrayList<>(); + } + this.redirectUris.add(redirectUrisItem); + return this; + } + + /** + * A list of URIs indicating the destination(s) where a user can be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or another app. URIs should not contain any query parameters. When used in Production, URIs must use https. To modify redirect URIs for an end customer after creating them, go to the end customer's [API page](https://dashboard.plaid.com/team/api) in the Dashboard. + * @return redirectUris + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of URIs indicating the destination(s) where a user can be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or another app. URIs should not contain any query parameters. When used in Production, URIs must use https. To modify redirect URIs for an end customer after creating them, go to the end customer's [API page](https://dashboard.plaid.com/team/api) in the Dashboard.") + + public List getRedirectUris() { + return redirectUris; + } + + + public void setRedirectUris(List redirectUris) { + this.redirectUris = redirectUris; + } + + + public PartnerCustomerCreateRequest registrationNumber(String registrationNumber) { + + this.registrationNumber = registrationNumber; + return this; + } + + /** + * The unique identifier assigned to a financial institution by regulatory authorities, if applicable. For banks, this is the FDIC Certificate Number. For credit unions, this is the Credit Union Charter Number. + * @return registrationNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unique identifier assigned to a financial institution by regulatory authorities, if applicable. For banks, this is the FDIC Certificate Number. For credit unions, this is the Credit Union Charter Number.") + + public String getRegistrationNumber() { + return registrationNumber; + } + + + public void setRegistrationNumber(String registrationNumber) { + this.registrationNumber = registrationNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerCustomerCreateRequest partnerCustomerCreateRequest = (PartnerCustomerCreateRequest) o; + return Objects.equals(this.clientId, partnerCustomerCreateRequest.clientId) && + Objects.equals(this.secret, partnerCustomerCreateRequest.secret) && + Objects.equals(this.companyName, partnerCustomerCreateRequest.companyName) && + Objects.equals(this.isDiligenceAttested, partnerCustomerCreateRequest.isDiligenceAttested) && + Objects.equals(this.products, partnerCustomerCreateRequest.products) && + Objects.equals(this.createLinkCustomization, partnerCustomerCreateRequest.createLinkCustomization) && + Objects.equals(this.logo, partnerCustomerCreateRequest.logo) && + Objects.equals(this.legalEntityName, partnerCustomerCreateRequest.legalEntityName) && + Objects.equals(this.website, partnerCustomerCreateRequest.website) && + Objects.equals(this.applicationName, partnerCustomerCreateRequest.applicationName) && + Objects.equals(this.technicalContact, partnerCustomerCreateRequest.technicalContact) && + Objects.equals(this.billingContact, partnerCustomerCreateRequest.billingContact) && + Objects.equals(this.customerSupportInfo, partnerCustomerCreateRequest.customerSupportInfo) && + Objects.equals(this.address, partnerCustomerCreateRequest.address) && + Objects.equals(this.isBankAddendumCompleted, partnerCustomerCreateRequest.isBankAddendumCompleted) && + Objects.equals(this.assetsUnderManagement, partnerCustomerCreateRequest.assetsUnderManagement) && + Objects.equals(this.redirectUris, partnerCustomerCreateRequest.redirectUris) && + Objects.equals(this.registrationNumber, partnerCustomerCreateRequest.registrationNumber); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, companyName, isDiligenceAttested, products, createLinkCustomization, logo, legalEntityName, website, applicationName, technicalContact, billingContact, customerSupportInfo, address, isBankAddendumCompleted, assetsUnderManagement, redirectUris, registrationNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerCustomerCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" companyName: ").append(toIndentedString(companyName)).append("\n"); + sb.append(" isDiligenceAttested: ").append(toIndentedString(isDiligenceAttested)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append(" createLinkCustomization: ").append(toIndentedString(createLinkCustomization)).append("\n"); + sb.append(" logo: ").append(toIndentedString(logo)).append("\n"); + sb.append(" legalEntityName: ").append(toIndentedString(legalEntityName)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" applicationName: ").append(toIndentedString(applicationName)).append("\n"); + sb.append(" technicalContact: ").append(toIndentedString(technicalContact)).append("\n"); + sb.append(" billingContact: ").append(toIndentedString(billingContact)).append("\n"); + sb.append(" customerSupportInfo: ").append(toIndentedString(customerSupportInfo)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" isBankAddendumCompleted: ").append(toIndentedString(isBankAddendumCompleted)).append("\n"); + sb.append(" assetsUnderManagement: ").append(toIndentedString(assetsUnderManagement)).append("\n"); + sb.append(" redirectUris: ").append(toIndentedString(redirectUris)).append("\n"); + sb.append(" registrationNumber: ").append(toIndentedString(registrationNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerCustomerCreateResponse.java b/src/main/java/com/plaid/client/model/PartnerCustomerCreateResponse.java new file mode 100644 index 0000000000..1be05f8006 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerCustomerCreateResponse.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerWithSecrets; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Response schema for `/partner/customer/create`. + */ +@ApiModel(description = "Response schema for `/partner/customer/create`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerCustomerCreateResponse { + public static final String SERIALIZED_NAME_END_CUSTOMER = "end_customer"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER) + private PartnerEndCustomerWithSecrets endCustomer; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PartnerCustomerCreateResponse endCustomer(PartnerEndCustomerWithSecrets endCustomer) { + + this.endCustomer = endCustomer; + return this; + } + + /** + * Get endCustomer + * @return endCustomer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerWithSecrets getEndCustomer() { + return endCustomer; + } + + + public void setEndCustomer(PartnerEndCustomerWithSecrets endCustomer) { + this.endCustomer = endCustomer; + } + + + public PartnerCustomerCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerCustomerCreateResponse partnerCustomerCreateResponse = (PartnerCustomerCreateResponse) o; + return Objects.equals(this.endCustomer, partnerCustomerCreateResponse.endCustomer) && + Objects.equals(this.requestId, partnerCustomerCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(endCustomer, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerCustomerCreateResponse {\n"); + sb.append(" endCustomer: ").append(toIndentedString(endCustomer)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerCustomerEnableRequest.java b/src/main/java/com/plaid/client/model/PartnerCustomerEnableRequest.java new file mode 100644 index 0000000000..c9a1d773e8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerCustomerEnableRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request schema for `/partner/customer/enable`. + */ +@ApiModel(description = "Request schema for `/partner/customer/enable`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerCustomerEnableRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID = "end_customer_client_id"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID) + private String endCustomerClientId; + + + public PartnerCustomerEnableRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PartnerCustomerEnableRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PartnerCustomerEnableRequest endCustomerClientId(String endCustomerClientId) { + + this.endCustomerClientId = endCustomerClientId; + return this; + } + + /** + * Get endCustomerClientId + * @return endCustomerClientId + **/ + @ApiModelProperty(required = true, value = "") + + public String getEndCustomerClientId() { + return endCustomerClientId; + } + + + public void setEndCustomerClientId(String endCustomerClientId) { + this.endCustomerClientId = endCustomerClientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerCustomerEnableRequest partnerCustomerEnableRequest = (PartnerCustomerEnableRequest) o; + return Objects.equals(this.clientId, partnerCustomerEnableRequest.clientId) && + Objects.equals(this.secret, partnerCustomerEnableRequest.secret) && + Objects.equals(this.endCustomerClientId, partnerCustomerEnableRequest.endCustomerClientId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, endCustomerClientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerCustomerEnableRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" endCustomerClientId: ").append(toIndentedString(endCustomerClientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerCustomerEnableResponse.java b/src/main/java/com/plaid/client/model/PartnerCustomerEnableResponse.java new file mode 100644 index 0000000000..687d454669 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerCustomerEnableResponse.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Response schema for `/partner/customer/enable`. + */ +@ApiModel(description = "Response schema for `/partner/customer/enable`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerCustomerEnableResponse { + public static final String SERIALIZED_NAME_PRODUCTION_SECRET = "production_secret"; + @SerializedName(SERIALIZED_NAME_PRODUCTION_SECRET) + private String productionSecret; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PartnerCustomerEnableResponse productionSecret(String productionSecret) { + + this.productionSecret = productionSecret; + return this; + } + + /** + * The end customer's secret key for the Production environment. + * @return productionSecret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end customer's secret key for the Production environment.") + + public String getProductionSecret() { + return productionSecret; + } + + + public void setProductionSecret(String productionSecret) { + this.productionSecret = productionSecret; + } + + + public PartnerCustomerEnableResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerCustomerEnableResponse partnerCustomerEnableResponse = (PartnerCustomerEnableResponse) o; + return Objects.equals(this.productionSecret, partnerCustomerEnableResponse.productionSecret) && + Objects.equals(this.requestId, partnerCustomerEnableResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(productionSecret, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerCustomerEnableResponse {\n"); + sb.append(" productionSecret: ").append(toIndentedString(productionSecret)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerCustomerGetRequest.java b/src/main/java/com/plaid/client/model/PartnerCustomerGetRequest.java new file mode 100644 index 0000000000..1fba647a8d --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerCustomerGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request schema for `/partner/customer/get`. + */ +@ApiModel(description = "Request schema for `/partner/customer/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerCustomerGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID = "end_customer_client_id"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID) + private String endCustomerClientId; + + + public PartnerCustomerGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PartnerCustomerGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PartnerCustomerGetRequest endCustomerClientId(String endCustomerClientId) { + + this.endCustomerClientId = endCustomerClientId; + return this; + } + + /** + * Get endCustomerClientId + * @return endCustomerClientId + **/ + @ApiModelProperty(required = true, value = "") + + public String getEndCustomerClientId() { + return endCustomerClientId; + } + + + public void setEndCustomerClientId(String endCustomerClientId) { + this.endCustomerClientId = endCustomerClientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerCustomerGetRequest partnerCustomerGetRequest = (PartnerCustomerGetRequest) o; + return Objects.equals(this.clientId, partnerCustomerGetRequest.clientId) && + Objects.equals(this.secret, partnerCustomerGetRequest.secret) && + Objects.equals(this.endCustomerClientId, partnerCustomerGetRequest.endCustomerClientId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, endCustomerClientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerCustomerGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" endCustomerClientId: ").append(toIndentedString(endCustomerClientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerCustomerGetResponse.java b/src/main/java/com/plaid/client/model/PartnerCustomerGetResponse.java new file mode 100644 index 0000000000..fa646cac5d --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerCustomerGetResponse.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Response schema for `/partner/customer/get`. + */ +@ApiModel(description = "Response schema for `/partner/customer/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerCustomerGetResponse { + public static final String SERIALIZED_NAME_END_CUSTOMER = "end_customer"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER) + private PartnerEndCustomer endCustomer; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PartnerCustomerGetResponse endCustomer(PartnerEndCustomer endCustomer) { + + this.endCustomer = endCustomer; + return this; + } + + /** + * Get endCustomer + * @return endCustomer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomer getEndCustomer() { + return endCustomer; + } + + + public void setEndCustomer(PartnerEndCustomer endCustomer) { + this.endCustomer = endCustomer; + } + + + public PartnerCustomerGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerCustomerGetResponse partnerCustomerGetResponse = (PartnerCustomerGetResponse) o; + return Objects.equals(this.endCustomer, partnerCustomerGetResponse.endCustomer) && + Objects.equals(this.requestId, partnerCustomerGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(endCustomer, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerCustomerGetResponse {\n"); + sb.append(" endCustomer: ").append(toIndentedString(endCustomer)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerCustomerOAuthInstitutionsGetRequest.java b/src/main/java/com/plaid/client/model/PartnerCustomerOAuthInstitutionsGetRequest.java new file mode 100644 index 0000000000..06868e5e27 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerCustomerOAuthInstitutionsGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request schema for `/partner/customer/oauth_institutions/get`. + */ +@ApiModel(description = "Request schema for `/partner/customer/oauth_institutions/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerCustomerOAuthInstitutionsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID = "end_customer_client_id"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID) + private String endCustomerClientId; + + + public PartnerCustomerOAuthInstitutionsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PartnerCustomerOAuthInstitutionsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PartnerCustomerOAuthInstitutionsGetRequest endCustomerClientId(String endCustomerClientId) { + + this.endCustomerClientId = endCustomerClientId; + return this; + } + + /** + * Get endCustomerClientId + * @return endCustomerClientId + **/ + @ApiModelProperty(required = true, value = "") + + public String getEndCustomerClientId() { + return endCustomerClientId; + } + + + public void setEndCustomerClientId(String endCustomerClientId) { + this.endCustomerClientId = endCustomerClientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerCustomerOAuthInstitutionsGetRequest partnerCustomerOAuthInstitutionsGetRequest = (PartnerCustomerOAuthInstitutionsGetRequest) o; + return Objects.equals(this.clientId, partnerCustomerOAuthInstitutionsGetRequest.clientId) && + Objects.equals(this.secret, partnerCustomerOAuthInstitutionsGetRequest.secret) && + Objects.equals(this.endCustomerClientId, partnerCustomerOAuthInstitutionsGetRequest.endCustomerClientId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, endCustomerClientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerCustomerOAuthInstitutionsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" endCustomerClientId: ").append(toIndentedString(endCustomerClientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerCustomerOAuthInstitutionsGetResponse.java b/src/main/java/com/plaid/client/model/PartnerCustomerOAuthInstitutionsGetResponse.java new file mode 100644 index 0000000000..6a202cc278 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerCustomerOAuthInstitutionsGetResponse.java @@ -0,0 +1,199 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerFlowdownStatus; +import com.plaid.client.model.PartnerEndCustomerOAuthInstitution; +import com.plaid.client.model.PartnerEndCustomerQuestionnaireStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Response schema for `/partner/customer/oauth_institutions/get`. + */ +@ApiModel(description = "Response schema for `/partner/customer/oauth_institutions/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerCustomerOAuthInstitutionsGetResponse { + public static final String SERIALIZED_NAME_FLOWDOWN_STATUS = "flowdown_status"; + @SerializedName(SERIALIZED_NAME_FLOWDOWN_STATUS) + private PartnerEndCustomerFlowdownStatus flowdownStatus; + + public static final String SERIALIZED_NAME_QUESTIONNAIRE_STATUS = "questionnaire_status"; + @SerializedName(SERIALIZED_NAME_QUESTIONNAIRE_STATUS) + private PartnerEndCustomerQuestionnaireStatus questionnaireStatus; + + public static final String SERIALIZED_NAME_INSTITUTIONS = "institutions"; + @SerializedName(SERIALIZED_NAME_INSTITUTIONS) + private List institutions = null; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PartnerCustomerOAuthInstitutionsGetResponse flowdownStatus(PartnerEndCustomerFlowdownStatus flowdownStatus) { + + this.flowdownStatus = flowdownStatus; + return this; + } + + /** + * Get flowdownStatus + * @return flowdownStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerFlowdownStatus getFlowdownStatus() { + return flowdownStatus; + } + + + public void setFlowdownStatus(PartnerEndCustomerFlowdownStatus flowdownStatus) { + this.flowdownStatus = flowdownStatus; + } + + + public PartnerCustomerOAuthInstitutionsGetResponse questionnaireStatus(PartnerEndCustomerQuestionnaireStatus questionnaireStatus) { + + this.questionnaireStatus = questionnaireStatus; + return this; + } + + /** + * Get questionnaireStatus + * @return questionnaireStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerQuestionnaireStatus getQuestionnaireStatus() { + return questionnaireStatus; + } + + + public void setQuestionnaireStatus(PartnerEndCustomerQuestionnaireStatus questionnaireStatus) { + this.questionnaireStatus = questionnaireStatus; + } + + + public PartnerCustomerOAuthInstitutionsGetResponse institutions(List institutions) { + + this.institutions = institutions; + return this; + } + + public PartnerCustomerOAuthInstitutionsGetResponse addInstitutionsItem(PartnerEndCustomerOAuthInstitution institutionsItem) { + if (this.institutions == null) { + this.institutions = new ArrayList<>(); + } + this.institutions.add(institutionsItem); + return this; + } + + /** + * The OAuth institutions with which the end customer's application is being registered. + * @return institutions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The OAuth institutions with which the end customer's application is being registered.") + + public List getInstitutions() { + return institutions; + } + + + public void setInstitutions(List institutions) { + this.institutions = institutions; + } + + + public PartnerCustomerOAuthInstitutionsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerCustomerOAuthInstitutionsGetResponse partnerCustomerOAuthInstitutionsGetResponse = (PartnerCustomerOAuthInstitutionsGetResponse) o; + return Objects.equals(this.flowdownStatus, partnerCustomerOAuthInstitutionsGetResponse.flowdownStatus) && + Objects.equals(this.questionnaireStatus, partnerCustomerOAuthInstitutionsGetResponse.questionnaireStatus) && + Objects.equals(this.institutions, partnerCustomerOAuthInstitutionsGetResponse.institutions) && + Objects.equals(this.requestId, partnerCustomerOAuthInstitutionsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(flowdownStatus, questionnaireStatus, institutions, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerCustomerOAuthInstitutionsGetResponse {\n"); + sb.append(" flowdownStatus: ").append(toIndentedString(flowdownStatus)).append("\n"); + sb.append(" questionnaireStatus: ").append(toIndentedString(questionnaireStatus)).append("\n"); + sb.append(" institutions: ").append(toIndentedString(institutions)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerCustomerRemoveRequest.java b/src/main/java/com/plaid/client/model/PartnerCustomerRemoveRequest.java new file mode 100644 index 0000000000..f900185e3a --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerCustomerRemoveRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request schema for `/partner/customer/remove`. + */ +@ApiModel(description = "Request schema for `/partner/customer/remove`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerCustomerRemoveRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID = "end_customer_client_id"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID) + private String endCustomerClientId; + + + public PartnerCustomerRemoveRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PartnerCustomerRemoveRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PartnerCustomerRemoveRequest endCustomerClientId(String endCustomerClientId) { + + this.endCustomerClientId = endCustomerClientId; + return this; + } + + /** + * The `client_id` of the end customer to be removed. + * @return endCustomerClientId + **/ + @ApiModelProperty(required = true, value = "The `client_id` of the end customer to be removed.") + + public String getEndCustomerClientId() { + return endCustomerClientId; + } + + + public void setEndCustomerClientId(String endCustomerClientId) { + this.endCustomerClientId = endCustomerClientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerCustomerRemoveRequest partnerCustomerRemoveRequest = (PartnerCustomerRemoveRequest) o; + return Objects.equals(this.clientId, partnerCustomerRemoveRequest.clientId) && + Objects.equals(this.secret, partnerCustomerRemoveRequest.secret) && + Objects.equals(this.endCustomerClientId, partnerCustomerRemoveRequest.endCustomerClientId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, endCustomerClientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerCustomerRemoveRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" endCustomerClientId: ").append(toIndentedString(endCustomerClientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerCustomerRemoveResponse.java b/src/main/java/com/plaid/client/model/PartnerCustomerRemoveResponse.java new file mode 100644 index 0000000000..ad35f662f0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerCustomerRemoveResponse.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Response schema for `/partner/customer/remove`. + */ +@ApiModel(description = "Response schema for `/partner/customer/remove`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerCustomerRemoveResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PartnerCustomerRemoveResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerCustomerRemoveResponse partnerCustomerRemoveResponse = (PartnerCustomerRemoveResponse) o; + return Objects.equals(this.requestId, partnerCustomerRemoveResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerCustomerRemoveResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomer.java b/src/main/java/com/plaid/client/model/PartnerEndCustomer.java new file mode 100644 index 0000000000..8d4c1fa31a --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomer.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The details for an end customer. + */ +@ApiModel(description = "The details for an end customer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomer { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_COMPANY_NAME = "company_name"; + @SerializedName(SERIALIZED_NAME_COMPANY_NAME) + private String companyName; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PartnerEndCustomerStatus status; + + + public PartnerEndCustomer clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * The `client_id` of the end customer. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `client_id` of the end customer.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PartnerEndCustomer companyName(String companyName) { + + this.companyName = companyName; + return this; + } + + /** + * The company name associated with the end customer. + * @return companyName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The company name associated with the end customer.") + + public String getCompanyName() { + return companyName; + } + + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + + public PartnerEndCustomer status(PartnerEndCustomerStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerStatus getStatus() { + return status; + } + + + public void setStatus(PartnerEndCustomerStatus status) { + this.status = status; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomer partnerEndCustomer = (PartnerEndCustomer) o; + return Objects.equals(this.clientId, partnerEndCustomer.clientId) && + Objects.equals(this.companyName, partnerEndCustomer.companyName) && + Objects.equals(this.status, partnerEndCustomer.status); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, companyName, status); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomer {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" companyName: ").append(toIndentedString(companyName)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerAddress.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerAddress.java new file mode 100644 index 0000000000..106edefebc --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerAddress.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The end customer's address. + */ +@ApiModel(description = "The end customer's address.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerAddress { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY_CODE = "country_code"; + @SerializedName(SERIALIZED_NAME_COUNTRY_CODE) + private String countryCode; + + + public PartnerEndCustomerAddress city(String city) { + + this.city = city; + return this; + } + + /** + * Get city + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public PartnerEndCustomerAddress street(String street) { + + this.street = street; + return this; + } + + /** + * Get street + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public PartnerEndCustomerAddress region(String region) { + + this.region = region; + return this; + } + + /** + * Get region + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public PartnerEndCustomerAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * Get postalCode + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public PartnerEndCustomerAddress countryCode(String countryCode) { + + this.countryCode = countryCode; + return this; + } + + /** + * ISO-3166-1 alpha-2 country code standard. + * @return countryCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "ISO-3166-1 alpha-2 country code standard.") + + public String getCountryCode() { + return countryCode; + } + + + public void setCountryCode(String countryCode) { + this.countryCode = countryCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerAddress partnerEndCustomerAddress = (PartnerEndCustomerAddress) o; + return Objects.equals(this.city, partnerEndCustomerAddress.city) && + Objects.equals(this.street, partnerEndCustomerAddress.street) && + Objects.equals(this.region, partnerEndCustomerAddress.region) && + Objects.equals(this.postalCode, partnerEndCustomerAddress.postalCode) && + Objects.equals(this.countryCode, partnerEndCustomerAddress.countryCode); + } + + @Override + public int hashCode() { + return Objects.hash(city, street, region, postalCode, countryCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerAddress {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" countryCode: ").append(toIndentedString(countryCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerAssetsUnderManagement.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerAssetsUnderManagement.java new file mode 100644 index 0000000000..fd0596337f --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerAssetsUnderManagement.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Assets under management for the given end customer. Required for end customers with monthly service commitments. + */ +@ApiModel(description = "Assets under management for the given end customer. Required for end customers with monthly service commitments.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerAssetsUnderManagement { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + + public PartnerEndCustomerAssetsUnderManagement amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Get amount + * @return amount + **/ + @ApiModelProperty(required = true, value = "") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public PartnerEndCustomerAssetsUnderManagement isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * Get isoCurrencyCode + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerAssetsUnderManagement partnerEndCustomerAssetsUnderManagement = (PartnerEndCustomerAssetsUnderManagement) o; + return Objects.equals(this.amount, partnerEndCustomerAssetsUnderManagement.amount) && + Objects.equals(this.isoCurrencyCode, partnerEndCustomerAssetsUnderManagement.isoCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerAssetsUnderManagement {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerBankAddendumAcceptance.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerBankAddendumAcceptance.java new file mode 100644 index 0000000000..fa96b14606 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerBankAddendumAcceptance.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * The bank addendum acceptance for the end customer. + */ +@ApiModel(description = "The bank addendum acceptance for the end customer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerBankAddendumAcceptance { + public static final String SERIALIZED_NAME_CUSTOMER_ACCEPTED = "customer_accepted"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_ACCEPTED) + private Boolean customerAccepted; + + public static final String SERIALIZED_NAME_CUSTOMER_IP_ADDRESS = "customer_ip_address"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_IP_ADDRESS) + private String customerIpAddress; + + public static final String SERIALIZED_NAME_CUSTOMER_AGREEMENT_TIMESTAMP = "customer_agreement_timestamp"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_AGREEMENT_TIMESTAMP) + private OffsetDateTime customerAgreementTimestamp; + + + public PartnerEndCustomerBankAddendumAcceptance customerAccepted(Boolean customerAccepted) { + + this.customerAccepted = customerAccepted; + return this; + } + + /** + * Denotes whether the end customer has accepted the bank addendum terms. + * @return customerAccepted + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Denotes whether the end customer has accepted the bank addendum terms.") + + public Boolean getCustomerAccepted() { + return customerAccepted; + } + + + public void setCustomerAccepted(Boolean customerAccepted) { + this.customerAccepted = customerAccepted; + } + + + public PartnerEndCustomerBankAddendumAcceptance customerIpAddress(String customerIpAddress) { + + this.customerIpAddress = customerIpAddress; + return this; + } + + /** + * The IP address of the end customer when they accepted the bank addendum. + * @return customerIpAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The IP address of the end customer when they accepted the bank addendum.") + + public String getCustomerIpAddress() { + return customerIpAddress; + } + + + public void setCustomerIpAddress(String customerIpAddress) { + this.customerIpAddress = customerIpAddress; + } + + + public PartnerEndCustomerBankAddendumAcceptance customerAgreementTimestamp(OffsetDateTime customerAgreementTimestamp) { + + this.customerAgreementTimestamp = customerAgreementTimestamp; + return this; + } + + /** + * The timestamp of when the end customer accepted the bank addendum in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`). + * @return customerAgreementTimestamp + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The timestamp of when the end customer accepted the bank addendum in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`).") + + public OffsetDateTime getCustomerAgreementTimestamp() { + return customerAgreementTimestamp; + } + + + public void setCustomerAgreementTimestamp(OffsetDateTime customerAgreementTimestamp) { + this.customerAgreementTimestamp = customerAgreementTimestamp; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerBankAddendumAcceptance partnerEndCustomerBankAddendumAcceptance = (PartnerEndCustomerBankAddendumAcceptance) o; + return Objects.equals(this.customerAccepted, partnerEndCustomerBankAddendumAcceptance.customerAccepted) && + Objects.equals(this.customerIpAddress, partnerEndCustomerBankAddendumAcceptance.customerIpAddress) && + Objects.equals(this.customerAgreementTimestamp, partnerEndCustomerBankAddendumAcceptance.customerAgreementTimestamp); + } + + @Override + public int hashCode() { + return Objects.hash(customerAccepted, customerIpAddress, customerAgreementTimestamp); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerBankAddendumAcceptance {\n"); + sb.append(" customerAccepted: ").append(toIndentedString(customerAccepted)).append("\n"); + sb.append(" customerIpAddress: ").append(toIndentedString(customerIpAddress)).append("\n"); + sb.append(" customerAgreementTimestamp: ").append(toIndentedString(customerAgreementTimestamp)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerBillingContact.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerBillingContact.java new file mode 100644 index 0000000000..5ee3c9b14a --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerBillingContact.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The billing contact for the end customer. Defaults to partner's billing contact if omitted. + */ +@ApiModel(description = "The billing contact for the end customer. Defaults to partner's billing contact if omitted.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerBillingContact { + public static final String SERIALIZED_NAME_GIVEN_NAME = "given_name"; + @SerializedName(SERIALIZED_NAME_GIVEN_NAME) + private String givenName; + + public static final String SERIALIZED_NAME_FAMILY_NAME = "family_name"; + @SerializedName(SERIALIZED_NAME_FAMILY_NAME) + private String familyName; + + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + private String email; + + + public PartnerEndCustomerBillingContact givenName(String givenName) { + + this.givenName = givenName; + return this; + } + + /** + * Get givenName + * @return givenName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getGivenName() { + return givenName; + } + + + public void setGivenName(String givenName) { + this.givenName = givenName; + } + + + public PartnerEndCustomerBillingContact familyName(String familyName) { + + this.familyName = familyName; + return this; + } + + /** + * Get familyName + * @return familyName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getFamilyName() { + return familyName; + } + + + public void setFamilyName(String familyName) { + this.familyName = familyName; + } + + + public PartnerEndCustomerBillingContact email(String email) { + + this.email = email; + return this; + } + + /** + * Get email + * @return email + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getEmail() { + return email; + } + + + public void setEmail(String email) { + this.email = email; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerBillingContact partnerEndCustomerBillingContact = (PartnerEndCustomerBillingContact) o; + return Objects.equals(this.givenName, partnerEndCustomerBillingContact.givenName) && + Objects.equals(this.familyName, partnerEndCustomerBillingContact.familyName) && + Objects.equals(this.email, partnerEndCustomerBillingContact.email); + } + + @Override + public int hashCode() { + return Objects.hash(givenName, familyName, email); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerBillingContact {\n"); + sb.append(" givenName: ").append(toIndentedString(givenName)).append("\n"); + sb.append(" familyName: ").append(toIndentedString(familyName)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerCRAPurposes.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerCRAPurposes.java new file mode 100644 index 0000000000..c0ed84397e --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerCRAPurposes.java @@ -0,0 +1,303 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerCRAUseCases; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A map of permissible purposes to their corresponding use cases. + */ +@ApiModel(description = "A map of permissible purposes to their corresponding use cases.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerCRAPurposes { + public static final String SERIALIZED_NAME_W_R_I_T_T_E_N_I_N_S_T_R_U_C_T_I_O_N = "WRITTEN_INSTRUCTION"; + @SerializedName(SERIALIZED_NAME_W_R_I_T_T_E_N_I_N_S_T_R_U_C_T_I_O_N) + private PartnerEndCustomerCRAUseCases WRITTEN_INSTRUCTION; + + public static final String SERIALIZED_NAME_E_X_T_E_N_S_I_O_N_O_F_C_R_E_D_I_T_O_R_A_C_C_O_U_N_T_R_E_V_I_E_W = "EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW"; + @SerializedName(SERIALIZED_NAME_E_X_T_E_N_S_I_O_N_O_F_C_R_E_D_I_T_O_R_A_C_C_O_U_N_T_R_E_V_I_E_W) + private PartnerEndCustomerCRAUseCases EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW; + + public static final String SERIALIZED_NAME_E_M_P_L_O_Y_M_E_N_T = "EMPLOYMENT"; + @SerializedName(SERIALIZED_NAME_E_M_P_L_O_Y_M_E_N_T) + private PartnerEndCustomerCRAUseCases EMPLOYMENT; + + public static final String SERIALIZED_NAME_I_N_S_U_R_A_N_C_E_U_N_D_E_R_W_R_I_T_I_N_G = "INSURANCE_UNDERWRITING"; + @SerializedName(SERIALIZED_NAME_I_N_S_U_R_A_N_C_E_U_N_D_E_R_W_R_I_T_I_N_G) + private PartnerEndCustomerCRAUseCases INSURANCE_UNDERWRITING; + + public static final String SERIALIZED_NAME_L_I_C_E_N_S_E_E_L_I_G_I_B_I_L_I_T_Y = "LICENSE_ELIGIBILITY"; + @SerializedName(SERIALIZED_NAME_L_I_C_E_N_S_E_E_L_I_G_I_B_I_L_I_T_Y) + private PartnerEndCustomerCRAUseCases LICENSE_ELIGIBILITY; + + public static final String SERIALIZED_NAME_R_I_S_K_A_S_S_E_S_S_M_E_N_T = "RISK_ASSESSMENT"; + @SerializedName(SERIALIZED_NAME_R_I_S_K_A_S_S_E_S_S_M_E_N_T) + private PartnerEndCustomerCRAUseCases RISK_ASSESSMENT; + + public static final String SERIALIZED_NAME_B_U_S_I_N_E_S_S_N_E_E_D_T_R_A_N_S_A_C_T_I_O_N = "BUSINESS_NEED_TRANSACTION"; + @SerializedName(SERIALIZED_NAME_B_U_S_I_N_E_S_S_N_E_E_D_T_R_A_N_S_A_C_T_I_O_N) + private PartnerEndCustomerCRAUseCases BUSINESS_NEED_TRANSACTION; + + public static final String SERIALIZED_NAME_B_U_S_I_N_E_S_S_N_E_E_D_A_C_C_O_U_N_T_R_E_V_I_E_W = "BUSINESS_NEED_ACCOUNT_REVIEW"; + @SerializedName(SERIALIZED_NAME_B_U_S_I_N_E_S_S_N_E_E_D_A_C_C_O_U_N_T_R_E_V_I_E_W) + private PartnerEndCustomerCRAUseCases BUSINESS_NEED_ACCOUNT_REVIEW; + + + public PartnerEndCustomerCRAPurposes WRITTEN_INSTRUCTION(PartnerEndCustomerCRAUseCases WRITTEN_INSTRUCTION) { + + this.WRITTEN_INSTRUCTION = WRITTEN_INSTRUCTION; + return this; + } + + /** + * Get WRITTEN_INSTRUCTION + * @return WRITTEN_INSTRUCTION + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerCRAUseCases getWRITTENINSTRUCTION() { + return WRITTEN_INSTRUCTION; + } + + + public void setWRITTENINSTRUCTION(PartnerEndCustomerCRAUseCases WRITTEN_INSTRUCTION) { + this.WRITTEN_INSTRUCTION = WRITTEN_INSTRUCTION; + } + + + public PartnerEndCustomerCRAPurposes EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW(PartnerEndCustomerCRAUseCases EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW) { + + this.EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW = EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW; + return this; + } + + /** + * Get EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW + * @return EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerCRAUseCases getEXTENSIONOFCREDITORACCOUNTREVIEW() { + return EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW; + } + + + public void setEXTENSIONOFCREDITORACCOUNTREVIEW(PartnerEndCustomerCRAUseCases EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW) { + this.EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW = EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW; + } + + + public PartnerEndCustomerCRAPurposes EMPLOYMENT(PartnerEndCustomerCRAUseCases EMPLOYMENT) { + + this.EMPLOYMENT = EMPLOYMENT; + return this; + } + + /** + * Get EMPLOYMENT + * @return EMPLOYMENT + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerCRAUseCases getEMPLOYMENT() { + return EMPLOYMENT; + } + + + public void setEMPLOYMENT(PartnerEndCustomerCRAUseCases EMPLOYMENT) { + this.EMPLOYMENT = EMPLOYMENT; + } + + + public PartnerEndCustomerCRAPurposes INSURANCE_UNDERWRITING(PartnerEndCustomerCRAUseCases INSURANCE_UNDERWRITING) { + + this.INSURANCE_UNDERWRITING = INSURANCE_UNDERWRITING; + return this; + } + + /** + * Get INSURANCE_UNDERWRITING + * @return INSURANCE_UNDERWRITING + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerCRAUseCases getINSURANCEUNDERWRITING() { + return INSURANCE_UNDERWRITING; + } + + + public void setINSURANCEUNDERWRITING(PartnerEndCustomerCRAUseCases INSURANCE_UNDERWRITING) { + this.INSURANCE_UNDERWRITING = INSURANCE_UNDERWRITING; + } + + + public PartnerEndCustomerCRAPurposes LICENSE_ELIGIBILITY(PartnerEndCustomerCRAUseCases LICENSE_ELIGIBILITY) { + + this.LICENSE_ELIGIBILITY = LICENSE_ELIGIBILITY; + return this; + } + + /** + * Get LICENSE_ELIGIBILITY + * @return LICENSE_ELIGIBILITY + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerCRAUseCases getLICENSEELIGIBILITY() { + return LICENSE_ELIGIBILITY; + } + + + public void setLICENSEELIGIBILITY(PartnerEndCustomerCRAUseCases LICENSE_ELIGIBILITY) { + this.LICENSE_ELIGIBILITY = LICENSE_ELIGIBILITY; + } + + + public PartnerEndCustomerCRAPurposes RISK_ASSESSMENT(PartnerEndCustomerCRAUseCases RISK_ASSESSMENT) { + + this.RISK_ASSESSMENT = RISK_ASSESSMENT; + return this; + } + + /** + * Get RISK_ASSESSMENT + * @return RISK_ASSESSMENT + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerCRAUseCases getRISKASSESSMENT() { + return RISK_ASSESSMENT; + } + + + public void setRISKASSESSMENT(PartnerEndCustomerCRAUseCases RISK_ASSESSMENT) { + this.RISK_ASSESSMENT = RISK_ASSESSMENT; + } + + + public PartnerEndCustomerCRAPurposes BUSINESS_NEED_TRANSACTION(PartnerEndCustomerCRAUseCases BUSINESS_NEED_TRANSACTION) { + + this.BUSINESS_NEED_TRANSACTION = BUSINESS_NEED_TRANSACTION; + return this; + } + + /** + * Get BUSINESS_NEED_TRANSACTION + * @return BUSINESS_NEED_TRANSACTION + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerCRAUseCases getBUSINESSNEEDTRANSACTION() { + return BUSINESS_NEED_TRANSACTION; + } + + + public void setBUSINESSNEEDTRANSACTION(PartnerEndCustomerCRAUseCases BUSINESS_NEED_TRANSACTION) { + this.BUSINESS_NEED_TRANSACTION = BUSINESS_NEED_TRANSACTION; + } + + + public PartnerEndCustomerCRAPurposes BUSINESS_NEED_ACCOUNT_REVIEW(PartnerEndCustomerCRAUseCases BUSINESS_NEED_ACCOUNT_REVIEW) { + + this.BUSINESS_NEED_ACCOUNT_REVIEW = BUSINESS_NEED_ACCOUNT_REVIEW; + return this; + } + + /** + * Get BUSINESS_NEED_ACCOUNT_REVIEW + * @return BUSINESS_NEED_ACCOUNT_REVIEW + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerCRAUseCases getBUSINESSNEEDACCOUNTREVIEW() { + return BUSINESS_NEED_ACCOUNT_REVIEW; + } + + + public void setBUSINESSNEEDACCOUNTREVIEW(PartnerEndCustomerCRAUseCases BUSINESS_NEED_ACCOUNT_REVIEW) { + this.BUSINESS_NEED_ACCOUNT_REVIEW = BUSINESS_NEED_ACCOUNT_REVIEW; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerCRAPurposes partnerEndCustomerCRAPurposes = (PartnerEndCustomerCRAPurposes) o; + return Objects.equals(this.WRITTEN_INSTRUCTION, partnerEndCustomerCRAPurposes.WRITTEN_INSTRUCTION) && + Objects.equals(this.EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW, partnerEndCustomerCRAPurposes.EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW) && + Objects.equals(this.EMPLOYMENT, partnerEndCustomerCRAPurposes.EMPLOYMENT) && + Objects.equals(this.INSURANCE_UNDERWRITING, partnerEndCustomerCRAPurposes.INSURANCE_UNDERWRITING) && + Objects.equals(this.LICENSE_ELIGIBILITY, partnerEndCustomerCRAPurposes.LICENSE_ELIGIBILITY) && + Objects.equals(this.RISK_ASSESSMENT, partnerEndCustomerCRAPurposes.RISK_ASSESSMENT) && + Objects.equals(this.BUSINESS_NEED_TRANSACTION, partnerEndCustomerCRAPurposes.BUSINESS_NEED_TRANSACTION) && + Objects.equals(this.BUSINESS_NEED_ACCOUNT_REVIEW, partnerEndCustomerCRAPurposes.BUSINESS_NEED_ACCOUNT_REVIEW); + } + + @Override + public int hashCode() { + return Objects.hash(WRITTEN_INSTRUCTION, EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW, EMPLOYMENT, INSURANCE_UNDERWRITING, LICENSE_ELIGIBILITY, RISK_ASSESSMENT, BUSINESS_NEED_TRANSACTION, BUSINESS_NEED_ACCOUNT_REVIEW); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerCRAPurposes {\n"); + sb.append(" WRITTEN_INSTRUCTION: ").append(toIndentedString(WRITTEN_INSTRUCTION)).append("\n"); + sb.append(" EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW: ").append(toIndentedString(EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW)).append("\n"); + sb.append(" EMPLOYMENT: ").append(toIndentedString(EMPLOYMENT)).append("\n"); + sb.append(" INSURANCE_UNDERWRITING: ").append(toIndentedString(INSURANCE_UNDERWRITING)).append("\n"); + sb.append(" LICENSE_ELIGIBILITY: ").append(toIndentedString(LICENSE_ELIGIBILITY)).append("\n"); + sb.append(" RISK_ASSESSMENT: ").append(toIndentedString(RISK_ASSESSMENT)).append("\n"); + sb.append(" BUSINESS_NEED_TRANSACTION: ").append(toIndentedString(BUSINESS_NEED_TRANSACTION)).append("\n"); + sb.append(" BUSINESS_NEED_ACCOUNT_REVIEW: ").append(toIndentedString(BUSINESS_NEED_ACCOUNT_REVIEW)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerCRAQuestionnaire.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerCRAQuestionnaire.java new file mode 100644 index 0000000000..437c22d9e8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerCRAQuestionnaire.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerCRAPurposes; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The CRA questionnaire for the end customer. + */ +@ApiModel(description = "The CRA questionnaire for the end customer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerCRAQuestionnaire { + public static final String SERIALIZED_NAME_PURPOSES = "purposes"; + @SerializedName(SERIALIZED_NAME_PURPOSES) + private PartnerEndCustomerCRAPurposes purposes; + + public static final String SERIALIZED_NAME_IS_THIRD_PARTY_INVOLVED = "is_third_party_involved"; + @SerializedName(SERIALIZED_NAME_IS_THIRD_PARTY_INVOLVED) + private Boolean isThirdPartyInvolved; + + public static final String SERIALIZED_NAME_IS_TECHNICAL_SERVICE_PROVIDER_INVOLVED = "is_technical_service_provider_involved"; + @SerializedName(SERIALIZED_NAME_IS_TECHNICAL_SERVICE_PROVIDER_INVOLVED) + private Boolean isTechnicalServiceProviderInvolved; + + + public PartnerEndCustomerCRAQuestionnaire purposes(PartnerEndCustomerCRAPurposes purposes) { + + this.purposes = purposes; + return this; + } + + /** + * Get purposes + * @return purposes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerCRAPurposes getPurposes() { + return purposes; + } + + + public void setPurposes(PartnerEndCustomerCRAPurposes purposes) { + this.purposes = purposes; + } + + + public PartnerEndCustomerCRAQuestionnaire isThirdPartyInvolved(Boolean isThirdPartyInvolved) { + + this.isThirdPartyInvolved = isThirdPartyInvolved; + return this; + } + + /** + * Denotes whether the third party is involved. + * @return isThirdPartyInvolved + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Denotes whether the third party is involved.") + + public Boolean getIsThirdPartyInvolved() { + return isThirdPartyInvolved; + } + + + public void setIsThirdPartyInvolved(Boolean isThirdPartyInvolved) { + this.isThirdPartyInvolved = isThirdPartyInvolved; + } + + + public PartnerEndCustomerCRAQuestionnaire isTechnicalServiceProviderInvolved(Boolean isTechnicalServiceProviderInvolved) { + + this.isTechnicalServiceProviderInvolved = isTechnicalServiceProviderInvolved; + return this; + } + + /** + * Denotes whether the technical service provider is involved. + * @return isTechnicalServiceProviderInvolved + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Denotes whether the technical service provider is involved.") + + public Boolean getIsTechnicalServiceProviderInvolved() { + return isTechnicalServiceProviderInvolved; + } + + + public void setIsTechnicalServiceProviderInvolved(Boolean isTechnicalServiceProviderInvolved) { + this.isTechnicalServiceProviderInvolved = isTechnicalServiceProviderInvolved; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerCRAQuestionnaire partnerEndCustomerCRAQuestionnaire = (PartnerEndCustomerCRAQuestionnaire) o; + return Objects.equals(this.purposes, partnerEndCustomerCRAQuestionnaire.purposes) && + Objects.equals(this.isThirdPartyInvolved, partnerEndCustomerCRAQuestionnaire.isThirdPartyInvolved) && + Objects.equals(this.isTechnicalServiceProviderInvolved, partnerEndCustomerCRAQuestionnaire.isTechnicalServiceProviderInvolved); + } + + @Override + public int hashCode() { + return Objects.hash(purposes, isThirdPartyInvolved, isTechnicalServiceProviderInvolved); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerCRAQuestionnaire {\n"); + sb.append(" purposes: ").append(toIndentedString(purposes)).append("\n"); + sb.append(" isThirdPartyInvolved: ").append(toIndentedString(isThirdPartyInvolved)).append("\n"); + sb.append(" isTechnicalServiceProviderInvolved: ").append(toIndentedString(isTechnicalServiceProviderInvolved)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerCRAUseCase.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerCRAUseCase.java new file mode 100644 index 0000000000..54beb5ee92 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerCRAUseCase.java @@ -0,0 +1,89 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A CRA use case under a permissible purpose. + */ +@JsonAdapter(PartnerEndCustomerCRAUseCase.Adapter.class) +public enum PartnerEndCustomerCRAUseCase { + + CREDIT_UNDERWRITING("CREDIT_UNDERWRITING"), + + TENANT_SCREENING("TENANT_SCREENING"), + + INVESTOR_OR_SERVICER_OF_CREDIT("INVESTOR_OR_SERVICER_OF_CREDIT"), + + UTILITIES("UTILITIES"), + + BANK_ACCOUNT_OPENING("BANK_ACCOUNT_OPENING"), + + IDENTITY_VERIFICATION_FRAUD_PREVENTION("IDENTITY_VERIFICATION_FRAUD_PREVENTION"), + + COLLECTIONS_DEBT_RECOVERY("COLLECTIONS_DEBT_RECOVERY"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PartnerEndCustomerCRAUseCase(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PartnerEndCustomerCRAUseCase fromValue(String value) { + for (PartnerEndCustomerCRAUseCase b : PartnerEndCustomerCRAUseCase.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PartnerEndCustomerCRAUseCase.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PartnerEndCustomerCRAUseCase enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PartnerEndCustomerCRAUseCase read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PartnerEndCustomerCRAUseCase.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerCRAUseCases.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerCRAUseCases.java new file mode 100644 index 0000000000..4c6c066ceb --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerCRAUseCases.java @@ -0,0 +1,110 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerCRAUseCase; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The list of use cases associated with a given permissible purpose. + */ +@ApiModel(description = "The list of use cases associated with a given permissible purpose.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerCRAUseCases { + public static final String SERIALIZED_NAME_USE_CASES = "use_cases"; + @SerializedName(SERIALIZED_NAME_USE_CASES) + private List useCases = null; + + + public PartnerEndCustomerCRAUseCases useCases(List useCases) { + + this.useCases = useCases; + return this; + } + + public PartnerEndCustomerCRAUseCases addUseCasesItem(PartnerEndCustomerCRAUseCase useCasesItem) { + if (this.useCases == null) { + this.useCases = new ArrayList<>(); + } + this.useCases.add(useCasesItem); + return this; + } + + /** + * List of use cases for the given permissible purpose. + * @return useCases + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of use cases for the given permissible purpose.") + + public List getUseCases() { + return useCases; + } + + + public void setUseCases(List useCases) { + this.useCases = useCases; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerCRAUseCases partnerEndCustomerCRAUseCases = (PartnerEndCustomerCRAUseCases) o; + return Objects.equals(this.useCases, partnerEndCustomerCRAUseCases.useCases); + } + + @Override + public int hashCode() { + return Objects.hash(useCases); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerCRAUseCases {\n"); + sb.append(" useCases: ").append(toIndentedString(useCases)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerCustomerSupportInfo.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerCustomerSupportInfo.java new file mode 100644 index 0000000000..f3e3232c92 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerCustomerSupportInfo.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * This information is public. Users of your app will see this information when managing connections between your app and their bank accounts in Plaid Portal. Defaults to partner's customer support info if omitted. This field is mandatory for partners whose Plaid accounts were created after November 26, 2024 and will be mandatory for all partners by the 1033 compliance deadline. + */ +@ApiModel(description = "This information is public. Users of your app will see this information when managing connections between your app and their bank accounts in Plaid Portal. Defaults to partner's customer support info if omitted. This field is mandatory for partners whose Plaid accounts were created after November 26, 2024 and will be mandatory for all partners by the 1033 compliance deadline.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerCustomerSupportInfo { + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + private String email; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_CONTACT_URL = "contact_url"; + @SerializedName(SERIALIZED_NAME_CONTACT_URL) + private String contactUrl; + + public static final String SERIALIZED_NAME_LINK_UPDATE_URL = "link_update_url"; + @SerializedName(SERIALIZED_NAME_LINK_UPDATE_URL) + private String linkUpdateUrl; + + + public PartnerEndCustomerCustomerSupportInfo email(String email) { + + this.email = email; + return this; + } + + /** + * This field is mandatory for partners whose Plaid accounts were created after November 26, 2024 and will be mandatory for all partners by the 1033 compliance deadline. + * @return email + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "This field is mandatory for partners whose Plaid accounts were created after November 26, 2024 and will be mandatory for all partners by the 1033 compliance deadline.") + + public String getEmail() { + return email; + } + + + public void setEmail(String email) { + this.email = email; + } + + + public PartnerEndCustomerCustomerSupportInfo phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * Get phoneNumber + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public PartnerEndCustomerCustomerSupportInfo contactUrl(String contactUrl) { + + this.contactUrl = contactUrl; + return this; + } + + /** + * Get contactUrl + * @return contactUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getContactUrl() { + return contactUrl; + } + + + public void setContactUrl(String contactUrl) { + this.contactUrl = contactUrl; + } + + + public PartnerEndCustomerCustomerSupportInfo linkUpdateUrl(String linkUpdateUrl) { + + this.linkUpdateUrl = linkUpdateUrl; + return this; + } + + /** + * Get linkUpdateUrl + * @return linkUpdateUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getLinkUpdateUrl() { + return linkUpdateUrl; + } + + + public void setLinkUpdateUrl(String linkUpdateUrl) { + this.linkUpdateUrl = linkUpdateUrl; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerCustomerSupportInfo partnerEndCustomerCustomerSupportInfo = (PartnerEndCustomerCustomerSupportInfo) o; + return Objects.equals(this.email, partnerEndCustomerCustomerSupportInfo.email) && + Objects.equals(this.phoneNumber, partnerEndCustomerCustomerSupportInfo.phoneNumber) && + Objects.equals(this.contactUrl, partnerEndCustomerCustomerSupportInfo.contactUrl) && + Objects.equals(this.linkUpdateUrl, partnerEndCustomerCustomerSupportInfo.linkUpdateUrl); + } + + @Override + public int hashCode() { + return Objects.hash(email, phoneNumber, contactUrl, linkUpdateUrl); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerCustomerSupportInfo {\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" contactUrl: ").append(toIndentedString(contactUrl)).append("\n"); + sb.append(" linkUpdateUrl: ").append(toIndentedString(linkUpdateUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerFlowdownStatus.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerFlowdownStatus.java new file mode 100644 index 0000000000..2e504aff1e --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerFlowdownStatus.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the addendum to the Plaid MSA (\"flowdown\") for the end customer. + */ +@JsonAdapter(PartnerEndCustomerFlowdownStatus.Adapter.class) +public enum PartnerEndCustomerFlowdownStatus { + + NOT_STARTED("NOT_STARTED"), + + IN_REVIEW("IN_REVIEW"), + + NEGOTIATION("NEGOTIATION"), + + COMPLETE("COMPLETE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PartnerEndCustomerFlowdownStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PartnerEndCustomerFlowdownStatus fromValue(String value) { + for (PartnerEndCustomerFlowdownStatus b : PartnerEndCustomerFlowdownStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PartnerEndCustomerFlowdownStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PartnerEndCustomerFlowdownStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PartnerEndCustomerFlowdownStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PartnerEndCustomerFlowdownStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthInstitution.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthInstitution.java new file mode 100644 index 0000000000..77e14f859f --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthInstitution.java @@ -0,0 +1,256 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerOAuthInstitutionEnvironments; +import com.plaid.client.model.PlaidError; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The OAuth registration information for an institution. + */ +@ApiModel(description = "The OAuth registration information for an institution.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerOAuthInstitution { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_ENVIRONMENTS = "environments"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENTS) + private PartnerEndCustomerOAuthInstitutionEnvironments environments; + + public static final String SERIALIZED_NAME_PRODUCTION_ENABLEMENT_DATE = "production_enablement_date"; + @SerializedName(SERIALIZED_NAME_PRODUCTION_ENABLEMENT_DATE) + private String productionEnablementDate; + + public static final String SERIALIZED_NAME_CLASSIC_DISABLEMENT_DATE = "classic_disablement_date"; + @SerializedName(SERIALIZED_NAME_CLASSIC_DISABLEMENT_DATE) + private String classicDisablementDate; + + public static final String SERIALIZED_NAME_ERRORS = "errors"; + @SerializedName(SERIALIZED_NAME_ERRORS) + private List errors = null; + + + public PartnerEndCustomerOAuthInstitution name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public PartnerEndCustomerOAuthInstitution institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * Get institutionId + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public PartnerEndCustomerOAuthInstitution environments(PartnerEndCustomerOAuthInstitutionEnvironments environments) { + + this.environments = environments; + return this; + } + + /** + * Get environments + * @return environments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerOAuthInstitutionEnvironments getEnvironments() { + return environments; + } + + + public void setEnvironments(PartnerEndCustomerOAuthInstitutionEnvironments environments) { + this.environments = environments; + } + + + public PartnerEndCustomerOAuthInstitution productionEnablementDate(String productionEnablementDate) { + + this.productionEnablementDate = productionEnablementDate; + return this; + } + + /** + * The date on which the end customer's application was approved by the institution, or an empty string if their application has not yet been approved. + * @return productionEnablementDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date on which the end customer's application was approved by the institution, or an empty string if their application has not yet been approved.") + + public String getProductionEnablementDate() { + return productionEnablementDate; + } + + + public void setProductionEnablementDate(String productionEnablementDate) { + this.productionEnablementDate = productionEnablementDate; + } + + + public PartnerEndCustomerOAuthInstitution classicDisablementDate(String classicDisablementDate) { + + this.classicDisablementDate = classicDisablementDate; + return this; + } + + /** + * The date on which non-OAuth Item adds will no longer be supported for this institution, or an empty string if no such date has been set by the institution. + * @return classicDisablementDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date on which non-OAuth Item adds will no longer be supported for this institution, or an empty string if no such date has been set by the institution.") + + public String getClassicDisablementDate() { + return classicDisablementDate; + } + + + public void setClassicDisablementDate(String classicDisablementDate) { + this.classicDisablementDate = classicDisablementDate; + } + + + public PartnerEndCustomerOAuthInstitution errors(List errors) { + + this.errors = errors; + return this; + } + + public PartnerEndCustomerOAuthInstitution addErrorsItem(PlaidError errorsItem) { + if (this.errors == null) { + this.errors = new ArrayList<>(); + } + this.errors.add(errorsItem); + return this; + } + + /** + * The errors encountered while registering the end customer's application with the institutions. + * @return errors + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The errors encountered while registering the end customer's application with the institutions.") + + public List getErrors() { + return errors; + } + + + public void setErrors(List errors) { + this.errors = errors; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerOAuthInstitution partnerEndCustomerOAuthInstitution = (PartnerEndCustomerOAuthInstitution) o; + return Objects.equals(this.name, partnerEndCustomerOAuthInstitution.name) && + Objects.equals(this.institutionId, partnerEndCustomerOAuthInstitution.institutionId) && + Objects.equals(this.environments, partnerEndCustomerOAuthInstitution.environments) && + Objects.equals(this.productionEnablementDate, partnerEndCustomerOAuthInstitution.productionEnablementDate) && + Objects.equals(this.classicDisablementDate, partnerEndCustomerOAuthInstitution.classicDisablementDate) && + Objects.equals(this.errors, partnerEndCustomerOAuthInstitution.errors); + } + + @Override + public int hashCode() { + return Objects.hash(name, institutionId, environments, productionEnablementDate, classicDisablementDate, errors); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerOAuthInstitution {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" environments: ").append(toIndentedString(environments)).append("\n"); + sb.append(" productionEnablementDate: ").append(toIndentedString(productionEnablementDate)).append("\n"); + sb.append(" classicDisablementDate: ").append(toIndentedString(classicDisablementDate)).append("\n"); + sb.append(" errors: ").append(toIndentedString(errors)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthInstitutionApplicationStatus.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthInstitutionApplicationStatus.java new file mode 100644 index 0000000000..ad0e23b252 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthInstitutionApplicationStatus.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The registration status for the end customer's application. + */ +@JsonAdapter(PartnerEndCustomerOAuthInstitutionApplicationStatus.Adapter.class) +public enum PartnerEndCustomerOAuthInstitutionApplicationStatus { + + NOT_STARTED("NOT_STARTED"), + + PROCESSING("PROCESSING"), + + APPROVED("APPROVED"), + + ENABLED("ENABLED"), + + ATTENTION_REQUIRED("ATTENTION_REQUIRED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PartnerEndCustomerOAuthInstitutionApplicationStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PartnerEndCustomerOAuthInstitutionApplicationStatus fromValue(String value) { + for (PartnerEndCustomerOAuthInstitutionApplicationStatus b : PartnerEndCustomerOAuthInstitutionApplicationStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PartnerEndCustomerOAuthInstitutionApplicationStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PartnerEndCustomerOAuthInstitutionApplicationStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PartnerEndCustomerOAuthInstitutionApplicationStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PartnerEndCustomerOAuthInstitutionApplicationStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthInstitutionEnvironments.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthInstitutionEnvironments.java new file mode 100644 index 0000000000..9b7e1a6538 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthInstitutionEnvironments.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerOAuthInstitutionApplicationStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Registration statuses by environment. + */ +@ApiModel(description = "Registration statuses by environment.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerOAuthInstitutionEnvironments { + public static final String SERIALIZED_NAME_DEVELOPMENT = "development"; + @SerializedName(SERIALIZED_NAME_DEVELOPMENT) + private PartnerEndCustomerOAuthInstitutionApplicationStatus development; + + public static final String SERIALIZED_NAME_PRODUCTION = "production"; + @SerializedName(SERIALIZED_NAME_PRODUCTION) + private PartnerEndCustomerOAuthInstitutionApplicationStatus production; + + + public PartnerEndCustomerOAuthInstitutionEnvironments development(PartnerEndCustomerOAuthInstitutionApplicationStatus development) { + + this.development = development; + return this; + } + + /** + * Get development + * @return development + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerOAuthInstitutionApplicationStatus getDevelopment() { + return development; + } + + + public void setDevelopment(PartnerEndCustomerOAuthInstitutionApplicationStatus development) { + this.development = development; + } + + + public PartnerEndCustomerOAuthInstitutionEnvironments production(PartnerEndCustomerOAuthInstitutionApplicationStatus production) { + + this.production = production; + return this; + } + + /** + * Get production + * @return production + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerOAuthInstitutionApplicationStatus getProduction() { + return production; + } + + + public void setProduction(PartnerEndCustomerOAuthInstitutionApplicationStatus production) { + this.production = production; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerOAuthInstitutionEnvironments partnerEndCustomerOAuthInstitutionEnvironments = (PartnerEndCustomerOAuthInstitutionEnvironments) o; + return Objects.equals(this.development, partnerEndCustomerOAuthInstitutionEnvironments.development) && + Objects.equals(this.production, partnerEndCustomerOAuthInstitutionEnvironments.production); + } + + @Override + public int hashCode() { + return Objects.hash(development, production); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerOAuthInstitutionEnvironments {\n"); + sb.append(" development: ").append(toIndentedString(development)).append("\n"); + sb.append(" production: ").append(toIndentedString(production)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthStatusUpdatedValues.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthStatusUpdatedValues.java new file mode 100644 index 0000000000..3d1cbf15ed --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthStatusUpdatedValues.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The OAuth status of the update + */ +@JsonAdapter(PartnerEndCustomerOAuthStatusUpdatedValues.Adapter.class) +public enum PartnerEndCustomerOAuthStatusUpdatedValues { + + NOT_STARTED("not-started"), + + PROCESSING("processing"), + + APPROVED("approved"), + + ENABLED("enabled"), + + ATTENTION_REQUIRED("attention-required"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PartnerEndCustomerOAuthStatusUpdatedValues(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PartnerEndCustomerOAuthStatusUpdatedValues fromValue(String value) { + for (PartnerEndCustomerOAuthStatusUpdatedValues b : PartnerEndCustomerOAuthStatusUpdatedValues.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PartnerEndCustomerOAuthStatusUpdatedValues.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PartnerEndCustomerOAuthStatusUpdatedValues enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PartnerEndCustomerOAuthStatusUpdatedValues read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PartnerEndCustomerOAuthStatusUpdatedValues.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthStatusUpdatedWebhook.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthStatusUpdatedWebhook.java new file mode 100644 index 0000000000..0fecdad520 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerOAuthStatusUpdatedWebhook.java @@ -0,0 +1,268 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerOAuthStatusUpdatedValues; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The webhook of type `PARTNER` and code `END_CUSTOMER_OAUTH_STATUS_UPDATED` will be fired when a partner's end customer has an update on their OAuth registration status with an institution. + */ +@ApiModel(description = "The webhook of type `PARTNER` and code `END_CUSTOMER_OAUTH_STATUS_UPDATED` will be fired when a partner's end customer has an update on their OAuth registration status with an institution.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerOAuthStatusUpdatedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID = "end_customer_client_id"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER_CLIENT_ID) + private String endCustomerClientId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PartnerEndCustomerOAuthStatusUpdatedValues status; + + + public PartnerEndCustomerOAuthStatusUpdatedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `PARTNER` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`PARTNER`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public PartnerEndCustomerOAuthStatusUpdatedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `END_CUSTOMER_OAUTH_STATUS_UPDATED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`END_CUSTOMER_OAUTH_STATUS_UPDATED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public PartnerEndCustomerOAuthStatusUpdatedWebhook endCustomerClientId(String endCustomerClientId) { + + this.endCustomerClientId = endCustomerClientId; + return this; + } + + /** + * The client ID of the end customer + * @return endCustomerClientId + **/ + @ApiModelProperty(required = true, value = "The client ID of the end customer") + + public String getEndCustomerClientId() { + return endCustomerClientId; + } + + + public void setEndCustomerClientId(String endCustomerClientId) { + this.endCustomerClientId = endCustomerClientId; + } + + + public PartnerEndCustomerOAuthStatusUpdatedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + public PartnerEndCustomerOAuthStatusUpdatedWebhook institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The institution ID + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The institution ID") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public PartnerEndCustomerOAuthStatusUpdatedWebhook institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The institution name + * @return institutionName + **/ + @ApiModelProperty(required = true, value = "The institution name") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public PartnerEndCustomerOAuthStatusUpdatedWebhook status(PartnerEndCustomerOAuthStatusUpdatedValues status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public PartnerEndCustomerOAuthStatusUpdatedValues getStatus() { + return status; + } + + + public void setStatus(PartnerEndCustomerOAuthStatusUpdatedValues status) { + this.status = status; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerOAuthStatusUpdatedWebhook partnerEndCustomerOAuthStatusUpdatedWebhook = (PartnerEndCustomerOAuthStatusUpdatedWebhook) o; + return Objects.equals(this.webhookType, partnerEndCustomerOAuthStatusUpdatedWebhook.webhookType) && + Objects.equals(this.webhookCode, partnerEndCustomerOAuthStatusUpdatedWebhook.webhookCode) && + Objects.equals(this.endCustomerClientId, partnerEndCustomerOAuthStatusUpdatedWebhook.endCustomerClientId) && + Objects.equals(this.environment, partnerEndCustomerOAuthStatusUpdatedWebhook.environment) && + Objects.equals(this.institutionId, partnerEndCustomerOAuthStatusUpdatedWebhook.institutionId) && + Objects.equals(this.institutionName, partnerEndCustomerOAuthStatusUpdatedWebhook.institutionName) && + Objects.equals(this.status, partnerEndCustomerOAuthStatusUpdatedWebhook.status); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, endCustomerClientId, environment, institutionId, institutionName, status); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerOAuthStatusUpdatedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" endCustomerClientId: ").append(toIndentedString(endCustomerClientId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerQuestionnaireStatus.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerQuestionnaireStatus.java new file mode 100644 index 0000000000..4bddba8cf9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerQuestionnaireStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the end customer's security questionnaire. + */ +@JsonAdapter(PartnerEndCustomerQuestionnaireStatus.Adapter.class) +public enum PartnerEndCustomerQuestionnaireStatus { + + NOT_STARTED("NOT_STARTED"), + + RECEIVED("RECEIVED"), + + COMPLETE("COMPLETE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PartnerEndCustomerQuestionnaireStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PartnerEndCustomerQuestionnaireStatus fromValue(String value) { + for (PartnerEndCustomerQuestionnaireStatus b : PartnerEndCustomerQuestionnaireStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PartnerEndCustomerQuestionnaireStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PartnerEndCustomerQuestionnaireStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PartnerEndCustomerQuestionnaireStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PartnerEndCustomerQuestionnaireStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerQuestionnaires.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerQuestionnaires.java new file mode 100644 index 0000000000..6157909c57 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerQuestionnaires.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerCRAQuestionnaire; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The questionnaires for the end customer. + */ +@ApiModel(description = "The questionnaires for the end customer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerQuestionnaires { + public static final String SERIALIZED_NAME_CRA = "cra"; + @SerializedName(SERIALIZED_NAME_CRA) + private PartnerEndCustomerCRAQuestionnaire cra; + + + public PartnerEndCustomerQuestionnaires cra(PartnerEndCustomerCRAQuestionnaire cra) { + + this.cra = cra; + return this; + } + + /** + * Get cra + * @return cra + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerCRAQuestionnaire getCra() { + return cra; + } + + + public void setCra(PartnerEndCustomerCRAQuestionnaire cra) { + this.cra = cra; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerQuestionnaires partnerEndCustomerQuestionnaires = (PartnerEndCustomerQuestionnaires) o; + return Objects.equals(this.cra, partnerEndCustomerQuestionnaires.cra); + } + + @Override + public int hashCode() { + return Objects.hash(cra); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerQuestionnaires {\n"); + sb.append(" cra: ").append(toIndentedString(cra)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerRequirementDue.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerRequirementDue.java new file mode 100644 index 0000000000..a1d72ed080 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerRequirementDue.java @@ -0,0 +1,93 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A field that may be required to be submitted for enablement. + */ +@JsonAdapter(PartnerEndCustomerRequirementDue.Adapter.class) +public enum PartnerEndCustomerRequirementDue { + + LEGAL_ENTITY_NAME("legal_entity_name"), + + WEBSITE("website"), + + APPLICATION_NAME("application_name"), + + IS_DILIGENCE_ATTESTED("is_diligence_attested"), + + TECHNICAL_CONTACT("technical_contact"), + + BILLING_CONTACT("billing_contact"), + + ADDRESS("address"), + + BANK_ADDENDUM_ACCEPTANCE("bank_addendum_acceptance"), + + QUESTIONNAIRES_CRA("questionnaires.cra"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PartnerEndCustomerRequirementDue(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PartnerEndCustomerRequirementDue fromValue(String value) { + for (PartnerEndCustomerRequirementDue b : PartnerEndCustomerRequirementDue.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PartnerEndCustomerRequirementDue.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PartnerEndCustomerRequirementDue enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PartnerEndCustomerRequirementDue read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PartnerEndCustomerRequirementDue.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerSecrets.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerSecrets.java new file mode 100644 index 0000000000..d285b13570 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerSecrets.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The secrets for the newly created end customer. + */ +@ApiModel(description = "The secrets for the newly created end customer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerSecrets { + public static final String SERIALIZED_NAME_SANDBOX = "sandbox"; + @SerializedName(SERIALIZED_NAME_SANDBOX) + private String sandbox; + + public static final String SERIALIZED_NAME_DEVELOPMENT = "development"; + @SerializedName(SERIALIZED_NAME_DEVELOPMENT) + private String development; + + public static final String SERIALIZED_NAME_PRODUCTION = "production"; + @SerializedName(SERIALIZED_NAME_PRODUCTION) + private String production; + + + public PartnerEndCustomerSecrets sandbox(String sandbox) { + + this.sandbox = sandbox; + return this; + } + + /** + * The end customer's secret key for the Sandbox environment. + * @return sandbox + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end customer's secret key for the Sandbox environment.") + + public String getSandbox() { + return sandbox; + } + + + public void setSandbox(String sandbox) { + this.sandbox = sandbox; + } + + + public PartnerEndCustomerSecrets development(String development) { + + this.development = development; + return this; + } + + /** + * The end customer's secret key for the Development environment. The Development environment has been removed. + * @return development + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end customer's secret key for the Development environment. The Development environment has been removed.") + + public String getDevelopment() { + return development; + } + + + public void setDevelopment(String development) { + this.development = development; + } + + + public PartnerEndCustomerSecrets production(String production) { + + this.production = production; + return this; + } + + /** + * The end customer's secret key for the Production environment. The end customer will be provided with a limited number of credits to test in the Production environment before full enablement. + * @return production + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end customer's secret key for the Production environment. The end customer will be provided with a limited number of credits to test in the Production environment before full enablement.") + + public String getProduction() { + return production; + } + + + public void setProduction(String production) { + this.production = production; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerSecrets partnerEndCustomerSecrets = (PartnerEndCustomerSecrets) o; + return Objects.equals(this.sandbox, partnerEndCustomerSecrets.sandbox) && + Objects.equals(this.development, partnerEndCustomerSecrets.development) && + Objects.equals(this.production, partnerEndCustomerSecrets.production); + } + + @Override + public int hashCode() { + return Objects.hash(sandbox, development, production); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerSecrets {\n"); + sb.append(" sandbox: ").append(toIndentedString(sandbox)).append("\n"); + sb.append(" development: ").append(toIndentedString(development)).append("\n"); + sb.append(" production: ").append(toIndentedString(production)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerStatus.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerStatus.java new file mode 100644 index 0000000000..cf11e79407 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerStatus.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the given end customer. `UNDER_REVIEW`: The end customer has been created and enabled in the Sandbox environment. The end customer must be manually reviewed by the Plaid team before it can be enabled in Production, at which point its status will automatically transition to `PENDING_ENABLEMENT` or `DENIED`. `PENDING_ENABLEMENT`: The end customer is ready to be fully enabled in the Production environment. Call the `/partner/customer/enable` endpoint to enable the end customer in full Production. `ACTIVE`: The end customer has been fully enabled in all environments. `DENIED`: The end customer has been created and enabled in the Sandbox environment, but it did not pass review by the Plaid team and therefore cannot be enabled for Production access. Talk to your account manager for more information. + */ +@JsonAdapter(PartnerEndCustomerStatus.Adapter.class) +public enum PartnerEndCustomerStatus { + + UNDER_REVIEW("UNDER_REVIEW"), + + PENDING_ENABLEMENT("PENDING_ENABLEMENT"), + + ACTIVE("ACTIVE"), + + DENIED("DENIED"), + + MORE_INFORMATION_NEEDED("MORE_INFORMATION_NEEDED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PartnerEndCustomerStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PartnerEndCustomerStatus fromValue(String value) { + for (PartnerEndCustomerStatus b : PartnerEndCustomerStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PartnerEndCustomerStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PartnerEndCustomerStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PartnerEndCustomerStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PartnerEndCustomerStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerTechnicalContact.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerTechnicalContact.java new file mode 100644 index 0000000000..6ecac3c14d --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerTechnicalContact.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The technical contact for the end customer. Defaults to partner's technical contact if omitted. + */ +@ApiModel(description = "The technical contact for the end customer. Defaults to partner's technical contact if omitted.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerTechnicalContact { + public static final String SERIALIZED_NAME_GIVEN_NAME = "given_name"; + @SerializedName(SERIALIZED_NAME_GIVEN_NAME) + private String givenName; + + public static final String SERIALIZED_NAME_FAMILY_NAME = "family_name"; + @SerializedName(SERIALIZED_NAME_FAMILY_NAME) + private String familyName; + + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + private String email; + + + public PartnerEndCustomerTechnicalContact givenName(String givenName) { + + this.givenName = givenName; + return this; + } + + /** + * Get givenName + * @return givenName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getGivenName() { + return givenName; + } + + + public void setGivenName(String givenName) { + this.givenName = givenName; + } + + + public PartnerEndCustomerTechnicalContact familyName(String familyName) { + + this.familyName = familyName; + return this; + } + + /** + * Get familyName + * @return familyName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getFamilyName() { + return familyName; + } + + + public void setFamilyName(String familyName) { + this.familyName = familyName; + } + + + public PartnerEndCustomerTechnicalContact email(String email) { + + this.email = email; + return this; + } + + /** + * Get email + * @return email + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getEmail() { + return email; + } + + + public void setEmail(String email) { + this.email = email; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerTechnicalContact partnerEndCustomerTechnicalContact = (PartnerEndCustomerTechnicalContact) o; + return Objects.equals(this.givenName, partnerEndCustomerTechnicalContact.givenName) && + Objects.equals(this.familyName, partnerEndCustomerTechnicalContact.familyName) && + Objects.equals(this.email, partnerEndCustomerTechnicalContact.email); + } + + @Override + public int hashCode() { + return Objects.hash(givenName, familyName, email); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerTechnicalContact {\n"); + sb.append(" givenName: ").append(toIndentedString(givenName)).append("\n"); + sb.append(" familyName: ").append(toIndentedString(familyName)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerWithSecrets.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerWithSecrets.java new file mode 100644 index 0000000000..616edb0687 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerWithSecrets.java @@ -0,0 +1,190 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomer; +import com.plaid.client.model.PartnerEndCustomerSecrets; +import com.plaid.client.model.PartnerEndCustomerStatus; +import com.plaid.client.model.PartnerEndCustomerWithSecretsAllOf; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The details for the newly created end customer, including secrets for non-Production environments. + */ +@ApiModel(description = "The details for the newly created end customer, including secrets for non-Production environments.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerWithSecrets { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_COMPANY_NAME = "company_name"; + @SerializedName(SERIALIZED_NAME_COMPANY_NAME) + private String companyName; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PartnerEndCustomerStatus status; + + public static final String SERIALIZED_NAME_SECRETS = "secrets"; + @SerializedName(SERIALIZED_NAME_SECRETS) + private PartnerEndCustomerSecrets secrets; + + + public PartnerEndCustomerWithSecrets clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * The `client_id` of the end customer. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `client_id` of the end customer.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PartnerEndCustomerWithSecrets companyName(String companyName) { + + this.companyName = companyName; + return this; + } + + /** + * The company name associated with the end customer. + * @return companyName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The company name associated with the end customer.") + + public String getCompanyName() { + return companyName; + } + + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + + public PartnerEndCustomerWithSecrets status(PartnerEndCustomerStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerStatus getStatus() { + return status; + } + + + public void setStatus(PartnerEndCustomerStatus status) { + this.status = status; + } + + + public PartnerEndCustomerWithSecrets secrets(PartnerEndCustomerSecrets secrets) { + + this.secrets = secrets; + return this; + } + + /** + * Get secrets + * @return secrets + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerSecrets getSecrets() { + return secrets; + } + + + public void setSecrets(PartnerEndCustomerSecrets secrets) { + this.secrets = secrets; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerWithSecrets partnerEndCustomerWithSecrets = (PartnerEndCustomerWithSecrets) o; + return Objects.equals(this.clientId, partnerEndCustomerWithSecrets.clientId) && + Objects.equals(this.companyName, partnerEndCustomerWithSecrets.companyName) && + Objects.equals(this.status, partnerEndCustomerWithSecrets.status) && + Objects.equals(this.secrets, partnerEndCustomerWithSecrets.secrets); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, companyName, status, secrets); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerWithSecrets {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" companyName: ").append(toIndentedString(companyName)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" secrets: ").append(toIndentedString(secrets)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartnerEndCustomerWithSecretsAllOf.java b/src/main/java/com/plaid/client/model/PartnerEndCustomerWithSecretsAllOf.java new file mode 100644 index 0000000000..c76906c318 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartnerEndCustomerWithSecretsAllOf.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartnerEndCustomerSecrets; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PartnerEndCustomerWithSecretsAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartnerEndCustomerWithSecretsAllOf { + public static final String SERIALIZED_NAME_SECRETS = "secrets"; + @SerializedName(SERIALIZED_NAME_SECRETS) + private PartnerEndCustomerSecrets secrets; + + + public PartnerEndCustomerWithSecretsAllOf secrets(PartnerEndCustomerSecrets secrets) { + + this.secrets = secrets; + return this; + } + + /** + * Get secrets + * @return secrets + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PartnerEndCustomerSecrets getSecrets() { + return secrets; + } + + + public void setSecrets(PartnerEndCustomerSecrets secrets) { + this.secrets = secrets; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartnerEndCustomerWithSecretsAllOf partnerEndCustomerWithSecretsAllOf = (PartnerEndCustomerWithSecretsAllOf) o; + return Objects.equals(this.secrets, partnerEndCustomerWithSecretsAllOf.secrets); + } + + @Override + public int hashCode() { + return Objects.hash(secrets); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartnerEndCustomerWithSecretsAllOf {\n"); + sb.append(" secrets: ").append(toIndentedString(secrets)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Party.java b/src/main/java/com/plaid/client/model/Party.java new file mode 100644 index 0000000000..1a409054b3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Party.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartyIndividual; +import com.plaid.client.model.Roles; +import com.plaid.client.model.TaxpayerIdentifiers; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A collection of information about a single party to a transaction. Includes direct participants like the borrower and seller as well as indirect participants such as the flood certificate provider. + */ +@ApiModel(description = "A collection of information about a single party to a transaction. Includes direct participants like the borrower and seller as well as indirect participants such as the flood certificate provider.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Party { + public static final String SERIALIZED_NAME_I_N_D_I_V_I_D_U_A_L = "INDIVIDUAL"; + @SerializedName(SERIALIZED_NAME_I_N_D_I_V_I_D_U_A_L) + private PartyIndividual INDIVIDUAL; + + public static final String SERIALIZED_NAME_R_O_L_E_S = "ROLES"; + @SerializedName(SERIALIZED_NAME_R_O_L_E_S) + private Roles ROLES; + + public static final String SERIALIZED_NAME_T_A_X_P_A_Y_E_R_I_D_E_N_T_I_F_I_E_R_S = "TAXPAYER_IDENTIFIERS"; + @SerializedName(SERIALIZED_NAME_T_A_X_P_A_Y_E_R_I_D_E_N_T_I_F_I_E_R_S) + private TaxpayerIdentifiers TAXPAYER_IDENTIFIERS; + + + public Party INDIVIDUAL(PartyIndividual INDIVIDUAL) { + + this.INDIVIDUAL = INDIVIDUAL; + return this; + } + + /** + * Get INDIVIDUAL + * @return INDIVIDUAL + **/ + @ApiModelProperty(required = true, value = "") + + public PartyIndividual getINDIVIDUAL() { + return INDIVIDUAL; + } + + + public void setINDIVIDUAL(PartyIndividual INDIVIDUAL) { + this.INDIVIDUAL = INDIVIDUAL; + } + + + public Party ROLES(Roles ROLES) { + + this.ROLES = ROLES; + return this; + } + + /** + * Get ROLES + * @return ROLES + **/ + @ApiModelProperty(required = true, value = "") + + public Roles getROLES() { + return ROLES; + } + + + public void setROLES(Roles ROLES) { + this.ROLES = ROLES; + } + + + public Party TAXPAYER_IDENTIFIERS(TaxpayerIdentifiers TAXPAYER_IDENTIFIERS) { + + this.TAXPAYER_IDENTIFIERS = TAXPAYER_IDENTIFIERS; + return this; + } + + /** + * Get TAXPAYER_IDENTIFIERS + * @return TAXPAYER_IDENTIFIERS + **/ + @ApiModelProperty(required = true, value = "") + + public TaxpayerIdentifiers getTAXPAYERIDENTIFIERS() { + return TAXPAYER_IDENTIFIERS; + } + + + public void setTAXPAYERIDENTIFIERS(TaxpayerIdentifiers TAXPAYER_IDENTIFIERS) { + this.TAXPAYER_IDENTIFIERS = TAXPAYER_IDENTIFIERS; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Party party = (Party) o; + return Objects.equals(this.INDIVIDUAL, party.INDIVIDUAL) && + Objects.equals(this.ROLES, party.ROLES) && + Objects.equals(this.TAXPAYER_IDENTIFIERS, party.TAXPAYER_IDENTIFIERS); + } + + @Override + public int hashCode() { + return Objects.hash(INDIVIDUAL, ROLES, TAXPAYER_IDENTIFIERS); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Party {\n"); + sb.append(" INDIVIDUAL: ").append(toIndentedString(INDIVIDUAL)).append("\n"); + sb.append(" ROLES: ").append(toIndentedString(ROLES)).append("\n"); + sb.append(" TAXPAYER_IDENTIFIERS: ").append(toIndentedString(TAXPAYER_IDENTIFIERS)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartyIndividual.java b/src/main/java/com/plaid/client/model/PartyIndividual.java new file mode 100644 index 0000000000..75f7849e91 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartyIndividual.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IndividualName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PartyIndividual { + public static final String SERIALIZED_NAME_N_A_M_E = "NAME"; + @SerializedName(SERIALIZED_NAME_N_A_M_E) + private IndividualName NAME; + + + public PartyIndividual NAME(IndividualName NAME) { + + this.NAME = NAME; + return this; + } + + /** + * Get NAME + * @return NAME + **/ + @ApiModelProperty(required = true, value = "") + + public IndividualName getNAME() { + return NAME; + } + + + public void setNAME(IndividualName NAME) { + this.NAME = NAME; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PartyIndividual partyIndividual = (PartyIndividual) o; + return Objects.equals(this.NAME, partyIndividual.NAME); + } + + @Override + public int hashCode() { + return Objects.hash(NAME); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PartyIndividual {\n"); + sb.append(" NAME: ").append(toIndentedString(NAME)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PartyRoleType.java b/src/main/java/com/plaid/client/model/PartyRoleType.java new file mode 100644 index 0000000000..507a94a9af --- /dev/null +++ b/src/main/java/com/plaid/client/model/PartyRoleType.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A value from a MISMO defined list that identifies the role that the party plays in the transaction. Parties may be either a person or legal entity. A party may play multiple roles in a transaction. + */ +@JsonAdapter(PartyRoleType.Adapter.class) +public enum PartyRoleType { + + BORROWER("Borrower"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PartyRoleType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PartyRoleType fromValue(String value) { + for (PartyRoleType b : PartyRoleType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PartyRoleType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PartyRoleType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PartyRoleType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PartyRoleType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/Pay.java b/src/main/java/com/plaid/client/model/Pay.java new file mode 100644 index 0000000000..16545160a1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Pay.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing a monetary amount. + */ +@ApiModel(description = "An object representing a monetary amount.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Pay { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private String currency; + + + public Pay amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * A numerical amount of a specific currency. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A numerical amount of a specific currency.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public Pay currency(String currency) { + + this.currency = currency; + return this; + } + + /** + * Currency code, e.g. USD + * @return currency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Currency code, e.g. USD") + + public String getCurrency() { + return currency; + } + + + public void setCurrency(String currency) { + this.currency = currency; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Pay pay = (Pay) o; + return Objects.equals(this.amount, pay.amount) && + Objects.equals(this.currency, pay.currency); + } + + @Override + public int hashCode() { + return Objects.hash(amount, currency); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Pay {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayFrequency.java b/src/main/java/com/plaid/client/model/PayFrequency.java new file mode 100644 index 0000000000..5b8a081d44 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayFrequency.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PayFrequencyValue; +import com.plaid.client.model.VerificationStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The frequency of the pay period. + */ +@ApiModel(description = "The frequency of the pay period.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayFrequency { + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private PayFrequencyValue value; + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatus verificationStatus; + + + public PayFrequency value(PayFrequencyValue value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @ApiModelProperty(required = true, value = "") + + public PayFrequencyValue getValue() { + return value; + } + + + public void setValue(PayFrequencyValue value) { + this.value = value; + } + + + public PayFrequency verificationStatus(VerificationStatus verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Get verificationStatus + * @return verificationStatus + **/ + @ApiModelProperty(required = true, value = "") + + public VerificationStatus getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatus verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayFrequency payFrequency = (PayFrequency) o; + return Objects.equals(this.value, payFrequency.value) && + Objects.equals(this.verificationStatus, payFrequency.verificationStatus); + } + + @Override + public int hashCode() { + return Objects.hash(value, verificationStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayFrequency {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayFrequencyValue.java b/src/main/java/com/plaid/client/model/PayFrequencyValue.java new file mode 100644 index 0000000000..043637b7e3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayFrequencyValue.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The frequency of the pay period. + */ +@JsonAdapter(PayFrequencyValue.Adapter.class) +public enum PayFrequencyValue { + + MONTHLY("monthly"), + + SEMIMONTHLY("semimonthly"), + + WEEKLY("weekly"), + + BIWEEKLY("biweekly"), + + UNKNOWN("unknown"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PayFrequencyValue(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PayFrequencyValue fromValue(String value) { + for (PayFrequencyValue b : PayFrequencyValue.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PayFrequencyValue.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PayFrequencyValue enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PayFrequencyValue read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PayFrequencyValue.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PayPeriodDetails.java b/src/main/java/com/plaid/client/model/PayPeriodDetails.java new file mode 100644 index 0000000000..e8ebd21ac0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayPeriodDetails.java @@ -0,0 +1,315 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DistributionBreakdown; +import com.plaid.client.model.PayPeriodDetailsPayFrequency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * Details about the pay period. + */ +@ApiModel(description = "Details about the pay period.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayPeriodDetails { + public static final String SERIALIZED_NAME_CHECK_AMOUNT = "check_amount"; + @SerializedName(SERIALIZED_NAME_CHECK_AMOUNT) + private Double checkAmount; + + public static final String SERIALIZED_NAME_DISTRIBUTION_BREAKDOWN = "distribution_breakdown"; + @SerializedName(SERIALIZED_NAME_DISTRIBUTION_BREAKDOWN) + private List distributionBreakdown = null; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_GROSS_EARNINGS = "gross_earnings"; + @SerializedName(SERIALIZED_NAME_GROSS_EARNINGS) + private Double grossEarnings; + + public static final String SERIALIZED_NAME_PAY_DATE = "pay_date"; + @SerializedName(SERIALIZED_NAME_PAY_DATE) + private LocalDate payDate; + + public static final String SERIALIZED_NAME_PAY_FREQUENCY = "pay_frequency"; + @SerializedName(SERIALIZED_NAME_PAY_FREQUENCY) + private PayPeriodDetailsPayFrequency payFrequency; + + public static final String SERIALIZED_NAME_PAY_DAY = "pay_day"; + @SerializedName(SERIALIZED_NAME_PAY_DAY) + private LocalDate payDay; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + + public PayPeriodDetails checkAmount(Double checkAmount) { + + this.checkAmount = checkAmount; + return this; + } + + /** + * The amount of the paycheck. + * @return checkAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount of the paycheck.") + + public Double getCheckAmount() { + return checkAmount; + } + + + public void setCheckAmount(Double checkAmount) { + this.checkAmount = checkAmount; + } + + + public PayPeriodDetails distributionBreakdown(List distributionBreakdown) { + + this.distributionBreakdown = distributionBreakdown; + return this; + } + + public PayPeriodDetails addDistributionBreakdownItem(DistributionBreakdown distributionBreakdownItem) { + if (this.distributionBreakdown == null) { + this.distributionBreakdown = new ArrayList<>(); + } + this.distributionBreakdown.add(distributionBreakdownItem); + return this; + } + + /** + * Get distributionBreakdown + * @return distributionBreakdown + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getDistributionBreakdown() { + return distributionBreakdown; + } + + + public void setDistributionBreakdown(List distributionBreakdown) { + this.distributionBreakdown = distributionBreakdown; + } + + + public PayPeriodDetails endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The pay period end date, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format: \"yyyy-mm-dd\". + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The pay period end date, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format: \"yyyy-mm-dd\".") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public PayPeriodDetails grossEarnings(Double grossEarnings) { + + this.grossEarnings = grossEarnings; + return this; + } + + /** + * Total earnings before tax/deductions. + * @return grossEarnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total earnings before tax/deductions.") + + public Double getGrossEarnings() { + return grossEarnings; + } + + + public void setGrossEarnings(Double grossEarnings) { + this.grossEarnings = grossEarnings; + } + + + public PayPeriodDetails payDate(LocalDate payDate) { + + this.payDate = payDate; + return this; + } + + /** + * The date on which the paystub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return payDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date on which the paystub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getPayDate() { + return payDate; + } + + + public void setPayDate(LocalDate payDate) { + this.payDate = payDate; + } + + + public PayPeriodDetails payFrequency(PayPeriodDetailsPayFrequency payFrequency) { + + this.payFrequency = payFrequency; + return this; + } + + /** + * Get payFrequency + * @return payFrequency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PayPeriodDetailsPayFrequency getPayFrequency() { + return payFrequency; + } + + + public void setPayFrequency(PayPeriodDetailsPayFrequency payFrequency) { + this.payFrequency = payFrequency; + } + + + public PayPeriodDetails payDay(LocalDate payDay) { + + this.payDay = payDay; + return this; + } + + /** + * The date on which the paystub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return payDay + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date on which the paystub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getPayDay() { + return payDay; + } + + + public void setPayDay(LocalDate payDay) { + this.payDay = payDay; + } + + + public PayPeriodDetails startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The pay period start date, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format: \"yyyy-mm-dd\". + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The pay period start date, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format: \"yyyy-mm-dd\".") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayPeriodDetails payPeriodDetails = (PayPeriodDetails) o; + return Objects.equals(this.checkAmount, payPeriodDetails.checkAmount) && + Objects.equals(this.distributionBreakdown, payPeriodDetails.distributionBreakdown) && + Objects.equals(this.endDate, payPeriodDetails.endDate) && + Objects.equals(this.grossEarnings, payPeriodDetails.grossEarnings) && + Objects.equals(this.payDate, payPeriodDetails.payDate) && + Objects.equals(this.payFrequency, payPeriodDetails.payFrequency) && + Objects.equals(this.payDay, payPeriodDetails.payDay) && + Objects.equals(this.startDate, payPeriodDetails.startDate); + } + + @Override + public int hashCode() { + return Objects.hash(checkAmount, distributionBreakdown, endDate, grossEarnings, payDate, payFrequency, payDay, startDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayPeriodDetails {\n"); + sb.append(" checkAmount: ").append(toIndentedString(checkAmount)).append("\n"); + sb.append(" distributionBreakdown: ").append(toIndentedString(distributionBreakdown)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" grossEarnings: ").append(toIndentedString(grossEarnings)).append("\n"); + sb.append(" payDate: ").append(toIndentedString(payDate)).append("\n"); + sb.append(" payFrequency: ").append(toIndentedString(payFrequency)).append("\n"); + sb.append(" payDay: ").append(toIndentedString(payDay)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayPeriodDetailsPayFrequency.java b/src/main/java/com/plaid/client/model/PayPeriodDetailsPayFrequency.java new file mode 100644 index 0000000000..4a07364423 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayPeriodDetailsPayFrequency.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The frequency at which an individual is paid. + */ +@JsonAdapter(PayPeriodDetailsPayFrequency.Adapter.class) +public enum PayPeriodDetailsPayFrequency { + + PAY_FREQUENCY_UNKNOWN("PAY_FREQUENCY_UNKNOWN"), + + PAY_FREQUENCY_WEEKLY("PAY_FREQUENCY_WEEKLY"), + + PAY_FREQUENCY_BIWEEKLY("PAY_FREQUENCY_BIWEEKLY"), + + PAY_FREQUENCY_SEMIMONTHLY("PAY_FREQUENCY_SEMIMONTHLY"), + + PAY_FREQUENCY_MONTHLY("PAY_FREQUENCY_MONTHLY"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PayPeriodDetailsPayFrequency(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PayPeriodDetailsPayFrequency fromValue(String value) { + for (PayPeriodDetailsPayFrequency b : PayPeriodDetailsPayFrequency.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PayPeriodDetailsPayFrequency enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PayPeriodDetailsPayFrequency read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PayPeriodDetailsPayFrequency.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PayStubDeductionsBreakdown.java b/src/main/java/com/plaid/client/model/PayStubDeductionsBreakdown.java new file mode 100644 index 0000000000..331ee371fd --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayStubDeductionsBreakdown.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing the deduction line items for the pay period + */ +@ApiModel(description = "An object representing the deduction line items for the pay period") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayStubDeductionsBreakdown { + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public PayStubDeductionsBreakdown currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * Raw amount of the deduction + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Raw amount of the deduction") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public PayStubDeductionsBreakdown description(String description) { + + this.description = description; + return this; + } + + /** + * Description of the deduction line item + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Description of the deduction line item") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public PayStubDeductionsBreakdown isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public PayStubDeductionsBreakdown unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public PayStubDeductionsBreakdown ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The year-to-date amount of the deduction + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The year-to-date amount of the deduction") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayStubDeductionsBreakdown payStubDeductionsBreakdown = (PayStubDeductionsBreakdown) o; + return Objects.equals(this.currentAmount, payStubDeductionsBreakdown.currentAmount) && + Objects.equals(this.description, payStubDeductionsBreakdown.description) && + Objects.equals(this.isoCurrencyCode, payStubDeductionsBreakdown.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, payStubDeductionsBreakdown.unofficialCurrencyCode) && + Objects.equals(this.ytdAmount, payStubDeductionsBreakdown.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(currentAmount, description, isoCurrencyCode, unofficialCurrencyCode, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayStubDeductionsBreakdown {\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayStubDeductionsTotal.java b/src/main/java/com/plaid/client/model/PayStubDeductionsTotal.java new file mode 100644 index 0000000000..0dc42cf8c0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayStubDeductionsTotal.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing the total deductions for the pay period + */ +@ApiModel(description = "An object representing the total deductions for the pay period") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayStubDeductionsTotal { + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public PayStubDeductionsTotal currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * Raw amount of the deduction + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Raw amount of the deduction") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public PayStubDeductionsTotal isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public PayStubDeductionsTotal unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public PayStubDeductionsTotal ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The year-to-date total amount of the deductions + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The year-to-date total amount of the deductions") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayStubDeductionsTotal payStubDeductionsTotal = (PayStubDeductionsTotal) o; + return Objects.equals(this.currentAmount, payStubDeductionsTotal.currentAmount) && + Objects.equals(this.isoCurrencyCode, payStubDeductionsTotal.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, payStubDeductionsTotal.unofficialCurrencyCode) && + Objects.equals(this.ytdAmount, payStubDeductionsTotal.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(currentAmount, isoCurrencyCode, unofficialCurrencyCode, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayStubDeductionsTotal {\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayStubDistributionBreakdown.java b/src/main/java/com/plaid/client/model/PayStubDistributionBreakdown.java new file mode 100644 index 0000000000..17b7f396c9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayStubDistributionBreakdown.java @@ -0,0 +1,273 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the accounts that the payment was distributed to. + */ +@ApiModel(description = "Information about the accounts that the payment was distributed to.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayStubDistributionBreakdown { + public static final String SERIALIZED_NAME_ACCOUNT_NAME = "account_name"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NAME) + private String accountName; + + public static final String SERIALIZED_NAME_BANK_NAME = "bank_name"; + @SerializedName(SERIALIZED_NAME_BANK_NAME) + private String bankName; + + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public PayStubDistributionBreakdown accountName(String accountName) { + + this.accountName = accountName; + return this; + } + + /** + * Name of the account for the given distribution. + * @return accountName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Name of the account for the given distribution.") + + public String getAccountName() { + return accountName; + } + + + public void setAccountName(String accountName) { + this.accountName = accountName; + } + + + public PayStubDistributionBreakdown bankName(String bankName) { + + this.bankName = bankName; + return this; + } + + /** + * The name of the bank that the payment is being deposited to. + * @return bankName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The name of the bank that the payment is being deposited to.") + + public String getBankName() { + return bankName; + } + + + public void setBankName(String bankName) { + this.bankName = bankName; + } + + + public PayStubDistributionBreakdown currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * The amount distributed to this account. + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The amount distributed to this account.") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public PayStubDistributionBreakdown isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public PayStubDistributionBreakdown mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The last 2-4 alphanumeric characters of an account's official account number.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public PayStubDistributionBreakdown type(String type) { + + this.type = type; + return this; + } + + /** + * Type of the account that the paystub was sent to (e.g. 'checking'). + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Type of the account that the paystub was sent to (e.g. 'checking').") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public PayStubDistributionBreakdown unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayStubDistributionBreakdown payStubDistributionBreakdown = (PayStubDistributionBreakdown) o; + return Objects.equals(this.accountName, payStubDistributionBreakdown.accountName) && + Objects.equals(this.bankName, payStubDistributionBreakdown.bankName) && + Objects.equals(this.currentAmount, payStubDistributionBreakdown.currentAmount) && + Objects.equals(this.isoCurrencyCode, payStubDistributionBreakdown.isoCurrencyCode) && + Objects.equals(this.mask, payStubDistributionBreakdown.mask) && + Objects.equals(this.type, payStubDistributionBreakdown.type) && + Objects.equals(this.unofficialCurrencyCode, payStubDistributionBreakdown.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(accountName, bankName, currentAmount, isoCurrencyCode, mask, type, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayStubDistributionBreakdown {\n"); + sb.append(" accountName: ").append(toIndentedString(accountName)).append("\n"); + sb.append(" bankName: ").append(toIndentedString(bankName)).append("\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayStubEarningsBreakdown.java b/src/main/java/com/plaid/client/model/PayStubEarningsBreakdown.java new file mode 100644 index 0000000000..51f4e035bc --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayStubEarningsBreakdown.java @@ -0,0 +1,303 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * An object representing the earnings line items for the pay period. + */ +@ApiModel(description = "An object representing the earnings line items for the pay period.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayStubEarningsBreakdown { + public static final String SERIALIZED_NAME_CANONICAL_DESCRIPTION = "canonical_description"; + @SerializedName(SERIALIZED_NAME_CANONICAL_DESCRIPTION) + private String canonicalDescription; + + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_HOURS = "hours"; + @SerializedName(SERIALIZED_NAME_HOURS) + private Double hours; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_RATE = "rate"; + @SerializedName(SERIALIZED_NAME_RATE) + private Double rate; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public PayStubEarningsBreakdown canonicalDescription(String canonicalDescription) { + + this.canonicalDescription = canonicalDescription; + return this; + } + + /** + * Commonly used term to describe the earning line item. + * @return canonicalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Commonly used term to describe the earning line item.") + + public String getCanonicalDescription() { + return canonicalDescription; + } + + + public void setCanonicalDescription(String canonicalDescription) { + this.canonicalDescription = canonicalDescription; + } + + + public PayStubEarningsBreakdown currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * Raw amount of the earning line item. + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Raw amount of the earning line item.") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public PayStubEarningsBreakdown description(String description) { + + this.description = description; + return this; + } + + /** + * Description of the earning line item. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Description of the earning line item.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public PayStubEarningsBreakdown hours(Double hours) { + + this.hours = hours; + return this; + } + + /** + * Number of hours applicable for this earning. + * @return hours + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Number of hours applicable for this earning.") + + public Double getHours() { + return hours; + } + + + public void setHours(Double hours) { + this.hours = hours; + } + + + public PayStubEarningsBreakdown isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public PayStubEarningsBreakdown rate(Double rate) { + + this.rate = rate; + return this; + } + + /** + * Hourly rate applicable for this earning. + * @return rate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Hourly rate applicable for this earning.") + + public Double getRate() { + return rate; + } + + + public void setRate(Double rate) { + this.rate = rate; + } + + + public PayStubEarningsBreakdown unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public PayStubEarningsBreakdown ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The year-to-date amount of the line item. + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The year-to-date amount of the line item.") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayStubEarningsBreakdown payStubEarningsBreakdown = (PayStubEarningsBreakdown) o; + return Objects.equals(this.canonicalDescription, payStubEarningsBreakdown.canonicalDescription) && + Objects.equals(this.currentAmount, payStubEarningsBreakdown.currentAmount) && + Objects.equals(this.description, payStubEarningsBreakdown.description) && + Objects.equals(this.hours, payStubEarningsBreakdown.hours) && + Objects.equals(this.isoCurrencyCode, payStubEarningsBreakdown.isoCurrencyCode) && + Objects.equals(this.rate, payStubEarningsBreakdown.rate) && + Objects.equals(this.unofficialCurrencyCode, payStubEarningsBreakdown.unofficialCurrencyCode) && + Objects.equals(this.ytdAmount, payStubEarningsBreakdown.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(canonicalDescription, currentAmount, description, hours, isoCurrencyCode, rate, unofficialCurrencyCode, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayStubEarningsBreakdown {\n"); + sb.append(" canonicalDescription: ").append(toIndentedString(canonicalDescription)).append("\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" hours: ").append(toIndentedString(hours)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" rate: ").append(toIndentedString(rate)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayStubEarningsTotal.java b/src/main/java/com/plaid/client/model/PayStubEarningsTotal.java new file mode 100644 index 0000000000..a431cb938f --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayStubEarningsTotal.java @@ -0,0 +1,216 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * An object representing both the current pay period and year to date amount for an earning category. + */ +@ApiModel(description = "An object representing both the current pay period and year to date amount for an earning category.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayStubEarningsTotal { + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_HOURS = "hours"; + @SerializedName(SERIALIZED_NAME_HOURS) + private Double hours; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public PayStubEarningsTotal currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * Total amount of the earnings for this pay period. + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Total amount of the earnings for this pay period.") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public PayStubEarningsTotal hours(Double hours) { + + this.hours = hours; + return this; + } + + /** + * Total number of hours worked for this pay period. + * @return hours + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Total number of hours worked for this pay period.") + + public Double getHours() { + return hours; + } + + + public void setHours(Double hours) { + this.hours = hours; + } + + + public PayStubEarningsTotal isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public PayStubEarningsTotal unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public PayStubEarningsTotal ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The total year-to-date amount of the earnings. + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total year-to-date amount of the earnings.") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayStubEarningsTotal payStubEarningsTotal = (PayStubEarningsTotal) o; + return Objects.equals(this.currentAmount, payStubEarningsTotal.currentAmount) && + Objects.equals(this.hours, payStubEarningsTotal.hours) && + Objects.equals(this.isoCurrencyCode, payStubEarningsTotal.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, payStubEarningsTotal.unofficialCurrencyCode) && + Objects.equals(this.ytdAmount, payStubEarningsTotal.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(currentAmount, hours, isoCurrencyCode, unofficialCurrencyCode, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayStubEarningsTotal {\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" hours: ").append(toIndentedString(hours)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayStubPayPeriodDetails.java b/src/main/java/com/plaid/client/model/PayStubPayPeriodDetails.java new file mode 100644 index 0000000000..af437c5a30 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayStubPayPeriodDetails.java @@ -0,0 +1,369 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditPayStubPayBasisType; +import com.plaid.client.model.PayStubDistributionBreakdown; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * Details about the pay period. + */ +@ApiModel(description = "Details about the pay period.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayStubPayPeriodDetails { + public static final String SERIALIZED_NAME_PAY_AMOUNT = "pay_amount"; + @SerializedName(SERIALIZED_NAME_PAY_AMOUNT) + private Double payAmount; + + public static final String SERIALIZED_NAME_DISTRIBUTION_BREAKDOWN = "distribution_breakdown"; + @SerializedName(SERIALIZED_NAME_DISTRIBUTION_BREAKDOWN) + private List distributionBreakdown = new ArrayList<>(); + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_GROSS_EARNINGS = "gross_earnings"; + @SerializedName(SERIALIZED_NAME_GROSS_EARNINGS) + private Double grossEarnings; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_PAY_DATE = "pay_date"; + @SerializedName(SERIALIZED_NAME_PAY_DATE) + private LocalDate payDate; + + public static final String SERIALIZED_NAME_PAY_FREQUENCY = "pay_frequency"; + @SerializedName(SERIALIZED_NAME_PAY_FREQUENCY) + private String payFrequency; + + public static final String SERIALIZED_NAME_PAY_BASIS = "pay_basis"; + @SerializedName(SERIALIZED_NAME_PAY_BASIS) + private CreditPayStubPayBasisType payBasis; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public PayStubPayPeriodDetails payAmount(Double payAmount) { + + this.payAmount = payAmount; + return this; + } + + /** + * The amount of the paycheck. + * @return payAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The amount of the paycheck.") + + public Double getPayAmount() { + return payAmount; + } + + + public void setPayAmount(Double payAmount) { + this.payAmount = payAmount; + } + + + public PayStubPayPeriodDetails distributionBreakdown(List distributionBreakdown) { + + this.distributionBreakdown = distributionBreakdown; + return this; + } + + public PayStubPayPeriodDetails addDistributionBreakdownItem(PayStubDistributionBreakdown distributionBreakdownItem) { + this.distributionBreakdown.add(distributionBreakdownItem); + return this; + } + + /** + * Get distributionBreakdown + * @return distributionBreakdown + **/ + @ApiModelProperty(required = true, value = "") + + public List getDistributionBreakdown() { + return distributionBreakdown; + } + + + public void setDistributionBreakdown(List distributionBreakdown) { + this.distributionBreakdown = distributionBreakdown; + } + + + public PayStubPayPeriodDetails endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The date on which the pay period ended, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date on which the pay period ended, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public PayStubPayPeriodDetails grossEarnings(Double grossEarnings) { + + this.grossEarnings = grossEarnings; + return this; + } + + /** + * Total earnings before tax/deductions. + * @return grossEarnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Total earnings before tax/deductions.") + + public Double getGrossEarnings() { + return grossEarnings; + } + + + public void setGrossEarnings(Double grossEarnings) { + this.grossEarnings = grossEarnings; + } + + + public PayStubPayPeriodDetails isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public PayStubPayPeriodDetails payDate(LocalDate payDate) { + + this.payDate = payDate; + return this; + } + + /** + * The date on which the pay stub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return payDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date on which the pay stub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getPayDate() { + return payDate; + } + + + public void setPayDate(LocalDate payDate) { + this.payDate = payDate; + } + + + public PayStubPayPeriodDetails payFrequency(String payFrequency) { + + this.payFrequency = payFrequency; + return this; + } + + /** + * The frequency at which an individual is paid. + * @return payFrequency + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The frequency at which an individual is paid.") + + public String getPayFrequency() { + return payFrequency; + } + + + public void setPayFrequency(String payFrequency) { + this.payFrequency = payFrequency; + } + + + public PayStubPayPeriodDetails payBasis(CreditPayStubPayBasisType payBasis) { + + this.payBasis = payBasis; + return this; + } + + /** + * Get payBasis + * @return payBasis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CreditPayStubPayBasisType getPayBasis() { + return payBasis; + } + + + public void setPayBasis(CreditPayStubPayBasisType payBasis) { + this.payBasis = payBasis; + } + + + public PayStubPayPeriodDetails startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The date on which the pay period started, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date on which the pay period started, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public PayStubPayPeriodDetails unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayStubPayPeriodDetails payStubPayPeriodDetails = (PayStubPayPeriodDetails) o; + return Objects.equals(this.payAmount, payStubPayPeriodDetails.payAmount) && + Objects.equals(this.distributionBreakdown, payStubPayPeriodDetails.distributionBreakdown) && + Objects.equals(this.endDate, payStubPayPeriodDetails.endDate) && + Objects.equals(this.grossEarnings, payStubPayPeriodDetails.grossEarnings) && + Objects.equals(this.isoCurrencyCode, payStubPayPeriodDetails.isoCurrencyCode) && + Objects.equals(this.payDate, payStubPayPeriodDetails.payDate) && + Objects.equals(this.payFrequency, payStubPayPeriodDetails.payFrequency) && + Objects.equals(this.payBasis, payStubPayPeriodDetails.payBasis) && + Objects.equals(this.startDate, payStubPayPeriodDetails.startDate) && + Objects.equals(this.unofficialCurrencyCode, payStubPayPeriodDetails.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(payAmount, distributionBreakdown, endDate, grossEarnings, isoCurrencyCode, payDate, payFrequency, payBasis, startDate, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayStubPayPeriodDetails {\n"); + sb.append(" payAmount: ").append(toIndentedString(payAmount)).append("\n"); + sb.append(" distributionBreakdown: ").append(toIndentedString(distributionBreakdown)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" grossEarnings: ").append(toIndentedString(grossEarnings)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" payDate: ").append(toIndentedString(payDate)).append("\n"); + sb.append(" payFrequency: ").append(toIndentedString(payFrequency)).append("\n"); + sb.append(" payBasis: ").append(toIndentedString(payBasis)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayStubTaxpayerID.java b/src/main/java/com/plaid/client/model/PayStubTaxpayerID.java new file mode 100644 index 0000000000..0a2fd6d868 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayStubTaxpayerID.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Taxpayer ID of the individual receiving the paystub. + */ +@ApiModel(description = "Taxpayer ID of the individual receiving the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayStubTaxpayerID { + public static final String SERIALIZED_NAME_ID_TYPE = "id_type"; + @SerializedName(SERIALIZED_NAME_ID_TYPE) + private String idType; + + public static final String SERIALIZED_NAME_ID_MASK = "id_mask"; + @SerializedName(SERIALIZED_NAME_ID_MASK) + private String idMask; + + + public PayStubTaxpayerID idType(String idType) { + + this.idType = idType; + return this; + } + + /** + * Type of ID, e.g. 'SSN'. + * @return idType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Type of ID, e.g. 'SSN'.") + + public String getIdType() { + return idType; + } + + + public void setIdType(String idType) { + this.idType = idType; + } + + + public PayStubTaxpayerID idMask(String idMask) { + + this.idMask = idMask; + return this; + } + + /** + * ID mask; i.e. last 4 digits of the taxpayer ID. + * @return idMask + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "ID mask; i.e. last 4 digits of the taxpayer ID.") + + public String getIdMask() { + return idMask; + } + + + public void setIdMask(String idMask) { + this.idMask = idMask; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayStubTaxpayerID payStubTaxpayerID = (PayStubTaxpayerID) o; + return Objects.equals(this.idType, payStubTaxpayerID.idType) && + Objects.equals(this.idMask, payStubTaxpayerID.idMask); + } + + @Override + public int hashCode() { + return Objects.hash(idType, idMask); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayStubTaxpayerID {\n"); + sb.append(" idType: ").append(toIndentedString(idType)).append("\n"); + sb.append(" idMask: ").append(toIndentedString(idMask)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentAmount.java b/src/main/java/com/plaid/client/model/PaymentAmount.java new file mode 100644 index 0000000000..10e3e07365 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentAmount.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentAmountCurrency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The amount and currency of a payment + */ +@ApiModel(description = "The amount and currency of a payment") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentAmount { + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private PaymentAmountCurrency currency; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Double value; + + + public PaymentAmount currency(PaymentAmountCurrency currency) { + + this.currency = currency; + return this; + } + + /** + * Get currency + * @return currency + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentAmountCurrency getCurrency() { + return currency; + } + + + public void setCurrency(PaymentAmountCurrency currency) { + this.currency = currency; + } + + + public PaymentAmount value(Double value) { + + this.value = value; + return this; + } + + /** + * The amount of the payment. Must contain at most two digits of precision e.g. `1.23`. Minimum accepted value is `1`. + * @return value + **/ + @ApiModelProperty(required = true, value = "The amount of the payment. Must contain at most two digits of precision e.g. `1.23`. Minimum accepted value is `1`.") + + public Double getValue() { + return value; + } + + + public void setValue(Double value) { + this.value = value; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentAmount paymentAmount = (PaymentAmount) o; + return Objects.equals(this.currency, paymentAmount.currency) && + Objects.equals(this.value, paymentAmount.value); + } + + @Override + public int hashCode() { + return Objects.hash(currency, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentAmount {\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentAmountCurrency.java b/src/main/java/com/plaid/client/model/PaymentAmountCurrency.java new file mode 100644 index 0000000000..d246faa77d --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentAmountCurrency.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The ISO-4217 currency code of the payment. For standing orders and payment consents, `\"GBP\"` must be used. For Poland, Denmark, Sweden and Norway, only the local currency is currently supported. + */ +@JsonAdapter(PaymentAmountCurrency.Adapter.class) +public enum PaymentAmountCurrency { + + GBP("GBP"), + + EUR("EUR"), + + PLN("PLN"), + + SEK("SEK"), + + DKK("DKK"), + + NOK("NOK"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaymentAmountCurrency(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentAmountCurrency fromValue(String value) { + for (PaymentAmountCurrency b : PaymentAmountCurrency.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PaymentAmountCurrency.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentAmountCurrency enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentAmountCurrency read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentAmountCurrency.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaymentAmountNullable.java b/src/main/java/com/plaid/client/model/PaymentAmountNullable.java new file mode 100644 index 0000000000..e5c7a019e6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentAmountNullable.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentAmountCurrency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The amount and currency of a payment + */ +@ApiModel(description = "The amount and currency of a payment") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentAmountNullable { + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private PaymentAmountCurrency currency; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Double value; + + + public PaymentAmountNullable currency(PaymentAmountCurrency currency) { + + this.currency = currency; + return this; + } + + /** + * Get currency + * @return currency + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentAmountCurrency getCurrency() { + return currency; + } + + + public void setCurrency(PaymentAmountCurrency currency) { + this.currency = currency; + } + + + public PaymentAmountNullable value(Double value) { + + this.value = value; + return this; + } + + /** + * The amount of the payment. Must contain at most two digits of precision e.g. `1.23`. + * minimum: 0.01 + * @return value + **/ + @ApiModelProperty(required = true, value = "The amount of the payment. Must contain at most two digits of precision e.g. `1.23`.") + + public Double getValue() { + return value; + } + + + public void setValue(Double value) { + this.value = value; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentAmountNullable paymentAmountNullable = (PaymentAmountNullable) o; + return Objects.equals(this.currency, paymentAmountNullable.currency) && + Objects.equals(this.value, paymentAmountNullable.value); + } + + @Override + public int hashCode() { + return Objects.hash(currency, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentAmountNullable {\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentAmountRefunded.java b/src/main/java/com/plaid/client/model/PaymentAmountRefunded.java new file mode 100644 index 0000000000..e0c5a8b50f --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentAmountRefunded.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentAmountCurrency; +import com.plaid.client.model.PaymentAmountNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The amount and currency of a payment + */ +@ApiModel(description = "The amount and currency of a payment") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentAmountRefunded { + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private PaymentAmountCurrency currency; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Double value; + + + public PaymentAmountRefunded currency(PaymentAmountCurrency currency) { + + this.currency = currency; + return this; + } + + /** + * Get currency + * @return currency + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentAmountCurrency getCurrency() { + return currency; + } + + + public void setCurrency(PaymentAmountCurrency currency) { + this.currency = currency; + } + + + public PaymentAmountRefunded value(Double value) { + + this.value = value; + return this; + } + + /** + * The amount of the payment. Must contain at most two digits of precision e.g. `1.23`. + * minimum: 0.01 + * @return value + **/ + @ApiModelProperty(required = true, value = "The amount of the payment. Must contain at most two digits of precision e.g. `1.23`.") + + public Double getValue() { + return value; + } + + + public void setValue(Double value) { + this.value = value; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentAmountRefunded paymentAmountRefunded = (PaymentAmountRefunded) o; + return Objects.equals(this.currency, paymentAmountRefunded.currency) && + Objects.equals(this.value, paymentAmountRefunded.value); + } + + @Override + public int hashCode() { + return Objects.hash(currency, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentAmountRefunded {\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentAmountToRefund.java b/src/main/java/com/plaid/client/model/PaymentAmountToRefund.java new file mode 100644 index 0000000000..d0f885dd7c --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentAmountToRefund.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentAmountCurrency; +import com.plaid.client.model.PaymentAmountNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The amount and currency of a payment + */ +@ApiModel(description = "The amount and currency of a payment") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentAmountToRefund { + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private PaymentAmountCurrency currency; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Double value; + + + public PaymentAmountToRefund currency(PaymentAmountCurrency currency) { + + this.currency = currency; + return this; + } + + /** + * Get currency + * @return currency + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentAmountCurrency getCurrency() { + return currency; + } + + + public void setCurrency(PaymentAmountCurrency currency) { + this.currency = currency; + } + + + public PaymentAmountToRefund value(Double value) { + + this.value = value; + return this; + } + + /** + * The amount of the payment. Must contain at most two digits of precision e.g. `1.23`. + * minimum: 0.01 + * @return value + **/ + @ApiModelProperty(required = true, value = "The amount of the payment. Must contain at most two digits of precision e.g. `1.23`.") + + public Double getValue() { + return value; + } + + + public void setValue(Double value) { + this.value = value; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentAmountToRefund paymentAmountToRefund = (PaymentAmountToRefund) o; + return Objects.equals(this.currency, paymentAmountToRefund.currency) && + Objects.equals(this.value, paymentAmountToRefund.value); + } + + @Override + public int hashCode() { + return Objects.hash(currency, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentAmountToRefund {\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentChannel.java b/src/main/java/com/plaid/client/model/PaymentChannel.java new file mode 100644 index 0000000000..68bb56d0ec --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentChannel.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The channel used to make a payment. `online:` transactions that took place online. `in store:` transactions that were made at a physical location. `other:` transactions that relate to banks, e.g. fees or deposits. + */ +@JsonAdapter(PaymentChannel.Adapter.class) +public enum PaymentChannel { + + ONLINE("online"), + + IN_STORE("in store"), + + OTHER("other"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaymentChannel(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentChannel fromValue(String value) { + for (PaymentChannel b : PaymentChannel.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PaymentChannel.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentChannel enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentChannel read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentChannel.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaymentConsentMaxPaymentAmount.java b/src/main/java/com/plaid/client/model/PaymentConsentMaxPaymentAmount.java new file mode 100644 index 0000000000..657761135f --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentConsentMaxPaymentAmount.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentAmount; +import com.plaid.client.model.PaymentAmountCurrency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Maximum amount of a single payment initiated using the payment consent. + */ +@ApiModel(description = "Maximum amount of a single payment initiated using the payment consent.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentConsentMaxPaymentAmount { + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private PaymentAmountCurrency currency; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Double value; + + + public PaymentConsentMaxPaymentAmount currency(PaymentAmountCurrency currency) { + + this.currency = currency; + return this; + } + + /** + * Get currency + * @return currency + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentAmountCurrency getCurrency() { + return currency; + } + + + public void setCurrency(PaymentAmountCurrency currency) { + this.currency = currency; + } + + + public PaymentConsentMaxPaymentAmount value(Double value) { + + this.value = value; + return this; + } + + /** + * The amount of the payment. Must contain at most two digits of precision e.g. `1.23`. Minimum accepted value is `1`. + * @return value + **/ + @ApiModelProperty(required = true, value = "The amount of the payment. Must contain at most two digits of precision e.g. `1.23`. Minimum accepted value is `1`.") + + public Double getValue() { + return value; + } + + + public void setValue(Double value) { + this.value = value; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentConsentMaxPaymentAmount paymentConsentMaxPaymentAmount = (PaymentConsentMaxPaymentAmount) o; + return Objects.equals(this.currency, paymentConsentMaxPaymentAmount.currency) && + Objects.equals(this.value, paymentConsentMaxPaymentAmount.value); + } + + @Override + public int hashCode() { + return Objects.hash(currency, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentConsentMaxPaymentAmount {\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentConsentPeriodicAlignment.java b/src/main/java/com/plaid/client/model/PaymentConsentPeriodicAlignment.java new file mode 100644 index 0000000000..7f9bfd2c1e --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentConsentPeriodicAlignment.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Where the payment consent period should start. If the institution is Monzo, only `CONSENT` alignments are supported. `CALENDAR`: line up with a calendar. `CONSENT`: on the date of consent creation. + */ +@JsonAdapter(PaymentConsentPeriodicAlignment.Adapter.class) +public enum PaymentConsentPeriodicAlignment { + + CALENDAR("CALENDAR"), + + CONSENT("CONSENT"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaymentConsentPeriodicAlignment(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentConsentPeriodicAlignment fromValue(String value) { + for (PaymentConsentPeriodicAlignment b : PaymentConsentPeriodicAlignment.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PaymentConsentPeriodicAlignment.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentConsentPeriodicAlignment enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentConsentPeriodicAlignment read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentConsentPeriodicAlignment.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaymentConsentPeriodicAmount.java b/src/main/java/com/plaid/client/model/PaymentConsentPeriodicAmount.java new file mode 100644 index 0000000000..648259a056 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentConsentPeriodicAmount.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentConsentPeriodicAlignment; +import com.plaid.client.model.PaymentConsentPeriodicAmountAmount; +import com.plaid.client.model.PaymentConsentPeriodicInterval; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines consent payments limitations per period. + */ +@ApiModel(description = "Defines consent payments limitations per period.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentConsentPeriodicAmount { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private PaymentConsentPeriodicAmountAmount amount; + + public static final String SERIALIZED_NAME_INTERVAL = "interval"; + @SerializedName(SERIALIZED_NAME_INTERVAL) + private PaymentConsentPeriodicInterval interval; + + public static final String SERIALIZED_NAME_ALIGNMENT = "alignment"; + @SerializedName(SERIALIZED_NAME_ALIGNMENT) + private PaymentConsentPeriodicAlignment alignment; + + + public PaymentConsentPeriodicAmount amount(PaymentConsentPeriodicAmountAmount amount) { + + this.amount = amount; + return this; + } + + /** + * Get amount + * @return amount + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentConsentPeriodicAmountAmount getAmount() { + return amount; + } + + + public void setAmount(PaymentConsentPeriodicAmountAmount amount) { + this.amount = amount; + } + + + public PaymentConsentPeriodicAmount interval(PaymentConsentPeriodicInterval interval) { + + this.interval = interval; + return this; + } + + /** + * Get interval + * @return interval + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentConsentPeriodicInterval getInterval() { + return interval; + } + + + public void setInterval(PaymentConsentPeriodicInterval interval) { + this.interval = interval; + } + + + public PaymentConsentPeriodicAmount alignment(PaymentConsentPeriodicAlignment alignment) { + + this.alignment = alignment; + return this; + } + + /** + * Get alignment + * @return alignment + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentConsentPeriodicAlignment getAlignment() { + return alignment; + } + + + public void setAlignment(PaymentConsentPeriodicAlignment alignment) { + this.alignment = alignment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentConsentPeriodicAmount paymentConsentPeriodicAmount = (PaymentConsentPeriodicAmount) o; + return Objects.equals(this.amount, paymentConsentPeriodicAmount.amount) && + Objects.equals(this.interval, paymentConsentPeriodicAmount.interval) && + Objects.equals(this.alignment, paymentConsentPeriodicAmount.alignment); + } + + @Override + public int hashCode() { + return Objects.hash(amount, interval, alignment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentConsentPeriodicAmount {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" interval: ").append(toIndentedString(interval)).append("\n"); + sb.append(" alignment: ").append(toIndentedString(alignment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentConsentPeriodicAmountAmount.java b/src/main/java/com/plaid/client/model/PaymentConsentPeriodicAmountAmount.java new file mode 100644 index 0000000000..ef31afcb5e --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentConsentPeriodicAmountAmount.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentAmount; +import com.plaid.client.model.PaymentAmountCurrency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Maximum cumulative amount for all payments in the specified interval. + */ +@ApiModel(description = "Maximum cumulative amount for all payments in the specified interval.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentConsentPeriodicAmountAmount { + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private PaymentAmountCurrency currency; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Double value; + + + public PaymentConsentPeriodicAmountAmount currency(PaymentAmountCurrency currency) { + + this.currency = currency; + return this; + } + + /** + * Get currency + * @return currency + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentAmountCurrency getCurrency() { + return currency; + } + + + public void setCurrency(PaymentAmountCurrency currency) { + this.currency = currency; + } + + + public PaymentConsentPeriodicAmountAmount value(Double value) { + + this.value = value; + return this; + } + + /** + * The amount of the payment. Must contain at most two digits of precision e.g. `1.23`. Minimum accepted value is `1`. + * @return value + **/ + @ApiModelProperty(required = true, value = "The amount of the payment. Must contain at most two digits of precision e.g. `1.23`. Minimum accepted value is `1`.") + + public Double getValue() { + return value; + } + + + public void setValue(Double value) { + this.value = value; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentConsentPeriodicAmountAmount paymentConsentPeriodicAmountAmount = (PaymentConsentPeriodicAmountAmount) o; + return Objects.equals(this.currency, paymentConsentPeriodicAmountAmount.currency) && + Objects.equals(this.value, paymentConsentPeriodicAmountAmount.value); + } + + @Override + public int hashCode() { + return Objects.hash(currency, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentConsentPeriodicAmountAmount {\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentConsentPeriodicInterval.java b/src/main/java/com/plaid/client/model/PaymentConsentPeriodicInterval.java new file mode 100644 index 0000000000..b59ef5fb73 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentConsentPeriodicInterval.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Payment consent periodic interval. + */ +@JsonAdapter(PaymentConsentPeriodicInterval.Adapter.class) +public enum PaymentConsentPeriodicInterval { + + DAY("DAY"), + + WEEK("WEEK"), + + MONTH("MONTH"), + + YEAR("YEAR"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaymentConsentPeriodicInterval(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentConsentPeriodicInterval fromValue(String value) { + for (PaymentConsentPeriodicInterval b : PaymentConsentPeriodicInterval.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PaymentConsentPeriodicInterval.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentConsentPeriodicInterval enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentConsentPeriodicInterval read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentConsentPeriodicInterval.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaymentConsentValidDateTime.java b/src/main/java/com/plaid/client/model/PaymentConsentValidDateTime.java new file mode 100644 index 0000000000..d7548f2d10 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentConsentValidDateTime.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Life span for the payment consent. After the `to` date the payment consent expires and can no longer be used for payment initiation. + */ +@ApiModel(description = "Life span for the payment consent. After the `to` date the payment consent expires and can no longer be used for payment initiation.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentConsentValidDateTime { + public static final String SERIALIZED_NAME_FROM = "from"; + @SerializedName(SERIALIZED_NAME_FROM) + private OffsetDateTime from; + + public static final String SERIALIZED_NAME_TO = "to"; + @SerializedName(SERIALIZED_NAME_TO) + private OffsetDateTime to; + + + public PaymentConsentValidDateTime from(OffsetDateTime from) { + + this.from = from; + return this; + } + + /** + * The date and time from which the consent should be active, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return from + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date and time from which the consent should be active, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getFrom() { + return from; + } + + + public void setFrom(OffsetDateTime from) { + this.from = from; + } + + + public PaymentConsentValidDateTime to(OffsetDateTime to) { + + this.to = to; + return this; + } + + /** + * The date and time at which the consent expires, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return to + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date and time at which the consent expires, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getTo() { + return to; + } + + + public void setTo(OffsetDateTime to) { + this.to = to; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentConsentValidDateTime paymentConsentValidDateTime = (PaymentConsentValidDateTime) o; + return Objects.equals(this.from, paymentConsentValidDateTime.from) && + Objects.equals(this.to, paymentConsentValidDateTime.to); + } + + @Override + public int hashCode() { + return Objects.hash(from, to); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentConsentValidDateTime {\n"); + sb.append(" from: ").append(toIndentedString(from)).append("\n"); + sb.append(" to: ").append(toIndentedString(to)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationAddress.java b/src/main/java/com/plaid/client/model/PaymentInitiationAddress.java new file mode 100644 index 0000000000..ea21acc1ae --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationAddress.java @@ -0,0 +1,189 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The optional address of the payment recipient's bank account. Required by most institutions outside of the UK. + */ +@ApiModel(description = "The optional address of the payment recipient's bank account. Required by most institutions outside of the UK.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationAddress { + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private List street = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public PaymentInitiationAddress street(List street) { + + this.street = street; + return this; + } + + public PaymentInitiationAddress addStreetItem(String streetItem) { + this.street.add(streetItem); + return this; + } + + /** + * An array of length 1-2 representing the street address where the recipient is located. Maximum of 70 characters. + * @return street + **/ + @ApiModelProperty(required = true, value = "An array of length 1-2 representing the street address where the recipient is located. Maximum of 70 characters.") + + public List getStreet() { + return street; + } + + + public void setStreet(List street) { + this.street = street; + } + + + public PaymentInitiationAddress city(String city) { + + this.city = city; + return this; + } + + /** + * The city where the recipient is located. Maximum of 35 characters. + * @return city + **/ + @ApiModelProperty(required = true, value = "The city where the recipient is located. Maximum of 35 characters.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public PaymentInitiationAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code where the recipient is located. Maximum of 16 characters. + * @return postalCode + **/ + @ApiModelProperty(required = true, value = "The postal code where the recipient is located. Maximum of 16 characters.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public PaymentInitiationAddress country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code where the recipient is located. + * @return country + **/ + @ApiModelProperty(required = true, value = "The ISO 3166-1 alpha-2 country code where the recipient is located.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationAddress paymentInitiationAddress = (PaymentInitiationAddress) o; + return Objects.equals(this.street, paymentInitiationAddress.street) && + Objects.equals(this.city, paymentInitiationAddress.city) && + Objects.equals(this.postalCode, paymentInitiationAddress.postalCode) && + Objects.equals(this.country, paymentInitiationAddress.country); + } + + @Override + public int hashCode() { + return Objects.hash(street, city, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationAddress {\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsent.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsent.java new file mode 100644 index 0000000000..ebbc5b1a61 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsent.java @@ -0,0 +1,341 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ExternalPaymentRefundDetails; +import com.plaid.client.model.PaymentInitiationConsentConstraints; +import com.plaid.client.model.PaymentInitiationConsentScope; +import com.plaid.client.model.PaymentInitiationConsentStatus; +import com.plaid.client.model.PaymentInitiationConsentType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * PaymentInitiationConsent defines a payment initiation consent. + */ +@ApiModel(description = "PaymentInitiationConsent defines a payment initiation consent.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationConsent { + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PaymentInitiationConsentStatus status; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_REFERENCE = "reference"; + @SerializedName(SERIALIZED_NAME_REFERENCE) + private String reference; + + public static final String SERIALIZED_NAME_CONSTRAINTS = "constraints"; + @SerializedName(SERIALIZED_NAME_CONSTRAINTS) + private PaymentInitiationConsentConstraints constraints; + + public static final String SERIALIZED_NAME_SCOPES = "scopes"; + @SerializedName(SERIALIZED_NAME_SCOPES) + private List scopes = null; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private PaymentInitiationConsentType type; + + public static final String SERIALIZED_NAME_PAYER_DETAILS = "payer_details"; + @SerializedName(SERIALIZED_NAME_PAYER_DETAILS) + private ExternalPaymentRefundDetails payerDetails; + + + public PaymentInitiationConsent consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * The consent ID. + * @return consentId + **/ + @ApiModelProperty(required = true, value = "The consent ID.") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + public PaymentInitiationConsent status(PaymentInitiationConsentStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationConsentStatus getStatus() { + return status; + } + + + public void setStatus(PaymentInitiationConsentStatus status) { + this.status = status; + } + + + public PaymentInitiationConsent createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Consent creation timestamp, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "Consent creation timestamp, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public PaymentInitiationConsent recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The ID of the recipient the payment consent is for. + * @return recipientId + **/ + @ApiModelProperty(required = true, value = "The ID of the recipient the payment consent is for.") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public PaymentInitiationConsent reference(String reference) { + + this.reference = reference; + return this; + } + + /** + * A reference for the payment consent. + * @return reference + **/ + @ApiModelProperty(required = true, value = "A reference for the payment consent.") + + public String getReference() { + return reference; + } + + + public void setReference(String reference) { + this.reference = reference; + } + + + public PaymentInitiationConsent constraints(PaymentInitiationConsentConstraints constraints) { + + this.constraints = constraints; + return this; + } + + /** + * Get constraints + * @return constraints + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationConsentConstraints getConstraints() { + return constraints; + } + + + public void setConstraints(PaymentInitiationConsentConstraints constraints) { + this.constraints = constraints; + } + + + public PaymentInitiationConsent scopes(List scopes) { + + this.scopes = scopes; + return this; + } + + public PaymentInitiationConsent addScopesItem(PaymentInitiationConsentScope scopesItem) { + if (this.scopes == null) { + this.scopes = new ArrayList<>(); + } + this.scopes.add(scopesItem); + return this; + } + + /** + * Deprecated, use the 'type' field instead. + * @return scopes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated, use the 'type' field instead.") + + public List getScopes() { + return scopes; + } + + + public void setScopes(List scopes) { + this.scopes = scopes; + } + + + public PaymentInitiationConsent type(PaymentInitiationConsentType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationConsentType getType() { + return type; + } + + + public void setType(PaymentInitiationConsentType type) { + this.type = type; + } + + + public PaymentInitiationConsent payerDetails(ExternalPaymentRefundDetails payerDetails) { + + this.payerDetails = payerDetails; + return this; + } + + /** + * Get payerDetails + * @return payerDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExternalPaymentRefundDetails getPayerDetails() { + return payerDetails; + } + + + public void setPayerDetails(ExternalPaymentRefundDetails payerDetails) { + this.payerDetails = payerDetails; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationConsent paymentInitiationConsent = (PaymentInitiationConsent) o; + return Objects.equals(this.consentId, paymentInitiationConsent.consentId) && + Objects.equals(this.status, paymentInitiationConsent.status) && + Objects.equals(this.createdAt, paymentInitiationConsent.createdAt) && + Objects.equals(this.recipientId, paymentInitiationConsent.recipientId) && + Objects.equals(this.reference, paymentInitiationConsent.reference) && + Objects.equals(this.constraints, paymentInitiationConsent.constraints) && + Objects.equals(this.scopes, paymentInitiationConsent.scopes) && + Objects.equals(this.type, paymentInitiationConsent.type) && + Objects.equals(this.payerDetails, paymentInitiationConsent.payerDetails); + } + + @Override + public int hashCode() { + return Objects.hash(consentId, status, createdAt, recipientId, reference, constraints, scopes, type, payerDetails); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationConsent {\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); + sb.append(" constraints: ").append(toIndentedString(constraints)).append("\n"); + sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" payerDetails: ").append(toIndentedString(payerDetails)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentConstraints.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentConstraints.java new file mode 100644 index 0000000000..7ee4ff3c1d --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentConstraints.java @@ -0,0 +1,165 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentConsentMaxPaymentAmount; +import com.plaid.client.model.PaymentConsentPeriodicAmount; +import com.plaid.client.model.PaymentConsentValidDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Limitations that will be applied to payments initiated using the payment consent. + */ +@ApiModel(description = "Limitations that will be applied to payments initiated using the payment consent.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationConsentConstraints { + public static final String SERIALIZED_NAME_VALID_DATE_TIME = "valid_date_time"; + @SerializedName(SERIALIZED_NAME_VALID_DATE_TIME) + private PaymentConsentValidDateTime validDateTime; + + public static final String SERIALIZED_NAME_MAX_PAYMENT_AMOUNT = "max_payment_amount"; + @SerializedName(SERIALIZED_NAME_MAX_PAYMENT_AMOUNT) + private PaymentConsentMaxPaymentAmount maxPaymentAmount; + + public static final String SERIALIZED_NAME_PERIODIC_AMOUNTS = "periodic_amounts"; + @SerializedName(SERIALIZED_NAME_PERIODIC_AMOUNTS) + private List periodicAmounts = new ArrayList<>(); + + + public PaymentInitiationConsentConstraints validDateTime(PaymentConsentValidDateTime validDateTime) { + + this.validDateTime = validDateTime; + return this; + } + + /** + * Get validDateTime + * @return validDateTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentConsentValidDateTime getValidDateTime() { + return validDateTime; + } + + + public void setValidDateTime(PaymentConsentValidDateTime validDateTime) { + this.validDateTime = validDateTime; + } + + + public PaymentInitiationConsentConstraints maxPaymentAmount(PaymentConsentMaxPaymentAmount maxPaymentAmount) { + + this.maxPaymentAmount = maxPaymentAmount; + return this; + } + + /** + * Get maxPaymentAmount + * @return maxPaymentAmount + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentConsentMaxPaymentAmount getMaxPaymentAmount() { + return maxPaymentAmount; + } + + + public void setMaxPaymentAmount(PaymentConsentMaxPaymentAmount maxPaymentAmount) { + this.maxPaymentAmount = maxPaymentAmount; + } + + + public PaymentInitiationConsentConstraints periodicAmounts(List periodicAmounts) { + + this.periodicAmounts = periodicAmounts; + return this; + } + + public PaymentInitiationConsentConstraints addPeriodicAmountsItem(PaymentConsentPeriodicAmount periodicAmountsItem) { + this.periodicAmounts.add(periodicAmountsItem); + return this; + } + + /** + * A list of amount limitations per period of time. + * @return periodicAmounts + **/ + @ApiModelProperty(required = true, value = "A list of amount limitations per period of time.") + + public List getPeriodicAmounts() { + return periodicAmounts; + } + + + public void setPeriodicAmounts(List periodicAmounts) { + this.periodicAmounts = periodicAmounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationConsentConstraints paymentInitiationConsentConstraints = (PaymentInitiationConsentConstraints) o; + return Objects.equals(this.validDateTime, paymentInitiationConsentConstraints.validDateTime) && + Objects.equals(this.maxPaymentAmount, paymentInitiationConsentConstraints.maxPaymentAmount) && + Objects.equals(this.periodicAmounts, paymentInitiationConsentConstraints.periodicAmounts); + } + + @Override + public int hashCode() { + return Objects.hash(validDateTime, maxPaymentAmount, periodicAmounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationConsentConstraints {\n"); + sb.append(" validDateTime: ").append(toIndentedString(validDateTime)).append("\n"); + sb.append(" maxPaymentAmount: ").append(toIndentedString(maxPaymentAmount)).append("\n"); + sb.append(" periodicAmounts: ").append(toIndentedString(periodicAmounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentCreateRequest.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentCreateRequest.java new file mode 100644 index 0000000000..26b10d5c34 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentCreateRequest.java @@ -0,0 +1,344 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ExternalPaymentInitiationConsentOptions; +import com.plaid.client.model.PaymentInitiationConsentConstraints; +import com.plaid.client.model.PaymentInitiationConsentPayerDetails; +import com.plaid.client.model.PaymentInitiationConsentScope; +import com.plaid.client.model.PaymentInitiationConsentType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +/** + * PaymentInitiationConsentCreateRequest defines the request schema for `/payment_initiation/consent/create` + */ +@ApiModel(description = "PaymentInitiationConsentCreateRequest defines the request schema for `/payment_initiation/consent/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationConsentCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_REFERENCE = "reference"; + @SerializedName(SERIALIZED_NAME_REFERENCE) + private String reference; + + public static final String SERIALIZED_NAME_SCOPES = "scopes"; + @SerializedName(SERIALIZED_NAME_SCOPES) + private Set scopes = null; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private PaymentInitiationConsentType type; + + public static final String SERIALIZED_NAME_CONSTRAINTS = "constraints"; + @SerializedName(SERIALIZED_NAME_CONSTRAINTS) + private PaymentInitiationConsentConstraints constraints; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private ExternalPaymentInitiationConsentOptions options; + + public static final String SERIALIZED_NAME_PAYER_DETAILS = "payer_details"; + @SerializedName(SERIALIZED_NAME_PAYER_DETAILS) + private PaymentInitiationConsentPayerDetails payerDetails; + + + public PaymentInitiationConsentCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentInitiationConsentCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentInitiationConsentCreateRequest recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The ID of the recipient the payment consent is for. The created consent can be used to transfer funds to this recipient only. + * @return recipientId + **/ + @ApiModelProperty(required = true, value = "The ID of the recipient the payment consent is for. The created consent can be used to transfer funds to this recipient only.") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public PaymentInitiationConsentCreateRequest reference(String reference) { + + this.reference = reference; + return this; + } + + /** + * A reference for the payment consent. This must be an alphanumeric string with at most 18 characters and must not contain any special characters. + * @return reference + **/ + @ApiModelProperty(required = true, value = "A reference for the payment consent. This must be an alphanumeric string with at most 18 characters and must not contain any special characters.") + + public String getReference() { + return reference; + } + + + public void setReference(String reference) { + this.reference = reference; + } + + + public PaymentInitiationConsentCreateRequest scopes(Set scopes) { + + this.scopes = scopes; + return this; + } + + public PaymentInitiationConsentCreateRequest addScopesItem(PaymentInitiationConsentScope scopesItem) { + if (this.scopes == null) { + this.scopes = new LinkedHashSet<>(); + } + this.scopes.add(scopesItem); + return this; + } + + /** + * An array of payment consent scopes. + * @return scopes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of payment consent scopes.") + + public Set getScopes() { + return scopes; + } + + + public void setScopes(Set scopes) { + this.scopes = scopes; + } + + + public PaymentInitiationConsentCreateRequest type(PaymentInitiationConsentType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationConsentType getType() { + return type; + } + + + public void setType(PaymentInitiationConsentType type) { + this.type = type; + } + + + public PaymentInitiationConsentCreateRequest constraints(PaymentInitiationConsentConstraints constraints) { + + this.constraints = constraints; + return this; + } + + /** + * Get constraints + * @return constraints + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationConsentConstraints getConstraints() { + return constraints; + } + + + public void setConstraints(PaymentInitiationConsentConstraints constraints) { + this.constraints = constraints; + } + + + public PaymentInitiationConsentCreateRequest options(ExternalPaymentInitiationConsentOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExternalPaymentInitiationConsentOptions getOptions() { + return options; + } + + + public void setOptions(ExternalPaymentInitiationConsentOptions options) { + this.options = options; + } + + + public PaymentInitiationConsentCreateRequest payerDetails(PaymentInitiationConsentPayerDetails payerDetails) { + + this.payerDetails = payerDetails; + return this; + } + + /** + * Get payerDetails + * @return payerDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationConsentPayerDetails getPayerDetails() { + return payerDetails; + } + + + public void setPayerDetails(PaymentInitiationConsentPayerDetails payerDetails) { + this.payerDetails = payerDetails; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationConsentCreateRequest paymentInitiationConsentCreateRequest = (PaymentInitiationConsentCreateRequest) o; + return Objects.equals(this.clientId, paymentInitiationConsentCreateRequest.clientId) && + Objects.equals(this.secret, paymentInitiationConsentCreateRequest.secret) && + Objects.equals(this.recipientId, paymentInitiationConsentCreateRequest.recipientId) && + Objects.equals(this.reference, paymentInitiationConsentCreateRequest.reference) && + Objects.equals(this.scopes, paymentInitiationConsentCreateRequest.scopes) && + Objects.equals(this.type, paymentInitiationConsentCreateRequest.type) && + Objects.equals(this.constraints, paymentInitiationConsentCreateRequest.constraints) && + Objects.equals(this.options, paymentInitiationConsentCreateRequest.options) && + Objects.equals(this.payerDetails, paymentInitiationConsentCreateRequest.payerDetails); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, recipientId, reference, scopes, type, constraints, options, payerDetails); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationConsentCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); + sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" constraints: ").append(toIndentedString(constraints)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append(" payerDetails: ").append(toIndentedString(payerDetails)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentCreateResponse.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentCreateResponse.java new file mode 100644 index 0000000000..60b1c9081e --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentCreateResponse.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationConsentStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationConsentCreateResponse defines the response schema for `/payment_initiation/consent/create` + */ +@ApiModel(description = "PaymentInitiationConsentCreateResponse defines the response schema for `/payment_initiation/consent/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationConsentCreateResponse { + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PaymentInitiationConsentStatus status; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentInitiationConsentCreateResponse consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * A unique ID identifying the payment consent. + * @return consentId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying the payment consent.") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + public PaymentInitiationConsentCreateResponse status(PaymentInitiationConsentStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationConsentStatus getStatus() { + return status; + } + + + public void setStatus(PaymentInitiationConsentStatus status) { + this.status = status; + } + + + public PaymentInitiationConsentCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationConsentCreateResponse paymentInitiationConsentCreateResponse = (PaymentInitiationConsentCreateResponse) o; + return Objects.equals(this.consentId, paymentInitiationConsentCreateResponse.consentId) && + Objects.equals(this.status, paymentInitiationConsentCreateResponse.status) && + Objects.equals(this.requestId, paymentInitiationConsentCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(consentId, status, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationConsentCreateResponse {\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentGetRequest.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentGetRequest.java new file mode 100644 index 0000000000..c9907f31e6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationConsentGetRequest defines the request schema for `/payment_initiation/consent/get` + */ +@ApiModel(description = "PaymentInitiationConsentGetRequest defines the request schema for `/payment_initiation/consent/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationConsentGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + + public PaymentInitiationConsentGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentInitiationConsentGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentInitiationConsentGetRequest consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * The `consent_id` returned from `/payment_initiation/consent/create`. + * @return consentId + **/ + @ApiModelProperty(required = true, value = "The `consent_id` returned from `/payment_initiation/consent/create`.") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationConsentGetRequest paymentInitiationConsentGetRequest = (PaymentInitiationConsentGetRequest) o; + return Objects.equals(this.clientId, paymentInitiationConsentGetRequest.clientId) && + Objects.equals(this.secret, paymentInitiationConsentGetRequest.secret) && + Objects.equals(this.consentId, paymentInitiationConsentGetRequest.consentId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, consentId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationConsentGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentGetResponse.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentGetResponse.java new file mode 100644 index 0000000000..2d7dbe81ab --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentGetResponse.java @@ -0,0 +1,371 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ExternalPaymentRefundDetails; +import com.plaid.client.model.PaymentInitiationConsent; +import com.plaid.client.model.PaymentInitiationConsentConstraints; +import com.plaid.client.model.PaymentInitiationConsentScope; +import com.plaid.client.model.PaymentInitiationConsentStatus; +import com.plaid.client.model.PaymentInitiationConsentType; +import com.plaid.client.model.PaymentInitiationRecipientGetResponseAllOf; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * PaymentInitiationConsentGetResponse defines the response schema for `/payment_initiation/consent/get` + */ +@ApiModel(description = "PaymentInitiationConsentGetResponse defines the response schema for `/payment_initiation/consent/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationConsentGetResponse { + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PaymentInitiationConsentStatus status; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_REFERENCE = "reference"; + @SerializedName(SERIALIZED_NAME_REFERENCE) + private String reference; + + public static final String SERIALIZED_NAME_CONSTRAINTS = "constraints"; + @SerializedName(SERIALIZED_NAME_CONSTRAINTS) + private PaymentInitiationConsentConstraints constraints; + + public static final String SERIALIZED_NAME_SCOPES = "scopes"; + @SerializedName(SERIALIZED_NAME_SCOPES) + private List scopes = null; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private PaymentInitiationConsentType type; + + public static final String SERIALIZED_NAME_PAYER_DETAILS = "payer_details"; + @SerializedName(SERIALIZED_NAME_PAYER_DETAILS) + private ExternalPaymentRefundDetails payerDetails; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentInitiationConsentGetResponse consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * The consent ID. + * @return consentId + **/ + @ApiModelProperty(required = true, value = "The consent ID.") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + public PaymentInitiationConsentGetResponse status(PaymentInitiationConsentStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationConsentStatus getStatus() { + return status; + } + + + public void setStatus(PaymentInitiationConsentStatus status) { + this.status = status; + } + + + public PaymentInitiationConsentGetResponse createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Consent creation timestamp, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "Consent creation timestamp, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public PaymentInitiationConsentGetResponse recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The ID of the recipient the payment consent is for. + * @return recipientId + **/ + @ApiModelProperty(required = true, value = "The ID of the recipient the payment consent is for.") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public PaymentInitiationConsentGetResponse reference(String reference) { + + this.reference = reference; + return this; + } + + /** + * A reference for the payment consent. + * @return reference + **/ + @ApiModelProperty(required = true, value = "A reference for the payment consent.") + + public String getReference() { + return reference; + } + + + public void setReference(String reference) { + this.reference = reference; + } + + + public PaymentInitiationConsentGetResponse constraints(PaymentInitiationConsentConstraints constraints) { + + this.constraints = constraints; + return this; + } + + /** + * Get constraints + * @return constraints + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationConsentConstraints getConstraints() { + return constraints; + } + + + public void setConstraints(PaymentInitiationConsentConstraints constraints) { + this.constraints = constraints; + } + + + public PaymentInitiationConsentGetResponse scopes(List scopes) { + + this.scopes = scopes; + return this; + } + + public PaymentInitiationConsentGetResponse addScopesItem(PaymentInitiationConsentScope scopesItem) { + if (this.scopes == null) { + this.scopes = new ArrayList<>(); + } + this.scopes.add(scopesItem); + return this; + } + + /** + * Deprecated, use the 'type' field instead. + * @return scopes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated, use the 'type' field instead.") + + public List getScopes() { + return scopes; + } + + + public void setScopes(List scopes) { + this.scopes = scopes; + } + + + public PaymentInitiationConsentGetResponse type(PaymentInitiationConsentType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationConsentType getType() { + return type; + } + + + public void setType(PaymentInitiationConsentType type) { + this.type = type; + } + + + public PaymentInitiationConsentGetResponse payerDetails(ExternalPaymentRefundDetails payerDetails) { + + this.payerDetails = payerDetails; + return this; + } + + /** + * Get payerDetails + * @return payerDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExternalPaymentRefundDetails getPayerDetails() { + return payerDetails; + } + + + public void setPayerDetails(ExternalPaymentRefundDetails payerDetails) { + this.payerDetails = payerDetails; + } + + + public PaymentInitiationConsentGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationConsentGetResponse paymentInitiationConsentGetResponse = (PaymentInitiationConsentGetResponse) o; + return Objects.equals(this.consentId, paymentInitiationConsentGetResponse.consentId) && + Objects.equals(this.status, paymentInitiationConsentGetResponse.status) && + Objects.equals(this.createdAt, paymentInitiationConsentGetResponse.createdAt) && + Objects.equals(this.recipientId, paymentInitiationConsentGetResponse.recipientId) && + Objects.equals(this.reference, paymentInitiationConsentGetResponse.reference) && + Objects.equals(this.constraints, paymentInitiationConsentGetResponse.constraints) && + Objects.equals(this.scopes, paymentInitiationConsentGetResponse.scopes) && + Objects.equals(this.type, paymentInitiationConsentGetResponse.type) && + Objects.equals(this.payerDetails, paymentInitiationConsentGetResponse.payerDetails) && + Objects.equals(this.requestId, paymentInitiationConsentGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(consentId, status, createdAt, recipientId, reference, constraints, scopes, type, payerDetails, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationConsentGetResponse {\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); + sb.append(" constraints: ").append(toIndentedString(constraints)).append("\n"); + sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" payerDetails: ").append(toIndentedString(payerDetails)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentPayerDetails.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentPayerDetails.java new file mode 100644 index 0000000000..22cd73a677 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentPayerDetails.java @@ -0,0 +1,263 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationAddress; +import com.plaid.client.model.PaymentInitiationConsentPayerNumbers; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing the payment consent payer details. Payer `name` and account `numbers` are required to lock the account to which the consent can be created. + */ +@ApiModel(description = "An object representing the payment consent payer details. Payer `name` and account `numbers` are required to lock the account to which the consent can be created.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationConsentPayerDetails { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NUMBERS = "numbers"; + @SerializedName(SERIALIZED_NAME_NUMBERS) + private PaymentInitiationConsentPayerNumbers numbers; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private PaymentInitiationAddress address; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_PHONE_NUMBERS = "phone_numbers"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBERS) + private List phoneNumbers = null; + + public static final String SERIALIZED_NAME_EMAILS = "emails"; + @SerializedName(SERIALIZED_NAME_EMAILS) + private List emails = null; + + + public PaymentInitiationConsentPayerDetails name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the payer as it appears in their bank account + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the payer as it appears in their bank account") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public PaymentInitiationConsentPayerDetails numbers(PaymentInitiationConsentPayerNumbers numbers) { + + this.numbers = numbers; + return this; + } + + /** + * Get numbers + * @return numbers + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationConsentPayerNumbers getNumbers() { + return numbers; + } + + + public void setNumbers(PaymentInitiationConsentPayerNumbers numbers) { + this.numbers = numbers; + } + + + public PaymentInitiationConsentPayerDetails address(PaymentInitiationAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationAddress getAddress() { + return address; + } + + + public void setAddress(PaymentInitiationAddress address) { + this.address = address; + } + + + public PaymentInitiationConsentPayerDetails dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * The payer's birthdate, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The payer's birthdate, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format.") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public PaymentInitiationConsentPayerDetails phoneNumbers(List phoneNumbers) { + + this.phoneNumbers = phoneNumbers; + return this; + } + + public PaymentInitiationConsentPayerDetails addPhoneNumbersItem(String phoneNumbersItem) { + if (this.phoneNumbers == null) { + this.phoneNumbers = new ArrayList<>(); + } + this.phoneNumbers.add(phoneNumbersItem); + return this; + } + + /** + * The payer's phone numbers in E.164 format: +{countrycode}{number} + * @return phoneNumbers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The payer's phone numbers in E.164 format: +{countrycode}{number}") + + public List getPhoneNumbers() { + return phoneNumbers; + } + + + public void setPhoneNumbers(List phoneNumbers) { + this.phoneNumbers = phoneNumbers; + } + + + public PaymentInitiationConsentPayerDetails emails(List emails) { + + this.emails = emails; + return this; + } + + public PaymentInitiationConsentPayerDetails addEmailsItem(String emailsItem) { + if (this.emails == null) { + this.emails = new ArrayList<>(); + } + this.emails.add(emailsItem); + return this; + } + + /** + * The payer's emails + * @return emails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The payer's emails") + + public List getEmails() { + return emails; + } + + + public void setEmails(List emails) { + this.emails = emails; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationConsentPayerDetails paymentInitiationConsentPayerDetails = (PaymentInitiationConsentPayerDetails) o; + return Objects.equals(this.name, paymentInitiationConsentPayerDetails.name) && + Objects.equals(this.numbers, paymentInitiationConsentPayerDetails.numbers) && + Objects.equals(this.address, paymentInitiationConsentPayerDetails.address) && + Objects.equals(this.dateOfBirth, paymentInitiationConsentPayerDetails.dateOfBirth) && + Objects.equals(this.phoneNumbers, paymentInitiationConsentPayerDetails.phoneNumbers) && + Objects.equals(this.emails, paymentInitiationConsentPayerDetails.emails); + } + + @Override + public int hashCode() { + return Objects.hash(name, numbers, address, dateOfBirth, phoneNumbers, emails); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationConsentPayerDetails {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" numbers: ").append(toIndentedString(numbers)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" phoneNumbers: ").append(toIndentedString(phoneNumbers)).append("\n"); + sb.append(" emails: ").append(toIndentedString(emails)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentPayerNumbers.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentPayerNumbers.java new file mode 100644 index 0000000000..a28cbf9518 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentPayerNumbers.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NumbersIBANNullable; +import com.plaid.client.model.PaymentInitiationOptionalRestrictionBacs; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The payer's bank account numbers. Exactly one of IBAN or Bacs data is required. + */ +@ApiModel(description = "The payer's bank account numbers. Exactly one of IBAN or Bacs data is required.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationConsentPayerNumbers { + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private PaymentInitiationOptionalRestrictionBacs bacs; + + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private NumbersIBANNullable iban; + + + public PaymentInitiationConsentPayerNumbers bacs(PaymentInitiationOptionalRestrictionBacs bacs) { + + this.bacs = bacs; + return this; + } + + /** + * Get bacs + * @return bacs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationOptionalRestrictionBacs getBacs() { + return bacs; + } + + + public void setBacs(PaymentInitiationOptionalRestrictionBacs bacs) { + this.bacs = bacs; + } + + + public PaymentInitiationConsentPayerNumbers iban(NumbersIBANNullable iban) { + + this.iban = iban; + return this; + } + + /** + * Get iban + * @return iban + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NumbersIBANNullable getIban() { + return iban; + } + + + public void setIban(NumbersIBANNullable iban) { + this.iban = iban; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationConsentPayerNumbers paymentInitiationConsentPayerNumbers = (PaymentInitiationConsentPayerNumbers) o; + return Objects.equals(this.bacs, paymentInitiationConsentPayerNumbers.bacs) && + Objects.equals(this.iban, paymentInitiationConsentPayerNumbers.iban); + } + + @Override + public int hashCode() { + return Objects.hash(bacs, iban); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationConsentPayerNumbers {\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentPaymentExecuteRequest.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentPaymentExecuteRequest.java new file mode 100644 index 0000000000..29acced6af --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentPaymentExecuteRequest.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentAmount; +import com.plaid.client.model.PaymentInitiationConsentProcessingMode; +import com.plaid.client.model.PaymentInitiationConsentScope; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationConsentPaymentExecuteRequest defines the request schema for `/payment_initiation/consent/payment/execute` + */ +@ApiModel(description = "PaymentInitiationConsentPaymentExecuteRequest defines the request schema for `/payment_initiation/consent/payment/execute`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationConsentPaymentExecuteRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private PaymentAmount amount; + + public static final String SERIALIZED_NAME_IDEMPOTENCY_KEY = "idempotency_key"; + @SerializedName(SERIALIZED_NAME_IDEMPOTENCY_KEY) + private String idempotencyKey; + + public static final String SERIALIZED_NAME_REFERENCE = "reference"; + @SerializedName(SERIALIZED_NAME_REFERENCE) + private String reference; + + public static final String SERIALIZED_NAME_SCOPE = "scope"; + @SerializedName(SERIALIZED_NAME_SCOPE) + private PaymentInitiationConsentScope scope; + + public static final String SERIALIZED_NAME_PROCESSING_MODE = "processing_mode"; + @SerializedName(SERIALIZED_NAME_PROCESSING_MODE) + private PaymentInitiationConsentProcessingMode processingMode; + + + public PaymentInitiationConsentPaymentExecuteRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentInitiationConsentPaymentExecuteRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentInitiationConsentPaymentExecuteRequest consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * The consent ID. + * @return consentId + **/ + @ApiModelProperty(required = true, value = "The consent ID.") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + public PaymentInitiationConsentPaymentExecuteRequest amount(PaymentAmount amount) { + + this.amount = amount; + return this; + } + + /** + * Get amount + * @return amount + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentAmount getAmount() { + return amount; + } + + + public void setAmount(PaymentAmount amount) { + this.amount = amount; + } + + + public PaymentInitiationConsentPaymentExecuteRequest idempotencyKey(String idempotencyKey) { + + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * A random key provided by the client, per unique consent payment. Maximum of 128 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. If a request to execute a consent payment fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single payment is created. If the request was successfully processed, it will prevent any payment that uses the same idempotency key, and was received within 48 hours of the first request, from being processed. + * @return idempotencyKey + **/ + @ApiModelProperty(required = true, value = "A random key provided by the client, per unique consent payment. Maximum of 128 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. If a request to execute a consent payment fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single payment is created. If the request was successfully processed, it will prevent any payment that uses the same idempotency key, and was received within 48 hours of the first request, from being processed.") + + public String getIdempotencyKey() { + return idempotencyKey; + } + + + public void setIdempotencyKey(String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + } + + + public PaymentInitiationConsentPaymentExecuteRequest reference(String reference) { + + this.reference = reference; + return this; + } + + /** + * A reference for the payment. This must be an alphanumeric string with at most 18 characters and must not contain any special characters (since not all institutions support them). If not provided, Plaid will automatically fall back to the reference from consent. In order to track settlement via Payment Confirmation, each payment must have a unique reference. If the reference provided through the API is not unique, Plaid will adjust it. Some institutions may limit the reference to less than 18 characters. If necessary, Plaid will adjust the reference by truncating it to fit the institution's requirements. Both the originally provided and automatically adjusted references (if any) can be found in the `reference` and `adjusted_reference` fields, respectively. + * @return reference + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A reference for the payment. This must be an alphanumeric string with at most 18 characters and must not contain any special characters (since not all institutions support them). If not provided, Plaid will automatically fall back to the reference from consent. In order to track settlement via Payment Confirmation, each payment must have a unique reference. If the reference provided through the API is not unique, Plaid will adjust it. Some institutions may limit the reference to less than 18 characters. If necessary, Plaid will adjust the reference by truncating it to fit the institution's requirements. Both the originally provided and automatically adjusted references (if any) can be found in the `reference` and `adjusted_reference` fields, respectively.") + + public String getReference() { + return reference; + } + + + public void setReference(String reference) { + this.reference = reference; + } + + + public PaymentInitiationConsentPaymentExecuteRequest scope(PaymentInitiationConsentScope scope) { + + this.scope = scope; + return this; + } + + /** + * Get scope + * @return scope + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationConsentScope getScope() { + return scope; + } + + + public void setScope(PaymentInitiationConsentScope scope) { + this.scope = scope; + } + + + public PaymentInitiationConsentPaymentExecuteRequest processingMode(PaymentInitiationConsentProcessingMode processingMode) { + + this.processingMode = processingMode; + return this; + } + + /** + * Get processingMode + * @return processingMode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationConsentProcessingMode getProcessingMode() { + return processingMode; + } + + + public void setProcessingMode(PaymentInitiationConsentProcessingMode processingMode) { + this.processingMode = processingMode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationConsentPaymentExecuteRequest paymentInitiationConsentPaymentExecuteRequest = (PaymentInitiationConsentPaymentExecuteRequest) o; + return Objects.equals(this.clientId, paymentInitiationConsentPaymentExecuteRequest.clientId) && + Objects.equals(this.secret, paymentInitiationConsentPaymentExecuteRequest.secret) && + Objects.equals(this.consentId, paymentInitiationConsentPaymentExecuteRequest.consentId) && + Objects.equals(this.amount, paymentInitiationConsentPaymentExecuteRequest.amount) && + Objects.equals(this.idempotencyKey, paymentInitiationConsentPaymentExecuteRequest.idempotencyKey) && + Objects.equals(this.reference, paymentInitiationConsentPaymentExecuteRequest.reference) && + Objects.equals(this.scope, paymentInitiationConsentPaymentExecuteRequest.scope) && + Objects.equals(this.processingMode, paymentInitiationConsentPaymentExecuteRequest.processingMode); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, consentId, amount, idempotencyKey, reference, scope, processingMode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationConsentPaymentExecuteRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" idempotencyKey: ").append(toIndentedString(idempotencyKey)).append("\n"); + sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append(" processingMode: ").append(toIndentedString(processingMode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentPaymentExecuteResponse.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentPaymentExecuteResponse.java new file mode 100644 index 0000000000..b38201e437 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentPaymentExecuteResponse.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationPaymentStatus; +import com.plaid.client.model.PlaidError; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationConsentPaymentExecuteResponse defines the response schema for `/payment_initiation/consent/payment/execute` + */ +@ApiModel(description = "PaymentInitiationConsentPaymentExecuteResponse defines the response schema for `/payment_initiation/consent/payment/execute`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationConsentPaymentExecuteResponse { + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PaymentInitiationPaymentStatus status; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + + public PaymentInitiationConsentPaymentExecuteResponse paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * A unique ID identifying the payment + * @return paymentId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying the payment") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + public PaymentInitiationConsentPaymentExecuteResponse status(PaymentInitiationPaymentStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationPaymentStatus getStatus() { + return status; + } + + + public void setStatus(PaymentInitiationPaymentStatus status) { + this.status = status; + } + + + public PaymentInitiationConsentPaymentExecuteResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public PaymentInitiationConsentPaymentExecuteResponse error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationConsentPaymentExecuteResponse paymentInitiationConsentPaymentExecuteResponse = (PaymentInitiationConsentPaymentExecuteResponse) o; + return Objects.equals(this.paymentId, paymentInitiationConsentPaymentExecuteResponse.paymentId) && + Objects.equals(this.status, paymentInitiationConsentPaymentExecuteResponse.status) && + Objects.equals(this.requestId, paymentInitiationConsentPaymentExecuteResponse.requestId) && + Objects.equals(this.error, paymentInitiationConsentPaymentExecuteResponse.error); + } + + @Override + public int hashCode() { + return Objects.hash(paymentId, status, requestId, error); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationConsentPaymentExecuteResponse {\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentProcessingMode.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentProcessingMode.java new file mode 100644 index 0000000000..9b43fbeafc --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentProcessingMode.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Decides the mode under which the payment processing should be performed, using `IMMEDIATE` as default. `IMMEDIATE`: Will immediately execute the payment, waiting for a response from the ASPSP before returning the result of the payment initiation. This is ideal for user-present flows. `ASYNC`: Will accept a payment execution request and schedule it for processing, immediately returning the new `payment_id`. Listen for webhooks to obtain real-time updates on the payment status. This is ideal for non user-present flows. + */ +@JsonAdapter(PaymentInitiationConsentProcessingMode.Adapter.class) +public enum PaymentInitiationConsentProcessingMode { + + ASYNC("ASYNC"), + + IMMEDIATE("IMMEDIATE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaymentInitiationConsentProcessingMode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentInitiationConsentProcessingMode fromValue(String value) { + for (PaymentInitiationConsentProcessingMode b : PaymentInitiationConsentProcessingMode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PaymentInitiationConsentProcessingMode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentInitiationConsentProcessingMode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentInitiationConsentProcessingMode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentInitiationConsentProcessingMode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentRevokeRequest.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentRevokeRequest.java new file mode 100644 index 0000000000..fd491907f3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentRevokeRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationConsentRevokeRequest defines the request schema for `/payment_initiation/consent/revoke` + */ +@ApiModel(description = "PaymentInitiationConsentRevokeRequest defines the request schema for `/payment_initiation/consent/revoke`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationConsentRevokeRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + + public PaymentInitiationConsentRevokeRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentInitiationConsentRevokeRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentInitiationConsentRevokeRequest consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * The consent ID. + * @return consentId + **/ + @ApiModelProperty(required = true, value = "The consent ID.") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationConsentRevokeRequest paymentInitiationConsentRevokeRequest = (PaymentInitiationConsentRevokeRequest) o; + return Objects.equals(this.clientId, paymentInitiationConsentRevokeRequest.clientId) && + Objects.equals(this.secret, paymentInitiationConsentRevokeRequest.secret) && + Objects.equals(this.consentId, paymentInitiationConsentRevokeRequest.consentId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, consentId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationConsentRevokeRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentRevokeResponse.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentRevokeResponse.java new file mode 100644 index 0000000000..6bf80048ba --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentRevokeResponse.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationConsentRevokeResponse defines the response schema for `/payment_initiation/consent/revoke` + */ +@ApiModel(description = "PaymentInitiationConsentRevokeResponse defines the response schema for `/payment_initiation/consent/revoke`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationConsentRevokeResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentInitiationConsentRevokeResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationConsentRevokeResponse paymentInitiationConsentRevokeResponse = (PaymentInitiationConsentRevokeResponse) o; + return Objects.equals(this.requestId, paymentInitiationConsentRevokeResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationConsentRevokeResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentScope.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentScope.java new file mode 100644 index 0000000000..82245210ce --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentScope.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * This field is deprecated in favor of the consent `type` field. Consents are required to have a single type. Payment consent scope. Defines possible directions for payments made with the given consent. `ME_TO_ME`: Allows moving money between accounts owned by the same user. `EXTERNAL`: Allows initiating payments from the user's account to third parties. + */ +@JsonAdapter(PaymentInitiationConsentScope.Adapter.class) +public enum PaymentInitiationConsentScope { + + ME_TO_ME("ME_TO_ME"), + + EXTERNAL("EXTERNAL"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaymentInitiationConsentScope(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentInitiationConsentScope fromValue(String value) { + for (PaymentInitiationConsentScope b : PaymentInitiationConsentScope.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PaymentInitiationConsentScope.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentInitiationConsentScope enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentInitiationConsentScope read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentInitiationConsentScope.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentStatus.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentStatus.java new file mode 100644 index 0000000000..e46ccc5f27 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentStatus.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the payment consent. `UNAUTHORISED`: Consent created, but requires user authorisation. `REJECTED`: Consent authorisation was rejected by the bank. `AUTHORISED`: Consent is active and ready to be used. `REVOKED`: Consent has been revoked and can no longer be used. `EXPIRED`: Consent is no longer valid. + */ +@JsonAdapter(PaymentInitiationConsentStatus.Adapter.class) +public enum PaymentInitiationConsentStatus { + + UNAUTHORISED("UNAUTHORISED"), + + AUTHORISED("AUTHORISED"), + + REVOKED("REVOKED"), + + REJECTED("REJECTED"), + + EXPIRED("EXPIRED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaymentInitiationConsentStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentInitiationConsentStatus fromValue(String value) { + for (PaymentInitiationConsentStatus b : PaymentInitiationConsentStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PaymentInitiationConsentStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentInitiationConsentStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentInitiationConsentStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentInitiationConsentStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentStatusUpdateWebhook.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentStatusUpdateWebhook.java new file mode 100644 index 0000000000..e58f8388f2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentStatusUpdateWebhook.java @@ -0,0 +1,299 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationConsentStatus; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Fired when the status of a payment consent has changed. + */ +@ApiModel(description = "Fired when the status of a payment consent has changed.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationConsentStatusUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + public static final String SERIALIZED_NAME_OLD_STATUS = "old_status"; + @SerializedName(SERIALIZED_NAME_OLD_STATUS) + private PaymentInitiationConsentStatus oldStatus; + + public static final String SERIALIZED_NAME_NEW_STATUS = "new_status"; + @SerializedName(SERIALIZED_NAME_NEW_STATUS) + private PaymentInitiationConsentStatus newStatus; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public PaymentInitiationConsentStatusUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `PAYMENT_INITIATION` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`PAYMENT_INITIATION`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public PaymentInitiationConsentStatusUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `CONSENT_STATUS_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`CONSENT_STATUS_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public PaymentInitiationConsentStatusUpdateWebhook consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * The `id` for the consent being updated + * @return consentId + **/ + @ApiModelProperty(required = true, value = "The `id` for the consent being updated") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + public PaymentInitiationConsentStatusUpdateWebhook oldStatus(PaymentInitiationConsentStatus oldStatus) { + + this.oldStatus = oldStatus; + return this; + } + + /** + * Get oldStatus + * @return oldStatus + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationConsentStatus getOldStatus() { + return oldStatus; + } + + + public void setOldStatus(PaymentInitiationConsentStatus oldStatus) { + this.oldStatus = oldStatus; + } + + + public PaymentInitiationConsentStatusUpdateWebhook newStatus(PaymentInitiationConsentStatus newStatus) { + + this.newStatus = newStatus; + return this; + } + + /** + * Get newStatus + * @return newStatus + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationConsentStatus getNewStatus() { + return newStatus; + } + + + public void setNewStatus(PaymentInitiationConsentStatus newStatus) { + this.newStatus = newStatus; + } + + + public PaymentInitiationConsentStatusUpdateWebhook timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * The timestamp of the update, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"` + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "The timestamp of the update, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"`") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + public PaymentInitiationConsentStatusUpdateWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public PaymentInitiationConsentStatusUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationConsentStatusUpdateWebhook paymentInitiationConsentStatusUpdateWebhook = (PaymentInitiationConsentStatusUpdateWebhook) o; + return Objects.equals(this.webhookType, paymentInitiationConsentStatusUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, paymentInitiationConsentStatusUpdateWebhook.webhookCode) && + Objects.equals(this.consentId, paymentInitiationConsentStatusUpdateWebhook.consentId) && + Objects.equals(this.oldStatus, paymentInitiationConsentStatusUpdateWebhook.oldStatus) && + Objects.equals(this.newStatus, paymentInitiationConsentStatusUpdateWebhook.newStatus) && + Objects.equals(this.timestamp, paymentInitiationConsentStatusUpdateWebhook.timestamp) && + Objects.equals(this.error, paymentInitiationConsentStatusUpdateWebhook.error) && + Objects.equals(this.environment, paymentInitiationConsentStatusUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, consentId, oldStatus, newStatus, timestamp, error, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationConsentStatusUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append(" oldStatus: ").append(toIndentedString(oldStatus)).append("\n"); + sb.append(" newStatus: ").append(toIndentedString(newStatus)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationConsentType.java b/src/main/java/com/plaid/client/model/PaymentInitiationConsentType.java new file mode 100644 index 0000000000..561ca5461d --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationConsentType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Payment consent type. Defines possible use case for payments made with the given consent. `SWEEPING`: Allows moving money between accounts owned by the same user. `COMMERCIAL`: Allows initiating payments from the user's account to third parties. + */ +@JsonAdapter(PaymentInitiationConsentType.Adapter.class) +public enum PaymentInitiationConsentType { + + SWEEPING("SWEEPING"), + + COMMERCIAL("COMMERCIAL"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaymentInitiationConsentType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentInitiationConsentType fromValue(String value) { + for (PaymentInitiationConsentType b : PaymentInitiationConsentType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PaymentInitiationConsentType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentInitiationConsentType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentInitiationConsentType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentInitiationConsentType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationMetadata.java b/src/main/java/com/plaid/client/model/PaymentInitiationMetadata.java new file mode 100644 index 0000000000..08d907bd52 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationMetadata.java @@ -0,0 +1,248 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationStandingOrderMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Metadata that captures what specific payment configurations an institution supports when making Payment Initiation requests. + */ +@ApiModel(description = "Metadata that captures what specific payment configurations an institution supports when making Payment Initiation requests.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationMetadata { + public static final String SERIALIZED_NAME_SUPPORTS_INTERNATIONAL_PAYMENTS = "supports_international_payments"; + @SerializedName(SERIALIZED_NAME_SUPPORTS_INTERNATIONAL_PAYMENTS) + private Boolean supportsInternationalPayments; + + public static final String SERIALIZED_NAME_SUPPORTS_SEPA_INSTANT = "supports_sepa_instant"; + @SerializedName(SERIALIZED_NAME_SUPPORTS_SEPA_INSTANT) + private Boolean supportsSepaInstant; + + public static final String SERIALIZED_NAME_MAXIMUM_PAYMENT_AMOUNT = "maximum_payment_amount"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_PAYMENT_AMOUNT) + private Map maximumPaymentAmount = new HashMap<>(); + + public static final String SERIALIZED_NAME_SUPPORTS_REFUND_DETAILS = "supports_refund_details"; + @SerializedName(SERIALIZED_NAME_SUPPORTS_REFUND_DETAILS) + private Boolean supportsRefundDetails; + + public static final String SERIALIZED_NAME_STANDING_ORDER_METADATA = "standing_order_metadata"; + @SerializedName(SERIALIZED_NAME_STANDING_ORDER_METADATA) + private PaymentInitiationStandingOrderMetadata standingOrderMetadata; + + public static final String SERIALIZED_NAME_SUPPORTS_PAYMENT_CONSENTS = "supports_payment_consents"; + @SerializedName(SERIALIZED_NAME_SUPPORTS_PAYMENT_CONSENTS) + private Boolean supportsPaymentConsents; + + + public PaymentInitiationMetadata supportsInternationalPayments(Boolean supportsInternationalPayments) { + + this.supportsInternationalPayments = supportsInternationalPayments; + return this; + } + + /** + * Indicates whether the institution supports payments from a different country. + * @return supportsInternationalPayments + **/ + @ApiModelProperty(required = true, value = "Indicates whether the institution supports payments from a different country.") + + public Boolean getSupportsInternationalPayments() { + return supportsInternationalPayments; + } + + + public void setSupportsInternationalPayments(Boolean supportsInternationalPayments) { + this.supportsInternationalPayments = supportsInternationalPayments; + } + + + public PaymentInitiationMetadata supportsSepaInstant(Boolean supportsSepaInstant) { + + this.supportsSepaInstant = supportsSepaInstant; + return this; + } + + /** + * Indicates whether the institution supports SEPA Instant payments. + * @return supportsSepaInstant + **/ + @ApiModelProperty(required = true, value = "Indicates whether the institution supports SEPA Instant payments.") + + public Boolean getSupportsSepaInstant() { + return supportsSepaInstant; + } + + + public void setSupportsSepaInstant(Boolean supportsSepaInstant) { + this.supportsSepaInstant = supportsSepaInstant; + } + + + public PaymentInitiationMetadata maximumPaymentAmount(Map maximumPaymentAmount) { + + this.maximumPaymentAmount = maximumPaymentAmount; + return this; + } + + public PaymentInitiationMetadata putMaximumPaymentAmountItem(String key, String maximumPaymentAmountItem) { + this.maximumPaymentAmount.put(key, maximumPaymentAmountItem); + return this; + } + + /** + * A mapping of currency to maximum payment amount (denominated in the smallest unit of currency) supported by the institution. Example: `{\"GBP\": \"10000\"}` + * @return maximumPaymentAmount + **/ + @ApiModelProperty(required = true, value = "A mapping of currency to maximum payment amount (denominated in the smallest unit of currency) supported by the institution. Example: `{\"GBP\": \"10000\"}` ") + + public Map getMaximumPaymentAmount() { + return maximumPaymentAmount; + } + + + public void setMaximumPaymentAmount(Map maximumPaymentAmount) { + this.maximumPaymentAmount = maximumPaymentAmount; + } + + + public PaymentInitiationMetadata supportsRefundDetails(Boolean supportsRefundDetails) { + + this.supportsRefundDetails = supportsRefundDetails; + return this; + } + + /** + * Indicates whether the institution supports returning refund details when initiating a payment. + * @return supportsRefundDetails + **/ + @ApiModelProperty(required = true, value = "Indicates whether the institution supports returning refund details when initiating a payment.") + + public Boolean getSupportsRefundDetails() { + return supportsRefundDetails; + } + + + public void setSupportsRefundDetails(Boolean supportsRefundDetails) { + this.supportsRefundDetails = supportsRefundDetails; + } + + + public PaymentInitiationMetadata standingOrderMetadata(PaymentInitiationStandingOrderMetadata standingOrderMetadata) { + + this.standingOrderMetadata = standingOrderMetadata; + return this; + } + + /** + * Get standingOrderMetadata + * @return standingOrderMetadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationStandingOrderMetadata getStandingOrderMetadata() { + return standingOrderMetadata; + } + + + public void setStandingOrderMetadata(PaymentInitiationStandingOrderMetadata standingOrderMetadata) { + this.standingOrderMetadata = standingOrderMetadata; + } + + + public PaymentInitiationMetadata supportsPaymentConsents(Boolean supportsPaymentConsents) { + + this.supportsPaymentConsents = supportsPaymentConsents; + return this; + } + + /** + * Indicates whether the institution supports payment consents. + * @return supportsPaymentConsents + **/ + @ApiModelProperty(required = true, value = "Indicates whether the institution supports payment consents.") + + public Boolean getSupportsPaymentConsents() { + return supportsPaymentConsents; + } + + + public void setSupportsPaymentConsents(Boolean supportsPaymentConsents) { + this.supportsPaymentConsents = supportsPaymentConsents; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationMetadata paymentInitiationMetadata = (PaymentInitiationMetadata) o; + return Objects.equals(this.supportsInternationalPayments, paymentInitiationMetadata.supportsInternationalPayments) && + Objects.equals(this.supportsSepaInstant, paymentInitiationMetadata.supportsSepaInstant) && + Objects.equals(this.maximumPaymentAmount, paymentInitiationMetadata.maximumPaymentAmount) && + Objects.equals(this.supportsRefundDetails, paymentInitiationMetadata.supportsRefundDetails) && + Objects.equals(this.standingOrderMetadata, paymentInitiationMetadata.standingOrderMetadata) && + Objects.equals(this.supportsPaymentConsents, paymentInitiationMetadata.supportsPaymentConsents); + } + + @Override + public int hashCode() { + return Objects.hash(supportsInternationalPayments, supportsSepaInstant, maximumPaymentAmount, supportsRefundDetails, standingOrderMetadata, supportsPaymentConsents); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationMetadata {\n"); + sb.append(" supportsInternationalPayments: ").append(toIndentedString(supportsInternationalPayments)).append("\n"); + sb.append(" supportsSepaInstant: ").append(toIndentedString(supportsSepaInstant)).append("\n"); + sb.append(" maximumPaymentAmount: ").append(toIndentedString(maximumPaymentAmount)).append("\n"); + sb.append(" supportsRefundDetails: ").append(toIndentedString(supportsRefundDetails)).append("\n"); + sb.append(" standingOrderMetadata: ").append(toIndentedString(standingOrderMetadata)).append("\n"); + sb.append(" supportsPaymentConsents: ").append(toIndentedString(supportsPaymentConsents)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationOptionalRestrictionBacs.java b/src/main/java/com/plaid/client/model/PaymentInitiationOptionalRestrictionBacs.java new file mode 100644 index 0000000000..f460582b82 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationOptionalRestrictionBacs.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RecipientBACS; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional object used to restrict the accounts used for payments. If provided, the end user will be able to send payments only from the specified bank account. + */ +@ApiModel(description = "An optional object used to restrict the accounts used for payments. If provided, the end user will be able to send payments only from the specified bank account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationOptionalRestrictionBacs { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_SORT_CODE = "sort_code"; + @SerializedName(SERIALIZED_NAME_SORT_CODE) + private String sortCode; + + + public PaymentInitiationOptionalRestrictionBacs account(String account) { + + this.account = account; + return this; + } + + /** + * The account number of the account. Maximum of 10 characters. + * @return account + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account number of the account. Maximum of 10 characters.") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public PaymentInitiationOptionalRestrictionBacs sortCode(String sortCode) { + + this.sortCode = sortCode; + return this; + } + + /** + * The 6-character sort code of the account. + * @return sortCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 6-character sort code of the account.") + + public String getSortCode() { + return sortCode; + } + + + public void setSortCode(String sortCode) { + this.sortCode = sortCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationOptionalRestrictionBacs paymentInitiationOptionalRestrictionBacs = (PaymentInitiationOptionalRestrictionBacs) o; + return Objects.equals(this.account, paymentInitiationOptionalRestrictionBacs.account) && + Objects.equals(this.sortCode, paymentInitiationOptionalRestrictionBacs.sortCode); + } + + @Override + public int hashCode() { + return Objects.hash(account, sortCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationOptionalRestrictionBacs {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" sortCode: ").append(toIndentedString(sortCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationPayment.java b/src/main/java/com/plaid/client/model/PaymentInitiationPayment.java new file mode 100644 index 0000000000..9b18b81467 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationPayment.java @@ -0,0 +1,663 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ExternalPaymentRefundDetails; +import com.plaid.client.model.ExternalPaymentScheduleGet; +import com.plaid.client.model.PaymentAmount; +import com.plaid.client.model.PaymentAmountRefunded; +import com.plaid.client.model.PaymentInitiationPaymentStatus; +import com.plaid.client.model.PaymentScheme; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.SenderBACSNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * PaymentInitiationPayment defines a payment initiation payment + */ +@ApiModel(description = "PaymentInitiationPayment defines a payment initiation payment") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationPayment { + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private PaymentAmount amount; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PaymentInitiationPaymentStatus status; + + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_REFERENCE = "reference"; + @SerializedName(SERIALIZED_NAME_REFERENCE) + private String reference; + + public static final String SERIALIZED_NAME_ADJUSTED_REFERENCE = "adjusted_reference"; + @SerializedName(SERIALIZED_NAME_ADJUSTED_REFERENCE) + private String adjustedReference; + + public static final String SERIALIZED_NAME_LAST_STATUS_UPDATE = "last_status_update"; + @SerializedName(SERIALIZED_NAME_LAST_STATUS_UPDATE) + private OffsetDateTime lastStatusUpdate; + + public static final String SERIALIZED_NAME_SCHEDULE = "schedule"; + @SerializedName(SERIALIZED_NAME_SCHEDULE) + private ExternalPaymentScheduleGet schedule; + + public static final String SERIALIZED_NAME_REFUND_DETAILS = "refund_details"; + @SerializedName(SERIALIZED_NAME_REFUND_DETAILS) + private ExternalPaymentRefundDetails refundDetails; + + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private SenderBACSNullable bacs; + + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private String iban; + + public static final String SERIALIZED_NAME_REFUND_IDS = "refund_ids"; + @SerializedName(SERIALIZED_NAME_REFUND_IDS) + private List refundIds = null; + + public static final String SERIALIZED_NAME_AMOUNT_REFUNDED = "amount_refunded"; + @SerializedName(SERIALIZED_NAME_AMOUNT_REFUNDED) + private PaymentAmountRefunded amountRefunded; + + public static final String SERIALIZED_NAME_WALLET_ID = "wallet_id"; + @SerializedName(SERIALIZED_NAME_WALLET_ID) + private String walletId; + + public static final String SERIALIZED_NAME_SCHEME = "scheme"; + @SerializedName(SERIALIZED_NAME_SCHEME) + private PaymentScheme scheme; + + public static final String SERIALIZED_NAME_ADJUSTED_SCHEME = "adjusted_scheme"; + @SerializedName(SERIALIZED_NAME_ADJUSTED_SCHEME) + private PaymentScheme adjustedScheme; + + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_END_TO_END_ID = "end_to_end_id"; + @SerializedName(SERIALIZED_NAME_END_TO_END_ID) + private String endToEndId; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + + public PaymentInitiationPayment paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * The ID of the payment. Like all Plaid identifiers, the `payment_id` is case sensitive. + * @return paymentId + **/ + @ApiModelProperty(required = true, value = "The ID of the payment. Like all Plaid identifiers, the `payment_id` is case sensitive.") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + public PaymentInitiationPayment amount(PaymentAmount amount) { + + this.amount = amount; + return this; + } + + /** + * Get amount + * @return amount + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentAmount getAmount() { + return amount; + } + + + public void setAmount(PaymentAmount amount) { + this.amount = amount; + } + + + public PaymentInitiationPayment status(PaymentInitiationPaymentStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationPaymentStatus getStatus() { + return status; + } + + + public void setStatus(PaymentInitiationPaymentStatus status) { + this.status = status; + } + + + public PaymentInitiationPayment recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The ID of the recipient + * @return recipientId + **/ + @ApiModelProperty(required = true, value = "The ID of the recipient") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public PaymentInitiationPayment reference(String reference) { + + this.reference = reference; + return this; + } + + /** + * A reference for the payment. + * @return reference + **/ + @ApiModelProperty(required = true, value = "A reference for the payment.") + + public String getReference() { + return reference; + } + + + public void setReference(String reference) { + this.reference = reference; + } + + + public PaymentInitiationPayment adjustedReference(String adjustedReference) { + + this.adjustedReference = adjustedReference; + return this; + } + + /** + * The value of the reference sent to the bank after adjustment to pass bank validation rules. + * @return adjustedReference + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The value of the reference sent to the bank after adjustment to pass bank validation rules.") + + public String getAdjustedReference() { + return adjustedReference; + } + + + public void setAdjustedReference(String adjustedReference) { + this.adjustedReference = adjustedReference; + } + + + public PaymentInitiationPayment lastStatusUpdate(OffsetDateTime lastStatusUpdate) { + + this.lastStatusUpdate = lastStatusUpdate; + return this; + } + + /** + * The date and time of the last time the `status` was updated, in ISO 8601 format + * @return lastStatusUpdate + **/ + @ApiModelProperty(required = true, value = "The date and time of the last time the `status` was updated, in ISO 8601 format") + + public OffsetDateTime getLastStatusUpdate() { + return lastStatusUpdate; + } + + + public void setLastStatusUpdate(OffsetDateTime lastStatusUpdate) { + this.lastStatusUpdate = lastStatusUpdate; + } + + + public PaymentInitiationPayment schedule(ExternalPaymentScheduleGet schedule) { + + this.schedule = schedule; + return this; + } + + /** + * Get schedule + * @return schedule + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExternalPaymentScheduleGet getSchedule() { + return schedule; + } + + + public void setSchedule(ExternalPaymentScheduleGet schedule) { + this.schedule = schedule; + } + + + public PaymentInitiationPayment refundDetails(ExternalPaymentRefundDetails refundDetails) { + + this.refundDetails = refundDetails; + return this; + } + + /** + * Get refundDetails + * @return refundDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExternalPaymentRefundDetails getRefundDetails() { + return refundDetails; + } + + + public void setRefundDetails(ExternalPaymentRefundDetails refundDetails) { + this.refundDetails = refundDetails; + } + + + public PaymentInitiationPayment bacs(SenderBACSNullable bacs) { + + this.bacs = bacs; + return this; + } + + /** + * Get bacs + * @return bacs + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public SenderBACSNullable getBacs() { + return bacs; + } + + + public void setBacs(SenderBACSNullable bacs) { + this.bacs = bacs; + } + + + public PaymentInitiationPayment iban(String iban) { + + this.iban = iban; + return this; + } + + /** + * The International Bank Account Number (IBAN) for the sender, if specified in the `/payment_initiation/payment/create` call. + * @return iban + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The International Bank Account Number (IBAN) for the sender, if specified in the `/payment_initiation/payment/create` call.") + + public String getIban() { + return iban; + } + + + public void setIban(String iban) { + this.iban = iban; + } + + + public PaymentInitiationPayment refundIds(List refundIds) { + + this.refundIds = refundIds; + return this; + } + + public PaymentInitiationPayment addRefundIdsItem(String refundIdsItem) { + if (this.refundIds == null) { + this.refundIds = new ArrayList<>(); + } + this.refundIds.add(refundIdsItem); + return this; + } + + /** + * Refund IDs associated with the payment. + * @return refundIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Refund IDs associated with the payment.") + + public List getRefundIds() { + return refundIds; + } + + + public void setRefundIds(List refundIds) { + this.refundIds = refundIds; + } + + + public PaymentInitiationPayment amountRefunded(PaymentAmountRefunded amountRefunded) { + + this.amountRefunded = amountRefunded; + return this; + } + + /** + * Get amountRefunded + * @return amountRefunded + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentAmountRefunded getAmountRefunded() { + return amountRefunded; + } + + + public void setAmountRefunded(PaymentAmountRefunded amountRefunded) { + this.amountRefunded = amountRefunded; + } + + + public PaymentInitiationPayment walletId(String walletId) { + + this.walletId = walletId; + return this; + } + + /** + * The EMI (E-Money Institution) wallet that this payment is associated with, if any. This wallet is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests. + * @return walletId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The EMI (E-Money Institution) wallet that this payment is associated with, if any. This wallet is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests.") + + public String getWalletId() { + return walletId; + } + + + public void setWalletId(String walletId) { + this.walletId = walletId; + } + + + public PaymentInitiationPayment scheme(PaymentScheme scheme) { + + this.scheme = scheme; + return this; + } + + /** + * Get scheme + * @return scheme + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentScheme getScheme() { + return scheme; + } + + + public void setScheme(PaymentScheme scheme) { + this.scheme = scheme; + } + + + public PaymentInitiationPayment adjustedScheme(PaymentScheme adjustedScheme) { + + this.adjustedScheme = adjustedScheme; + return this; + } + + /** + * Get adjustedScheme + * @return adjustedScheme + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentScheme getAdjustedScheme() { + return adjustedScheme; + } + + + public void setAdjustedScheme(PaymentScheme adjustedScheme) { + this.adjustedScheme = adjustedScheme; + } + + + public PaymentInitiationPayment consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * The payment consent ID that this payment was initiated with. Is present only when payment was initiated using the payment consent. + * @return consentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The payment consent ID that this payment was initiated with. Is present only when payment was initiated using the payment consent.") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + public PaymentInitiationPayment transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The transaction ID that this payment is associated with, if any. This is present only when a payment was initiated using virtual accounts. + * @return transactionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The transaction ID that this payment is associated with, if any. This is present only when a payment was initiated using virtual accounts.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public PaymentInitiationPayment endToEndId(String endToEndId) { + + this.endToEndId = endToEndId; + return this; + } + + /** + * A unique identifier assigned by Plaid to each payment for tracking and reconciliation purposes. Note: Not all banks handle `end_to_end_id` consistently. To ensure accurate matching, clients should convert both the incoming `end_to_end_id` and the one provided by Plaid to the same case (either lower or upper) before comparison. For virtual account payments, Plaid manages this field automatically. + * @return endToEndId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier assigned by Plaid to each payment for tracking and reconciliation purposes. Note: Not all banks handle `end_to_end_id` consistently. To ensure accurate matching, clients should convert both the incoming `end_to_end_id` and the one provided by Plaid to the same case (either lower or upper) before comparison. For virtual account payments, Plaid manages this field automatically.") + + public String getEndToEndId() { + return endToEndId; + } + + + public void setEndToEndId(String endToEndId) { + this.endToEndId = endToEndId; + } + + + public PaymentInitiationPayment error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationPayment paymentInitiationPayment = (PaymentInitiationPayment) o; + return Objects.equals(this.paymentId, paymentInitiationPayment.paymentId) && + Objects.equals(this.amount, paymentInitiationPayment.amount) && + Objects.equals(this.status, paymentInitiationPayment.status) && + Objects.equals(this.recipientId, paymentInitiationPayment.recipientId) && + Objects.equals(this.reference, paymentInitiationPayment.reference) && + Objects.equals(this.adjustedReference, paymentInitiationPayment.adjustedReference) && + Objects.equals(this.lastStatusUpdate, paymentInitiationPayment.lastStatusUpdate) && + Objects.equals(this.schedule, paymentInitiationPayment.schedule) && + Objects.equals(this.refundDetails, paymentInitiationPayment.refundDetails) && + Objects.equals(this.bacs, paymentInitiationPayment.bacs) && + Objects.equals(this.iban, paymentInitiationPayment.iban) && + Objects.equals(this.refundIds, paymentInitiationPayment.refundIds) && + Objects.equals(this.amountRefunded, paymentInitiationPayment.amountRefunded) && + Objects.equals(this.walletId, paymentInitiationPayment.walletId) && + Objects.equals(this.scheme, paymentInitiationPayment.scheme) && + Objects.equals(this.adjustedScheme, paymentInitiationPayment.adjustedScheme) && + Objects.equals(this.consentId, paymentInitiationPayment.consentId) && + Objects.equals(this.transactionId, paymentInitiationPayment.transactionId) && + Objects.equals(this.endToEndId, paymentInitiationPayment.endToEndId) && + Objects.equals(this.error, paymentInitiationPayment.error); + } + + @Override + public int hashCode() { + return Objects.hash(paymentId, amount, status, recipientId, reference, adjustedReference, lastStatusUpdate, schedule, refundDetails, bacs, iban, refundIds, amountRefunded, walletId, scheme, adjustedScheme, consentId, transactionId, endToEndId, error); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationPayment {\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); + sb.append(" adjustedReference: ").append(toIndentedString(adjustedReference)).append("\n"); + sb.append(" lastStatusUpdate: ").append(toIndentedString(lastStatusUpdate)).append("\n"); + sb.append(" schedule: ").append(toIndentedString(schedule)).append("\n"); + sb.append(" refundDetails: ").append(toIndentedString(refundDetails)).append("\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append(" refundIds: ").append(toIndentedString(refundIds)).append("\n"); + sb.append(" amountRefunded: ").append(toIndentedString(amountRefunded)).append("\n"); + sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append(" scheme: ").append(toIndentedString(scheme)).append("\n"); + sb.append(" adjustedScheme: ").append(toIndentedString(adjustedScheme)).append("\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" endToEndId: ").append(toIndentedString(endToEndId)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationPaymentCreateRequest.java b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentCreateRequest.java new file mode 100644 index 0000000000..3462767663 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentCreateRequest.java @@ -0,0 +1,273 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ExternalPaymentOptions; +import com.plaid.client.model.ExternalPaymentScheduleRequest; +import com.plaid.client.model.PaymentAmount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationPaymentCreateRequest defines the request schema for `/payment_initiation/payment/create` + */ +@ApiModel(description = "PaymentInitiationPaymentCreateRequest defines the request schema for `/payment_initiation/payment/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationPaymentCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_REFERENCE = "reference"; + @SerializedName(SERIALIZED_NAME_REFERENCE) + private String reference; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private PaymentAmount amount; + + public static final String SERIALIZED_NAME_SCHEDULE = "schedule"; + @SerializedName(SERIALIZED_NAME_SCHEDULE) + private ExternalPaymentScheduleRequest schedule; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private ExternalPaymentOptions options; + + + public PaymentInitiationPaymentCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentInitiationPaymentCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentInitiationPaymentCreateRequest recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The ID of the recipient the payment is for. + * @return recipientId + **/ + @ApiModelProperty(required = true, value = "The ID of the recipient the payment is for.") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public PaymentInitiationPaymentCreateRequest reference(String reference) { + + this.reference = reference; + return this; + } + + /** + * A reference for the payment. This must be an alphanumeric string with at most 18 characters and must not contain any special characters (since not all institutions support them). In order to track settlement via Payment Confirmation, each payment must have a unique reference. If the reference provided through the API is not unique, Plaid will adjust it. Some institutions may limit the reference to less than 18 characters. If necessary, Plaid will adjust the reference by truncating it to fit the institution's requirements. Both the originally provided and automatically adjusted references (if any) can be found in the `reference` and `adjusted_reference` fields, respectively. + * @return reference + **/ + @ApiModelProperty(required = true, value = "A reference for the payment. This must be an alphanumeric string with at most 18 characters and must not contain any special characters (since not all institutions support them). In order to track settlement via Payment Confirmation, each payment must have a unique reference. If the reference provided through the API is not unique, Plaid will adjust it. Some institutions may limit the reference to less than 18 characters. If necessary, Plaid will adjust the reference by truncating it to fit the institution's requirements. Both the originally provided and automatically adjusted references (if any) can be found in the `reference` and `adjusted_reference` fields, respectively.") + + public String getReference() { + return reference; + } + + + public void setReference(String reference) { + this.reference = reference; + } + + + public PaymentInitiationPaymentCreateRequest amount(PaymentAmount amount) { + + this.amount = amount; + return this; + } + + /** + * Get amount + * @return amount + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentAmount getAmount() { + return amount; + } + + + public void setAmount(PaymentAmount amount) { + this.amount = amount; + } + + + public PaymentInitiationPaymentCreateRequest schedule(ExternalPaymentScheduleRequest schedule) { + + this.schedule = schedule; + return this; + } + + /** + * Get schedule + * @return schedule + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExternalPaymentScheduleRequest getSchedule() { + return schedule; + } + + + public void setSchedule(ExternalPaymentScheduleRequest schedule) { + this.schedule = schedule; + } + + + public PaymentInitiationPaymentCreateRequest options(ExternalPaymentOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExternalPaymentOptions getOptions() { + return options; + } + + + public void setOptions(ExternalPaymentOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationPaymentCreateRequest paymentInitiationPaymentCreateRequest = (PaymentInitiationPaymentCreateRequest) o; + return Objects.equals(this.clientId, paymentInitiationPaymentCreateRequest.clientId) && + Objects.equals(this.secret, paymentInitiationPaymentCreateRequest.secret) && + Objects.equals(this.recipientId, paymentInitiationPaymentCreateRequest.recipientId) && + Objects.equals(this.reference, paymentInitiationPaymentCreateRequest.reference) && + Objects.equals(this.amount, paymentInitiationPaymentCreateRequest.amount) && + Objects.equals(this.schedule, paymentInitiationPaymentCreateRequest.schedule) && + Objects.equals(this.options, paymentInitiationPaymentCreateRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, recipientId, reference, amount, schedule, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationPaymentCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" schedule: ").append(toIndentedString(schedule)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationPaymentCreateResponse.java b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentCreateResponse.java new file mode 100644 index 0000000000..8cdd80f81d --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentCreateResponse.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationPaymentCreateStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationPaymentCreateResponse defines the response schema for `/payment_initiation/payment/create` + */ +@ApiModel(description = "PaymentInitiationPaymentCreateResponse defines the response schema for `/payment_initiation/payment/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationPaymentCreateResponse { + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PaymentInitiationPaymentCreateStatus status; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentInitiationPaymentCreateResponse paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * A unique ID identifying the payment + * @return paymentId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying the payment") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + public PaymentInitiationPaymentCreateResponse status(PaymentInitiationPaymentCreateStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationPaymentCreateStatus getStatus() { + return status; + } + + + public void setStatus(PaymentInitiationPaymentCreateStatus status) { + this.status = status; + } + + + public PaymentInitiationPaymentCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationPaymentCreateResponse paymentInitiationPaymentCreateResponse = (PaymentInitiationPaymentCreateResponse) o; + return Objects.equals(this.paymentId, paymentInitiationPaymentCreateResponse.paymentId) && + Objects.equals(this.status, paymentInitiationPaymentCreateResponse.status) && + Objects.equals(this.requestId, paymentInitiationPaymentCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(paymentId, status, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationPaymentCreateResponse {\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationPaymentCreateStatus.java b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentCreateStatus.java new file mode 100644 index 0000000000..4a5edcf8fb --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentCreateStatus.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * For a payment returned by this endpoint, there is only one possible value: `PAYMENT_STATUS_INPUT_NEEDED`: The initial phase of the payment + */ +@JsonAdapter(PaymentInitiationPaymentCreateStatus.Adapter.class) +public enum PaymentInitiationPaymentCreateStatus { + + PAYMENT_STATUS_INPUT_NEEDED("PAYMENT_STATUS_INPUT_NEEDED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaymentInitiationPaymentCreateStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentInitiationPaymentCreateStatus fromValue(String value) { + for (PaymentInitiationPaymentCreateStatus b : PaymentInitiationPaymentCreateStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PaymentInitiationPaymentCreateStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentInitiationPaymentCreateStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentInitiationPaymentCreateStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentInitiationPaymentCreateStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationPaymentGetRequest.java b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentGetRequest.java new file mode 100644 index 0000000000..58d73707e7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationPaymentGetRequest defines the request schema for `/payment_initiation/payment/get` + */ +@ApiModel(description = "PaymentInitiationPaymentGetRequest defines the request schema for `/payment_initiation/payment/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationPaymentGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + + public PaymentInitiationPaymentGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentInitiationPaymentGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentInitiationPaymentGetRequest paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * The `payment_id` returned from `/payment_initiation/payment/create`. + * @return paymentId + **/ + @ApiModelProperty(required = true, value = "The `payment_id` returned from `/payment_initiation/payment/create`.") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationPaymentGetRequest paymentInitiationPaymentGetRequest = (PaymentInitiationPaymentGetRequest) o; + return Objects.equals(this.clientId, paymentInitiationPaymentGetRequest.clientId) && + Objects.equals(this.secret, paymentInitiationPaymentGetRequest.secret) && + Objects.equals(this.paymentId, paymentInitiationPaymentGetRequest.paymentId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, paymentId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationPaymentGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationPaymentGetResponse.java b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentGetResponse.java new file mode 100644 index 0000000000..8286208a67 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentGetResponse.java @@ -0,0 +1,693 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ExternalPaymentRefundDetails; +import com.plaid.client.model.ExternalPaymentScheduleGet; +import com.plaid.client.model.PaymentAmount; +import com.plaid.client.model.PaymentAmountRefunded; +import com.plaid.client.model.PaymentInitiationPayment; +import com.plaid.client.model.PaymentInitiationPaymentStatus; +import com.plaid.client.model.PaymentInitiationRecipientGetResponseAllOf; +import com.plaid.client.model.PaymentScheme; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.SenderBACSNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * PaymentInitiationPaymentGetResponse defines the response schema for `/payment_initiation/payment/get` + */ +@ApiModel(description = "PaymentInitiationPaymentGetResponse defines the response schema for `/payment_initiation/payment/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationPaymentGetResponse { + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private PaymentAmount amount; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PaymentInitiationPaymentStatus status; + + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_REFERENCE = "reference"; + @SerializedName(SERIALIZED_NAME_REFERENCE) + private String reference; + + public static final String SERIALIZED_NAME_ADJUSTED_REFERENCE = "adjusted_reference"; + @SerializedName(SERIALIZED_NAME_ADJUSTED_REFERENCE) + private String adjustedReference; + + public static final String SERIALIZED_NAME_LAST_STATUS_UPDATE = "last_status_update"; + @SerializedName(SERIALIZED_NAME_LAST_STATUS_UPDATE) + private OffsetDateTime lastStatusUpdate; + + public static final String SERIALIZED_NAME_SCHEDULE = "schedule"; + @SerializedName(SERIALIZED_NAME_SCHEDULE) + private ExternalPaymentScheduleGet schedule; + + public static final String SERIALIZED_NAME_REFUND_DETAILS = "refund_details"; + @SerializedName(SERIALIZED_NAME_REFUND_DETAILS) + private ExternalPaymentRefundDetails refundDetails; + + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private SenderBACSNullable bacs; + + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private String iban; + + public static final String SERIALIZED_NAME_REFUND_IDS = "refund_ids"; + @SerializedName(SERIALIZED_NAME_REFUND_IDS) + private List refundIds = null; + + public static final String SERIALIZED_NAME_AMOUNT_REFUNDED = "amount_refunded"; + @SerializedName(SERIALIZED_NAME_AMOUNT_REFUNDED) + private PaymentAmountRefunded amountRefunded; + + public static final String SERIALIZED_NAME_WALLET_ID = "wallet_id"; + @SerializedName(SERIALIZED_NAME_WALLET_ID) + private String walletId; + + public static final String SERIALIZED_NAME_SCHEME = "scheme"; + @SerializedName(SERIALIZED_NAME_SCHEME) + private PaymentScheme scheme; + + public static final String SERIALIZED_NAME_ADJUSTED_SCHEME = "adjusted_scheme"; + @SerializedName(SERIALIZED_NAME_ADJUSTED_SCHEME) + private PaymentScheme adjustedScheme; + + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_END_TO_END_ID = "end_to_end_id"; + @SerializedName(SERIALIZED_NAME_END_TO_END_ID) + private String endToEndId; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentInitiationPaymentGetResponse paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * The ID of the payment. Like all Plaid identifiers, the `payment_id` is case sensitive. + * @return paymentId + **/ + @ApiModelProperty(required = true, value = "The ID of the payment. Like all Plaid identifiers, the `payment_id` is case sensitive.") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + public PaymentInitiationPaymentGetResponse amount(PaymentAmount amount) { + + this.amount = amount; + return this; + } + + /** + * Get amount + * @return amount + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentAmount getAmount() { + return amount; + } + + + public void setAmount(PaymentAmount amount) { + this.amount = amount; + } + + + public PaymentInitiationPaymentGetResponse status(PaymentInitiationPaymentStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationPaymentStatus getStatus() { + return status; + } + + + public void setStatus(PaymentInitiationPaymentStatus status) { + this.status = status; + } + + + public PaymentInitiationPaymentGetResponse recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The ID of the recipient + * @return recipientId + **/ + @ApiModelProperty(required = true, value = "The ID of the recipient") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public PaymentInitiationPaymentGetResponse reference(String reference) { + + this.reference = reference; + return this; + } + + /** + * A reference for the payment. + * @return reference + **/ + @ApiModelProperty(required = true, value = "A reference for the payment.") + + public String getReference() { + return reference; + } + + + public void setReference(String reference) { + this.reference = reference; + } + + + public PaymentInitiationPaymentGetResponse adjustedReference(String adjustedReference) { + + this.adjustedReference = adjustedReference; + return this; + } + + /** + * The value of the reference sent to the bank after adjustment to pass bank validation rules. + * @return adjustedReference + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The value of the reference sent to the bank after adjustment to pass bank validation rules.") + + public String getAdjustedReference() { + return adjustedReference; + } + + + public void setAdjustedReference(String adjustedReference) { + this.adjustedReference = adjustedReference; + } + + + public PaymentInitiationPaymentGetResponse lastStatusUpdate(OffsetDateTime lastStatusUpdate) { + + this.lastStatusUpdate = lastStatusUpdate; + return this; + } + + /** + * The date and time of the last time the `status` was updated, in ISO 8601 format + * @return lastStatusUpdate + **/ + @ApiModelProperty(required = true, value = "The date and time of the last time the `status` was updated, in ISO 8601 format") + + public OffsetDateTime getLastStatusUpdate() { + return lastStatusUpdate; + } + + + public void setLastStatusUpdate(OffsetDateTime lastStatusUpdate) { + this.lastStatusUpdate = lastStatusUpdate; + } + + + public PaymentInitiationPaymentGetResponse schedule(ExternalPaymentScheduleGet schedule) { + + this.schedule = schedule; + return this; + } + + /** + * Get schedule + * @return schedule + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExternalPaymentScheduleGet getSchedule() { + return schedule; + } + + + public void setSchedule(ExternalPaymentScheduleGet schedule) { + this.schedule = schedule; + } + + + public PaymentInitiationPaymentGetResponse refundDetails(ExternalPaymentRefundDetails refundDetails) { + + this.refundDetails = refundDetails; + return this; + } + + /** + * Get refundDetails + * @return refundDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ExternalPaymentRefundDetails getRefundDetails() { + return refundDetails; + } + + + public void setRefundDetails(ExternalPaymentRefundDetails refundDetails) { + this.refundDetails = refundDetails; + } + + + public PaymentInitiationPaymentGetResponse bacs(SenderBACSNullable bacs) { + + this.bacs = bacs; + return this; + } + + /** + * Get bacs + * @return bacs + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public SenderBACSNullable getBacs() { + return bacs; + } + + + public void setBacs(SenderBACSNullable bacs) { + this.bacs = bacs; + } + + + public PaymentInitiationPaymentGetResponse iban(String iban) { + + this.iban = iban; + return this; + } + + /** + * The International Bank Account Number (IBAN) for the sender, if specified in the `/payment_initiation/payment/create` call. + * @return iban + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The International Bank Account Number (IBAN) for the sender, if specified in the `/payment_initiation/payment/create` call.") + + public String getIban() { + return iban; + } + + + public void setIban(String iban) { + this.iban = iban; + } + + + public PaymentInitiationPaymentGetResponse refundIds(List refundIds) { + + this.refundIds = refundIds; + return this; + } + + public PaymentInitiationPaymentGetResponse addRefundIdsItem(String refundIdsItem) { + if (this.refundIds == null) { + this.refundIds = new ArrayList<>(); + } + this.refundIds.add(refundIdsItem); + return this; + } + + /** + * Refund IDs associated with the payment. + * @return refundIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Refund IDs associated with the payment.") + + public List getRefundIds() { + return refundIds; + } + + + public void setRefundIds(List refundIds) { + this.refundIds = refundIds; + } + + + public PaymentInitiationPaymentGetResponse amountRefunded(PaymentAmountRefunded amountRefunded) { + + this.amountRefunded = amountRefunded; + return this; + } + + /** + * Get amountRefunded + * @return amountRefunded + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentAmountRefunded getAmountRefunded() { + return amountRefunded; + } + + + public void setAmountRefunded(PaymentAmountRefunded amountRefunded) { + this.amountRefunded = amountRefunded; + } + + + public PaymentInitiationPaymentGetResponse walletId(String walletId) { + + this.walletId = walletId; + return this; + } + + /** + * The EMI (E-Money Institution) wallet that this payment is associated with, if any. This wallet is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests. + * @return walletId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The EMI (E-Money Institution) wallet that this payment is associated with, if any. This wallet is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests.") + + public String getWalletId() { + return walletId; + } + + + public void setWalletId(String walletId) { + this.walletId = walletId; + } + + + public PaymentInitiationPaymentGetResponse scheme(PaymentScheme scheme) { + + this.scheme = scheme; + return this; + } + + /** + * Get scheme + * @return scheme + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentScheme getScheme() { + return scheme; + } + + + public void setScheme(PaymentScheme scheme) { + this.scheme = scheme; + } + + + public PaymentInitiationPaymentGetResponse adjustedScheme(PaymentScheme adjustedScheme) { + + this.adjustedScheme = adjustedScheme; + return this; + } + + /** + * Get adjustedScheme + * @return adjustedScheme + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentScheme getAdjustedScheme() { + return adjustedScheme; + } + + + public void setAdjustedScheme(PaymentScheme adjustedScheme) { + this.adjustedScheme = adjustedScheme; + } + + + public PaymentInitiationPaymentGetResponse consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * The payment consent ID that this payment was initiated with. Is present only when payment was initiated using the payment consent. + * @return consentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The payment consent ID that this payment was initiated with. Is present only when payment was initiated using the payment consent.") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + public PaymentInitiationPaymentGetResponse transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The transaction ID that this payment is associated with, if any. This is present only when a payment was initiated using virtual accounts. + * @return transactionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The transaction ID that this payment is associated with, if any. This is present only when a payment was initiated using virtual accounts.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public PaymentInitiationPaymentGetResponse endToEndId(String endToEndId) { + + this.endToEndId = endToEndId; + return this; + } + + /** + * A unique identifier assigned by Plaid to each payment for tracking and reconciliation purposes. Note: Not all banks handle `end_to_end_id` consistently. To ensure accurate matching, clients should convert both the incoming `end_to_end_id` and the one provided by Plaid to the same case (either lower or upper) before comparison. For virtual account payments, Plaid manages this field automatically. + * @return endToEndId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier assigned by Plaid to each payment for tracking and reconciliation purposes. Note: Not all banks handle `end_to_end_id` consistently. To ensure accurate matching, clients should convert both the incoming `end_to_end_id` and the one provided by Plaid to the same case (either lower or upper) before comparison. For virtual account payments, Plaid manages this field automatically.") + + public String getEndToEndId() { + return endToEndId; + } + + + public void setEndToEndId(String endToEndId) { + this.endToEndId = endToEndId; + } + + + public PaymentInitiationPaymentGetResponse error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public PaymentInitiationPaymentGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationPaymentGetResponse paymentInitiationPaymentGetResponse = (PaymentInitiationPaymentGetResponse) o; + return Objects.equals(this.paymentId, paymentInitiationPaymentGetResponse.paymentId) && + Objects.equals(this.amount, paymentInitiationPaymentGetResponse.amount) && + Objects.equals(this.status, paymentInitiationPaymentGetResponse.status) && + Objects.equals(this.recipientId, paymentInitiationPaymentGetResponse.recipientId) && + Objects.equals(this.reference, paymentInitiationPaymentGetResponse.reference) && + Objects.equals(this.adjustedReference, paymentInitiationPaymentGetResponse.adjustedReference) && + Objects.equals(this.lastStatusUpdate, paymentInitiationPaymentGetResponse.lastStatusUpdate) && + Objects.equals(this.schedule, paymentInitiationPaymentGetResponse.schedule) && + Objects.equals(this.refundDetails, paymentInitiationPaymentGetResponse.refundDetails) && + Objects.equals(this.bacs, paymentInitiationPaymentGetResponse.bacs) && + Objects.equals(this.iban, paymentInitiationPaymentGetResponse.iban) && + Objects.equals(this.refundIds, paymentInitiationPaymentGetResponse.refundIds) && + Objects.equals(this.amountRefunded, paymentInitiationPaymentGetResponse.amountRefunded) && + Objects.equals(this.walletId, paymentInitiationPaymentGetResponse.walletId) && + Objects.equals(this.scheme, paymentInitiationPaymentGetResponse.scheme) && + Objects.equals(this.adjustedScheme, paymentInitiationPaymentGetResponse.adjustedScheme) && + Objects.equals(this.consentId, paymentInitiationPaymentGetResponse.consentId) && + Objects.equals(this.transactionId, paymentInitiationPaymentGetResponse.transactionId) && + Objects.equals(this.endToEndId, paymentInitiationPaymentGetResponse.endToEndId) && + Objects.equals(this.error, paymentInitiationPaymentGetResponse.error) && + Objects.equals(this.requestId, paymentInitiationPaymentGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(paymentId, amount, status, recipientId, reference, adjustedReference, lastStatusUpdate, schedule, refundDetails, bacs, iban, refundIds, amountRefunded, walletId, scheme, adjustedScheme, consentId, transactionId, endToEndId, error, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationPaymentGetResponse {\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); + sb.append(" adjustedReference: ").append(toIndentedString(adjustedReference)).append("\n"); + sb.append(" lastStatusUpdate: ").append(toIndentedString(lastStatusUpdate)).append("\n"); + sb.append(" schedule: ").append(toIndentedString(schedule)).append("\n"); + sb.append(" refundDetails: ").append(toIndentedString(refundDetails)).append("\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append(" refundIds: ").append(toIndentedString(refundIds)).append("\n"); + sb.append(" amountRefunded: ").append(toIndentedString(amountRefunded)).append("\n"); + sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append(" scheme: ").append(toIndentedString(scheme)).append("\n"); + sb.append(" adjustedScheme: ").append(toIndentedString(adjustedScheme)).append("\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" endToEndId: ").append(toIndentedString(endToEndId)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationPaymentListRequest.java b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentListRequest.java new file mode 100644 index 0000000000..aa63c21406 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentListRequest.java @@ -0,0 +1,218 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * PaymentInitiationPaymentListRequest defines the request schema for `/payment_initiation/payment/list` + */ +@ApiModel(description = "PaymentInitiationPaymentListRequest defines the request schema for `/payment_initiation/payment/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationPaymentListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 10; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private OffsetDateTime cursor; + + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + + public PaymentInitiationPaymentListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentInitiationPaymentListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentInitiationPaymentListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of payments to return. If `count` is not specified, a maximum of 10 payments will be returned, beginning with the most recent payment before the cursor (if specified). + * minimum: 1 + * maximum: 200 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of payments to return. If `count` is not specified, a maximum of 10 payments will be returned, beginning with the most recent payment before the cursor (if specified).") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public PaymentInitiationPaymentListRequest cursor(OffsetDateTime cursor) { + + this.cursor = cursor; + return this; + } + + /** + * A string in RFC 3339 format (i.e. \"2019-12-06T22:35:49Z\"). Only payments created before the cursor will be returned. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A string in RFC 3339 format (i.e. \"2019-12-06T22:35:49Z\"). Only payments created before the cursor will be returned.") + + public OffsetDateTime getCursor() { + return cursor; + } + + + public void setCursor(OffsetDateTime cursor) { + this.cursor = cursor; + } + + + public PaymentInitiationPaymentListRequest consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * The consent ID. If specified, only payments, executed using this consent, will be returned. + * @return consentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The consent ID. If specified, only payments, executed using this consent, will be returned.") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationPaymentListRequest paymentInitiationPaymentListRequest = (PaymentInitiationPaymentListRequest) o; + return Objects.equals(this.clientId, paymentInitiationPaymentListRequest.clientId) && + Objects.equals(this.secret, paymentInitiationPaymentListRequest.secret) && + Objects.equals(this.count, paymentInitiationPaymentListRequest.count) && + Objects.equals(this.cursor, paymentInitiationPaymentListRequest.cursor) && + Objects.equals(this.consentId, paymentInitiationPaymentListRequest.consentId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, count, cursor, consentId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationPaymentListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationPaymentListResponse.java b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentListResponse.java new file mode 100644 index 0000000000..142ec7c86e --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentListResponse.java @@ -0,0 +1,164 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationPayment; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * PaymentInitiationPaymentListResponse defines the response schema for `/payment_initiation/payment/list` + */ +@ApiModel(description = "PaymentInitiationPaymentListResponse defines the response schema for `/payment_initiation/payment/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationPaymentListResponse { + public static final String SERIALIZED_NAME_PAYMENTS = "payments"; + @SerializedName(SERIALIZED_NAME_PAYMENTS) + private List payments = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private OffsetDateTime nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentInitiationPaymentListResponse payments(List payments) { + + this.payments = payments; + return this; + } + + public PaymentInitiationPaymentListResponse addPaymentsItem(PaymentInitiationPayment paymentsItem) { + this.payments.add(paymentsItem); + return this; + } + + /** + * An array of payments that have been created, associated with the given `client_id`. + * @return payments + **/ + @ApiModelProperty(required = true, value = "An array of payments that have been created, associated with the given `client_id`.") + + public List getPayments() { + return payments; + } + + + public void setPayments(List payments) { + this.payments = payments; + } + + + public PaymentInitiationPaymentListResponse nextCursor(OffsetDateTime nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * The value that, when used as the optional `cursor` parameter to `/payment_initiation/payment/list`, will return the next unreturned payment as its first payment. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The value that, when used as the optional `cursor` parameter to `/payment_initiation/payment/list`, will return the next unreturned payment as its first payment.") + + public OffsetDateTime getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(OffsetDateTime nextCursor) { + this.nextCursor = nextCursor; + } + + + public PaymentInitiationPaymentListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationPaymentListResponse paymentInitiationPaymentListResponse = (PaymentInitiationPaymentListResponse) o; + return Objects.equals(this.payments, paymentInitiationPaymentListResponse.payments) && + Objects.equals(this.nextCursor, paymentInitiationPaymentListResponse.nextCursor) && + Objects.equals(this.requestId, paymentInitiationPaymentListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(payments, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationPaymentListResponse {\n"); + sb.append(" payments: ").append(toIndentedString(payments)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationPaymentReverseRequest.java b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentReverseRequest.java new file mode 100644 index 0000000000..cd44dc897a --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentReverseRequest.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentAmountToRefund; +import com.plaid.client.model.PaymentInitiationAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * PaymentInitiationPaymentReverseRequest defines the request schema for `/payment_initiation/payment/reverse` + */ +@ApiModel(description = "PaymentInitiationPaymentReverseRequest defines the request schema for `/payment_initiation/payment/reverse`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationPaymentReverseRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + public static final String SERIALIZED_NAME_IDEMPOTENCY_KEY = "idempotency_key"; + @SerializedName(SERIALIZED_NAME_IDEMPOTENCY_KEY) + private String idempotencyKey; + + public static final String SERIALIZED_NAME_REFERENCE = "reference"; + @SerializedName(SERIALIZED_NAME_REFERENCE) + private String reference; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private PaymentAmountToRefund amount; + + public static final String SERIALIZED_NAME_COUNTERPARTY_DATE_OF_BIRTH = "counterparty_date_of_birth"; + @SerializedName(SERIALIZED_NAME_COUNTERPARTY_DATE_OF_BIRTH) + private LocalDate counterpartyDateOfBirth; + + public static final String SERIALIZED_NAME_COUNTERPARTY_ADDRESS = "counterparty_address"; + @SerializedName(SERIALIZED_NAME_COUNTERPARTY_ADDRESS) + private PaymentInitiationAddress counterpartyAddress; + + + public PaymentInitiationPaymentReverseRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentInitiationPaymentReverseRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentInitiationPaymentReverseRequest paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * The ID of the payment to reverse + * @return paymentId + **/ + @ApiModelProperty(required = true, value = "The ID of the payment to reverse") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + public PaymentInitiationPaymentReverseRequest idempotencyKey(String idempotencyKey) { + + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * A random key provided by the client, per unique wallet transaction. Maximum of 128 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. If a request to execute a wallet transaction fails due to a network connection error, then after a minimum delay of one minute, you can retry the request with the same idempotency key to guarantee that only a single wallet transaction is created. If the request was successfully processed, it will prevent any transaction that uses the same idempotency key, and was received within 24 hours of the first request, from being processed. + * @return idempotencyKey + **/ + @ApiModelProperty(required = true, value = "A random key provided by the client, per unique wallet transaction. Maximum of 128 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. If a request to execute a wallet transaction fails due to a network connection error, then after a minimum delay of one minute, you can retry the request with the same idempotency key to guarantee that only a single wallet transaction is created. If the request was successfully processed, it will prevent any transaction that uses the same idempotency key, and was received within 24 hours of the first request, from being processed.") + + public String getIdempotencyKey() { + return idempotencyKey; + } + + + public void setIdempotencyKey(String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + } + + + public PaymentInitiationPaymentReverseRequest reference(String reference) { + + this.reference = reference; + return this; + } + + /** + * A reference for the refund. This must be an alphanumeric string with 6 to 18 characters and must not contain any special characters or spaces. + * @return reference + **/ + @ApiModelProperty(required = true, value = "A reference for the refund. This must be an alphanumeric string with 6 to 18 characters and must not contain any special characters or spaces.") + + public String getReference() { + return reference; + } + + + public void setReference(String reference) { + this.reference = reference; + } + + + public PaymentInitiationPaymentReverseRequest amount(PaymentAmountToRefund amount) { + + this.amount = amount; + return this; + } + + /** + * Get amount + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentAmountToRefund getAmount() { + return amount; + } + + + public void setAmount(PaymentAmountToRefund amount) { + this.amount = amount; + } + + + public PaymentInitiationPaymentReverseRequest counterpartyDateOfBirth(LocalDate counterpartyDateOfBirth) { + + this.counterpartyDateOfBirth = counterpartyDateOfBirth; + return this; + } + + /** + * The counterparty's birthdate, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. + * @return counterpartyDateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The counterparty's birthdate, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format.") + + public LocalDate getCounterpartyDateOfBirth() { + return counterpartyDateOfBirth; + } + + + public void setCounterpartyDateOfBirth(LocalDate counterpartyDateOfBirth) { + this.counterpartyDateOfBirth = counterpartyDateOfBirth; + } + + + public PaymentInitiationPaymentReverseRequest counterpartyAddress(PaymentInitiationAddress counterpartyAddress) { + + this.counterpartyAddress = counterpartyAddress; + return this; + } + + /** + * Get counterpartyAddress + * @return counterpartyAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationAddress getCounterpartyAddress() { + return counterpartyAddress; + } + + + public void setCounterpartyAddress(PaymentInitiationAddress counterpartyAddress) { + this.counterpartyAddress = counterpartyAddress; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationPaymentReverseRequest paymentInitiationPaymentReverseRequest = (PaymentInitiationPaymentReverseRequest) o; + return Objects.equals(this.clientId, paymentInitiationPaymentReverseRequest.clientId) && + Objects.equals(this.secret, paymentInitiationPaymentReverseRequest.secret) && + Objects.equals(this.paymentId, paymentInitiationPaymentReverseRequest.paymentId) && + Objects.equals(this.idempotencyKey, paymentInitiationPaymentReverseRequest.idempotencyKey) && + Objects.equals(this.reference, paymentInitiationPaymentReverseRequest.reference) && + Objects.equals(this.amount, paymentInitiationPaymentReverseRequest.amount) && + Objects.equals(this.counterpartyDateOfBirth, paymentInitiationPaymentReverseRequest.counterpartyDateOfBirth) && + Objects.equals(this.counterpartyAddress, paymentInitiationPaymentReverseRequest.counterpartyAddress); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, paymentId, idempotencyKey, reference, amount, counterpartyDateOfBirth, counterpartyAddress); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationPaymentReverseRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append(" idempotencyKey: ").append(toIndentedString(idempotencyKey)).append("\n"); + sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" counterpartyDateOfBirth: ").append(toIndentedString(counterpartyDateOfBirth)).append("\n"); + sb.append(" counterpartyAddress: ").append(toIndentedString(counterpartyAddress)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationPaymentReverseResponse.java b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentReverseResponse.java new file mode 100644 index 0000000000..8657880ce1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentReverseResponse.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WalletTransactionStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationPaymentReverseResponse defines the response schema for `/payment_initiation/payment/reverse` + */ +@ApiModel(description = "PaymentInitiationPaymentReverseResponse defines the response schema for `/payment_initiation/payment/reverse`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationPaymentReverseResponse { + public static final String SERIALIZED_NAME_REFUND_ID = "refund_id"; + @SerializedName(SERIALIZED_NAME_REFUND_ID) + private String refundId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WalletTransactionStatus status; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentInitiationPaymentReverseResponse refundId(String refundId) { + + this.refundId = refundId; + return this; + } + + /** + * A unique ID identifying the refund + * @return refundId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying the refund") + + public String getRefundId() { + return refundId; + } + + + public void setRefundId(String refundId) { + this.refundId = refundId; + } + + + public PaymentInitiationPaymentReverseResponse status(WalletTransactionStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WalletTransactionStatus getStatus() { + return status; + } + + + public void setStatus(WalletTransactionStatus status) { + this.status = status; + } + + + public PaymentInitiationPaymentReverseResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationPaymentReverseResponse paymentInitiationPaymentReverseResponse = (PaymentInitiationPaymentReverseResponse) o; + return Objects.equals(this.refundId, paymentInitiationPaymentReverseResponse.refundId) && + Objects.equals(this.status, paymentInitiationPaymentReverseResponse.status) && + Objects.equals(this.requestId, paymentInitiationPaymentReverseResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(refundId, status, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationPaymentReverseResponse {\n"); + sb.append(" refundId: ").append(toIndentedString(refundId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationPaymentStatus.java b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentStatus.java new file mode 100644 index 0000000000..7668bb2fce --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentStatus.java @@ -0,0 +1,103 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the payment. Core lifecycle statuses: **`PAYMENT_STATUS_INPUT_NEEDED`**: Transitional. The payment is awaiting user input to continue processing. It may re-enter this state if additional input is required. **`PAYMENT_STATUS_AUTHORISING`:** Transitional. The payment is being authorised by the financial institution. It will automatically move on once authorisation completes. **`PAYMENT_STATUS_INITIATED`:** The payment has been authorised and accepted by the financial institution. In many EU markets, `PAYMENT_STATUS_EXECUTED` is not supported, and a payment will remain in `PAYMENT_STATUS_INITIATED` until the funds settle, making this a terminal success state in those cases. A payment in `PAYMENT_STATUS_INITIATED` should be treated as a successfully submitted payment; do not gate downstream processing on reaching `PAYMENT_STATUS_EXECUTED`. For a full explanation of payment statuses and how to handle each, see the [Payment Status guide](https://plaid.com/docs/payment-initiation/payment-status/). **`PAYMENT_STATUS_EXECUTED`: Terminal.** The funds have left the payer's account and the payment is en route to settlement. Note that this status does not confirm that funds have arrived in the recipient's account; do not use it as proof of fund receipt. Support is more common in the UK than in the EU; where unsupported, a successful payment remains in `PAYMENT_STATUS_INITIATED` before settling. When using Plaid Virtual Accounts, `PAYMENT_STATUS_EXECUTED` is not terminal -- the payment will continue to `PAYMENT_STATUS_SETTLED` once funds are available. **`PAYMENT_STATUS_SETTLED`: Terminal.** The funds are available in the recipient's account. Only available to customers using [Plaid Virtual Accounts](https://plaid.com/docs/payment-initiation/virtual-accounts/). Failure statuses: **`PAYMENT_STATUS_INSUFFICIENT_FUNDS`: Terminal.** The payment failed due to insufficient funds. No further retries will succeed until the payer's balance is replenished. **`PAYMENT_STATUS_FAILED`: Terminal (retryable).** The payment could not be initiated due to a system error or outage. Retry once the root cause is resolved. **`PAYMENT_STATUS_BLOCKED`: Terminal (retryable).** The payment was blocked by Plaid (e.g., flagged as risky). Resolve any compliance or risk issues and retry. **`PAYMENT_STATUS_REJECTED`: Terminal.** The payment was rejected by the financial institution. No automatic retry is possible. **`PAYMENT_STATUS_CANCELLED`: Terminal.** The end user cancelled the payment during authorisation. Standing-order statuses: **`PAYMENT_STATUS_ESTABLISHED`: Terminal.** A recurring/standing order has been successfully created. Deprecated (to be removed in a future release): `PAYMENT_STATUS_UNKNOWN`: The payment status is unknown. `PAYMENT_STATUS_PROCESSING`: The payment is currently being processed. `PAYMENT_STATUS_COMPLETED`: Indicates that the standing order has been successfully established. + */ +@JsonAdapter(PaymentInitiationPaymentStatus.Adapter.class) +public enum PaymentInitiationPaymentStatus { + + INPUT_NEEDED("PAYMENT_STATUS_INPUT_NEEDED"), + + PROCESSING("PAYMENT_STATUS_PROCESSING"), + + INITIATED("PAYMENT_STATUS_INITIATED"), + + COMPLETED("PAYMENT_STATUS_COMPLETED"), + + INSUFFICIENT_FUNDS("PAYMENT_STATUS_INSUFFICIENT_FUNDS"), + + FAILED("PAYMENT_STATUS_FAILED"), + + BLOCKED("PAYMENT_STATUS_BLOCKED"), + + UNKNOWN("PAYMENT_STATUS_UNKNOWN"), + + EXECUTED("PAYMENT_STATUS_EXECUTED"), + + SETTLED("PAYMENT_STATUS_SETTLED"), + + AUTHORISING("PAYMENT_STATUS_AUTHORISING"), + + CANCELLED("PAYMENT_STATUS_CANCELLED"), + + ESTABLISHED("PAYMENT_STATUS_ESTABLISHED"), + + REJECTED("PAYMENT_STATUS_REJECTED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaymentInitiationPaymentStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentInitiationPaymentStatus fromValue(String value) { + for (PaymentInitiationPaymentStatus b : PaymentInitiationPaymentStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PaymentInitiationPaymentStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentInitiationPaymentStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentInitiationPaymentStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentInitiationPaymentStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationPaymentTokenCreateRequest.java b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentTokenCreateRequest.java new file mode 100644 index 0000000000..a5e9164c1c --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentTokenCreateRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationPaymentTokenCreateRequest defines the request schema for `/payment_initiation/payment/token/create` + */ +@ApiModel(description = "PaymentInitiationPaymentTokenCreateRequest defines the request schema for `/payment_initiation/payment/token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationPaymentTokenCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + + public PaymentInitiationPaymentTokenCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentInitiationPaymentTokenCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentInitiationPaymentTokenCreateRequest paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * The `payment_id` returned from `/payment_initiation/payment/create`. + * @return paymentId + **/ + @ApiModelProperty(required = true, value = "The `payment_id` returned from `/payment_initiation/payment/create`.") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationPaymentTokenCreateRequest paymentInitiationPaymentTokenCreateRequest = (PaymentInitiationPaymentTokenCreateRequest) o; + return Objects.equals(this.clientId, paymentInitiationPaymentTokenCreateRequest.clientId) && + Objects.equals(this.secret, paymentInitiationPaymentTokenCreateRequest.secret) && + Objects.equals(this.paymentId, paymentInitiationPaymentTokenCreateRequest.paymentId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, paymentId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationPaymentTokenCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationPaymentTokenCreateResponse.java b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentTokenCreateResponse.java new file mode 100644 index 0000000000..ffbd15c02e --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationPaymentTokenCreateResponse.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * PaymentInitiationPaymentTokenCreateResponse defines the response schema for `/payment_initiation/payment/token/create` + */ +@ApiModel(description = "PaymentInitiationPaymentTokenCreateResponse defines the response schema for `/payment_initiation/payment/token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationPaymentTokenCreateResponse { + public static final String SERIALIZED_NAME_PAYMENT_TOKEN = "payment_token"; + @SerializedName(SERIALIZED_NAME_PAYMENT_TOKEN) + private String paymentToken; + + public static final String SERIALIZED_NAME_PAYMENT_TOKEN_EXPIRATION_TIME = "payment_token_expiration_time"; + @SerializedName(SERIALIZED_NAME_PAYMENT_TOKEN_EXPIRATION_TIME) + private OffsetDateTime paymentTokenExpirationTime; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentInitiationPaymentTokenCreateResponse paymentToken(String paymentToken) { + + this.paymentToken = paymentToken; + return this; + } + + /** + * A `payment_token` that can be provided to Link initialization to enter the payment initiation flow + * @return paymentToken + **/ + @ApiModelProperty(required = true, value = "A `payment_token` that can be provided to Link initialization to enter the payment initiation flow") + + public String getPaymentToken() { + return paymentToken; + } + + + public void setPaymentToken(String paymentToken) { + this.paymentToken = paymentToken; + } + + + public PaymentInitiationPaymentTokenCreateResponse paymentTokenExpirationTime(OffsetDateTime paymentTokenExpirationTime) { + + this.paymentTokenExpirationTime = paymentTokenExpirationTime; + return this; + } + + /** + * The date and time at which the token will expire, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. A `payment_token` expires after 15 minutes. + * @return paymentTokenExpirationTime + **/ + @ApiModelProperty(required = true, value = "The date and time at which the token will expire, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. A `payment_token` expires after 15 minutes.") + + public OffsetDateTime getPaymentTokenExpirationTime() { + return paymentTokenExpirationTime; + } + + + public void setPaymentTokenExpirationTime(OffsetDateTime paymentTokenExpirationTime) { + this.paymentTokenExpirationTime = paymentTokenExpirationTime; + } + + + public PaymentInitiationPaymentTokenCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationPaymentTokenCreateResponse paymentInitiationPaymentTokenCreateResponse = (PaymentInitiationPaymentTokenCreateResponse) o; + return Objects.equals(this.paymentToken, paymentInitiationPaymentTokenCreateResponse.paymentToken) && + Objects.equals(this.paymentTokenExpirationTime, paymentInitiationPaymentTokenCreateResponse.paymentTokenExpirationTime) && + Objects.equals(this.requestId, paymentInitiationPaymentTokenCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(paymentToken, paymentTokenExpirationTime, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationPaymentTokenCreateResponse {\n"); + sb.append(" paymentToken: ").append(toIndentedString(paymentToken)).append("\n"); + sb.append(" paymentTokenExpirationTime: ").append(toIndentedString(paymentTokenExpirationTime)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationRecipient.java b/src/main/java/com/plaid/client/model/PaymentInitiationRecipient.java new file mode 100644 index 0000000000..8bc18c64bb --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationRecipient.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationAddress; +import com.plaid.client.model.RecipientBACSNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationRecipient defines a payment initiation recipient + */ +@ApiModel(description = "PaymentInitiationRecipient defines a payment initiation recipient") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationRecipient { + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private PaymentInitiationAddress address; + + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private String iban; + + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private RecipientBACSNullable bacs; + + + public PaymentInitiationRecipient recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The ID of the recipient. + * @return recipientId + **/ + @ApiModelProperty(required = true, value = "The ID of the recipient.") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public PaymentInitiationRecipient name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the recipient. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the recipient.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public PaymentInitiationRecipient address(PaymentInitiationAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationAddress getAddress() { + return address; + } + + + public void setAddress(PaymentInitiationAddress address) { + this.address = address; + } + + + public PaymentInitiationRecipient iban(String iban) { + + this.iban = iban; + return this; + } + + /** + * The International Bank Account Number (IBAN) for the recipient. + * @return iban + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The International Bank Account Number (IBAN) for the recipient.") + + public String getIban() { + return iban; + } + + + public void setIban(String iban) { + this.iban = iban; + } + + + public PaymentInitiationRecipient bacs(RecipientBACSNullable bacs) { + + this.bacs = bacs; + return this; + } + + /** + * Get bacs + * @return bacs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RecipientBACSNullable getBacs() { + return bacs; + } + + + public void setBacs(RecipientBACSNullable bacs) { + this.bacs = bacs; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationRecipient paymentInitiationRecipient = (PaymentInitiationRecipient) o; + return Objects.equals(this.recipientId, paymentInitiationRecipient.recipientId) && + Objects.equals(this.name, paymentInitiationRecipient.name) && + Objects.equals(this.address, paymentInitiationRecipient.address) && + Objects.equals(this.iban, paymentInitiationRecipient.iban) && + Objects.equals(this.bacs, paymentInitiationRecipient.bacs); + } + + @Override + public int hashCode() { + return Objects.hash(recipientId, name, address, iban, bacs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationRecipient {\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationRecipientCreateRequest.java b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientCreateRequest.java new file mode 100644 index 0000000000..990e42cc2e --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientCreateRequest.java @@ -0,0 +1,245 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationAddress; +import com.plaid.client.model.RecipientBACSNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationRecipientCreateRequest defines the request schema for `/payment_initiation/recipient/create` + */ +@ApiModel(description = "PaymentInitiationRecipientCreateRequest defines the request schema for `/payment_initiation/recipient/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationRecipientCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private String iban; + + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private RecipientBACSNullable bacs; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private PaymentInitiationAddress address; + + + public PaymentInitiationRecipientCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentInitiationRecipientCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentInitiationRecipientCreateRequest name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the recipient. We recommend using strings of length 18 or less and avoid special characters to ensure compatibility with all institutions. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the recipient. We recommend using strings of length 18 or less and avoid special characters to ensure compatibility with all institutions.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public PaymentInitiationRecipientCreateRequest iban(String iban) { + + this.iban = iban; + return this; + } + + /** + * The International Bank Account Number (IBAN) for the recipient. If Bacs data is not provided, an IBAN is required. + * @return iban + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The International Bank Account Number (IBAN) for the recipient. If Bacs data is not provided, an IBAN is required.") + + public String getIban() { + return iban; + } + + + public void setIban(String iban) { + this.iban = iban; + } + + + public PaymentInitiationRecipientCreateRequest bacs(RecipientBACSNullable bacs) { + + this.bacs = bacs; + return this; + } + + /** + * Get bacs + * @return bacs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RecipientBACSNullable getBacs() { + return bacs; + } + + + public void setBacs(RecipientBACSNullable bacs) { + this.bacs = bacs; + } + + + public PaymentInitiationRecipientCreateRequest address(PaymentInitiationAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationAddress getAddress() { + return address; + } + + + public void setAddress(PaymentInitiationAddress address) { + this.address = address; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationRecipientCreateRequest paymentInitiationRecipientCreateRequest = (PaymentInitiationRecipientCreateRequest) o; + return Objects.equals(this.clientId, paymentInitiationRecipientCreateRequest.clientId) && + Objects.equals(this.secret, paymentInitiationRecipientCreateRequest.secret) && + Objects.equals(this.name, paymentInitiationRecipientCreateRequest.name) && + Objects.equals(this.iban, paymentInitiationRecipientCreateRequest.iban) && + Objects.equals(this.bacs, paymentInitiationRecipientCreateRequest.bacs) && + Objects.equals(this.address, paymentInitiationRecipientCreateRequest.address); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, name, iban, bacs, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationRecipientCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationRecipientCreateResponse.java b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientCreateResponse.java new file mode 100644 index 0000000000..66a1c7e133 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationRecipientCreateResponse defines the response schema for `/payment_initiation/recipient/create` + */ +@ApiModel(description = "PaymentInitiationRecipientCreateResponse defines the response schema for `/payment_initiation/recipient/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationRecipientCreateResponse { + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentInitiationRecipientCreateResponse recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * A unique ID identifying the recipient + * @return recipientId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying the recipient") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public PaymentInitiationRecipientCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationRecipientCreateResponse paymentInitiationRecipientCreateResponse = (PaymentInitiationRecipientCreateResponse) o; + return Objects.equals(this.recipientId, paymentInitiationRecipientCreateResponse.recipientId) && + Objects.equals(this.requestId, paymentInitiationRecipientCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(recipientId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationRecipientCreateResponse {\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationRecipientGetRequest.java b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientGetRequest.java new file mode 100644 index 0000000000..458d52ccd0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationRecipientGetRequest defines the request schema for `/payment_initiation/recipient/get` + */ +@ApiModel(description = "PaymentInitiationRecipientGetRequest defines the request schema for `/payment_initiation/recipient/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationRecipientGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + + public PaymentInitiationRecipientGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentInitiationRecipientGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentInitiationRecipientGetRequest recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The ID of the recipient + * @return recipientId + **/ + @ApiModelProperty(required = true, value = "The ID of the recipient") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationRecipientGetRequest paymentInitiationRecipientGetRequest = (PaymentInitiationRecipientGetRequest) o; + return Objects.equals(this.clientId, paymentInitiationRecipientGetRequest.clientId) && + Objects.equals(this.secret, paymentInitiationRecipientGetRequest.secret) && + Objects.equals(this.recipientId, paymentInitiationRecipientGetRequest.recipientId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, recipientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationRecipientGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationRecipientGetResponse.java b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientGetResponse.java new file mode 100644 index 0000000000..a17804cd67 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientGetResponse.java @@ -0,0 +1,245 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationAddress; +import com.plaid.client.model.PaymentInitiationRecipient; +import com.plaid.client.model.PaymentInitiationRecipientGetResponseAllOf; +import com.plaid.client.model.RecipientBACSNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationRecipientGetResponse defines the response schema for `/payment_initiation/recipient/get` + */ +@ApiModel(description = "PaymentInitiationRecipientGetResponse defines the response schema for `/payment_initiation/recipient/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationRecipientGetResponse { + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private PaymentInitiationAddress address; + + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private String iban; + + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private RecipientBACSNullable bacs; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentInitiationRecipientGetResponse recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The ID of the recipient. + * @return recipientId + **/ + @ApiModelProperty(required = true, value = "The ID of the recipient.") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public PaymentInitiationRecipientGetResponse name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the recipient. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the recipient.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public PaymentInitiationRecipientGetResponse address(PaymentInitiationAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationAddress getAddress() { + return address; + } + + + public void setAddress(PaymentInitiationAddress address) { + this.address = address; + } + + + public PaymentInitiationRecipientGetResponse iban(String iban) { + + this.iban = iban; + return this; + } + + /** + * The International Bank Account Number (IBAN) for the recipient. + * @return iban + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The International Bank Account Number (IBAN) for the recipient.") + + public String getIban() { + return iban; + } + + + public void setIban(String iban) { + this.iban = iban; + } + + + public PaymentInitiationRecipientGetResponse bacs(RecipientBACSNullable bacs) { + + this.bacs = bacs; + return this; + } + + /** + * Get bacs + * @return bacs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RecipientBACSNullable getBacs() { + return bacs; + } + + + public void setBacs(RecipientBACSNullable bacs) { + this.bacs = bacs; + } + + + public PaymentInitiationRecipientGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationRecipientGetResponse paymentInitiationRecipientGetResponse = (PaymentInitiationRecipientGetResponse) o; + return Objects.equals(this.recipientId, paymentInitiationRecipientGetResponse.recipientId) && + Objects.equals(this.name, paymentInitiationRecipientGetResponse.name) && + Objects.equals(this.address, paymentInitiationRecipientGetResponse.address) && + Objects.equals(this.iban, paymentInitiationRecipientGetResponse.iban) && + Objects.equals(this.bacs, paymentInitiationRecipientGetResponse.bacs) && + Objects.equals(this.requestId, paymentInitiationRecipientGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(recipientId, name, address, iban, bacs, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationRecipientGetResponse {\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationRecipientGetResponseAllOf.java b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientGetResponseAllOf.java new file mode 100644 index 0000000000..3328b18c6d --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientGetResponseAllOf.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationRecipientGetResponseAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationRecipientGetResponseAllOf { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentInitiationRecipientGetResponseAllOf requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationRecipientGetResponseAllOf paymentInitiationRecipientGetResponseAllOf = (PaymentInitiationRecipientGetResponseAllOf) o; + return Objects.equals(this.requestId, paymentInitiationRecipientGetResponseAllOf.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationRecipientGetResponseAllOf {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationRecipientListRequest.java b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientListRequest.java new file mode 100644 index 0000000000..c6feccc35c --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientListRequest.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentInitiationRecipientListRequest defines the request schema for `/payment_initiation/recipient/list` + */ +@ApiModel(description = "PaymentInitiationRecipientListRequest defines the request schema for `/payment_initiation/recipient/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationRecipientListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 100; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public PaymentInitiationRecipientListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentInitiationRecipientListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentInitiationRecipientListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of recipients to return. If `count` is not specified, a maximum of 100 recipients will be returned, beginning with the recipient at the cursor (if specified). + * minimum: 1 + * maximum: 100 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of recipients to return. If `count` is not specified, a maximum of 100 recipients will be returned, beginning with the recipient at the cursor (if specified).") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public PaymentInitiationRecipientListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * A value representing the latest recipient to be included in the response. Set this from `next_cursor` received from the previous `/payment_initiation/recipient/list` request. If provided, the response will only contain that recipient and recipients created before it. If omitted, the response will contain recipients starting from the most recent, and in descending order by the `created_at` time. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A value representing the latest recipient to be included in the response. Set this from `next_cursor` received from the previous `/payment_initiation/recipient/list` request. If provided, the response will only contain that recipient and recipients created before it. If omitted, the response will contain recipients starting from the most recent, and in descending order by the `created_at` time.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationRecipientListRequest paymentInitiationRecipientListRequest = (PaymentInitiationRecipientListRequest) o; + return Objects.equals(this.clientId, paymentInitiationRecipientListRequest.clientId) && + Objects.equals(this.secret, paymentInitiationRecipientListRequest.secret) && + Objects.equals(this.count, paymentInitiationRecipientListRequest.count) && + Objects.equals(this.cursor, paymentInitiationRecipientListRequest.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, count, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationRecipientListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationRecipientListResponse.java b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientListResponse.java new file mode 100644 index 0000000000..4d6902221e --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationRecipientListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationRecipient; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * PaymentInitiationRecipientListResponse defines the response schema for `/payment_initiation/recipient/list` + */ +@ApiModel(description = "PaymentInitiationRecipientListResponse defines the response schema for `/payment_initiation/recipient/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationRecipientListResponse { + public static final String SERIALIZED_NAME_RECIPIENTS = "recipients"; + @SerializedName(SERIALIZED_NAME_RECIPIENTS) + private List recipients = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + + public PaymentInitiationRecipientListResponse recipients(List recipients) { + + this.recipients = recipients; + return this; + } + + public PaymentInitiationRecipientListResponse addRecipientsItem(PaymentInitiationRecipient recipientsItem) { + this.recipients.add(recipientsItem); + return this; + } + + /** + * An array of payment recipients created for Payment Initiation + * @return recipients + **/ + @ApiModelProperty(required = true, value = "An array of payment recipients created for Payment Initiation") + + public List getRecipients() { + return recipients; + } + + + public void setRecipients(List recipients) { + this.recipients = recipients; + } + + + public PaymentInitiationRecipientListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public PaymentInitiationRecipientListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * The value that, when used as the optional `cursor` parameter to `/payment_initiation/recipient/list`, will return the corresponding recipient as its first recipient. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The value that, when used as the optional `cursor` parameter to `/payment_initiation/recipient/list`, will return the corresponding recipient as its first recipient.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationRecipientListResponse paymentInitiationRecipientListResponse = (PaymentInitiationRecipientListResponse) o; + return Objects.equals(this.recipients, paymentInitiationRecipientListResponse.recipients) && + Objects.equals(this.requestId, paymentInitiationRecipientListResponse.requestId) && + Objects.equals(this.nextCursor, paymentInitiationRecipientListResponse.nextCursor); + } + + @Override + public int hashCode() { + return Objects.hash(recipients, requestId, nextCursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationRecipientListResponse {\n"); + sb.append(" recipients: ").append(toIndentedString(recipients)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentInitiationStandingOrderMetadata.java b/src/main/java/com/plaid/client/model/PaymentInitiationStandingOrderMetadata.java new file mode 100644 index 0000000000..3ec990c62e --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentInitiationStandingOrderMetadata.java @@ -0,0 +1,162 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentScheduleInterval; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Metadata specifically related to valid Payment Initiation standing order configurations for the institution. + */ +@ApiModel(description = "Metadata specifically related to valid Payment Initiation standing order configurations for the institution.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentInitiationStandingOrderMetadata { + public static final String SERIALIZED_NAME_SUPPORTS_STANDING_ORDER_END_DATE = "supports_standing_order_end_date"; + @SerializedName(SERIALIZED_NAME_SUPPORTS_STANDING_ORDER_END_DATE) + private Boolean supportsStandingOrderEndDate; + + public static final String SERIALIZED_NAME_SUPPORTS_STANDING_ORDER_NEGATIVE_EXECUTION_DAYS = "supports_standing_order_negative_execution_days"; + @SerializedName(SERIALIZED_NAME_SUPPORTS_STANDING_ORDER_NEGATIVE_EXECUTION_DAYS) + private Boolean supportsStandingOrderNegativeExecutionDays; + + public static final String SERIALIZED_NAME_VALID_STANDING_ORDER_INTERVALS = "valid_standing_order_intervals"; + @SerializedName(SERIALIZED_NAME_VALID_STANDING_ORDER_INTERVALS) + private List validStandingOrderIntervals = new ArrayList<>(); + + + public PaymentInitiationStandingOrderMetadata supportsStandingOrderEndDate(Boolean supportsStandingOrderEndDate) { + + this.supportsStandingOrderEndDate = supportsStandingOrderEndDate; + return this; + } + + /** + * Indicates whether the institution supports closed-ended standing orders by providing an end date. + * @return supportsStandingOrderEndDate + **/ + @ApiModelProperty(required = true, value = "Indicates whether the institution supports closed-ended standing orders by providing an end date.") + + public Boolean getSupportsStandingOrderEndDate() { + return supportsStandingOrderEndDate; + } + + + public void setSupportsStandingOrderEndDate(Boolean supportsStandingOrderEndDate) { + this.supportsStandingOrderEndDate = supportsStandingOrderEndDate; + } + + + public PaymentInitiationStandingOrderMetadata supportsStandingOrderNegativeExecutionDays(Boolean supportsStandingOrderNegativeExecutionDays) { + + this.supportsStandingOrderNegativeExecutionDays = supportsStandingOrderNegativeExecutionDays; + return this; + } + + /** + * This is only applicable to `MONTHLY` standing orders. Indicates whether the institution supports negative integers (-1 to -5) for setting up a `MONTHLY` standing order relative to the end of the month. + * @return supportsStandingOrderNegativeExecutionDays + **/ + @ApiModelProperty(required = true, value = "This is only applicable to `MONTHLY` standing orders. Indicates whether the institution supports negative integers (-1 to -5) for setting up a `MONTHLY` standing order relative to the end of the month.") + + public Boolean getSupportsStandingOrderNegativeExecutionDays() { + return supportsStandingOrderNegativeExecutionDays; + } + + + public void setSupportsStandingOrderNegativeExecutionDays(Boolean supportsStandingOrderNegativeExecutionDays) { + this.supportsStandingOrderNegativeExecutionDays = supportsStandingOrderNegativeExecutionDays; + } + + + public PaymentInitiationStandingOrderMetadata validStandingOrderIntervals(List validStandingOrderIntervals) { + + this.validStandingOrderIntervals = validStandingOrderIntervals; + return this; + } + + public PaymentInitiationStandingOrderMetadata addValidStandingOrderIntervalsItem(PaymentScheduleInterval validStandingOrderIntervalsItem) { + this.validStandingOrderIntervals.add(validStandingOrderIntervalsItem); + return this; + } + + /** + * A list of the valid standing order intervals supported by the institution. + * @return validStandingOrderIntervals + **/ + @ApiModelProperty(required = true, value = "A list of the valid standing order intervals supported by the institution.") + + public List getValidStandingOrderIntervals() { + return validStandingOrderIntervals; + } + + + public void setValidStandingOrderIntervals(List validStandingOrderIntervals) { + this.validStandingOrderIntervals = validStandingOrderIntervals; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentInitiationStandingOrderMetadata paymentInitiationStandingOrderMetadata = (PaymentInitiationStandingOrderMetadata) o; + return Objects.equals(this.supportsStandingOrderEndDate, paymentInitiationStandingOrderMetadata.supportsStandingOrderEndDate) && + Objects.equals(this.supportsStandingOrderNegativeExecutionDays, paymentInitiationStandingOrderMetadata.supportsStandingOrderNegativeExecutionDays) && + Objects.equals(this.validStandingOrderIntervals, paymentInitiationStandingOrderMetadata.validStandingOrderIntervals); + } + + @Override + public int hashCode() { + return Objects.hash(supportsStandingOrderEndDate, supportsStandingOrderNegativeExecutionDays, validStandingOrderIntervals); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentInitiationStandingOrderMetadata {\n"); + sb.append(" supportsStandingOrderEndDate: ").append(toIndentedString(supportsStandingOrderEndDate)).append("\n"); + sb.append(" supportsStandingOrderNegativeExecutionDays: ").append(toIndentedString(supportsStandingOrderNegativeExecutionDays)).append("\n"); + sb.append(" validStandingOrderIntervals: ").append(toIndentedString(validStandingOrderIntervals)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentMeta.java b/src/main/java/com/plaid/client/model/PaymentMeta.java new file mode 100644 index 0000000000..e771c0bdb6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentMeta.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Transaction information specific to inter-bank transfers. If the transaction was not an inter-bank transfer, all fields will be `null`. If the `transactions` object was returned by a Transactions endpoint such as `/transactions/sync` or `/transactions/get`, the `payment_meta` key will always appear, but no data elements are guaranteed. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights. + */ +@ApiModel(description = "Transaction information specific to inter-bank transfers. If the transaction was not an inter-bank transfer, all fields will be `null`. If the `transactions` object was returned by a Transactions endpoint such as `/transactions/sync` or `/transactions/get`, the `payment_meta` key will always appear, but no data elements are guaranteed. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentMeta { + public static final String SERIALIZED_NAME_REFERENCE_NUMBER = "reference_number"; + @SerializedName(SERIALIZED_NAME_REFERENCE_NUMBER) + private String referenceNumber; + + public static final String SERIALIZED_NAME_PPD_ID = "ppd_id"; + @SerializedName(SERIALIZED_NAME_PPD_ID) + private String ppdId; + + public static final String SERIALIZED_NAME_PAYEE = "payee"; + @SerializedName(SERIALIZED_NAME_PAYEE) + private String payee; + + public static final String SERIALIZED_NAME_BY_ORDER_OF = "by_order_of"; + @SerializedName(SERIALIZED_NAME_BY_ORDER_OF) + private String byOrderOf; + + public static final String SERIALIZED_NAME_PAYER = "payer"; + @SerializedName(SERIALIZED_NAME_PAYER) + private String payer; + + public static final String SERIALIZED_NAME_PAYMENT_METHOD = "payment_method"; + @SerializedName(SERIALIZED_NAME_PAYMENT_METHOD) + private String paymentMethod; + + public static final String SERIALIZED_NAME_PAYMENT_PROCESSOR = "payment_processor"; + @SerializedName(SERIALIZED_NAME_PAYMENT_PROCESSOR) + private String paymentProcessor; + + public static final String SERIALIZED_NAME_REASON = "reason"; + @SerializedName(SERIALIZED_NAME_REASON) + private String reason; + + + public PaymentMeta referenceNumber(String referenceNumber) { + + this.referenceNumber = referenceNumber; + return this; + } + + /** + * The transaction reference number supplied by the financial institution. + * @return referenceNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The transaction reference number supplied by the financial institution.") + + public String getReferenceNumber() { + return referenceNumber; + } + + + public void setReferenceNumber(String referenceNumber) { + this.referenceNumber = referenceNumber; + } + + + public PaymentMeta ppdId(String ppdId) { + + this.ppdId = ppdId; + return this; + } + + /** + * The ACH PPD ID for the payer. + * @return ppdId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ACH PPD ID for the payer.") + + public String getPpdId() { + return ppdId; + } + + + public void setPpdId(String ppdId) { + this.ppdId = ppdId; + } + + + public PaymentMeta payee(String payee) { + + this.payee = payee; + return this; + } + + /** + * For transfers, the party that is receiving the transaction. + * @return payee + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "For transfers, the party that is receiving the transaction.") + + public String getPayee() { + return payee; + } + + + public void setPayee(String payee) { + this.payee = payee; + } + + + public PaymentMeta byOrderOf(String byOrderOf) { + + this.byOrderOf = byOrderOf; + return this; + } + + /** + * The party initiating a wire transfer. Will be `null` if the transaction is not a wire transfer. + * @return byOrderOf + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The party initiating a wire transfer. Will be `null` if the transaction is not a wire transfer.") + + public String getByOrderOf() { + return byOrderOf; + } + + + public void setByOrderOf(String byOrderOf) { + this.byOrderOf = byOrderOf; + } + + + public PaymentMeta payer(String payer) { + + this.payer = payer; + return this; + } + + /** + * For transfers, the party that is paying the transaction. + * @return payer + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "For transfers, the party that is paying the transaction.") + + public String getPayer() { + return payer; + } + + + public void setPayer(String payer) { + this.payer = payer; + } + + + public PaymentMeta paymentMethod(String paymentMethod) { + + this.paymentMethod = paymentMethod; + return this; + } + + /** + * The type of transfer, e.g. 'ACH' + * @return paymentMethod + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The type of transfer, e.g. 'ACH'") + + public String getPaymentMethod() { + return paymentMethod; + } + + + public void setPaymentMethod(String paymentMethod) { + this.paymentMethod = paymentMethod; + } + + + public PaymentMeta paymentProcessor(String paymentProcessor) { + + this.paymentProcessor = paymentProcessor; + return this; + } + + /** + * The name of the payment processor + * @return paymentProcessor + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The name of the payment processor") + + public String getPaymentProcessor() { + return paymentProcessor; + } + + + public void setPaymentProcessor(String paymentProcessor) { + this.paymentProcessor = paymentProcessor; + } + + + public PaymentMeta reason(String reason) { + + this.reason = reason; + return this; + } + + /** + * The payer-supplied description of the transfer. + * @return reason + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The payer-supplied description of the transfer.") + + public String getReason() { + return reason; + } + + + public void setReason(String reason) { + this.reason = reason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentMeta paymentMeta = (PaymentMeta) o; + return Objects.equals(this.referenceNumber, paymentMeta.referenceNumber) && + Objects.equals(this.ppdId, paymentMeta.ppdId) && + Objects.equals(this.payee, paymentMeta.payee) && + Objects.equals(this.byOrderOf, paymentMeta.byOrderOf) && + Objects.equals(this.payer, paymentMeta.payer) && + Objects.equals(this.paymentMethod, paymentMeta.paymentMethod) && + Objects.equals(this.paymentProcessor, paymentMeta.paymentProcessor) && + Objects.equals(this.reason, paymentMeta.reason); + } + + @Override + public int hashCode() { + return Objects.hash(referenceNumber, ppdId, payee, byOrderOf, payer, paymentMethod, paymentProcessor, reason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentMeta {\n"); + sb.append(" referenceNumber: ").append(toIndentedString(referenceNumber)).append("\n"); + sb.append(" ppdId: ").append(toIndentedString(ppdId)).append("\n"); + sb.append(" payee: ").append(toIndentedString(payee)).append("\n"); + sb.append(" byOrderOf: ").append(toIndentedString(byOrderOf)).append("\n"); + sb.append(" payer: ").append(toIndentedString(payer)).append("\n"); + sb.append(" paymentMethod: ").append(toIndentedString(paymentMethod)).append("\n"); + sb.append(" paymentProcessor: ").append(toIndentedString(paymentProcessor)).append("\n"); + sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentProfileCreateRequest.java b/src/main/java/com/plaid/client/model/PaymentProfileCreateRequest.java new file mode 100644 index 0000000000..12c311de59 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentProfileCreateRequest.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentProfileCreateRequest defines the request schema for `/payment_profile/create` + */ +@ApiModel(description = "PaymentProfileCreateRequest defines the request schema for `/payment_profile/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentProfileCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public PaymentProfileCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentProfileCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentProfileCreateRequest paymentProfileCreateRequest = (PaymentProfileCreateRequest) o; + return Objects.equals(this.clientId, paymentProfileCreateRequest.clientId) && + Objects.equals(this.secret, paymentProfileCreateRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentProfileCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentProfileCreateResponse.java b/src/main/java/com/plaid/client/model/PaymentProfileCreateResponse.java new file mode 100644 index 0000000000..58dc00bb82 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentProfileCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentProfileCreateResponse defines the response schema for `/payment_profile/create` + */ +@ApiModel(description = "PaymentProfileCreateResponse defines the response schema for `/payment_profile/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentProfileCreateResponse { + public static final String SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN = "payment_profile_token"; + @SerializedName(SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN) + private String paymentProfileToken; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentProfileCreateResponse paymentProfileToken(String paymentProfileToken) { + + this.paymentProfileToken = paymentProfileToken; + return this; + } + + /** + * A payment profile token associated with the Payment Profile data that is being requested. + * @return paymentProfileToken + **/ + @ApiModelProperty(required = true, value = "A payment profile token associated with the Payment Profile data that is being requested.") + + public String getPaymentProfileToken() { + return paymentProfileToken; + } + + + public void setPaymentProfileToken(String paymentProfileToken) { + this.paymentProfileToken = paymentProfileToken; + } + + + public PaymentProfileCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentProfileCreateResponse paymentProfileCreateResponse = (PaymentProfileCreateResponse) o; + return Objects.equals(this.paymentProfileToken, paymentProfileCreateResponse.paymentProfileToken) && + Objects.equals(this.requestId, paymentProfileCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(paymentProfileToken, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentProfileCreateResponse {\n"); + sb.append(" paymentProfileToken: ").append(toIndentedString(paymentProfileToken)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentProfileGetRequest.java b/src/main/java/com/plaid/client/model/PaymentProfileGetRequest.java new file mode 100644 index 0000000000..9cd15b548d --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentProfileGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentProfileGetRequest defines the request schema for `/payment_profile/get` + */ +@ApiModel(description = "PaymentProfileGetRequest defines the request schema for `/payment_profile/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentProfileGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN = "payment_profile_token"; + @SerializedName(SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN) + private String paymentProfileToken; + + + public PaymentProfileGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentProfileGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentProfileGetRequest paymentProfileToken(String paymentProfileToken) { + + this.paymentProfileToken = paymentProfileToken; + return this; + } + + /** + * A payment profile token associated with the Payment Profile data that is being requested. + * @return paymentProfileToken + **/ + @ApiModelProperty(required = true, value = "A payment profile token associated with the Payment Profile data that is being requested.") + + public String getPaymentProfileToken() { + return paymentProfileToken; + } + + + public void setPaymentProfileToken(String paymentProfileToken) { + this.paymentProfileToken = paymentProfileToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentProfileGetRequest paymentProfileGetRequest = (PaymentProfileGetRequest) o; + return Objects.equals(this.clientId, paymentProfileGetRequest.clientId) && + Objects.equals(this.secret, paymentProfileGetRequest.secret) && + Objects.equals(this.paymentProfileToken, paymentProfileGetRequest.paymentProfileToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, paymentProfileToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentProfileGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" paymentProfileToken: ").append(toIndentedString(paymentProfileToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentProfileGetResponse.java b/src/main/java/com/plaid/client/model/PaymentProfileGetResponse.java new file mode 100644 index 0000000000..ad030c1c64 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentProfileGetResponse.java @@ -0,0 +1,213 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentProfileStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * PaymentProfileGetResponse defines the response schema for `/payment_profile/get` + */ +@ApiModel(description = "PaymentProfileGetResponse defines the response schema for `/payment_profile/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentProfileGetResponse { + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + private OffsetDateTime updatedAt; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_DELETED_AT = "deleted_at"; + @SerializedName(SERIALIZED_NAME_DELETED_AT) + private OffsetDateTime deletedAt; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PaymentProfileStatus status; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentProfileGetResponse updatedAt(OffsetDateTime updatedAt) { + + this.updatedAt = updatedAt; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the last time the given Payment Profile was updated at + * @return updatedAt + **/ + @ApiModelProperty(required = true, value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the last time the given Payment Profile was updated at") + + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + + public void setUpdatedAt(OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + public PaymentProfileGetResponse createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the time the given Payment Profile was created at + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the time the given Payment Profile was created at") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public PaymentProfileGetResponse deletedAt(OffsetDateTime deletedAt) { + + this.deletedAt = deletedAt; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the time the given Payment Profile was deleted at. Always `null` if the Payment Profile has not been deleted + * @return deletedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the time the given Payment Profile was deleted at. Always `null` if the Payment Profile has not been deleted") + + public OffsetDateTime getDeletedAt() { + return deletedAt; + } + + + public void setDeletedAt(OffsetDateTime deletedAt) { + this.deletedAt = deletedAt; + } + + + public PaymentProfileGetResponse status(PaymentProfileStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentProfileStatus getStatus() { + return status; + } + + + public void setStatus(PaymentProfileStatus status) { + this.status = status; + } + + + public PaymentProfileGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentProfileGetResponse paymentProfileGetResponse = (PaymentProfileGetResponse) o; + return Objects.equals(this.updatedAt, paymentProfileGetResponse.updatedAt) && + Objects.equals(this.createdAt, paymentProfileGetResponse.createdAt) && + Objects.equals(this.deletedAt, paymentProfileGetResponse.deletedAt) && + Objects.equals(this.status, paymentProfileGetResponse.status) && + Objects.equals(this.requestId, paymentProfileGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(updatedAt, createdAt, deletedAt, status, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentProfileGetResponse {\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" deletedAt: ").append(toIndentedString(deletedAt)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentProfileRemoveRequest.java b/src/main/java/com/plaid/client/model/PaymentProfileRemoveRequest.java new file mode 100644 index 0000000000..2d8d790940 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentProfileRemoveRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentProfileRemoveRequest defines the request schema for `/payment_profile/remove` + */ +@ApiModel(description = "PaymentProfileRemoveRequest defines the request schema for `/payment_profile/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentProfileRemoveRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN = "payment_profile_token"; + @SerializedName(SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN) + private String paymentProfileToken; + + + public PaymentProfileRemoveRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public PaymentProfileRemoveRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public PaymentProfileRemoveRequest paymentProfileToken(String paymentProfileToken) { + + this.paymentProfileToken = paymentProfileToken; + return this; + } + + /** + * A payment profile token associated with the Payment Profile data that is being requested. + * @return paymentProfileToken + **/ + @ApiModelProperty(required = true, value = "A payment profile token associated with the Payment Profile data that is being requested.") + + public String getPaymentProfileToken() { + return paymentProfileToken; + } + + + public void setPaymentProfileToken(String paymentProfileToken) { + this.paymentProfileToken = paymentProfileToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentProfileRemoveRequest paymentProfileRemoveRequest = (PaymentProfileRemoveRequest) o; + return Objects.equals(this.clientId, paymentProfileRemoveRequest.clientId) && + Objects.equals(this.secret, paymentProfileRemoveRequest.secret) && + Objects.equals(this.paymentProfileToken, paymentProfileRemoveRequest.paymentProfileToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, paymentProfileToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentProfileRemoveRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" paymentProfileToken: ").append(toIndentedString(paymentProfileToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentProfileRemoveResponse.java b/src/main/java/com/plaid/client/model/PaymentProfileRemoveResponse.java new file mode 100644 index 0000000000..9abd0bfd99 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentProfileRemoveResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PaymentProfileRemoveResponse defines the response schema for `/payment_profile/remove` + */ +@ApiModel(description = "PaymentProfileRemoveResponse defines the response schema for `/payment_profile/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentProfileRemoveResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public PaymentProfileRemoveResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentProfileRemoveResponse paymentProfileRemoveResponse = (PaymentProfileRemoveResponse) o; + return Objects.equals(this.requestId, paymentProfileRemoveResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentProfileRemoveResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaymentProfileStatus.java b/src/main/java/com/plaid/client/model/PaymentProfileStatus.java new file mode 100644 index 0000000000..b162a80bbb --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentProfileStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the given Payment Profile. `READY`: This Payment Profile is ready to be used to create transfers using `/transfer/authorization/create` and `/transfer/create`. `PENDING`: This Payment Profile is not ready to be used. You'll need to call `/link/token/create` and provide the `payment_profile_token` in the `transfer.payment_profile_token` field to initiate the account linking experience. `REMOVED`: This Payment Profile has been removed. + */ +@JsonAdapter(PaymentProfileStatus.Adapter.class) +public enum PaymentProfileStatus { + + PENDING("PENDING"), + + READY("READY"), + + REMOVED("REMOVED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaymentProfileStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentProfileStatus fromValue(String value) { + for (PaymentProfileStatus b : PaymentProfileStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PaymentProfileStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentProfileStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentProfileStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentProfileStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaymentScheduleInterval.java b/src/main/java/com/plaid/client/model/PaymentScheduleInterval.java new file mode 100644 index 0000000000..f6acb33c6a --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentScheduleInterval.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The frequency interval of the payment. + */ +@JsonAdapter(PaymentScheduleInterval.Adapter.class) +public enum PaymentScheduleInterval { + + WEEKLY("WEEKLY"), + + MONTHLY("MONTHLY"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaymentScheduleInterval(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentScheduleInterval fromValue(String value) { + for (PaymentScheduleInterval b : PaymentScheduleInterval.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PaymentScheduleInterval.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentScheduleInterval enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentScheduleInterval read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentScheduleInterval.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaymentScheme.java b/src/main/java/com/plaid/client/model/PaymentScheme.java new file mode 100644 index 0000000000..b89126b3be --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentScheme.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Payment scheme. If not specified - the default in the region will be used (e.g. `SEPA_CREDIT_TRANSFER` for EU). In responses, if the scheme is not explicitly specified in the request, this value will be `null`. Using unsupported values will result in a failed payment. `LOCAL_DEFAULT`: The default payment scheme for the selected market and currency will be used. `LOCAL_INSTANT`: The instant payment scheme for the selected market and currency will be used (if applicable). Fees may be applied by the institution. `SEPA_CREDIT_TRANSFER`: The standard payment to a beneficiary within the SEPA area. `SEPA_CREDIT_TRANSFER_INSTANT`: Instant payment within the SEPA area. May involve additional fees and may not be available at some banks. + */ +@JsonAdapter(PaymentScheme.Adapter.class) +public enum PaymentScheme { + + NULL("null"), + + LOCAL_DEFAULT("LOCAL_DEFAULT"), + + LOCAL_INSTANT("LOCAL_INSTANT"), + + SEPA_CREDIT_TRANSFER("SEPA_CREDIT_TRANSFER"), + + SEPA_CREDIT_TRANSFER_INSTANT("SEPA_CREDIT_TRANSFER_INSTANT"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaymentScheme(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentScheme fromValue(String value) { + for (PaymentScheme b : PaymentScheme.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentScheme enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentScheme read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentScheme.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaymentStatusUpdateWebhook.java b/src/main/java/com/plaid/client/model/PaymentStatusUpdateWebhook.java new file mode 100644 index 0000000000..a40270e3d7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaymentStatusUpdateWebhook.java @@ -0,0 +1,445 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationPaymentStatus; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; + +/** + * Fired when the status of a payment has changed. For a full explanation of payment statuses and how to handle each, see the [Payment Status guide](https://plaid.com/docs/payment-initiation/payment-status/). Note: For standard Payment Initiation, Plaid payment statuses do not constitute proof that funds have arrived in the recipient's account, and you should not use `new_payment_status` to confirm fund settlement. For options that provide confirmation of fund receipt, see [Virtual Accounts](https://plaid.com/docs/payment-initiation/virtual-accounts/payment-confirmation/). + */ +@ApiModel(description = "Fired when the status of a payment has changed. For a full explanation of payment statuses and how to handle each, see the [Payment Status guide](https://plaid.com/docs/payment-initiation/payment-status/). Note: For standard Payment Initiation, Plaid payment statuses do not constitute proof that funds have arrived in the recipient's account, and you should not use `new_payment_status` to confirm fund settlement. For options that provide confirmation of fund receipt, see [Virtual Accounts](https://plaid.com/docs/payment-initiation/virtual-accounts/payment-confirmation/).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaymentStatusUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_NEW_PAYMENT_STATUS = "new_payment_status"; + @SerializedName(SERIALIZED_NAME_NEW_PAYMENT_STATUS) + private PaymentInitiationPaymentStatus newPaymentStatus; + + public static final String SERIALIZED_NAME_OLD_PAYMENT_STATUS = "old_payment_status"; + @SerializedName(SERIALIZED_NAME_OLD_PAYMENT_STATUS) + private PaymentInitiationPaymentStatus oldPaymentStatus; + + public static final String SERIALIZED_NAME_ORIGINAL_REFERENCE = "original_reference"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_REFERENCE) + private String originalReference; + + public static final String SERIALIZED_NAME_ADJUSTED_REFERENCE = "adjusted_reference"; + @SerializedName(SERIALIZED_NAME_ADJUSTED_REFERENCE) + private String adjustedReference; + + public static final String SERIALIZED_NAME_ORIGINAL_START_DATE = "original_start_date"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_START_DATE) + private LocalDate originalStartDate; + + public static final String SERIALIZED_NAME_ADJUSTED_START_DATE = "adjusted_start_date"; + @SerializedName(SERIALIZED_NAME_ADJUSTED_START_DATE) + private LocalDate adjustedStartDate; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public PaymentStatusUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `PAYMENT_INITIATION` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`PAYMENT_INITIATION`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public PaymentStatusUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `PAYMENT_STATUS_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`PAYMENT_STATUS_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public PaymentStatusUpdateWebhook paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * The `payment_id` for the payment being updated + * @return paymentId + **/ + @ApiModelProperty(required = true, value = "The `payment_id` for the payment being updated") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + public PaymentStatusUpdateWebhook transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The transaction ID that this payment is associated with, if any. This is present only when a payment was initiated using virtual accounts. + * @return transactionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The transaction ID that this payment is associated with, if any. This is present only when a payment was initiated using virtual accounts.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public PaymentStatusUpdateWebhook newPaymentStatus(PaymentInitiationPaymentStatus newPaymentStatus) { + + this.newPaymentStatus = newPaymentStatus; + return this; + } + + /** + * Get newPaymentStatus + * @return newPaymentStatus + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationPaymentStatus getNewPaymentStatus() { + return newPaymentStatus; + } + + + public void setNewPaymentStatus(PaymentInitiationPaymentStatus newPaymentStatus) { + this.newPaymentStatus = newPaymentStatus; + } + + + public PaymentStatusUpdateWebhook oldPaymentStatus(PaymentInitiationPaymentStatus oldPaymentStatus) { + + this.oldPaymentStatus = oldPaymentStatus; + return this; + } + + /** + * Get oldPaymentStatus + * @return oldPaymentStatus + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationPaymentStatus getOldPaymentStatus() { + return oldPaymentStatus; + } + + + public void setOldPaymentStatus(PaymentInitiationPaymentStatus oldPaymentStatus) { + this.oldPaymentStatus = oldPaymentStatus; + } + + + public PaymentStatusUpdateWebhook originalReference(String originalReference) { + + this.originalReference = originalReference; + return this; + } + + /** + * The original value of the reference when creating the payment. + * @return originalReference + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The original value of the reference when creating the payment.") + + public String getOriginalReference() { + return originalReference; + } + + + public void setOriginalReference(String originalReference) { + this.originalReference = originalReference; + } + + + public PaymentStatusUpdateWebhook adjustedReference(String adjustedReference) { + + this.adjustedReference = adjustedReference; + return this; + } + + /** + * The value of the reference sent to the bank after adjustment to pass bank validation rules. + * @return adjustedReference + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The value of the reference sent to the bank after adjustment to pass bank validation rules.") + + public String getAdjustedReference() { + return adjustedReference; + } + + + public void setAdjustedReference(String adjustedReference) { + this.adjustedReference = adjustedReference; + } + + + public PaymentStatusUpdateWebhook originalStartDate(LocalDate originalStartDate) { + + this.originalStartDate = originalStartDate; + return this; + } + + /** + * The original value of the `start_date` provided during the creation of a standing order. If the payment is not a standing order, this field will be `null`. + * @return originalStartDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The original value of the `start_date` provided during the creation of a standing order. If the payment is not a standing order, this field will be `null`.") + + public LocalDate getOriginalStartDate() { + return originalStartDate; + } + + + public void setOriginalStartDate(LocalDate originalStartDate) { + this.originalStartDate = originalStartDate; + } + + + public PaymentStatusUpdateWebhook adjustedStartDate(LocalDate adjustedStartDate) { + + this.adjustedStartDate = adjustedStartDate; + return this; + } + + /** + * The start date sent to the bank after adjusting for holidays or weekends. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). If the start date did not require adjustment, or if the payment is not a standing order, this field will be `null`. + * @return adjustedStartDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The start date sent to the bank after adjusting for holidays or weekends. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). If the start date did not require adjustment, or if the payment is not a standing order, this field will be `null`.") + + public LocalDate getAdjustedStartDate() { + return adjustedStartDate; + } + + + public void setAdjustedStartDate(LocalDate adjustedStartDate) { + this.adjustedStartDate = adjustedStartDate; + } + + + public PaymentStatusUpdateWebhook timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * The timestamp of the update, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"` + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "The timestamp of the update, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"`") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + public PaymentStatusUpdateWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public PaymentStatusUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaymentStatusUpdateWebhook paymentStatusUpdateWebhook = (PaymentStatusUpdateWebhook) o; + return Objects.equals(this.webhookType, paymentStatusUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, paymentStatusUpdateWebhook.webhookCode) && + Objects.equals(this.paymentId, paymentStatusUpdateWebhook.paymentId) && + Objects.equals(this.transactionId, paymentStatusUpdateWebhook.transactionId) && + Objects.equals(this.newPaymentStatus, paymentStatusUpdateWebhook.newPaymentStatus) && + Objects.equals(this.oldPaymentStatus, paymentStatusUpdateWebhook.oldPaymentStatus) && + Objects.equals(this.originalReference, paymentStatusUpdateWebhook.originalReference) && + Objects.equals(this.adjustedReference, paymentStatusUpdateWebhook.adjustedReference) && + Objects.equals(this.originalStartDate, paymentStatusUpdateWebhook.originalStartDate) && + Objects.equals(this.adjustedStartDate, paymentStatusUpdateWebhook.adjustedStartDate) && + Objects.equals(this.timestamp, paymentStatusUpdateWebhook.timestamp) && + Objects.equals(this.error, paymentStatusUpdateWebhook.error) && + Objects.equals(this.environment, paymentStatusUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, paymentId, transactionId, newPaymentStatus, oldPaymentStatus, originalReference, adjustedReference, originalStartDate, adjustedStartDate, timestamp, error, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaymentStatusUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" newPaymentStatus: ").append(toIndentedString(newPaymentStatus)).append("\n"); + sb.append(" oldPaymentStatus: ").append(toIndentedString(oldPaymentStatus)).append("\n"); + sb.append(" originalReference: ").append(toIndentedString(originalReference)).append("\n"); + sb.append(" adjustedReference: ").append(toIndentedString(adjustedReference)).append("\n"); + sb.append(" originalStartDate: ").append(toIndentedString(originalStartDate)).append("\n"); + sb.append(" adjustedStartDate: ").append(toIndentedString(adjustedStartDate)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayrollIncomeAccountData.java b/src/main/java/com/plaid/client/model/PayrollIncomeAccountData.java new file mode 100644 index 0000000000..4e8b4fbeeb --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayrollIncomeAccountData.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PayrollIncomeRateOfPay; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object containing account level data. + */ +@ApiModel(description = "An object containing account level data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayrollIncomeAccountData { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_RATE_OF_PAY = "rate_of_pay"; + @SerializedName(SERIALIZED_NAME_RATE_OF_PAY) + private PayrollIncomeRateOfPay rateOfPay; + + public static final String SERIALIZED_NAME_PAY_FREQUENCY = "pay_frequency"; + @SerializedName(SERIALIZED_NAME_PAY_FREQUENCY) + private String payFrequency; + + + public PayrollIncomeAccountData accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * ID of the payroll provider account. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "ID of the payroll provider account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public PayrollIncomeAccountData rateOfPay(PayrollIncomeRateOfPay rateOfPay) { + + this.rateOfPay = rateOfPay; + return this; + } + + /** + * Get rateOfPay + * @return rateOfPay + **/ + @ApiModelProperty(required = true, value = "") + + public PayrollIncomeRateOfPay getRateOfPay() { + return rateOfPay; + } + + + public void setRateOfPay(PayrollIncomeRateOfPay rateOfPay) { + this.rateOfPay = rateOfPay; + } + + + public PayrollIncomeAccountData payFrequency(String payFrequency) { + + this.payFrequency = payFrequency; + return this; + } + + /** + * The frequency at which an individual is paid. + * @return payFrequency + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The frequency at which an individual is paid.") + + public String getPayFrequency() { + return payFrequency; + } + + + public void setPayFrequency(String payFrequency) { + this.payFrequency = payFrequency; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayrollIncomeAccountData payrollIncomeAccountData = (PayrollIncomeAccountData) o; + return Objects.equals(this.accountId, payrollIncomeAccountData.accountId) && + Objects.equals(this.rateOfPay, payrollIncomeAccountData.rateOfPay) && + Objects.equals(this.payFrequency, payrollIncomeAccountData.payFrequency); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, rateOfPay, payFrequency); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayrollIncomeAccountData {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" rateOfPay: ").append(toIndentedString(rateOfPay)).append("\n"); + sb.append(" payFrequency: ").append(toIndentedString(payFrequency)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayrollIncomeObject.java b/src/main/java/com/plaid/client/model/PayrollIncomeObject.java new file mode 100644 index 0000000000..121916dd2b --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayrollIncomeObject.java @@ -0,0 +1,237 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Credit1099; +import com.plaid.client.model.CreditI20; +import com.plaid.client.model.CreditPayStub; +import com.plaid.client.model.CreditW2; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing payroll data. + */ +@ApiModel(description = "An object representing payroll data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayrollIncomeObject { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_PAY_STUBS = "pay_stubs"; + @SerializedName(SERIALIZED_NAME_PAY_STUBS) + private List payStubs = new ArrayList<>(); + + public static final String SERIALIZED_NAME_W2S = "w2s"; + @SerializedName(SERIALIZED_NAME_W2S) + private List w2s = new ArrayList<>(); + + public static final String SERIALIZED_NAME_FORM1099S = "form1099s"; + @SerializedName(SERIALIZED_NAME_FORM1099S) + private List form1099s = new ArrayList<>(); + + public static final String SERIALIZED_NAME_I20S = "i20s"; + @SerializedName(SERIALIZED_NAME_I20S) + private List i20s = new ArrayList<>(); + + + public PayrollIncomeObject accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * ID of the payroll provider account. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "ID of the payroll provider account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public PayrollIncomeObject payStubs(List payStubs) { + + this.payStubs = payStubs; + return this; + } + + public PayrollIncomeObject addPayStubsItem(CreditPayStub payStubsItem) { + this.payStubs.add(payStubsItem); + return this; + } + + /** + * Array of pay stubs for the user. + * @return payStubs + **/ + @ApiModelProperty(required = true, value = "Array of pay stubs for the user.") + + public List getPayStubs() { + return payStubs; + } + + + public void setPayStubs(List payStubs) { + this.payStubs = payStubs; + } + + + public PayrollIncomeObject w2s(List w2s) { + + this.w2s = w2s; + return this; + } + + public PayrollIncomeObject addW2sItem(CreditW2 w2sItem) { + this.w2s.add(w2sItem); + return this; + } + + /** + * Array of tax form W-2s. + * @return w2s + **/ + @ApiModelProperty(required = true, value = "Array of tax form W-2s.") + + public List getW2s() { + return w2s; + } + + + public void setW2s(List w2s) { + this.w2s = w2s; + } + + + public PayrollIncomeObject form1099s(List form1099s) { + + this.form1099s = form1099s; + return this; + } + + public PayrollIncomeObject addForm1099sItem(Credit1099 form1099sItem) { + this.form1099s.add(form1099sItem); + return this; + } + + /** + * Array of tax form 1099s. + * @return form1099s + **/ + @ApiModelProperty(required = true, value = "Array of tax form 1099s.") + + public List getForm1099s() { + return form1099s; + } + + + public void setForm1099s(List form1099s) { + this.form1099s = form1099s; + } + + + public PayrollIncomeObject i20s(List i20s) { + + this.i20s = i20s; + return this; + } + + public PayrollIncomeObject addI20sItem(CreditI20 i20sItem) { + this.i20s.add(i20sItem); + return this; + } + + /** + * Array of Form I-20 US immigration student documents. + * @return i20s + **/ + @ApiModelProperty(required = true, value = "Array of Form I-20 US immigration student documents.") + + public List getI20s() { + return i20s; + } + + + public void setI20s(List i20s) { + this.i20s = i20s; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayrollIncomeObject payrollIncomeObject = (PayrollIncomeObject) o; + return Objects.equals(this.accountId, payrollIncomeObject.accountId) && + Objects.equals(this.payStubs, payrollIncomeObject.payStubs) && + Objects.equals(this.w2s, payrollIncomeObject.w2s) && + Objects.equals(this.form1099s, payrollIncomeObject.form1099s) && + Objects.equals(this.i20s, payrollIncomeObject.i20s); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, payStubs, w2s, form1099s, i20s); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayrollIncomeObject {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" payStubs: ").append(toIndentedString(payStubs)).append("\n"); + sb.append(" w2s: ").append(toIndentedString(w2s)).append("\n"); + sb.append(" form1099s: ").append(toIndentedString(form1099s)).append("\n"); + sb.append(" i20s: ").append(toIndentedString(i20s)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayrollIncomeRateOfPay.java b/src/main/java/com/plaid/client/model/PayrollIncomeRateOfPay.java new file mode 100644 index 0000000000..60bfadd430 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayrollIncomeRateOfPay.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing the rate at which an individual is paid. + */ +@ApiModel(description = "An object representing the rate at which an individual is paid.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayrollIncomeRateOfPay { + public static final String SERIALIZED_NAME_PAY_RATE = "pay_rate"; + @SerializedName(SERIALIZED_NAME_PAY_RATE) + private String payRate; + + public static final String SERIALIZED_NAME_PAY_AMOUNT = "pay_amount"; + @SerializedName(SERIALIZED_NAME_PAY_AMOUNT) + private Double payAmount; + + + public PayrollIncomeRateOfPay payRate(String payRate) { + + this.payRate = payRate; + return this; + } + + /** + * The rate at which an employee is paid. + * @return payRate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The rate at which an employee is paid.") + + public String getPayRate() { + return payRate; + } + + + public void setPayRate(String payRate) { + this.payRate = payRate; + } + + + public PayrollIncomeRateOfPay payAmount(Double payAmount) { + + this.payAmount = payAmount; + return this; + } + + /** + * The amount at which an employee is paid. + * @return payAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount at which an employee is paid.") + + public Double getPayAmount() { + return payAmount; + } + + + public void setPayAmount(Double payAmount) { + this.payAmount = payAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayrollIncomeRateOfPay payrollIncomeRateOfPay = (PayrollIncomeRateOfPay) o; + return Objects.equals(this.payRate, payrollIncomeRateOfPay.payRate) && + Objects.equals(this.payAmount, payrollIncomeRateOfPay.payAmount); + } + + @Override + public int hashCode() { + return Objects.hash(payRate, payAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayrollIncomeRateOfPay {\n"); + sb.append(" payRate: ").append(toIndentedString(payRate)).append("\n"); + sb.append(" payAmount: ").append(toIndentedString(payAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayrollItem.java b/src/main/java/com/plaid/client/model/PayrollItem.java new file mode 100644 index 0000000000..32c3b08200 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayrollItem.java @@ -0,0 +1,284 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PayrollIncomeAccountData; +import com.plaid.client.model.PayrollIncomeObject; +import com.plaid.client.model.PayrollItemStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * An object containing information about the payroll item. + */ +@ApiModel(description = "An object containing information about the payroll item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayrollItem { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_PAYROLL_INCOME = "payroll_income"; + @SerializedName(SERIALIZED_NAME_PAYROLL_INCOME) + private List payrollIncome = new ArrayList<>(); + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private PayrollItemStatus status; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + private OffsetDateTime updatedAt; + + + public PayrollItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public PayrollItem institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The unique identifier of the institution associated with the Item. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The unique identifier of the institution associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public PayrollItem institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The name of the institution associated with the Item. + * @return institutionName + **/ + @ApiModelProperty(required = true, value = "The name of the institution associated with the Item.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public PayrollItem accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public PayrollItem addAccountsItem(PayrollIncomeAccountData accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * Get accounts + * @return accounts + **/ + @ApiModelProperty(required = true, value = "") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public PayrollItem payrollIncome(List payrollIncome) { + + this.payrollIncome = payrollIncome; + return this; + } + + public PayrollItem addPayrollIncomeItem(PayrollIncomeObject payrollIncomeItem) { + this.payrollIncome.add(payrollIncomeItem); + return this; + } + + /** + * Get payrollIncome + * @return payrollIncome + **/ + @ApiModelProperty(required = true, value = "") + + public List getPayrollIncome() { + return payrollIncome; + } + + + public void setPayrollIncome(List payrollIncome) { + this.payrollIncome = payrollIncome; + } + + + public PayrollItem status(PayrollItemStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public PayrollItemStatus getStatus() { + return status; + } + + + public void setStatus(PayrollItemStatus status) { + this.status = status; + } + + + public PayrollItem updatedAt(OffsetDateTime updatedAt) { + + this.updatedAt = updatedAt; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDTHH:mm:ssZ) indicating the last time that the Item was updated. + * @return updatedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDTHH:mm:ssZ) indicating the last time that the Item was updated.") + + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + + public void setUpdatedAt(OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayrollItem payrollItem = (PayrollItem) o; + return Objects.equals(this.itemId, payrollItem.itemId) && + Objects.equals(this.institutionId, payrollItem.institutionId) && + Objects.equals(this.institutionName, payrollItem.institutionName) && + Objects.equals(this.accounts, payrollItem.accounts) && + Objects.equals(this.payrollIncome, payrollItem.payrollIncome) && + Objects.equals(this.status, payrollItem.status) && + Objects.equals(this.updatedAt, payrollItem.updatedAt); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, institutionId, institutionName, accounts, payrollIncome, status, updatedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayrollItem {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" payrollIncome: ").append(toIndentedString(payrollIncome)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayrollItemStatus.java b/src/main/java/com/plaid/client/model/PayrollItemStatus.java new file mode 100644 index 0000000000..32692a7ea2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayrollItemStatus.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details about the status of the payroll item. + */ +@ApiModel(description = "Details about the status of the payroll item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayrollItemStatus { + public static final String SERIALIZED_NAME_PROCESSING_STATUS = "processing_status"; + @SerializedName(SERIALIZED_NAME_PROCESSING_STATUS) + private String processingStatus; + + + public PayrollItemStatus processingStatus(String processingStatus) { + + this.processingStatus = processingStatus; + return this; + } + + /** + * Denotes the processing status for the verification. `UNKNOWN`: The processing status could not be determined. `PROCESSING_COMPLETE`: The processing has completed and the user has approved for sharing. The data is available to be retrieved. `PROCESSING`: The verification is still processing. The data is not available yet. `FAILED`: The processing failed to complete successfully. `APPROVAL_STATUS_PENDING`: The processing has completed but the user has not yet approved the sharing of the data. + * @return processingStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Denotes the processing status for the verification. `UNKNOWN`: The processing status could not be determined. `PROCESSING_COMPLETE`: The processing has completed and the user has approved for sharing. The data is available to be retrieved. `PROCESSING`: The verification is still processing. The data is not available yet. `FAILED`: The processing failed to complete successfully. `APPROVAL_STATUS_PENDING`: The processing has completed but the user has not yet approved the sharing of the data.") + + public String getProcessingStatus() { + return processingStatus; + } + + + public void setProcessingStatus(String processingStatus) { + this.processingStatus = processingStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayrollItemStatus payrollItemStatus = (PayrollItemStatus) o; + return Objects.equals(this.processingStatus, payrollItemStatus.processingStatus); + } + + @Override + public int hashCode() { + return Objects.hash(processingStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayrollItemStatus {\n"); + sb.append(" processingStatus: ").append(toIndentedString(processingStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PayrollRiskSignalsItem.java b/src/main/java/com/plaid/client/model/PayrollRiskSignalsItem.java new file mode 100644 index 0000000000..202d28d436 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PayrollRiskSignalsItem.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocumentRiskSignalsObject; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Object containing fraud risk data pertaining to the Item linked as part of the verification. + */ +@ApiModel(description = "Object containing fraud risk data pertaining to the Item linked as part of the verification.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PayrollRiskSignalsItem { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_VERIFICATION_RISK_SIGNALS = "verification_risk_signals"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_RISK_SIGNALS) + private List verificationRiskSignals = new ArrayList<>(); + + + public PayrollRiskSignalsItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public PayrollRiskSignalsItem verificationRiskSignals(List verificationRiskSignals) { + + this.verificationRiskSignals = verificationRiskSignals; + return this; + } + + public PayrollRiskSignalsItem addVerificationRiskSignalsItem(DocumentRiskSignalsObject verificationRiskSignalsItem) { + this.verificationRiskSignals.add(verificationRiskSignalsItem); + return this; + } + + /** + * Array of payroll income document authenticity data retrieved for each of the user's accounts. + * @return verificationRiskSignals + **/ + @ApiModelProperty(required = true, value = "Array of payroll income document authenticity data retrieved for each of the user's accounts.") + + public List getVerificationRiskSignals() { + return verificationRiskSignals; + } + + + public void setVerificationRiskSignals(List verificationRiskSignals) { + this.verificationRiskSignals = verificationRiskSignals; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayrollRiskSignalsItem payrollRiskSignalsItem = (PayrollRiskSignalsItem) o; + return Objects.equals(this.itemId, payrollRiskSignalsItem.itemId) && + Objects.equals(this.verificationRiskSignals, payrollRiskSignalsItem.verificationRiskSignals); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, verificationRiskSignals); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayrollRiskSignalsItem {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" verificationRiskSignals: ").append(toIndentedString(verificationRiskSignals)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Paystub.java b/src/main/java/com/plaid/client/model/Paystub.java new file mode 100644 index 0000000000..09a6f9d3c1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Paystub.java @@ -0,0 +1,402 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Deductions; +import com.plaid.client.model.Earnings; +import com.plaid.client.model.Employee; +import com.plaid.client.model.EmploymentDetails; +import com.plaid.client.model.IncomeBreakdown; +import com.plaid.client.model.NetPay; +import com.plaid.client.model.PayPeriodDetails; +import com.plaid.client.model.PaystubDetails; +import com.plaid.client.model.PaystubEmployer; +import com.plaid.client.model.PaystubYTDDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing data extracted from the end user's paystub. + */ +@ApiModel(description = "An object representing data extracted from the end user's paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Paystub { + public static final String SERIALIZED_NAME_DEDUCTIONS = "deductions"; + @SerializedName(SERIALIZED_NAME_DEDUCTIONS) + private Deductions deductions; + + public static final String SERIALIZED_NAME_DOC_ID = "doc_id"; + @SerializedName(SERIALIZED_NAME_DOC_ID) + private String docId; + + public static final String SERIALIZED_NAME_EARNINGS = "earnings"; + @SerializedName(SERIALIZED_NAME_EARNINGS) + private Earnings earnings; + + public static final String SERIALIZED_NAME_EMPLOYEE = "employee"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE) + private Employee employee; + + public static final String SERIALIZED_NAME_EMPLOYER = "employer"; + @SerializedName(SERIALIZED_NAME_EMPLOYER) + private PaystubEmployer employer; + + public static final String SERIALIZED_NAME_EMPLOYMENT_DETAILS = "employment_details"; + @SerializedName(SERIALIZED_NAME_EMPLOYMENT_DETAILS) + private EmploymentDetails employmentDetails; + + public static final String SERIALIZED_NAME_NET_PAY = "net_pay"; + @SerializedName(SERIALIZED_NAME_NET_PAY) + private NetPay netPay; + + public static final String SERIALIZED_NAME_PAY_PERIOD_DETAILS = "pay_period_details"; + @SerializedName(SERIALIZED_NAME_PAY_PERIOD_DETAILS) + private PayPeriodDetails payPeriodDetails; + + public static final String SERIALIZED_NAME_PAYSTUB_DETAILS = "paystub_details"; + @SerializedName(SERIALIZED_NAME_PAYSTUB_DETAILS) + private PaystubDetails paystubDetails; + + public static final String SERIALIZED_NAME_INCOME_BREAKDOWN = "income_breakdown"; + @SerializedName(SERIALIZED_NAME_INCOME_BREAKDOWN) + private List incomeBreakdown = null; + + public static final String SERIALIZED_NAME_YTD_EARNINGS = "ytd_earnings"; + @SerializedName(SERIALIZED_NAME_YTD_EARNINGS) + private PaystubYTDDetails ytdEarnings; + + + public Paystub deductions(Deductions deductions) { + + this.deductions = deductions; + return this; + } + + /** + * Get deductions + * @return deductions + **/ + @ApiModelProperty(required = true, value = "") + + public Deductions getDeductions() { + return deductions; + } + + + public void setDeductions(Deductions deductions) { + this.deductions = deductions; + } + + + public Paystub docId(String docId) { + + this.docId = docId; + return this; + } + + /** + * An identifier of the document referenced by the document metadata. + * @return docId + **/ + @ApiModelProperty(required = true, value = "An identifier of the document referenced by the document metadata.") + + public String getDocId() { + return docId; + } + + + public void setDocId(String docId) { + this.docId = docId; + } + + + public Paystub earnings(Earnings earnings) { + + this.earnings = earnings; + return this; + } + + /** + * Get earnings + * @return earnings + **/ + @ApiModelProperty(required = true, value = "") + + public Earnings getEarnings() { + return earnings; + } + + + public void setEarnings(Earnings earnings) { + this.earnings = earnings; + } + + + public Paystub employee(Employee employee) { + + this.employee = employee; + return this; + } + + /** + * Get employee + * @return employee + **/ + @ApiModelProperty(required = true, value = "") + + public Employee getEmployee() { + return employee; + } + + + public void setEmployee(Employee employee) { + this.employee = employee; + } + + + public Paystub employer(PaystubEmployer employer) { + + this.employer = employer; + return this; + } + + /** + * Get employer + * @return employer + **/ + @ApiModelProperty(required = true, value = "") + + public PaystubEmployer getEmployer() { + return employer; + } + + + public void setEmployer(PaystubEmployer employer) { + this.employer = employer; + } + + + public Paystub employmentDetails(EmploymentDetails employmentDetails) { + + this.employmentDetails = employmentDetails; + return this; + } + + /** + * Get employmentDetails + * @return employmentDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EmploymentDetails getEmploymentDetails() { + return employmentDetails; + } + + + public void setEmploymentDetails(EmploymentDetails employmentDetails) { + this.employmentDetails = employmentDetails; + } + + + public Paystub netPay(NetPay netPay) { + + this.netPay = netPay; + return this; + } + + /** + * Get netPay + * @return netPay + **/ + @ApiModelProperty(required = true, value = "") + + public NetPay getNetPay() { + return netPay; + } + + + public void setNetPay(NetPay netPay) { + this.netPay = netPay; + } + + + public Paystub payPeriodDetails(PayPeriodDetails payPeriodDetails) { + + this.payPeriodDetails = payPeriodDetails; + return this; + } + + /** + * Get payPeriodDetails + * @return payPeriodDetails + **/ + @ApiModelProperty(required = true, value = "") + + public PayPeriodDetails getPayPeriodDetails() { + return payPeriodDetails; + } + + + public void setPayPeriodDetails(PayPeriodDetails payPeriodDetails) { + this.payPeriodDetails = payPeriodDetails; + } + + + public Paystub paystubDetails(PaystubDetails paystubDetails) { + + this.paystubDetails = paystubDetails; + return this; + } + + /** + * Get paystubDetails + * @return paystubDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubDetails getPaystubDetails() { + return paystubDetails; + } + + + public void setPaystubDetails(PaystubDetails paystubDetails) { + this.paystubDetails = paystubDetails; + } + + + public Paystub incomeBreakdown(List incomeBreakdown) { + + this.incomeBreakdown = incomeBreakdown; + return this; + } + + public Paystub addIncomeBreakdownItem(IncomeBreakdown incomeBreakdownItem) { + if (this.incomeBreakdown == null) { + this.incomeBreakdown = new ArrayList<>(); + } + this.incomeBreakdown.add(incomeBreakdownItem); + return this; + } + + /** + * Get incomeBreakdown + * @return incomeBreakdown + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getIncomeBreakdown() { + return incomeBreakdown; + } + + + public void setIncomeBreakdown(List incomeBreakdown) { + this.incomeBreakdown = incomeBreakdown; + } + + + public Paystub ytdEarnings(PaystubYTDDetails ytdEarnings) { + + this.ytdEarnings = ytdEarnings; + return this; + } + + /** + * Get ytdEarnings + * @return ytdEarnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubYTDDetails getYtdEarnings() { + return ytdEarnings; + } + + + public void setYtdEarnings(PaystubYTDDetails ytdEarnings) { + this.ytdEarnings = ytdEarnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Paystub paystub = (Paystub) o; + return Objects.equals(this.deductions, paystub.deductions) && + Objects.equals(this.docId, paystub.docId) && + Objects.equals(this.earnings, paystub.earnings) && + Objects.equals(this.employee, paystub.employee) && + Objects.equals(this.employer, paystub.employer) && + Objects.equals(this.employmentDetails, paystub.employmentDetails) && + Objects.equals(this.netPay, paystub.netPay) && + Objects.equals(this.payPeriodDetails, paystub.payPeriodDetails) && + Objects.equals(this.paystubDetails, paystub.paystubDetails) && + Objects.equals(this.incomeBreakdown, paystub.incomeBreakdown) && + Objects.equals(this.ytdEarnings, paystub.ytdEarnings); + } + + @Override + public int hashCode() { + return Objects.hash(deductions, docId, earnings, employee, employer, employmentDetails, netPay, payPeriodDetails, paystubDetails, incomeBreakdown, ytdEarnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Paystub {\n"); + sb.append(" deductions: ").append(toIndentedString(deductions)).append("\n"); + sb.append(" docId: ").append(toIndentedString(docId)).append("\n"); + sb.append(" earnings: ").append(toIndentedString(earnings)).append("\n"); + sb.append(" employee: ").append(toIndentedString(employee)).append("\n"); + sb.append(" employer: ").append(toIndentedString(employer)).append("\n"); + sb.append(" employmentDetails: ").append(toIndentedString(employmentDetails)).append("\n"); + sb.append(" netPay: ").append(toIndentedString(netPay)).append("\n"); + sb.append(" payPeriodDetails: ").append(toIndentedString(payPeriodDetails)).append("\n"); + sb.append(" paystubDetails: ").append(toIndentedString(paystubDetails)).append("\n"); + sb.append(" incomeBreakdown: ").append(toIndentedString(incomeBreakdown)).append("\n"); + sb.append(" ytdEarnings: ").append(toIndentedString(ytdEarnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubAddress.java b/src/main/java/com/plaid/client/model/PaystubAddress.java new file mode 100644 index 0000000000..5ed32bebb6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubAddress.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Address on the paystub + */ +@ApiModel(description = "Address on the paystub") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubAddress { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_LINE1 = "line1"; + @SerializedName(SERIALIZED_NAME_LINE1) + private String line1; + + public static final String SERIALIZED_NAME_LINE2 = "line2"; + @SerializedName(SERIALIZED_NAME_LINE2) + private String line2; + + public static final String SERIALIZED_NAME_STATE_CODE = "state_code"; + @SerializedName(SERIALIZED_NAME_STATE_CODE) + private String stateCode; + + + public PaystubAddress city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full city name.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public PaystubAddress country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code. + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO 3166-1 alpha-2 country code.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public PaystubAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code of the address. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The postal code of the address.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public PaystubAddress region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The region or state Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public PaystubAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address. + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full street address.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public PaystubAddress line1(String line1) { + + this.line1 = line1; + return this; + } + + /** + * Street address line 1. + * @return line1 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Street address line 1.") + + public String getLine1() { + return line1; + } + + + public void setLine1(String line1) { + this.line1 = line1; + } + + + public PaystubAddress line2(String line2) { + + this.line2 = line2; + return this; + } + + /** + * Street address line 2. + * @return line2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Street address line 2.") + + public String getLine2() { + return line2; + } + + + public void setLine2(String line2) { + this.line2 = line2; + } + + + public PaystubAddress stateCode(String stateCode) { + + this.stateCode = stateCode; + return this; + } + + /** + * The region or state Example: `\"NC\"` + * @return stateCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The region or state Example: `\"NC\"`") + + public String getStateCode() { + return stateCode; + } + + + public void setStateCode(String stateCode) { + this.stateCode = stateCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubAddress paystubAddress = (PaystubAddress) o; + return Objects.equals(this.city, paystubAddress.city) && + Objects.equals(this.country, paystubAddress.country) && + Objects.equals(this.postalCode, paystubAddress.postalCode) && + Objects.equals(this.region, paystubAddress.region) && + Objects.equals(this.street, paystubAddress.street) && + Objects.equals(this.line1, paystubAddress.line1) && + Objects.equals(this.line2, paystubAddress.line2) && + Objects.equals(this.stateCode, paystubAddress.stateCode); + } + + @Override + public int hashCode() { + return Objects.hash(city, country, postalCode, region, street, line1, line2, stateCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubAddress {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" line1: ").append(toIndentedString(line1)).append("\n"); + sb.append(" line2: ").append(toIndentedString(line2)).append("\n"); + sb.append(" stateCode: ").append(toIndentedString(stateCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubDeduction.java b/src/main/java/com/plaid/client/model/PaystubDeduction.java new file mode 100644 index 0000000000..74c79394a9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubDeduction.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Deduction on the paystub + */ +@ApiModel(description = "Deduction on the paystub") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubDeduction { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_IS_PRETAX = "is_pretax"; + @SerializedName(SERIALIZED_NAME_IS_PRETAX) + private Boolean isPretax; + + public static final String SERIALIZED_NAME_TOTAL = "total"; + @SerializedName(SERIALIZED_NAME_TOTAL) + private Double total; + + + public PaystubDeduction type(String type) { + + this.type = type; + return this; + } + + /** + * The type of the deduction, as provided on the paystub. For example: `\"401(k)\"`, `\"FICA MED TAX\"`. + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The type of the deduction, as provided on the paystub. For example: `\"401(k)\"`, `\"FICA MED TAX\"`.") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public PaystubDeduction isPretax(Boolean isPretax) { + + this.isPretax = isPretax; + return this; + } + + /** + * `true` if the deduction is pre-tax; `false` otherwise. + * @return isPretax + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "`true` if the deduction is pre-tax; `false` otherwise.") + + public Boolean getIsPretax() { + return isPretax; + } + + + public void setIsPretax(Boolean isPretax) { + this.isPretax = isPretax; + } + + + public PaystubDeduction total(Double total) { + + this.total = total; + return this; + } + + /** + * The amount of the deduction. + * @return total + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The amount of the deduction.") + + public Double getTotal() { + return total; + } + + + public void setTotal(Double total) { + this.total = total; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubDeduction paystubDeduction = (PaystubDeduction) o; + return Objects.equals(this.type, paystubDeduction.type) && + Objects.equals(this.isPretax, paystubDeduction.isPretax) && + Objects.equals(this.total, paystubDeduction.total); + } + + @Override + public int hashCode() { + return Objects.hash(type, isPretax, total); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubDeduction {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" isPretax: ").append(toIndentedString(isPretax)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubDetails.java b/src/main/java/com/plaid/client/model/PaystubDetails.java new file mode 100644 index 0000000000..4e16b35041 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubDetails.java @@ -0,0 +1,217 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaystubPayFrequency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An object representing details that can be found on the paystub. + */ +@ApiModel(description = "An object representing details that can be found on the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubDetails { + public static final String SERIALIZED_NAME_PAY_PERIOD_START_DATE = "pay_period_start_date"; + @SerializedName(SERIALIZED_NAME_PAY_PERIOD_START_DATE) + private LocalDate payPeriodStartDate; + + public static final String SERIALIZED_NAME_PAY_PERIOD_END_DATE = "pay_period_end_date"; + @SerializedName(SERIALIZED_NAME_PAY_PERIOD_END_DATE) + private LocalDate payPeriodEndDate; + + public static final String SERIALIZED_NAME_PAY_DATE = "pay_date"; + @SerializedName(SERIALIZED_NAME_PAY_DATE) + private LocalDate payDate; + + public static final String SERIALIZED_NAME_PAYSTUB_PROVIDER = "paystub_provider"; + @SerializedName(SERIALIZED_NAME_PAYSTUB_PROVIDER) + private String paystubProvider; + + public static final String SERIALIZED_NAME_PAY_FREQUENCY = "pay_frequency"; + @SerializedName(SERIALIZED_NAME_PAY_FREQUENCY) + private PaystubPayFrequency payFrequency; + + + public PaystubDetails payPeriodStartDate(LocalDate payPeriodStartDate) { + + this.payPeriodStartDate = payPeriodStartDate; + return this; + } + + /** + * Beginning date of the pay period on the paystub in the 'YYYY-MM-DD' format. + * @return payPeriodStartDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Beginning date of the pay period on the paystub in the 'YYYY-MM-DD' format.") + + public LocalDate getPayPeriodStartDate() { + return payPeriodStartDate; + } + + + public void setPayPeriodStartDate(LocalDate payPeriodStartDate) { + this.payPeriodStartDate = payPeriodStartDate; + } + + + public PaystubDetails payPeriodEndDate(LocalDate payPeriodEndDate) { + + this.payPeriodEndDate = payPeriodEndDate; + return this; + } + + /** + * Ending date of the pay period on the paystub in the 'YYYY-MM-DD' format. + * @return payPeriodEndDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Ending date of the pay period on the paystub in the 'YYYY-MM-DD' format.") + + public LocalDate getPayPeriodEndDate() { + return payPeriodEndDate; + } + + + public void setPayPeriodEndDate(LocalDate payPeriodEndDate) { + this.payPeriodEndDate = payPeriodEndDate; + } + + + public PaystubDetails payDate(LocalDate payDate) { + + this.payDate = payDate; + return this; + } + + /** + * Pay date on the paystub in the 'YYYY-MM-DD' format. + * @return payDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Pay date on the paystub in the 'YYYY-MM-DD' format.") + + public LocalDate getPayDate() { + return payDate; + } + + + public void setPayDate(LocalDate payDate) { + this.payDate = payDate; + } + + + public PaystubDetails paystubProvider(String paystubProvider) { + + this.paystubProvider = paystubProvider; + return this; + } + + /** + * The name of the payroll provider that generated the paystub, e.g. ADP + * @return paystubProvider + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the payroll provider that generated the paystub, e.g. ADP") + + public String getPaystubProvider() { + return paystubProvider; + } + + + public void setPaystubProvider(String paystubProvider) { + this.paystubProvider = paystubProvider; + } + + + public PaystubDetails payFrequency(PaystubPayFrequency payFrequency) { + + this.payFrequency = payFrequency; + return this; + } + + /** + * Get payFrequency + * @return payFrequency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubPayFrequency getPayFrequency() { + return payFrequency; + } + + + public void setPayFrequency(PaystubPayFrequency payFrequency) { + this.payFrequency = payFrequency; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubDetails paystubDetails = (PaystubDetails) o; + return Objects.equals(this.payPeriodStartDate, paystubDetails.payPeriodStartDate) && + Objects.equals(this.payPeriodEndDate, paystubDetails.payPeriodEndDate) && + Objects.equals(this.payDate, paystubDetails.payDate) && + Objects.equals(this.paystubProvider, paystubDetails.paystubProvider) && + Objects.equals(this.payFrequency, paystubDetails.payFrequency); + } + + @Override + public int hashCode() { + return Objects.hash(payPeriodStartDate, payPeriodEndDate, payDate, paystubProvider, payFrequency); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubDetails {\n"); + sb.append(" payPeriodStartDate: ").append(toIndentedString(payPeriodStartDate)).append("\n"); + sb.append(" payPeriodEndDate: ").append(toIndentedString(payPeriodEndDate)).append("\n"); + sb.append(" payDate: ").append(toIndentedString(payDate)).append("\n"); + sb.append(" paystubProvider: ").append(toIndentedString(paystubProvider)).append("\n"); + sb.append(" payFrequency: ").append(toIndentedString(payFrequency)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubEmployer.java b/src/main/java/com/plaid/client/model/PaystubEmployer.java new file mode 100644 index 0000000000..2ff9b08caa --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubEmployer.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaystubAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the employer on the paystub + */ +@ApiModel(description = "Information about the employer on the paystub") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubEmployer { + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private PaystubAddress address; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + + public PaystubEmployer address(PaystubAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubAddress getAddress() { + return address; + } + + + public void setAddress(PaystubAddress address) { + this.address = address; + } + + + public PaystubEmployer name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the employer on the paystub. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The name of the employer on the paystub.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubEmployer paystubEmployer = (PaystubEmployer) o; + return Objects.equals(this.address, paystubEmployer.address) && + Objects.equals(this.name, paystubEmployer.name); + } + + @Override + public int hashCode() { + return Objects.hash(address, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubEmployer {\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverride.java b/src/main/java/com/plaid/client/model/PaystubOverride.java new file mode 100644 index 0000000000..ffdb7de338 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverride.java @@ -0,0 +1,290 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeBreakdown; +import com.plaid.client.model.PaystubOverrideDeductions; +import com.plaid.client.model.PaystubOverrideEarnings; +import com.plaid.client.model.PaystubOverrideEmployee; +import com.plaid.client.model.PaystubOverrideEmployer; +import com.plaid.client.model.PaystubOverrideNetPay; +import com.plaid.client.model.PaystubOverridePayPeriodDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing data from a paystub. + */ +@ApiModel(description = "An object representing data from a paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverride { + public static final String SERIALIZED_NAME_EMPLOYER = "employer"; + @SerializedName(SERIALIZED_NAME_EMPLOYER) + private PaystubOverrideEmployer employer; + + public static final String SERIALIZED_NAME_EMPLOYEE = "employee"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE) + private PaystubOverrideEmployee employee; + + public static final String SERIALIZED_NAME_INCOME_BREAKDOWN = "income_breakdown"; + @SerializedName(SERIALIZED_NAME_INCOME_BREAKDOWN) + private List incomeBreakdown = null; + + public static final String SERIALIZED_NAME_NET_PAY = "net_pay"; + @SerializedName(SERIALIZED_NAME_NET_PAY) + private PaystubOverrideNetPay netPay; + + public static final String SERIALIZED_NAME_DEDUCTIONS = "deductions"; + @SerializedName(SERIALIZED_NAME_DEDUCTIONS) + private PaystubOverrideDeductions deductions; + + public static final String SERIALIZED_NAME_EARNINGS = "earnings"; + @SerializedName(SERIALIZED_NAME_EARNINGS) + private PaystubOverrideEarnings earnings; + + public static final String SERIALIZED_NAME_PAY_PERIOD_DETAILS = "pay_period_details"; + @SerializedName(SERIALIZED_NAME_PAY_PERIOD_DETAILS) + private PaystubOverridePayPeriodDetails payPeriodDetails; + + + public PaystubOverride employer(PaystubOverrideEmployer employer) { + + this.employer = employer; + return this; + } + + /** + * Get employer + * @return employer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubOverrideEmployer getEmployer() { + return employer; + } + + + public void setEmployer(PaystubOverrideEmployer employer) { + this.employer = employer; + } + + + public PaystubOverride employee(PaystubOverrideEmployee employee) { + + this.employee = employee; + return this; + } + + /** + * Get employee + * @return employee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubOverrideEmployee getEmployee() { + return employee; + } + + + public void setEmployee(PaystubOverrideEmployee employee) { + this.employee = employee; + } + + + public PaystubOverride incomeBreakdown(List incomeBreakdown) { + + this.incomeBreakdown = incomeBreakdown; + return this; + } + + public PaystubOverride addIncomeBreakdownItem(IncomeBreakdown incomeBreakdownItem) { + if (this.incomeBreakdown == null) { + this.incomeBreakdown = new ArrayList<>(); + } + this.incomeBreakdown.add(incomeBreakdownItem); + return this; + } + + /** + * Get incomeBreakdown + * @return incomeBreakdown + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getIncomeBreakdown() { + return incomeBreakdown; + } + + + public void setIncomeBreakdown(List incomeBreakdown) { + this.incomeBreakdown = incomeBreakdown; + } + + + public PaystubOverride netPay(PaystubOverrideNetPay netPay) { + + this.netPay = netPay; + return this; + } + + /** + * Get netPay + * @return netPay + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubOverrideNetPay getNetPay() { + return netPay; + } + + + public void setNetPay(PaystubOverrideNetPay netPay) { + this.netPay = netPay; + } + + + public PaystubOverride deductions(PaystubOverrideDeductions deductions) { + + this.deductions = deductions; + return this; + } + + /** + * Get deductions + * @return deductions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubOverrideDeductions getDeductions() { + return deductions; + } + + + public void setDeductions(PaystubOverrideDeductions deductions) { + this.deductions = deductions; + } + + + public PaystubOverride earnings(PaystubOverrideEarnings earnings) { + + this.earnings = earnings; + return this; + } + + /** + * Get earnings + * @return earnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubOverrideEarnings getEarnings() { + return earnings; + } + + + public void setEarnings(PaystubOverrideEarnings earnings) { + this.earnings = earnings; + } + + + public PaystubOverride payPeriodDetails(PaystubOverridePayPeriodDetails payPeriodDetails) { + + this.payPeriodDetails = payPeriodDetails; + return this; + } + + /** + * Get payPeriodDetails + * @return payPeriodDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubOverridePayPeriodDetails getPayPeriodDetails() { + return payPeriodDetails; + } + + + public void setPayPeriodDetails(PaystubOverridePayPeriodDetails payPeriodDetails) { + this.payPeriodDetails = payPeriodDetails; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverride paystubOverride = (PaystubOverride) o; + return Objects.equals(this.employer, paystubOverride.employer) && + Objects.equals(this.employee, paystubOverride.employee) && + Objects.equals(this.incomeBreakdown, paystubOverride.incomeBreakdown) && + Objects.equals(this.netPay, paystubOverride.netPay) && + Objects.equals(this.deductions, paystubOverride.deductions) && + Objects.equals(this.earnings, paystubOverride.earnings) && + Objects.equals(this.payPeriodDetails, paystubOverride.payPeriodDetails); + } + + @Override + public int hashCode() { + return Objects.hash(employer, employee, incomeBreakdown, netPay, deductions, earnings, payPeriodDetails); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverride {\n"); + sb.append(" employer: ").append(toIndentedString(employer)).append("\n"); + sb.append(" employee: ").append(toIndentedString(employee)).append("\n"); + sb.append(" incomeBreakdown: ").append(toIndentedString(incomeBreakdown)).append("\n"); + sb.append(" netPay: ").append(toIndentedString(netPay)).append("\n"); + sb.append(" deductions: ").append(toIndentedString(deductions)).append("\n"); + sb.append(" earnings: ").append(toIndentedString(earnings)).append("\n"); + sb.append(" payPeriodDetails: ").append(toIndentedString(payPeriodDetails)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverrideDeductions.java b/src/main/java/com/plaid/client/model/PaystubOverrideDeductions.java new file mode 100644 index 0000000000..76c4d7ac3c --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverrideDeductions.java @@ -0,0 +1,140 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaystubOverrideDeductionsBreakdown; +import com.plaid.client.model.PaystubOverrideDeductionsTotal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object with the deduction information found on a paystub. + */ +@ApiModel(description = "An object with the deduction information found on a paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverrideDeductions { + public static final String SERIALIZED_NAME_BREAKDOWN = "breakdown"; + @SerializedName(SERIALIZED_NAME_BREAKDOWN) + private List breakdown = null; + + public static final String SERIALIZED_NAME_TOTAL = "total"; + @SerializedName(SERIALIZED_NAME_TOTAL) + private PaystubOverrideDeductionsTotal total; + + + public PaystubOverrideDeductions breakdown(List breakdown) { + + this.breakdown = breakdown; + return this; + } + + public PaystubOverrideDeductions addBreakdownItem(PaystubOverrideDeductionsBreakdown breakdownItem) { + if (this.breakdown == null) { + this.breakdown = new ArrayList<>(); + } + this.breakdown.add(breakdownItem); + return this; + } + + /** + * Get breakdown + * @return breakdown + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getBreakdown() { + return breakdown; + } + + + public void setBreakdown(List breakdown) { + this.breakdown = breakdown; + } + + + public PaystubOverrideDeductions total(PaystubOverrideDeductionsTotal total) { + + this.total = total; + return this; + } + + /** + * Get total + * @return total + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubOverrideDeductionsTotal getTotal() { + return total; + } + + + public void setTotal(PaystubOverrideDeductionsTotal total) { + this.total = total; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverrideDeductions paystubOverrideDeductions = (PaystubOverrideDeductions) o; + return Objects.equals(this.breakdown, paystubOverrideDeductions.breakdown) && + Objects.equals(this.total, paystubOverrideDeductions.total); + } + + @Override + public int hashCode() { + return Objects.hash(breakdown, total); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverrideDeductions {\n"); + sb.append(" breakdown: ").append(toIndentedString(breakdown)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverrideDeductionsBreakdown.java b/src/main/java/com/plaid/client/model/PaystubOverrideDeductionsBreakdown.java new file mode 100644 index 0000000000..b7d65fe281 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverrideDeductionsBreakdown.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing the deduction line items for the pay period + */ +@ApiModel(description = "An object representing the deduction line items for the pay period") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverrideDeductionsBreakdown { + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private String currency; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public PaystubOverrideDeductionsBreakdown currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * Raw amount of the deduction + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Raw amount of the deduction") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public PaystubOverrideDeductionsBreakdown description(String description) { + + this.description = description; + return this; + } + + /** + * Description of the deduction line item + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Description of the deduction line item") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public PaystubOverrideDeductionsBreakdown currency(String currency) { + + this.currency = currency; + return this; + } + + /** + * The ISO-4217 currency code of the line item. + * @return currency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the line item.") + + public String getCurrency() { + return currency; + } + + + public void setCurrency(String currency) { + this.currency = currency; + } + + + public PaystubOverrideDeductionsBreakdown ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The year-to-date amount of the deduction + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The year-to-date amount of the deduction") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverrideDeductionsBreakdown paystubOverrideDeductionsBreakdown = (PaystubOverrideDeductionsBreakdown) o; + return Objects.equals(this.currentAmount, paystubOverrideDeductionsBreakdown.currentAmount) && + Objects.equals(this.description, paystubOverrideDeductionsBreakdown.description) && + Objects.equals(this.currency, paystubOverrideDeductionsBreakdown.currency) && + Objects.equals(this.ytdAmount, paystubOverrideDeductionsBreakdown.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(currentAmount, description, currency, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverrideDeductionsBreakdown {\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverrideDeductionsTotal.java b/src/main/java/com/plaid/client/model/PaystubOverrideDeductionsTotal.java new file mode 100644 index 0000000000..bd4ab207ca --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverrideDeductionsTotal.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing the total deductions for the pay period + */ +@ApiModel(description = "An object representing the total deductions for the pay period") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverrideDeductionsTotal { + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private String currency; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public PaystubOverrideDeductionsTotal currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * Raw amount of the deduction + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Raw amount of the deduction") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public PaystubOverrideDeductionsTotal currency(String currency) { + + this.currency = currency; + return this; + } + + /** + * The ISO-4217 currency code of the line item. + * @return currency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the line item.") + + public String getCurrency() { + return currency; + } + + + public void setCurrency(String currency) { + this.currency = currency; + } + + + public PaystubOverrideDeductionsTotal ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The year-to-date total amount of the deductions + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The year-to-date total amount of the deductions") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverrideDeductionsTotal paystubOverrideDeductionsTotal = (PaystubOverrideDeductionsTotal) o; + return Objects.equals(this.currentAmount, paystubOverrideDeductionsTotal.currentAmount) && + Objects.equals(this.currency, paystubOverrideDeductionsTotal.currency) && + Objects.equals(this.ytdAmount, paystubOverrideDeductionsTotal.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(currentAmount, currency, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverrideDeductionsTotal {\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverrideDistributionBreakdown.java b/src/main/java/com/plaid/client/model/PaystubOverrideDistributionBreakdown.java new file mode 100644 index 0000000000..1cae781d27 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverrideDistributionBreakdown.java @@ -0,0 +1,244 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the accounts that the payment was distributed to. + */ +@ApiModel(description = "Information about the accounts that the payment was distributed to.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverrideDistributionBreakdown { + public static final String SERIALIZED_NAME_ACCOUNT_NAME = "account_name"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NAME) + private String accountName; + + public static final String SERIALIZED_NAME_BANK_NAME = "bank_name"; + @SerializedName(SERIALIZED_NAME_BANK_NAME) + private String bankName; + + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private String currency; + + public static final String SERIALIZED_NAME_MASK = "mask"; + @SerializedName(SERIALIZED_NAME_MASK) + private String mask; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + + public PaystubOverrideDistributionBreakdown accountName(String accountName) { + + this.accountName = accountName; + return this; + } + + /** + * Name of the account for the given distribution. + * @return accountName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the account for the given distribution.") + + public String getAccountName() { + return accountName; + } + + + public void setAccountName(String accountName) { + this.accountName = accountName; + } + + + public PaystubOverrideDistributionBreakdown bankName(String bankName) { + + this.bankName = bankName; + return this; + } + + /** + * The name of the bank that the payment is being deposited to. + * @return bankName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the bank that the payment is being deposited to.") + + public String getBankName() { + return bankName; + } + + + public void setBankName(String bankName) { + this.bankName = bankName; + } + + + public PaystubOverrideDistributionBreakdown currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * The amount distributed to this account. + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount distributed to this account.") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public PaystubOverrideDistributionBreakdown currency(String currency) { + + this.currency = currency; + return this; + } + + /** + * The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null. + * @return currency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null.") + + public String getCurrency() { + return currency; + } + + + public void setCurrency(String currency) { + this.currency = currency; + } + + + public PaystubOverrideDistributionBreakdown mask(String mask) { + + this.mask = mask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number. + * @return mask + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The last 2-4 alphanumeric characters of an account's official account number.") + + public String getMask() { + return mask; + } + + + public void setMask(String mask) { + this.mask = mask; + } + + + public PaystubOverrideDistributionBreakdown type(String type) { + + this.type = type; + return this; + } + + /** + * Type of the account that the paystub was sent to (e.g. 'checking'). + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Type of the account that the paystub was sent to (e.g. 'checking').") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverrideDistributionBreakdown paystubOverrideDistributionBreakdown = (PaystubOverrideDistributionBreakdown) o; + return Objects.equals(this.accountName, paystubOverrideDistributionBreakdown.accountName) && + Objects.equals(this.bankName, paystubOverrideDistributionBreakdown.bankName) && + Objects.equals(this.currentAmount, paystubOverrideDistributionBreakdown.currentAmount) && + Objects.equals(this.currency, paystubOverrideDistributionBreakdown.currency) && + Objects.equals(this.mask, paystubOverrideDistributionBreakdown.mask) && + Objects.equals(this.type, paystubOverrideDistributionBreakdown.type); + } + + @Override + public int hashCode() { + return Objects.hash(accountName, bankName, currentAmount, currency, mask, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverrideDistributionBreakdown {\n"); + sb.append(" accountName: ").append(toIndentedString(accountName)).append("\n"); + sb.append(" bankName: ").append(toIndentedString(bankName)).append("\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" mask: ").append(toIndentedString(mask)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverrideEarnings.java b/src/main/java/com/plaid/client/model/PaystubOverrideEarnings.java new file mode 100644 index 0000000000..9c30586ea0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverrideEarnings.java @@ -0,0 +1,140 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaystubOverrideEarningsBreakdown; +import com.plaid.client.model.PaystubOverrideEarningsTotal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An object representing both a breakdown of earnings on a paystub and the total earnings. + */ +@ApiModel(description = "An object representing both a breakdown of earnings on a paystub and the total earnings.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverrideEarnings { + public static final String SERIALIZED_NAME_BREAKDOWN = "breakdown"; + @SerializedName(SERIALIZED_NAME_BREAKDOWN) + private List breakdown = null; + + public static final String SERIALIZED_NAME_TOTAL = "total"; + @SerializedName(SERIALIZED_NAME_TOTAL) + private PaystubOverrideEarningsTotal total; + + + public PaystubOverrideEarnings breakdown(List breakdown) { + + this.breakdown = breakdown; + return this; + } + + public PaystubOverrideEarnings addBreakdownItem(PaystubOverrideEarningsBreakdown breakdownItem) { + if (this.breakdown == null) { + this.breakdown = new ArrayList<>(); + } + this.breakdown.add(breakdownItem); + return this; + } + + /** + * Get breakdown + * @return breakdown + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getBreakdown() { + return breakdown; + } + + + public void setBreakdown(List breakdown) { + this.breakdown = breakdown; + } + + + public PaystubOverrideEarnings total(PaystubOverrideEarningsTotal total) { + + this.total = total; + return this; + } + + /** + * Get total + * @return total + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubOverrideEarningsTotal getTotal() { + return total; + } + + + public void setTotal(PaystubOverrideEarningsTotal total) { + this.total = total; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverrideEarnings paystubOverrideEarnings = (PaystubOverrideEarnings) o; + return Objects.equals(this.breakdown, paystubOverrideEarnings.breakdown) && + Objects.equals(this.total, paystubOverrideEarnings.total); + } + + @Override + public int hashCode() { + return Objects.hash(breakdown, total); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverrideEarnings {\n"); + sb.append(" breakdown: ").append(toIndentedString(breakdown)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverrideEarningsBreakdown.java b/src/main/java/com/plaid/client/model/PaystubOverrideEarningsBreakdown.java new file mode 100644 index 0000000000..d4d80d3e36 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverrideEarningsBreakdown.java @@ -0,0 +1,275 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EarningsBreakdownCanonicalDescription; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * An object representing the earnings line items for the pay period. + */ +@ApiModel(description = "An object representing the earnings line items for the pay period.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverrideEarningsBreakdown { + public static final String SERIALIZED_NAME_CANONICAL_DESCRIPTION = "canonical_description"; + @SerializedName(SERIALIZED_NAME_CANONICAL_DESCRIPTION) + private EarningsBreakdownCanonicalDescription canonicalDescription; + + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_HOURS = "hours"; + @SerializedName(SERIALIZED_NAME_HOURS) + private Double hours; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private String currency; + + public static final String SERIALIZED_NAME_RATE = "rate"; + @SerializedName(SERIALIZED_NAME_RATE) + private Double rate; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public PaystubOverrideEarningsBreakdown canonicalDescription(EarningsBreakdownCanonicalDescription canonicalDescription) { + + this.canonicalDescription = canonicalDescription; + return this; + } + + /** + * Get canonicalDescription + * @return canonicalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public EarningsBreakdownCanonicalDescription getCanonicalDescription() { + return canonicalDescription; + } + + + public void setCanonicalDescription(EarningsBreakdownCanonicalDescription canonicalDescription) { + this.canonicalDescription = canonicalDescription; + } + + + public PaystubOverrideEarningsBreakdown currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * Raw amount of the earning line item. + * @return currentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Raw amount of the earning line item.") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + public PaystubOverrideEarningsBreakdown description(String description) { + + this.description = description; + return this; + } + + /** + * Description of the earning line item. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Description of the earning line item.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public PaystubOverrideEarningsBreakdown hours(Double hours) { + + this.hours = hours; + return this; + } + + /** + * Number of hours applicable for this earning. + * @return hours + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of hours applicable for this earning.") + + public Double getHours() { + return hours; + } + + + public void setHours(Double hours) { + this.hours = hours; + } + + + public PaystubOverrideEarningsBreakdown currency(String currency) { + + this.currency = currency; + return this; + } + + /** + * The ISO-4217 currency code of the line item. + * @return currency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the line item.") + + public String getCurrency() { + return currency; + } + + + public void setCurrency(String currency) { + this.currency = currency; + } + + + public PaystubOverrideEarningsBreakdown rate(Double rate) { + + this.rate = rate; + return this; + } + + /** + * Hourly rate applicable for this earning. + * @return rate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Hourly rate applicable for this earning.") + + public Double getRate() { + return rate; + } + + + public void setRate(Double rate) { + this.rate = rate; + } + + + public PaystubOverrideEarningsBreakdown ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The year-to-date amount of the line item. + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The year-to-date amount of the line item.") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverrideEarningsBreakdown paystubOverrideEarningsBreakdown = (PaystubOverrideEarningsBreakdown) o; + return Objects.equals(this.canonicalDescription, paystubOverrideEarningsBreakdown.canonicalDescription) && + Objects.equals(this.currentAmount, paystubOverrideEarningsBreakdown.currentAmount) && + Objects.equals(this.description, paystubOverrideEarningsBreakdown.description) && + Objects.equals(this.hours, paystubOverrideEarningsBreakdown.hours) && + Objects.equals(this.currency, paystubOverrideEarningsBreakdown.currency) && + Objects.equals(this.rate, paystubOverrideEarningsBreakdown.rate) && + Objects.equals(this.ytdAmount, paystubOverrideEarningsBreakdown.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(canonicalDescription, currentAmount, description, hours, currency, rate, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverrideEarningsBreakdown {\n"); + sb.append(" canonicalDescription: ").append(toIndentedString(canonicalDescription)).append("\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" hours: ").append(toIndentedString(hours)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" rate: ").append(toIndentedString(rate)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverrideEarningsTotal.java b/src/main/java/com/plaid/client/model/PaystubOverrideEarningsTotal.java new file mode 100644 index 0000000000..afba643816 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverrideEarningsTotal.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * An object representing both the current pay period and year to date amount for an earning category. + */ +@ApiModel(description = "An object representing both the current pay period and year to date amount for an earning category.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverrideEarningsTotal { + public static final String SERIALIZED_NAME_HOURS = "hours"; + @SerializedName(SERIALIZED_NAME_HOURS) + private Double hours; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private String currency; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public PaystubOverrideEarningsTotal hours(Double hours) { + + this.hours = hours; + return this; + } + + /** + * Total number of hours worked for this pay period + * @return hours + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total number of hours worked for this pay period") + + public Double getHours() { + return hours; + } + + + public void setHours(Double hours) { + this.hours = hours; + } + + + public PaystubOverrideEarningsTotal currency(String currency) { + + this.currency = currency; + return this; + } + + /** + * The ISO-4217 currency code of the line item + * @return currency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the line item") + + public String getCurrency() { + return currency; + } + + + public void setCurrency(String currency) { + this.currency = currency; + } + + + public PaystubOverrideEarningsTotal ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The year-to-date amount for the total earnings + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The year-to-date amount for the total earnings") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverrideEarningsTotal paystubOverrideEarningsTotal = (PaystubOverrideEarningsTotal) o; + return Objects.equals(this.hours, paystubOverrideEarningsTotal.hours) && + Objects.equals(this.currency, paystubOverrideEarningsTotal.currency) && + Objects.equals(this.ytdAmount, paystubOverrideEarningsTotal.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(hours, currency, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverrideEarningsTotal {\n"); + sb.append(" hours: ").append(toIndentedString(hours)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverrideEmployee.java b/src/main/java/com/plaid/client/model/PaystubOverrideEmployee.java new file mode 100644 index 0000000000..2305cb344f --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverrideEmployee.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaystubOverrideEmployeeAddress; +import com.plaid.client.model.PaystubOverrideTaxpayerID; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The employee on the paystub. + */ +@ApiModel(description = "The employee on the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverrideEmployee { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private PaystubOverrideEmployeeAddress address; + + public static final String SERIALIZED_NAME_MARITAL_STATUS = "marital_status"; + @SerializedName(SERIALIZED_NAME_MARITAL_STATUS) + private String maritalStatus; + + public static final String SERIALIZED_NAME_TAXPAYER_ID = "taxpayer_id"; + @SerializedName(SERIALIZED_NAME_TAXPAYER_ID) + private PaystubOverrideTaxpayerID taxpayerId; + + + public PaystubOverrideEmployee name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the employee. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the employee.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public PaystubOverrideEmployee address(PaystubOverrideEmployeeAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubOverrideEmployeeAddress getAddress() { + return address; + } + + + public void setAddress(PaystubOverrideEmployeeAddress address) { + this.address = address; + } + + + public PaystubOverrideEmployee maritalStatus(String maritalStatus) { + + this.maritalStatus = maritalStatus; + return this; + } + + /** + * Marital status of the employee - either `single` or `married`. + * @return maritalStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Marital status of the employee - either `single` or `married`.") + + public String getMaritalStatus() { + return maritalStatus; + } + + + public void setMaritalStatus(String maritalStatus) { + this.maritalStatus = maritalStatus; + } + + + public PaystubOverrideEmployee taxpayerId(PaystubOverrideTaxpayerID taxpayerId) { + + this.taxpayerId = taxpayerId; + return this; + } + + /** + * Get taxpayerId + * @return taxpayerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubOverrideTaxpayerID getTaxpayerId() { + return taxpayerId; + } + + + public void setTaxpayerId(PaystubOverrideTaxpayerID taxpayerId) { + this.taxpayerId = taxpayerId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverrideEmployee paystubOverrideEmployee = (PaystubOverrideEmployee) o; + return Objects.equals(this.name, paystubOverrideEmployee.name) && + Objects.equals(this.address, paystubOverrideEmployee.address) && + Objects.equals(this.maritalStatus, paystubOverrideEmployee.maritalStatus) && + Objects.equals(this.taxpayerId, paystubOverrideEmployee.taxpayerId); + } + + @Override + public int hashCode() { + return Objects.hash(name, address, maritalStatus, taxpayerId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverrideEmployee {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" maritalStatus: ").append(toIndentedString(maritalStatus)).append("\n"); + sb.append(" taxpayerId: ").append(toIndentedString(taxpayerId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverrideEmployeeAddress.java b/src/main/java/com/plaid/client/model/PaystubOverrideEmployeeAddress.java new file mode 100644 index 0000000000..6fd9b41195 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverrideEmployeeAddress.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The address of the employee. + */ +@ApiModel(description = "The address of the employee.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverrideEmployeeAddress { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public PaystubOverrideEmployeeAddress city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full city name.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public PaystubOverrideEmployeeAddress region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The region or state Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public PaystubOverrideEmployeeAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address Example: `\"564 Main Street, APT 15\"` + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full street address Example: `\"564 Main Street, APT 15\"`") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public PaystubOverrideEmployeeAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * 5 digit postal code. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "5 digit postal code.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public PaystubOverrideEmployeeAddress country(String country) { + + this.country = country; + return this; + } + + /** + * The country of the address. + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The country of the address.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverrideEmployeeAddress paystubOverrideEmployeeAddress = (PaystubOverrideEmployeeAddress) o; + return Objects.equals(this.city, paystubOverrideEmployeeAddress.city) && + Objects.equals(this.region, paystubOverrideEmployeeAddress.region) && + Objects.equals(this.street, paystubOverrideEmployeeAddress.street) && + Objects.equals(this.postalCode, paystubOverrideEmployeeAddress.postalCode) && + Objects.equals(this.country, paystubOverrideEmployeeAddress.country); + } + + @Override + public int hashCode() { + return Objects.hash(city, region, street, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverrideEmployeeAddress {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverrideEmployer.java b/src/main/java/com/plaid/client/model/PaystubOverrideEmployer.java new file mode 100644 index 0000000000..072f03f506 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverrideEmployer.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaystubOverrideEmployerAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The employer on the paystub. + */ +@ApiModel(description = "The employer on the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverrideEmployer { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private PaystubOverrideEmployerAddress address; + + + public PaystubOverrideEmployer name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the employer. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the employer.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public PaystubOverrideEmployer address(PaystubOverrideEmployerAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubOverrideEmployerAddress getAddress() { + return address; + } + + + public void setAddress(PaystubOverrideEmployerAddress address) { + this.address = address; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverrideEmployer paystubOverrideEmployer = (PaystubOverrideEmployer) o; + return Objects.equals(this.name, paystubOverrideEmployer.name) && + Objects.equals(this.address, paystubOverrideEmployer.address); + } + + @Override + public int hashCode() { + return Objects.hash(name, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverrideEmployer {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverrideEmployerAddress.java b/src/main/java/com/plaid/client/model/PaystubOverrideEmployerAddress.java new file mode 100644 index 0000000000..fc3ecf0fd3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverrideEmployerAddress.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The address of the employer. + */ +@ApiModel(description = "The address of the employer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverrideEmployerAddress { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public PaystubOverrideEmployerAddress city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full city name.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public PaystubOverrideEmployerAddress region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The region or state Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public PaystubOverrideEmployerAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address Example: `\"564 Main Street, APT 15\"` + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full street address Example: `\"564 Main Street, APT 15\"`") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public PaystubOverrideEmployerAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * 5 digit postal code. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "5 digit postal code.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public PaystubOverrideEmployerAddress country(String country) { + + this.country = country; + return this; + } + + /** + * The country of the address. + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The country of the address.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverrideEmployerAddress paystubOverrideEmployerAddress = (PaystubOverrideEmployerAddress) o; + return Objects.equals(this.city, paystubOverrideEmployerAddress.city) && + Objects.equals(this.region, paystubOverrideEmployerAddress.region) && + Objects.equals(this.street, paystubOverrideEmployerAddress.street) && + Objects.equals(this.postalCode, paystubOverrideEmployerAddress.postalCode) && + Objects.equals(this.country, paystubOverrideEmployerAddress.country); + } + + @Override + public int hashCode() { + return Objects.hash(city, region, street, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverrideEmployerAddress {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverrideNetPay.java b/src/main/java/com/plaid/client/model/PaystubOverrideNetPay.java new file mode 100644 index 0000000000..a5978ccc76 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverrideNetPay.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing information about the net pay amount on the paystub. + */ +@ApiModel(description = "An object representing information about the net pay amount on the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverrideNetPay { + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private String currency; + + public static final String SERIALIZED_NAME_YTD_AMOUNT = "ytd_amount"; + @SerializedName(SERIALIZED_NAME_YTD_AMOUNT) + private Double ytdAmount; + + + public PaystubOverrideNetPay description(String description) { + + this.description = description; + return this; + } + + /** + * Description of the net pay + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Description of the net pay") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public PaystubOverrideNetPay currency(String currency) { + + this.currency = currency; + return this; + } + + /** + * The ISO-4217 currency code of the net pay. + * @return currency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the net pay.") + + public String getCurrency() { + return currency; + } + + + public void setCurrency(String currency) { + this.currency = currency; + } + + + public PaystubOverrideNetPay ytdAmount(Double ytdAmount) { + + this.ytdAmount = ytdAmount; + return this; + } + + /** + * The year-to-date amount of the net pay + * @return ytdAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The year-to-date amount of the net pay") + + public Double getYtdAmount() { + return ytdAmount; + } + + + public void setYtdAmount(Double ytdAmount) { + this.ytdAmount = ytdAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverrideNetPay paystubOverrideNetPay = (PaystubOverrideNetPay) o; + return Objects.equals(this.description, paystubOverrideNetPay.description) && + Objects.equals(this.currency, paystubOverrideNetPay.currency) && + Objects.equals(this.ytdAmount, paystubOverrideNetPay.ytdAmount); + } + + @Override + public int hashCode() { + return Objects.hash(description, currency, ytdAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverrideNetPay {\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" ytdAmount: ").append(toIndentedString(ytdAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverridePayPeriodDetails.java b/src/main/java/com/plaid/client/model/PaystubOverridePayPeriodDetails.java new file mode 100644 index 0000000000..4529cf4e1f --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverridePayPeriodDetails.java @@ -0,0 +1,315 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PayPeriodDetailsPayFrequency; +import com.plaid.client.model.PaystubOverrideDistributionBreakdown; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * Details about the pay period. + */ +@ApiModel(description = "Details about the pay period.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverridePayPeriodDetails { + public static final String SERIALIZED_NAME_CHECK_AMOUNT = "check_amount"; + @SerializedName(SERIALIZED_NAME_CHECK_AMOUNT) + private Double checkAmount; + + public static final String SERIALIZED_NAME_DISTRIBUTION_BREAKDOWN = "distribution_breakdown"; + @SerializedName(SERIALIZED_NAME_DISTRIBUTION_BREAKDOWN) + private List distributionBreakdown = null; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_GROSS_EARNINGS = "gross_earnings"; + @SerializedName(SERIALIZED_NAME_GROSS_EARNINGS) + private Double grossEarnings; + + public static final String SERIALIZED_NAME_PAY_DATE = "pay_date"; + @SerializedName(SERIALIZED_NAME_PAY_DATE) + private LocalDate payDate; + + public static final String SERIALIZED_NAME_PAY_FREQUENCY = "pay_frequency"; + @SerializedName(SERIALIZED_NAME_PAY_FREQUENCY) + private PayPeriodDetailsPayFrequency payFrequency; + + public static final String SERIALIZED_NAME_PAY_DAY = "pay_day"; + @SerializedName(SERIALIZED_NAME_PAY_DAY) + private LocalDate payDay; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + + public PaystubOverridePayPeriodDetails checkAmount(Double checkAmount) { + + this.checkAmount = checkAmount; + return this; + } + + /** + * The amount of the paycheck. + * @return checkAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount of the paycheck.") + + public Double getCheckAmount() { + return checkAmount; + } + + + public void setCheckAmount(Double checkAmount) { + this.checkAmount = checkAmount; + } + + + public PaystubOverridePayPeriodDetails distributionBreakdown(List distributionBreakdown) { + + this.distributionBreakdown = distributionBreakdown; + return this; + } + + public PaystubOverridePayPeriodDetails addDistributionBreakdownItem(PaystubOverrideDistributionBreakdown distributionBreakdownItem) { + if (this.distributionBreakdown == null) { + this.distributionBreakdown = new ArrayList<>(); + } + this.distributionBreakdown.add(distributionBreakdownItem); + return this; + } + + /** + * Get distributionBreakdown + * @return distributionBreakdown + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getDistributionBreakdown() { + return distributionBreakdown; + } + + + public void setDistributionBreakdown(List distributionBreakdown) { + this.distributionBreakdown = distributionBreakdown; + } + + + public PaystubOverridePayPeriodDetails endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The pay period end date, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format: \"yyyy-mm-dd\". + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The pay period end date, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format: \"yyyy-mm-dd\".") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public PaystubOverridePayPeriodDetails grossEarnings(Double grossEarnings) { + + this.grossEarnings = grossEarnings; + return this; + } + + /** + * Total earnings before tax/deductions. + * @return grossEarnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total earnings before tax/deductions.") + + public Double getGrossEarnings() { + return grossEarnings; + } + + + public void setGrossEarnings(Double grossEarnings) { + this.grossEarnings = grossEarnings; + } + + + public PaystubOverridePayPeriodDetails payDate(LocalDate payDate) { + + this.payDate = payDate; + return this; + } + + /** + * The date on which the paystub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return payDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date on which the paystub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getPayDate() { + return payDate; + } + + + public void setPayDate(LocalDate payDate) { + this.payDate = payDate; + } + + + public PaystubOverridePayPeriodDetails payFrequency(PayPeriodDetailsPayFrequency payFrequency) { + + this.payFrequency = payFrequency; + return this; + } + + /** + * Get payFrequency + * @return payFrequency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PayPeriodDetailsPayFrequency getPayFrequency() { + return payFrequency; + } + + + public void setPayFrequency(PayPeriodDetailsPayFrequency payFrequency) { + this.payFrequency = payFrequency; + } + + + public PaystubOverridePayPeriodDetails payDay(LocalDate payDay) { + + this.payDay = payDay; + return this; + } + + /** + * The date on which the paystub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return payDay + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date on which the paystub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getPayDay() { + return payDay; + } + + + public void setPayDay(LocalDate payDay) { + this.payDay = payDay; + } + + + public PaystubOverridePayPeriodDetails startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The pay period start date, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format: \"yyyy-mm-dd\". + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The pay period start date, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format: \"yyyy-mm-dd\".") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverridePayPeriodDetails paystubOverridePayPeriodDetails = (PaystubOverridePayPeriodDetails) o; + return Objects.equals(this.checkAmount, paystubOverridePayPeriodDetails.checkAmount) && + Objects.equals(this.distributionBreakdown, paystubOverridePayPeriodDetails.distributionBreakdown) && + Objects.equals(this.endDate, paystubOverridePayPeriodDetails.endDate) && + Objects.equals(this.grossEarnings, paystubOverridePayPeriodDetails.grossEarnings) && + Objects.equals(this.payDate, paystubOverridePayPeriodDetails.payDate) && + Objects.equals(this.payFrequency, paystubOverridePayPeriodDetails.payFrequency) && + Objects.equals(this.payDay, paystubOverridePayPeriodDetails.payDay) && + Objects.equals(this.startDate, paystubOverridePayPeriodDetails.startDate); + } + + @Override + public int hashCode() { + return Objects.hash(checkAmount, distributionBreakdown, endDate, grossEarnings, payDate, payFrequency, payDay, startDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverridePayPeriodDetails {\n"); + sb.append(" checkAmount: ").append(toIndentedString(checkAmount)).append("\n"); + sb.append(" distributionBreakdown: ").append(toIndentedString(distributionBreakdown)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" grossEarnings: ").append(toIndentedString(grossEarnings)).append("\n"); + sb.append(" payDate: ").append(toIndentedString(payDate)).append("\n"); + sb.append(" payFrequency: ").append(toIndentedString(payFrequency)).append("\n"); + sb.append(" payDay: ").append(toIndentedString(payDay)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubOverrideTaxpayerID.java b/src/main/java/com/plaid/client/model/PaystubOverrideTaxpayerID.java new file mode 100644 index 0000000000..ed959fd6a9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubOverrideTaxpayerID.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Taxpayer ID of the individual receiving the paystub. + */ +@ApiModel(description = "Taxpayer ID of the individual receiving the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubOverrideTaxpayerID { + public static final String SERIALIZED_NAME_ID_TYPE = "id_type"; + @SerializedName(SERIALIZED_NAME_ID_TYPE) + private String idType; + + public static final String SERIALIZED_NAME_ID_MASK = "id_mask"; + @SerializedName(SERIALIZED_NAME_ID_MASK) + private String idMask; + + + public PaystubOverrideTaxpayerID idType(String idType) { + + this.idType = idType; + return this; + } + + /** + * Type of ID, e.g. 'SSN' + * @return idType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Type of ID, e.g. 'SSN'") + + public String getIdType() { + return idType; + } + + + public void setIdType(String idType) { + this.idType = idType; + } + + + public PaystubOverrideTaxpayerID idMask(String idMask) { + + this.idMask = idMask; + return this; + } + + /** + * ID mask; i.e. last 4 digits of the taxpayer ID + * @return idMask + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "ID mask; i.e. last 4 digits of the taxpayer ID") + + public String getIdMask() { + return idMask; + } + + + public void setIdMask(String idMask) { + this.idMask = idMask; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubOverrideTaxpayerID paystubOverrideTaxpayerID = (PaystubOverrideTaxpayerID) o; + return Objects.equals(this.idType, paystubOverrideTaxpayerID.idType) && + Objects.equals(this.idMask, paystubOverrideTaxpayerID.idMask); + } + + @Override + public int hashCode() { + return Objects.hash(idType, idMask); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubOverrideTaxpayerID {\n"); + sb.append(" idType: ").append(toIndentedString(idType)).append("\n"); + sb.append(" idMask: ").append(toIndentedString(idMask)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PaystubPayFrequency.java b/src/main/java/com/plaid/client/model/PaystubPayFrequency.java new file mode 100644 index 0000000000..80c3000d4c --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubPayFrequency.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The frequency at which the employee is paid. Possible values: `MONTHLY`, `BI-WEEKLY`, `WEEKLY`, `SEMI-MONTHLY`. + */ +@JsonAdapter(PaystubPayFrequency.Adapter.class) +public enum PaystubPayFrequency { + + MONTHLY("MONTHLY"), + + BI_WEEKLY("BI-WEEKLY"), + + WEEKLY("WEEKLY"), + + SEMI_MONTHLY("SEMI-MONTHLY"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PaystubPayFrequency(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaystubPayFrequency fromValue(String value) { + for (PaystubPayFrequency b : PaystubPayFrequency.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaystubPayFrequency enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaystubPayFrequency read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaystubPayFrequency.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PaystubYTDDetails.java b/src/main/java/com/plaid/client/model/PaystubYTDDetails.java new file mode 100644 index 0000000000..2ee11d1dd4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PaystubYTDDetails.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The amount of income earned year to date, as based on paystub data. + */ +@ApiModel(description = "The amount of income earned year to date, as based on paystub data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PaystubYTDDetails { + public static final String SERIALIZED_NAME_GROSS_EARNINGS = "gross_earnings"; + @SerializedName(SERIALIZED_NAME_GROSS_EARNINGS) + private Double grossEarnings; + + public static final String SERIALIZED_NAME_NET_EARNINGS = "net_earnings"; + @SerializedName(SERIALIZED_NAME_NET_EARNINGS) + private Double netEarnings; + + + public PaystubYTDDetails grossEarnings(Double grossEarnings) { + + this.grossEarnings = grossEarnings; + return this; + } + + /** + * Year-to-date gross earnings. + * @return grossEarnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Year-to-date gross earnings.") + + public Double getGrossEarnings() { + return grossEarnings; + } + + + public void setGrossEarnings(Double grossEarnings) { + this.grossEarnings = grossEarnings; + } + + + public PaystubYTDDetails netEarnings(Double netEarnings) { + + this.netEarnings = netEarnings; + return this; + } + + /** + * Year-to-date net (take home) earnings. + * @return netEarnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Year-to-date net (take home) earnings.") + + public Double getNetEarnings() { + return netEarnings; + } + + + public void setNetEarnings(Double netEarnings) { + this.netEarnings = netEarnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaystubYTDDetails paystubYTDDetails = (PaystubYTDDetails) o; + return Objects.equals(this.grossEarnings, paystubYTDDetails.grossEarnings) && + Objects.equals(this.netEarnings, paystubYTDDetails.netEarnings); + } + + @Override + public int hashCode() { + return Objects.hash(grossEarnings, netEarnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaystubYTDDetails {\n"); + sb.append(" grossEarnings: ").append(toIndentedString(grossEarnings)).append("\n"); + sb.append(" netEarnings: ").append(toIndentedString(netEarnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PendingDisconnectWebhook.java b/src/main/java/com/plaid/client/model/PendingDisconnectWebhook.java new file mode 100644 index 0000000000..3cad4e1bf3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PendingDisconnectWebhook.java @@ -0,0 +1,270 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PendingDisconnectWebhookReason; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Fired when an Item is expected to be disconnected. The webhook will currently be fired 7 days before the existing Item is scheduled for disconnection. This can be resolved by having the user go through Link's [update mode](https://plaid.com/docs/link/update-mode). Currently, this webhook is fired only for US or Canadian institutions; in the UK or EU, you should continue to listen for the [`PENDING_EXPIRATION`](https://plaid.com/docs/api/items/#pending_expiration) webhook instead. + */ +@ApiModel(description = "Fired when an Item is expected to be disconnected. The webhook will currently be fired 7 days before the existing Item is scheduled for disconnection. This can be resolved by having the user go through Link's [update mode](https://plaid.com/docs/link/update-mode). Currently, this webhook is fired only for US or Canadian institutions; in the UK or EU, you should continue to listen for the [`PENDING_EXPIRATION`](https://plaid.com/docs/api/items/#pending_expiration) webhook instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PendingDisconnectWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_REASON = "reason"; + @SerializedName(SERIALIZED_NAME_REASON) + private PendingDisconnectWebhookReason reason; + + public static final String SERIALIZED_NAME_DISCONNECT_TIME = "disconnect_time"; + @SerializedName(SERIALIZED_NAME_DISCONNECT_TIME) + private OffsetDateTime disconnectTime; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public PendingDisconnectWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `ITEM` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`ITEM`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public PendingDisconnectWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `PENDING_DISCONNECT` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`PENDING_DISCONNECT`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public PendingDisconnectWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public PendingDisconnectWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public PendingDisconnectWebhook reason(PendingDisconnectWebhookReason reason) { + + this.reason = reason; + return this; + } + + /** + * Get reason + * @return reason + **/ + @ApiModelProperty(required = true, value = "") + + public PendingDisconnectWebhookReason getReason() { + return reason; + } + + + public void setReason(PendingDisconnectWebhookReason reason) { + this.reason = reason; + } + + + public PendingDisconnectWebhook disconnectTime(OffsetDateTime disconnectTime) { + + this.disconnectTime = disconnectTime; + return this; + } + + /** + * The date and time at which the Item is scheduled to disconnect, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return disconnectTime + **/ + @ApiModelProperty(required = true, value = "The date and time at which the Item is scheduled to disconnect, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getDisconnectTime() { + return disconnectTime; + } + + + public void setDisconnectTime(OffsetDateTime disconnectTime) { + this.disconnectTime = disconnectTime; + } + + + public PendingDisconnectWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PendingDisconnectWebhook pendingDisconnectWebhook = (PendingDisconnectWebhook) o; + return Objects.equals(this.webhookType, pendingDisconnectWebhook.webhookType) && + Objects.equals(this.webhookCode, pendingDisconnectWebhook.webhookCode) && + Objects.equals(this.itemId, pendingDisconnectWebhook.itemId) && + Objects.equals(this.userId, pendingDisconnectWebhook.userId) && + Objects.equals(this.reason, pendingDisconnectWebhook.reason) && + Objects.equals(this.disconnectTime, pendingDisconnectWebhook.disconnectTime) && + Objects.equals(this.environment, pendingDisconnectWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, reason, disconnectTime, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PendingDisconnectWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); + sb.append(" disconnectTime: ").append(toIndentedString(disconnectTime)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PendingDisconnectWebhookReason.java b/src/main/java/com/plaid/client/model/PendingDisconnectWebhookReason.java new file mode 100644 index 0000000000..93b11ad1a3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PendingDisconnectWebhookReason.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Reason why the Item is about to be disconnected. `INSTITUTION_MIGRATION`: The institution is moving to API or to a different integration. For example, this can occur when an institution moves from a non-OAuth integration to an OAuth integration. `INSTITUTION_TOKEN_EXPIRATION`: The consent on an Item associated with a US or CA institution is about to expire. + */ +@JsonAdapter(PendingDisconnectWebhookReason.Adapter.class) +public enum PendingDisconnectWebhookReason { + + MIGRATION("INSTITUTION_MIGRATION"), + + TOKEN_EXPIRATION("INSTITUTION_TOKEN_EXPIRATION"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PendingDisconnectWebhookReason(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PendingDisconnectWebhookReason fromValue(String value) { + for (PendingDisconnectWebhookReason b : PendingDisconnectWebhookReason.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PendingDisconnectWebhookReason.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PendingDisconnectWebhookReason enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PendingDisconnectWebhookReason read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PendingDisconnectWebhookReason.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PendingExpirationWebhook.java b/src/main/java/com/plaid/client/model/PendingExpirationWebhook.java new file mode 100644 index 0000000000..88c67c23cc --- /dev/null +++ b/src/main/java/com/plaid/client/model/PendingExpirationWebhook.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Fired when an Item's access consent is expiring in 7 days. This can be resolved by having the user go through Link's update mode. This webhook is fired only for Items associated with institutions in Europe (including the UK); for Items associated with institutions in the US or Canada, see [`PENDING_DISCONNECT`](https://plaid.com/docs/api/items/#pending_disconnect) instead. + */ +@ApiModel(description = "Fired when an Item's access consent is expiring in 7 days. This can be resolved by having the user go through Link's update mode. This webhook is fired only for Items associated with institutions in Europe (including the UK); for Items associated with institutions in the US or Canada, see [`PENDING_DISCONNECT`](https://plaid.com/docs/api/items/#pending_disconnect) instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PendingExpirationWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_CONSENT_EXPIRATION_TIME = "consent_expiration_time"; + @SerializedName(SERIALIZED_NAME_CONSENT_EXPIRATION_TIME) + private OffsetDateTime consentExpirationTime; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public PendingExpirationWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `ITEM` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`ITEM`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public PendingExpirationWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `PENDING_EXPIRATION` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`PENDING_EXPIRATION`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public PendingExpirationWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public PendingExpirationWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public PendingExpirationWebhook consentExpirationTime(OffsetDateTime consentExpirationTime) { + + this.consentExpirationTime = consentExpirationTime; + return this; + } + + /** + * The date and time at which the Item's access consent will expire, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return consentExpirationTime + **/ + @ApiModelProperty(required = true, value = "The date and time at which the Item's access consent will expire, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getConsentExpirationTime() { + return consentExpirationTime; + } + + + public void setConsentExpirationTime(OffsetDateTime consentExpirationTime) { + this.consentExpirationTime = consentExpirationTime; + } + + + public PendingExpirationWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PendingExpirationWebhook pendingExpirationWebhook = (PendingExpirationWebhook) o; + return Objects.equals(this.webhookType, pendingExpirationWebhook.webhookType) && + Objects.equals(this.webhookCode, pendingExpirationWebhook.webhookCode) && + Objects.equals(this.itemId, pendingExpirationWebhook.itemId) && + Objects.equals(this.userId, pendingExpirationWebhook.userId) && + Objects.equals(this.consentExpirationTime, pendingExpirationWebhook.consentExpirationTime) && + Objects.equals(this.environment, pendingExpirationWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, consentExpirationTime, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PendingExpirationWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" consentExpirationTime: ").append(toIndentedString(consentExpirationTime)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PersonalFinanceCategory.java b/src/main/java/com/plaid/client/model/PersonalFinanceCategory.java new file mode 100644 index 0000000000..62e8b79eb0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PersonalFinanceCategory.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PersonalFinanceCategoryVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information describing the intent of the transaction. Most relevant for personal finance use cases, but not limited to such use cases. See the [taxonomy CSV file](https://plaid.com/documents/pfc-taxonomy-all.csv) for a full list of personal finance categories. If you are migrating to personal finance categories from the legacy categories, also refer to the [migration guide](https://plaid.com/docs/transactions/pfc-migration/). + */ +@ApiModel(description = "Information describing the intent of the transaction. Most relevant for personal finance use cases, but not limited to such use cases. See the [taxonomy CSV file](https://plaid.com/documents/pfc-taxonomy-all.csv) for a full list of personal finance categories. If you are migrating to personal finance categories from the legacy categories, also refer to the [migration guide](https://plaid.com/docs/transactions/pfc-migration/).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PersonalFinanceCategory { + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + private String primary; + + public static final String SERIALIZED_NAME_DETAILED = "detailed"; + @SerializedName(SERIALIZED_NAME_DETAILED) + private String detailed; + + public static final String SERIALIZED_NAME_CONFIDENCE_LEVEL = "confidence_level"; + @SerializedName(SERIALIZED_NAME_CONFIDENCE_LEVEL) + private String confidenceLevel; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private PersonalFinanceCategoryVersion version; + + + public PersonalFinanceCategory primary(String primary) { + + this.primary = primary; + return this; + } + + /** + * A high level category that communicates the broad category of the transaction. + * @return primary + **/ + @ApiModelProperty(required = true, value = "A high level category that communicates the broad category of the transaction.") + + public String getPrimary() { + return primary; + } + + + public void setPrimary(String primary) { + this.primary = primary; + } + + + public PersonalFinanceCategory detailed(String detailed) { + + this.detailed = detailed; + return this; + } + + /** + * A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category. + * @return detailed + **/ + @ApiModelProperty(required = true, value = "A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category.") + + public String getDetailed() { + return detailed; + } + + + public void setDetailed(String detailed) { + this.detailed = detailed; + } + + + public PersonalFinanceCategory confidenceLevel(String confidenceLevel) { + + this.confidenceLevel = confidenceLevel; + return this; + } + + /** + * A description of how confident we are that the provided categories accurately describe the transaction intent. `VERY_HIGH`: We are more than 98% confident that this category reflects the intent of the transaction. `HIGH`: We are more than 90% confident that this category reflects the intent of the transaction. `MEDIUM`: We are moderately confident that this category reflects the intent of the transaction. `LOW`: This category may reflect the intent, but there may be other categories that are more accurate. `UNKNOWN`: We don't know the confidence level for this category. + * @return confidenceLevel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A description of how confident we are that the provided categories accurately describe the transaction intent. `VERY_HIGH`: We are more than 98% confident that this category reflects the intent of the transaction. `HIGH`: We are more than 90% confident that this category reflects the intent of the transaction. `MEDIUM`: We are moderately confident that this category reflects the intent of the transaction. `LOW`: This category may reflect the intent, but there may be other categories that are more accurate. `UNKNOWN`: We don't know the confidence level for this category.") + + public String getConfidenceLevel() { + return confidenceLevel; + } + + + public void setConfidenceLevel(String confidenceLevel) { + this.confidenceLevel = confidenceLevel; + } + + + public PersonalFinanceCategory version(PersonalFinanceCategoryVersion version) { + + this.version = version; + return this; + } + + /** + * Get version + * @return version + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PersonalFinanceCategoryVersion getVersion() { + return version; + } + + + public void setVersion(PersonalFinanceCategoryVersion version) { + this.version = version; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PersonalFinanceCategory personalFinanceCategory = (PersonalFinanceCategory) o; + return Objects.equals(this.primary, personalFinanceCategory.primary) && + Objects.equals(this.detailed, personalFinanceCategory.detailed) && + Objects.equals(this.confidenceLevel, personalFinanceCategory.confidenceLevel) && + Objects.equals(this.version, personalFinanceCategory.version); + } + + @Override + public int hashCode() { + return Objects.hash(primary, detailed, confidenceLevel, version); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PersonalFinanceCategory {\n"); + sb.append(" primary: ").append(toIndentedString(primary)).append("\n"); + sb.append(" detailed: ").append(toIndentedString(detailed)).append("\n"); + sb.append(" confidenceLevel: ").append(toIndentedString(confidenceLevel)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PersonalFinanceCategoryVersion.java b/src/main/java/com/plaid/client/model/PersonalFinanceCategoryVersion.java new file mode 100644 index 0000000000..006f0be5e3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PersonalFinanceCategoryVersion.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates which version of the personal finance category taxonomy is being used. [View PFCv2 and PFCv1 taxonomies](https://plaid.com/documents/pfc-taxonomy-all.csv). If you enabled Transactions or Enrich before December 3, 2025 you will receive the `v1` taxonomy by default and may request `v2` by explicitly setting this field to `v2` in the request. If you enabled Transactions or Enrich on or after December 3, 2025, you may only receive the `v2` taxonomy. + */ +@JsonAdapter(PersonalFinanceCategoryVersion.Adapter.class) +public enum PersonalFinanceCategoryVersion { + + V1("v1"), + + V2("v2"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PersonalFinanceCategoryVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PersonalFinanceCategoryVersion fromValue(String value) { + for (PersonalFinanceCategoryVersion b : PersonalFinanceCategoryVersion.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PersonalFinanceCategoryVersion.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PersonalFinanceCategoryVersion enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PersonalFinanceCategoryVersion read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PersonalFinanceCategoryVersion.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PhoneNumber.java b/src/main/java/com/plaid/client/model/PhoneNumber.java new file mode 100644 index 0000000000..13f2edc12b --- /dev/null +++ b/src/main/java/com/plaid/client/model/PhoneNumber.java @@ -0,0 +1,209 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A phone number + */ +@ApiModel(description = "A phone number") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PhoneNumber { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private String data; + + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + private Boolean primary; + + /** + * The type of phone number. + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + HOME("home"), + + WORK("work"), + + OFFICE("office"), + + MOBILE("mobile"), + + MOBILE1("mobile1"), + + OTHER("other"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + + public PhoneNumber data(String data) { + + this.data = data; + return this; + } + + /** + * The phone number. + * @return data + **/ + @ApiModelProperty(required = true, value = "The phone number.") + + public String getData() { + return data; + } + + + public void setData(String data) { + this.data = data; + } + + + public PhoneNumber primary(Boolean primary) { + + this.primary = primary; + return this; + } + + /** + * When `true`, identifies the phone number as the primary number on an account. + * @return primary + **/ + @ApiModelProperty(required = true, value = "When `true`, identifies the phone number as the primary number on an account.") + + public Boolean getPrimary() { + return primary; + } + + + public void setPrimary(Boolean primary) { + this.primary = primary; + } + + + public PhoneNumber type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * The type of phone number. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of phone number.") + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PhoneNumber phoneNumber = (PhoneNumber) o; + return Objects.equals(this.data, phoneNumber.data) && + Objects.equals(this.primary, phoneNumber.primary) && + Objects.equals(this.type, phoneNumber.type); + } + + @Override + public int hashCode() { + return Objects.hash(data, primary, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PhoneNumber {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" primary: ").append(toIndentedString(primary)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PhoneNumberMatchScore.java b/src/main/java/com/plaid/client/model/PhoneNumberMatchScore.java new file mode 100644 index 0000000000..19ccb8ba5d --- /dev/null +++ b/src/main/java/com/plaid/client/model/PhoneNumberMatchScore.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Score found by matching phone number provided by the API with the phone number on the account at the financial institution. 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled. + */ +@ApiModel(description = "Score found by matching phone number provided by the API with the phone number on the account at the financial institution. 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PhoneNumberMatchScore { + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + + public PhoneNumberMatchScore score(Integer score) { + + this.score = score; + return this; + } + + /** + * Match score for normalized phone number. 100 is a perfect match, 99-70 is a partial match (matching the same phone number with extension against one without extension, etc.), anything below 70 is considered a mismatch. Typically, the match threshold should be set to a score of 70 or higher. If the phone number is missing from either the API or financial institution, this is null. + * @return score + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Match score for normalized phone number. 100 is a perfect match, 99-70 is a partial match (matching the same phone number with extension against one without extension, etc.), anything below 70 is considered a mismatch. Typically, the match threshold should be set to a score of 70 or higher. If the phone number is missing from either the API or financial institution, this is null.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PhoneNumberMatchScore phoneNumberMatchScore = (PhoneNumberMatchScore) o; + return Objects.equals(this.score, phoneNumberMatchScore.score); + } + + @Override + public int hashCode() { + return Objects.hash(score); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PhoneNumberMatchScore {\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PhoneType.java b/src/main/java/com/plaid/client/model/PhoneType.java new file mode 100644 index 0000000000..e5aac112cb --- /dev/null +++ b/src/main/java/com/plaid/client/model/PhoneType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An enum indicating whether a phone number is a phone line or a fax line. + */ +@JsonAdapter(PhoneType.Adapter.class) +public enum PhoneType { + + PHONE("phone"), + + FAX("fax"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PhoneType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PhoneType fromValue(String value) { + for (PhoneType b : PhoneType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PhoneType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PhoneType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PhoneType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PhoneType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PhysicalDocumentCategory.java b/src/main/java/com/plaid/client/model/PhysicalDocumentCategory.java new file mode 100644 index 0000000000..f0a5127b76 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PhysicalDocumentCategory.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of identity document detected in the images provided. Will always be one of the following values: `drivers_license` - A driver's license issued by the associated country, establishing identity without any guarantee as to citizenship, and granting driving privileges `id_card` - A general national identification card, distinct from driver's licenses as it only establishes identity `passport` - A travel passport issued by the associated country for one of its citizens `residence_permit_card` - An identity document issued by the associated country permitting a foreign citizen to <em>temporarily</em> reside there `resident_card` - An identity document issued by the associated country permitting a foreign citizen to <em>permanently</em> reside there `visa` - An identity document issued by the associated country permitting a foreign citizen entry for a short duration and for a specific purpose, typically no longer than 6 months Note: This value may be different from the ID type that the user selects within Link. For example, if they select \"Driver's License\" but then submit a picture of a passport, this field will say `passport` + */ +@JsonAdapter(PhysicalDocumentCategory.Adapter.class) +public enum PhysicalDocumentCategory { + + DRIVERS_LICENSE("drivers_license"), + + ID_CARD("id_card"), + + PASSPORT("passport"), + + RESIDENCE_PERMIT_CARD("residence_permit_card"), + + RESIDENT_CARD("resident_card"), + + VISA("visa"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PhysicalDocumentCategory(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PhysicalDocumentCategory fromValue(String value) { + for (PhysicalDocumentCategory b : PhysicalDocumentCategory.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PhysicalDocumentCategory.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PhysicalDocumentCategory enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PhysicalDocumentCategory read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PhysicalDocumentCategory.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PhysicalDocumentExtractedData.java b/src/main/java/com/plaid/client/model/PhysicalDocumentExtractedData.java new file mode 100644 index 0000000000..39b978813d --- /dev/null +++ b/src/main/java/com/plaid/client/model/PhysicalDocumentExtractedData.java @@ -0,0 +1,333 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityVerificationDocumentAddressResponse; +import com.plaid.client.model.IdentityVerificationDocumentNameResponse; +import com.plaid.client.model.PhysicalDocumentCategory; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Data extracted from a user-submitted document. + */ +@ApiModel(description = "Data extracted from a user-submitted document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PhysicalDocumentExtractedData { + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private String idNumber; + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private PhysicalDocumentCategory category; + + public static final String SERIALIZED_NAME_EXPIRATION_DATE = "expiration_date"; + @SerializedName(SERIALIZED_NAME_EXPIRATION_DATE) + private LocalDate expirationDate; + + public static final String SERIALIZED_NAME_ISSUE_DATE = "issue_date"; + @SerializedName(SERIALIZED_NAME_ISSUE_DATE) + private LocalDate issueDate; + + public static final String SERIALIZED_NAME_ISSUING_COUNTRY = "issuing_country"; + @SerializedName(SERIALIZED_NAME_ISSUING_COUNTRY) + private String issuingCountry; + + public static final String SERIALIZED_NAME_ISSUING_REGION = "issuing_region"; + @SerializedName(SERIALIZED_NAME_ISSUING_REGION) + private String issuingRegion; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private IdentityVerificationDocumentAddressResponse address; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private IdentityVerificationDocumentNameResponse name; + + + public PhysicalDocumentExtractedData idNumber(String idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Alpha-numeric ID number extracted via OCR from the user's document image. + * @return idNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "AB123456", required = true, value = "Alpha-numeric ID number extracted via OCR from the user's document image.") + + public String getIdNumber() { + return idNumber; + } + + + public void setIdNumber(String idNumber) { + this.idNumber = idNumber; + } + + + public PhysicalDocumentExtractedData category(PhysicalDocumentCategory category) { + + this.category = category; + return this; + } + + /** + * Get category + * @return category + **/ + @ApiModelProperty(required = true, value = "") + + public PhysicalDocumentCategory getCategory() { + return category; + } + + + public void setCategory(PhysicalDocumentCategory category) { + this.category = category; + } + + + public PhysicalDocumentExtractedData expirationDate(LocalDate expirationDate) { + + this.expirationDate = expirationDate; + return this; + } + + /** + * The expiration date of the document in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return expirationDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Wed May 29 00:00:00 UTC 2030", required = true, value = "The expiration date of the document in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getExpirationDate() { + return expirationDate; + } + + + public void setExpirationDate(LocalDate expirationDate) { + this.expirationDate = expirationDate; + } + + + public PhysicalDocumentExtractedData issueDate(LocalDate issueDate) { + + this.issueDate = issueDate; + return this; + } + + /** + * The issue date of the document in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return issueDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Fri May 29 00:00:00 UTC 2020", required = true, value = "The issue date of the document in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getIssueDate() { + return issueDate; + } + + + public void setIssueDate(LocalDate issueDate) { + this.issueDate = issueDate; + } + + + public PhysicalDocumentExtractedData issuingCountry(String issuingCountry) { + + this.issuingCountry = issuingCountry; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return issuingCountry + **/ + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getIssuingCountry() { + return issuingCountry; + } + + + public void setIssuingCountry(String issuingCountry) { + this.issuingCountry = issuingCountry; + } + + + public PhysicalDocumentExtractedData issuingRegion(String issuingRegion) { + + this.issuingRegion = issuingRegion; + return this; + } + + /** + * A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field. + * @return issuingRegion + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "IN", required = true, value = "A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field.") + + public String getIssuingRegion() { + return issuingRegion; + } + + + public void setIssuingRegion(String issuingRegion) { + this.issuingRegion = issuingRegion; + } + + + public PhysicalDocumentExtractedData dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * A date extracted from the document in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date extracted from the document in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public PhysicalDocumentExtractedData address(IdentityVerificationDocumentAddressResponse address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationDocumentAddressResponse getAddress() { + return address; + } + + + public void setAddress(IdentityVerificationDocumentAddressResponse address) { + this.address = address; + } + + + public PhysicalDocumentExtractedData name(IdentityVerificationDocumentNameResponse name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityVerificationDocumentNameResponse getName() { + return name; + } + + + public void setName(IdentityVerificationDocumentNameResponse name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PhysicalDocumentExtractedData physicalDocumentExtractedData = (PhysicalDocumentExtractedData) o; + return Objects.equals(this.idNumber, physicalDocumentExtractedData.idNumber) && + Objects.equals(this.category, physicalDocumentExtractedData.category) && + Objects.equals(this.expirationDate, physicalDocumentExtractedData.expirationDate) && + Objects.equals(this.issueDate, physicalDocumentExtractedData.issueDate) && + Objects.equals(this.issuingCountry, physicalDocumentExtractedData.issuingCountry) && + Objects.equals(this.issuingRegion, physicalDocumentExtractedData.issuingRegion) && + Objects.equals(this.dateOfBirth, physicalDocumentExtractedData.dateOfBirth) && + Objects.equals(this.address, physicalDocumentExtractedData.address) && + Objects.equals(this.name, physicalDocumentExtractedData.name); + } + + @Override + public int hashCode() { + return Objects.hash(idNumber, category, expirationDate, issueDate, issuingCountry, issuingRegion, dateOfBirth, address, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PhysicalDocumentExtractedData {\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" expirationDate: ").append(toIndentedString(expirationDate)).append("\n"); + sb.append(" issueDate: ").append(toIndentedString(issueDate)).append("\n"); + sb.append(" issuingCountry: ").append(toIndentedString(issuingCountry)).append("\n"); + sb.append(" issuingRegion: ").append(toIndentedString(issuingRegion)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PhysicalDocumentExtractedDataAnalysis.java b/src/main/java/com/plaid/client/model/PhysicalDocumentExtractedDataAnalysis.java new file mode 100644 index 0000000000..1eb283a25f --- /dev/null +++ b/src/main/java/com/plaid/client/model/PhysicalDocumentExtractedDataAnalysis.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocumentDateOfBirthMatchCode; +import com.plaid.client.model.DocumentNameMatchCode; +import com.plaid.client.model.ExpirationDate; +import com.plaid.client.model.IssuingCountry; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analysis of the data extracted from the submitted document. + */ +@ApiModel(description = "Analysis of the data extracted from the submitted document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PhysicalDocumentExtractedDataAnalysis { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private DocumentNameMatchCode name; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private DocumentDateOfBirthMatchCode dateOfBirth; + + public static final String SERIALIZED_NAME_EXPIRATION_DATE = "expiration_date"; + @SerializedName(SERIALIZED_NAME_EXPIRATION_DATE) + private ExpirationDate expirationDate; + + public static final String SERIALIZED_NAME_ISSUING_COUNTRY = "issuing_country"; + @SerializedName(SERIALIZED_NAME_ISSUING_COUNTRY) + private IssuingCountry issuingCountry; + + + public PhysicalDocumentExtractedDataAnalysis name(DocumentNameMatchCode name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public DocumentNameMatchCode getName() { + return name; + } + + + public void setName(DocumentNameMatchCode name) { + this.name = name; + } + + + public PhysicalDocumentExtractedDataAnalysis dateOfBirth(DocumentDateOfBirthMatchCode dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * Get dateOfBirth + * @return dateOfBirth + **/ + @ApiModelProperty(required = true, value = "") + + public DocumentDateOfBirthMatchCode getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(DocumentDateOfBirthMatchCode dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public PhysicalDocumentExtractedDataAnalysis expirationDate(ExpirationDate expirationDate) { + + this.expirationDate = expirationDate; + return this; + } + + /** + * Get expirationDate + * @return expirationDate + **/ + @ApiModelProperty(required = true, value = "") + + public ExpirationDate getExpirationDate() { + return expirationDate; + } + + + public void setExpirationDate(ExpirationDate expirationDate) { + this.expirationDate = expirationDate; + } + + + public PhysicalDocumentExtractedDataAnalysis issuingCountry(IssuingCountry issuingCountry) { + + this.issuingCountry = issuingCountry; + return this; + } + + /** + * Get issuingCountry + * @return issuingCountry + **/ + @ApiModelProperty(required = true, value = "") + + public IssuingCountry getIssuingCountry() { + return issuingCountry; + } + + + public void setIssuingCountry(IssuingCountry issuingCountry) { + this.issuingCountry = issuingCountry; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PhysicalDocumentExtractedDataAnalysis physicalDocumentExtractedDataAnalysis = (PhysicalDocumentExtractedDataAnalysis) o; + return Objects.equals(this.name, physicalDocumentExtractedDataAnalysis.name) && + Objects.equals(this.dateOfBirth, physicalDocumentExtractedDataAnalysis.dateOfBirth) && + Objects.equals(this.expirationDate, physicalDocumentExtractedDataAnalysis.expirationDate) && + Objects.equals(this.issuingCountry, physicalDocumentExtractedDataAnalysis.issuingCountry); + } + + @Override + public int hashCode() { + return Objects.hash(name, dateOfBirth, expirationDate, issuingCountry); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PhysicalDocumentExtractedDataAnalysis {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" expirationDate: ").append(toIndentedString(expirationDate)).append("\n"); + sb.append(" issuingCountry: ").append(toIndentedString(issuingCountry)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PhysicalDocumentImages.java b/src/main/java/com/plaid/client/model/PhysicalDocumentImages.java new file mode 100644 index 0000000000..705ccdcb76 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PhysicalDocumentImages.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * URLs for downloading original and cropped images for this document submission. The URLs are designed to only allow downloading, not hot linking, so the URL will only serve the document image for 60 seconds before expiring. The expiration time is 60 seconds after the `GET` request for the associated Identity Verification attempt. A new expiring URL is generated with each request, so you can always rerequest the Identity Verification attempt if one of your URLs expires. + */ +@ApiModel(description = "URLs for downloading original and cropped images for this document submission. The URLs are designed to only allow downloading, not hot linking, so the URL will only serve the document image for 60 seconds before expiring. The expiration time is 60 seconds after the `GET` request for the associated Identity Verification attempt. A new expiring URL is generated with each request, so you can always rerequest the Identity Verification attempt if one of your URLs expires.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PhysicalDocumentImages { + public static final String SERIALIZED_NAME_ORIGINAL_FRONT = "original_front"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_FRONT) + private String originalFront; + + public static final String SERIALIZED_NAME_ORIGINAL_BACK = "original_back"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_BACK) + private String originalBack; + + public static final String SERIALIZED_NAME_CROPPED_FRONT = "cropped_front"; + @SerializedName(SERIALIZED_NAME_CROPPED_FRONT) + private String croppedFront; + + public static final String SERIALIZED_NAME_CROPPED_BACK = "cropped_back"; + @SerializedName(SERIALIZED_NAME_CROPPED_BACK) + private String croppedBack; + + public static final String SERIALIZED_NAME_FACE = "face"; + @SerializedName(SERIALIZED_NAME_FACE) + private String face; + + + public PhysicalDocumentImages originalFront(String originalFront) { + + this.originalFront = originalFront; + return this; + } + + /** + * Temporary URL that expires after 60 seconds for downloading the uncropped original image of the front of the document. + * @return originalFront + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_front.jpeg", required = true, value = "Temporary URL that expires after 60 seconds for downloading the uncropped original image of the front of the document.") + + public String getOriginalFront() { + return originalFront; + } + + + public void setOriginalFront(String originalFront) { + this.originalFront = originalFront; + } + + + public PhysicalDocumentImages originalBack(String originalBack) { + + this.originalBack = originalBack; + return this; + } + + /** + * Temporary URL that expires after 60 seconds for downloading the original image of the back of the document. Might be null if the back of the document was not collected. + * @return originalBack + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_back.jpeg", required = true, value = "Temporary URL that expires after 60 seconds for downloading the original image of the back of the document. Might be null if the back of the document was not collected.") + + public String getOriginalBack() { + return originalBack; + } + + + public void setOriginalBack(String originalBack) { + this.originalBack = originalBack; + } + + + public PhysicalDocumentImages croppedFront(String croppedFront) { + + this.croppedFront = croppedFront; + return this; + } + + /** + * Temporary URL that expires after 60 seconds for downloading a cropped image containing just the front of the document. + * @return croppedFront + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_front.jpeg", required = true, value = "Temporary URL that expires after 60 seconds for downloading a cropped image containing just the front of the document.") + + public String getCroppedFront() { + return croppedFront; + } + + + public void setCroppedFront(String croppedFront) { + this.croppedFront = croppedFront; + } + + + public PhysicalDocumentImages croppedBack(String croppedBack) { + + this.croppedBack = croppedBack; + return this; + } + + /** + * Temporary URL that expires after 60 seconds for downloading a cropped image containing just the back of the document. Might be null if the back of the document was not collected. + * @return croppedBack + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_back.jpeg", required = true, value = "Temporary URL that expires after 60 seconds for downloading a cropped image containing just the back of the document. Might be null if the back of the document was not collected.") + + public String getCroppedBack() { + return croppedBack; + } + + + public void setCroppedBack(String croppedBack) { + this.croppedBack = croppedBack; + } + + + public PhysicalDocumentImages face(String face) { + + this.face = face; + return this; + } + + /** + * Temporary URL that expires after 60 seconds for downloading a crop of just the user's face from the document image. Might be null if the document does not contain a face photo. + * @return face + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/face.jpeg", required = true, value = "Temporary URL that expires after 60 seconds for downloading a crop of just the user's face from the document image. Might be null if the document does not contain a face photo.") + + public String getFace() { + return face; + } + + + public void setFace(String face) { + this.face = face; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PhysicalDocumentImages physicalDocumentImages = (PhysicalDocumentImages) o; + return Objects.equals(this.originalFront, physicalDocumentImages.originalFront) && + Objects.equals(this.originalBack, physicalDocumentImages.originalBack) && + Objects.equals(this.croppedFront, physicalDocumentImages.croppedFront) && + Objects.equals(this.croppedBack, physicalDocumentImages.croppedBack) && + Objects.equals(this.face, physicalDocumentImages.face); + } + + @Override + public int hashCode() { + return Objects.hash(originalFront, originalBack, croppedFront, croppedBack, face); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PhysicalDocumentImages {\n"); + sb.append(" originalFront: ").append(toIndentedString(originalFront)).append("\n"); + sb.append(" originalBack: ").append(toIndentedString(originalBack)).append("\n"); + sb.append(" croppedFront: ").append(toIndentedString(croppedFront)).append("\n"); + sb.append(" croppedBack: ").append(toIndentedString(croppedBack)).append("\n"); + sb.append(" face: ").append(toIndentedString(face)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PlaidError.java b/src/main/java/com/plaid/client/model/PlaidError.java new file mode 100644 index 0000000000..7cded2a943 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PlaidError.java @@ -0,0 +1,442 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidErrorType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Errors are identified by `error_code` and categorized by `error_type`. Use these in preference to HTTP status codes to identify and handle specific errors. HTTP status codes are set and provide the broadest categorization of errors: 4xx codes are for developer- or user-related errors, and 5xx codes are for Plaid-related errors, and the status will be 2xx in non-error cases. An Item with a non-`null` error object will only be part of an API response when calling `/item/get` to view Item status. Otherwise, error fields will be `null` if no error has occurred; if an error has occurred, an error code will be returned instead. + */ +@ApiModel(description = "Errors are identified by `error_code` and categorized by `error_type`. Use these in preference to HTTP status codes to identify and handle specific errors. HTTP status codes are set and provide the broadest categorization of errors: 4xx codes are for developer- or user-related errors, and 5xx codes are for Plaid-related errors, and the status will be 2xx in non-error cases. An Item with a non-`null` error object will only be part of an API response when calling `/item/get` to view Item status. Otherwise, error fields will be `null` if no error has occurred; if an error has occurred, an error code will be returned instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PlaidError { + public static final String SERIALIZED_NAME_ERROR_TYPE = "error_type"; + @SerializedName(SERIALIZED_NAME_ERROR_TYPE) + private PlaidErrorType errorType; + + public static final String SERIALIZED_NAME_ERROR_CODE = "error_code"; + @SerializedName(SERIALIZED_NAME_ERROR_CODE) + private String errorCode; + + public static final String SERIALIZED_NAME_ERROR_CODE_REASON = "error_code_reason"; + @SerializedName(SERIALIZED_NAME_ERROR_CODE_REASON) + private String errorCodeReason; + + public static final String SERIALIZED_NAME_ERROR_MESSAGE = "error_message"; + @SerializedName(SERIALIZED_NAME_ERROR_MESSAGE) + private String errorMessage; + + public static final String SERIALIZED_NAME_DISPLAY_MESSAGE = "display_message"; + @SerializedName(SERIALIZED_NAME_DISPLAY_MESSAGE) + private String displayMessage; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_CAUSES = "causes"; + @SerializedName(SERIALIZED_NAME_CAUSES) + private List causes = null; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private Integer status; + + public static final String SERIALIZED_NAME_DOCUMENTATION_URL = "documentation_url"; + @SerializedName(SERIALIZED_NAME_DOCUMENTATION_URL) + private String documentationUrl; + + public static final String SERIALIZED_NAME_SUGGESTED_ACTION = "suggested_action"; + @SerializedName(SERIALIZED_NAME_SUGGESTED_ACTION) + private String suggestedAction; + + public static final String SERIALIZED_NAME_REQUIRED_ACCOUNT_SUBTYPES = "required_account_subtypes"; + @SerializedName(SERIALIZED_NAME_REQUIRED_ACCOUNT_SUBTYPES) + private List requiredAccountSubtypes = null; + + public static final String SERIALIZED_NAME_PROVIDED_ACCOUNT_SUBTYPES = "provided_account_subtypes"; + @SerializedName(SERIALIZED_NAME_PROVIDED_ACCOUNT_SUBTYPES) + private List providedAccountSubtypes = null; + + + public PlaidError errorType(PlaidErrorType errorType) { + + this.errorType = errorType; + return this; + } + + /** + * Get errorType + * @return errorType + **/ + @ApiModelProperty(required = true, value = "") + + public PlaidErrorType getErrorType() { + return errorType; + } + + + public void setErrorType(PlaidErrorType errorType) { + this.errorType = errorType; + } + + + public PlaidError errorCode(String errorCode) { + + this.errorCode = errorCode; + return this; + } + + /** + * The particular error code. Safe for programmatic use. + * @return errorCode + **/ + @ApiModelProperty(required = true, value = "The particular error code. Safe for programmatic use.") + + public String getErrorCode() { + return errorCode; + } + + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + + public PlaidError errorCodeReason(String errorCodeReason) { + + this.errorCodeReason = errorCodeReason; + return this; + } + + /** + * The specific reason for the error code. Currently, reasons are only supported for OAuth-based item errors; `null` will be returned otherwise. Safe for programmatic use. Possible values: `OAUTH_INVALID_TOKEN`: The user's OAuth connection to this institution has been invalidated. `OAUTH_CONSENT_EXPIRED`: The user's access consent for this OAuth connection to this institution has expired. `OAUTH_USER_REVOKED`: The user's OAuth connection to this institution is invalid because the user revoked their connection. + * @return errorCodeReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The specific reason for the error code. Currently, reasons are only supported for OAuth-based item errors; `null` will be returned otherwise. Safe for programmatic use. Possible values: `OAUTH_INVALID_TOKEN`: The user's OAuth connection to this institution has been invalidated. `OAUTH_CONSENT_EXPIRED`: The user's access consent for this OAuth connection to this institution has expired. `OAUTH_USER_REVOKED`: The user's OAuth connection to this institution is invalid because the user revoked their connection.") + + public String getErrorCodeReason() { + return errorCodeReason; + } + + + public void setErrorCodeReason(String errorCodeReason) { + this.errorCodeReason = errorCodeReason; + } + + + public PlaidError errorMessage(String errorMessage) { + + this.errorMessage = errorMessage; + return this; + } + + /** + * A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use. + * @return errorMessage + **/ + @ApiModelProperty(required = true, value = "A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.") + + public String getErrorMessage() { + return errorMessage; + } + + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + + + public PlaidError displayMessage(String displayMessage) { + + this.displayMessage = displayMessage; + return this; + } + + /** + * A user-friendly representation of the error code. `null` if the error is not related to user action. This may change over time and is not safe for programmatic use. + * @return displayMessage + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A user-friendly representation of the error code. `null` if the error is not related to user action. This may change over time and is not safe for programmatic use.") + + public String getDisplayMessage() { + return displayMessage; + } + + + public void setDisplayMessage(String displayMessage) { + this.displayMessage = displayMessage; + } + + + public PlaidError requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public PlaidError causes(List causes) { + + this.causes = causes; + return this; + } + + public PlaidError addCausesItem(Object causesItem) { + if (this.causes == null) { + this.causes = new ArrayList<>(); + } + this.causes.add(causesItem); + return this; + } + + /** + * In this product, a request can pertain to more than one Item. If an error is returned for such a request, `causes` will return an array of errors containing a breakdown of these errors on the individual Item level, if any can be identified. `causes` will be provided for the `error_type` `ASSET_REPORT_ERROR` or `CHECK_REPORT_ERROR`. `causes` will also not be populated inside an error nested within a `warning` object. + * @return causes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "In this product, a request can pertain to more than one Item. If an error is returned for such a request, `causes` will return an array of errors containing a breakdown of these errors on the individual Item level, if any can be identified. `causes` will be provided for the `error_type` `ASSET_REPORT_ERROR` or `CHECK_REPORT_ERROR`. `causes` will also not be populated inside an error nested within a `warning` object.") + + public List getCauses() { + return causes; + } + + + public void setCauses(List causes) { + this.causes = causes; + } + + + public PlaidError status(Integer status) { + + this.status = status; + return this; + } + + /** + * The HTTP status code associated with the error. This will only be returned in the response body when the error information is provided via a webhook. + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The HTTP status code associated with the error. This will only be returned in the response body when the error information is provided via a webhook.") + + public Integer getStatus() { + return status; + } + + + public void setStatus(Integer status) { + this.status = status; + } + + + public PlaidError documentationUrl(String documentationUrl) { + + this.documentationUrl = documentationUrl; + return this; + } + + /** + * The URL of a Plaid documentation page with more information about the error + * @return documentationUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL of a Plaid documentation page with more information about the error") + + public String getDocumentationUrl() { + return documentationUrl; + } + + + public void setDocumentationUrl(String documentationUrl) { + this.documentationUrl = documentationUrl; + } + + + public PlaidError suggestedAction(String suggestedAction) { + + this.suggestedAction = suggestedAction; + return this; + } + + /** + * Suggested steps for resolving the error + * @return suggestedAction + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Suggested steps for resolving the error") + + public String getSuggestedAction() { + return suggestedAction; + } + + + public void setSuggestedAction(String suggestedAction) { + this.suggestedAction = suggestedAction; + } + + + public PlaidError requiredAccountSubtypes(List requiredAccountSubtypes) { + + this.requiredAccountSubtypes = requiredAccountSubtypes; + return this; + } + + public PlaidError addRequiredAccountSubtypesItem(String requiredAccountSubtypesItem) { + if (this.requiredAccountSubtypes == null) { + this.requiredAccountSubtypes = new ArrayList<>(); + } + this.requiredAccountSubtypes.add(requiredAccountSubtypesItem); + return this; + } + + /** + * A list of the account subtypes that were requested via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product. + * @return requiredAccountSubtypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of the account subtypes that were requested via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product. ") + + public List getRequiredAccountSubtypes() { + return requiredAccountSubtypes; + } + + + public void setRequiredAccountSubtypes(List requiredAccountSubtypes) { + this.requiredAccountSubtypes = requiredAccountSubtypes; + } + + + public PlaidError providedAccountSubtypes(List providedAccountSubtypes) { + + this.providedAccountSubtypes = providedAccountSubtypes; + return this; + } + + public PlaidError addProvidedAccountSubtypesItem(String providedAccountSubtypesItem) { + if (this.providedAccountSubtypes == null) { + this.providedAccountSubtypes = new ArrayList<>(); + } + this.providedAccountSubtypes.add(providedAccountSubtypesItem); + return this; + } + + /** + * A list of the account subtypes that were extracted but did not match the requested subtypes via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product. + * @return providedAccountSubtypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of the account subtypes that were extracted but did not match the requested subtypes via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product. ") + + public List getProvidedAccountSubtypes() { + return providedAccountSubtypes; + } + + + public void setProvidedAccountSubtypes(List providedAccountSubtypes) { + this.providedAccountSubtypes = providedAccountSubtypes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PlaidError plaidError = (PlaidError) o; + return Objects.equals(this.errorType, plaidError.errorType) && + Objects.equals(this.errorCode, plaidError.errorCode) && + Objects.equals(this.errorCodeReason, plaidError.errorCodeReason) && + Objects.equals(this.errorMessage, plaidError.errorMessage) && + Objects.equals(this.displayMessage, plaidError.displayMessage) && + Objects.equals(this.requestId, plaidError.requestId) && + Objects.equals(this.causes, plaidError.causes) && + Objects.equals(this.status, plaidError.status) && + Objects.equals(this.documentationUrl, plaidError.documentationUrl) && + Objects.equals(this.suggestedAction, plaidError.suggestedAction) && + Objects.equals(this.requiredAccountSubtypes, plaidError.requiredAccountSubtypes) && + Objects.equals(this.providedAccountSubtypes, plaidError.providedAccountSubtypes); + } + + @Override + public int hashCode() { + return Objects.hash(errorType, errorCode, errorCodeReason, errorMessage, displayMessage, requestId, causes, status, documentationUrl, suggestedAction, requiredAccountSubtypes, providedAccountSubtypes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PlaidError {\n"); + sb.append(" errorType: ").append(toIndentedString(errorType)).append("\n"); + sb.append(" errorCode: ").append(toIndentedString(errorCode)).append("\n"); + sb.append(" errorCodeReason: ").append(toIndentedString(errorCodeReason)).append("\n"); + sb.append(" errorMessage: ").append(toIndentedString(errorMessage)).append("\n"); + sb.append(" displayMessage: ").append(toIndentedString(displayMessage)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" causes: ").append(toIndentedString(causes)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" documentationUrl: ").append(toIndentedString(documentationUrl)).append("\n"); + sb.append(" suggestedAction: ").append(toIndentedString(suggestedAction)).append("\n"); + sb.append(" requiredAccountSubtypes: ").append(toIndentedString(requiredAccountSubtypes)).append("\n"); + sb.append(" providedAccountSubtypes: ").append(toIndentedString(providedAccountSubtypes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PlaidErrorType.java b/src/main/java/com/plaid/client/model/PlaidErrorType.java new file mode 100644 index 0000000000..a573c591c1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PlaidErrorType.java @@ -0,0 +1,151 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A broad categorization of the error. Safe for programmatic use. + */ +@JsonAdapter(PlaidErrorType.Adapter.class) +public enum PlaidErrorType { + + INVALID_REQUEST("INVALID_REQUEST"), + + INVALID_RESULT("INVALID_RESULT"), + + INVALID_INPUT("INVALID_INPUT"), + + INSTITUTION_ERROR("INSTITUTION_ERROR"), + + RATE_LIMIT_EXCEEDED("RATE_LIMIT_EXCEEDED"), + + API_ERROR("API_ERROR"), + + ITEM_ERROR("ITEM_ERROR"), + + ASSET_REPORT_ERROR("ASSET_REPORT_ERROR"), + + BASE_REPORT_ERROR("BASE_REPORT_ERROR"), + + RECAPTCHA_ERROR("RECAPTCHA_ERROR"), + + OAUTH_ERROR("OAUTH_ERROR"), + + PAYMENT_ERROR("PAYMENT_ERROR"), + + BANK_TRANSFER_ERROR("BANK_TRANSFER_ERROR"), + + INCOME_VERIFICATION_ERROR("INCOME_VERIFICATION_ERROR"), + + MICRODEPOSITS_ERROR("MICRODEPOSITS_ERROR"), + + SANDBOX_ERROR("SANDBOX_ERROR"), + + PARTNER_ERROR("PARTNER_ERROR"), + + SIGNAL_ERROR("SIGNAL_ERROR"), + + TRANSACTIONS_ERROR("TRANSACTIONS_ERROR"), + + TRANSACTION_ERROR("TRANSACTION_ERROR"), + + TRANSFER_ERROR("TRANSFER_ERROR"), + + CHECK_REPORT_ERROR("CHECK_REPORT_ERROR"), + + CONSUMER_REPORT_ERROR("CONSUMER_REPORT_ERROR"), + + USER_ERROR("USER_ERROR"), + + IDEMPOTENCY_ERROR("IDEMPOTENCY_ERROR"), + + ASSETS_ERROR("ASSETS_ERROR"), + + CRA_MONITORING_ERROR("CRA_MONITORING_ERROR"), + + CREDIT_PROFILE_REPORT_ERROR("CREDIT_PROFILE_REPORT_ERROR"), + + ENCOMPASS_ERROR("ENCOMPASS_ERROR"), + + ENRICH_ERROR("ENRICH_ERROR"), + + FRAUD_INSIGHTS_ERROR("FRAUD_INSIGHTS_ERROR"), + + FREDDIE_MAC_ERROR("FREDDIE_MAC_ERROR"), + + LINK_DELIVERY_ERROR("LINK_DELIVERY_ERROR"), + + PROFILE_ERROR("PROFILE_ERROR"), + + RECURRING_TRANSACTIONS_ERROR("RECURRING_TRANSACTIONS_ERROR"), + + STATEMENTS_ERROR("STATEMENTS_ERROR"), + + TRANSFER_RECURRING_ERROR("TRANSFER_RECURRING_ERROR"), + + TRANSFER_REFUND_ERROR("TRANSFER_REFUND_ERROR"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PlaidErrorType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PlaidErrorType fromValue(String value) { + for (PlaidErrorType b : PlaidErrorType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return PlaidErrorType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PlaidErrorType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PlaidErrorType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PlaidErrorType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PlaidLendScoreVersion.java b/src/main/java/com/plaid/client/model/PlaidLendScoreVersion.java new file mode 100644 index 0000000000..99acefdc8d --- /dev/null +++ b/src/main/java/com/plaid/client/model/PlaidLendScoreVersion.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The version of the LendScore to use. Required if using LendScore. + */ +@JsonAdapter(PlaidLendScoreVersion.Adapter.class) +public enum PlaidLendScoreVersion { + + V1_0("v1.0"), + + V2_0("v2.0"), + + LS1("LS1"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PlaidLendScoreVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PlaidLendScoreVersion fromValue(String value) { + for (PlaidLendScoreVersion b : PlaidLendScoreVersion.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PlaidLendScoreVersion enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PlaidLendScoreVersion read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PlaidLendScoreVersion.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PlatformIds.java b/src/main/java/com/plaid/client/model/PlatformIds.java new file mode 100644 index 0000000000..fe4532acd1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PlatformIds.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object containing a set of ids related to an employee + */ +@ApiModel(description = "An object containing a set of ids related to an employee") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PlatformIds { + public static final String SERIALIZED_NAME_EMPLOYEE_ID = "employee_id"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE_ID) + private String employeeId; + + public static final String SERIALIZED_NAME_PAYROLL_ID = "payroll_id"; + @SerializedName(SERIALIZED_NAME_PAYROLL_ID) + private String payrollId; + + public static final String SERIALIZED_NAME_POSITION_ID = "position_id"; + @SerializedName(SERIALIZED_NAME_POSITION_ID) + private String positionId; + + + public PlatformIds employeeId(String employeeId) { + + this.employeeId = employeeId; + return this; + } + + /** + * The ID of an employee as given by their employer + * @return employeeId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of an employee as given by their employer") + + public String getEmployeeId() { + return employeeId; + } + + + public void setEmployeeId(String employeeId) { + this.employeeId = employeeId; + } + + + public PlatformIds payrollId(String payrollId) { + + this.payrollId = payrollId; + return this; + } + + /** + * The ID of an employee as given by their payroll + * @return payrollId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of an employee as given by their payroll") + + public String getPayrollId() { + return payrollId; + } + + + public void setPayrollId(String payrollId) { + this.payrollId = payrollId; + } + + + public PlatformIds positionId(String positionId) { + + this.positionId = positionId; + return this; + } + + /** + * The ID of the position of the employee + * @return positionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the position of the employee") + + public String getPositionId() { + return positionId; + } + + + public void setPositionId(String positionId) { + this.positionId = positionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PlatformIds platformIds = (PlatformIds) o; + return Objects.equals(this.employeeId, platformIds.employeeId) && + Objects.equals(this.payrollId, platformIds.payrollId) && + Objects.equals(this.positionId, platformIds.positionId); + } + + @Override + public int hashCode() { + return Objects.hash(employeeId, payrollId, positionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PlatformIds {\n"); + sb.append(" employeeId: ").append(toIndentedString(employeeId)).append("\n"); + sb.append(" payrollId: ").append(toIndentedString(payrollId)).append("\n"); + sb.append(" positionId: ").append(toIndentedString(positionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PrismCashScore.java b/src/main/java/com/plaid/client/model/PrismCashScore.java new file mode 100644 index 0000000000..72fa09fb70 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PrismCashScore.java @@ -0,0 +1,254 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PrismCashScoreMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The data from the CashScore® product returned by Prism Data. + */ +@ApiModel(description = "The data from the CashScore® product returned by Prism Data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PrismCashScore { + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private Integer version; + + public static final String SERIALIZED_NAME_MODEL_VERSION = "model_version"; + @SerializedName(SERIALIZED_NAME_MODEL_VERSION) + private String modelVersion; + + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_REASON_CODES = "reason_codes"; + @SerializedName(SERIALIZED_NAME_REASON_CODES) + private List reasonCodes = null; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private PrismCashScoreMetadata metadata; + + public static final String SERIALIZED_NAME_ERROR_REASON = "error_reason"; + @SerializedName(SERIALIZED_NAME_ERROR_REASON) + private String errorReason; + + + public PrismCashScore version(Integer version) { + + this.version = version; + return this; + } + + /** + * The version of Prism Data's cash score model used. This field is deprecated in favor of `model_version`. + * @return version + **/ + @ApiModelProperty(required = true, value = "The version of Prism Data's cash score model used. This field is deprecated in favor of `model_version`.") + + public Integer getVersion() { + return version; + } + + + public void setVersion(Integer version) { + this.version = version; + } + + + public PrismCashScore modelVersion(String modelVersion) { + + this.modelVersion = modelVersion; + return this; + } + + /** + * The version of Prism Data's cash score model used. + * @return modelVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The version of Prism Data's cash score model used.") + + public String getModelVersion() { + return modelVersion; + } + + + public void setModelVersion(String modelVersion) { + this.modelVersion = modelVersion; + } + + + public PrismCashScore score(Integer score) { + + this.score = score; + return this; + } + + /** + * The score returned by Prism Data. Ranges from 1-999, with higher score indicating lower risk. + * @return score + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The score returned by Prism Data. Ranges from 1-999, with higher score indicating lower risk.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public PrismCashScore reasonCodes(List reasonCodes) { + + this.reasonCodes = reasonCodes; + return this; + } + + public PrismCashScore addReasonCodesItem(String reasonCodesItem) { + if (this.reasonCodes == null) { + this.reasonCodes = new ArrayList<>(); + } + this.reasonCodes.add(reasonCodesItem); + return this; + } + + /** + * The reasons for an individual having risk according to the cash score. + * @return reasonCodes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The reasons for an individual having risk according to the cash score.") + + public List getReasonCodes() { + return reasonCodes; + } + + + public void setReasonCodes(List reasonCodes) { + this.reasonCodes = reasonCodes; + } + + + public PrismCashScore metadata(PrismCashScoreMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismCashScoreMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(PrismCashScoreMetadata metadata) { + this.metadata = metadata; + } + + + public PrismCashScore errorReason(String errorReason) { + + this.errorReason = errorReason; + return this; + } + + /** + * The error returned by Prism for this product. + * @return errorReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The error returned by Prism for this product.") + + public String getErrorReason() { + return errorReason; + } + + + public void setErrorReason(String errorReason) { + this.errorReason = errorReason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrismCashScore prismCashScore = (PrismCashScore) o; + return Objects.equals(this.version, prismCashScore.version) && + Objects.equals(this.modelVersion, prismCashScore.modelVersion) && + Objects.equals(this.score, prismCashScore.score) && + Objects.equals(this.reasonCodes, prismCashScore.reasonCodes) && + Objects.equals(this.metadata, prismCashScore.metadata) && + Objects.equals(this.errorReason, prismCashScore.errorReason); + } + + @Override + public int hashCode() { + return Objects.hash(version, modelVersion, score, reasonCodes, metadata, errorReason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrismCashScore {\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" modelVersion: ").append(toIndentedString(modelVersion)).append("\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" reasonCodes: ").append(toIndentedString(reasonCodes)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" errorReason: ").append(toIndentedString(errorReason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PrismCashScoreMetadata.java b/src/main/java/com/plaid/client/model/PrismCashScoreMetadata.java new file mode 100644 index 0000000000..283ca16000 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PrismCashScoreMetadata.java @@ -0,0 +1,360 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object containing metadata about the provided transactions. + */ +@ApiModel(description = "An object containing metadata about the provided transactions.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PrismCashScoreMetadata { + public static final String SERIALIZED_NAME_MAX_AGE = "max_age"; + @SerializedName(SERIALIZED_NAME_MAX_AGE) + private Integer maxAge; + + public static final String SERIALIZED_NAME_MIN_AGE = "min_age"; + @SerializedName(SERIALIZED_NAME_MIN_AGE) + private Integer minAge; + + public static final String SERIALIZED_NAME_MIN_AGE_CREDIT = "min_age_credit"; + @SerializedName(SERIALIZED_NAME_MIN_AGE_CREDIT) + private Integer minAgeCredit; + + public static final String SERIALIZED_NAME_MIN_AGE_DEBIT = "min_age_debit"; + @SerializedName(SERIALIZED_NAME_MIN_AGE_DEBIT) + private Integer minAgeDebit; + + public static final String SERIALIZED_NAME_MAX_AGE_DEBIT = "max_age_debit"; + @SerializedName(SERIALIZED_NAME_MAX_AGE_DEBIT) + private Integer maxAgeDebit; + + public static final String SERIALIZED_NAME_MAX_AGE_CREDIT = "max_age_credit"; + @SerializedName(SERIALIZED_NAME_MAX_AGE_CREDIT) + private Integer maxAgeCredit; + + public static final String SERIALIZED_NAME_NUM_TRXN_CREDIT = "num_trxn_credit"; + @SerializedName(SERIALIZED_NAME_NUM_TRXN_CREDIT) + private Integer numTrxnCredit; + + public static final String SERIALIZED_NAME_NUM_TRXN_DEBIT = "num_trxn_debit"; + @SerializedName(SERIALIZED_NAME_NUM_TRXN_DEBIT) + private Integer numTrxnDebit; + + public static final String SERIALIZED_NAME_L1M_CREDIT_VALUE_CNT = "l1m_credit_value_cnt"; + @SerializedName(SERIALIZED_NAME_L1M_CREDIT_VALUE_CNT) + private Integer l1mCreditValueCnt; + + public static final String SERIALIZED_NAME_L1M_DEBIT_VALUE_CNT = "l1m_debit_value_cnt"; + @SerializedName(SERIALIZED_NAME_L1M_DEBIT_VALUE_CNT) + private Integer l1mDebitValueCnt; + + + public PrismCashScoreMetadata maxAge(Integer maxAge) { + + this.maxAge = maxAge; + return this; + } + + /** + * Number of days since the oldest transaction. + * @return maxAge + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Number of days since the oldest transaction.") + + public Integer getMaxAge() { + return maxAge; + } + + + public void setMaxAge(Integer maxAge) { + this.maxAge = maxAge; + } + + + public PrismCashScoreMetadata minAge(Integer minAge) { + + this.minAge = minAge; + return this; + } + + /** + * Number of days since the latest transaction. + * @return minAge + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Number of days since the latest transaction.") + + public Integer getMinAge() { + return minAge; + } + + + public void setMinAge(Integer minAge) { + this.minAge = minAge; + } + + + public PrismCashScoreMetadata minAgeCredit(Integer minAgeCredit) { + + this.minAgeCredit = minAgeCredit; + return this; + } + + /** + * Number of days since the latest credit transaction. + * @return minAgeCredit + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Number of days since the latest credit transaction.") + + public Integer getMinAgeCredit() { + return minAgeCredit; + } + + + public void setMinAgeCredit(Integer minAgeCredit) { + this.minAgeCredit = minAgeCredit; + } + + + public PrismCashScoreMetadata minAgeDebit(Integer minAgeDebit) { + + this.minAgeDebit = minAgeDebit; + return this; + } + + /** + * Number of days since the latest debit transaction. + * @return minAgeDebit + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Number of days since the latest debit transaction.") + + public Integer getMinAgeDebit() { + return minAgeDebit; + } + + + public void setMinAgeDebit(Integer minAgeDebit) { + this.minAgeDebit = minAgeDebit; + } + + + public PrismCashScoreMetadata maxAgeDebit(Integer maxAgeDebit) { + + this.maxAgeDebit = maxAgeDebit; + return this; + } + + /** + * Number of days since the oldest debit transaction. + * @return maxAgeDebit + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Number of days since the oldest debit transaction.") + + public Integer getMaxAgeDebit() { + return maxAgeDebit; + } + + + public void setMaxAgeDebit(Integer maxAgeDebit) { + this.maxAgeDebit = maxAgeDebit; + } + + + public PrismCashScoreMetadata maxAgeCredit(Integer maxAgeCredit) { + + this.maxAgeCredit = maxAgeCredit; + return this; + } + + /** + * Number of days since the oldest credit transaction. + * @return maxAgeCredit + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Number of days since the oldest credit transaction.") + + public Integer getMaxAgeCredit() { + return maxAgeCredit; + } + + + public void setMaxAgeCredit(Integer maxAgeCredit) { + this.maxAgeCredit = maxAgeCredit; + } + + + public PrismCashScoreMetadata numTrxnCredit(Integer numTrxnCredit) { + + this.numTrxnCredit = numTrxnCredit; + return this; + } + + /** + * Number of credit transactions. + * @return numTrxnCredit + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Number of credit transactions.") + + public Integer getNumTrxnCredit() { + return numTrxnCredit; + } + + + public void setNumTrxnCredit(Integer numTrxnCredit) { + this.numTrxnCredit = numTrxnCredit; + } + + + public PrismCashScoreMetadata numTrxnDebit(Integer numTrxnDebit) { + + this.numTrxnDebit = numTrxnDebit; + return this; + } + + /** + * Number of debit transactions. + * @return numTrxnDebit + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Number of debit transactions.") + + public Integer getNumTrxnDebit() { + return numTrxnDebit; + } + + + public void setNumTrxnDebit(Integer numTrxnDebit) { + this.numTrxnDebit = numTrxnDebit; + } + + + public PrismCashScoreMetadata l1mCreditValueCnt(Integer l1mCreditValueCnt) { + + this.l1mCreditValueCnt = l1mCreditValueCnt; + return this; + } + + /** + * Number of credit transactions in the last 30 days. + * @return l1mCreditValueCnt + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Number of credit transactions in the last 30 days.") + + public Integer getL1mCreditValueCnt() { + return l1mCreditValueCnt; + } + + + public void setL1mCreditValueCnt(Integer l1mCreditValueCnt) { + this.l1mCreditValueCnt = l1mCreditValueCnt; + } + + + public PrismCashScoreMetadata l1mDebitValueCnt(Integer l1mDebitValueCnt) { + + this.l1mDebitValueCnt = l1mDebitValueCnt; + return this; + } + + /** + * Number of debit transactions in the last 30 days. + * @return l1mDebitValueCnt + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Number of debit transactions in the last 30 days.") + + public Integer getL1mDebitValueCnt() { + return l1mDebitValueCnt; + } + + + public void setL1mDebitValueCnt(Integer l1mDebitValueCnt) { + this.l1mDebitValueCnt = l1mDebitValueCnt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrismCashScoreMetadata prismCashScoreMetadata = (PrismCashScoreMetadata) o; + return Objects.equals(this.maxAge, prismCashScoreMetadata.maxAge) && + Objects.equals(this.minAge, prismCashScoreMetadata.minAge) && + Objects.equals(this.minAgeCredit, prismCashScoreMetadata.minAgeCredit) && + Objects.equals(this.minAgeDebit, prismCashScoreMetadata.minAgeDebit) && + Objects.equals(this.maxAgeDebit, prismCashScoreMetadata.maxAgeDebit) && + Objects.equals(this.maxAgeCredit, prismCashScoreMetadata.maxAgeCredit) && + Objects.equals(this.numTrxnCredit, prismCashScoreMetadata.numTrxnCredit) && + Objects.equals(this.numTrxnDebit, prismCashScoreMetadata.numTrxnDebit) && + Objects.equals(this.l1mCreditValueCnt, prismCashScoreMetadata.l1mCreditValueCnt) && + Objects.equals(this.l1mDebitValueCnt, prismCashScoreMetadata.l1mDebitValueCnt); + } + + @Override + public int hashCode() { + return Objects.hash(maxAge, minAge, minAgeCredit, minAgeDebit, maxAgeDebit, maxAgeCredit, numTrxnCredit, numTrxnDebit, l1mCreditValueCnt, l1mDebitValueCnt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrismCashScoreMetadata {\n"); + sb.append(" maxAge: ").append(toIndentedString(maxAge)).append("\n"); + sb.append(" minAge: ").append(toIndentedString(minAge)).append("\n"); + sb.append(" minAgeCredit: ").append(toIndentedString(minAgeCredit)).append("\n"); + sb.append(" minAgeDebit: ").append(toIndentedString(minAgeDebit)).append("\n"); + sb.append(" maxAgeDebit: ").append(toIndentedString(maxAgeDebit)).append("\n"); + sb.append(" maxAgeCredit: ").append(toIndentedString(maxAgeCredit)).append("\n"); + sb.append(" numTrxnCredit: ").append(toIndentedString(numTrxnCredit)).append("\n"); + sb.append(" numTrxnDebit: ").append(toIndentedString(numTrxnDebit)).append("\n"); + sb.append(" l1mCreditValueCnt: ").append(toIndentedString(l1mCreditValueCnt)).append("\n"); + sb.append(" l1mDebitValueCnt: ").append(toIndentedString(l1mDebitValueCnt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PrismCashScoreVersion.java b/src/main/java/com/plaid/client/model/PrismCashScoreVersion.java new file mode 100644 index 0000000000..8fdb0b5b77 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PrismCashScoreVersion.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The version of Prism CashScore. If not specified, will default to v3. + */ +@JsonAdapter(PrismCashScoreVersion.Adapter.class) +public enum PrismCashScoreVersion { + + _4_1("4.1"), + + _4("4"), + + _3_LITE("3_lite"), + + _3("3"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PrismCashScoreVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PrismCashScoreVersion fromValue(String value) { + for (PrismCashScoreVersion b : PrismCashScoreVersion.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PrismCashScoreVersion enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PrismCashScoreVersion read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PrismCashScoreVersion.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PrismDetect.java b/src/main/java/com/plaid/client/model/PrismDetect.java new file mode 100644 index 0000000000..b15e2ad28f --- /dev/null +++ b/src/main/java/com/plaid/client/model/PrismDetect.java @@ -0,0 +1,225 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PrismCashScoreMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The data from the CashScore® Detect product returned by Prism Data. + */ +@ApiModel(description = "The data from the CashScore® Detect product returned by Prism Data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PrismDetect { + public static final String SERIALIZED_NAME_MODEL_VERSION = "model_version"; + @SerializedName(SERIALIZED_NAME_MODEL_VERSION) + private String modelVersion; + + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_REASON_CODES = "reason_codes"; + @SerializedName(SERIALIZED_NAME_REASON_CODES) + private List reasonCodes = null; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private PrismCashScoreMetadata metadata; + + public static final String SERIALIZED_NAME_ERROR_REASON = "error_reason"; + @SerializedName(SERIALIZED_NAME_ERROR_REASON) + private String errorReason; + + + public PrismDetect modelVersion(String modelVersion) { + + this.modelVersion = modelVersion; + return this; + } + + /** + * The version of Prism Data's CashScore® Detect model used. + * @return modelVersion + **/ + @ApiModelProperty(required = true, value = "The version of Prism Data's CashScore® Detect model used.") + + public String getModelVersion() { + return modelVersion; + } + + + public void setModelVersion(String modelVersion) { + this.modelVersion = modelVersion; + } + + + public PrismDetect score(Integer score) { + + this.score = score; + return this; + } + + /** + * The score returned by Prism Data. Ranges from 1-999, with higher score indicating lower risk. + * @return score + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The score returned by Prism Data. Ranges from 1-999, with higher score indicating lower risk.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public PrismDetect reasonCodes(List reasonCodes) { + + this.reasonCodes = reasonCodes; + return this; + } + + public PrismDetect addReasonCodesItem(String reasonCodesItem) { + if (this.reasonCodes == null) { + this.reasonCodes = new ArrayList<>(); + } + this.reasonCodes.add(reasonCodesItem); + return this; + } + + /** + * The reasons for an individual having risk according to the CashScore® Detect score. + * @return reasonCodes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The reasons for an individual having risk according to the CashScore® Detect score.") + + public List getReasonCodes() { + return reasonCodes; + } + + + public void setReasonCodes(List reasonCodes) { + this.reasonCodes = reasonCodes; + } + + + public PrismDetect metadata(PrismCashScoreMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismCashScoreMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(PrismCashScoreMetadata metadata) { + this.metadata = metadata; + } + + + public PrismDetect errorReason(String errorReason) { + + this.errorReason = errorReason; + return this; + } + + /** + * The error returned by Prism for this product. + * @return errorReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The error returned by Prism for this product.") + + public String getErrorReason() { + return errorReason; + } + + + public void setErrorReason(String errorReason) { + this.errorReason = errorReason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrismDetect prismDetect = (PrismDetect) o; + return Objects.equals(this.modelVersion, prismDetect.modelVersion) && + Objects.equals(this.score, prismDetect.score) && + Objects.equals(this.reasonCodes, prismDetect.reasonCodes) && + Objects.equals(this.metadata, prismDetect.metadata) && + Objects.equals(this.errorReason, prismDetect.errorReason); + } + + @Override + public int hashCode() { + return Objects.hash(modelVersion, score, reasonCodes, metadata, errorReason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrismDetect {\n"); + sb.append(" modelVersion: ").append(toIndentedString(modelVersion)).append("\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" reasonCodes: ").append(toIndentedString(reasonCodes)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" errorReason: ").append(toIndentedString(errorReason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PrismDetectVersion.java b/src/main/java/com/plaid/client/model/PrismDetectVersion.java new file mode 100644 index 0000000000..a2c19e9f5a --- /dev/null +++ b/src/main/java/com/plaid/client/model/PrismDetectVersion.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The version of Prism Detect + */ +@JsonAdapter(PrismDetectVersion.Adapter.class) +public enum PrismDetectVersion { + + _4_1("4.1"), + + _4("4"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PrismDetectVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PrismDetectVersion fromValue(String value) { + for (PrismDetectVersion b : PrismDetectVersion.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PrismDetectVersion enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PrismDetectVersion read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PrismDetectVersion.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PrismExtend.java b/src/main/java/com/plaid/client/model/PrismExtend.java new file mode 100644 index 0000000000..76499c2b81 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PrismExtend.java @@ -0,0 +1,225 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PrismCashScoreMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The data from the CashScore® Extend product returned by Prism Data. + */ +@ApiModel(description = "The data from the CashScore® Extend product returned by Prism Data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PrismExtend { + public static final String SERIALIZED_NAME_MODEL_VERSION = "model_version"; + @SerializedName(SERIALIZED_NAME_MODEL_VERSION) + private String modelVersion; + + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_REASON_CODES = "reason_codes"; + @SerializedName(SERIALIZED_NAME_REASON_CODES) + private List reasonCodes = null; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private PrismCashScoreMetadata metadata; + + public static final String SERIALIZED_NAME_ERROR_REASON = "error_reason"; + @SerializedName(SERIALIZED_NAME_ERROR_REASON) + private String errorReason; + + + public PrismExtend modelVersion(String modelVersion) { + + this.modelVersion = modelVersion; + return this; + } + + /** + * The version of Prism Data's CashScore® Extend model used. + * @return modelVersion + **/ + @ApiModelProperty(required = true, value = "The version of Prism Data's CashScore® Extend model used.") + + public String getModelVersion() { + return modelVersion; + } + + + public void setModelVersion(String modelVersion) { + this.modelVersion = modelVersion; + } + + + public PrismExtend score(Integer score) { + + this.score = score; + return this; + } + + /** + * The score returned by Prism Data. Ranges from 1-999, with higher score indicating lower risk. + * @return score + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The score returned by Prism Data. Ranges from 1-999, with higher score indicating lower risk.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public PrismExtend reasonCodes(List reasonCodes) { + + this.reasonCodes = reasonCodes; + return this; + } + + public PrismExtend addReasonCodesItem(String reasonCodesItem) { + if (this.reasonCodes == null) { + this.reasonCodes = new ArrayList<>(); + } + this.reasonCodes.add(reasonCodesItem); + return this; + } + + /** + * The reasons for an individual having risk according to the CashScore® Extend score. + * @return reasonCodes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The reasons for an individual having risk according to the CashScore® Extend score.") + + public List getReasonCodes() { + return reasonCodes; + } + + + public void setReasonCodes(List reasonCodes) { + this.reasonCodes = reasonCodes; + } + + + public PrismExtend metadata(PrismCashScoreMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismCashScoreMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(PrismCashScoreMetadata metadata) { + this.metadata = metadata; + } + + + public PrismExtend errorReason(String errorReason) { + + this.errorReason = errorReason; + return this; + } + + /** + * The error returned by Prism for this product. + * @return errorReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The error returned by Prism for this product.") + + public String getErrorReason() { + return errorReason; + } + + + public void setErrorReason(String errorReason) { + this.errorReason = errorReason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrismExtend prismExtend = (PrismExtend) o; + return Objects.equals(this.modelVersion, prismExtend.modelVersion) && + Objects.equals(this.score, prismExtend.score) && + Objects.equals(this.reasonCodes, prismExtend.reasonCodes) && + Objects.equals(this.metadata, prismExtend.metadata) && + Objects.equals(this.errorReason, prismExtend.errorReason); + } + + @Override + public int hashCode() { + return Objects.hash(modelVersion, score, reasonCodes, metadata, errorReason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrismExtend {\n"); + sb.append(" modelVersion: ").append(toIndentedString(modelVersion)).append("\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" reasonCodes: ").append(toIndentedString(reasonCodes)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" errorReason: ").append(toIndentedString(errorReason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PrismExtendVersion.java b/src/main/java/com/plaid/client/model/PrismExtendVersion.java new file mode 100644 index 0000000000..04ac57d46f --- /dev/null +++ b/src/main/java/com/plaid/client/model/PrismExtendVersion.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The version of Prism Extend + */ +@JsonAdapter(PrismExtendVersion.Adapter.class) +public enum PrismExtendVersion { + + _4_1("4.1"), + + _4("4"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PrismExtendVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PrismExtendVersion fromValue(String value) { + for (PrismExtendVersion b : PrismExtendVersion.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PrismExtendVersion enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PrismExtendVersion read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PrismExtendVersion.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PrismFirstDetect.java b/src/main/java/com/plaid/client/model/PrismFirstDetect.java new file mode 100644 index 0000000000..3aec6e99cb --- /dev/null +++ b/src/main/java/com/plaid/client/model/PrismFirstDetect.java @@ -0,0 +1,254 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PrismCashScoreMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The data from the FirstDetect product returned by Prism Data. + */ +@ApiModel(description = "The data from the FirstDetect product returned by Prism Data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PrismFirstDetect { + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private Integer version; + + public static final String SERIALIZED_NAME_MODEL_VERSION = "model_version"; + @SerializedName(SERIALIZED_NAME_MODEL_VERSION) + private String modelVersion; + + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_REASON_CODES = "reason_codes"; + @SerializedName(SERIALIZED_NAME_REASON_CODES) + private List reasonCodes = null; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private PrismCashScoreMetadata metadata; + + public static final String SERIALIZED_NAME_ERROR_REASON = "error_reason"; + @SerializedName(SERIALIZED_NAME_ERROR_REASON) + private String errorReason; + + + public PrismFirstDetect version(Integer version) { + + this.version = version; + return this; + } + + /** + * The version of Prism Data's FirstDetect model used. This field is deprecated in favor of `model_version`. + * @return version + **/ + @ApiModelProperty(required = true, value = "The version of Prism Data's FirstDetect model used. This field is deprecated in favor of `model_version`.") + + public Integer getVersion() { + return version; + } + + + public void setVersion(Integer version) { + this.version = version; + } + + + public PrismFirstDetect modelVersion(String modelVersion) { + + this.modelVersion = modelVersion; + return this; + } + + /** + * The version of Prism Data's FirstDetect model used. + * @return modelVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The version of Prism Data's FirstDetect model used.") + + public String getModelVersion() { + return modelVersion; + } + + + public void setModelVersion(String modelVersion) { + this.modelVersion = modelVersion; + } + + + public PrismFirstDetect score(Integer score) { + + this.score = score; + return this; + } + + /** + * The score returned by Prism Data. Ranges from 1-999, with higher score indicating lower risk. + * @return score + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The score returned by Prism Data. Ranges from 1-999, with higher score indicating lower risk.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public PrismFirstDetect reasonCodes(List reasonCodes) { + + this.reasonCodes = reasonCodes; + return this; + } + + public PrismFirstDetect addReasonCodesItem(String reasonCodesItem) { + if (this.reasonCodes == null) { + this.reasonCodes = new ArrayList<>(); + } + this.reasonCodes.add(reasonCodesItem); + return this; + } + + /** + * The reasons for an individual having risk according to the FirstDetect score. + * @return reasonCodes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The reasons for an individual having risk according to the FirstDetect score.") + + public List getReasonCodes() { + return reasonCodes; + } + + + public void setReasonCodes(List reasonCodes) { + this.reasonCodes = reasonCodes; + } + + + public PrismFirstDetect metadata(PrismCashScoreMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismCashScoreMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(PrismCashScoreMetadata metadata) { + this.metadata = metadata; + } + + + public PrismFirstDetect errorReason(String errorReason) { + + this.errorReason = errorReason; + return this; + } + + /** + * The error returned by Prism for this product. + * @return errorReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The error returned by Prism for this product.") + + public String getErrorReason() { + return errorReason; + } + + + public void setErrorReason(String errorReason) { + this.errorReason = errorReason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrismFirstDetect prismFirstDetect = (PrismFirstDetect) o; + return Objects.equals(this.version, prismFirstDetect.version) && + Objects.equals(this.modelVersion, prismFirstDetect.modelVersion) && + Objects.equals(this.score, prismFirstDetect.score) && + Objects.equals(this.reasonCodes, prismFirstDetect.reasonCodes) && + Objects.equals(this.metadata, prismFirstDetect.metadata) && + Objects.equals(this.errorReason, prismFirstDetect.errorReason); + } + + @Override + public int hashCode() { + return Objects.hash(version, modelVersion, score, reasonCodes, metadata, errorReason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrismFirstDetect {\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" modelVersion: ").append(toIndentedString(modelVersion)).append("\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" reasonCodes: ").append(toIndentedString(reasonCodes)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" errorReason: ").append(toIndentedString(errorReason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PrismFirstDetectVersion.java b/src/main/java/com/plaid/client/model/PrismFirstDetectVersion.java new file mode 100644 index 0000000000..2cdb696022 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PrismFirstDetectVersion.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The version of Prism FirstDetect. If not specified, will default to v3. + */ +@JsonAdapter(PrismFirstDetectVersion.Adapter.class) +public enum PrismFirstDetectVersion { + + _3("3"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PrismFirstDetectVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PrismFirstDetectVersion fromValue(String value) { + for (PrismFirstDetectVersion b : PrismFirstDetectVersion.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PrismFirstDetectVersion enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PrismFirstDetectVersion read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PrismFirstDetectVersion.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PrismInsights.java b/src/main/java/com/plaid/client/model/PrismInsights.java new file mode 100644 index 0000000000..6ab2ca5c73 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PrismInsights.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The data from the Insights product returned by Prism Data. + */ +@ApiModel(description = "The data from the Insights product returned by Prism Data.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PrismInsights { + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private Integer version; + + public static final String SERIALIZED_NAME_MODEL_VERSION = "model_version"; + @SerializedName(SERIALIZED_NAME_MODEL_VERSION) + private String modelVersion; + + public static final String SERIALIZED_NAME_RESULT = "result"; + @SerializedName(SERIALIZED_NAME_RESULT) + private Object result; + + public static final String SERIALIZED_NAME_ERROR_REASON = "error_reason"; + @SerializedName(SERIALIZED_NAME_ERROR_REASON) + private String errorReason; + + + public PrismInsights version(Integer version) { + + this.version = version; + return this; + } + + /** + * The version of Prism Data's insights model used. This field is deprecated in favor of `model_version`. + * @return version + **/ + @ApiModelProperty(required = true, value = "The version of Prism Data's insights model used. This field is deprecated in favor of `model_version`.") + + public Integer getVersion() { + return version; + } + + + public void setVersion(Integer version) { + this.version = version; + } + + + public PrismInsights modelVersion(String modelVersion) { + + this.modelVersion = modelVersion; + return this; + } + + /** + * The version of Prism Data's insights model used. + * @return modelVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The version of Prism Data's insights model used.") + + public String getModelVersion() { + return modelVersion; + } + + + public void setModelVersion(String modelVersion) { + this.modelVersion = modelVersion; + } + + + public PrismInsights result(Object result) { + + this.result = result; + return this; + } + + /** + * The Insights Result object is a map of cash flow attributes, where the key is a string, and the value is a float or string. For a full list of attributes, contact your account manager. The attributes may vary depending on the Prism version used. + * @return result + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Insights Result object is a map of cash flow attributes, where the key is a string, and the value is a float or string. For a full list of attributes, contact your account manager. The attributes may vary depending on the Prism version used.") + + public Object getResult() { + return result; + } + + + public void setResult(Object result) { + this.result = result; + } + + + public PrismInsights errorReason(String errorReason) { + + this.errorReason = errorReason; + return this; + } + + /** + * The error returned by Prism for this product. + * @return errorReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The error returned by Prism for this product.") + + public String getErrorReason() { + return errorReason; + } + + + public void setErrorReason(String errorReason) { + this.errorReason = errorReason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrismInsights prismInsights = (PrismInsights) o; + return Objects.equals(this.version, prismInsights.version) && + Objects.equals(this.modelVersion, prismInsights.modelVersion) && + Objects.equals(this.result, prismInsights.result) && + Objects.equals(this.errorReason, prismInsights.errorReason); + } + + @Override + public int hashCode() { + return Objects.hash(version, modelVersion, result, errorReason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrismInsights {\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" modelVersion: ").append(toIndentedString(modelVersion)).append("\n"); + sb.append(" result: ").append(toIndentedString(result)).append("\n"); + sb.append(" errorReason: ").append(toIndentedString(errorReason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PrismInsightsVersion.java b/src/main/java/com/plaid/client/model/PrismInsightsVersion.java new file mode 100644 index 0000000000..c911fa586d --- /dev/null +++ b/src/main/java/com/plaid/client/model/PrismInsightsVersion.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The version of Prism Insights. If not specified, will default to v3. + */ +@JsonAdapter(PrismInsightsVersion.Adapter.class) +public enum PrismInsightsVersion { + + _4_1("4.1"), + + _4("4"), + + _3("3"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + PrismInsightsVersion(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PrismInsightsVersion fromValue(String value) { + for (PrismInsightsVersion b : PrismInsightsVersion.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PrismInsightsVersion enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PrismInsightsVersion read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PrismInsightsVersion.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/PrismVersions.java b/src/main/java/com/plaid/client/model/PrismVersions.java new file mode 100644 index 0000000000..c04c0685e8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PrismVersions.java @@ -0,0 +1,220 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PrismCashScoreVersion; +import com.plaid.client.model.PrismDetectVersion; +import com.plaid.client.model.PrismExtendVersion; +import com.plaid.client.model.PrismFirstDetectVersion; +import com.plaid.client.model.PrismInsightsVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The versions of Prism products to evaluate + */ +@ApiModel(description = "The versions of Prism products to evaluate") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PrismVersions { + public static final String SERIALIZED_NAME_FIRSTDETECT = "firstdetect"; + @SerializedName(SERIALIZED_NAME_FIRSTDETECT) + private PrismFirstDetectVersion firstdetect; + + public static final String SERIALIZED_NAME_DETECT = "detect"; + @SerializedName(SERIALIZED_NAME_DETECT) + private PrismDetectVersion detect; + + public static final String SERIALIZED_NAME_CASHSCORE = "cashscore"; + @SerializedName(SERIALIZED_NAME_CASHSCORE) + private PrismCashScoreVersion cashscore; + + public static final String SERIALIZED_NAME_EXTEND = "extend"; + @SerializedName(SERIALIZED_NAME_EXTEND) + private PrismExtendVersion extend; + + public static final String SERIALIZED_NAME_INSIGHTS = "insights"; + @SerializedName(SERIALIZED_NAME_INSIGHTS) + private PrismInsightsVersion insights; + + + public PrismVersions firstdetect(PrismFirstDetectVersion firstdetect) { + + this.firstdetect = firstdetect; + return this; + } + + /** + * Get firstdetect + * @return firstdetect + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismFirstDetectVersion getFirstdetect() { + return firstdetect; + } + + + public void setFirstdetect(PrismFirstDetectVersion firstdetect) { + this.firstdetect = firstdetect; + } + + + public PrismVersions detect(PrismDetectVersion detect) { + + this.detect = detect; + return this; + } + + /** + * Get detect + * @return detect + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismDetectVersion getDetect() { + return detect; + } + + + public void setDetect(PrismDetectVersion detect) { + this.detect = detect; + } + + + public PrismVersions cashscore(PrismCashScoreVersion cashscore) { + + this.cashscore = cashscore; + return this; + } + + /** + * Get cashscore + * @return cashscore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismCashScoreVersion getCashscore() { + return cashscore; + } + + + public void setCashscore(PrismCashScoreVersion cashscore) { + this.cashscore = cashscore; + } + + + public PrismVersions extend(PrismExtendVersion extend) { + + this.extend = extend; + return this; + } + + /** + * Get extend + * @return extend + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismExtendVersion getExtend() { + return extend; + } + + + public void setExtend(PrismExtendVersion extend) { + this.extend = extend; + } + + + public PrismVersions insights(PrismInsightsVersion insights) { + + this.insights = insights; + return this; + } + + /** + * Get insights + * @return insights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismInsightsVersion getInsights() { + return insights; + } + + + public void setInsights(PrismInsightsVersion insights) { + this.insights = insights; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrismVersions prismVersions = (PrismVersions) o; + return Objects.equals(this.firstdetect, prismVersions.firstdetect) && + Objects.equals(this.detect, prismVersions.detect) && + Objects.equals(this.cashscore, prismVersions.cashscore) && + Objects.equals(this.extend, prismVersions.extend) && + Objects.equals(this.insights, prismVersions.insights); + } + + @Override + public int hashCode() { + return Objects.hash(firstdetect, detect, cashscore, extend, insights); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrismVersions {\n"); + sb.append(" firstdetect: ").append(toIndentedString(firstdetect)).append("\n"); + sb.append(" detect: ").append(toIndentedString(detect)).append("\n"); + sb.append(" cashscore: ").append(toIndentedString(cashscore)).append("\n"); + sb.append(" extend: ").append(toIndentedString(extend)).append("\n"); + sb.append(" insights: ").append(toIndentedString(insights)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/PrismVersionsDeprecated.java b/src/main/java/com/plaid/client/model/PrismVersionsDeprecated.java new file mode 100644 index 0000000000..b1c934b770 --- /dev/null +++ b/src/main/java/com/plaid/client/model/PrismVersionsDeprecated.java @@ -0,0 +1,220 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PrismCashScoreVersion; +import com.plaid.client.model.PrismDetectVersion; +import com.plaid.client.model.PrismExtendVersion; +import com.plaid.client.model.PrismFirstDetectVersion; +import com.plaid.client.model.PrismInsightsVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Deprecated, use `partner_insights.prism_versions` instead. + */ +@ApiModel(description = "Deprecated, use `partner_insights.prism_versions` instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class PrismVersionsDeprecated { + public static final String SERIALIZED_NAME_FIRSTDETECT = "firstdetect"; + @SerializedName(SERIALIZED_NAME_FIRSTDETECT) + private PrismFirstDetectVersion firstdetect; + + public static final String SERIALIZED_NAME_DETECT = "detect"; + @SerializedName(SERIALIZED_NAME_DETECT) + private PrismDetectVersion detect; + + public static final String SERIALIZED_NAME_CASHSCORE = "cashscore"; + @SerializedName(SERIALIZED_NAME_CASHSCORE) + private PrismCashScoreVersion cashscore; + + public static final String SERIALIZED_NAME_EXTEND = "extend"; + @SerializedName(SERIALIZED_NAME_EXTEND) + private PrismExtendVersion extend; + + public static final String SERIALIZED_NAME_INSIGHTS = "insights"; + @SerializedName(SERIALIZED_NAME_INSIGHTS) + private PrismInsightsVersion insights; + + + public PrismVersionsDeprecated firstdetect(PrismFirstDetectVersion firstdetect) { + + this.firstdetect = firstdetect; + return this; + } + + /** + * Get firstdetect + * @return firstdetect + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismFirstDetectVersion getFirstdetect() { + return firstdetect; + } + + + public void setFirstdetect(PrismFirstDetectVersion firstdetect) { + this.firstdetect = firstdetect; + } + + + public PrismVersionsDeprecated detect(PrismDetectVersion detect) { + + this.detect = detect; + return this; + } + + /** + * Get detect + * @return detect + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismDetectVersion getDetect() { + return detect; + } + + + public void setDetect(PrismDetectVersion detect) { + this.detect = detect; + } + + + public PrismVersionsDeprecated cashscore(PrismCashScoreVersion cashscore) { + + this.cashscore = cashscore; + return this; + } + + /** + * Get cashscore + * @return cashscore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismCashScoreVersion getCashscore() { + return cashscore; + } + + + public void setCashscore(PrismCashScoreVersion cashscore) { + this.cashscore = cashscore; + } + + + public PrismVersionsDeprecated extend(PrismExtendVersion extend) { + + this.extend = extend; + return this; + } + + /** + * Get extend + * @return extend + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismExtendVersion getExtend() { + return extend; + } + + + public void setExtend(PrismExtendVersion extend) { + this.extend = extend; + } + + + public PrismVersionsDeprecated insights(PrismInsightsVersion insights) { + + this.insights = insights; + return this; + } + + /** + * Get insights + * @return insights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PrismInsightsVersion getInsights() { + return insights; + } + + + public void setInsights(PrismInsightsVersion insights) { + this.insights = insights; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrismVersionsDeprecated prismVersionsDeprecated = (PrismVersionsDeprecated) o; + return Objects.equals(this.firstdetect, prismVersionsDeprecated.firstdetect) && + Objects.equals(this.detect, prismVersionsDeprecated.detect) && + Objects.equals(this.cashscore, prismVersionsDeprecated.cashscore) && + Objects.equals(this.extend, prismVersionsDeprecated.extend) && + Objects.equals(this.insights, prismVersionsDeprecated.insights); + } + + @Override + public int hashCode() { + return Objects.hash(firstdetect, detect, cashscore, extend, insights); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrismVersionsDeprecated {\n"); + sb.append(" firstdetect: ").append(toIndentedString(firstdetect)).append("\n"); + sb.append(" detect: ").append(toIndentedString(detect)).append("\n"); + sb.append(" cashscore: ").append(toIndentedString(cashscore)).append("\n"); + sb.append(" extend: ").append(toIndentedString(extend)).append("\n"); + sb.append(" insights: ").append(toIndentedString(insights)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorAccountGetRequest.java b/src/main/java/com/plaid/client/model/ProcessorAccountGetRequest.java new file mode 100644 index 0000000000..cde3867954 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorAccountGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorAccountGetRequest defines the request schema for `/processor/account/get` + */ +@ApiModel(description = "ProcessorAccountGetRequest defines the request schema for `/processor/account/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorAccountGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public ProcessorAccountGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorAccountGetRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorAccountGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorAccountGetRequest processorAccountGetRequest = (ProcessorAccountGetRequest) o; + return Objects.equals(this.clientId, processorAccountGetRequest.clientId) && + Objects.equals(this.processorToken, processorAccountGetRequest.processorToken) && + Objects.equals(this.secret, processorAccountGetRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, processorToken, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorAccountGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorAccountGetResponse.java b/src/main/java/com/plaid/client/model/ProcessorAccountGetResponse.java new file mode 100644 index 0000000000..63317122a0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorAccountGetResponse.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBase; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorAccountGetResponse defines the response schema for `/processor/account/get` + */ +@ApiModel(description = "ProcessorAccountGetResponse defines the response schema for `/processor/account/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorAccountGetResponse { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private AccountBase account; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorAccountGetResponse account(AccountBase account) { + + this.account = account; + return this; + } + + /** + * Get account + * @return account + **/ + @ApiModelProperty(required = true, value = "") + + public AccountBase getAccount() { + return account; + } + + + public void setAccount(AccountBase account) { + this.account = account; + } + + + public ProcessorAccountGetResponse institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The Plaid Institution ID associated with the Account. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The Plaid Institution ID associated with the Account.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public ProcessorAccountGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorAccountGetResponse processorAccountGetResponse = (ProcessorAccountGetResponse) o; + return Objects.equals(this.account, processorAccountGetResponse.account) && + Objects.equals(this.institutionId, processorAccountGetResponse.institutionId) && + Objects.equals(this.requestId, processorAccountGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(account, institutionId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorAccountGetResponse {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorApexProcessorTokenCreateRequest.java b/src/main/java/com/plaid/client/model/ProcessorApexProcessorTokenCreateRequest.java new file mode 100644 index 0000000000..7598341dcb --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorApexProcessorTokenCreateRequest.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorApexProcessorTokenCreateRequest defines the request schema for `/processor/apex/processor_token/create` + */ +@ApiModel(description = "ProcessorApexProcessorTokenCreateRequest defines the request schema for `/processor/apex/processor_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorApexProcessorTokenCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + + public ProcessorApexProcessorTokenCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorApexProcessorTokenCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorApexProcessorTokenCreateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public ProcessorApexProcessorTokenCreateRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The `account_id` value obtained from the `onSuccess` callback in Link + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The `account_id` value obtained from the `onSuccess` callback in Link") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorApexProcessorTokenCreateRequest processorApexProcessorTokenCreateRequest = (ProcessorApexProcessorTokenCreateRequest) o; + return Objects.equals(this.clientId, processorApexProcessorTokenCreateRequest.clientId) && + Objects.equals(this.secret, processorApexProcessorTokenCreateRequest.secret) && + Objects.equals(this.accessToken, processorApexProcessorTokenCreateRequest.accessToken) && + Objects.equals(this.accountId, processorApexProcessorTokenCreateRequest.accountId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, accountId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorApexProcessorTokenCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorAuthGetRequest.java b/src/main/java/com/plaid/client/model/ProcessorAuthGetRequest.java new file mode 100644 index 0000000000..f7af4840e0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorAuthGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorAuthGetRequest defines the request schema for `/processor/auth/get` + */ +@ApiModel(description = "ProcessorAuthGetRequest defines the request schema for `/processor/auth/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorAuthGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + + public ProcessorAuthGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorAuthGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorAuthGetRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorAuthGetRequest processorAuthGetRequest = (ProcessorAuthGetRequest) o; + return Objects.equals(this.clientId, processorAuthGetRequest.clientId) && + Objects.equals(this.secret, processorAuthGetRequest.secret) && + Objects.equals(this.processorToken, processorAuthGetRequest.processorToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, processorToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorAuthGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorAuthGetResponse.java b/src/main/java/com/plaid/client/model/ProcessorAuthGetResponse.java new file mode 100644 index 0000000000..39abe198ca --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorAuthGetResponse.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.ProcessorNumber; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorAuthGetResponse defines the response schema for `/processor/auth/get` + */ +@ApiModel(description = "ProcessorAuthGetResponse defines the response schema for `/processor/auth/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorAuthGetResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_NUMBERS = "numbers"; + @SerializedName(SERIALIZED_NAME_NUMBERS) + private ProcessorNumber numbers; + + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private AccountBase account; + + + public ProcessorAuthGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public ProcessorAuthGetResponse numbers(ProcessorNumber numbers) { + + this.numbers = numbers; + return this; + } + + /** + * Get numbers + * @return numbers + **/ + @ApiModelProperty(required = true, value = "") + + public ProcessorNumber getNumbers() { + return numbers; + } + + + public void setNumbers(ProcessorNumber numbers) { + this.numbers = numbers; + } + + + public ProcessorAuthGetResponse account(AccountBase account) { + + this.account = account; + return this; + } + + /** + * Get account + * @return account + **/ + @ApiModelProperty(required = true, value = "") + + public AccountBase getAccount() { + return account; + } + + + public void setAccount(AccountBase account) { + this.account = account; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorAuthGetResponse processorAuthGetResponse = (ProcessorAuthGetResponse) o; + return Objects.equals(this.requestId, processorAuthGetResponse.requestId) && + Objects.equals(this.numbers, processorAuthGetResponse.numbers) && + Objects.equals(this.account, processorAuthGetResponse.account); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, numbers, account); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorAuthGetResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" numbers: ").append(toIndentedString(numbers)).append("\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorBalanceGetRequest.java b/src/main/java/com/plaid/client/model/ProcessorBalanceGetRequest.java new file mode 100644 index 0000000000..88fac61074 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorBalanceGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProcessorBalanceGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorBalanceGetRequest defines the request schema for `/processor/balance/get` + */ +@ApiModel(description = "ProcessorBalanceGetRequest defines the request schema for `/processor/balance/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorBalanceGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private ProcessorBalanceGetRequestOptions options; + + + public ProcessorBalanceGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorBalanceGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorBalanceGetRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorBalanceGetRequest options(ProcessorBalanceGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProcessorBalanceGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(ProcessorBalanceGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorBalanceGetRequest processorBalanceGetRequest = (ProcessorBalanceGetRequest) o; + return Objects.equals(this.clientId, processorBalanceGetRequest.clientId) && + Objects.equals(this.secret, processorBalanceGetRequest.secret) && + Objects.equals(this.processorToken, processorBalanceGetRequest.processorToken) && + Objects.equals(this.options, processorBalanceGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, processorToken, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorBalanceGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorBalanceGetRequestOptions.java b/src/main/java/com/plaid/client/model/ProcessorBalanceGetRequestOptions.java new file mode 100644 index 0000000000..45d120b164 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorBalanceGetRequestOptions.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Optional parameters to `/processor/balance/get`. + */ +@ApiModel(description = "Optional parameters to `/processor/balance/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorBalanceGetRequestOptions { + public static final String SERIALIZED_NAME_MIN_LAST_UPDATED_DATETIME = "min_last_updated_datetime"; + @SerializedName(SERIALIZED_NAME_MIN_LAST_UPDATED_DATETIME) + private OffsetDateTime minLastUpdatedDatetime; + + + public ProcessorBalanceGetRequestOptions minLastUpdatedDatetime(OffsetDateTime minLastUpdatedDatetime) { + + this.minLastUpdatedDatetime = minLastUpdatedDatetime; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the oldest acceptable balance when making a request to `/accounts/balance/get`. This field is only necessary when the institution is `ins_128026` (Capital One), *and* one or more account types being requested is a non-depository account (such as a credit card) as Capital One does not provide real-time balance for non-depository accounts. In this case, a value must be provided or an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned. For all other institutions, as well as for depository accounts at Capital One (including all checking and savings accounts) this field is ignored and real-time balance information will be fetched. If this field is not ignored, and no acceptable balance is available, an `INVALID_RESULT` error with the code `LAST_UPDATED_DATETIME_OUT_OF_RANGE` will be returned. + * @return minLastUpdatedDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the oldest acceptable balance when making a request to `/accounts/balance/get`. This field is only necessary when the institution is `ins_128026` (Capital One), *and* one or more account types being requested is a non-depository account (such as a credit card) as Capital One does not provide real-time balance for non-depository accounts. In this case, a value must be provided or an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned. For all other institutions, as well as for depository accounts at Capital One (including all checking and savings accounts) this field is ignored and real-time balance information will be fetched. If this field is not ignored, and no acceptable balance is available, an `INVALID_RESULT` error with the code `LAST_UPDATED_DATETIME_OUT_OF_RANGE` will be returned.") + + public OffsetDateTime getMinLastUpdatedDatetime() { + return minLastUpdatedDatetime; + } + + + public void setMinLastUpdatedDatetime(OffsetDateTime minLastUpdatedDatetime) { + this.minLastUpdatedDatetime = minLastUpdatedDatetime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorBalanceGetRequestOptions processorBalanceGetRequestOptions = (ProcessorBalanceGetRequestOptions) o; + return Objects.equals(this.minLastUpdatedDatetime, processorBalanceGetRequestOptions.minLastUpdatedDatetime); + } + + @Override + public int hashCode() { + return Objects.hash(minLastUpdatedDatetime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorBalanceGetRequestOptions {\n"); + sb.append(" minLastUpdatedDatetime: ").append(toIndentedString(minLastUpdatedDatetime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorBalanceGetResponse.java b/src/main/java/com/plaid/client/model/ProcessorBalanceGetResponse.java new file mode 100644 index 0000000000..928c484a4a --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorBalanceGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBase; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorBalanceGetResponse defines the response schema for `/processor/balance/get` + */ +@ApiModel(description = "ProcessorBalanceGetResponse defines the response schema for `/processor/balance/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorBalanceGetResponse { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private AccountBase account; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorBalanceGetResponse account(AccountBase account) { + + this.account = account; + return this; + } + + /** + * Get account + * @return account + **/ + @ApiModelProperty(required = true, value = "") + + public AccountBase getAccount() { + return account; + } + + + public void setAccount(AccountBase account) { + this.account = account; + } + + + public ProcessorBalanceGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorBalanceGetResponse processorBalanceGetResponse = (ProcessorBalanceGetResponse) o; + return Objects.equals(this.account, processorBalanceGetResponse.account) && + Objects.equals(this.requestId, processorBalanceGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(account, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorBalanceGetResponse {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorBankTransferCreateRequest.java b/src/main/java/com/plaid/client/model/ProcessorBankTransferCreateRequest.java new file mode 100644 index 0000000000..4bef6d003a --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorBankTransferCreateRequest.java @@ -0,0 +1,483 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.BankTransferNetwork; +import com.plaid.client.model.BankTransferType; +import com.plaid.client.model.BankTransferUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Defines the request schema for `/processor/bank_transfer/create` + */ +@ApiModel(description = "Defines the request schema for `/processor/bank_transfer/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorBankTransferCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_IDEMPOTENCY_KEY = "idempotency_key"; + @SerializedName(SERIALIZED_NAME_IDEMPOTENCY_KEY) + private String idempotencyKey; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private BankTransferType type; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private BankTransferNetwork network; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_ACH_CLASS = "ach_class"; + @SerializedName(SERIALIZED_NAME_ACH_CLASS) + private ACHClass achClass; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private BankTransferUser user; + + public static final String SERIALIZED_NAME_CUSTOM_TAG = "custom_tag"; + @SerializedName(SERIALIZED_NAME_CUSTOM_TAG) + private String customTag; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private Map metadata = null; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + + public ProcessorBankTransferCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorBankTransferCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorBankTransferCreateRequest idempotencyKey(String idempotencyKey) { + + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * A random key provided by the client, per unique bank transfer. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a bank transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single bank transfer is created. + * @return idempotencyKey + **/ + @ApiModelProperty(required = true, value = "A random key provided by the client, per unique bank transfer. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a bank transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single bank transfer is created.") + + public String getIdempotencyKey() { + return idempotencyKey; + } + + + public void setIdempotencyKey(String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + } + + + public ProcessorBankTransferCreateRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorBankTransferCreateRequest type(BankTransferType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferType getType() { + return type; + } + + + public void setType(BankTransferType type) { + this.type = type; + } + + + public ProcessorBankTransferCreateRequest network(BankTransferNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferNetwork getNetwork() { + return network; + } + + + public void setNetwork(BankTransferNetwork network) { + this.network = network; + } + + + public ProcessorBankTransferCreateRequest amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the bank transfer (decimal string with two digits of precision e.g. \"10.00\"). + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the bank transfer (decimal string with two digits of precision e.g. \"10.00\").") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public ProcessorBankTransferCreateRequest isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the transfer amount - should be set to \"USD\". + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the transfer amount - should be set to \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public ProcessorBankTransferCreateRequest description(String description) { + + this.description = description; + return this; + } + + /** + * The transfer description. Maximum of 10 characters. + * @return description + **/ + @ApiModelProperty(required = true, value = "The transfer description. Maximum of 10 characters.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public ProcessorBankTransferCreateRequest achClass(ACHClass achClass) { + + this.achClass = achClass; + return this; + } + + /** + * Get achClass + * @return achClass + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ACHClass getAchClass() { + return achClass; + } + + + public void setAchClass(ACHClass achClass) { + this.achClass = achClass; + } + + + public ProcessorBankTransferCreateRequest user(BankTransferUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransferUser getUser() { + return user; + } + + + public void setUser(BankTransferUser user) { + this.user = user; + } + + + public ProcessorBankTransferCreateRequest customTag(String customTag) { + + this.customTag = customTag; + return this; + } + + /** + * An arbitrary string provided by the client for storage with the bank transfer. May be up to 100 characters. + * @return customTag + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An arbitrary string provided by the client for storage with the bank transfer. May be up to 100 characters.") + + public String getCustomTag() { + return customTag; + } + + + public void setCustomTag(String customTag) { + this.customTag = customTag; + } + + + public ProcessorBankTransferCreateRequest metadata(Map metadata) { + + this.metadata = metadata; + return this; + } + + public ProcessorBankTransferCreateRequest putMetadataItem(String key, String metadataItem) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, metadataItem); + return this; + } + + /** + * The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters ") + + public Map getMetadata() { + return metadata; + } + + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + + public ProcessorBankTransferCreateRequest originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Plaid's unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorBankTransferCreateRequest processorBankTransferCreateRequest = (ProcessorBankTransferCreateRequest) o; + return Objects.equals(this.clientId, processorBankTransferCreateRequest.clientId) && + Objects.equals(this.secret, processorBankTransferCreateRequest.secret) && + Objects.equals(this.idempotencyKey, processorBankTransferCreateRequest.idempotencyKey) && + Objects.equals(this.processorToken, processorBankTransferCreateRequest.processorToken) && + Objects.equals(this.type, processorBankTransferCreateRequest.type) && + Objects.equals(this.network, processorBankTransferCreateRequest.network) && + Objects.equals(this.amount, processorBankTransferCreateRequest.amount) && + Objects.equals(this.isoCurrencyCode, processorBankTransferCreateRequest.isoCurrencyCode) && + Objects.equals(this.description, processorBankTransferCreateRequest.description) && + Objects.equals(this.achClass, processorBankTransferCreateRequest.achClass) && + Objects.equals(this.user, processorBankTransferCreateRequest.user) && + Objects.equals(this.customTag, processorBankTransferCreateRequest.customTag) && + Objects.equals(this.metadata, processorBankTransferCreateRequest.metadata) && + Objects.equals(this.originationAccountId, processorBankTransferCreateRequest.originationAccountId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, idempotencyKey, processorToken, type, network, amount, isoCurrencyCode, description, achClass, user, customTag, metadata, originationAccountId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorBankTransferCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" idempotencyKey: ").append(toIndentedString(idempotencyKey)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" achClass: ").append(toIndentedString(achClass)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" customTag: ").append(toIndentedString(customTag)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorBankTransferCreateResponse.java b/src/main/java/com/plaid/client/model/ProcessorBankTransferCreateResponse.java new file mode 100644 index 0000000000..b1d9933823 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorBankTransferCreateResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankTransfer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/processor/bank_transfer/create` + */ +@ApiModel(description = "Defines the response schema for `/processor/bank_transfer/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorBankTransferCreateResponse { + public static final String SERIALIZED_NAME_BANK_TRANSFER = "bank_transfer"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER) + private BankTransfer bankTransfer; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorBankTransferCreateResponse bankTransfer(BankTransfer bankTransfer) { + + this.bankTransfer = bankTransfer; + return this; + } + + /** + * Get bankTransfer + * @return bankTransfer + **/ + @ApiModelProperty(required = true, value = "") + + public BankTransfer getBankTransfer() { + return bankTransfer; + } + + + public void setBankTransfer(BankTransfer bankTransfer) { + this.bankTransfer = bankTransfer; + } + + + public ProcessorBankTransferCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorBankTransferCreateResponse processorBankTransferCreateResponse = (ProcessorBankTransferCreateResponse) o; + return Objects.equals(this.bankTransfer, processorBankTransferCreateResponse.bankTransfer) && + Objects.equals(this.requestId, processorBankTransferCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(bankTransfer, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorBankTransferCreateResponse {\n"); + sb.append(" bankTransfer: ").append(toIndentedString(bankTransfer)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorDefaultUpdateWebhook.java b/src/main/java/com/plaid/client/model/ProcessorDefaultUpdateWebhook.java new file mode 100644 index 0000000000..c740c47bf9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorDefaultUpdateWebhook.java @@ -0,0 +1,242 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when new transaction data is available for an Item. Plaid will typically check for new transaction data several times a day. This webhook is intended for use with `/processor/transactions/get`; if you are using the newer `/processor/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead. + */ +@ApiModel(description = "This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when new transaction data is available for an Item. Plaid will typically check for new transaction data several times a day. This webhook is intended for use with `/processor/transactions/get`; if you are using the newer `/processor/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead. ") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorDefaultUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_NEW_TRANSACTIONS = "new_transactions"; + @SerializedName(SERIALIZED_NAME_NEW_TRANSACTIONS) + private Double newTransactions; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ProcessorDefaultUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ProcessorDefaultUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `DEFAULT_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`DEFAULT_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ProcessorDefaultUpdateWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public ProcessorDefaultUpdateWebhook newTransactions(Double newTransactions) { + + this.newTransactions = newTransactions; + return this; + } + + /** + * The number of new transactions detected since the last time this webhook was fired. + * @return newTransactions + **/ + @ApiModelProperty(required = true, value = "The number of new transactions detected since the last time this webhook was fired.") + + public Double getNewTransactions() { + return newTransactions; + } + + + public void setNewTransactions(Double newTransactions) { + this.newTransactions = newTransactions; + } + + + public ProcessorDefaultUpdateWebhook accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public ProcessorDefaultUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorDefaultUpdateWebhook processorDefaultUpdateWebhook = (ProcessorDefaultUpdateWebhook) o; + return Objects.equals(this.webhookType, processorDefaultUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, processorDefaultUpdateWebhook.webhookCode) && + Objects.equals(this.error, processorDefaultUpdateWebhook.error) && + Objects.equals(this.newTransactions, processorDefaultUpdateWebhook.newTransactions) && + Objects.equals(this.accountId, processorDefaultUpdateWebhook.accountId) && + Objects.equals(this.environment, processorDefaultUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, error, newTransactions, accountId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorDefaultUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" newTransactions: ").append(toIndentedString(newTransactions)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorHistoricalUpdateWebhook.java b/src/main/java/com/plaid/client/model/ProcessorHistoricalUpdateWebhook.java new file mode 100644 index 0000000000..cf188e605c --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorHistoricalUpdateWebhook.java @@ -0,0 +1,242 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when an Item's historical transaction pull is completed and Plaid has prepared as much historical transaction data as possible for the Item. Once this webhook has been fired, transaction data beyond the most recent 30 days can be fetched for the Item. This webhook will also be fired if account selections for the Item are updated, with `new_transactions` set to the number of net new transactions pulled after the account selection update. This webhook is intended for use with `/processor/transactions/get`; if you are using the newer `/processor/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead. + */ +@ApiModel(description = "This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when an Item's historical transaction pull is completed and Plaid has prepared as much historical transaction data as possible for the Item. Once this webhook has been fired, transaction data beyond the most recent 30 days can be fetched for the Item. This webhook will also be fired if account selections for the Item are updated, with `new_transactions` set to the number of net new transactions pulled after the account selection update. This webhook is intended for use with `/processor/transactions/get`; if you are using the newer `/processor/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorHistoricalUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_NEW_TRANSACTIONS = "new_transactions"; + @SerializedName(SERIALIZED_NAME_NEW_TRANSACTIONS) + private Double newTransactions; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ProcessorHistoricalUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ProcessorHistoricalUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `HISTORICAL_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`HISTORICAL_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ProcessorHistoricalUpdateWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public ProcessorHistoricalUpdateWebhook newTransactions(Double newTransactions) { + + this.newTransactions = newTransactions; + return this; + } + + /** + * The number of new transactions available + * @return newTransactions + **/ + @ApiModelProperty(required = true, value = "The number of new transactions available") + + public Double getNewTransactions() { + return newTransactions; + } + + + public void setNewTransactions(Double newTransactions) { + this.newTransactions = newTransactions; + } + + + public ProcessorHistoricalUpdateWebhook accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public ProcessorHistoricalUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorHistoricalUpdateWebhook processorHistoricalUpdateWebhook = (ProcessorHistoricalUpdateWebhook) o; + return Objects.equals(this.webhookType, processorHistoricalUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, processorHistoricalUpdateWebhook.webhookCode) && + Objects.equals(this.error, processorHistoricalUpdateWebhook.error) && + Objects.equals(this.newTransactions, processorHistoricalUpdateWebhook.newTransactions) && + Objects.equals(this.accountId, processorHistoricalUpdateWebhook.accountId) && + Objects.equals(this.environment, processorHistoricalUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, error, newTransactions, accountId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorHistoricalUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" newTransactions: ").append(toIndentedString(newTransactions)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorIdentityGetRequest.java b/src/main/java/com/plaid/client/model/ProcessorIdentityGetRequest.java new file mode 100644 index 0000000000..af53f53880 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorIdentityGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorIdentityGetRequest defines the request schema for `/processor/identity/get` + */ +@ApiModel(description = "ProcessorIdentityGetRequest defines the request schema for `/processor/identity/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorIdentityGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + + public ProcessorIdentityGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorIdentityGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorIdentityGetRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorIdentityGetRequest processorIdentityGetRequest = (ProcessorIdentityGetRequest) o; + return Objects.equals(this.clientId, processorIdentityGetRequest.clientId) && + Objects.equals(this.secret, processorIdentityGetRequest.secret) && + Objects.equals(this.processorToken, processorIdentityGetRequest.processorToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, processorToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorIdentityGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorIdentityGetResponse.java b/src/main/java/com/plaid/client/model/ProcessorIdentityGetResponse.java new file mode 100644 index 0000000000..c63605818a --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorIdentityGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountIdentity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorIdentityGetResponse defines the response schema for `/processor/identity/get` + */ +@ApiModel(description = "ProcessorIdentityGetResponse defines the response schema for `/processor/identity/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorIdentityGetResponse { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private AccountIdentity account; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorIdentityGetResponse account(AccountIdentity account) { + + this.account = account; + return this; + } + + /** + * Get account + * @return account + **/ + @ApiModelProperty(required = true, value = "") + + public AccountIdentity getAccount() { + return account; + } + + + public void setAccount(AccountIdentity account) { + this.account = account; + } + + + public ProcessorIdentityGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorIdentityGetResponse processorIdentityGetResponse = (ProcessorIdentityGetResponse) o; + return Objects.equals(this.account, processorIdentityGetResponse.account) && + Objects.equals(this.requestId, processorIdentityGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(account, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorIdentityGetResponse {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorIdentityMatchRequest.java b/src/main/java/com/plaid/client/model/ProcessorIdentityMatchRequest.java new file mode 100644 index 0000000000..0e442d83ec --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorIdentityMatchRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityMatchUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorIdentityMatchRequest defines the request schema for `/processor/identity/match` + */ +@ApiModel(description = "ProcessorIdentityMatchRequest defines the request schema for `/processor/identity/match`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorIdentityMatchRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private IdentityMatchUser user; + + + public ProcessorIdentityMatchRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorIdentityMatchRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorIdentityMatchRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorIdentityMatchRequest user(IdentityMatchUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IdentityMatchUser getUser() { + return user; + } + + + public void setUser(IdentityMatchUser user) { + this.user = user; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorIdentityMatchRequest processorIdentityMatchRequest = (ProcessorIdentityMatchRequest) o; + return Objects.equals(this.clientId, processorIdentityMatchRequest.clientId) && + Objects.equals(this.secret, processorIdentityMatchRequest.secret) && + Objects.equals(this.processorToken, processorIdentityMatchRequest.processorToken) && + Objects.equals(this.user, processorIdentityMatchRequest.user); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, processorToken, user); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorIdentityMatchRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorIdentityMatchResponse.java b/src/main/java/com/plaid/client/model/ProcessorIdentityMatchResponse.java new file mode 100644 index 0000000000..fe4f51c691 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorIdentityMatchResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountIdentityMatchScore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorIdentityMatchResponse defines the response schema for `/processor/identity/match` + */ +@ApiModel(description = "ProcessorIdentityMatchResponse defines the response schema for `/processor/identity/match`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorIdentityMatchResponse { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private AccountIdentityMatchScore account; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorIdentityMatchResponse account(AccountIdentityMatchScore account) { + + this.account = account; + return this; + } + + /** + * Get account + * @return account + **/ + @ApiModelProperty(required = true, value = "") + + public AccountIdentityMatchScore getAccount() { + return account; + } + + + public void setAccount(AccountIdentityMatchScore account) { + this.account = account; + } + + + public ProcessorIdentityMatchResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorIdentityMatchResponse processorIdentityMatchResponse = (ProcessorIdentityMatchResponse) o; + return Objects.equals(this.account, processorIdentityMatchResponse.account) && + Objects.equals(this.requestId, processorIdentityMatchResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(account, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorIdentityMatchResponse {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorInitialUpdateWebhook.java b/src/main/java/com/plaid/client/model/ProcessorInitialUpdateWebhook.java new file mode 100644 index 0000000000..7ff9ce5e34 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorInitialUpdateWebhook.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when an Item's initial transaction pull is completed. Once this webhook has been fired, transaction data for the most recent 30 days can be fetched for the Item. This webhook will also be fired if account selections for the Item are updated, with `new_transactions` set to the number of net new transactions pulled after the account selection update. This webhook is intended for use with `/processor/transactions/get`; if you are using the newer `/processor/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead. + */ +@ApiModel(description = "This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when an Item's initial transaction pull is completed. Once this webhook has been fired, transaction data for the most recent 30 days can be fetched for the Item. This webhook will also be fired if account selections for the Item are updated, with `new_transactions` set to the number of net new transactions pulled after the account selection update. This webhook is intended for use with `/processor/transactions/get`; if you are using the newer `/processor/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorInitialUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private String error; + + public static final String SERIALIZED_NAME_NEW_TRANSACTIONS = "new_transactions"; + @SerializedName(SERIALIZED_NAME_NEW_TRANSACTIONS) + private Double newTransactions; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ProcessorInitialUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ProcessorInitialUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `INITIAL_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`INITIAL_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ProcessorInitialUpdateWebhook error(String error) { + + this.error = error; + return this; + } + + /** + * The error code associated with the webhook. + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The error code associated with the webhook.") + + public String getError() { + return error; + } + + + public void setError(String error) { + this.error = error; + } + + + public ProcessorInitialUpdateWebhook newTransactions(Double newTransactions) { + + this.newTransactions = newTransactions; + return this; + } + + /** + * The number of new transactions available. + * @return newTransactions + **/ + @ApiModelProperty(required = true, value = "The number of new transactions available.") + + public Double getNewTransactions() { + return newTransactions; + } + + + public void setNewTransactions(Double newTransactions) { + this.newTransactions = newTransactions; + } + + + public ProcessorInitialUpdateWebhook accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public ProcessorInitialUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorInitialUpdateWebhook processorInitialUpdateWebhook = (ProcessorInitialUpdateWebhook) o; + return Objects.equals(this.webhookType, processorInitialUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, processorInitialUpdateWebhook.webhookCode) && + Objects.equals(this.error, processorInitialUpdateWebhook.error) && + Objects.equals(this.newTransactions, processorInitialUpdateWebhook.newTransactions) && + Objects.equals(this.accountId, processorInitialUpdateWebhook.accountId) && + Objects.equals(this.environment, processorInitialUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, error, newTransactions, accountId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorInitialUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" newTransactions: ").append(toIndentedString(newTransactions)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorInvestmentsAuthGetRequest.java b/src/main/java/com/plaid/client/model/ProcessorInvestmentsAuthGetRequest.java new file mode 100644 index 0000000000..19724676d2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorInvestmentsAuthGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorInvestmentsAuthGetRequest defines the request schema for `/processor/investments/auth/get` + */ +@ApiModel(description = "ProcessorInvestmentsAuthGetRequest defines the request schema for `/processor/investments/auth/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorInvestmentsAuthGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + + public ProcessorInvestmentsAuthGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorInvestmentsAuthGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorInvestmentsAuthGetRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorInvestmentsAuthGetRequest processorInvestmentsAuthGetRequest = (ProcessorInvestmentsAuthGetRequest) o; + return Objects.equals(this.clientId, processorInvestmentsAuthGetRequest.clientId) && + Objects.equals(this.secret, processorInvestmentsAuthGetRequest.secret) && + Objects.equals(this.processorToken, processorInvestmentsAuthGetRequest.processorToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, processorToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorInvestmentsAuthGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorInvestmentsAuthGetResponse.java b/src/main/java/com/plaid/client/model/ProcessorInvestmentsAuthGetResponse.java new file mode 100644 index 0000000000..c150dd2eab --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorInvestmentsAuthGetResponse.java @@ -0,0 +1,356 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.Holding; +import com.plaid.client.model.InvestmentsAuthAccountDetails401k; +import com.plaid.client.model.InvestmentsAuthDataSources; +import com.plaid.client.model.InvestmentsAuthGetNumbers; +import com.plaid.client.model.InvestmentsAuthOwner; +import com.plaid.client.model.Security; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * ProcessorInvestmentsAuthGetResponse defines the response schema for `/processor/investments/auth/get` + */ +@ApiModel(description = "ProcessorInvestmentsAuthGetResponse defines the response schema for `/processor/investments/auth/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorInvestmentsAuthGetResponse { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private AccountBase account; + + public static final String SERIALIZED_NAME_HOLDINGS = "holdings"; + @SerializedName(SERIALIZED_NAME_HOLDINGS) + private List holdings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SECURITIES = "securities"; + @SerializedName(SERIALIZED_NAME_SECURITIES) + private List securities = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + private List owners = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NUMBERS = "numbers"; + @SerializedName(SERIALIZED_NAME_NUMBERS) + private InvestmentsAuthGetNumbers numbers; + + public static final String SERIALIZED_NAME_DATA_SOURCES = "data_sources"; + @SerializedName(SERIALIZED_NAME_DATA_SOURCES) + private InvestmentsAuthDataSources dataSources; + + public static final String SERIALIZED_NAME_ACCOUNT_DETAILS401K = "account_details_401k"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_DETAILS401K) + private List accountDetails401k = null; + + public static final String SERIALIZED_NAME_IS_INVESTMENTS_FALLBACK_ITEM = "is_investments_fallback_item"; + @SerializedName(SERIALIZED_NAME_IS_INVESTMENTS_FALLBACK_ITEM) + private Boolean isInvestmentsFallbackItem; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorInvestmentsAuthGetResponse account(AccountBase account) { + + this.account = account; + return this; + } + + /** + * Get account + * @return account + **/ + @ApiModelProperty(required = true, value = "") + + public AccountBase getAccount() { + return account; + } + + + public void setAccount(AccountBase account) { + this.account = account; + } + + + public ProcessorInvestmentsAuthGetResponse holdings(List holdings) { + + this.holdings = holdings; + return this; + } + + public ProcessorInvestmentsAuthGetResponse addHoldingsItem(Holding holdingsItem) { + this.holdings.add(holdingsItem); + return this; + } + + /** + * The holdings belonging to the investment account. Details of the securities in the holdings are provided in the `securities` field. + * @return holdings + **/ + @ApiModelProperty(required = true, value = "The holdings belonging to the investment account. Details of the securities in the holdings are provided in the `securities` field.") + + public List getHoldings() { + return holdings; + } + + + public void setHoldings(List holdings) { + this.holdings = holdings; + } + + + public ProcessorInvestmentsAuthGetResponse securities(List securities) { + + this.securities = securities; + return this; + } + + public ProcessorInvestmentsAuthGetResponse addSecuritiesItem(Security securitiesItem) { + this.securities.add(securitiesItem); + return this; + } + + /** + * Objects describing the securities held in the account. + * @return securities + **/ + @ApiModelProperty(required = true, value = "Objects describing the securities held in the account.") + + public List getSecurities() { + return securities; + } + + + public void setSecurities(List securities) { + this.securities = securities; + } + + + public ProcessorInvestmentsAuthGetResponse owners(List owners) { + + this.owners = owners; + return this; + } + + public ProcessorInvestmentsAuthGetResponse addOwnersItem(InvestmentsAuthOwner ownersItem) { + this.owners.add(ownersItem); + return this; + } + + /** + * Information about the account owners for the account. + * @return owners + **/ + @ApiModelProperty(required = true, value = "Information about the account owners for the account.") + + public List getOwners() { + return owners; + } + + + public void setOwners(List owners) { + this.owners = owners; + } + + + public ProcessorInvestmentsAuthGetResponse numbers(InvestmentsAuthGetNumbers numbers) { + + this.numbers = numbers; + return this; + } + + /** + * Get numbers + * @return numbers + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentsAuthGetNumbers getNumbers() { + return numbers; + } + + + public void setNumbers(InvestmentsAuthGetNumbers numbers) { + this.numbers = numbers; + } + + + public ProcessorInvestmentsAuthGetResponse dataSources(InvestmentsAuthDataSources dataSources) { + + this.dataSources = dataSources; + return this; + } + + /** + * Get dataSources + * @return dataSources + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentsAuthDataSources getDataSources() { + return dataSources; + } + + + public void setDataSources(InvestmentsAuthDataSources dataSources) { + this.dataSources = dataSources; + } + + + public ProcessorInvestmentsAuthGetResponse accountDetails401k(List accountDetails401k) { + + this.accountDetails401k = accountDetails401k; + return this; + } + + public ProcessorInvestmentsAuthGetResponse addAccountDetails401kItem(InvestmentsAuthAccountDetails401k accountDetails401kItem) { + if (this.accountDetails401k == null) { + this.accountDetails401k = new ArrayList<>(); + } + this.accountDetails401k.add(accountDetails401kItem); + return this; + } + + /** + * Additional information for accounts of 401k subtype. + * @return accountDetails401k + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Additional information for accounts of 401k subtype.") + + public List getAccountDetails401k() { + return accountDetails401k; + } + + + public void setAccountDetails401k(List accountDetails401k) { + this.accountDetails401k = accountDetails401k; + } + + + public ProcessorInvestmentsAuthGetResponse isInvestmentsFallbackItem(Boolean isInvestmentsFallbackItem) { + + this.isInvestmentsFallbackItem = isInvestmentsFallbackItem; + return this; + } + + /** + * When true, this field indicates that the Item's portfolio was manually created with the Investments Fallback flow. + * @return isInvestmentsFallbackItem + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When true, this field indicates that the Item's portfolio was manually created with the Investments Fallback flow.") + + public Boolean getIsInvestmentsFallbackItem() { + return isInvestmentsFallbackItem; + } + + + public void setIsInvestmentsFallbackItem(Boolean isInvestmentsFallbackItem) { + this.isInvestmentsFallbackItem = isInvestmentsFallbackItem; + } + + + public ProcessorInvestmentsAuthGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorInvestmentsAuthGetResponse processorInvestmentsAuthGetResponse = (ProcessorInvestmentsAuthGetResponse) o; + return Objects.equals(this.account, processorInvestmentsAuthGetResponse.account) && + Objects.equals(this.holdings, processorInvestmentsAuthGetResponse.holdings) && + Objects.equals(this.securities, processorInvestmentsAuthGetResponse.securities) && + Objects.equals(this.owners, processorInvestmentsAuthGetResponse.owners) && + Objects.equals(this.numbers, processorInvestmentsAuthGetResponse.numbers) && + Objects.equals(this.dataSources, processorInvestmentsAuthGetResponse.dataSources) && + Objects.equals(this.accountDetails401k, processorInvestmentsAuthGetResponse.accountDetails401k) && + Objects.equals(this.isInvestmentsFallbackItem, processorInvestmentsAuthGetResponse.isInvestmentsFallbackItem) && + Objects.equals(this.requestId, processorInvestmentsAuthGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(account, holdings, securities, owners, numbers, dataSources, accountDetails401k, isInvestmentsFallbackItem, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorInvestmentsAuthGetResponse {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" holdings: ").append(toIndentedString(holdings)).append("\n"); + sb.append(" securities: ").append(toIndentedString(securities)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).append("\n"); + sb.append(" numbers: ").append(toIndentedString(numbers)).append("\n"); + sb.append(" dataSources: ").append(toIndentedString(dataSources)).append("\n"); + sb.append(" accountDetails401k: ").append(toIndentedString(accountDetails401k)).append("\n"); + sb.append(" isInvestmentsFallbackItem: ").append(toIndentedString(isInvestmentsFallbackItem)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorInvestmentsHoldingsGetRequest.java b/src/main/java/com/plaid/client/model/ProcessorInvestmentsHoldingsGetRequest.java new file mode 100644 index 0000000000..3cdf6f2c3c --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorInvestmentsHoldingsGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorInvestmentsHoldingsGetRequest defines the request schema for `/processor/investments/holdings/get` + */ +@ApiModel(description = "ProcessorInvestmentsHoldingsGetRequest defines the request schema for `/processor/investments/holdings/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorInvestmentsHoldingsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public ProcessorInvestmentsHoldingsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorInvestmentsHoldingsGetRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorInvestmentsHoldingsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorInvestmentsHoldingsGetRequest processorInvestmentsHoldingsGetRequest = (ProcessorInvestmentsHoldingsGetRequest) o; + return Objects.equals(this.clientId, processorInvestmentsHoldingsGetRequest.clientId) && + Objects.equals(this.processorToken, processorInvestmentsHoldingsGetRequest.processorToken) && + Objects.equals(this.secret, processorInvestmentsHoldingsGetRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, processorToken, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorInvestmentsHoldingsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorInvestmentsHoldingsGetResponse.java b/src/main/java/com/plaid/client/model/ProcessorInvestmentsHoldingsGetResponse.java new file mode 100644 index 0000000000..b523734080 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorInvestmentsHoldingsGetResponse.java @@ -0,0 +1,227 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Holding; +import com.plaid.client.model.InvestmentAccount; +import com.plaid.client.model.Security; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * ProcessorInvestmentsHoldingsGetResponse defines the response schema for `/processor/investments/holdings/get` + */ +@ApiModel(description = "ProcessorInvestmentsHoldingsGetResponse defines the response schema for `/processor/investments/holdings/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorInvestmentsHoldingsGetResponse { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private InvestmentAccount account; + + public static final String SERIALIZED_NAME_HOLDINGS = "holdings"; + @SerializedName(SERIALIZED_NAME_HOLDINGS) + private List holdings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SECURITIES = "securities"; + @SerializedName(SERIALIZED_NAME_SECURITIES) + private List securities = new ArrayList<>(); + + public static final String SERIALIZED_NAME_IS_INVESTMENTS_FALLBACK_ITEM = "is_investments_fallback_item"; + @SerializedName(SERIALIZED_NAME_IS_INVESTMENTS_FALLBACK_ITEM) + private Boolean isInvestmentsFallbackItem; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorInvestmentsHoldingsGetResponse account(InvestmentAccount account) { + + this.account = account; + return this; + } + + /** + * Get account + * @return account + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentAccount getAccount() { + return account; + } + + + public void setAccount(InvestmentAccount account) { + this.account = account; + } + + + public ProcessorInvestmentsHoldingsGetResponse holdings(List holdings) { + + this.holdings = holdings; + return this; + } + + public ProcessorInvestmentsHoldingsGetResponse addHoldingsItem(Holding holdingsItem) { + this.holdings.add(holdingsItem); + return this; + } + + /** + * The holdings belonging to investment accounts associated with the Item. Details of the securities in the holdings are provided in the `securities` field. + * @return holdings + **/ + @ApiModelProperty(required = true, value = "The holdings belonging to investment accounts associated with the Item. Details of the securities in the holdings are provided in the `securities` field. ") + + public List getHoldings() { + return holdings; + } + + + public void setHoldings(List holdings) { + this.holdings = holdings; + } + + + public ProcessorInvestmentsHoldingsGetResponse securities(List securities) { + + this.securities = securities; + return this; + } + + public ProcessorInvestmentsHoldingsGetResponse addSecuritiesItem(Security securitiesItem) { + this.securities.add(securitiesItem); + return this; + } + + /** + * Objects describing the securities held in the account. + * @return securities + **/ + @ApiModelProperty(required = true, value = "Objects describing the securities held in the account.") + + public List getSecurities() { + return securities; + } + + + public void setSecurities(List securities) { + this.securities = securities; + } + + + public ProcessorInvestmentsHoldingsGetResponse isInvestmentsFallbackItem(Boolean isInvestmentsFallbackItem) { + + this.isInvestmentsFallbackItem = isInvestmentsFallbackItem; + return this; + } + + /** + * When true, this field indicates that the Item's portfolio was manually created with the Investments Fallback flow. + * @return isInvestmentsFallbackItem + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When true, this field indicates that the Item's portfolio was manually created with the Investments Fallback flow.") + + public Boolean getIsInvestmentsFallbackItem() { + return isInvestmentsFallbackItem; + } + + + public void setIsInvestmentsFallbackItem(Boolean isInvestmentsFallbackItem) { + this.isInvestmentsFallbackItem = isInvestmentsFallbackItem; + } + + + public ProcessorInvestmentsHoldingsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorInvestmentsHoldingsGetResponse processorInvestmentsHoldingsGetResponse = (ProcessorInvestmentsHoldingsGetResponse) o; + return Objects.equals(this.account, processorInvestmentsHoldingsGetResponse.account) && + Objects.equals(this.holdings, processorInvestmentsHoldingsGetResponse.holdings) && + Objects.equals(this.securities, processorInvestmentsHoldingsGetResponse.securities) && + Objects.equals(this.isInvestmentsFallbackItem, processorInvestmentsHoldingsGetResponse.isInvestmentsFallbackItem) && + Objects.equals(this.requestId, processorInvestmentsHoldingsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(account, holdings, securities, isInvestmentsFallbackItem, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorInvestmentsHoldingsGetResponse {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" holdings: ").append(toIndentedString(holdings)).append("\n"); + sb.append(" securities: ").append(toIndentedString(securities)).append("\n"); + sb.append(" isInvestmentsFallbackItem: ").append(toIndentedString(isInvestmentsFallbackItem)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorInvestmentsTransactionsGetRequest.java b/src/main/java/com/plaid/client/model/ProcessorInvestmentsTransactionsGetRequest.java new file mode 100644 index 0000000000..ed964532cc --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorInvestmentsTransactionsGetRequest.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentsTransactionsGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * ProcessorInvestmentsTransactionsGetRequest defines the request schema for `/processor/investments/transactions/get` + */ +@ApiModel(description = "ProcessorInvestmentsTransactionsGetRequest defines the request schema for `/processor/investments/transactions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorInvestmentsTransactionsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private InvestmentsTransactionsGetRequestOptions options; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + + public ProcessorInvestmentsTransactionsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorInvestmentsTransactionsGetRequest options(InvestmentsTransactionsGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public InvestmentsTransactionsGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(InvestmentsTransactionsGetRequestOptions options) { + this.options = options; + } + + + public ProcessorInvestmentsTransactionsGetRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorInvestmentsTransactionsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorInvestmentsTransactionsGetRequest startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The earliest date for which data should be returned. Dates should be formatted as YYYY-MM-DD. + * @return startDate + **/ + @ApiModelProperty(required = true, value = "The earliest date for which data should be returned. Dates should be formatted as YYYY-MM-DD.") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public ProcessorInvestmentsTransactionsGetRequest endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The latest date for which data should be returned. Dates should be formatted as YYYY-MM-DD. + * @return endDate + **/ + @ApiModelProperty(required = true, value = "The latest date for which data should be returned. Dates should be formatted as YYYY-MM-DD.") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorInvestmentsTransactionsGetRequest processorInvestmentsTransactionsGetRequest = (ProcessorInvestmentsTransactionsGetRequest) o; + return Objects.equals(this.clientId, processorInvestmentsTransactionsGetRequest.clientId) && + Objects.equals(this.options, processorInvestmentsTransactionsGetRequest.options) && + Objects.equals(this.processorToken, processorInvestmentsTransactionsGetRequest.processorToken) && + Objects.equals(this.secret, processorInvestmentsTransactionsGetRequest.secret) && + Objects.equals(this.startDate, processorInvestmentsTransactionsGetRequest.startDate) && + Objects.equals(this.endDate, processorInvestmentsTransactionsGetRequest.endDate); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, options, processorToken, secret, startDate, endDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorInvestmentsTransactionsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorInvestmentsTransactionsGetResponse.java b/src/main/java/com/plaid/client/model/ProcessorInvestmentsTransactionsGetResponse.java new file mode 100644 index 0000000000..46d552acb1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorInvestmentsTransactionsGetResponse.java @@ -0,0 +1,254 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InvestmentAccount; +import com.plaid.client.model.InvestmentTransaction; +import com.plaid.client.model.Security; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * ProcessorInvestmentsTransactionsGetResponse defines the response schema for `/processor/investments/transactions/get` + */ +@ApiModel(description = "ProcessorInvestmentsTransactionsGetResponse defines the response schema for `/processor/investments/transactions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorInvestmentsTransactionsGetResponse { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private InvestmentAccount account; + + public static final String SERIALIZED_NAME_INVESTMENT_TRANSACTIONS = "investment_transactions"; + @SerializedName(SERIALIZED_NAME_INVESTMENT_TRANSACTIONS) + private List investmentTransactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SECURITIES = "securities"; + @SerializedName(SERIALIZED_NAME_SECURITIES) + private List securities = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TOTAL_INVESTMENT_TRANSACTIONS = "total_investment_transactions"; + @SerializedName(SERIALIZED_NAME_TOTAL_INVESTMENT_TRANSACTIONS) + private Integer totalInvestmentTransactions; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_IS_INVESTMENTS_FALLBACK_ITEM = "is_investments_fallback_item"; + @SerializedName(SERIALIZED_NAME_IS_INVESTMENTS_FALLBACK_ITEM) + private Boolean isInvestmentsFallbackItem; + + + public ProcessorInvestmentsTransactionsGetResponse account(InvestmentAccount account) { + + this.account = account; + return this; + } + + /** + * Get account + * @return account + **/ + @ApiModelProperty(required = true, value = "") + + public InvestmentAccount getAccount() { + return account; + } + + + public void setAccount(InvestmentAccount account) { + this.account = account; + } + + + public ProcessorInvestmentsTransactionsGetResponse investmentTransactions(List investmentTransactions) { + + this.investmentTransactions = investmentTransactions; + return this; + } + + public ProcessorInvestmentsTransactionsGetResponse addInvestmentTransactionsItem(InvestmentTransaction investmentTransactionsItem) { + this.investmentTransactions.add(investmentTransactionsItem); + return this; + } + + /** + * An array containing investment transactions from the account. Investments transactions are returned in reverse chronological order, with the most recent at the beginning of the array. The maximum number of transactions returned is determined by the `count` parameter. + * @return investmentTransactions + **/ + @ApiModelProperty(required = true, value = "An array containing investment transactions from the account. Investments transactions are returned in reverse chronological order, with the most recent at the beginning of the array. The maximum number of transactions returned is determined by the `count` parameter.") + + public List getInvestmentTransactions() { + return investmentTransactions; + } + + + public void setInvestmentTransactions(List investmentTransactions) { + this.investmentTransactions = investmentTransactions; + } + + + public ProcessorInvestmentsTransactionsGetResponse securities(List securities) { + + this.securities = securities; + return this; + } + + public ProcessorInvestmentsTransactionsGetResponse addSecuritiesItem(Security securitiesItem) { + this.securities.add(securitiesItem); + return this; + } + + /** + * All securities for which there is a corresponding transaction being fetched. + * @return securities + **/ + @ApiModelProperty(required = true, value = "All securities for which there is a corresponding transaction being fetched.") + + public List getSecurities() { + return securities; + } + + + public void setSecurities(List securities) { + this.securities = securities; + } + + + public ProcessorInvestmentsTransactionsGetResponse totalInvestmentTransactions(Integer totalInvestmentTransactions) { + + this.totalInvestmentTransactions = totalInvestmentTransactions; + return this; + } + + /** + * The total number of transactions available within the date range specified. If `total_investment_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched via manipulating the `offset` parameter. + * @return totalInvestmentTransactions + **/ + @ApiModelProperty(required = true, value = "The total number of transactions available within the date range specified. If `total_investment_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched via manipulating the `offset` parameter.") + + public Integer getTotalInvestmentTransactions() { + return totalInvestmentTransactions; + } + + + public void setTotalInvestmentTransactions(Integer totalInvestmentTransactions) { + this.totalInvestmentTransactions = totalInvestmentTransactions; + } + + + public ProcessorInvestmentsTransactionsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public ProcessorInvestmentsTransactionsGetResponse isInvestmentsFallbackItem(Boolean isInvestmentsFallbackItem) { + + this.isInvestmentsFallbackItem = isInvestmentsFallbackItem; + return this; + } + + /** + * When true, this field indicates that the Item's portfolio was manually created with the Investments Fallback flow. + * @return isInvestmentsFallbackItem + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When true, this field indicates that the Item's portfolio was manually created with the Investments Fallback flow.") + + public Boolean getIsInvestmentsFallbackItem() { + return isInvestmentsFallbackItem; + } + + + public void setIsInvestmentsFallbackItem(Boolean isInvestmentsFallbackItem) { + this.isInvestmentsFallbackItem = isInvestmentsFallbackItem; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorInvestmentsTransactionsGetResponse processorInvestmentsTransactionsGetResponse = (ProcessorInvestmentsTransactionsGetResponse) o; + return Objects.equals(this.account, processorInvestmentsTransactionsGetResponse.account) && + Objects.equals(this.investmentTransactions, processorInvestmentsTransactionsGetResponse.investmentTransactions) && + Objects.equals(this.securities, processorInvestmentsTransactionsGetResponse.securities) && + Objects.equals(this.totalInvestmentTransactions, processorInvestmentsTransactionsGetResponse.totalInvestmentTransactions) && + Objects.equals(this.requestId, processorInvestmentsTransactionsGetResponse.requestId) && + Objects.equals(this.isInvestmentsFallbackItem, processorInvestmentsTransactionsGetResponse.isInvestmentsFallbackItem); + } + + @Override + public int hashCode() { + return Objects.hash(account, investmentTransactions, securities, totalInvestmentTransactions, requestId, isInvestmentsFallbackItem); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorInvestmentsTransactionsGetResponse {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" investmentTransactions: ").append(toIndentedString(investmentTransactions)).append("\n"); + sb.append(" securities: ").append(toIndentedString(securities)).append("\n"); + sb.append(" totalInvestmentTransactions: ").append(toIndentedString(totalInvestmentTransactions)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" isInvestmentsFallbackItem: ").append(toIndentedString(isInvestmentsFallbackItem)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorLiabilitiesGetRequest.java b/src/main/java/com/plaid/client/model/ProcessorLiabilitiesGetRequest.java new file mode 100644 index 0000000000..1d2f4e534b --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorLiabilitiesGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorLiabilitiesGetRequest defines the request schema for `/processor/liabilities/get` + */ +@ApiModel(description = "ProcessorLiabilitiesGetRequest defines the request schema for `/processor/liabilities/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorLiabilitiesGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + + public ProcessorLiabilitiesGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorLiabilitiesGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorLiabilitiesGetRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorLiabilitiesGetRequest processorLiabilitiesGetRequest = (ProcessorLiabilitiesGetRequest) o; + return Objects.equals(this.clientId, processorLiabilitiesGetRequest.clientId) && + Objects.equals(this.secret, processorLiabilitiesGetRequest.secret) && + Objects.equals(this.processorToken, processorLiabilitiesGetRequest.processorToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, processorToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorLiabilitiesGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorLiabilitiesGetResponse.java b/src/main/java/com/plaid/client/model/ProcessorLiabilitiesGetResponse.java new file mode 100644 index 0000000000..4c02ce4229 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorLiabilitiesGetResponse.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.LiabilitiesObject; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorLiabilitiesGetResponse defines the response schema for `/processor/liabilities/get` + */ +@ApiModel(description = "ProcessorLiabilitiesGetResponse defines the response schema for `/processor/liabilities/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorLiabilitiesGetResponse { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private AccountBase account; + + public static final String SERIALIZED_NAME_LIABILITIES = "liabilities"; + @SerializedName(SERIALIZED_NAME_LIABILITIES) + private LiabilitiesObject liabilities; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorLiabilitiesGetResponse account(AccountBase account) { + + this.account = account; + return this; + } + + /** + * Get account + * @return account + **/ + @ApiModelProperty(required = true, value = "") + + public AccountBase getAccount() { + return account; + } + + + public void setAccount(AccountBase account) { + this.account = account; + } + + + public ProcessorLiabilitiesGetResponse liabilities(LiabilitiesObject liabilities) { + + this.liabilities = liabilities; + return this; + } + + /** + * Get liabilities + * @return liabilities + **/ + @ApiModelProperty(required = true, value = "") + + public LiabilitiesObject getLiabilities() { + return liabilities; + } + + + public void setLiabilities(LiabilitiesObject liabilities) { + this.liabilities = liabilities; + } + + + public ProcessorLiabilitiesGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorLiabilitiesGetResponse processorLiabilitiesGetResponse = (ProcessorLiabilitiesGetResponse) o; + return Objects.equals(this.account, processorLiabilitiesGetResponse.account) && + Objects.equals(this.liabilities, processorLiabilitiesGetResponse.liabilities) && + Objects.equals(this.requestId, processorLiabilitiesGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(account, liabilities, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorLiabilitiesGetResponse {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" liabilities: ").append(toIndentedString(liabilities)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorNumber.java b/src/main/java/com/plaid/client/model/ProcessorNumber.java new file mode 100644 index 0000000000..6cf720547b --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorNumber.java @@ -0,0 +1,190 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NumbersACHNullable; +import com.plaid.client.model.NumbersBACSNullable; +import com.plaid.client.model.NumbersEFTNullable; +import com.plaid.client.model.NumbersInternationalNullable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object containing identifying numbers used for making electronic transfers to and from the `account`. The identifying number type (ACH, EFT, IBAN, or Bacs) used will depend on the country of the account. An account may have more than one number type. If a particular identifying number type is not used by the `account` for which auth data has been requested, a null value will be returned. + */ +@ApiModel(description = "An object containing identifying numbers used for making electronic transfers to and from the `account`. The identifying number type (ACH, EFT, IBAN, or Bacs) used will depend on the country of the account. An account may have more than one number type. If a particular identifying number type is not used by the `account` for which auth data has been requested, a null value will be returned.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorNumber { + public static final String SERIALIZED_NAME_ACH = "ach"; + @SerializedName(SERIALIZED_NAME_ACH) + private NumbersACHNullable ach; + + public static final String SERIALIZED_NAME_EFT = "eft"; + @SerializedName(SERIALIZED_NAME_EFT) + private NumbersEFTNullable eft; + + public static final String SERIALIZED_NAME_INTERNATIONAL = "international"; + @SerializedName(SERIALIZED_NAME_INTERNATIONAL) + private NumbersInternationalNullable international; + + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private NumbersBACSNullable bacs; + + + public ProcessorNumber ach(NumbersACHNullable ach) { + + this.ach = ach; + return this; + } + + /** + * Get ach + * @return ach + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NumbersACHNullable getAch() { + return ach; + } + + + public void setAch(NumbersACHNullable ach) { + this.ach = ach; + } + + + public ProcessorNumber eft(NumbersEFTNullable eft) { + + this.eft = eft; + return this; + } + + /** + * Get eft + * @return eft + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NumbersEFTNullable getEft() { + return eft; + } + + + public void setEft(NumbersEFTNullable eft) { + this.eft = eft; + } + + + public ProcessorNumber international(NumbersInternationalNullable international) { + + this.international = international; + return this; + } + + /** + * Get international + * @return international + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NumbersInternationalNullable getInternational() { + return international; + } + + + public void setInternational(NumbersInternationalNullable international) { + this.international = international; + } + + + public ProcessorNumber bacs(NumbersBACSNullable bacs) { + + this.bacs = bacs; + return this; + } + + /** + * Get bacs + * @return bacs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NumbersBACSNullable getBacs() { + return bacs; + } + + + public void setBacs(NumbersBACSNullable bacs) { + this.bacs = bacs; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorNumber processorNumber = (ProcessorNumber) o; + return Objects.equals(this.ach, processorNumber.ach) && + Objects.equals(this.eft, processorNumber.eft) && + Objects.equals(this.international, processorNumber.international) && + Objects.equals(this.bacs, processorNumber.bacs); + } + + @Override + public int hashCode() { + return Objects.hash(ach, eft, international, bacs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorNumber {\n"); + sb.append(" ach: ").append(toIndentedString(ach)).append("\n"); + sb.append(" eft: ").append(toIndentedString(eft)).append("\n"); + sb.append(" international: ").append(toIndentedString(international)).append("\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorRecurringTransactionsUpdateWebhook.java b/src/main/java/com/plaid/client/model/ProcessorRecurringTransactionsUpdateWebhook.java new file mode 100644 index 0000000000..fc6c65c590 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorRecurringTransactionsUpdateWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when recurring transactions data is updated. This includes when a new recurring stream is detected or when a new transaction is added to an existing recurring stream. The `RECURRING_TRANSACTIONS_UPDATE` webhook will also fire when one or more attributes of the recurring stream changes, which is usually a result of the addition, update, or removal of transactions to the stream. After receipt of this webhook, the updated data can be fetched from `/processor/transactions/recurring/get`. + */ +@ApiModel(description = "This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when recurring transactions data is updated. This includes when a new recurring stream is detected or when a new transaction is added to an existing recurring stream. The `RECURRING_TRANSACTIONS_UPDATE` webhook will also fire when one or more attributes of the recurring stream changes, which is usually a result of the addition, update, or removal of transactions to the stream. After receipt of this webhook, the updated data can be fetched from `/processor/transactions/recurring/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorRecurringTransactionsUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ProcessorRecurringTransactionsUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ProcessorRecurringTransactionsUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `RECURRING_TRANSACTIONS_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`RECURRING_TRANSACTIONS_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ProcessorRecurringTransactionsUpdateWebhook accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public ProcessorRecurringTransactionsUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorRecurringTransactionsUpdateWebhook processorRecurringTransactionsUpdateWebhook = (ProcessorRecurringTransactionsUpdateWebhook) o; + return Objects.equals(this.webhookType, processorRecurringTransactionsUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, processorRecurringTransactionsUpdateWebhook.webhookCode) && + Objects.equals(this.accountId, processorRecurringTransactionsUpdateWebhook.accountId) && + Objects.equals(this.environment, processorRecurringTransactionsUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, accountId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorRecurringTransactionsUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorSignalDecisionReportRequest.java b/src/main/java/com/plaid/client/model/ProcessorSignalDecisionReportRequest.java new file mode 100644 index 0000000000..467bb1e76a --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorSignalDecisionReportRequest.java @@ -0,0 +1,331 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SignalDecisionOutcome; +import com.plaid.client.model.SignalPaymentMethod; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorSignalDecisionReportRequest defines the request schema for `/processor/signal/decision/report` + */ +@ApiModel(description = "ProcessorSignalDecisionReportRequest defines the request schema for `/processor/signal/decision/report`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorSignalDecisionReportRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_CLIENT_TRANSACTION_ID = "client_transaction_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_TRANSACTION_ID) + private String clientTransactionId; + + public static final String SERIALIZED_NAME_INITIATED = "initiated"; + @SerializedName(SERIALIZED_NAME_INITIATED) + private Boolean initiated; + + public static final String SERIALIZED_NAME_DAYS_FUNDS_ON_HOLD = "days_funds_on_hold"; + @SerializedName(SERIALIZED_NAME_DAYS_FUNDS_ON_HOLD) + private Integer daysFundsOnHold; + + public static final String SERIALIZED_NAME_DECISION_OUTCOME = "decision_outcome"; + @SerializedName(SERIALIZED_NAME_DECISION_OUTCOME) + private SignalDecisionOutcome decisionOutcome; + + public static final String SERIALIZED_NAME_PAYMENT_METHOD = "payment_method"; + @SerializedName(SERIALIZED_NAME_PAYMENT_METHOD) + private SignalPaymentMethod paymentMethod; + + public static final String SERIALIZED_NAME_AMOUNT_INSTANTLY_AVAILABLE = "amount_instantly_available"; + @SerializedName(SERIALIZED_NAME_AMOUNT_INSTANTLY_AVAILABLE) + private Double amountInstantlyAvailable; + + + public ProcessorSignalDecisionReportRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorSignalDecisionReportRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorSignalDecisionReportRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorSignalDecisionReportRequest clientTransactionId(String clientTransactionId) { + + this.clientTransactionId = clientTransactionId; + return this; + } + + /** + * Must be the same as the `client_transaction_id` supplied when calling `/processor/signal/evaluate` + * @return clientTransactionId + **/ + @ApiModelProperty(required = true, value = "Must be the same as the `client_transaction_id` supplied when calling `/processor/signal/evaluate`") + + public String getClientTransactionId() { + return clientTransactionId; + } + + + public void setClientTransactionId(String clientTransactionId) { + this.clientTransactionId = clientTransactionId; + } + + + public ProcessorSignalDecisionReportRequest initiated(Boolean initiated) { + + this.initiated = initiated; + return this; + } + + /** + * `true` if the ACH transaction was initiated, `false` otherwise. This field must be returned as a boolean. If formatted incorrectly, this will result in an [`INVALID_FIELD`](https://plaid.com/docs/errors/invalid-request/#invalid_field) error. + * @return initiated + **/ + @ApiModelProperty(required = true, value = "`true` if the ACH transaction was initiated, `false` otherwise. This field must be returned as a boolean. If formatted incorrectly, this will result in an [`INVALID_FIELD`](https://plaid.com/docs/errors/invalid-request/#invalid_field) error.") + + public Boolean getInitiated() { + return initiated; + } + + + public void setInitiated(Boolean initiated) { + this.initiated = initiated; + } + + + public ProcessorSignalDecisionReportRequest daysFundsOnHold(Integer daysFundsOnHold) { + + this.daysFundsOnHold = daysFundsOnHold; + return this; + } + + /** + * The actual number of days (hold time) since the ACH debit transaction that you wait before making funds available to your customers. The holding time could affect the ACH return rate. For example, use 0 if you make funds available to your customers instantly or the same day following the debit transaction, or 1 if you make funds available the next day following the debit initialization. + * minimum: 0 + * @return daysFundsOnHold + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The actual number of days (hold time) since the ACH debit transaction that you wait before making funds available to your customers. The holding time could affect the ACH return rate. For example, use 0 if you make funds available to your customers instantly or the same day following the debit transaction, or 1 if you make funds available the next day following the debit initialization.") + + public Integer getDaysFundsOnHold() { + return daysFundsOnHold; + } + + + public void setDaysFundsOnHold(Integer daysFundsOnHold) { + this.daysFundsOnHold = daysFundsOnHold; + } + + + public ProcessorSignalDecisionReportRequest decisionOutcome(SignalDecisionOutcome decisionOutcome) { + + this.decisionOutcome = decisionOutcome; + return this; + } + + /** + * Get decisionOutcome + * @return decisionOutcome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalDecisionOutcome getDecisionOutcome() { + return decisionOutcome; + } + + + public void setDecisionOutcome(SignalDecisionOutcome decisionOutcome) { + this.decisionOutcome = decisionOutcome; + } + + + public ProcessorSignalDecisionReportRequest paymentMethod(SignalPaymentMethod paymentMethod) { + + this.paymentMethod = paymentMethod; + return this; + } + + /** + * Get paymentMethod + * @return paymentMethod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalPaymentMethod getPaymentMethod() { + return paymentMethod; + } + + + public void setPaymentMethod(SignalPaymentMethod paymentMethod) { + this.paymentMethod = paymentMethod; + } + + + public ProcessorSignalDecisionReportRequest amountInstantlyAvailable(Double amountInstantlyAvailable) { + + this.amountInstantlyAvailable = amountInstantlyAvailable; + return this; + } + + /** + * The amount (in USD) made available to your customers instantly following the debit transaction. It could be a partial amount of the requested transaction (example: 102.05). + * @return amountInstantlyAvailable + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount (in USD) made available to your customers instantly following the debit transaction. It could be a partial amount of the requested transaction (example: 102.05).") + + public Double getAmountInstantlyAvailable() { + return amountInstantlyAvailable; + } + + + public void setAmountInstantlyAvailable(Double amountInstantlyAvailable) { + this.amountInstantlyAvailable = amountInstantlyAvailable; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorSignalDecisionReportRequest processorSignalDecisionReportRequest = (ProcessorSignalDecisionReportRequest) o; + return Objects.equals(this.clientId, processorSignalDecisionReportRequest.clientId) && + Objects.equals(this.secret, processorSignalDecisionReportRequest.secret) && + Objects.equals(this.processorToken, processorSignalDecisionReportRequest.processorToken) && + Objects.equals(this.clientTransactionId, processorSignalDecisionReportRequest.clientTransactionId) && + Objects.equals(this.initiated, processorSignalDecisionReportRequest.initiated) && + Objects.equals(this.daysFundsOnHold, processorSignalDecisionReportRequest.daysFundsOnHold) && + Objects.equals(this.decisionOutcome, processorSignalDecisionReportRequest.decisionOutcome) && + Objects.equals(this.paymentMethod, processorSignalDecisionReportRequest.paymentMethod) && + Objects.equals(this.amountInstantlyAvailable, processorSignalDecisionReportRequest.amountInstantlyAvailable); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, processorToken, clientTransactionId, initiated, daysFundsOnHold, decisionOutcome, paymentMethod, amountInstantlyAvailable); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorSignalDecisionReportRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" clientTransactionId: ").append(toIndentedString(clientTransactionId)).append("\n"); + sb.append(" initiated: ").append(toIndentedString(initiated)).append("\n"); + sb.append(" daysFundsOnHold: ").append(toIndentedString(daysFundsOnHold)).append("\n"); + sb.append(" decisionOutcome: ").append(toIndentedString(decisionOutcome)).append("\n"); + sb.append(" paymentMethod: ").append(toIndentedString(paymentMethod)).append("\n"); + sb.append(" amountInstantlyAvailable: ").append(toIndentedString(amountInstantlyAvailable)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorSignalDecisionReportResponse.java b/src/main/java/com/plaid/client/model/ProcessorSignalDecisionReportResponse.java new file mode 100644 index 0000000000..bb7486342b --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorSignalDecisionReportResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorSignalDecisionReportResponse defines the response schema for `/processor/signal/decision/report` + */ +@ApiModel(description = "ProcessorSignalDecisionReportResponse defines the response schema for `/processor/signal/decision/report`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorSignalDecisionReportResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorSignalDecisionReportResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorSignalDecisionReportResponse processorSignalDecisionReportResponse = (ProcessorSignalDecisionReportResponse) o; + return Objects.equals(this.requestId, processorSignalDecisionReportResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorSignalDecisionReportResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorSignalEvaluateRequest.java b/src/main/java/com/plaid/client/model/ProcessorSignalEvaluateRequest.java new file mode 100644 index 0000000000..dc9476573d --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorSignalEvaluateRequest.java @@ -0,0 +1,417 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SignalDevice; +import com.plaid.client.model.SignalUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorSignalEvaluateRequest defines the request schema for `/processor/signal/evaluate` + */ +@ApiModel(description = "ProcessorSignalEvaluateRequest defines the request schema for `/processor/signal/evaluate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorSignalEvaluateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_CLIENT_TRANSACTION_ID = "client_transaction_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_TRANSACTION_ID) + private String clientTransactionId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_USER_PRESENT = "user_present"; + @SerializedName(SERIALIZED_NAME_USER_PRESENT) + private Boolean userPresent; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_IS_RECURRING = "is_recurring"; + @SerializedName(SERIALIZED_NAME_IS_RECURRING) + private Boolean isRecurring; + + public static final String SERIALIZED_NAME_DEFAULT_PAYMENT_METHOD = "default_payment_method"; + @SerializedName(SERIALIZED_NAME_DEFAULT_PAYMENT_METHOD) + private String defaultPaymentMethod; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private SignalUser user; + + public static final String SERIALIZED_NAME_DEVICE = "device"; + @SerializedName(SERIALIZED_NAME_DEVICE) + private SignalDevice device; + + public static final String SERIALIZED_NAME_RULESET_KEY = "ruleset_key"; + @SerializedName(SERIALIZED_NAME_RULESET_KEY) + private String rulesetKey; + + + public ProcessorSignalEvaluateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorSignalEvaluateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorSignalEvaluateRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorSignalEvaluateRequest clientTransactionId(String clientTransactionId) { + + this.clientTransactionId = clientTransactionId; + return this; + } + + /** + * The unique ID that you would like to use to refer to this transaction. For your convenience mapping your internal data, you could use your internal ID/identifier for this transaction. The max length for this field is 36 characters. + * @return clientTransactionId + **/ + @ApiModelProperty(required = true, value = "The unique ID that you would like to use to refer to this transaction. For your convenience mapping your internal data, you could use your internal ID/identifier for this transaction. The max length for this field is 36 characters.") + + public String getClientTransactionId() { + return clientTransactionId; + } + + + public void setClientTransactionId(String clientTransactionId) { + this.clientTransactionId = clientTransactionId; + } + + + public ProcessorSignalEvaluateRequest amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The transaction amount, in USD (e.g. `102.05`) + * @return amount + **/ + @ApiModelProperty(required = true, value = "The transaction amount, in USD (e.g. `102.05`)") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public ProcessorSignalEvaluateRequest userPresent(Boolean userPresent) { + + this.userPresent = userPresent; + return this; + } + + /** + * `true` if the end user is present while initiating the ACH transfer and the endpoint is being called; `false` otherwise (for example, when the ACH transfer is scheduled and the end user is not present, or you call this endpoint after the ACH transfer but before submitting the Nacha file for ACH processing). + * @return userPresent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "`true` if the end user is present while initiating the ACH transfer and the endpoint is being called; `false` otherwise (for example, when the ACH transfer is scheduled and the end user is not present, or you call this endpoint after the ACH transfer but before submitting the Nacha file for ACH processing).") + + public Boolean getUserPresent() { + return userPresent; + } + + + public void setUserPresent(Boolean userPresent) { + this.userPresent = userPresent; + } + + + public ProcessorSignalEvaluateRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. This ID is used to correlate requests by a user with multiple Items. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique ID that identifies the end user in your system. This ID is used to correlate requests by a user with multiple Items. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public ProcessorSignalEvaluateRequest isRecurring(Boolean isRecurring) { + + this.isRecurring = isRecurring; + return this; + } + + /** + * **true** if the ACH transaction is a recurring transaction; **false** otherwise. + * @return isRecurring + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "**true** if the ACH transaction is a recurring transaction; **false** otherwise.") + + public Boolean getIsRecurring() { + return isRecurring; + } + + + public void setIsRecurring(Boolean isRecurring) { + this.isRecurring = isRecurring; + } + + + public ProcessorSignalEvaluateRequest defaultPaymentMethod(String defaultPaymentMethod) { + + this.defaultPaymentMethod = defaultPaymentMethod; + return this; + } + + /** + * The default ACH payment method to complete the transaction. `SAME_DAY_ACH`: Same Day ACH by Nacha. The debit transaction is processed and settled on the same day. `STANDARD_ACH`: Standard ACH by Nacha. `MULTIPLE_PAYMENT_METHODS`: If there is no default debit rail or there are multiple payment methods. Possible values: `SAME_DAY_ACH`, `STANDARD_ACH`, `MULTIPLE_PAYMENT_METHODS` + * @return defaultPaymentMethod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The default ACH payment method to complete the transaction. `SAME_DAY_ACH`: Same Day ACH by Nacha. The debit transaction is processed and settled on the same day. `STANDARD_ACH`: Standard ACH by Nacha. `MULTIPLE_PAYMENT_METHODS`: If there is no default debit rail or there are multiple payment methods. Possible values: `SAME_DAY_ACH`, `STANDARD_ACH`, `MULTIPLE_PAYMENT_METHODS`") + + public String getDefaultPaymentMethod() { + return defaultPaymentMethod; + } + + + public void setDefaultPaymentMethod(String defaultPaymentMethod) { + this.defaultPaymentMethod = defaultPaymentMethod; + } + + + public ProcessorSignalEvaluateRequest user(SignalUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalUser getUser() { + return user; + } + + + public void setUser(SignalUser user) { + this.user = user; + } + + + public ProcessorSignalEvaluateRequest device(SignalDevice device) { + + this.device = device; + return this; + } + + /** + * Get device + * @return device + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalDevice getDevice() { + return device; + } + + + public void setDevice(SignalDevice device) { + this.device = device; + } + + + public ProcessorSignalEvaluateRequest rulesetKey(String rulesetKey) { + + this.rulesetKey = rulesetKey; + return this; + } + + /** + * The key of the ruleset to use for this transaction. You can configure a ruleset using the Plaid Dashboard, under [Signal->Rules](https://dashboard.plaid.com/signal/risk-profiles). If not provided, for customers who began using Signal Transaction Scores before October 15, 2025, by default, no ruleset will be used; for customers who began using Signal Transaction Scores after that date, or for Balance customers, the `default` ruleset will be used. For more details, or to opt out of using a ruleset, see [Signal Rules](https://plaid.com/docs/signal/signal-rules/). + * @return rulesetKey + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The key of the ruleset to use for this transaction. You can configure a ruleset using the Plaid Dashboard, under [Signal->Rules](https://dashboard.plaid.com/signal/risk-profiles). If not provided, for customers who began using Signal Transaction Scores before October 15, 2025, by default, no ruleset will be used; for customers who began using Signal Transaction Scores after that date, or for Balance customers, the `default` ruleset will be used. For more details, or to opt out of using a ruleset, see [Signal Rules](https://plaid.com/docs/signal/signal-rules/).") + + public String getRulesetKey() { + return rulesetKey; + } + + + public void setRulesetKey(String rulesetKey) { + this.rulesetKey = rulesetKey; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorSignalEvaluateRequest processorSignalEvaluateRequest = (ProcessorSignalEvaluateRequest) o; + return Objects.equals(this.clientId, processorSignalEvaluateRequest.clientId) && + Objects.equals(this.secret, processorSignalEvaluateRequest.secret) && + Objects.equals(this.processorToken, processorSignalEvaluateRequest.processorToken) && + Objects.equals(this.clientTransactionId, processorSignalEvaluateRequest.clientTransactionId) && + Objects.equals(this.amount, processorSignalEvaluateRequest.amount) && + Objects.equals(this.userPresent, processorSignalEvaluateRequest.userPresent) && + Objects.equals(this.clientUserId, processorSignalEvaluateRequest.clientUserId) && + Objects.equals(this.isRecurring, processorSignalEvaluateRequest.isRecurring) && + Objects.equals(this.defaultPaymentMethod, processorSignalEvaluateRequest.defaultPaymentMethod) && + Objects.equals(this.user, processorSignalEvaluateRequest.user) && + Objects.equals(this.device, processorSignalEvaluateRequest.device) && + Objects.equals(this.rulesetKey, processorSignalEvaluateRequest.rulesetKey); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, processorToken, clientTransactionId, amount, userPresent, clientUserId, isRecurring, defaultPaymentMethod, user, device, rulesetKey); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorSignalEvaluateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" clientTransactionId: ").append(toIndentedString(clientTransactionId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" userPresent: ").append(toIndentedString(userPresent)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" isRecurring: ").append(toIndentedString(isRecurring)).append("\n"); + sb.append(" defaultPaymentMethod: ").append(toIndentedString(defaultPaymentMethod)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" device: ").append(toIndentedString(device)).append("\n"); + sb.append(" rulesetKey: ").append(toIndentedString(rulesetKey)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorSignalEvaluateResponse.java b/src/main/java/com/plaid/client/model/ProcessorSignalEvaluateResponse.java new file mode 100644 index 0000000000..bcec8e81fe --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorSignalEvaluateResponse.java @@ -0,0 +1,228 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Ruleset; +import com.plaid.client.model.SignalEvaluateCoreAttributes; +import com.plaid.client.model.SignalScores; +import com.plaid.client.model.SignalWarning; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * ProcessorSignalEvaluateResponse defines the response schema for `/processor/signal/evaluate` + */ +@ApiModel(description = "ProcessorSignalEvaluateResponse defines the response schema for `/processor/signal/evaluate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorSignalEvaluateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_SCORES = "scores"; + @SerializedName(SERIALIZED_NAME_SCORES) + private SignalScores scores; + + public static final String SERIALIZED_NAME_CORE_ATTRIBUTES = "core_attributes"; + @SerializedName(SERIALIZED_NAME_CORE_ATTRIBUTES) + private SignalEvaluateCoreAttributes coreAttributes; + + public static final String SERIALIZED_NAME_RULESET = "ruleset"; + @SerializedName(SERIALIZED_NAME_RULESET) + private Ruleset ruleset; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = null; + + + public ProcessorSignalEvaluateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public ProcessorSignalEvaluateResponse scores(SignalScores scores) { + + this.scores = scores; + return this; + } + + /** + * Get scores + * @return scores + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public SignalScores getScores() { + return scores; + } + + + public void setScores(SignalScores scores) { + this.scores = scores; + } + + + public ProcessorSignalEvaluateResponse coreAttributes(SignalEvaluateCoreAttributes coreAttributes) { + + this.coreAttributes = coreAttributes; + return this; + } + + /** + * Get coreAttributes + * @return coreAttributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalEvaluateCoreAttributes getCoreAttributes() { + return coreAttributes; + } + + + public void setCoreAttributes(SignalEvaluateCoreAttributes coreAttributes) { + this.coreAttributes = coreAttributes; + } + + + public ProcessorSignalEvaluateResponse ruleset(Ruleset ruleset) { + + this.ruleset = ruleset; + return this; + } + + /** + * Get ruleset + * @return ruleset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Ruleset getRuleset() { + return ruleset; + } + + + public void setRuleset(Ruleset ruleset) { + this.ruleset = ruleset; + } + + + public ProcessorSignalEvaluateResponse warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public ProcessorSignalEvaluateResponse addWarningsItem(SignalWarning warningsItem) { + if (this.warnings == null) { + this.warnings = new ArrayList<>(); + } + this.warnings.add(warningsItem); + return this; + } + + /** + * If bank information was not available to be used in the Signal Transaction Scores model, this array contains warnings describing why bank data is missing. If you want to receive an API error instead of scores in the case of missing bank data, file a support ticket or contact your Plaid account manager. + * @return warnings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If bank information was not available to be used in the Signal Transaction Scores model, this array contains warnings describing why bank data is missing. If you want to receive an API error instead of scores in the case of missing bank data, file a support ticket or contact your Plaid account manager.") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorSignalEvaluateResponse processorSignalEvaluateResponse = (ProcessorSignalEvaluateResponse) o; + return Objects.equals(this.requestId, processorSignalEvaluateResponse.requestId) && + Objects.equals(this.scores, processorSignalEvaluateResponse.scores) && + Objects.equals(this.coreAttributes, processorSignalEvaluateResponse.coreAttributes) && + Objects.equals(this.ruleset, processorSignalEvaluateResponse.ruleset) && + Objects.equals(this.warnings, processorSignalEvaluateResponse.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, scores, coreAttributes, ruleset, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorSignalEvaluateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" scores: ").append(toIndentedString(scores)).append("\n"); + sb.append(" coreAttributes: ").append(toIndentedString(coreAttributes)).append("\n"); + sb.append(" ruleset: ").append(toIndentedString(ruleset)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorSignalPrepareRequest.java b/src/main/java/com/plaid/client/model/ProcessorSignalPrepareRequest.java new file mode 100644 index 0000000000..171665cb53 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorSignalPrepareRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorSignalPrepareRequest defines the request schema for `/processor/signal/prepare` + */ +@ApiModel(description = "ProcessorSignalPrepareRequest defines the request schema for `/processor/signal/prepare`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorSignalPrepareRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + + public ProcessorSignalPrepareRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorSignalPrepareRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorSignalPrepareRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorSignalPrepareRequest processorSignalPrepareRequest = (ProcessorSignalPrepareRequest) o; + return Objects.equals(this.clientId, processorSignalPrepareRequest.clientId) && + Objects.equals(this.secret, processorSignalPrepareRequest.secret) && + Objects.equals(this.processorToken, processorSignalPrepareRequest.processorToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, processorToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorSignalPrepareRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorSignalPrepareResponse.java b/src/main/java/com/plaid/client/model/ProcessorSignalPrepareResponse.java new file mode 100644 index 0000000000..ca1ecf6978 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorSignalPrepareResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorSignalPrepareResponse defines the response schema for `/processor/signal/prepare` + */ +@ApiModel(description = "ProcessorSignalPrepareResponse defines the response schema for `/processor/signal/prepare`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorSignalPrepareResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorSignalPrepareResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorSignalPrepareResponse processorSignalPrepareResponse = (ProcessorSignalPrepareResponse) o; + return Objects.equals(this.requestId, processorSignalPrepareResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorSignalPrepareResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorSignalReturnReportRequest.java b/src/main/java/com/plaid/client/model/ProcessorSignalReturnReportRequest.java new file mode 100644 index 0000000000..da010c44ec --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorSignalReturnReportRequest.java @@ -0,0 +1,242 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * ProcessorSignalReturnReportRequest defines the request schema for `/processor/signal/return/report` + */ +@ApiModel(description = "ProcessorSignalReturnReportRequest defines the request schema for `/processor/signal/return/report`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorSignalReturnReportRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_CLIENT_TRANSACTION_ID = "client_transaction_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_TRANSACTION_ID) + private String clientTransactionId; + + public static final String SERIALIZED_NAME_RETURN_CODE = "return_code"; + @SerializedName(SERIALIZED_NAME_RETURN_CODE) + private String returnCode; + + public static final String SERIALIZED_NAME_RETURNED_AT = "returned_at"; + @SerializedName(SERIALIZED_NAME_RETURNED_AT) + private OffsetDateTime returnedAt; + + + public ProcessorSignalReturnReportRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorSignalReturnReportRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorSignalReturnReportRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorSignalReturnReportRequest clientTransactionId(String clientTransactionId) { + + this.clientTransactionId = clientTransactionId; + return this; + } + + /** + * Must be the same as the `client_transaction_id` supplied when calling `/processor/signal/evaluate` + * @return clientTransactionId + **/ + @ApiModelProperty(required = true, value = "Must be the same as the `client_transaction_id` supplied when calling `/processor/signal/evaluate`") + + public String getClientTransactionId() { + return clientTransactionId; + } + + + public void setClientTransactionId(String clientTransactionId) { + this.clientTransactionId = clientTransactionId; + } + + + public ProcessorSignalReturnReportRequest returnCode(String returnCode) { + + this.returnCode = returnCode; + return this; + } + + /** + * Must be a valid ACH return code (e.g. \"R01\") If formatted incorrectly, this will result in an [`INVALID_FIELD`](https://plaid.com/docs/errors/invalid-request/#invalid_field) error. + * @return returnCode + **/ + @ApiModelProperty(required = true, value = "Must be a valid ACH return code (e.g. \"R01\") If formatted incorrectly, this will result in an [`INVALID_FIELD`](https://plaid.com/docs/errors/invalid-request/#invalid_field) error.") + + public String getReturnCode() { + return returnCode; + } + + + public void setReturnCode(String returnCode) { + this.returnCode = returnCode; + } + + + public ProcessorSignalReturnReportRequest returnedAt(OffsetDateTime returnedAt) { + + this.returnedAt = returnedAt; + return this; + } + + /** + * Date and time when you receive the returns from your payment processors, in ISO 8601 format (`YYYY-MM-DDTHH:mm:ssZ`). + * @return returnedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Date and time when you receive the returns from your payment processors, in ISO 8601 format (`YYYY-MM-DDTHH:mm:ssZ`).") + + public OffsetDateTime getReturnedAt() { + return returnedAt; + } + + + public void setReturnedAt(OffsetDateTime returnedAt) { + this.returnedAt = returnedAt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorSignalReturnReportRequest processorSignalReturnReportRequest = (ProcessorSignalReturnReportRequest) o; + return Objects.equals(this.clientId, processorSignalReturnReportRequest.clientId) && + Objects.equals(this.secret, processorSignalReturnReportRequest.secret) && + Objects.equals(this.processorToken, processorSignalReturnReportRequest.processorToken) && + Objects.equals(this.clientTransactionId, processorSignalReturnReportRequest.clientTransactionId) && + Objects.equals(this.returnCode, processorSignalReturnReportRequest.returnCode) && + Objects.equals(this.returnedAt, processorSignalReturnReportRequest.returnedAt); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, processorToken, clientTransactionId, returnCode, returnedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorSignalReturnReportRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" clientTransactionId: ").append(toIndentedString(clientTransactionId)).append("\n"); + sb.append(" returnCode: ").append(toIndentedString(returnCode)).append("\n"); + sb.append(" returnedAt: ").append(toIndentedString(returnedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorSignalReturnReportResponse.java b/src/main/java/com/plaid/client/model/ProcessorSignalReturnReportResponse.java new file mode 100644 index 0000000000..ae7d6f9ad8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorSignalReturnReportResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorSignalReturnReportResponse defines the response schema for `/processor/signal/return/report` + */ +@ApiModel(description = "ProcessorSignalReturnReportResponse defines the response schema for `/processor/signal/return/report`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorSignalReturnReportResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorSignalReturnReportResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorSignalReturnReportResponse processorSignalReturnReportResponse = (ProcessorSignalReturnReportResponse) o; + return Objects.equals(this.requestId, processorSignalReturnReportResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorSignalReturnReportResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorStripeBankAccountTokenCreateRequest.java b/src/main/java/com/plaid/client/model/ProcessorStripeBankAccountTokenCreateRequest.java new file mode 100644 index 0000000000..35f96cbdae --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorStripeBankAccountTokenCreateRequest.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorStripeBankAccountTokenCreateRequest defines the request schema for `/processor/stripe/bank_account_token/create` + */ +@ApiModel(description = "ProcessorStripeBankAccountTokenCreateRequest defines the request schema for `/processor/stripe/bank_account_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorStripeBankAccountTokenCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + + public ProcessorStripeBankAccountTokenCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorStripeBankAccountTokenCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorStripeBankAccountTokenCreateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public ProcessorStripeBankAccountTokenCreateRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The `account_id` value obtained from the `onSuccess` callback in Link + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The `account_id` value obtained from the `onSuccess` callback in Link") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorStripeBankAccountTokenCreateRequest processorStripeBankAccountTokenCreateRequest = (ProcessorStripeBankAccountTokenCreateRequest) o; + return Objects.equals(this.clientId, processorStripeBankAccountTokenCreateRequest.clientId) && + Objects.equals(this.secret, processorStripeBankAccountTokenCreateRequest.secret) && + Objects.equals(this.accessToken, processorStripeBankAccountTokenCreateRequest.accessToken) && + Objects.equals(this.accountId, processorStripeBankAccountTokenCreateRequest.accountId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, accountId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorStripeBankAccountTokenCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorStripeBankAccountTokenCreateResponse.java b/src/main/java/com/plaid/client/model/ProcessorStripeBankAccountTokenCreateResponse.java new file mode 100644 index 0000000000..79cd580045 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorStripeBankAccountTokenCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorStripeBankAccountTokenCreateResponse defines the response schema for `/processor/stripe/bank_account_token/create` + */ +@ApiModel(description = "ProcessorStripeBankAccountTokenCreateResponse defines the response schema for `/processor/stripe/bank_account_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorStripeBankAccountTokenCreateResponse { + public static final String SERIALIZED_NAME_STRIPE_BANK_ACCOUNT_TOKEN = "stripe_bank_account_token"; + @SerializedName(SERIALIZED_NAME_STRIPE_BANK_ACCOUNT_TOKEN) + private String stripeBankAccountToken; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorStripeBankAccountTokenCreateResponse stripeBankAccountToken(String stripeBankAccountToken) { + + this.stripeBankAccountToken = stripeBankAccountToken; + return this; + } + + /** + * A token that can be sent to Stripe for use in making API calls to Plaid + * @return stripeBankAccountToken + **/ + @ApiModelProperty(required = true, value = "A token that can be sent to Stripe for use in making API calls to Plaid") + + public String getStripeBankAccountToken() { + return stripeBankAccountToken; + } + + + public void setStripeBankAccountToken(String stripeBankAccountToken) { + this.stripeBankAccountToken = stripeBankAccountToken; + } + + + public ProcessorStripeBankAccountTokenCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorStripeBankAccountTokenCreateResponse processorStripeBankAccountTokenCreateResponse = (ProcessorStripeBankAccountTokenCreateResponse) o; + return Objects.equals(this.stripeBankAccountToken, processorStripeBankAccountTokenCreateResponse.stripeBankAccountToken) && + Objects.equals(this.requestId, processorStripeBankAccountTokenCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(stripeBankAccountToken, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorStripeBankAccountTokenCreateResponse {\n"); + sb.append(" stripeBankAccountToken: ").append(toIndentedString(stripeBankAccountToken)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorSyncUpdatesAvailableWebhook.java b/src/main/java/com/plaid/client/model/ProcessorSyncUpdatesAvailableWebhook.java new file mode 100644 index 0000000000..6e0ef79223 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorSyncUpdatesAvailableWebhook.java @@ -0,0 +1,239 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when an Item's transactions change. This can be due to any event resulting in new changes, such as an initial 30-day transactions fetch upon the initialization of an Item with transactions, the backfill of historical transactions that occurs shortly after, or when changes are populated from a regularly-scheduled transactions update job. It is recommended to listen for the `SYNC_UPDATES_AVAILABLE` webhook when using the `/processor/transactions/sync` endpoint. Note that when using `/processor/transactions/sync` the older webhooks `INITIAL_UPDATE`, `HISTORICAL_UPDATE`, `DEFAULT_UPDATE`, and `TRANSACTIONS_REMOVED`, which are intended for use with `/processor/transactions/get`, will also continue to be sent in order to maintain backwards compatibility. It is not necessary to listen for and respond to those webhooks when using `/processor/transactions/sync`. After receipt of this webhook, the new changes can be fetched for the Item from `/processor/transactions/sync`. Note that to receive this webhook for an Item, `/processor/transactions/sync` must have been called at least once on that Item. This means that, unlike the `INITIAL_UPDATE` and `HISTORICAL_UPDATE` webhooks, it will not fire immediately upon Item creation. If `/processor/transactions/sync` is called on an Item that was *not* initialized with Transactions, the webhook will fire twice: once the first 30 days of transactions data has been fetched, and a second time when all available historical transactions data has been fetched. This webhook will typically not fire in the Sandbox environment, due to the lack of dynamic transactions data. To test this webhook in Sandbox, call `/sandbox/item/fire_webhook`. + */ +@ApiModel(description = "This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when an Item's transactions change. This can be due to any event resulting in new changes, such as an initial 30-day transactions fetch upon the initialization of an Item with transactions, the backfill of historical transactions that occurs shortly after, or when changes are populated from a regularly-scheduled transactions update job. It is recommended to listen for the `SYNC_UPDATES_AVAILABLE` webhook when using the `/processor/transactions/sync` endpoint. Note that when using `/processor/transactions/sync` the older webhooks `INITIAL_UPDATE`, `HISTORICAL_UPDATE`, `DEFAULT_UPDATE`, and `TRANSACTIONS_REMOVED`, which are intended for use with `/processor/transactions/get`, will also continue to be sent in order to maintain backwards compatibility. It is not necessary to listen for and respond to those webhooks when using `/processor/transactions/sync`. After receipt of this webhook, the new changes can be fetched for the Item from `/processor/transactions/sync`. Note that to receive this webhook for an Item, `/processor/transactions/sync` must have been called at least once on that Item. This means that, unlike the `INITIAL_UPDATE` and `HISTORICAL_UPDATE` webhooks, it will not fire immediately upon Item creation. If `/processor/transactions/sync` is called on an Item that was *not* initialized with Transactions, the webhook will fire twice: once the first 30 days of transactions data has been fetched, and a second time when all available historical transactions data has been fetched. This webhook will typically not fire in the Sandbox environment, due to the lack of dynamic transactions data. To test this webhook in Sandbox, call `/sandbox/item/fire_webhook`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorSyncUpdatesAvailableWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_INITIAL_UPDATE_COMPLETE = "initial_update_complete"; + @SerializedName(SERIALIZED_NAME_INITIAL_UPDATE_COMPLETE) + private Boolean initialUpdateComplete; + + public static final String SERIALIZED_NAME_HISTORICAL_UPDATE_COMPLETE = "historical_update_complete"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_UPDATE_COMPLETE) + private Boolean historicalUpdateComplete; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ProcessorSyncUpdatesAvailableWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ProcessorSyncUpdatesAvailableWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `SYNC_UPDATES_AVAILABLE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`SYNC_UPDATES_AVAILABLE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ProcessorSyncUpdatesAvailableWebhook accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public ProcessorSyncUpdatesAvailableWebhook initialUpdateComplete(Boolean initialUpdateComplete) { + + this.initialUpdateComplete = initialUpdateComplete; + return this; + } + + /** + * Indicates if initial pull information is available. + * @return initialUpdateComplete + **/ + @ApiModelProperty(required = true, value = "Indicates if initial pull information is available.") + + public Boolean getInitialUpdateComplete() { + return initialUpdateComplete; + } + + + public void setInitialUpdateComplete(Boolean initialUpdateComplete) { + this.initialUpdateComplete = initialUpdateComplete; + } + + + public ProcessorSyncUpdatesAvailableWebhook historicalUpdateComplete(Boolean historicalUpdateComplete) { + + this.historicalUpdateComplete = historicalUpdateComplete; + return this; + } + + /** + * Indicates if historical pull information is available. + * @return historicalUpdateComplete + **/ + @ApiModelProperty(required = true, value = "Indicates if historical pull information is available.") + + public Boolean getHistoricalUpdateComplete() { + return historicalUpdateComplete; + } + + + public void setHistoricalUpdateComplete(Boolean historicalUpdateComplete) { + this.historicalUpdateComplete = historicalUpdateComplete; + } + + + public ProcessorSyncUpdatesAvailableWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorSyncUpdatesAvailableWebhook processorSyncUpdatesAvailableWebhook = (ProcessorSyncUpdatesAvailableWebhook) o; + return Objects.equals(this.webhookType, processorSyncUpdatesAvailableWebhook.webhookType) && + Objects.equals(this.webhookCode, processorSyncUpdatesAvailableWebhook.webhookCode) && + Objects.equals(this.accountId, processorSyncUpdatesAvailableWebhook.accountId) && + Objects.equals(this.initialUpdateComplete, processorSyncUpdatesAvailableWebhook.initialUpdateComplete) && + Objects.equals(this.historicalUpdateComplete, processorSyncUpdatesAvailableWebhook.historicalUpdateComplete) && + Objects.equals(this.environment, processorSyncUpdatesAvailableWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, accountId, initialUpdateComplete, historicalUpdateComplete, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorSyncUpdatesAvailableWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" initialUpdateComplete: ").append(toIndentedString(initialUpdateComplete)).append("\n"); + sb.append(" historicalUpdateComplete: ").append(toIndentedString(historicalUpdateComplete)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTokenCreateRequest.java b/src/main/java/com/plaid/client/model/ProcessorTokenCreateRequest.java new file mode 100644 index 0000000000..cb1e39f544 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTokenCreateRequest.java @@ -0,0 +1,415 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorTokenCreateRequest defines the request schema for `/processor/token/create` + */ +@ApiModel(description = "ProcessorTokenCreateRequest defines the request schema for `/processor/token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTokenCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + /** + * The processor you are integrating with. + */ + @JsonAdapter(ProcessorEnum.Adapter.class) + public enum ProcessorEnum { + DWOLLA("dwolla"), + + GALILEO("galileo"), + + MODERN_TREASURY("modern_treasury"), + + OCROLUS("ocrolus"), + + VESTA("vesta"), + + DRIVEWEALTH("drivewealth"), + + VOPAY("vopay"), + + ACHQ("achq"), + + CHECK("check"), + + CHECKBOOK("checkbook"), + + CIRCLE("circle"), + + SILA_MONEY("sila_money"), + + RIZE("rize"), + + SVB_API("svb_api"), + + UNIT("unit"), + + WYRE("wyre"), + + LITHIC("lithic"), + + ALPACA("alpaca"), + + ASTRA("astra"), + + MOOV("moov"), + + TREASURY_PRIME("treasury_prime"), + + MARQETA("marqeta"), + + CHECKOUT("checkout"), + + SOLID("solid"), + + HIGHNOTE("highnote"), + + GEMINI("gemini"), + + APEX_CLEARING("apex_clearing"), + + GUSTO("gusto"), + + ADYEN("adyen"), + + ATOMIC("atomic"), + + I2C("i2c"), + + WEPAY("wepay"), + + RISKIFIED("riskified"), + + UTB("utb"), + + ADP_ROLL("adp_roll"), + + FORTRESS_TRUST("fortress_trust"), + + BOND("bond"), + + BAKKT("bakkt"), + + TEAL("teal"), + + ZERO_HASH("zero_hash"), + + TABA_PAY("taba_pay"), + + KNOT("knot"), + + SARDINE("sardine"), + + ALLOY("alloy"), + + FINIX("finix"), + + NUVEI("nuvei"), + + LAYER("layer"), + + BOOM("boom"), + + PAYNOTE("paynote"), + + STAKE("stake"), + + WEDBUSH("wedbush"), + + ESUSU("esusu"), + + ANSA("ansa"), + + SCRIBEUP("scribeup"), + + STRADDLE("straddle"), + + LOANPRO("loanpro"), + + BLOOM_CREDIT("bloom_credit"), + + SFOX("sfox"), + + BRALE("brale"), + + PARAFIN("parafin"), + + CARDLESS("cardless"), + + OPEN_LEDGER("open_ledger"), + + VALON("valon"), + + GAINBRIDGE("gainbridge"), + + CARDLYTICS("cardlytics"), + + PINWHEEL("pinwheel"), + + THREAD_BANK("thread_bank"), + + ARRAY("array"), + + FIANT("fiant"), + + OATFI("oatfi"), + + CURINOS("curinos"), + + FRAME("frame"), + + INTERCHECKS("interchecks"), + + INTERCHANGE("interchange"), + + ATOMICFI("atomicfi"), + + PAY("pay"), + + NATURAL("natural"), + + KANMON("kanmon"), + + KICK("kick"), + + INCREASE("increase"); + + private String value; + + ProcessorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProcessorEnum fromValue(String value) { + for (ProcessorEnum b : ProcessorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProcessorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProcessorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProcessorEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROCESSOR = "processor"; + @SerializedName(SERIALIZED_NAME_PROCESSOR) + private ProcessorEnum processor; + + + public ProcessorTokenCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorTokenCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorTokenCreateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public ProcessorTokenCreateRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The `account_id` value obtained from the `onSuccess` callback in Link + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The `account_id` value obtained from the `onSuccess` callback in Link") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public ProcessorTokenCreateRequest processor(ProcessorEnum processor) { + + this.processor = processor; + return this; + } + + /** + * The processor you are integrating with. + * @return processor + **/ + @ApiModelProperty(required = true, value = "The processor you are integrating with.") + + public ProcessorEnum getProcessor() { + return processor; + } + + + public void setProcessor(ProcessorEnum processor) { + this.processor = processor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTokenCreateRequest processorTokenCreateRequest = (ProcessorTokenCreateRequest) o; + return Objects.equals(this.clientId, processorTokenCreateRequest.clientId) && + Objects.equals(this.secret, processorTokenCreateRequest.secret) && + Objects.equals(this.accessToken, processorTokenCreateRequest.accessToken) && + Objects.equals(this.accountId, processorTokenCreateRequest.accountId) && + Objects.equals(this.processor, processorTokenCreateRequest.processor); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, accountId, processor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTokenCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" processor: ").append(toIndentedString(processor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTokenCreateResponse.java b/src/main/java/com/plaid/client/model/ProcessorTokenCreateResponse.java new file mode 100644 index 0000000000..4775acc88f --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTokenCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorTokenCreateResponse defines the response schema for `/processor/token/create` and `/processor/apex/processor_token/create` + */ +@ApiModel(description = "ProcessorTokenCreateResponse defines the response schema for `/processor/token/create` and `/processor/apex/processor_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTokenCreateResponse { + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorTokenCreateResponse processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The `processor_token` that can then be used by the Plaid partner to make API requests + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The `processor_token` that can then be used by the Plaid partner to make API requests") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorTokenCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTokenCreateResponse processorTokenCreateResponse = (ProcessorTokenCreateResponse) o; + return Objects.equals(this.processorToken, processorTokenCreateResponse.processorToken) && + Objects.equals(this.requestId, processorTokenCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(processorToken, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTokenCreateResponse {\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTokenPermissionsGetRequest.java b/src/main/java/com/plaid/client/model/ProcessorTokenPermissionsGetRequest.java new file mode 100644 index 0000000000..09b5ae462d --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTokenPermissionsGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorTokenPermissionsGetRequest defines the request schema for `/processor/token/permissions/get` + */ +@ApiModel(description = "ProcessorTokenPermissionsGetRequest defines the request schema for `/processor/token/permissions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTokenPermissionsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + + public ProcessorTokenPermissionsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorTokenPermissionsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorTokenPermissionsGetRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTokenPermissionsGetRequest processorTokenPermissionsGetRequest = (ProcessorTokenPermissionsGetRequest) o; + return Objects.equals(this.clientId, processorTokenPermissionsGetRequest.clientId) && + Objects.equals(this.secret, processorTokenPermissionsGetRequest.secret) && + Objects.equals(this.processorToken, processorTokenPermissionsGetRequest.processorToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, processorToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTokenPermissionsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTokenPermissionsGetResponse.java b/src/main/java/com/plaid/client/model/ProcessorTokenPermissionsGetResponse.java new file mode 100644 index 0000000000..f4c500df35 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTokenPermissionsGetResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * ProcessorTokenPermissionsGetResponse defines the response schema for `/processor/token/permissions/get` + */ +@ApiModel(description = "ProcessorTokenPermissionsGetResponse defines the response schema for `/processor/token/permissions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTokenPermissionsGetResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = new ArrayList<>(); + + + public ProcessorTokenPermissionsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public ProcessorTokenPermissionsGetResponse products(List products) { + + this.products = products; + return this; + } + + public ProcessorTokenPermissionsGetResponse addProductsItem(Products productsItem) { + this.products.add(productsItem); + return this; + } + + /** + * A list of products the processor token should have access to. An empty list means that the processor has access to all available products, including future products. + * @return products + **/ + @ApiModelProperty(required = true, value = "A list of products the processor token should have access to. An empty list means that the processor has access to all available products, including future products.") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTokenPermissionsGetResponse processorTokenPermissionsGetResponse = (ProcessorTokenPermissionsGetResponse) o; + return Objects.equals(this.requestId, processorTokenPermissionsGetResponse.requestId) && + Objects.equals(this.products, processorTokenPermissionsGetResponse.products); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, products); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTokenPermissionsGetResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTokenPermissionsSetRequest.java b/src/main/java/com/plaid/client/model/ProcessorTokenPermissionsSetRequest.java new file mode 100644 index 0000000000..8237d5c4ce --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTokenPermissionsSetRequest.java @@ -0,0 +1,192 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Products; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * ProcessorTokenPermissionsSetRequest defines the request schema for `/processor/token/permissions/set` + */ +@ApiModel(description = "ProcessorTokenPermissionsSetRequest defines the request schema for `/processor/token/permissions/set`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTokenPermissionsSetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_PRODUCTS = "products"; + @SerializedName(SERIALIZED_NAME_PRODUCTS) + private List products = new ArrayList<>(); + + + public ProcessorTokenPermissionsSetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorTokenPermissionsSetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorTokenPermissionsSetRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorTokenPermissionsSetRequest products(List products) { + + this.products = products; + return this; + } + + public ProcessorTokenPermissionsSetRequest addProductsItem(Products productsItem) { + this.products.add(productsItem); + return this; + } + + /** + * A list of products the processor token should have access to. An empty list will grant access to all products. + * @return products + **/ + @ApiModelProperty(required = true, value = "A list of products the processor token should have access to. An empty list will grant access to all products.") + + public List getProducts() { + return products; + } + + + public void setProducts(List products) { + this.products = products; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTokenPermissionsSetRequest processorTokenPermissionsSetRequest = (ProcessorTokenPermissionsSetRequest) o; + return Objects.equals(this.clientId, processorTokenPermissionsSetRequest.clientId) && + Objects.equals(this.secret, processorTokenPermissionsSetRequest.secret) && + Objects.equals(this.processorToken, processorTokenPermissionsSetRequest.processorToken) && + Objects.equals(this.products, processorTokenPermissionsSetRequest.products); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, processorToken, products); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTokenPermissionsSetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" products: ").append(toIndentedString(products)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTokenPermissionsSetResponse.java b/src/main/java/com/plaid/client/model/ProcessorTokenPermissionsSetResponse.java new file mode 100644 index 0000000000..d89ff64a62 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTokenPermissionsSetResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorTokenPermissionsSetResponse defines the response schema for `/processor/token/permissions/set` + */ +@ApiModel(description = "ProcessorTokenPermissionsSetResponse defines the response schema for `/processor/token/permissions/set`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTokenPermissionsSetResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorTokenPermissionsSetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTokenPermissionsSetResponse processorTokenPermissionsSetResponse = (ProcessorTokenPermissionsSetResponse) o; + return Objects.equals(this.requestId, processorTokenPermissionsSetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTokenPermissionsSetResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTokenWebhookUpdate.java b/src/main/java/com/plaid/client/model/ProcessorTokenWebhookUpdate.java new file mode 100644 index 0000000000..d4ab04a459 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTokenWebhookUpdate.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when a processor updates the webhook URL for a processor token via `/processor/token/webhook/update`. + */ +@ApiModel(description = "This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when a processor updates the webhook URL for a processor token via `/processor/token/webhook/update`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTokenWebhookUpdate { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_NEW_WEBHOOK_URL = "new_webhook_url"; + @SerializedName(SERIALIZED_NAME_NEW_WEBHOOK_URL) + private String newWebhookUrl; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ProcessorTokenWebhookUpdate webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `PROCESSOR_TOKEN` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`PROCESSOR_TOKEN`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ProcessorTokenWebhookUpdate webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `WEBHOOK_UPDATE_ACKNOWLEDGED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`WEBHOOK_UPDATE_ACKNOWLEDGED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ProcessorTokenWebhookUpdate error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public ProcessorTokenWebhookUpdate accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public ProcessorTokenWebhookUpdate newWebhookUrl(String newWebhookUrl) { + + this.newWebhookUrl = newWebhookUrl; + return this; + } + + /** + * The new webhook URL. + * @return newWebhookUrl + **/ + @ApiModelProperty(required = true, value = "The new webhook URL.") + + public String getNewWebhookUrl() { + return newWebhookUrl; + } + + + public void setNewWebhookUrl(String newWebhookUrl) { + this.newWebhookUrl = newWebhookUrl; + } + + + public ProcessorTokenWebhookUpdate environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTokenWebhookUpdate processorTokenWebhookUpdate = (ProcessorTokenWebhookUpdate) o; + return Objects.equals(this.webhookType, processorTokenWebhookUpdate.webhookType) && + Objects.equals(this.webhookCode, processorTokenWebhookUpdate.webhookCode) && + Objects.equals(this.error, processorTokenWebhookUpdate.error) && + Objects.equals(this.accountId, processorTokenWebhookUpdate.accountId) && + Objects.equals(this.newWebhookUrl, processorTokenWebhookUpdate.newWebhookUrl) && + Objects.equals(this.environment, processorTokenWebhookUpdate.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, error, accountId, newWebhookUrl, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTokenWebhookUpdate {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" newWebhookUrl: ").append(toIndentedString(newWebhookUrl)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTokenWebhookUpdateRequest.java b/src/main/java/com/plaid/client/model/ProcessorTokenWebhookUpdateRequest.java new file mode 100644 index 0000000000..5e361849ad --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTokenWebhookUpdateRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorTokenWebhookUpdateRequest defines the request schema for `/processor/token/webhook/update` + */ +@ApiModel(description = "ProcessorTokenWebhookUpdateRequest defines the request schema for `/processor/token/webhook/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTokenWebhookUpdateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public ProcessorTokenWebhookUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorTokenWebhookUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorTokenWebhookUpdateRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorTokenWebhookUpdateRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The new webhook URL to associate with the processor token. To remove a webhook from a processor token, set to `null`. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The new webhook URL to associate with the processor token. To remove a webhook from a processor token, set to `null`.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTokenWebhookUpdateRequest processorTokenWebhookUpdateRequest = (ProcessorTokenWebhookUpdateRequest) o; + return Objects.equals(this.clientId, processorTokenWebhookUpdateRequest.clientId) && + Objects.equals(this.secret, processorTokenWebhookUpdateRequest.secret) && + Objects.equals(this.processorToken, processorTokenWebhookUpdateRequest.processorToken) && + Objects.equals(this.webhook, processorTokenWebhookUpdateRequest.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, processorToken, webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTokenWebhookUpdateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTokenWebhookUpdateResponse.java b/src/main/java/com/plaid/client/model/ProcessorTokenWebhookUpdateResponse.java new file mode 100644 index 0000000000..5213f979e8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTokenWebhookUpdateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorTokenWebhookUpdateResponse defines the response schema for `/processor/token/webhook/update` + */ +@ApiModel(description = "ProcessorTokenWebhookUpdateResponse defines the response schema for `/processor/token/webhook/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTokenWebhookUpdateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorTokenWebhookUpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTokenWebhookUpdateResponse processorTokenWebhookUpdateResponse = (ProcessorTokenWebhookUpdateResponse) o; + return Objects.equals(this.requestId, processorTokenWebhookUpdateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTokenWebhookUpdateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTransactionsGetRequest.java b/src/main/java/com/plaid/client/model/ProcessorTransactionsGetRequest.java new file mode 100644 index 0000000000..49f022cc64 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTransactionsGetRequest.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProcessorTransactionsGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * ProcessorTransactionsGetRequest defines the request schema for `/processor/transactions/get` + */ +@ApiModel(description = "ProcessorTransactionsGetRequest defines the request schema for `/processor/transactions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTransactionsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private ProcessorTransactionsGetRequestOptions options; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + + public ProcessorTransactionsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorTransactionsGetRequest options(ProcessorTransactionsGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProcessorTransactionsGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(ProcessorTransactionsGetRequestOptions options) { + this.options = options; + } + + + public ProcessorTransactionsGetRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorTransactionsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorTransactionsGetRequest startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The earliest date for which data should be returned. Dates should be formatted as YYYY-MM-DD. + * @return startDate + **/ + @ApiModelProperty(required = true, value = "The earliest date for which data should be returned. Dates should be formatted as YYYY-MM-DD.") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public ProcessorTransactionsGetRequest endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The latest date for which data should be returned. Dates should be formatted as YYYY-MM-DD. + * @return endDate + **/ + @ApiModelProperty(required = true, value = "The latest date for which data should be returned. Dates should be formatted as YYYY-MM-DD.") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTransactionsGetRequest processorTransactionsGetRequest = (ProcessorTransactionsGetRequest) o; + return Objects.equals(this.clientId, processorTransactionsGetRequest.clientId) && + Objects.equals(this.options, processorTransactionsGetRequest.options) && + Objects.equals(this.processorToken, processorTransactionsGetRequest.processorToken) && + Objects.equals(this.secret, processorTransactionsGetRequest.secret) && + Objects.equals(this.startDate, processorTransactionsGetRequest.startDate) && + Objects.equals(this.endDate, processorTransactionsGetRequest.endDate); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, options, processorToken, secret, startDate, endDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTransactionsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTransactionsGetRequestOptions.java b/src/main/java/com/plaid/client/model/ProcessorTransactionsGetRequestOptions.java new file mode 100644 index 0000000000..842b50e5e5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTransactionsGetRequestOptions.java @@ -0,0 +1,247 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional object to be used with the request. If specified, `options` must not be `null`. + */ +@ApiModel(description = "An optional object to be used with the request. If specified, `options` must not be `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTransactionsGetRequestOptions { + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 100; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + public static final String SERIALIZED_NAME_INCLUDE_ORIGINAL_DESCRIPTION = "include_original_description"; + @SerializedName(SERIALIZED_NAME_INCLUDE_ORIGINAL_DESCRIPTION) + private Boolean includeOriginalDescription = false; + + public static final String SERIALIZED_NAME_INCLUDE_PERSONAL_FINANCE_CATEGORY_BETA = "include_personal_finance_category_beta"; + @SerializedName(SERIALIZED_NAME_INCLUDE_PERSONAL_FINANCE_CATEGORY_BETA) + private Boolean includePersonalFinanceCategoryBeta = false; + + public static final String SERIALIZED_NAME_INCLUDE_PERSONAL_FINANCE_CATEGORY = "include_personal_finance_category"; + @SerializedName(SERIALIZED_NAME_INCLUDE_PERSONAL_FINANCE_CATEGORY) + private Boolean includePersonalFinanceCategory = false; + + public static final String SERIALIZED_NAME_INCLUDE_LOGO_AND_COUNTERPARTY_BETA = "include_logo_and_counterparty_beta"; + @SerializedName(SERIALIZED_NAME_INCLUDE_LOGO_AND_COUNTERPARTY_BETA) + private Boolean includeLogoAndCounterpartyBeta = false; + + + public ProcessorTransactionsGetRequestOptions count(Integer count) { + + this.count = count; + return this; + } + + /** + * The number of transactions to fetch. + * minimum: 1 + * maximum: 500 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of transactions to fetch.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public ProcessorTransactionsGetRequestOptions offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The number of transactions to skip. The default value is 0. + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of transactions to skip. The default value is 0.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + public ProcessorTransactionsGetRequestOptions includeOriginalDescription(Boolean includeOriginalDescription) { + + this.includeOriginalDescription = includeOriginalDescription; + return this; + } + + /** + * Include the raw unparsed transaction description from the financial institution. + * @return includeOriginalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Include the raw unparsed transaction description from the financial institution.") + + public Boolean getIncludeOriginalDescription() { + return includeOriginalDescription; + } + + + public void setIncludeOriginalDescription(Boolean includeOriginalDescription) { + this.includeOriginalDescription = includeOriginalDescription; + } + + + public ProcessorTransactionsGetRequestOptions includePersonalFinanceCategoryBeta(Boolean includePersonalFinanceCategoryBeta) { + + this.includePersonalFinanceCategoryBeta = includePersonalFinanceCategoryBeta; + return this; + } + + /** + * Personal finance categories are now returned by default. + * @return includePersonalFinanceCategoryBeta + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Personal finance categories are now returned by default.") + + public Boolean getIncludePersonalFinanceCategoryBeta() { + return includePersonalFinanceCategoryBeta; + } + + + public void setIncludePersonalFinanceCategoryBeta(Boolean includePersonalFinanceCategoryBeta) { + this.includePersonalFinanceCategoryBeta = includePersonalFinanceCategoryBeta; + } + + + public ProcessorTransactionsGetRequestOptions includePersonalFinanceCategory(Boolean includePersonalFinanceCategory) { + + this.includePersonalFinanceCategory = includePersonalFinanceCategory; + return this; + } + + /** + * Personal finance categories are now returned by default. + * @return includePersonalFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Personal finance categories are now returned by default.") + + public Boolean getIncludePersonalFinanceCategory() { + return includePersonalFinanceCategory; + } + + + public void setIncludePersonalFinanceCategory(Boolean includePersonalFinanceCategory) { + this.includePersonalFinanceCategory = includePersonalFinanceCategory; + } + + + public ProcessorTransactionsGetRequestOptions includeLogoAndCounterpartyBeta(Boolean includeLogoAndCounterpartyBeta) { + + this.includeLogoAndCounterpartyBeta = includeLogoAndCounterpartyBeta; + return this; + } + + /** + * Counterparties and extra merchant fields are now returned by default. + * @return includeLogoAndCounterpartyBeta + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Counterparties and extra merchant fields are now returned by default.") + + public Boolean getIncludeLogoAndCounterpartyBeta() { + return includeLogoAndCounterpartyBeta; + } + + + public void setIncludeLogoAndCounterpartyBeta(Boolean includeLogoAndCounterpartyBeta) { + this.includeLogoAndCounterpartyBeta = includeLogoAndCounterpartyBeta; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTransactionsGetRequestOptions processorTransactionsGetRequestOptions = (ProcessorTransactionsGetRequestOptions) o; + return Objects.equals(this.count, processorTransactionsGetRequestOptions.count) && + Objects.equals(this.offset, processorTransactionsGetRequestOptions.offset) && + Objects.equals(this.includeOriginalDescription, processorTransactionsGetRequestOptions.includeOriginalDescription) && + Objects.equals(this.includePersonalFinanceCategoryBeta, processorTransactionsGetRequestOptions.includePersonalFinanceCategoryBeta) && + Objects.equals(this.includePersonalFinanceCategory, processorTransactionsGetRequestOptions.includePersonalFinanceCategory) && + Objects.equals(this.includeLogoAndCounterpartyBeta, processorTransactionsGetRequestOptions.includeLogoAndCounterpartyBeta); + } + + @Override + public int hashCode() { + return Objects.hash(count, offset, includeOriginalDescription, includePersonalFinanceCategoryBeta, includePersonalFinanceCategory, includeLogoAndCounterpartyBeta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTransactionsGetRequestOptions {\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append(" includeOriginalDescription: ").append(toIndentedString(includeOriginalDescription)).append("\n"); + sb.append(" includePersonalFinanceCategoryBeta: ").append(toIndentedString(includePersonalFinanceCategoryBeta)).append("\n"); + sb.append(" includePersonalFinanceCategory: ").append(toIndentedString(includePersonalFinanceCategory)).append("\n"); + sb.append(" includeLogoAndCounterpartyBeta: ").append(toIndentedString(includeLogoAndCounterpartyBeta)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTransactionsGetResponse.java b/src/main/java/com/plaid/client/model/ProcessorTransactionsGetResponse.java new file mode 100644 index 0000000000..68528ff4b7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTransactionsGetResponse.java @@ -0,0 +1,191 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.Transaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * ProcessorTransactionsGetResponse defines the response schema for `/processor/transactions/get` + */ +@ApiModel(description = "ProcessorTransactionsGetResponse defines the response schema for `/processor/transactions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTransactionsGetResponse { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private AccountBase account; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TOTAL_TRANSACTIONS = "total_transactions"; + @SerializedName(SERIALIZED_NAME_TOTAL_TRANSACTIONS) + private Integer totalTransactions; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorTransactionsGetResponse account(AccountBase account) { + + this.account = account; + return this; + } + + /** + * Get account + * @return account + **/ + @ApiModelProperty(required = true, value = "") + + public AccountBase getAccount() { + return account; + } + + + public void setAccount(AccountBase account) { + this.account = account; + } + + + public ProcessorTransactionsGetResponse transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public ProcessorTransactionsGetResponse addTransactionsItem(Transaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * An array containing transactions from the account. Transactions are returned in reverse chronological order, with the most recent at the beginning of the array. The maximum number of transactions returned is determined by the `count` parameter. + * @return transactions + **/ + @ApiModelProperty(required = true, value = "An array containing transactions from the account. Transactions are returned in reverse chronological order, with the most recent at the beginning of the array. The maximum number of transactions returned is determined by the `count` parameter.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + public ProcessorTransactionsGetResponse totalTransactions(Integer totalTransactions) { + + this.totalTransactions = totalTransactions; + return this; + } + + /** + * The total number of transactions available within the date range specified. If `total_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched via manipulating the `offset` parameter. + * @return totalTransactions + **/ + @ApiModelProperty(required = true, value = "The total number of transactions available within the date range specified. If `total_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched via manipulating the `offset` parameter.") + + public Integer getTotalTransactions() { + return totalTransactions; + } + + + public void setTotalTransactions(Integer totalTransactions) { + this.totalTransactions = totalTransactions; + } + + + public ProcessorTransactionsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTransactionsGetResponse processorTransactionsGetResponse = (ProcessorTransactionsGetResponse) o; + return Objects.equals(this.account, processorTransactionsGetResponse.account) && + Objects.equals(this.transactions, processorTransactionsGetResponse.transactions) && + Objects.equals(this.totalTransactions, processorTransactionsGetResponse.totalTransactions) && + Objects.equals(this.requestId, processorTransactionsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(account, transactions, totalTransactions, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTransactionsGetResponse {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" totalTransactions: ").append(toIndentedString(totalTransactions)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTransactionsRecurringGetRequest.java b/src/main/java/com/plaid/client/model/ProcessorTransactionsRecurringGetRequest.java new file mode 100644 index 0000000000..08aaf7b469 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTransactionsRecurringGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionsRecurringGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorTransactionsRecurringGetRequest defines the request schema for `/processor/transactions/recurring/get` + */ +@ApiModel(description = "ProcessorTransactionsRecurringGetRequest defines the request schema for `/processor/transactions/recurring/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTransactionsRecurringGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private TransactionsRecurringGetRequestOptions options; + + + public ProcessorTransactionsRecurringGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorTransactionsRecurringGetRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorTransactionsRecurringGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorTransactionsRecurringGetRequest options(TransactionsRecurringGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransactionsRecurringGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(TransactionsRecurringGetRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTransactionsRecurringGetRequest processorTransactionsRecurringGetRequest = (ProcessorTransactionsRecurringGetRequest) o; + return Objects.equals(this.clientId, processorTransactionsRecurringGetRequest.clientId) && + Objects.equals(this.processorToken, processorTransactionsRecurringGetRequest.processorToken) && + Objects.equals(this.secret, processorTransactionsRecurringGetRequest.secret) && + Objects.equals(this.options, processorTransactionsRecurringGetRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, processorToken, secret, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTransactionsRecurringGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTransactionsRecurringGetResponse.java b/src/main/java/com/plaid/client/model/ProcessorTransactionsRecurringGetResponse.java new file mode 100644 index 0000000000..35881aea6a --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTransactionsRecurringGetResponse.java @@ -0,0 +1,226 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PersonalFinanceCategoryVersion; +import com.plaid.client.model.TransactionStream; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * ProcessorTransactionsRecurringGetResponse defines the response schema for `/processor/transactions/recurring/get` + */ +@ApiModel(description = "ProcessorTransactionsRecurringGetResponse defines the response schema for `/processor/transactions/recurring/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTransactionsRecurringGetResponse { + public static final String SERIALIZED_NAME_INFLOW_STREAMS = "inflow_streams"; + @SerializedName(SERIALIZED_NAME_INFLOW_STREAMS) + private List inflowStreams = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OUTFLOW_STREAMS = "outflow_streams"; + @SerializedName(SERIALIZED_NAME_OUTFLOW_STREAMS) + private List outflowStreams = new ArrayList<>(); + + public static final String SERIALIZED_NAME_UPDATED_DATETIME = "updated_datetime"; + @SerializedName(SERIALIZED_NAME_UPDATED_DATETIME) + private OffsetDateTime updatedDatetime; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_VERSION = "personal_finance_category_version"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_VERSION) + private PersonalFinanceCategoryVersion personalFinanceCategoryVersion; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorTransactionsRecurringGetResponse inflowStreams(List inflowStreams) { + + this.inflowStreams = inflowStreams; + return this; + } + + public ProcessorTransactionsRecurringGetResponse addInflowStreamsItem(TransactionStream inflowStreamsItem) { + this.inflowStreams.add(inflowStreamsItem); + return this; + } + + /** + * An array of inflow transaction streams. + * @return inflowStreams + **/ + @ApiModelProperty(required = true, value = "An array of inflow transaction streams.") + + public List getInflowStreams() { + return inflowStreams; + } + + + public void setInflowStreams(List inflowStreams) { + this.inflowStreams = inflowStreams; + } + + + public ProcessorTransactionsRecurringGetResponse outflowStreams(List outflowStreams) { + + this.outflowStreams = outflowStreams; + return this; + } + + public ProcessorTransactionsRecurringGetResponse addOutflowStreamsItem(TransactionStream outflowStreamsItem) { + this.outflowStreams.add(outflowStreamsItem); + return this; + } + + /** + * An array of expense transaction streams. + * @return outflowStreams + **/ + @ApiModelProperty(required = true, value = "An array of expense transaction streams.") + + public List getOutflowStreams() { + return outflowStreams; + } + + + public void setOutflowStreams(List outflowStreams) { + this.outflowStreams = outflowStreams; + } + + + public ProcessorTransactionsRecurringGetResponse updatedDatetime(OffsetDateTime updatedDatetime) { + + this.updatedDatetime = updatedDatetime; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the last time transaction streams for the given account were updated on + * @return updatedDatetime + **/ + @ApiModelProperty(required = true, value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the last time transaction streams for the given account were updated on") + + public OffsetDateTime getUpdatedDatetime() { + return updatedDatetime; + } + + + public void setUpdatedDatetime(OffsetDateTime updatedDatetime) { + this.updatedDatetime = updatedDatetime; + } + + + public ProcessorTransactionsRecurringGetResponse personalFinanceCategoryVersion(PersonalFinanceCategoryVersion personalFinanceCategoryVersion) { + + this.personalFinanceCategoryVersion = personalFinanceCategoryVersion; + return this; + } + + /** + * Get personalFinanceCategoryVersion + * @return personalFinanceCategoryVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PersonalFinanceCategoryVersion getPersonalFinanceCategoryVersion() { + return personalFinanceCategoryVersion; + } + + + public void setPersonalFinanceCategoryVersion(PersonalFinanceCategoryVersion personalFinanceCategoryVersion) { + this.personalFinanceCategoryVersion = personalFinanceCategoryVersion; + } + + + public ProcessorTransactionsRecurringGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTransactionsRecurringGetResponse processorTransactionsRecurringGetResponse = (ProcessorTransactionsRecurringGetResponse) o; + return Objects.equals(this.inflowStreams, processorTransactionsRecurringGetResponse.inflowStreams) && + Objects.equals(this.outflowStreams, processorTransactionsRecurringGetResponse.outflowStreams) && + Objects.equals(this.updatedDatetime, processorTransactionsRecurringGetResponse.updatedDatetime) && + Objects.equals(this.personalFinanceCategoryVersion, processorTransactionsRecurringGetResponse.personalFinanceCategoryVersion) && + Objects.equals(this.requestId, processorTransactionsRecurringGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(inflowStreams, outflowStreams, updatedDatetime, personalFinanceCategoryVersion, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTransactionsRecurringGetResponse {\n"); + sb.append(" inflowStreams: ").append(toIndentedString(inflowStreams)).append("\n"); + sb.append(" outflowStreams: ").append(toIndentedString(outflowStreams)).append("\n"); + sb.append(" updatedDatetime: ").append(toIndentedString(updatedDatetime)).append("\n"); + sb.append(" personalFinanceCategoryVersion: ").append(toIndentedString(personalFinanceCategoryVersion)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTransactionsRefreshRequest.java b/src/main/java/com/plaid/client/model/ProcessorTransactionsRefreshRequest.java new file mode 100644 index 0000000000..db242baa17 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTransactionsRefreshRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorTransactionsRefreshRequest defines the request schema for `/processor/transactions/refresh` + */ +@ApiModel(description = "ProcessorTransactionsRefreshRequest defines the request schema for `/processor/transactions/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTransactionsRefreshRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public ProcessorTransactionsRefreshRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorTransactionsRefreshRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorTransactionsRefreshRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTransactionsRefreshRequest processorTransactionsRefreshRequest = (ProcessorTransactionsRefreshRequest) o; + return Objects.equals(this.clientId, processorTransactionsRefreshRequest.clientId) && + Objects.equals(this.processorToken, processorTransactionsRefreshRequest.processorToken) && + Objects.equals(this.secret, processorTransactionsRefreshRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, processorToken, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTransactionsRefreshRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTransactionsRefreshResponse.java b/src/main/java/com/plaid/client/model/ProcessorTransactionsRefreshResponse.java new file mode 100644 index 0000000000..0cc517d007 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTransactionsRefreshResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorTransactionsRefreshResponse defines the response schema for `/processor/transactions/refresh` + */ +@ApiModel(description = "ProcessorTransactionsRefreshResponse defines the response schema for `/processor/transactions/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTransactionsRefreshResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorTransactionsRefreshResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTransactionsRefreshResponse processorTransactionsRefreshResponse = (ProcessorTransactionsRefreshResponse) o; + return Objects.equals(this.requestId, processorTransactionsRefreshResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTransactionsRefreshResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTransactionsRemovedWebhook.java b/src/main/java/com/plaid/client/model/ProcessorTransactionsRemovedWebhook.java new file mode 100644 index 0000000000..8ae74c655f --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTransactionsRemovedWebhook.java @@ -0,0 +1,248 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when transaction(s) for an Item are deleted. The deleted transaction IDs are included in the webhook payload. Plaid will typically check for deleted transaction data several times a day. This webhook is intended for use with `/processor/transactions/get`; if you are using the newer `/processor/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead. + */ +@ApiModel(description = "This webhook is only sent to [Plaid processor partners](https://plaid.com/docs/auth/partnerships/). Fired when transaction(s) for an Item are deleted. The deleted transaction IDs are included in the webhook payload. Plaid will typically check for deleted transaction data several times a day. This webhook is intended for use with `/processor/transactions/get`; if you are using the newer `/processor/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTransactionsRemovedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_REMOVED_TRANSACTIONS = "removed_transactions"; + @SerializedName(SERIALIZED_NAME_REMOVED_TRANSACTIONS) + private List removedTransactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ProcessorTransactionsRemovedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ProcessorTransactionsRemovedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `TRANSACTIONS_REMOVED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS_REMOVED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ProcessorTransactionsRemovedWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public ProcessorTransactionsRemovedWebhook removedTransactions(List removedTransactions) { + + this.removedTransactions = removedTransactions; + return this; + } + + public ProcessorTransactionsRemovedWebhook addRemovedTransactionsItem(String removedTransactionsItem) { + this.removedTransactions.add(removedTransactionsItem); + return this; + } + + /** + * An array of `transaction_ids` corresponding to the removed transactions + * @return removedTransactions + **/ + @ApiModelProperty(required = true, value = "An array of `transaction_ids` corresponding to the removed transactions") + + public List getRemovedTransactions() { + return removedTransactions; + } + + + public void setRemovedTransactions(List removedTransactions) { + this.removedTransactions = removedTransactions; + } + + + public ProcessorTransactionsRemovedWebhook accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public ProcessorTransactionsRemovedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTransactionsRemovedWebhook processorTransactionsRemovedWebhook = (ProcessorTransactionsRemovedWebhook) o; + return Objects.equals(this.webhookType, processorTransactionsRemovedWebhook.webhookType) && + Objects.equals(this.webhookCode, processorTransactionsRemovedWebhook.webhookCode) && + Objects.equals(this.error, processorTransactionsRemovedWebhook.error) && + Objects.equals(this.removedTransactions, processorTransactionsRemovedWebhook.removedTransactions) && + Objects.equals(this.accountId, processorTransactionsRemovedWebhook.accountId) && + Objects.equals(this.environment, processorTransactionsRemovedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, error, removedTransactions, accountId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTransactionsRemovedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" removedTransactions: ").append(toIndentedString(removedTransactions)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTransactionsSyncRequest.java b/src/main/java/com/plaid/client/model/ProcessorTransactionsSyncRequest.java new file mode 100644 index 0000000000..0a33d7b3ac --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTransactionsSyncRequest.java @@ -0,0 +1,246 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionsSyncRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProcessorTransactionsSyncRequest defines the request schema for `/processor/transactions/sync` + */ +@ApiModel(description = "ProcessorTransactionsSyncRequest defines the request schema for `/processor/transactions/sync`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTransactionsSyncRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 100; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private TransactionsSyncRequestOptions options; + + + public ProcessorTransactionsSyncRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProcessorTransactionsSyncRequest processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>` + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor--`") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public ProcessorTransactionsSyncRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProcessorTransactionsSyncRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * The cursor value represents the last update requested. Providing it will cause the response to only return changes after this update. If omitted, the entire history of updates will be returned, starting with the first-added transactions on the Item. Note: The upper-bound length of this cursor is 256 characters of base64. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The cursor value represents the last update requested. Providing it will cause the response to only return changes after this update. If omitted, the entire history of updates will be returned, starting with the first-added transactions on the Item. Note: The upper-bound length of this cursor is 256 characters of base64.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + public ProcessorTransactionsSyncRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The number of transaction updates to fetch. + * minimum: 1 + * maximum: 500 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of transaction updates to fetch.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public ProcessorTransactionsSyncRequest options(TransactionsSyncRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransactionsSyncRequestOptions getOptions() { + return options; + } + + + public void setOptions(TransactionsSyncRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTransactionsSyncRequest processorTransactionsSyncRequest = (ProcessorTransactionsSyncRequest) o; + return Objects.equals(this.clientId, processorTransactionsSyncRequest.clientId) && + Objects.equals(this.processorToken, processorTransactionsSyncRequest.processorToken) && + Objects.equals(this.secret, processorTransactionsSyncRequest.secret) && + Objects.equals(this.cursor, processorTransactionsSyncRequest.cursor) && + Objects.equals(this.count, processorTransactionsSyncRequest.count) && + Objects.equals(this.options, processorTransactionsSyncRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, processorToken, secret, cursor, count, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTransactionsSyncRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProcessorTransactionsSyncResponse.java b/src/main/java/com/plaid/client/model/ProcessorTransactionsSyncResponse.java new file mode 100644 index 0000000000..a4da6432c9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProcessorTransactionsSyncResponse.java @@ -0,0 +1,316 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBaseNullable; +import com.plaid.client.model.RemovedTransaction; +import com.plaid.client.model.Transaction; +import com.plaid.client.model.TransactionsUpdateStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * ProcessorTransactionsSyncResponse defines the response schema for `/processor/transactions/sync` + */ +@ApiModel(description = "ProcessorTransactionsSyncResponse defines the response schema for `/processor/transactions/sync`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProcessorTransactionsSyncResponse { + public static final String SERIALIZED_NAME_TRANSACTIONS_UPDATE_STATUS = "transactions_update_status"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_UPDATE_STATUS) + private TransactionsUpdateStatus transactionsUpdateStatus; + + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private AccountBaseNullable account; + + public static final String SERIALIZED_NAME_ADDED = "added"; + @SerializedName(SERIALIZED_NAME_ADDED) + private List added = new ArrayList<>(); + + public static final String SERIALIZED_NAME_MODIFIED = "modified"; + @SerializedName(SERIALIZED_NAME_MODIFIED) + private List modified = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REMOVED = "removed"; + @SerializedName(SERIALIZED_NAME_REMOVED) + private List removed = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_HAS_MORE = "has_more"; + @SerializedName(SERIALIZED_NAME_HAS_MORE) + private Boolean hasMore; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProcessorTransactionsSyncResponse transactionsUpdateStatus(TransactionsUpdateStatus transactionsUpdateStatus) { + + this.transactionsUpdateStatus = transactionsUpdateStatus; + return this; + } + + /** + * Get transactionsUpdateStatus + * @return transactionsUpdateStatus + **/ + @ApiModelProperty(required = true, value = "") + + public TransactionsUpdateStatus getTransactionsUpdateStatus() { + return transactionsUpdateStatus; + } + + + public void setTransactionsUpdateStatus(TransactionsUpdateStatus transactionsUpdateStatus) { + this.transactionsUpdateStatus = transactionsUpdateStatus; + } + + + public ProcessorTransactionsSyncResponse account(AccountBaseNullable account) { + + this.account = account; + return this; + } + + /** + * Get account + * @return account + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public AccountBaseNullable getAccount() { + return account; + } + + + public void setAccount(AccountBaseNullable account) { + this.account = account; + } + + + public ProcessorTransactionsSyncResponse added(List added) { + + this.added = added; + return this; + } + + public ProcessorTransactionsSyncResponse addAddedItem(Transaction addedItem) { + this.added.add(addedItem); + return this; + } + + /** + * Transactions that have been added to the Item since `cursor` ordered by ascending last modified time. + * @return added + **/ + @ApiModelProperty(required = true, value = "Transactions that have been added to the Item since `cursor` ordered by ascending last modified time.") + + public List getAdded() { + return added; + } + + + public void setAdded(List added) { + this.added = added; + } + + + public ProcessorTransactionsSyncResponse modified(List modified) { + + this.modified = modified; + return this; + } + + public ProcessorTransactionsSyncResponse addModifiedItem(Transaction modifiedItem) { + this.modified.add(modifiedItem); + return this; + } + + /** + * Transactions that have been modified on the Item since `cursor` ordered by ascending last modified time. + * @return modified + **/ + @ApiModelProperty(required = true, value = "Transactions that have been modified on the Item since `cursor` ordered by ascending last modified time.") + + public List getModified() { + return modified; + } + + + public void setModified(List modified) { + this.modified = modified; + } + + + public ProcessorTransactionsSyncResponse removed(List removed) { + + this.removed = removed; + return this; + } + + public ProcessorTransactionsSyncResponse addRemovedItem(RemovedTransaction removedItem) { + this.removed.add(removedItem); + return this; + } + + /** + * Transactions that have been removed from the Item since `cursor` ordered by ascending last modified time. + * @return removed + **/ + @ApiModelProperty(required = true, value = "Transactions that have been removed from the Item since `cursor` ordered by ascending last modified time.") + + public List getRemoved() { + return removed; + } + + + public void setRemoved(List removed) { + this.removed = removed; + } + + + public ProcessorTransactionsSyncResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * Cursor used for fetching any future updates after the latest update provided in this response. The cursor obtained after all pages have been pulled (indicated by `has_more` being `false`) will be valid for at least 1 year. This cursor should be persisted for later calls. If transactions are not yet available, this will be an empty string. + * @return nextCursor + **/ + @ApiModelProperty(required = true, value = "Cursor used for fetching any future updates after the latest update provided in this response. The cursor obtained after all pages have been pulled (indicated by `has_more` being `false`) will be valid for at least 1 year. This cursor should be persisted for later calls. If transactions are not yet available, this will be an empty string.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public ProcessorTransactionsSyncResponse hasMore(Boolean hasMore) { + + this.hasMore = hasMore; + return this; + } + + /** + * Represents if more than requested count of transaction updates exist. If true, the additional updates can be fetched by making an additional request with `cursor` set to `next_cursor`. If `has_more` is true, it's important to pull all available pages, to make it less likely for underlying data changes to conflict with pagination. + * @return hasMore + **/ + @ApiModelProperty(required = true, value = "Represents if more than requested count of transaction updates exist. If true, the additional updates can be fetched by making an additional request with `cursor` set to `next_cursor`. If `has_more` is true, it's important to pull all available pages, to make it less likely for underlying data changes to conflict with pagination.") + + public Boolean getHasMore() { + return hasMore; + } + + + public void setHasMore(Boolean hasMore) { + this.hasMore = hasMore; + } + + + public ProcessorTransactionsSyncResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessorTransactionsSyncResponse processorTransactionsSyncResponse = (ProcessorTransactionsSyncResponse) o; + return Objects.equals(this.transactionsUpdateStatus, processorTransactionsSyncResponse.transactionsUpdateStatus) && + Objects.equals(this.account, processorTransactionsSyncResponse.account) && + Objects.equals(this.added, processorTransactionsSyncResponse.added) && + Objects.equals(this.modified, processorTransactionsSyncResponse.modified) && + Objects.equals(this.removed, processorTransactionsSyncResponse.removed) && + Objects.equals(this.nextCursor, processorTransactionsSyncResponse.nextCursor) && + Objects.equals(this.hasMore, processorTransactionsSyncResponse.hasMore) && + Objects.equals(this.requestId, processorTransactionsSyncResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(transactionsUpdateStatus, account, added, modified, removed, nextCursor, hasMore, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProcessorTransactionsSyncResponse {\n"); + sb.append(" transactionsUpdateStatus: ").append(toIndentedString(transactionsUpdateStatus)).append("\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" added: ").append(toIndentedString(added)).append("\n"); + sb.append(" modified: ").append(toIndentedString(modified)).append("\n"); + sb.append(" removed: ").append(toIndentedString(removed)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" hasMore: ").append(toIndentedString(hasMore)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProductAccess.java b/src/main/java/com/plaid/client/model/ProductAccess.java new file mode 100644 index 0000000000..6683e0a508 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProductAccess.java @@ -0,0 +1,331 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The product access being requested. Used to allow or disallow product access across all accounts. If unset, defaults to all products allowed. + */ +@ApiModel(description = "The product access being requested. Used to allow or disallow product access across all accounts. If unset, defaults to all products allowed.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProductAccess { + public static final String SERIALIZED_NAME_STATEMENTS = "statements"; + @SerializedName(SERIALIZED_NAME_STATEMENTS) + private Boolean statements = true; + + public static final String SERIALIZED_NAME_IDENTITY = "identity"; + @SerializedName(SERIALIZED_NAME_IDENTITY) + private Boolean identity = true; + + public static final String SERIALIZED_NAME_AUTH = "auth"; + @SerializedName(SERIALIZED_NAME_AUTH) + private Boolean auth = true; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private Boolean transactions = true; + + public static final String SERIALIZED_NAME_ACCOUNTS_DETAILS_TRANSACTIONS = "accounts_details_transactions"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS_DETAILS_TRANSACTIONS) + private Boolean accountsDetailsTransactions = true; + + public static final String SERIALIZED_NAME_ACCOUNTS_ROUTING_NUMBER = "accounts_routing_number"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS_ROUTING_NUMBER) + private Boolean accountsRoutingNumber = true; + + public static final String SERIALIZED_NAME_ACCOUNTS_STATEMENTS = "accounts_statements"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS_STATEMENTS) + private Boolean accountsStatements = true; + + public static final String SERIALIZED_NAME_ACCOUNTS_TAX_STATEMENTS = "accounts_tax_statements"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS_TAX_STATEMENTS) + private Boolean accountsTaxStatements = true; + + public static final String SERIALIZED_NAME_CUSTOMERS_PROFILES = "customers_profiles"; + @SerializedName(SERIALIZED_NAME_CUSTOMERS_PROFILES) + private Boolean customersProfiles = true; + + + public ProductAccess statements(Boolean statements) { + + this.statements = statements; + return this; + } + + /** + * Allow access to statements. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return statements + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow access to statements. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getStatements() { + return statements; + } + + + public void setStatements(Boolean statements) { + this.statements = statements; + } + + + public ProductAccess identity(Boolean identity) { + + this.identity = identity; + return this; + } + + /** + * Allow access to the Identity product (name, email, phone, address). Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return identity + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow access to the Identity product (name, email, phone, address). Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getIdentity() { + return identity; + } + + + public void setIdentity(Boolean identity) { + this.identity = identity; + } + + + public ProductAccess auth(Boolean auth) { + + this.auth = auth; + return this; + } + + /** + * Allow access to account number details. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return auth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow access to account number details. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getAuth() { + return auth; + } + + + public void setAuth(Boolean auth) { + this.auth = auth; + } + + + public ProductAccess transactions(Boolean transactions) { + + this.transactions = transactions; + return this; + } + + /** + * Allow access to transaction details. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return transactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow access to transaction details. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getTransactions() { + return transactions; + } + + + public void setTransactions(Boolean transactions) { + this.transactions = transactions; + } + + + public ProductAccess accountsDetailsTransactions(Boolean accountsDetailsTransactions) { + + this.accountsDetailsTransactions = accountsDetailsTransactions; + return this; + } + + /** + * Allow access to `accounts_details_transactions`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return accountsDetailsTransactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow access to `accounts_details_transactions`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getAccountsDetailsTransactions() { + return accountsDetailsTransactions; + } + + + public void setAccountsDetailsTransactions(Boolean accountsDetailsTransactions) { + this.accountsDetailsTransactions = accountsDetailsTransactions; + } + + + public ProductAccess accountsRoutingNumber(Boolean accountsRoutingNumber) { + + this.accountsRoutingNumber = accountsRoutingNumber; + return this; + } + + /** + * Allow access to `accounts_routing_number`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return accountsRoutingNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow access to `accounts_routing_number`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getAccountsRoutingNumber() { + return accountsRoutingNumber; + } + + + public void setAccountsRoutingNumber(Boolean accountsRoutingNumber) { + this.accountsRoutingNumber = accountsRoutingNumber; + } + + + public ProductAccess accountsStatements(Boolean accountsStatements) { + + this.accountsStatements = accountsStatements; + return this; + } + + /** + * Allow access to `accounts_statements`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return accountsStatements + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow access to `accounts_statements`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getAccountsStatements() { + return accountsStatements; + } + + + public void setAccountsStatements(Boolean accountsStatements) { + this.accountsStatements = accountsStatements; + } + + + public ProductAccess accountsTaxStatements(Boolean accountsTaxStatements) { + + this.accountsTaxStatements = accountsTaxStatements; + return this; + } + + /** + * Allow access to `accounts_tax_statements`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return accountsTaxStatements + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow access to `accounts_tax_statements`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getAccountsTaxStatements() { + return accountsTaxStatements; + } + + + public void setAccountsTaxStatements(Boolean accountsTaxStatements) { + this.accountsTaxStatements = accountsTaxStatements; + } + + + public ProductAccess customersProfiles(Boolean customersProfiles) { + + this.customersProfiles = customersProfiles; + return this; + } + + /** + * Allow access to `customers_profiles`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. + * @return customersProfiles + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow access to `customers_profiles`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.") + + public Boolean getCustomersProfiles() { + return customersProfiles; + } + + + public void setCustomersProfiles(Boolean customersProfiles) { + this.customersProfiles = customersProfiles; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProductAccess productAccess = (ProductAccess) o; + return Objects.equals(this.statements, productAccess.statements) && + Objects.equals(this.identity, productAccess.identity) && + Objects.equals(this.auth, productAccess.auth) && + Objects.equals(this.transactions, productAccess.transactions) && + Objects.equals(this.accountsDetailsTransactions, productAccess.accountsDetailsTransactions) && + Objects.equals(this.accountsRoutingNumber, productAccess.accountsRoutingNumber) && + Objects.equals(this.accountsStatements, productAccess.accountsStatements) && + Objects.equals(this.accountsTaxStatements, productAccess.accountsTaxStatements) && + Objects.equals(this.customersProfiles, productAccess.customersProfiles); + } + + @Override + public int hashCode() { + return Objects.hash(statements, identity, auth, transactions, accountsDetailsTransactions, accountsRoutingNumber, accountsStatements, accountsTaxStatements, customersProfiles); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProductAccess {\n"); + sb.append(" statements: ").append(toIndentedString(statements)).append("\n"); + sb.append(" identity: ").append(toIndentedString(identity)).append("\n"); + sb.append(" auth: ").append(toIndentedString(auth)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" accountsDetailsTransactions: ").append(toIndentedString(accountsDetailsTransactions)).append("\n"); + sb.append(" accountsRoutingNumber: ").append(toIndentedString(accountsRoutingNumber)).append("\n"); + sb.append(" accountsStatements: ").append(toIndentedString(accountsStatements)).append("\n"); + sb.append(" accountsTaxStatements: ").append(toIndentedString(accountsTaxStatements)).append("\n"); + sb.append(" customersProfiles: ").append(toIndentedString(customersProfiles)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProductPermissionsRequiredAuthWebhook.java b/src/main/java/com/plaid/client/model/ProductPermissionsRequiredAuthWebhook.java new file mode 100644 index 0000000000..21e40c0f07 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProductPermissionsRequiredAuthWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when an `ACCESS_NOT_GRANTED` error is hit for Auth. The error can be resolved by putting the user through update mode with `auth` in the `products` array, as well as through the limited beta for update mode Authentication product validations. + */ +@ApiModel(description = "Fired when an `ACCESS_NOT_GRANTED` error is hit for Auth. The error can be resolved by putting the user through update mode with `auth` in the `products` array, as well as through the limited beta for update mode Authentication product validations.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProductPermissionsRequiredAuthWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ProductPermissionsRequiredAuthWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `AUTH` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`AUTH`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ProductPermissionsRequiredAuthWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `PRODUCT_PERMISSIONS_REQUIRED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`PRODUCT_PERMISSIONS_REQUIRED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ProductPermissionsRequiredAuthWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public ProductPermissionsRequiredAuthWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProductPermissionsRequiredAuthWebhook productPermissionsRequiredAuthWebhook = (ProductPermissionsRequiredAuthWebhook) o; + return Objects.equals(this.webhookType, productPermissionsRequiredAuthWebhook.webhookType) && + Objects.equals(this.webhookCode, productPermissionsRequiredAuthWebhook.webhookCode) && + Objects.equals(this.itemId, productPermissionsRequiredAuthWebhook.itemId) && + Objects.equals(this.environment, productPermissionsRequiredAuthWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProductPermissionsRequiredAuthWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProductPermissionsRequiredIdentityWebhook.java b/src/main/java/com/plaid/client/model/ProductPermissionsRequiredIdentityWebhook.java new file mode 100644 index 0000000000..fabbd69d1c --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProductPermissionsRequiredIdentityWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when an `ACCESS_NOT_GRANTED` error is hit for Identity. The error can be resolved by putting the user through update mode with `identity` in the `products` array, as well as through the limited beta for update mode Identity product validations. + */ +@ApiModel(description = "Fired when an `ACCESS_NOT_GRANTED` error is hit for Identity. The error can be resolved by putting the user through update mode with `identity` in the `products` array, as well as through the limited beta for update mode Identity product validations.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProductPermissionsRequiredIdentityWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ProductPermissionsRequiredIdentityWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `IDENTITY` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`IDENTITY`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ProductPermissionsRequiredIdentityWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `PRODUCT_PERMISSIONS_REQUIRED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`PRODUCT_PERMISSIONS_REQUIRED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ProductPermissionsRequiredIdentityWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public ProductPermissionsRequiredIdentityWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProductPermissionsRequiredIdentityWebhook productPermissionsRequiredIdentityWebhook = (ProductPermissionsRequiredIdentityWebhook) o; + return Objects.equals(this.webhookType, productPermissionsRequiredIdentityWebhook.webhookType) && + Objects.equals(this.webhookCode, productPermissionsRequiredIdentityWebhook.webhookCode) && + Objects.equals(this.itemId, productPermissionsRequiredIdentityWebhook.itemId) && + Objects.equals(this.environment, productPermissionsRequiredIdentityWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProductPermissionsRequiredIdentityWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProductStatus.java b/src/main/java/com/plaid/client/model/ProductStatus.java new file mode 100644 index 0000000000..a9c85b51b8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProductStatus.java @@ -0,0 +1,205 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProductStatusBreakdown; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object. + */ +@ApiModel(description = "A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProductStatus { + /** + * This field is deprecated in favor of the `breakdown` object, which provides more granular institution health data. `HEALTHY`: the majority of requests are successful `DEGRADED`: only some requests are successful `DOWN`: all requests are failing + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + HEALTHY("HEALTHY"), + + DEGRADED("DEGRADED"), + + DOWN("DOWN"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private StatusEnum status; + + public static final String SERIALIZED_NAME_LAST_STATUS_CHANGE = "last_status_change"; + @SerializedName(SERIALIZED_NAME_LAST_STATUS_CHANGE) + private OffsetDateTime lastStatusChange; + + public static final String SERIALIZED_NAME_BREAKDOWN = "breakdown"; + @SerializedName(SERIALIZED_NAME_BREAKDOWN) + private ProductStatusBreakdown breakdown; + + + public ProductStatus status(StatusEnum status) { + + this.status = status; + return this; + } + + /** + * This field is deprecated in favor of the `breakdown` object, which provides more granular institution health data. `HEALTHY`: the majority of requests are successful `DEGRADED`: only some requests are successful `DOWN`: all requests are failing + * @return status + **/ + @ApiModelProperty(required = true, value = "This field is deprecated in favor of the `breakdown` object, which provides more granular institution health data. `HEALTHY`: the majority of requests are successful `DEGRADED`: only some requests are successful `DOWN`: all requests are failing") + + public StatusEnum getStatus() { + return status; + } + + + public void setStatus(StatusEnum status) { + this.status = status; + } + + + public ProductStatus lastStatusChange(OffsetDateTime lastStatusChange) { + + this.lastStatusChange = lastStatusChange; + return this; + } + + /** + * [ISO 8601](https://wikipedia.org/wiki/ISO_8601) formatted timestamp of the last status change for the institution. + * @return lastStatusChange + **/ + @ApiModelProperty(required = true, value = "[ISO 8601](https://wikipedia.org/wiki/ISO_8601) formatted timestamp of the last status change for the institution. ") + + public OffsetDateTime getLastStatusChange() { + return lastStatusChange; + } + + + public void setLastStatusChange(OffsetDateTime lastStatusChange) { + this.lastStatusChange = lastStatusChange; + } + + + public ProductStatus breakdown(ProductStatusBreakdown breakdown) { + + this.breakdown = breakdown; + return this; + } + + /** + * Get breakdown + * @return breakdown + **/ + @ApiModelProperty(required = true, value = "") + + public ProductStatusBreakdown getBreakdown() { + return breakdown; + } + + + public void setBreakdown(ProductStatusBreakdown breakdown) { + this.breakdown = breakdown; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProductStatus productStatus = (ProductStatus) o; + return Objects.equals(this.status, productStatus.status) && + Objects.equals(this.lastStatusChange, productStatus.lastStatusChange) && + Objects.equals(this.breakdown, productStatus.breakdown); + } + + @Override + public int hashCode() { + return Objects.hash(status, lastStatusChange, breakdown); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProductStatus {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" lastStatusChange: ").append(toIndentedString(lastStatusChange)).append("\n"); + sb.append(" breakdown: ").append(toIndentedString(breakdown)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProductStatusBreakdown.java b/src/main/java/com/plaid/client/model/ProductStatusBreakdown.java new file mode 100644 index 0000000000..dbce1dcb89 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProductStatusBreakdown.java @@ -0,0 +1,232 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A detailed breakdown of the institution's performance for a request type. The values for `success`, `error_plaid`, and `error_institution` sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see [Institution status details](https://plaid.com/docs/account/activity/#troubleshooting-institution-insights). + */ +@ApiModel(description = "A detailed breakdown of the institution's performance for a request type. The values for `success`, `error_plaid`, and `error_institution` sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see [Institution status details](https://plaid.com/docs/account/activity/#troubleshooting-institution-insights).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProductStatusBreakdown { + public static final String SERIALIZED_NAME_SUCCESS = "success"; + @SerializedName(SERIALIZED_NAME_SUCCESS) + private Double success; + + public static final String SERIALIZED_NAME_ERROR_PLAID = "error_plaid"; + @SerializedName(SERIALIZED_NAME_ERROR_PLAID) + private Double errorPlaid; + + public static final String SERIALIZED_NAME_ERROR_INSTITUTION = "error_institution"; + @SerializedName(SERIALIZED_NAME_ERROR_INSTITUTION) + private Double errorInstitution; + + /** + * How frequently data for subscription products like Investments, Transactions, and Liabilities, is being refreshed, relative to the institution's normal scheduling. The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success rate is high. + */ + @JsonAdapter(RefreshIntervalEnum.Adapter.class) + public enum RefreshIntervalEnum { + NORMAL("NORMAL"), + + DELAYED("DELAYED"), + + STOPPED("STOPPED"); + + private String value; + + RefreshIntervalEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RefreshIntervalEnum fromValue(String value) { + for (RefreshIntervalEnum b : RefreshIntervalEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RefreshIntervalEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RefreshIntervalEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RefreshIntervalEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_REFRESH_INTERVAL = "refresh_interval"; + @SerializedName(SERIALIZED_NAME_REFRESH_INTERVAL) + private RefreshIntervalEnum refreshInterval; + + + public ProductStatusBreakdown success(Double success) { + + this.success = success; + return this; + } + + /** + * The percentage of login attempts that are successful, expressed as a decimal. + * @return success + **/ + @ApiModelProperty(required = true, value = "The percentage of login attempts that are successful, expressed as a decimal.") + + public Double getSuccess() { + return success; + } + + + public void setSuccess(Double success) { + this.success = success; + } + + + public ProductStatusBreakdown errorPlaid(Double errorPlaid) { + + this.errorPlaid = errorPlaid; + return this; + } + + /** + * The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal. + * @return errorPlaid + **/ + @ApiModelProperty(required = true, value = "The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal. ") + + public Double getErrorPlaid() { + return errorPlaid; + } + + + public void setErrorPlaid(Double errorPlaid) { + this.errorPlaid = errorPlaid; + } + + + public ProductStatusBreakdown errorInstitution(Double errorInstitution) { + + this.errorInstitution = errorInstitution; + return this; + } + + /** + * The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal. + * @return errorInstitution + **/ + @ApiModelProperty(required = true, value = "The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal.") + + public Double getErrorInstitution() { + return errorInstitution; + } + + + public void setErrorInstitution(Double errorInstitution) { + this.errorInstitution = errorInstitution; + } + + + public ProductStatusBreakdown refreshInterval(RefreshIntervalEnum refreshInterval) { + + this.refreshInterval = refreshInterval; + return this; + } + + /** + * How frequently data for subscription products like Investments, Transactions, and Liabilities, is being refreshed, relative to the institution's normal scheduling. The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success rate is high. + * @return refreshInterval + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "How frequently data for subscription products like Investments, Transactions, and Liabilities, is being refreshed, relative to the institution's normal scheduling. The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success rate is high.") + + public RefreshIntervalEnum getRefreshInterval() { + return refreshInterval; + } + + + public void setRefreshInterval(RefreshIntervalEnum refreshInterval) { + this.refreshInterval = refreshInterval; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProductStatusBreakdown productStatusBreakdown = (ProductStatusBreakdown) o; + return Objects.equals(this.success, productStatusBreakdown.success) && + Objects.equals(this.errorPlaid, productStatusBreakdown.errorPlaid) && + Objects.equals(this.errorInstitution, productStatusBreakdown.errorInstitution) && + Objects.equals(this.refreshInterval, productStatusBreakdown.refreshInterval); + } + + @Override + public int hashCode() { + return Objects.hash(success, errorPlaid, errorInstitution, refreshInterval); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProductStatusBreakdown {\n"); + sb.append(" success: ").append(toIndentedString(success)).append("\n"); + sb.append(" errorPlaid: ").append(toIndentedString(errorPlaid)).append("\n"); + sb.append(" errorInstitution: ").append(toIndentedString(errorInstitution)).append("\n"); + sb.append(" refreshInterval: ").append(toIndentedString(refreshInterval)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Products.java b/src/main/java/com/plaid/client/model/Products.java new file mode 100644 index 0000000000..b4b2415d2f --- /dev/null +++ b/src/main/java/com/plaid/client/model/Products.java @@ -0,0 +1,153 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A list of products that an institution can support. All Items must be initialized with at least one product. The Balance product is always available and does not need to be specified during initialization. + */ +@JsonAdapter(Products.Adapter.class) +public enum Products { + + ASSETS("assets"), + + AUTH("auth"), + + BALANCE("balance"), + + BALANCE_PLUS("balance_plus"), + + BEACON("beacon"), + + IDENTITY("identity"), + + IDENTITY_MATCH("identity_match"), + + INVESTMENTS("investments"), + + INVESTMENTS_AUTH("investments_auth"), + + LIABILITIES("liabilities"), + + PAYMENT_INITIATION("payment_initiation"), + + IDENTITY_VERIFICATION("identity_verification"), + + TRANSACTIONS("transactions"), + + CREDIT_DETAILS("credit_details"), + + INCOME("income"), + + INCOME_VERIFICATION("income_verification"), + + STANDING_ORDERS("standing_orders"), + + TRANSFER("transfer"), + + EMPLOYMENT("employment"), + + RECURRING_TRANSACTIONS("recurring_transactions"), + + TRANSACTIONS_REFRESH("transactions_refresh"), + + SIGNAL("signal"), + + STATEMENTS("statements"), + + PROCESSOR_PAYMENTS("processor_payments"), + + PROCESSOR_IDENTITY("processor_identity"), + + PROFILE("profile"), + + CRA_BASE_REPORT("cra_base_report"), + + CRA_INCOME_INSIGHTS("cra_income_insights"), + + CRA_PARTNER_INSIGHTS("cra_partner_insights"), + + CRA_NETWORK_INSIGHTS("cra_network_insights"), + + CRA_CASHFLOW_INSIGHTS("cra_cashflow_insights"), + + CRA_MONITORING("cra_monitoring"), + + CRA_LEND_SCORE("cra_lend_score"), + + CRA_PLAID_CREDIT_SCORE("cra_plaid_credit_score"), + + CRA_QUALIFY("cra_qualify"), + + LAYER("layer"), + + PAY_BY_BANK("pay_by_bank"), + + PROTECT_LINKED_BANK("protect_linked_bank"), + + PROTECT_TRANSACTIONS("protect_transactions"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + Products(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static Products fromValue(String value) { + for (Products b : Products.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return Products.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final Products enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public Products read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return Products.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ProductsTerminateReasonCode.java b/src/main/java/com/plaid/client/model/ProductsTerminateReasonCode.java new file mode 100644 index 0000000000..a777b22d82 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProductsTerminateReasonCode.java @@ -0,0 +1,101 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The reason for terminating products. `FRAUD_FIRST_PARTY`: The end user who owns the connected bank account committed fraud using their real identity `FRAUD_FALSE_IDENTITY`: The connection was created using a false or stolen identity `FRAUD_ABUSE`: The end user is abusing the client's service or platform (for example, automation or excessive retries) through their connected account `FRAUD_OTHER`: Fraud-related, but not covered by the specific fraud categories above; `reason_note` should clarify `FRAUD_TRANSACTION`: Fraud occurred at the transaction level, such as an unauthorized transaction, card testing, chargeback, ACH return, or dispute `CONSUMER_LOAN_PAID_OFF`: The end user paid off their loan and no longer needs the product `CONSUMER_ACCOUNT_CLOSED`: The end user closed their account with the client and no longer needs the product `CONSUMER_CHARGE_OFF`: The end user's account has been charged off `CONSUMER_PAYMENT_METHOD_SWITCHED`: The end user switched to a different payment method and no longer needs the product `USER_OFFBOARDING`: The user is offboarding from the client's service or platform `DUPLICATE_ITEM`: This Item is a duplicate of another active Item for the same user `BILLING_TERMINATION`: The client's billing or subscription relationship with the end user has ended `OTHER`: None of the above; `reason_note` should clarify + */ +@JsonAdapter(ProductsTerminateReasonCode.Adapter.class) +public enum ProductsTerminateReasonCode { + + FRAUD_FIRST_PARTY("FRAUD_FIRST_PARTY"), + + FRAUD_FALSE_IDENTITY("FRAUD_FALSE_IDENTITY"), + + FRAUD_ABUSE("FRAUD_ABUSE"), + + FRAUD_OTHER("FRAUD_OTHER"), + + FRAUD_TRANSACTION("FRAUD_TRANSACTION"), + + CONSUMER_LOAN_PAID_OFF("CONSUMER_LOAN_PAID_OFF"), + + CONSUMER_ACCOUNT_CLOSED("CONSUMER_ACCOUNT_CLOSED"), + + CONSUMER_CHARGE_OFF("CONSUMER_CHARGE_OFF"), + + CONSUMER_PAYMENT_METHOD_SWITCHED("CONSUMER_PAYMENT_METHOD_SWITCHED"), + + USER_OFFBOARDING("USER_OFFBOARDING"), + + DUPLICATE_ITEM("DUPLICATE_ITEM"), + + BILLING_TERMINATION("BILLING_TERMINATION"), + + OTHER("OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ProductsTerminateReasonCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProductsTerminateReasonCode fromValue(String value) { + for (ProductsTerminateReasonCode b : ProductsTerminateReasonCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ProductsTerminateReasonCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProductsTerminateReasonCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProductsTerminateReasonCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProductsTerminateReasonCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ProfileNetworkStatusGetRequest.java b/src/main/java/com/plaid/client/model/ProfileNetworkStatusGetRequest.java new file mode 100644 index 0000000000..a314494095 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProfileNetworkStatusGetRequest.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NetworkStatusGetUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProfileNetworkStatusGetRequest defines the request schema for `/profile/network_status/get` + */ +@ApiModel(description = "ProfileNetworkStatusGetRequest defines the request schema for `/profile/network_status/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProfileNetworkStatusGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private NetworkStatusGetUser user; + + + public ProfileNetworkStatusGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProfileNetworkStatusGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProfileNetworkStatusGetRequest user(NetworkStatusGetUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public NetworkStatusGetUser getUser() { + return user; + } + + + public void setUser(NetworkStatusGetUser user) { + this.user = user; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProfileNetworkStatusGetRequest profileNetworkStatusGetRequest = (ProfileNetworkStatusGetRequest) o; + return Objects.equals(this.clientId, profileNetworkStatusGetRequest.clientId) && + Objects.equals(this.secret, profileNetworkStatusGetRequest.secret) && + Objects.equals(this.user, profileNetworkStatusGetRequest.user); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, user); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProfileNetworkStatusGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProfileNetworkStatusGetResponse.java b/src/main/java/com/plaid/client/model/ProfileNetworkStatusGetResponse.java new file mode 100644 index 0000000000..58ef9af0f3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProfileNetworkStatusGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NetworkStatusGetResponseNetworkStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ProfileNetworkStatusGetResponse defines the response schema for `/profile/network_status/get` + */ +@ApiModel(description = "ProfileNetworkStatusGetResponse defines the response schema for `/profile/network_status/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProfileNetworkStatusGetResponse { + public static final String SERIALIZED_NAME_NETWORK_STATUS = "network_status"; + @SerializedName(SERIALIZED_NAME_NETWORK_STATUS) + private NetworkStatusGetResponseNetworkStatus networkStatus; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProfileNetworkStatusGetResponse networkStatus(NetworkStatusGetResponseNetworkStatus networkStatus) { + + this.networkStatus = networkStatus; + return this; + } + + /** + * Get networkStatus + * @return networkStatus + **/ + @ApiModelProperty(required = true, value = "") + + public NetworkStatusGetResponseNetworkStatus getNetworkStatus() { + return networkStatus; + } + + + public void setNetworkStatus(NetworkStatusGetResponseNetworkStatus networkStatus) { + this.networkStatus = networkStatus; + } + + + public ProfileNetworkStatusGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProfileNetworkStatusGetResponse profileNetworkStatusGetResponse = (ProfileNetworkStatusGetResponse) o; + return Objects.equals(this.networkStatus, profileNetworkStatusGetResponse.networkStatus) && + Objects.equals(this.requestId, profileNetworkStatusGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(networkStatus, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProfileNetworkStatusGetResponse {\n"); + sb.append(" networkStatus: ").append(toIndentedString(networkStatus)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProgramNameSensitivity.java b/src/main/java/com/plaid/client/model/ProgramNameSensitivity.java new file mode 100644 index 0000000000..cca0bdc2bc --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProgramNameSensitivity.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The valid name matching sensitivity configurations for a screening program. Note that while certain matching techniques may be more prevalent on less strict settings, all matching algorithms are enabled for every sensitivity. `coarse` - See more potential matches. This sensitivity will see more broad phonetic matches across alphabets that make missing a potential hit very unlikely. This setting is noisier and will require more manual review. `balanced` - A good default for most companies. This sensitivity is balanced to show high quality hits with reduced noise. `strict` - Aggressive false positive reduction. This sensitivity will require names to be more similar than `coarse` and `balanced` settings, relying less on phonetics, while still accounting for character transpositions, missing tokens, and other common permutations. `exact` - Matches must be nearly exact. This sensitivity will only show hits with exact or nearly exact name matches with only basic correction such as extraneous symbols and capitalization. This setting is generally not recommended unless you have a very specific use case. + */ +@JsonAdapter(ProgramNameSensitivity.Adapter.class) +public enum ProgramNameSensitivity { + + COARSE("coarse"), + + BALANCED("balanced"), + + STRICT("strict"), + + EXACT("exact"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ProgramNameSensitivity(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProgramNameSensitivity fromValue(String value) { + for (ProgramNameSensitivity b : ProgramNameSensitivity.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ProgramNameSensitivity.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProgramNameSensitivity enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProgramNameSensitivity read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProgramNameSensitivity.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ProjectedIncomeSummaryFieldNumber.java b/src/main/java/com/plaid/client/model/ProjectedIncomeSummaryFieldNumber.java new file mode 100644 index 0000000000..66f8be8915 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProjectedIncomeSummaryFieldNumber.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeSummaryFieldNumber; +import com.plaid.client.model.VerificationStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The employee's estimated annual salary, as derived from information reported on the paystub. + */ +@ApiModel(description = "The employee's estimated annual salary, as derived from information reported on the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProjectedIncomeSummaryFieldNumber { + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Double value; + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatus verificationStatus; + + + public ProjectedIncomeSummaryFieldNumber value(Double value) { + + this.value = value; + return this; + } + + /** + * The value of the field. + * @return value + **/ + @ApiModelProperty(required = true, value = "The value of the field.") + + public Double getValue() { + return value; + } + + + public void setValue(Double value) { + this.value = value; + } + + + public ProjectedIncomeSummaryFieldNumber verificationStatus(VerificationStatus verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Get verificationStatus + * @return verificationStatus + **/ + @ApiModelProperty(required = true, value = "") + + public VerificationStatus getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatus verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectedIncomeSummaryFieldNumber projectedIncomeSummaryFieldNumber = (ProjectedIncomeSummaryFieldNumber) o; + return Objects.equals(this.value, projectedIncomeSummaryFieldNumber.value) && + Objects.equals(this.verificationStatus, projectedIncomeSummaryFieldNumber.verificationStatus); + } + + @Override + public int hashCode() { + return Objects.hash(value, verificationStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectedIncomeSummaryFieldNumber {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectBankAccount.java b/src/main/java/com/plaid/client/model/ProtectBankAccount.java new file mode 100644 index 0000000000..9ab7375c8b --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectBankAccount.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Bank account information associated with the incident. + */ +@ApiModel(description = "Bank account information associated with the incident.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectBankAccount { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ACCOUNT_NUMBER = "account_number"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBER) + private String accountNumber; + + public static final String SERIALIZED_NAME_ROUTING_NUMBER = "routing_number"; + @SerializedName(SERIALIZED_NAME_ROUTING_NUMBER) + private String routingNumber; + + + public ProtectBankAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for the account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public ProtectBankAccount accountNumber(String accountNumber) { + + this.accountNumber = accountNumber; + return this; + } + + /** + * Full account number of the bank account. + * @return accountNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Full account number of the bank account.") + + public String getAccountNumber() { + return accountNumber; + } + + + public void setAccountNumber(String accountNumber) { + this.accountNumber = accountNumber; + } + + + public ProtectBankAccount routingNumber(String routingNumber) { + + this.routingNumber = routingNumber; + return this; + } + + /** + * Routing number of the bank account. Must be present if `account_number` is present. + * @return routingNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Routing number of the bank account. Must be present if `account_number` is present.") + + public String getRoutingNumber() { + return routingNumber; + } + + + public void setRoutingNumber(String routingNumber) { + this.routingNumber = routingNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectBankAccount protectBankAccount = (ProtectBankAccount) o; + return Objects.equals(this.accountId, protectBankAccount.accountId) && + Objects.equals(this.accountNumber, protectBankAccount.accountNumber) && + Objects.equals(this.routingNumber, protectBankAccount.routingNumber); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, accountNumber, routingNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectBankAccount {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).append("\n"); + sb.append(" routingNumber: ").append(toIndentedString(routingNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectComputeRequest.java b/src/main/java/com/plaid/client/model/ProtectComputeRequest.java new file mode 100644 index 0000000000..59325b66b9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectComputeRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProtectModelInputs; +import com.plaid.client.model.ProtectUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request object for /protect/compute + */ +@ApiModel(description = "Request object for /protect/compute") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectComputeRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_MODEL = "model"; + @SerializedName(SERIALIZED_NAME_MODEL) + private String model; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private ProtectUser user; + + public static final String SERIALIZED_NAME_MODEL_INPUTS = "model_inputs"; + @SerializedName(SERIALIZED_NAME_MODEL_INPUTS) + private ProtectModelInputs modelInputs; + + + public ProtectComputeRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProtectComputeRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProtectComputeRequest model(String model) { + + this.model = model; + return this; + } + + /** + * The name of the Trust Index model to use for scoring, with a major.minor version suffix. Examples: `ti-link-session-2.0` (link-session fraud), `ti-identity-2.0` (identity fraud), `cash-advance-onboarding-1.0` (first cash advance), and `cash-advance-ongoing-1.0` (subsequent cash advances). The model specified may require certain fields within `model_inputs`; for example, `ti-link-session-2.0` requires the `link` field. Cash-advance models do not use `model_inputs`. + * @return model + **/ + @ApiModelProperty(required = true, value = "The name of the Trust Index model to use for scoring, with a major.minor version suffix. Examples: `ti-link-session-2.0` (link-session fraud), `ti-identity-2.0` (identity fraud), `cash-advance-onboarding-1.0` (first cash advance), and `cash-advance-ongoing-1.0` (subsequent cash advances). The model specified may require certain fields within `model_inputs`; for example, `ti-link-session-2.0` requires the `link` field. Cash-advance models do not use `model_inputs`.") + + public String getModel() { + return model; + } + + + public void setModel(String model) { + this.model = model; + } + + + public ProtectComputeRequest user(ProtectUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public ProtectUser getUser() { + return user; + } + + + public void setUser(ProtectUser user) { + this.user = user; + } + + + public ProtectComputeRequest modelInputs(ProtectModelInputs modelInputs) { + + this.modelInputs = modelInputs; + return this; + } + + /** + * Get modelInputs + * @return modelInputs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProtectModelInputs getModelInputs() { + return modelInputs; + } + + + public void setModelInputs(ProtectModelInputs modelInputs) { + this.modelInputs = modelInputs; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectComputeRequest protectComputeRequest = (ProtectComputeRequest) o; + return Objects.equals(this.clientId, protectComputeRequest.clientId) && + Objects.equals(this.secret, protectComputeRequest.secret) && + Objects.equals(this.model, protectComputeRequest.model) && + Objects.equals(this.user, protectComputeRequest.user) && + Objects.equals(this.modelInputs, protectComputeRequest.modelInputs); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, model, user, modelInputs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectComputeRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" model: ").append(toIndentedString(model)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" modelInputs: ").append(toIndentedString(modelInputs)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectComputeResponse.java b/src/main/java/com/plaid/client/model/ProtectComputeResponse.java new file mode 100644 index 0000000000..879ea4ea24 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectComputeResponse.java @@ -0,0 +1,245 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProtectComputeSubscores; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Response object for /protect/compute + */ +@ApiModel(description = "Response object for /protect/compute") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectComputeResponse { + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_MODEL = "model"; + @SerializedName(SERIALIZED_NAME_MODEL) + private String model; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_SUBSCORES = "subscores"; + @SerializedName(SERIALIZED_NAME_SUBSCORES) + private ProtectComputeSubscores subscores; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProtectComputeResponse score(Integer score) { + + this.score = score; + return this; + } + + /** + * The Trust Index score, on a 0-100 scale where higher values indicate lower risk. + * @return score + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Trust Index score, on a 0-100 scale where higher values indicate lower risk.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public ProtectComputeResponse model(String model) { + + this.model = model; + return this; + } + + /** + * The versioned name of the Trust Index model used for scoring. + * @return model + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The versioned name of the Trust Index model used for scoring.") + + public String getModel() { + return model; + } + + + public void setModel(String model) { + this.model = model; + } + + + public ProtectComputeResponse attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Event fraud attributes as an arbitrary set of key-value pairs. The set of attributes returned varies by model. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Event fraud attributes as an arbitrary set of key-value pairs. The set of attributes returned varies by model.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public ProtectComputeResponse subscores(ProtectComputeSubscores subscores) { + + this.subscores = subscores; + return this; + } + + /** + * Get subscores + * @return subscores + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProtectComputeSubscores getSubscores() { + return subscores; + } + + + public void setSubscores(ProtectComputeSubscores subscores) { + this.subscores = subscores; + } + + + public ProtectComputeResponse timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * The timestamp when the Trust Index score and fraud attributes were computed, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"` + * @return timestamp + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The timestamp when the Trust Index score and fraud attributes were computed, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"`") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + public ProtectComputeResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectComputeResponse protectComputeResponse = (ProtectComputeResponse) o; + return Objects.equals(this.score, protectComputeResponse.score) && + Objects.equals(this.model, protectComputeResponse.model) && + Objects.equals(this.attributes, protectComputeResponse.attributes) && + Objects.equals(this.subscores, protectComputeResponse.subscores) && + Objects.equals(this.timestamp, protectComputeResponse.timestamp) && + Objects.equals(this.requestId, protectComputeResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(score, model, attributes, subscores, timestamp, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectComputeResponse {\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" model: ").append(toIndentedString(model)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" subscores: ").append(toIndentedString(subscores)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectComputeSubscores.java b/src/main/java/com/plaid/client/model/ProtectComputeSubscores.java new file mode 100644 index 0000000000..0647cb74a0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectComputeSubscores.java @@ -0,0 +1,273 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Per-bucket subscores returned alongside the overall Trust Index score. For cash-advance models, each key maps to an amount-bucket subscore (0-100); higher values indicate lower fraud risk. Only buckets that were scored are included in the response. + */ +@ApiModel(description = "Per-bucket subscores returned alongside the overall Trust Index score. For cash-advance models, each key maps to an amount-bucket subscore (0-100); higher values indicate lower fraud risk. Only buckets that were scored are included in the response.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectComputeSubscores { + public static final String SERIALIZED_NAME_CASH_ADVANCE_BUCKET025 = "cash_advance_bucket_0_25"; + @SerializedName(SERIALIZED_NAME_CASH_ADVANCE_BUCKET025) + private Integer cashAdvanceBucket025; + + public static final String SERIALIZED_NAME_CASH_ADVANCE_BUCKET2550 = "cash_advance_bucket_25_50"; + @SerializedName(SERIALIZED_NAME_CASH_ADVANCE_BUCKET2550) + private Integer cashAdvanceBucket2550; + + public static final String SERIALIZED_NAME_CASH_ADVANCE_BUCKET50100 = "cash_advance_bucket_50_100"; + @SerializedName(SERIALIZED_NAME_CASH_ADVANCE_BUCKET50100) + private Integer cashAdvanceBucket50100; + + public static final String SERIALIZED_NAME_CASH_ADVANCE_BUCKET100200 = "cash_advance_bucket_100_200"; + @SerializedName(SERIALIZED_NAME_CASH_ADVANCE_BUCKET100200) + private Integer cashAdvanceBucket100200; + + public static final String SERIALIZED_NAME_CASH_ADVANCE_BUCKET200300 = "cash_advance_bucket_200_300"; + @SerializedName(SERIALIZED_NAME_CASH_ADVANCE_BUCKET200300) + private Integer cashAdvanceBucket200300; + + public static final String SERIALIZED_NAME_CASH_ADVANCE_BUCKET300400 = "cash_advance_bucket_300_400"; + @SerializedName(SERIALIZED_NAME_CASH_ADVANCE_BUCKET300400) + private Integer cashAdvanceBucket300400; + + public static final String SERIALIZED_NAME_CASH_ADVANCE_BUCKET400500 = "cash_advance_bucket_400_500"; + @SerializedName(SERIALIZED_NAME_CASH_ADVANCE_BUCKET400500) + private Integer cashAdvanceBucket400500; + + + public ProtectComputeSubscores cashAdvanceBucket025(Integer cashAdvanceBucket025) { + + this.cashAdvanceBucket025 = cashAdvanceBucket025; + return this; + } + + /** + * Subscore for cash advance amounts in the range $0-$25. + * @return cashAdvanceBucket025 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Subscore for cash advance amounts in the range $0-$25.") + + public Integer getCashAdvanceBucket025() { + return cashAdvanceBucket025; + } + + + public void setCashAdvanceBucket025(Integer cashAdvanceBucket025) { + this.cashAdvanceBucket025 = cashAdvanceBucket025; + } + + + public ProtectComputeSubscores cashAdvanceBucket2550(Integer cashAdvanceBucket2550) { + + this.cashAdvanceBucket2550 = cashAdvanceBucket2550; + return this; + } + + /** + * Subscore for cash advance amounts in the range $25-$50. + * @return cashAdvanceBucket2550 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Subscore for cash advance amounts in the range $25-$50.") + + public Integer getCashAdvanceBucket2550() { + return cashAdvanceBucket2550; + } + + + public void setCashAdvanceBucket2550(Integer cashAdvanceBucket2550) { + this.cashAdvanceBucket2550 = cashAdvanceBucket2550; + } + + + public ProtectComputeSubscores cashAdvanceBucket50100(Integer cashAdvanceBucket50100) { + + this.cashAdvanceBucket50100 = cashAdvanceBucket50100; + return this; + } + + /** + * Subscore for cash advance amounts in the range $50-$100. + * @return cashAdvanceBucket50100 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Subscore for cash advance amounts in the range $50-$100.") + + public Integer getCashAdvanceBucket50100() { + return cashAdvanceBucket50100; + } + + + public void setCashAdvanceBucket50100(Integer cashAdvanceBucket50100) { + this.cashAdvanceBucket50100 = cashAdvanceBucket50100; + } + + + public ProtectComputeSubscores cashAdvanceBucket100200(Integer cashAdvanceBucket100200) { + + this.cashAdvanceBucket100200 = cashAdvanceBucket100200; + return this; + } + + /** + * Subscore for cash advance amounts in the range $100-$200. + * @return cashAdvanceBucket100200 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Subscore for cash advance amounts in the range $100-$200.") + + public Integer getCashAdvanceBucket100200() { + return cashAdvanceBucket100200; + } + + + public void setCashAdvanceBucket100200(Integer cashAdvanceBucket100200) { + this.cashAdvanceBucket100200 = cashAdvanceBucket100200; + } + + + public ProtectComputeSubscores cashAdvanceBucket200300(Integer cashAdvanceBucket200300) { + + this.cashAdvanceBucket200300 = cashAdvanceBucket200300; + return this; + } + + /** + * Subscore for cash advance amounts in the range $200-$300. + * @return cashAdvanceBucket200300 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Subscore for cash advance amounts in the range $200-$300.") + + public Integer getCashAdvanceBucket200300() { + return cashAdvanceBucket200300; + } + + + public void setCashAdvanceBucket200300(Integer cashAdvanceBucket200300) { + this.cashAdvanceBucket200300 = cashAdvanceBucket200300; + } + + + public ProtectComputeSubscores cashAdvanceBucket300400(Integer cashAdvanceBucket300400) { + + this.cashAdvanceBucket300400 = cashAdvanceBucket300400; + return this; + } + + /** + * Subscore for cash advance amounts in the range $300-$400. + * @return cashAdvanceBucket300400 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Subscore for cash advance amounts in the range $300-$400.") + + public Integer getCashAdvanceBucket300400() { + return cashAdvanceBucket300400; + } + + + public void setCashAdvanceBucket300400(Integer cashAdvanceBucket300400) { + this.cashAdvanceBucket300400 = cashAdvanceBucket300400; + } + + + public ProtectComputeSubscores cashAdvanceBucket400500(Integer cashAdvanceBucket400500) { + + this.cashAdvanceBucket400500 = cashAdvanceBucket400500; + return this; + } + + /** + * Subscore for cash advance amounts in the range $400-$500. + * @return cashAdvanceBucket400500 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Subscore for cash advance amounts in the range $400-$500.") + + public Integer getCashAdvanceBucket400500() { + return cashAdvanceBucket400500; + } + + + public void setCashAdvanceBucket400500(Integer cashAdvanceBucket400500) { + this.cashAdvanceBucket400500 = cashAdvanceBucket400500; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectComputeSubscores protectComputeSubscores = (ProtectComputeSubscores) o; + return Objects.equals(this.cashAdvanceBucket025, protectComputeSubscores.cashAdvanceBucket025) && + Objects.equals(this.cashAdvanceBucket2550, protectComputeSubscores.cashAdvanceBucket2550) && + Objects.equals(this.cashAdvanceBucket50100, protectComputeSubscores.cashAdvanceBucket50100) && + Objects.equals(this.cashAdvanceBucket100200, protectComputeSubscores.cashAdvanceBucket100200) && + Objects.equals(this.cashAdvanceBucket200300, protectComputeSubscores.cashAdvanceBucket200300) && + Objects.equals(this.cashAdvanceBucket300400, protectComputeSubscores.cashAdvanceBucket300400) && + Objects.equals(this.cashAdvanceBucket400500, protectComputeSubscores.cashAdvanceBucket400500); + } + + @Override + public int hashCode() { + return Objects.hash(cashAdvanceBucket025, cashAdvanceBucket2550, cashAdvanceBucket50100, cashAdvanceBucket100200, cashAdvanceBucket200300, cashAdvanceBucket300400, cashAdvanceBucket400500); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectComputeSubscores {\n"); + sb.append(" cashAdvanceBucket025: ").append(toIndentedString(cashAdvanceBucket025)).append("\n"); + sb.append(" cashAdvanceBucket2550: ").append(toIndentedString(cashAdvanceBucket2550)).append("\n"); + sb.append(" cashAdvanceBucket50100: ").append(toIndentedString(cashAdvanceBucket50100)).append("\n"); + sb.append(" cashAdvanceBucket100200: ").append(toIndentedString(cashAdvanceBucket100200)).append("\n"); + sb.append(" cashAdvanceBucket200300: ").append(toIndentedString(cashAdvanceBucket200300)).append("\n"); + sb.append(" cashAdvanceBucket300400: ").append(toIndentedString(cashAdvanceBucket300400)).append("\n"); + sb.append(" cashAdvanceBucket400500: ").append(toIndentedString(cashAdvanceBucket400500)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectEvent.java b/src/main/java/com/plaid/client/model/ProtectEvent.java new file mode 100644 index 0000000000..01b956bc6c --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectEvent.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Event data for Protect events. + */ +@ApiModel(description = "Event data for Protect events.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectEvent { + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + public static final String SERIALIZED_NAME_PROTECT_SESSION_ID = "protect_session_id"; + @SerializedName(SERIALIZED_NAME_PROTECT_SESSION_ID) + private String protectSessionId; + + public static final String SERIALIZED_NAME_APP_VISIT = "app_visit"; + @SerializedName(SERIALIZED_NAME_APP_VISIT) + private Object appVisit; + + public static final String SERIALIZED_NAME_USER_SIGN_IN = "user_sign_in"; + @SerializedName(SERIALIZED_NAME_USER_SIGN_IN) + private Object userSignIn; + + public static final String SERIALIZED_NAME_USER_SIGN_UP = "user_sign_up"; + @SerializedName(SERIALIZED_NAME_USER_SIGN_UP) + private Object userSignUp; + + + public ProtectEvent timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * The timestamp of the event, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"` + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "The timestamp of the event, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"`") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + public ProtectEvent protectSessionId(String protectSessionId) { + + this.protectSessionId = protectSessionId; + return this; + } + + /** + * If present, contains the current Protect Session ID from the Protect SDK. + * @return protectSessionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If present, contains the current Protect Session ID from the Protect SDK.") + + public String getProtectSessionId() { + return protectSessionId; + } + + + public void setProtectSessionId(String protectSessionId) { + this.protectSessionId = protectSessionId; + } + + + public ProtectEvent appVisit(Object appVisit) { + + this.appVisit = appVisit; + return this; + } + + /** + * This event type represents a user visiting the client application. + * @return appVisit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "This event type represents a user visiting the client application.") + + public Object getAppVisit() { + return appVisit; + } + + + public void setAppVisit(Object appVisit) { + this.appVisit = appVisit; + } + + + public ProtectEvent userSignIn(Object userSignIn) { + + this.userSignIn = userSignIn; + return this; + } + + /** + * This event type represents a user signing in to the application. + * @return userSignIn + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "This event type represents a user signing in to the application.") + + public Object getUserSignIn() { + return userSignIn; + } + + + public void setUserSignIn(Object userSignIn) { + this.userSignIn = userSignIn; + } + + + public ProtectEvent userSignUp(Object userSignUp) { + + this.userSignUp = userSignUp; + return this; + } + + /** + * This event type represents a user signing up for the application. + * @return userSignUp + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "This event type represents a user signing up for the application.") + + public Object getUserSignUp() { + return userSignUp; + } + + + public void setUserSignUp(Object userSignUp) { + this.userSignUp = userSignUp; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectEvent protectEvent = (ProtectEvent) o; + return Objects.equals(this.timestamp, protectEvent.timestamp) && + Objects.equals(this.protectSessionId, protectEvent.protectSessionId) && + Objects.equals(this.appVisit, protectEvent.appVisit) && + Objects.equals(this.userSignIn, protectEvent.userSignIn) && + Objects.equals(this.userSignUp, protectEvent.userSignUp); + } + + @Override + public int hashCode() { + return Objects.hash(timestamp, protectSessionId, appVisit, userSignIn, userSignUp); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectEvent {\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" protectSessionId: ").append(toIndentedString(protectSessionId)).append("\n"); + sb.append(" appVisit: ").append(toIndentedString(appVisit)).append("\n"); + sb.append(" userSignIn: ").append(toIndentedString(userSignIn)).append("\n"); + sb.append(" userSignUp: ").append(toIndentedString(userSignUp)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectEventGetRequest.java b/src/main/java/com/plaid/client/model/ProtectEventGetRequest.java new file mode 100644 index 0000000000..d8d16e42b6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectEventGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request object for /protect/event/get + */ +@ApiModel(description = "Request object for /protect/event/get") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectEventGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_EVENT_ID = "event_id"; + @SerializedName(SERIALIZED_NAME_EVENT_ID) + private String eventId; + + + public ProtectEventGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProtectEventGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProtectEventGetRequest eventId(String eventId) { + + this.eventId = eventId; + return this; + } + + /** + * The event ID to retrieve information for. + * @return eventId + **/ + @ApiModelProperty(required = true, value = "The event ID to retrieve information for.") + + public String getEventId() { + return eventId; + } + + + public void setEventId(String eventId) { + this.eventId = eventId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectEventGetRequest protectEventGetRequest = (ProtectEventGetRequest) o; + return Objects.equals(this.clientId, protectEventGetRequest.clientId) && + Objects.equals(this.secret, protectEventGetRequest.secret) && + Objects.equals(this.eventId, protectEventGetRequest.eventId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, eventId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectEventGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" eventId: ").append(toIndentedString(eventId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectEventGetResponse.java b/src/main/java/com/plaid/client/model/ProtectEventGetResponse.java new file mode 100644 index 0000000000..2654680904 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectEventGetResponse.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TrustIndex; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Response object for /protect/event/get + */ +@ApiModel(description = "Response object for /protect/event/get") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectEventGetResponse { + public static final String SERIALIZED_NAME_EVENT_ID = "event_id"; + @SerializedName(SERIALIZED_NAME_EVENT_ID) + private String eventId; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + public static final String SERIALIZED_NAME_TRUST_INDEX = "trust_index"; + @SerializedName(SERIALIZED_NAME_TRUST_INDEX) + private TrustIndex trustIndex; + + public static final String SERIALIZED_NAME_FRAUD_ATTRIBUTES = "fraud_attributes"; + @SerializedName(SERIALIZED_NAME_FRAUD_ATTRIBUTES) + private Object fraudAttributes; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProtectEventGetResponse eventId(String eventId) { + + this.eventId = eventId; + return this; + } + + /** + * The event ID. + * @return eventId + **/ + @ApiModelProperty(required = true, value = "The event ID.") + + public String getEventId() { + return eventId; + } + + + public void setEventId(String eventId) { + this.eventId = eventId; + } + + + public ProtectEventGetResponse timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * The timestamp of the event, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"` + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "The timestamp of the event, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"`") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + public ProtectEventGetResponse trustIndex(TrustIndex trustIndex) { + + this.trustIndex = trustIndex; + return this; + } + + /** + * Get trustIndex + * @return trustIndex + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TrustIndex getTrustIndex() { + return trustIndex; + } + + + public void setTrustIndex(TrustIndex trustIndex) { + this.trustIndex = trustIndex; + } + + + public ProtectEventGetResponse fraudAttributes(Object fraudAttributes) { + + this.fraudAttributes = fraudAttributes; + return this; + } + + /** + * Event fraud attributes as an arbitrary set of key-value pairs. The set of attributes returned varies by model. + * @return fraudAttributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Event fraud attributes as an arbitrary set of key-value pairs. The set of attributes returned varies by model.") + + public Object getFraudAttributes() { + return fraudAttributes; + } + + + public void setFraudAttributes(Object fraudAttributes) { + this.fraudAttributes = fraudAttributes; + } + + + public ProtectEventGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectEventGetResponse protectEventGetResponse = (ProtectEventGetResponse) o; + return Objects.equals(this.eventId, protectEventGetResponse.eventId) && + Objects.equals(this.timestamp, protectEventGetResponse.timestamp) && + Objects.equals(this.trustIndex, protectEventGetResponse.trustIndex) && + Objects.equals(this.fraudAttributes, protectEventGetResponse.fraudAttributes) && + Objects.equals(this.requestId, protectEventGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(eventId, timestamp, trustIndex, fraudAttributes, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectEventGetResponse {\n"); + sb.append(" eventId: ").append(toIndentedString(eventId)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" trustIndex: ").append(toIndentedString(trustIndex)).append("\n"); + sb.append(" fraudAttributes: ").append(toIndentedString(fraudAttributes)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectEventSendRequest.java b/src/main/java/com/plaid/client/model/ProtectEventSendRequest.java new file mode 100644 index 0000000000..5d586566a7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectEventSendRequest.java @@ -0,0 +1,246 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProtectEvent; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Request object for /protect/event/send + */ +@ApiModel(description = "Request object for /protect/event/send") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectEventSendRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + public static final String SERIALIZED_NAME_EVENT = "event"; + @SerializedName(SERIALIZED_NAME_EVENT) + private ProtectEvent event; + + public static final String SERIALIZED_NAME_PROTECT_SESSION_ID = "protect_session_id"; + @SerializedName(SERIALIZED_NAME_PROTECT_SESSION_ID) + private String protectSessionId; + + public static final String SERIALIZED_NAME_REQUEST_TRUST_INDEX = "request_trust_index"; + @SerializedName(SERIALIZED_NAME_REQUEST_TRUST_INDEX) + private Boolean requestTrustIndex; + + + public ProtectEventSendRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProtectEventSendRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProtectEventSendRequest timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * Timestamp of the event. Might be the current moment or a time in the past. In [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"` + * @return timestamp + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp of the event. Might be the current moment or a time in the past. In [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"`") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + public ProtectEventSendRequest event(ProtectEvent event) { + + this.event = event; + return this; + } + + /** + * Get event + * @return event + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public ProtectEvent getEvent() { + return event; + } + + + public void setEvent(ProtectEvent event) { + this.event = event; + } + + + public ProtectEventSendRequest protectSessionId(String protectSessionId) { + + this.protectSessionId = protectSessionId; + return this; + } + + /** + * Protect Session ID should be provided for any event correlated with a frontend user session started via the Protect SDK. + * @return protectSessionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Protect Session ID should be provided for any event correlated with a frontend user session started via the Protect SDK.") + + public String getProtectSessionId() { + return protectSessionId; + } + + + public void setProtectSessionId(String protectSessionId) { + this.protectSessionId = protectSessionId; + } + + + public ProtectEventSendRequest requestTrustIndex(Boolean requestTrustIndex) { + + this.requestTrustIndex = requestTrustIndex; + return this; + } + + /** + * Whether this event should be scored with Trust Index. The default is false. + * @return requestTrustIndex + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether this event should be scored with Trust Index. The default is false.") + + public Boolean getRequestTrustIndex() { + return requestTrustIndex; + } + + + public void setRequestTrustIndex(Boolean requestTrustIndex) { + this.requestTrustIndex = requestTrustIndex; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectEventSendRequest protectEventSendRequest = (ProtectEventSendRequest) o; + return Objects.equals(this.clientId, protectEventSendRequest.clientId) && + Objects.equals(this.secret, protectEventSendRequest.secret) && + Objects.equals(this.timestamp, protectEventSendRequest.timestamp) && + Objects.equals(this.event, protectEventSendRequest.event) && + Objects.equals(this.protectSessionId, protectEventSendRequest.protectSessionId) && + Objects.equals(this.requestTrustIndex, protectEventSendRequest.requestTrustIndex); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, timestamp, event, protectSessionId, requestTrustIndex); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectEventSendRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" event: ").append(toIndentedString(event)).append("\n"); + sb.append(" protectSessionId: ").append(toIndentedString(protectSessionId)).append("\n"); + sb.append(" requestTrustIndex: ").append(toIndentedString(requestTrustIndex)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectEventSendResponse.java b/src/main/java/com/plaid/client/model/ProtectEventSendResponse.java new file mode 100644 index 0000000000..f674603fe9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectEventSendResponse.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TrustIndex; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Response object for /protect/event/send + */ +@ApiModel(description = "Response object for /protect/event/send") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectEventSendResponse { + public static final String SERIALIZED_NAME_EVENT_ID = "event_id"; + @SerializedName(SERIALIZED_NAME_EVENT_ID) + private String eventId; + + public static final String SERIALIZED_NAME_TRUST_INDEX = "trust_index"; + @SerializedName(SERIALIZED_NAME_TRUST_INDEX) + private TrustIndex trustIndex; + + public static final String SERIALIZED_NAME_FRAUD_ATTRIBUTES = "fraud_attributes"; + @SerializedName(SERIALIZED_NAME_FRAUD_ATTRIBUTES) + private Object fraudAttributes; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProtectEventSendResponse eventId(String eventId) { + + this.eventId = eventId; + return this; + } + + /** + * The id of the recorded event. + * @return eventId + **/ + @ApiModelProperty(required = true, value = "The id of the recorded event.") + + public String getEventId() { + return eventId; + } + + + public void setEventId(String eventId) { + this.eventId = eventId; + } + + + public ProtectEventSendResponse trustIndex(TrustIndex trustIndex) { + + this.trustIndex = trustIndex; + return this; + } + + /** + * Get trustIndex + * @return trustIndex + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TrustIndex getTrustIndex() { + return trustIndex; + } + + + public void setTrustIndex(TrustIndex trustIndex) { + this.trustIndex = trustIndex; + } + + + public ProtectEventSendResponse fraudAttributes(Object fraudAttributes) { + + this.fraudAttributes = fraudAttributes; + return this; + } + + /** + * Event fraud attributes as an arbitrary set of key-value pairs. The set of attributes returned varies by model. + * @return fraudAttributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Event fraud attributes as an arbitrary set of key-value pairs. The set of attributes returned varies by model.") + + public Object getFraudAttributes() { + return fraudAttributes; + } + + + public void setFraudAttributes(Object fraudAttributes) { + this.fraudAttributes = fraudAttributes; + } + + + public ProtectEventSendResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectEventSendResponse protectEventSendResponse = (ProtectEventSendResponse) o; + return Objects.equals(this.eventId, protectEventSendResponse.eventId) && + Objects.equals(this.trustIndex, protectEventSendResponse.trustIndex) && + Objects.equals(this.fraudAttributes, protectEventSendResponse.fraudAttributes) && + Objects.equals(this.requestId, protectEventSendResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(eventId, trustIndex, fraudAttributes, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectEventSendResponse {\n"); + sb.append(" eventId: ").append(toIndentedString(eventId)).append("\n"); + sb.append(" trustIndex: ").append(toIndentedString(trustIndex)).append("\n"); + sb.append(" fraudAttributes: ").append(toIndentedString(fraudAttributes)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectIncidentAmount.java b/src/main/java/com/plaid/client/model/ProtectIncidentAmount.java new file mode 100644 index 0000000000..8b2a210ffe --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectIncidentAmount.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The monetary amount associated with the incident. + */ +@ApiModel(description = "The monetary amount associated with the incident.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectIncidentAmount { + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode = "USD"; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Double value; + + + public ProtectIncidentAmount isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the incident amount. Defaults to `USD` if not specified. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the incident amount. Defaults to `USD` if not specified.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public ProtectIncidentAmount value(Double value) { + + this.value = value; + return this; + } + + /** + * The monetary value of the incident amount. + * @return value + **/ + @ApiModelProperty(required = true, value = "The monetary value of the incident amount.") + + public Double getValue() { + return value; + } + + + public void setValue(Double value) { + this.value = value; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectIncidentAmount protectIncidentAmount = (ProtectIncidentAmount) o; + return Objects.equals(this.isoCurrencyCode, protectIncidentAmount.isoCurrencyCode) && + Objects.equals(this.value, protectIncidentAmount.value); + } + + @Override + public int hashCode() { + return Objects.hash(isoCurrencyCode, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectIncidentAmount {\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectIncidentEvent.java b/src/main/java/com/plaid/client/model/ProtectIncidentEvent.java new file mode 100644 index 0000000000..417bab5a93 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectIncidentEvent.java @@ -0,0 +1,333 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProtectIncidentAmount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Details about the incident event. + */ +@ApiModel(description = "Details about the incident event.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectIncidentEvent { + public static final String SERIALIZED_NAME_PROTECT_EVENT_ID = "protect_event_id"; + @SerializedName(SERIALIZED_NAME_PROTECT_EVENT_ID) + private String protectEventId; + + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_IDV_SESSION_ID = "idv_session_id"; + @SerializedName(SERIALIZED_NAME_IDV_SESSION_ID) + private String idvSessionId; + + public static final String SERIALIZED_NAME_SIGNAL_CLIENT_TRANSACTION_ID = "signal_client_transaction_id"; + @SerializedName(SERIALIZED_NAME_SIGNAL_CLIENT_TRANSACTION_ID) + private String signalClientTransactionId; + + public static final String SERIALIZED_NAME_INTERNAL_REFERENCE = "internal_reference"; + @SerializedName(SERIALIZED_NAME_INTERNAL_REFERENCE) + private String internalReference; + + public static final String SERIALIZED_NAME_TIME = "time"; + @SerializedName(SERIALIZED_NAME_TIME) + private OffsetDateTime time; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private ProtectIncidentAmount amount; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + + public ProtectIncidentEvent protectEventId(String protectEventId) { + + this.protectEventId = protectEventId; + return this; + } + + /** + * A globally unique identifier representing a Protect event that may be associated with this incident. + * @return protectEventId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A globally unique identifier representing a Protect event that may be associated with this incident.") + + public String getProtectEventId() { + return protectEventId; + } + + + public void setProtectEventId(String protectEventId) { + this.protectEventId = protectEventId; + } + + + public ProtectIncidentEvent linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * A unique identifier for a Link session that may be associated with this incident. + * @return linkSessionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for a Link session that may be associated with this incident.") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public ProtectIncidentEvent idvSessionId(String idvSessionId) { + + this.idvSessionId = idvSessionId; + return this; + } + + /** + * A unique identifier for an Identity Verification session that may be associated with this incident. + * @return idvSessionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for an Identity Verification session that may be associated with this incident.") + + public String getIdvSessionId() { + return idvSessionId; + } + + + public void setIdvSessionId(String idvSessionId) { + this.idvSessionId = idvSessionId; + } + + + public ProtectIncidentEvent signalClientTransactionId(String signalClientTransactionId) { + + this.signalClientTransactionId = signalClientTransactionId; + return this; + } + + /** + * The unique ID used to refer to a Signal transaction evaluation that may be associated with this incident. + * @return signalClientTransactionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unique ID used to refer to a Signal transaction evaluation that may be associated with this incident.") + + public String getSignalClientTransactionId() { + return signalClientTransactionId; + } + + + public void setSignalClientTransactionId(String signalClientTransactionId) { + this.signalClientTransactionId = signalClientTransactionId; + } + + + public ProtectIncidentEvent internalReference(String internalReference) { + + this.internalReference = internalReference; + return this; + } + + /** + * A unique ID representing the incident in your system. Personally identifiable information, such as an email address or phone number, should not be used in this field. + * @return internalReference + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique ID representing the incident in your system. Personally identifiable information, such as an email address or phone number, should not be used in this field.") + + public String getInternalReference() { + return internalReference; + } + + + public void setInternalReference(String internalReference) { + this.internalReference = internalReference; + } + + + public ProtectIncidentEvent time(OffsetDateTime time) { + + this.time = time; + return this; + } + + /** + * The timestamp when the incident occurred, in ISO 8601 format (e.g., '2020-07-24T03:26:02Z'). + * @return time + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The timestamp when the incident occurred, in ISO 8601 format (e.g., '2020-07-24T03:26:02Z').") + + public OffsetDateTime getTime() { + return time; + } + + + public void setTime(OffsetDateTime time) { + this.time = time; + } + + + public ProtectIncidentEvent amount(ProtectIncidentAmount amount) { + + this.amount = amount; + return this; + } + + /** + * Get amount + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProtectIncidentAmount getAmount() { + return amount; + } + + + public void setAmount(ProtectIncidentAmount amount) { + this.amount = amount; + } + + + public ProtectIncidentEvent accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * An access token associated with the Item related to this incident. + * @return accessToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An access token associated with the Item related to this incident.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public ProtectIncidentEvent itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * An `item_id` associated with the Item related to this incident. To identify an Item when creating a report, provide `access_token`. + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An `item_id` associated with the Item related to this incident. To identify an Item when creating a report, provide `access_token`.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectIncidentEvent protectIncidentEvent = (ProtectIncidentEvent) o; + return Objects.equals(this.protectEventId, protectIncidentEvent.protectEventId) && + Objects.equals(this.linkSessionId, protectIncidentEvent.linkSessionId) && + Objects.equals(this.idvSessionId, protectIncidentEvent.idvSessionId) && + Objects.equals(this.signalClientTransactionId, protectIncidentEvent.signalClientTransactionId) && + Objects.equals(this.internalReference, protectIncidentEvent.internalReference) && + Objects.equals(this.time, protectIncidentEvent.time) && + Objects.equals(this.amount, protectIncidentEvent.amount) && + Objects.equals(this.accessToken, protectIncidentEvent.accessToken) && + Objects.equals(this.itemId, protectIncidentEvent.itemId); + } + + @Override + public int hashCode() { + return Objects.hash(protectEventId, linkSessionId, idvSessionId, signalClientTransactionId, internalReference, time, amount, accessToken, itemId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectIncidentEvent {\n"); + sb.append(" protectEventId: ").append(toIndentedString(protectEventId)).append("\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" idvSessionId: ").append(toIndentedString(idvSessionId)).append("\n"); + sb.append(" signalClientTransactionId: ").append(toIndentedString(signalClientTransactionId)).append("\n"); + sb.append(" internalReference: ").append(toIndentedString(internalReference)).append("\n"); + sb.append(" time: ").append(toIndentedString(time)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectIncidentEventResponse.java b/src/main/java/com/plaid/client/model/ProtectIncidentEventResponse.java new file mode 100644 index 0000000000..0014d1ffc4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectIncidentEventResponse.java @@ -0,0 +1,304 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProtectIncidentAmount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Details about the incident event. + */ +@ApiModel(description = "Details about the incident event.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectIncidentEventResponse { + public static final String SERIALIZED_NAME_PROTECT_EVENT_ID = "protect_event_id"; + @SerializedName(SERIALIZED_NAME_PROTECT_EVENT_ID) + private String protectEventId; + + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_IDV_SESSION_ID = "idv_session_id"; + @SerializedName(SERIALIZED_NAME_IDV_SESSION_ID) + private String idvSessionId; + + public static final String SERIALIZED_NAME_SIGNAL_CLIENT_TRANSACTION_ID = "signal_client_transaction_id"; + @SerializedName(SERIALIZED_NAME_SIGNAL_CLIENT_TRANSACTION_ID) + private String signalClientTransactionId; + + public static final String SERIALIZED_NAME_INTERNAL_REFERENCE = "internal_reference"; + @SerializedName(SERIALIZED_NAME_INTERNAL_REFERENCE) + private String internalReference; + + public static final String SERIALIZED_NAME_TIME = "time"; + @SerializedName(SERIALIZED_NAME_TIME) + private OffsetDateTime time; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private ProtectIncidentAmount amount; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + + public ProtectIncidentEventResponse protectEventId(String protectEventId) { + + this.protectEventId = protectEventId; + return this; + } + + /** + * A globally unique identifier representing a Protect event that may be associated with this incident. + * @return protectEventId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A globally unique identifier representing a Protect event that may be associated with this incident.") + + public String getProtectEventId() { + return protectEventId; + } + + + public void setProtectEventId(String protectEventId) { + this.protectEventId = protectEventId; + } + + + public ProtectIncidentEventResponse linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * A unique identifier for a Link session that may be associated with this incident. + * @return linkSessionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for a Link session that may be associated with this incident.") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public ProtectIncidentEventResponse idvSessionId(String idvSessionId) { + + this.idvSessionId = idvSessionId; + return this; + } + + /** + * A unique identifier for an Identity Verification session that may be associated with this incident. + * @return idvSessionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for an Identity Verification session that may be associated with this incident.") + + public String getIdvSessionId() { + return idvSessionId; + } + + + public void setIdvSessionId(String idvSessionId) { + this.idvSessionId = idvSessionId; + } + + + public ProtectIncidentEventResponse signalClientTransactionId(String signalClientTransactionId) { + + this.signalClientTransactionId = signalClientTransactionId; + return this; + } + + /** + * The unique ID used to refer to a Signal transaction evaluation that may be associated with this incident. + * @return signalClientTransactionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unique ID used to refer to a Signal transaction evaluation that may be associated with this incident.") + + public String getSignalClientTransactionId() { + return signalClientTransactionId; + } + + + public void setSignalClientTransactionId(String signalClientTransactionId) { + this.signalClientTransactionId = signalClientTransactionId; + } + + + public ProtectIncidentEventResponse internalReference(String internalReference) { + + this.internalReference = internalReference; + return this; + } + + /** + * A unique ID representing the incident in your system. Personally identifiable information, such as an email address or phone number, should not be used in this field. + * @return internalReference + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique ID representing the incident in your system. Personally identifiable information, such as an email address or phone number, should not be used in this field.") + + public String getInternalReference() { + return internalReference; + } + + + public void setInternalReference(String internalReference) { + this.internalReference = internalReference; + } + + + public ProtectIncidentEventResponse time(OffsetDateTime time) { + + this.time = time; + return this; + } + + /** + * The timestamp when the incident occurred, in ISO 8601 format (e.g., '2020-07-24T03:26:02Z'). + * @return time + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The timestamp when the incident occurred, in ISO 8601 format (e.g., '2020-07-24T03:26:02Z').") + + public OffsetDateTime getTime() { + return time; + } + + + public void setTime(OffsetDateTime time) { + this.time = time; + } + + + public ProtectIncidentEventResponse amount(ProtectIncidentAmount amount) { + + this.amount = amount; + return this; + } + + /** + * Get amount + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProtectIncidentAmount getAmount() { + return amount; + } + + + public void setAmount(ProtectIncidentAmount amount) { + this.amount = amount; + } + + + public ProtectIncidentEventResponse itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` associated with the Item related to this incident. + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `item_id` associated with the Item related to this incident.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectIncidentEventResponse protectIncidentEventResponse = (ProtectIncidentEventResponse) o; + return Objects.equals(this.protectEventId, protectIncidentEventResponse.protectEventId) && + Objects.equals(this.linkSessionId, protectIncidentEventResponse.linkSessionId) && + Objects.equals(this.idvSessionId, protectIncidentEventResponse.idvSessionId) && + Objects.equals(this.signalClientTransactionId, protectIncidentEventResponse.signalClientTransactionId) && + Objects.equals(this.internalReference, protectIncidentEventResponse.internalReference) && + Objects.equals(this.time, protectIncidentEventResponse.time) && + Objects.equals(this.amount, protectIncidentEventResponse.amount) && + Objects.equals(this.itemId, protectIncidentEventResponse.itemId); + } + + @Override + public int hashCode() { + return Objects.hash(protectEventId, linkSessionId, idvSessionId, signalClientTransactionId, internalReference, time, amount, itemId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectIncidentEventResponse {\n"); + sb.append(" protectEventId: ").append(toIndentedString(protectEventId)).append("\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" idvSessionId: ").append(toIndentedString(idvSessionId)).append("\n"); + sb.append(" signalClientTransactionId: ").append(toIndentedString(signalClientTransactionId)).append("\n"); + sb.append(" internalReference: ").append(toIndentedString(internalReference)).append("\n"); + sb.append(" time: ").append(toIndentedString(time)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectLinkModelInputs.java b/src/main/java/com/plaid/client/model/ProtectLinkModelInputs.java new file mode 100644 index 0000000000..3d27bfb292 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectLinkModelInputs.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Inputs for link session Trust Index models. + */ +@ApiModel(description = "Inputs for link session Trust Index models.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectLinkModelInputs { + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_REQUIRE_EXTRACTED_DATA = "require_extracted_data"; + @SerializedName(SERIALIZED_NAME_REQUIRE_EXTRACTED_DATA) + private Boolean requireExtractedData; + + + public ProtectLinkModelInputs linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * A unique identifier for the Link session, used to compute a Trust Index score and fraud attributes. + * @return linkSessionId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the Link session, used to compute a Trust Index score and fraud attributes.") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public ProtectLinkModelInputs requireExtractedData(Boolean requireExtractedData) { + + this.requireExtractedData = requireExtractedData; + return this; + } + + /** + * Controls whether transaction extraction must be complete before scoring. If `false` (default), returns a score whether or not transaction extraction is complete, as long as the link session is finished; if data has been extracted it will still be included in the score computation. If `true`, returns HTTP 400 with `error_type` = `INVALID_REQUEST` and `error_code` = `FAILED_PRECONDITION` if extraction is still in progress; once data is ready a score will be returned normally. + * @return requireExtractedData + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Controls whether transaction extraction must be complete before scoring. If `false` (default), returns a score whether or not transaction extraction is complete, as long as the link session is finished; if data has been extracted it will still be included in the score computation. If `true`, returns HTTP 400 with `error_type` = `INVALID_REQUEST` and `error_code` = `FAILED_PRECONDITION` if extraction is still in progress; once data is ready a score will be returned normally.") + + public Boolean getRequireExtractedData() { + return requireExtractedData; + } + + + public void setRequireExtractedData(Boolean requireExtractedData) { + this.requireExtractedData = requireExtractedData; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectLinkModelInputs protectLinkModelInputs = (ProtectLinkModelInputs) o; + return Objects.equals(this.linkSessionId, protectLinkModelInputs.linkSessionId) && + Objects.equals(this.requireExtractedData, protectLinkModelInputs.requireExtractedData); + } + + @Override + public int hashCode() { + return Objects.hash(linkSessionId, requireExtractedData); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectLinkModelInputs {\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" requireExtractedData: ").append(toIndentedString(requireExtractedData)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectModelInputs.java b/src/main/java/com/plaid/client/model/ProtectModelInputs.java new file mode 100644 index 0000000000..7bb121e77d --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectModelInputs.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProtectLinkModelInputs; +import com.plaid.client.model.ProtectSDKModelInputs; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Inputs required by certain Trust Index models. The `link` field is required for link-session models. Other model families (including cash-advance) are identified by `user` alone and do not use this object. + */ +@ApiModel(description = "Inputs required by certain Trust Index models. The `link` field is required for link-session models. Other model families (including cash-advance) are identified by `user` alone and do not use this object.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectModelInputs { + public static final String SERIALIZED_NAME_LINK = "link"; + @SerializedName(SERIALIZED_NAME_LINK) + private ProtectLinkModelInputs link; + + public static final String SERIALIZED_NAME_SDK = "sdk"; + @SerializedName(SERIALIZED_NAME_SDK) + private ProtectSDKModelInputs sdk; + + + public ProtectModelInputs link(ProtectLinkModelInputs link) { + + this.link = link; + return this; + } + + /** + * Get link + * @return link + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProtectLinkModelInputs getLink() { + return link; + } + + + public void setLink(ProtectLinkModelInputs link) { + this.link = link; + } + + + public ProtectModelInputs sdk(ProtectSDKModelInputs sdk) { + + this.sdk = sdk; + return this; + } + + /** + * Get sdk + * @return sdk + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProtectSDKModelInputs getSdk() { + return sdk; + } + + + public void setSdk(ProtectSDKModelInputs sdk) { + this.sdk = sdk; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectModelInputs protectModelInputs = (ProtectModelInputs) o; + return Objects.equals(this.link, protectModelInputs.link) && + Objects.equals(this.sdk, protectModelInputs.sdk); + } + + @Override + public int hashCode() { + return Objects.hash(link, sdk); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectModelInputs {\n"); + sb.append(" link: ").append(toIndentedString(link)).append("\n"); + sb.append(" sdk: ").append(toIndentedString(sdk)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectReport.java b/src/main/java/com/plaid/client/model/ProtectReport.java new file mode 100644 index 0000000000..86d554edcb --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectReport.java @@ -0,0 +1,332 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProtectBankAccount; +import com.plaid.client.model.ProtectIncidentEventResponse; +import com.plaid.client.model.ProtectReportConfidence; +import com.plaid.client.model.ProtectReportSource; +import com.plaid.client.model.ProtectReportType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * A Protect report associated with a user. Contains details about documented incidents, which may include fraud, investigation outcomes, or other risk events. + */ +@ApiModel(description = "A Protect report associated with a user. Contains details about documented incidents, which may include fraud, investigation outcomes, or other risk events.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectReport { + public static final String SERIALIZED_NAME_REPORT_ID = "report_id"; + @SerializedName(SERIALIZED_NAME_REPORT_ID) + private String reportId; + + public static final String SERIALIZED_NAME_INCIDENT_EVENT = "incident_event"; + @SerializedName(SERIALIZED_NAME_INCIDENT_EVENT) + private ProtectIncidentEventResponse incidentEvent; + + public static final String SERIALIZED_NAME_REPORT_CONFIDENCE = "report_confidence"; + @SerializedName(SERIALIZED_NAME_REPORT_CONFIDENCE) + private ProtectReportConfidence reportConfidence; + + public static final String SERIALIZED_NAME_REPORT_TYPE = "report_type"; + @SerializedName(SERIALIZED_NAME_REPORT_TYPE) + private ProtectReportType reportType; + + public static final String SERIALIZED_NAME_REPORT_SOURCE = "report_source"; + @SerializedName(SERIALIZED_NAME_REPORT_SOURCE) + private ProtectReportSource reportSource; + + public static final String SERIALIZED_NAME_BANK_ACCOUNT = "bank_account"; + @SerializedName(SERIALIZED_NAME_BANK_ACCOUNT) + private ProtectBankAccount bankAccount; + + public static final String SERIALIZED_NAME_ACH_RETURN_CODE = "ach_return_code"; + @SerializedName(SERIALIZED_NAME_ACH_RETURN_CODE) + private String achReturnCode; + + public static final String SERIALIZED_NAME_NOTES = "notes"; + @SerializedName(SERIALIZED_NAME_NOTES) + private String notes; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + + public ProtectReport reportId(String reportId) { + + this.reportId = reportId; + return this; + } + + /** + * A unique identifier representing the submitted report. + * @return reportId + **/ + @ApiModelProperty(required = true, value = "A unique identifier representing the submitted report.") + + public String getReportId() { + return reportId; + } + + + public void setReportId(String reportId) { + this.reportId = reportId; + } + + + public ProtectReport incidentEvent(ProtectIncidentEventResponse incidentEvent) { + + this.incidentEvent = incidentEvent; + return this; + } + + /** + * Get incidentEvent + * @return incidentEvent + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public ProtectIncidentEventResponse getIncidentEvent() { + return incidentEvent; + } + + + public void setIncidentEvent(ProtectIncidentEventResponse incidentEvent) { + this.incidentEvent = incidentEvent; + } + + + public ProtectReport reportConfidence(ProtectReportConfidence reportConfidence) { + + this.reportConfidence = reportConfidence; + return this; + } + + /** + * Get reportConfidence + * @return reportConfidence + **/ + @ApiModelProperty(required = true, value = "") + + public ProtectReportConfidence getReportConfidence() { + return reportConfidence; + } + + + public void setReportConfidence(ProtectReportConfidence reportConfidence) { + this.reportConfidence = reportConfidence; + } + + + public ProtectReport reportType(ProtectReportType reportType) { + + this.reportType = reportType; + return this; + } + + /** + * Get reportType + * @return reportType + **/ + @ApiModelProperty(required = true, value = "") + + public ProtectReportType getReportType() { + return reportType; + } + + + public void setReportType(ProtectReportType reportType) { + this.reportType = reportType; + } + + + public ProtectReport reportSource(ProtectReportSource reportSource) { + + this.reportSource = reportSource; + return this; + } + + /** + * Get reportSource + * @return reportSource + **/ + @ApiModelProperty(required = true, value = "") + + public ProtectReportSource getReportSource() { + return reportSource; + } + + + public void setReportSource(ProtectReportSource reportSource) { + this.reportSource = reportSource; + } + + + public ProtectReport bankAccount(ProtectBankAccount bankAccount) { + + this.bankAccount = bankAccount; + return this; + } + + /** + * Get bankAccount + * @return bankAccount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public ProtectBankAccount getBankAccount() { + return bankAccount; + } + + + public void setBankAccount(ProtectBankAccount bankAccount) { + this.bankAccount = bankAccount; + } + + + public ProtectReport achReturnCode(String achReturnCode) { + + this.achReturnCode = achReturnCode; + return this; + } + + /** + * ACH return code if the report type is `ACH_RETURN` (e.g. `R01`). + * @return achReturnCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "ACH return code if the report type is `ACH_RETURN` (e.g. `R01`).") + + public String getAchReturnCode() { + return achReturnCode; + } + + + public void setAchReturnCode(String achReturnCode) { + this.achReturnCode = achReturnCode; + } + + + public ProtectReport notes(String notes) { + + this.notes = notes; + return this; + } + + /** + * Additional context or details about the report. + * @return notes + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Additional context or details about the report.") + + public String getNotes() { + return notes; + } + + + public void setNotes(String notes) { + this.notes = notes; + } + + + public ProtectReport createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * The timestamp when the report was created, in ISO 8601 format (e.g., '2020-07-24T03:26:02Z'). + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "The timestamp when the report was created, in ISO 8601 format (e.g., '2020-07-24T03:26:02Z').") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectReport protectReport = (ProtectReport) o; + return Objects.equals(this.reportId, protectReport.reportId) && + Objects.equals(this.incidentEvent, protectReport.incidentEvent) && + Objects.equals(this.reportConfidence, protectReport.reportConfidence) && + Objects.equals(this.reportType, protectReport.reportType) && + Objects.equals(this.reportSource, protectReport.reportSource) && + Objects.equals(this.bankAccount, protectReport.bankAccount) && + Objects.equals(this.achReturnCode, protectReport.achReturnCode) && + Objects.equals(this.notes, protectReport.notes) && + Objects.equals(this.createdAt, protectReport.createdAt); + } + + @Override + public int hashCode() { + return Objects.hash(reportId, incidentEvent, reportConfidence, reportType, reportSource, bankAccount, achReturnCode, notes, createdAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectReport {\n"); + sb.append(" reportId: ").append(toIndentedString(reportId)).append("\n"); + sb.append(" incidentEvent: ").append(toIndentedString(incidentEvent)).append("\n"); + sb.append(" reportConfidence: ").append(toIndentedString(reportConfidence)).append("\n"); + sb.append(" reportType: ").append(toIndentedString(reportType)).append("\n"); + sb.append(" reportSource: ").append(toIndentedString(reportSource)).append("\n"); + sb.append(" bankAccount: ").append(toIndentedString(bankAccount)).append("\n"); + sb.append(" achReturnCode: ").append(toIndentedString(achReturnCode)).append("\n"); + sb.append(" notes: ").append(toIndentedString(notes)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectReportConfidence.java b/src/main/java/com/plaid/client/model/ProtectReportConfidence.java new file mode 100644 index 0000000000..4899741e00 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectReportConfidence.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The confidence level of the incident report. `CONFIRMED` indicates the incident has been verified and definitively occurred. `SUSPECTED` indicates the incident is believed to have occurred but has not been fully verified. + */ +@JsonAdapter(ProtectReportConfidence.Adapter.class) +public enum ProtectReportConfidence { + + CONFIRMED("CONFIRMED"), + + SUSPECTED("SUSPECTED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ProtectReportConfidence(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtectReportConfidence fromValue(String value) { + for (ProtectReportConfidence b : ProtectReportConfidence.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ProtectReportConfidence.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtectReportConfidence enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtectReportConfidence read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtectReportConfidence.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ProtectReportCreateRequest.java b/src/main/java/com/plaid/client/model/ProtectReportCreateRequest.java new file mode 100644 index 0000000000..3b72ff0eb3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectReportCreateRequest.java @@ -0,0 +1,362 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProtectBankAccount; +import com.plaid.client.model.ProtectIncidentEvent; +import com.plaid.client.model.ProtectReportConfidence; +import com.plaid.client.model.ProtectReportSource; +import com.plaid.client.model.ProtectReportType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request object for `/protect/report/create`. You must provide either `user_id`, or an `incident_event` with at least one supported identifier: `link_session_id`, `idv_session_id`, `protect_event_id`, `signal_client_transaction_id`, or `access_token`. Context fields such as `internal_reference`, `time`, `amount`, and `bank_account` do not satisfy this identifier requirement. + */ +@ApiModel(description = "Request object for `/protect/report/create`. You must provide either `user_id`, or an `incident_event` with at least one supported identifier: `link_session_id`, `idv_session_id`, `protect_event_id`, `signal_client_transaction_id`, or `access_token`. Context fields such as `internal_reference`, `time`, `amount`, and `bank_account` do not satisfy this identifier requirement.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectReportCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_INCIDENT_EVENT = "incident_event"; + @SerializedName(SERIALIZED_NAME_INCIDENT_EVENT) + private ProtectIncidentEvent incidentEvent; + + public static final String SERIALIZED_NAME_REPORT_CONFIDENCE = "report_confidence"; + @SerializedName(SERIALIZED_NAME_REPORT_CONFIDENCE) + private ProtectReportConfidence reportConfidence; + + public static final String SERIALIZED_NAME_REPORT_TYPE = "report_type"; + @SerializedName(SERIALIZED_NAME_REPORT_TYPE) + private ProtectReportType reportType; + + public static final String SERIALIZED_NAME_REPORT_SOURCE = "report_source"; + @SerializedName(SERIALIZED_NAME_REPORT_SOURCE) + private ProtectReportSource reportSource; + + public static final String SERIALIZED_NAME_BANK_ACCOUNT = "bank_account"; + @SerializedName(SERIALIZED_NAME_BANK_ACCOUNT) + private ProtectBankAccount bankAccount; + + public static final String SERIALIZED_NAME_ACH_RETURN_CODE = "ach_return_code"; + @SerializedName(SERIALIZED_NAME_ACH_RETURN_CODE) + private String achReturnCode; + + public static final String SERIALIZED_NAME_NOTES = "notes"; + @SerializedName(SERIALIZED_NAME_NOTES) + private String notes; + + + public ProtectReportCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProtectReportCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProtectReportCreateRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid User ID associated with the report. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid User ID associated with the report.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public ProtectReportCreateRequest incidentEvent(ProtectIncidentEvent incidentEvent) { + + this.incidentEvent = incidentEvent; + return this; + } + + /** + * Get incidentEvent + * @return incidentEvent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProtectIncidentEvent getIncidentEvent() { + return incidentEvent; + } + + + public void setIncidentEvent(ProtectIncidentEvent incidentEvent) { + this.incidentEvent = incidentEvent; + } + + + public ProtectReportCreateRequest reportConfidence(ProtectReportConfidence reportConfidence) { + + this.reportConfidence = reportConfidence; + return this; + } + + /** + * Get reportConfidence + * @return reportConfidence + **/ + @ApiModelProperty(required = true, value = "") + + public ProtectReportConfidence getReportConfidence() { + return reportConfidence; + } + + + public void setReportConfidence(ProtectReportConfidence reportConfidence) { + this.reportConfidence = reportConfidence; + } + + + public ProtectReportCreateRequest reportType(ProtectReportType reportType) { + + this.reportType = reportType; + return this; + } + + /** + * Get reportType + * @return reportType + **/ + @ApiModelProperty(required = true, value = "") + + public ProtectReportType getReportType() { + return reportType; + } + + + public void setReportType(ProtectReportType reportType) { + this.reportType = reportType; + } + + + public ProtectReportCreateRequest reportSource(ProtectReportSource reportSource) { + + this.reportSource = reportSource; + return this; + } + + /** + * Get reportSource + * @return reportSource + **/ + @ApiModelProperty(required = true, value = "") + + public ProtectReportSource getReportSource() { + return reportSource; + } + + + public void setReportSource(ProtectReportSource reportSource) { + this.reportSource = reportSource; + } + + + public ProtectReportCreateRequest bankAccount(ProtectBankAccount bankAccount) { + + this.bankAccount = bankAccount; + return this; + } + + /** + * Get bankAccount + * @return bankAccount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProtectBankAccount getBankAccount() { + return bankAccount; + } + + + public void setBankAccount(ProtectBankAccount bankAccount) { + this.bankAccount = bankAccount; + } + + + public ProtectReportCreateRequest achReturnCode(String achReturnCode) { + + this.achReturnCode = achReturnCode; + return this; + } + + /** + * Must be a valid ACH return code (e.g. `R01`), required if `report_type` is `ACH_RETURN`. + * @return achReturnCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Must be a valid ACH return code (e.g. `R01`), required if `report_type` is `ACH_RETURN`.") + + public String getAchReturnCode() { + return achReturnCode; + } + + + public void setAchReturnCode(String achReturnCode) { + this.achReturnCode = achReturnCode; + } + + + public ProtectReportCreateRequest notes(String notes) { + + this.notes = notes; + return this; + } + + /** + * Additional context or details about the report, required if `report_type` is `OTHER`. + * @return notes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Additional context or details about the report, required if `report_type` is `OTHER`.") + + public String getNotes() { + return notes; + } + + + public void setNotes(String notes) { + this.notes = notes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectReportCreateRequest protectReportCreateRequest = (ProtectReportCreateRequest) o; + return Objects.equals(this.clientId, protectReportCreateRequest.clientId) && + Objects.equals(this.secret, protectReportCreateRequest.secret) && + Objects.equals(this.userId, protectReportCreateRequest.userId) && + Objects.equals(this.incidentEvent, protectReportCreateRequest.incidentEvent) && + Objects.equals(this.reportConfidence, protectReportCreateRequest.reportConfidence) && + Objects.equals(this.reportType, protectReportCreateRequest.reportType) && + Objects.equals(this.reportSource, protectReportCreateRequest.reportSource) && + Objects.equals(this.bankAccount, protectReportCreateRequest.bankAccount) && + Objects.equals(this.achReturnCode, protectReportCreateRequest.achReturnCode) && + Objects.equals(this.notes, protectReportCreateRequest.notes); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, incidentEvent, reportConfidence, reportType, reportSource, bankAccount, achReturnCode, notes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectReportCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" incidentEvent: ").append(toIndentedString(incidentEvent)).append("\n"); + sb.append(" reportConfidence: ").append(toIndentedString(reportConfidence)).append("\n"); + sb.append(" reportType: ").append(toIndentedString(reportType)).append("\n"); + sb.append(" reportSource: ").append(toIndentedString(reportSource)).append("\n"); + sb.append(" bankAccount: ").append(toIndentedString(bankAccount)).append("\n"); + sb.append(" achReturnCode: ").append(toIndentedString(achReturnCode)).append("\n"); + sb.append(" notes: ").append(toIndentedString(notes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectReportCreateResponse.java b/src/main/java/com/plaid/client/model/ProtectReportCreateResponse.java new file mode 100644 index 0000000000..b9c2ce2853 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectReportCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Response object for /protect/report/create + */ +@ApiModel(description = "Response object for /protect/report/create") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectReportCreateResponse { + public static final String SERIALIZED_NAME_REPORT_ID = "report_id"; + @SerializedName(SERIALIZED_NAME_REPORT_ID) + private String reportId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProtectReportCreateResponse reportId(String reportId) { + + this.reportId = reportId; + return this; + } + + /** + * A unique identifier representing the submitted report. + * @return reportId + **/ + @ApiModelProperty(required = true, value = "A unique identifier representing the submitted report.") + + public String getReportId() { + return reportId; + } + + + public void setReportId(String reportId) { + this.reportId = reportId; + } + + + public ProtectReportCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectReportCreateResponse protectReportCreateResponse = (ProtectReportCreateResponse) o; + return Objects.equals(this.reportId, protectReportCreateResponse.reportId) && + Objects.equals(this.requestId, protectReportCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(reportId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectReportCreateResponse {\n"); + sb.append(" reportId: ").append(toIndentedString(reportId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectReportSource.java b/src/main/java/com/plaid/client/model/ProtectReportSource.java new file mode 100644 index 0000000000..e00deaf7c2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectReportSource.java @@ -0,0 +1,89 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The source that identified or reported the incident. `INTERNAL_REVIEW` - Incident was identified through internal fraud investigations or review processes. `USER_SELF_REPORTED` - Incident was reported directly by the affected user. `BANK_FEEDBACK` - Incident was identified through bank feedback, including ACH returns and connection revocations. `NETWORK_FEEDBACK` - Incident was identified through card network alerts or chargebacks. `AUTOMATED_SYSTEM` - Incident was detected by automated systems such as fraud models or rule engines. `THIRD_PARTY_ALERT` - Incident was identified through external vendor or consortium alerts. `OTHER` - Incident was identified through a source not covered by other categories. + */ +@JsonAdapter(ProtectReportSource.Adapter.class) +public enum ProtectReportSource { + + INTERNAL_REVIEW("INTERNAL_REVIEW"), + + USER_SELF_REPORTED("USER_SELF_REPORTED"), + + BANK_FEEDBACK("BANK_FEEDBACK"), + + NETWORK_FEEDBACK("NETWORK_FEEDBACK"), + + AUTOMATED_SYSTEM("AUTOMATED_SYSTEM"), + + THIRD_PARTY_ALERT("THIRD_PARTY_ALERT"), + + OTHER("OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ProtectReportSource(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtectReportSource fromValue(String value) { + for (ProtectReportSource b : ProtectReportSource.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ProtectReportSource.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtectReportSource enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtectReportSource read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtectReportSource.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ProtectReportType.java b/src/main/java/com/plaid/client/model/ProtectReportType.java new file mode 100644 index 0000000000..71e7a58a89 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectReportType.java @@ -0,0 +1,113 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of incident being reported. `USER_ACCOUNT_TAKEOVER` - Indicates that a legitimate user's account was accessed or controlled by an unauthorized party. `FALSE_IDENTITY` - Indicates that a user created an account using stolen or fabricated identity information. `STOLEN_IDENTITY` - Indicates that a user created an account using identity information belonging to a real individual without their consent. `SYNTHETIC_IDENTITY` - Indicates that a user created an account using a fake or partially fabricated identity (e.g., combining real and fake information to form a new persona). `MULTIPLE_USER_ACCOUNTS` - Indicates that the same individual is operating multiple accounts in violation of policy. `SCAM_VICTIM` - Indicates that the user was tricked into authorizing or sending funds as part of a scam. `BANK_ACCOUNT_TAKEOVER` - Indicates that a user's linked bank account was accessed or misused by an unauthorized party. `BANK_CONNECTION_REVOKED` - Indicates that a linked bank account connection was revoked by the financial institution, often due to suspected misuse, fraud, or security concerns. `CARD_TESTING` - Indicates that a card was used in small or repeated transactions to test its validity. `UNAUTHORIZED_TRANSACTION` - Indicates that a transaction was made without the user's consent or authorization. `CARD_CHARGEBACK` - Indicates that a card transaction was reversed via a chargeback claim. `ACH_RETURN` - Indicates that an ACH transaction was returned or reversed by the bank. `DISPUTE` - Indicates that a user filed a dispute regarding a transaction or account activity. `FIRST_PARTY_FRAUD` - Indicates that a user intentionally misrepresented themselves or their actions for financial gain. `MISSED_PAYMENT` - Indicates that a user failed to make a required payment on time. `LOAN_STACKING` - Indicates that a user applied for or took out multiple loans simultaneously beyond their ability to repay. `MONEY_LAUNDERING` - Indicates that funds are being moved through accounts to obscure their illicit origin. `NO_FRAUD` - Indicates that an investigation determined no fraudulent activity occurred on user/event (positive label). `OTHER` - Indicates that the case involves fraud or financial risk not covered by other report types. Requires notes describing the report. + */ +@JsonAdapter(ProtectReportType.Adapter.class) +public enum ProtectReportType { + + USER_ACCOUNT_TAKEOVER("USER_ACCOUNT_TAKEOVER"), + + FALSE_IDENTITY("FALSE_IDENTITY"), + + STOLEN_IDENTITY("STOLEN_IDENTITY"), + + SYNTHETIC_IDENTITY("SYNTHETIC_IDENTITY"), + + MULTIPLE_USER_ACCOUNTS("MULTIPLE_USER_ACCOUNTS"), + + SCAM_VICTIM("SCAM_VICTIM"), + + BANK_ACCOUNT_TAKEOVER("BANK_ACCOUNT_TAKEOVER"), + + BANK_CONNECTION_REVOKED("BANK_CONNECTION_REVOKED"), + + CARD_TESTING("CARD_TESTING"), + + UNAUTHORIZED_TRANSACTION("UNAUTHORIZED_TRANSACTION"), + + CARD_CHARGEBACK("CARD_CHARGEBACK"), + + ACH_RETURN("ACH_RETURN"), + + DISPUTE("DISPUTE"), + + FIRST_PARTY_FRAUD("FIRST_PARTY_FRAUD"), + + MISSED_PAYMENT("MISSED_PAYMENT"), + + LOAN_STACKING("LOAN_STACKING"), + + MONEY_LAUNDERING("MONEY_LAUNDERING"), + + NO_FRAUD("NO_FRAUD"), + + OTHER("OTHER"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ProtectReportType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtectReportType fromValue(String value) { + for (ProtectReportType b : ProtectReportType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ProtectReportType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtectReportType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtectReportType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtectReportType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ProtectSDKModelInputs.java b/src/main/java/com/plaid/client/model/ProtectSDKModelInputs.java new file mode 100644 index 0000000000..c1c31e2413 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectSDKModelInputs.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Inputs for Protect SDK Trust Index models. + */ +@ApiModel(description = "Inputs for Protect SDK Trust Index models.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectSDKModelInputs { + public static final String SERIALIZED_NAME_SDK_SESSION_ID = "sdk_session_id"; + @SerializedName(SERIALIZED_NAME_SDK_SESSION_ID) + private String sdkSessionId; + + + public ProtectSDKModelInputs sdkSessionId(String sdkSessionId) { + + this.sdkSessionId = sdkSessionId; + return this; + } + + /** + * A unique identifier for the Protect SDK session, used to compute a Trust Index score and fraud attributes. + * @return sdkSessionId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the Protect SDK session, used to compute a Trust Index score and fraud attributes.") + + public String getSdkSessionId() { + return sdkSessionId; + } + + + public void setSdkSessionId(String sdkSessionId) { + this.sdkSessionId = sdkSessionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectSDKModelInputs protectSDKModelInputs = (ProtectSDKModelInputs) o; + return Objects.equals(this.sdkSessionId, protectSDKModelInputs.sdkSessionId); + } + + @Override + public int hashCode() { + return Objects.hash(sdkSessionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectSDKModelInputs {\n"); + sb.append(" sdkSessionId: ").append(toIndentedString(sdkSessionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectUser.java b/src/main/java/com/plaid/client/model/ProtectUser.java new file mode 100644 index 0000000000..e38be130c0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectUser.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Represents an end user for `/protect/compute` requests. + */ +@ApiModel(description = "Represents an end user for `/protect/compute` requests.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectUser { + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + + public ProtectUser userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid User ID returned from a previous call to `/user/create`. This or `client_user_id` can be provided, not both. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid User ID returned from a previous call to `/user/create`. This or `client_user_id` can be provided, not both.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public ProtectUser clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID representing the end user, previously passed to `/user/create`. Maximum of 128 characters. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique ID representing the end user, previously passed to `/user/create`. Maximum of 128 characters. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectUser protectUser = (ProtectUser) o; + return Objects.equals(this.userId, protectUser.userId) && + Objects.equals(this.clientUserId, protectUser.clientUserId); + } + + @Override + public int hashCode() { + return Objects.hash(userId, clientUserId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectUser {\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectUserEventWebhook.java b/src/main/java/com/plaid/client/model/ProtectUserEventWebhook.java new file mode 100644 index 0000000000..410f12f111 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectUserEventWebhook.java @@ -0,0 +1,327 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Fired when there has been a new user event. The webhook payload contains limited information about the event. For full event details, call [`/protect/event/get`](https://plaid.com/docs/api/products/protect/#protecteventget). + */ +@ApiModel(description = "Fired when there has been a new user event. The webhook payload contains limited information about the event. For full event details, call [`/protect/event/get`](https://plaid.com/docs/api/products/protect/#protecteventget).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectUserEventWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_EVENT_ID = "event_id"; + @SerializedName(SERIALIZED_NAME_EVENT_ID) + private String eventId; + + public static final String SERIALIZED_NAME_EVENT_TYPE = "event_type"; + @SerializedName(SERIALIZED_NAME_EVENT_TYPE) + private String eventType; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ProtectUserEventWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `\"PROTECT\"` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`\"PROTECT\"`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ProtectUserEventWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `PROTECT_USER_EVENT` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`PROTECT_USER_EVENT`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ProtectUserEventWebhook eventId(String eventId) { + + this.eventId = eventId; + return this; + } + + /** + * The event ID of the user event that occurred. + * @return eventId + **/ + @ApiModelProperty(required = true, value = "The event ID of the user event that occurred.") + + public String getEventId() { + return eventId; + } + + + public void setEventId(String eventId) { + this.eventId = eventId; + } + + + public ProtectUserEventWebhook eventType(String eventType) { + + this.eventType = eventType; + return this; + } + + /** + * The type of user event that occurred. Possible values include `LINK_COMPLETE` (the Link session has finished and a Trust Index score has been computed without waiting for transaction extraction) and `PROTECT_RUN_FINISH` (extraction-required scoring is complete, including transaction extraction; may arrive 30 seconds or more after Link completion). + * @return eventType + **/ + @ApiModelProperty(required = true, value = "The type of user event that occurred. Possible values include `LINK_COMPLETE` (the Link session has finished and a Trust Index score has been computed without waiting for transaction extraction) and `PROTECT_RUN_FINISH` (extraction-required scoring is complete, including transaction extraction; may arrive 30 seconds or more after Link completion).") + + public String getEventType() { + return eventType; + } + + + public void setEventType(String eventType) { + this.eventType = eventType; + } + + + public ProtectUserEventWebhook timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * The timestamp of the event, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"` + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "The timestamp of the event, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"`") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + public ProtectUserEventWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid User ID. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The Plaid User ID.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public ProtectUserEventWebhook clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * The `client_user_id` provided by the client when the user was created via `/user/create` or Link. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `client_user_id` provided by the client when the user was created via `/user/create` or Link.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public ProtectUserEventWebhook linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * An identifier for the Link session this event occurred in + * @return linkSessionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An identifier for the Link session this event occurred in") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public ProtectUserEventWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectUserEventWebhook protectUserEventWebhook = (ProtectUserEventWebhook) o; + return Objects.equals(this.webhookType, protectUserEventWebhook.webhookType) && + Objects.equals(this.webhookCode, protectUserEventWebhook.webhookCode) && + Objects.equals(this.eventId, protectUserEventWebhook.eventId) && + Objects.equals(this.eventType, protectUserEventWebhook.eventType) && + Objects.equals(this.timestamp, protectUserEventWebhook.timestamp) && + Objects.equals(this.userId, protectUserEventWebhook.userId) && + Objects.equals(this.clientUserId, protectUserEventWebhook.clientUserId) && + Objects.equals(this.linkSessionId, protectUserEventWebhook.linkSessionId) && + Objects.equals(this.environment, protectUserEventWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, eventId, eventType, timestamp, userId, clientUserId, linkSessionId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectUserEventWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" eventId: ").append(toIndentedString(eventId)).append("\n"); + sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectUserInsightsGetRequest.java b/src/main/java/com/plaid/client/model/ProtectUserInsightsGetRequest.java new file mode 100644 index 0000000000..55d6fc7a44 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectUserInsightsGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request object for /protect/user/insights/get + */ +@ApiModel(description = "Request object for /protect/user/insights/get") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectUserInsightsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + + public ProtectUserInsightsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public ProtectUserInsightsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public ProtectUserInsightsGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid User ID. Either `user_id` or `client_user_id` must be provided. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid User ID. Either `user_id` or `client_user_id` must be provided.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public ProtectUserInsightsGetRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID representing the end user. Either `user_id` or `client_user_id` must be provided. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique ID representing the end user. Either `user_id` or `client_user_id` must be provided.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectUserInsightsGetRequest protectUserInsightsGetRequest = (ProtectUserInsightsGetRequest) o; + return Objects.equals(this.clientId, protectUserInsightsGetRequest.clientId) && + Objects.equals(this.secret, protectUserInsightsGetRequest.secret) && + Objects.equals(this.userId, protectUserInsightsGetRequest.userId) && + Objects.equals(this.clientUserId, protectUserInsightsGetRequest.clientUserId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, clientUserId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectUserInsightsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProtectUserInsightsGetResponse.java b/src/main/java/com/plaid/client/model/ProtectUserInsightsGetResponse.java new file mode 100644 index 0000000000..ea0dbd1deb --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProtectUserInsightsGetResponse.java @@ -0,0 +1,196 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LatestScoredEvent; +import com.plaid.client.model.ProtectReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Response object for /protect/user/insights/get + */ +@ApiModel(description = "Response object for /protect/user/insights/get") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProtectUserInsightsGetResponse { + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_LATEST_SCORED_EVENT = "latest_scored_event"; + @SerializedName(SERIALIZED_NAME_LATEST_SCORED_EVENT) + private LatestScoredEvent latestScoredEvent; + + public static final String SERIALIZED_NAME_REPORTS = "reports"; + @SerializedName(SERIALIZED_NAME_REPORTS) + private List reports = null; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public ProtectUserInsightsGetResponse userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid User ID. If a `client_user_id` was provided in the request instead of a `user_id`, a new `user_id` will be generated if one doesn't already exist for that `client_user_id`. + * @return userId + **/ + @ApiModelProperty(required = true, value = "The Plaid User ID. If a `client_user_id` was provided in the request instead of a `user_id`, a new `user_id` will be generated if one doesn't already exist for that `client_user_id`.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public ProtectUserInsightsGetResponse latestScoredEvent(LatestScoredEvent latestScoredEvent) { + + this.latestScoredEvent = latestScoredEvent; + return this; + } + + /** + * Get latestScoredEvent + * @return latestScoredEvent + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public LatestScoredEvent getLatestScoredEvent() { + return latestScoredEvent; + } + + + public void setLatestScoredEvent(LatestScoredEvent latestScoredEvent) { + this.latestScoredEvent = latestScoredEvent; + } + + + public ProtectUserInsightsGetResponse reports(List reports) { + + this.reports = reports; + return this; + } + + public ProtectUserInsightsGetResponse addReportsItem(ProtectReport reportsItem) { + if (this.reports == null) { + this.reports = new ArrayList<>(); + } + this.reports.add(reportsItem); + return this; + } + + /** + * List of Protect reports associated with this user, limited to the most recent 100 reports in reverse chronological order (newest first). + * @return reports + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of Protect reports associated with this user, limited to the most recent 100 reports in reverse chronological order (newest first).") + + public List getReports() { + return reports; + } + + + public void setReports(List reports) { + this.reports = reports; + } + + + public ProtectUserInsightsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProtectUserInsightsGetResponse protectUserInsightsGetResponse = (ProtectUserInsightsGetResponse) o; + return Objects.equals(this.userId, protectUserInsightsGetResponse.userId) && + Objects.equals(this.latestScoredEvent, protectUserInsightsGetResponse.latestScoredEvent) && + Objects.equals(this.reports, protectUserInsightsGetResponse.reports) && + Objects.equals(this.requestId, protectUserInsightsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(userId, latestScoredEvent, reports, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProtectUserInsightsGetResponse {\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" latestScoredEvent: ").append(toIndentedString(latestScoredEvent)).append("\n"); + sb.append(" reports: ").append(toIndentedString(reports)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProviderBusinessAddress.java b/src/main/java/com/plaid/client/model/ProviderBusinessAddress.java new file mode 100644 index 0000000000..12fd24f527 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProviderBusinessAddress.java @@ -0,0 +1,271 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Detailed address information for a business from data provider + */ +@ApiModel(description = "Detailed address information for a business from data provider") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProviderBusinessAddress { + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_STREET2 = "street2"; + @SerializedName(SERIALIZED_NAME_STREET2) + private String street2; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_IS_PRIMARY = "is_primary"; + @SerializedName(SERIALIZED_NAME_IS_PRIMARY) + private Boolean isPrimary; + + + public ProviderBusinessAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters. + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "123 Main St.", required = true, value = "The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public ProviderBusinessAddress street2(String street2) { + + this.street2 = street2; + return this; + } + + /** + * Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters. + * @return street2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Unit 42", required = true, value = "Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters.") + + public String getStreet2() { + return street2; + } + + + public void setStreet2(String street2) { + this.street2 = street2; + } + + + public ProviderBusinessAddress city(String city) { + + this.city = city; + return this; + } + + /** + * City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Pawnee", required = true, value = "City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public ProviderBusinessAddress region(String region) { + + this.region = region; + return this; + } + + /** + * A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field. + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "IN", required = true, value = "A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public ProviderBusinessAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "46001", required = true, value = "The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public ProviderBusinessAddress country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public ProviderBusinessAddress isPrimary(Boolean isPrimary) { + + this.isPrimary = isPrimary; + return this; + } + + /** + * Whether this is the primary address for the business + * @return isPrimary + **/ + @ApiModelProperty(example = "true", required = true, value = "Whether this is the primary address for the business") + + public Boolean getIsPrimary() { + return isPrimary; + } + + + public void setIsPrimary(Boolean isPrimary) { + this.isPrimary = isPrimary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProviderBusinessAddress providerBusinessAddress = (ProviderBusinessAddress) o; + return Objects.equals(this.street, providerBusinessAddress.street) && + Objects.equals(this.street2, providerBusinessAddress.street2) && + Objects.equals(this.city, providerBusinessAddress.city) && + Objects.equals(this.region, providerBusinessAddress.region) && + Objects.equals(this.postalCode, providerBusinessAddress.postalCode) && + Objects.equals(this.country, providerBusinessAddress.country) && + Objects.equals(this.isPrimary, providerBusinessAddress.isPrimary); + } + + @Override + public int hashCode() { + return Objects.hash(street, street2, city, region, postalCode, country, isPrimary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProviderBusinessAddress {\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" street2: ").append(toIndentedString(street2)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" isPrimary: ").append(toIndentedString(isPrimary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProviderBusinessName.java b/src/main/java/com/plaid/client/model/ProviderBusinessName.java new file mode 100644 index 0000000000..7178d98807 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProviderBusinessName.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Name associated with a business + */ +@ApiModel(description = "Name associated with a business") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ProviderBusinessName { + public static final String SERIALIZED_NAME_IS_PRIMARY = "is_primary"; + @SerializedName(SERIALIZED_NAME_IS_PRIMARY) + private Boolean isPrimary; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + + public ProviderBusinessName isPrimary(Boolean isPrimary) { + + this.isPrimary = isPrimary; + return this; + } + + /** + * Indicates whether this is the primary name for the business. + * @return isPrimary + **/ + @ApiModelProperty(example = "true", required = true, value = "Indicates whether this is the primary name for the business.") + + public Boolean getIsPrimary() { + return isPrimary; + } + + + public void setIsPrimary(Boolean isPrimary) { + this.isPrimary = isPrimary; + } + + + public ProviderBusinessName name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the business. Must have at least one character and a maximum length of 500 characters. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Acme Corporation", required = true, value = "The name of the business. Must have at least one character and a maximum length of 500 characters.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProviderBusinessName providerBusinessName = (ProviderBusinessName) o; + return Objects.equals(this.isPrimary, providerBusinessName.isPrimary) && + Objects.equals(this.name, providerBusinessName.name); + } + + @Override + public int hashCode() { + return Objects.hash(isPrimary, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProviderBusinessName {\n"); + sb.append(" isPrimary: ").append(toIndentedString(isPrimary)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ProxyType.java b/src/main/java/com/plaid/client/model/ProxyType.java new file mode 100644 index 0000000000..e508de4250 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ProxyType.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An enum indicating whether a network proxy is present and if so what type it is. `none_detected` indicates the user is not on a detectable proxy network. `tor` indicates the user was using a Tor browser, which sends encrypted traffic on a decentralized network and is somewhat similar to a VPN (Virtual Private Network). `vpn` indicates the user is on a VPN (Virtual Private Network) `web_proxy` indicates the user is on a web proxy server, which may allow them to conceal information such as their IP address or other identifying information. `public_proxy` indicates the user is on a public web proxy server, which is similar to a web proxy but can be shared by multiple users. This may allow multiple users to appear as if they have the same IP address for instance. + */ +@JsonAdapter(ProxyType.Adapter.class) +public enum ProxyType { + + NONE_DETECTED("none_detected"), + + TOR("tor"), + + VPN("vpn"), + + WEB_PROXY("web_proxy"), + + PUBLIC_PROXY("public_proxy"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ProxyType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProxyType fromValue(String value) { + for (ProxyType b : ProxyType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProxyType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProxyType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProxyType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ReasonCode.java b/src/main/java/com/plaid/client/model/ReasonCode.java new file mode 100644 index 0000000000..f1861e4026 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ReasonCode.java @@ -0,0 +1,105 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Specifies the reason for cancelling transfer. This is required for RfP transfers, and will be ignored for other networks. `\"AC03\"` - Invalid Creditor Account Number `\"AM09\"` - Incorrect Amount `\"CUST\"` - Requested By Customer - Cancellation requested `\"DUPL\"` - Duplicate Payment `\"FRAD\"` - Fraudulent Payment - Unauthorized or fraudulently induced `\"TECH\"` - Technical Problem - Cancellation due to system issues `\"UPAY\"` - Undue Payment - Payment was made through another channel `\"AC14\"` - Invalid or Missing Creditor Account Type `\"AM06\"` - Amount Too Low `\"BE05\"` - Unrecognized Initiating Party `\"FOCR\"` - Following Refund Request `\"MS02\"` - No Specified Reason - Customer `\"MS03\"` - No Specified Reason - Agent `\"RR04\"` - Regulatory Reason `\"RUTA\"` - Return Upon Unable To Apply + */ +@JsonAdapter(ReasonCode.Adapter.class) +public enum ReasonCode { + + AC03("AC03"), + + AM09("AM09"), + + CUST("CUST"), + + DUPL("DUPL"), + + FRAD("FRAD"), + + TECH("TECH"), + + UPAY("UPAY"), + + AC14("AC14"), + + AM06("AM06"), + + BE05("BE05"), + + FOCR("FOCR"), + + MS02("MS02"), + + MS03("MS03"), + + RR04("RR04"), + + RUTA("RUTA"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ReasonCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ReasonCode fromValue(String value) { + for (ReasonCode b : ReasonCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ReasonCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ReasonCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ReasonCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ReasonCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RecaptchaRequiredError.java b/src/main/java/com/plaid/client/model/RecaptchaRequiredError.java new file mode 100644 index 0000000000..1e26d49eb1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RecaptchaRequiredError.java @@ -0,0 +1,270 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The request was flagged by Plaid's fraud system and requires additional verification to ensure the user is not a bot. + */ +@ApiModel(description = "The request was flagged by Plaid's fraud system and requires additional verification to ensure the user is not a bot.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RecaptchaRequiredError { + public static final String SERIALIZED_NAME_ERROR_TYPE = "error_type"; + @SerializedName(SERIALIZED_NAME_ERROR_TYPE) + private String errorType; + + public static final String SERIALIZED_NAME_ERROR_CODE = "error_code"; + @SerializedName(SERIALIZED_NAME_ERROR_CODE) + private String errorCode; + + public static final String SERIALIZED_NAME_DISPLAY_MESSAGE = "display_message"; + @SerializedName(SERIALIZED_NAME_DISPLAY_MESSAGE) + private String displayMessage; + + public static final String SERIALIZED_NAME_HTTP_CODE = "http_code"; + @SerializedName(SERIALIZED_NAME_HTTP_CODE) + private Integer httpCode; + + public static final String SERIALIZED_NAME_LINK_USER_EXPERIENCE = "link_user_experience"; + @SerializedName(SERIALIZED_NAME_LINK_USER_EXPERIENCE) + private String linkUserExperience; + + public static final String SERIALIZED_NAME_COMMON_CAUSES = "common_causes"; + @SerializedName(SERIALIZED_NAME_COMMON_CAUSES) + private String commonCauses; + + public static final String SERIALIZED_NAME_TROUBLESHOOTING_STEPS = "troubleshooting_steps"; + @SerializedName(SERIALIZED_NAME_TROUBLESHOOTING_STEPS) + private String troubleshootingSteps; + + + public RecaptchaRequiredError errorType(String errorType) { + + this.errorType = errorType; + return this; + } + + /** + * `RECAPTCHA_ERROR` + * @return errorType + **/ + @ApiModelProperty(required = true, value = "`RECAPTCHA_ERROR`") + + public String getErrorType() { + return errorType; + } + + + public void setErrorType(String errorType) { + this.errorType = errorType; + } + + + public RecaptchaRequiredError errorCode(String errorCode) { + + this.errorCode = errorCode; + return this; + } + + /** + * `RECAPTCHA_REQUIRED` + * @return errorCode + **/ + @ApiModelProperty(required = true, value = "`RECAPTCHA_REQUIRED`") + + public String getErrorCode() { + return errorCode; + } + + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + + public RecaptchaRequiredError displayMessage(String displayMessage) { + + this.displayMessage = displayMessage; + return this; + } + + /** + * Get displayMessage + * @return displayMessage + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public String getDisplayMessage() { + return displayMessage; + } + + + public void setDisplayMessage(String displayMessage) { + this.displayMessage = displayMessage; + } + + + public RecaptchaRequiredError httpCode(Integer httpCode) { + + this.httpCode = httpCode; + return this; + } + + /** + * 400 + * @return httpCode + **/ + @ApiModelProperty(required = true, value = "400") + + public Integer getHttpCode() { + return httpCode; + } + + + public void setHttpCode(Integer httpCode) { + this.httpCode = httpCode; + } + + + public RecaptchaRequiredError linkUserExperience(String linkUserExperience) { + + this.linkUserExperience = linkUserExperience; + return this; + } + + /** + * Your user will be prompted to solve a Google reCAPTCHA challenge in the Link Recaptcha pane. If they solve the challenge successfully, the user's request is resubmitted and they are directed to the next Item creation step. + * @return linkUserExperience + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your user will be prompted to solve a Google reCAPTCHA challenge in the Link Recaptcha pane. If they solve the challenge successfully, the user's request is resubmitted and they are directed to the next Item creation step.") + + public String getLinkUserExperience() { + return linkUserExperience; + } + + + public void setLinkUserExperience(String linkUserExperience) { + this.linkUserExperience = linkUserExperience; + } + + + public RecaptchaRequiredError commonCauses(String commonCauses) { + + this.commonCauses = commonCauses; + return this; + } + + /** + * Plaid's fraud system detects abusive traffic and considers a variety of parameters throughout Item creation requests. When a request is considered risky or possibly fraudulent, Link presents a reCAPTCHA for the user to solve. + * @return commonCauses + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's fraud system detects abusive traffic and considers a variety of parameters throughout Item creation requests. When a request is considered risky or possibly fraudulent, Link presents a reCAPTCHA for the user to solve.") + + public String getCommonCauses() { + return commonCauses; + } + + + public void setCommonCauses(String commonCauses) { + this.commonCauses = commonCauses; + } + + + public RecaptchaRequiredError troubleshootingSteps(String troubleshootingSteps) { + + this.troubleshootingSteps = troubleshootingSteps; + return this; + } + + /** + * Link will automatically guide your user through reCAPTCHA verification. As a general rule, we recommend instrumenting basic fraud monitoring to detect and protect your website from spam and abuse. If your user cannot verify their session, please submit a support ticket with the following identifiers: `link_session_id` or `request_id` + * @return troubleshootingSteps + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Link will automatically guide your user through reCAPTCHA verification. As a general rule, we recommend instrumenting basic fraud monitoring to detect and protect your website from spam and abuse. If your user cannot verify their session, please submit a support ticket with the following identifiers: `link_session_id` or `request_id`") + + public String getTroubleshootingSteps() { + return troubleshootingSteps; + } + + + public void setTroubleshootingSteps(String troubleshootingSteps) { + this.troubleshootingSteps = troubleshootingSteps; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RecaptchaRequiredError recaptchaRequiredError = (RecaptchaRequiredError) o; + return Objects.equals(this.errorType, recaptchaRequiredError.errorType) && + Objects.equals(this.errorCode, recaptchaRequiredError.errorCode) && + Objects.equals(this.displayMessage, recaptchaRequiredError.displayMessage) && + Objects.equals(this.httpCode, recaptchaRequiredError.httpCode) && + Objects.equals(this.linkUserExperience, recaptchaRequiredError.linkUserExperience) && + Objects.equals(this.commonCauses, recaptchaRequiredError.commonCauses) && + Objects.equals(this.troubleshootingSteps, recaptchaRequiredError.troubleshootingSteps); + } + + @Override + public int hashCode() { + return Objects.hash(errorType, errorCode, displayMessage, httpCode, linkUserExperience, commonCauses, troubleshootingSteps); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RecaptchaRequiredError {\n"); + sb.append(" errorType: ").append(toIndentedString(errorType)).append("\n"); + sb.append(" errorCode: ").append(toIndentedString(errorCode)).append("\n"); + sb.append(" displayMessage: ").append(toIndentedString(displayMessage)).append("\n"); + sb.append(" httpCode: ").append(toIndentedString(httpCode)).append("\n"); + sb.append(" linkUserExperience: ").append(toIndentedString(linkUserExperience)).append("\n"); + sb.append(" commonCauses: ").append(toIndentedString(commonCauses)).append("\n"); + sb.append(" troubleshootingSteps: ").append(toIndentedString(troubleshootingSteps)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ReceiverDetails.java b/src/main/java/com/plaid/client/model/ReceiverDetails.java new file mode 100644 index 0000000000..74cc39d490 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ReceiverDetails.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Additional details for receiver events. Currently always `null`. + */ +@ApiModel(description = "Additional details for receiver events. Currently always `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ReceiverDetails { + public static final String SERIALIZED_NAME_AVAILABLE_BALANCE = "available_balance"; + @SerializedName(SERIALIZED_NAME_AVAILABLE_BALANCE) + private String availableBalance; + + + public ReceiverDetails availableBalance(String availableBalance) { + + this.availableBalance = availableBalance; + return this; + } + + /** + * The available balance associated with the receiver event. + * @return availableBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The available balance associated with the receiver event.") + + public String getAvailableBalance() { + return availableBalance; + } + + + public void setAvailableBalance(String availableBalance) { + this.availableBalance = availableBalance; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ReceiverDetails receiverDetails = (ReceiverDetails) o; + return Objects.equals(this.availableBalance, receiverDetails.availableBalance); + } + + @Override + public int hashCode() { + return Objects.hash(availableBalance); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ReceiverDetails {\n"); + sb.append(" availableBalance: ").append(toIndentedString(availableBalance)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RecipientBACS.java b/src/main/java/com/plaid/client/model/RecipientBACS.java new file mode 100644 index 0000000000..05a9b040a7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RecipientBACS.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object containing a Bacs account number and sort code. If an IBAN is not provided or if you need to accept domestic GBP-denominated payments, Bacs data is required. + */ +@ApiModel(description = "An object containing a Bacs account number and sort code. If an IBAN is not provided or if you need to accept domestic GBP-denominated payments, Bacs data is required.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RecipientBACS { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_SORT_CODE = "sort_code"; + @SerializedName(SERIALIZED_NAME_SORT_CODE) + private String sortCode; + + + public RecipientBACS account(String account) { + + this.account = account; + return this; + } + + /** + * The account number of the account. Maximum of 10 characters. + * @return account + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account number of the account. Maximum of 10 characters.") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public RecipientBACS sortCode(String sortCode) { + + this.sortCode = sortCode; + return this; + } + + /** + * The 6-character sort code of the account. + * @return sortCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 6-character sort code of the account.") + + public String getSortCode() { + return sortCode; + } + + + public void setSortCode(String sortCode) { + this.sortCode = sortCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RecipientBACS recipientBACS = (RecipientBACS) o; + return Objects.equals(this.account, recipientBACS.account) && + Objects.equals(this.sortCode, recipientBACS.sortCode); + } + + @Override + public int hashCode() { + return Objects.hash(account, sortCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RecipientBACS {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" sortCode: ").append(toIndentedString(sortCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RecipientBACSNullable.java b/src/main/java/com/plaid/client/model/RecipientBACSNullable.java new file mode 100644 index 0000000000..0811d9a825 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RecipientBACSNullable.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RecipientBACS; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object containing a Bacs account number and sort code. If an IBAN is not provided or if this recipient needs to accept domestic GBP-denominated payments, Bacs data is required. + */ +@ApiModel(description = "An object containing a Bacs account number and sort code. If an IBAN is not provided or if this recipient needs to accept domestic GBP-denominated payments, Bacs data is required.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RecipientBACSNullable { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_SORT_CODE = "sort_code"; + @SerializedName(SERIALIZED_NAME_SORT_CODE) + private String sortCode; + + + public RecipientBACSNullable account(String account) { + + this.account = account; + return this; + } + + /** + * The account number of the account. Maximum of 10 characters. + * @return account + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account number of the account. Maximum of 10 characters.") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public RecipientBACSNullable sortCode(String sortCode) { + + this.sortCode = sortCode; + return this; + } + + /** + * The 6-character sort code of the account. + * @return sortCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 6-character sort code of the account.") + + public String getSortCode() { + return sortCode; + } + + + public void setSortCode(String sortCode) { + this.sortCode = sortCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RecipientBACSNullable recipientBACSNullable = (RecipientBACSNullable) o; + return Objects.equals(this.account, recipientBACSNullable.account) && + Objects.equals(this.sortCode, recipientBACSNullable.sortCode); + } + + @Override + public int hashCode() { + return Objects.hash(account, sortCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RecipientBACSNullable {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" sortCode: ").append(toIndentedString(sortCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RecommendationString.java b/src/main/java/com/plaid/client/model/RecommendationString.java new file mode 100644 index 0000000000..6ccc621344 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RecommendationString.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The recommendation result for that date. + */ +@JsonAdapter(RecommendationString.Adapter.class) +public enum RecommendationString { + + RECOMMENDED("RECOMMENDED"), + + NOT_RECOMMENDED("NOT_RECOMMENDED"), + + UNKNOWN("UNKNOWN"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RecommendationString(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RecommendationString fromValue(String value) { + for (RecommendationString b : RecommendationString.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RecommendationString.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RecommendationString enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RecommendationString read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RecommendationString.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RecurringCancelledWebhook.java b/src/main/java/com/plaid/client/model/RecurringCancelledWebhook.java new file mode 100644 index 0000000000..adc502fef3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RecurringCancelledWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when a recurring transfer is cancelled by Plaid. + */ +@ApiModel(description = "Fired when a recurring transfer is cancelled by Plaid.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RecurringCancelledWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_RECURRING_TRANSFER_ID = "recurring_transfer_id"; + @SerializedName(SERIALIZED_NAME_RECURRING_TRANSFER_ID) + private String recurringTransferId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public RecurringCancelledWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSFER` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSFER`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public RecurringCancelledWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `RECURRING_CANCELLED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`RECURRING_CANCELLED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public RecurringCancelledWebhook recurringTransferId(String recurringTransferId) { + + this.recurringTransferId = recurringTransferId; + return this; + } + + /** + * Plaid's unique identifier for a recurring transfer. + * @return recurringTransferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a recurring transfer.") + + public String getRecurringTransferId() { + return recurringTransferId; + } + + + public void setRecurringTransferId(String recurringTransferId) { + this.recurringTransferId = recurringTransferId; + } + + + public RecurringCancelledWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RecurringCancelledWebhook recurringCancelledWebhook = (RecurringCancelledWebhook) o; + return Objects.equals(this.webhookType, recurringCancelledWebhook.webhookType) && + Objects.equals(this.webhookCode, recurringCancelledWebhook.webhookCode) && + Objects.equals(this.recurringTransferId, recurringCancelledWebhook.recurringTransferId) && + Objects.equals(this.environment, recurringCancelledWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, recurringTransferId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RecurringCancelledWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" recurringTransferId: ").append(toIndentedString(recurringTransferId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RecurringInsightsStream.java b/src/main/java/com/plaid/client/model/RecurringInsightsStream.java new file mode 100644 index 0000000000..7c3e63ccab --- /dev/null +++ b/src/main/java/com/plaid/client/model/RecurringInsightsStream.java @@ -0,0 +1,515 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RecurringTransactionFrequency; +import com.plaid.client.model.TransactionStreamAmount; +import com.plaid.client.model.TransactionStreamStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * Insights object for recurring transactions streams. + */ +@ApiModel(description = "Insights object for recurring transactions streams.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RecurringInsightsStream { + public static final String SERIALIZED_NAME_STREAM_ID = "stream_id"; + @SerializedName(SERIALIZED_NAME_STREAM_ID) + private String streamId; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_MERCHANT_NAME = "merchant_name"; + @SerializedName(SERIALIZED_NAME_MERCHANT_NAME) + private String merchantName; + + public static final String SERIALIZED_NAME_OLDEST_TRANSACTION_DATE = "oldest_transaction_date"; + @SerializedName(SERIALIZED_NAME_OLDEST_TRANSACTION_DATE) + private LocalDate oldestTransactionDate; + + public static final String SERIALIZED_NAME_NEWEST_TRANSACTION_DATE = "newest_transaction_date"; + @SerializedName(SERIALIZED_NAME_NEWEST_TRANSACTION_DATE) + private LocalDate newestTransactionDate; + + public static final String SERIALIZED_NAME_AVERAGE_DAYS_APART = "average_days_apart"; + @SerializedName(SERIALIZED_NAME_AVERAGE_DAYS_APART) + private Double averageDaysApart; + + public static final String SERIALIZED_NAME_FREQUENCY = "frequency"; + @SerializedName(SERIALIZED_NAME_FREQUENCY) + private RecurringTransactionFrequency frequency; + + public static final String SERIALIZED_NAME_TRANSACTION_COUNT = "transaction_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_COUNT) + private Integer transactionCount; + + public static final String SERIALIZED_NAME_TRANSACTION_IDS = "transaction_ids"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_IDS) + private List transactionIds = null; + + public static final String SERIALIZED_NAME_AVERAGE_AMOUNT = "average_amount"; + @SerializedName(SERIALIZED_NAME_AVERAGE_AMOUNT) + private TransactionStreamAmount averageAmount; + + public static final String SERIALIZED_NAME_NEWEST_TRANSACTION_AMOUNT = "newest_transaction_amount"; + @SerializedName(SERIALIZED_NAME_NEWEST_TRANSACTION_AMOUNT) + private TransactionStreamAmount newestTransactionAmount; + + public static final String SERIALIZED_NAME_IS_ACTIVE = "is_active"; + @SerializedName(SERIALIZED_NAME_IS_ACTIVE) + private Boolean isActive; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private TransactionStreamStatus status; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_PRIMARY = "personal_finance_category_primary"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_PRIMARY) + private String personalFinanceCategoryPrimary; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_DETAILED = "personal_finance_category_detailed"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_DETAILED) + private String personalFinanceCategoryDetailed; + + + public RecurringInsightsStream streamId(String streamId) { + + this.streamId = streamId; + return this; + } + + /** + * A unique id for the stream. + * @return streamId + **/ + @ApiModelProperty(required = true, value = "A unique id for the stream.") + + public String getStreamId() { + return streamId; + } + + + public void setStreamId(String streamId) { + this.streamId = streamId; + } + + + public RecurringInsightsStream description(String description) { + + this.description = description; + return this; + } + + /** + * The client-provided raw description of the most recent transaction in the stream. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The client-provided raw description of the most recent transaction in the stream.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public RecurringInsightsStream merchantName(String merchantName) { + + this.merchantName = merchantName; + return this; + } + + /** + * The merchant or primary counterparty associated with the transaction stream. + * @return merchantName + **/ + @ApiModelProperty(required = true, value = "The merchant or primary counterparty associated with the transaction stream.") + + public String getMerchantName() { + return merchantName; + } + + + public void setMerchantName(String merchantName) { + this.merchantName = merchantName; + } + + + public RecurringInsightsStream oldestTransactionDate(LocalDate oldestTransactionDate) { + + this.oldestTransactionDate = oldestTransactionDate; + return this; + } + + /** + * The posted date of the earliest transaction in the stream. + * @return oldestTransactionDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The posted date of the earliest transaction in the stream.") + + public LocalDate getOldestTransactionDate() { + return oldestTransactionDate; + } + + + public void setOldestTransactionDate(LocalDate oldestTransactionDate) { + this.oldestTransactionDate = oldestTransactionDate; + } + + + public RecurringInsightsStream newestTransactionDate(LocalDate newestTransactionDate) { + + this.newestTransactionDate = newestTransactionDate; + return this; + } + + /** + * The posted date of the latest transaction in the stream. + * @return newestTransactionDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The posted date of the latest transaction in the stream.") + + public LocalDate getNewestTransactionDate() { + return newestTransactionDate; + } + + + public void setNewestTransactionDate(LocalDate newestTransactionDate) { + this.newestTransactionDate = newestTransactionDate; + } + + + public RecurringInsightsStream averageDaysApart(Double averageDaysApart) { + + this.averageDaysApart = averageDaysApart; + return this; + } + + /** + * The average number of days between each of the recurring transactions. + * @return averageDaysApart + **/ + @ApiModelProperty(required = true, value = "The average number of days between each of the recurring transactions.") + + public Double getAverageDaysApart() { + return averageDaysApart; + } + + + public void setAverageDaysApart(Double averageDaysApart) { + this.averageDaysApart = averageDaysApart; + } + + + public RecurringInsightsStream frequency(RecurringTransactionFrequency frequency) { + + this.frequency = frequency; + return this; + } + + /** + * Get frequency + * @return frequency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RecurringTransactionFrequency getFrequency() { + return frequency; + } + + + public void setFrequency(RecurringTransactionFrequency frequency) { + this.frequency = frequency; + } + + + public RecurringInsightsStream transactionCount(Integer transactionCount) { + + this.transactionCount = transactionCount; + return this; + } + + /** + * The number of transactions in this stream. + * @return transactionCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of transactions in this stream.") + + public Integer getTransactionCount() { + return transactionCount; + } + + + public void setTransactionCount(Integer transactionCount) { + this.transactionCount = transactionCount; + } + + + public RecurringInsightsStream transactionIds(List transactionIds) { + + this.transactionIds = transactionIds; + return this; + } + + public RecurringInsightsStream addTransactionIdsItem(String transactionIdsItem) { + if (this.transactionIds == null) { + this.transactionIds = new ArrayList<>(); + } + this.transactionIds.add(transactionIdsItem); + return this; + } + + /** + * An array of Plaid transaction IDs belonging to the stream, sorted by posted date. + * @return transactionIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of Plaid transaction IDs belonging to the stream, sorted by posted date.") + + public List getTransactionIds() { + return transactionIds; + } + + + public void setTransactionIds(List transactionIds) { + this.transactionIds = transactionIds; + } + + + public RecurringInsightsStream averageAmount(TransactionStreamAmount averageAmount) { + + this.averageAmount = averageAmount; + return this; + } + + /** + * Get averageAmount + * @return averageAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransactionStreamAmount getAverageAmount() { + return averageAmount; + } + + + public void setAverageAmount(TransactionStreamAmount averageAmount) { + this.averageAmount = averageAmount; + } + + + public RecurringInsightsStream newestTransactionAmount(TransactionStreamAmount newestTransactionAmount) { + + this.newestTransactionAmount = newestTransactionAmount; + return this; + } + + /** + * Get newestTransactionAmount + * @return newestTransactionAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransactionStreamAmount getNewestTransactionAmount() { + return newestTransactionAmount; + } + + + public void setNewestTransactionAmount(TransactionStreamAmount newestTransactionAmount) { + this.newestTransactionAmount = newestTransactionAmount; + } + + + public RecurringInsightsStream isActive(Boolean isActive) { + + this.isActive = isActive; + return this; + } + + /** + * Indicates whether the transaction stream is still live. + * @return isActive + **/ + @ApiModelProperty(required = true, value = "Indicates whether the transaction stream is still live.") + + public Boolean getIsActive() { + return isActive; + } + + + public void setIsActive(Boolean isActive) { + this.isActive = isActive; + } + + + public RecurringInsightsStream status(TransactionStreamStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransactionStreamStatus getStatus() { + return status; + } + + + public void setStatus(TransactionStreamStatus status) { + this.status = status; + } + + + public RecurringInsightsStream personalFinanceCategoryPrimary(String personalFinanceCategoryPrimary) { + + this.personalFinanceCategoryPrimary = personalFinanceCategoryPrimary; + return this; + } + + /** + * The primary category associated with the transaction stream. + * @return personalFinanceCategoryPrimary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The primary category associated with the transaction stream.") + + public String getPersonalFinanceCategoryPrimary() { + return personalFinanceCategoryPrimary; + } + + + public void setPersonalFinanceCategoryPrimary(String personalFinanceCategoryPrimary) { + this.personalFinanceCategoryPrimary = personalFinanceCategoryPrimary; + } + + + public RecurringInsightsStream personalFinanceCategoryDetailed(String personalFinanceCategoryDetailed) { + + this.personalFinanceCategoryDetailed = personalFinanceCategoryDetailed; + return this; + } + + /** + * The detailed category associated with the transaction stream. + * @return personalFinanceCategoryDetailed + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The detailed category associated with the transaction stream.") + + public String getPersonalFinanceCategoryDetailed() { + return personalFinanceCategoryDetailed; + } + + + public void setPersonalFinanceCategoryDetailed(String personalFinanceCategoryDetailed) { + this.personalFinanceCategoryDetailed = personalFinanceCategoryDetailed; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RecurringInsightsStream recurringInsightsStream = (RecurringInsightsStream) o; + return Objects.equals(this.streamId, recurringInsightsStream.streamId) && + Objects.equals(this.description, recurringInsightsStream.description) && + Objects.equals(this.merchantName, recurringInsightsStream.merchantName) && + Objects.equals(this.oldestTransactionDate, recurringInsightsStream.oldestTransactionDate) && + Objects.equals(this.newestTransactionDate, recurringInsightsStream.newestTransactionDate) && + Objects.equals(this.averageDaysApart, recurringInsightsStream.averageDaysApart) && + Objects.equals(this.frequency, recurringInsightsStream.frequency) && + Objects.equals(this.transactionCount, recurringInsightsStream.transactionCount) && + Objects.equals(this.transactionIds, recurringInsightsStream.transactionIds) && + Objects.equals(this.averageAmount, recurringInsightsStream.averageAmount) && + Objects.equals(this.newestTransactionAmount, recurringInsightsStream.newestTransactionAmount) && + Objects.equals(this.isActive, recurringInsightsStream.isActive) && + Objects.equals(this.status, recurringInsightsStream.status) && + Objects.equals(this.personalFinanceCategoryPrimary, recurringInsightsStream.personalFinanceCategoryPrimary) && + Objects.equals(this.personalFinanceCategoryDetailed, recurringInsightsStream.personalFinanceCategoryDetailed); + } + + @Override + public int hashCode() { + return Objects.hash(streamId, description, merchantName, oldestTransactionDate, newestTransactionDate, averageDaysApart, frequency, transactionCount, transactionIds, averageAmount, newestTransactionAmount, isActive, status, personalFinanceCategoryPrimary, personalFinanceCategoryDetailed); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RecurringInsightsStream {\n"); + sb.append(" streamId: ").append(toIndentedString(streamId)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" merchantName: ").append(toIndentedString(merchantName)).append("\n"); + sb.append(" oldestTransactionDate: ").append(toIndentedString(oldestTransactionDate)).append("\n"); + sb.append(" newestTransactionDate: ").append(toIndentedString(newestTransactionDate)).append("\n"); + sb.append(" averageDaysApart: ").append(toIndentedString(averageDaysApart)).append("\n"); + sb.append(" frequency: ").append(toIndentedString(frequency)).append("\n"); + sb.append(" transactionCount: ").append(toIndentedString(transactionCount)).append("\n"); + sb.append(" transactionIds: ").append(toIndentedString(transactionIds)).append("\n"); + sb.append(" averageAmount: ").append(toIndentedString(averageAmount)).append("\n"); + sb.append(" newestTransactionAmount: ").append(toIndentedString(newestTransactionAmount)).append("\n"); + sb.append(" isActive: ").append(toIndentedString(isActive)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" personalFinanceCategoryPrimary: ").append(toIndentedString(personalFinanceCategoryPrimary)).append("\n"); + sb.append(" personalFinanceCategoryDetailed: ").append(toIndentedString(personalFinanceCategoryDetailed)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RecurringNewTransferWebhook.java b/src/main/java/com/plaid/client/model/RecurringNewTransferWebhook.java new file mode 100644 index 0000000000..1dd94753f8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RecurringNewTransferWebhook.java @@ -0,0 +1,211 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when a new transfer of a recurring transfer is originated. + */ +@ApiModel(description = "Fired when a new transfer of a recurring transfer is originated.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RecurringNewTransferWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_RECURRING_TRANSFER_ID = "recurring_transfer_id"; + @SerializedName(SERIALIZED_NAME_RECURRING_TRANSFER_ID) + private String recurringTransferId; + + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public RecurringNewTransferWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSFER` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSFER`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public RecurringNewTransferWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `RECURRING_NEW_TRANSFER` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`RECURRING_NEW_TRANSFER`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public RecurringNewTransferWebhook recurringTransferId(String recurringTransferId) { + + this.recurringTransferId = recurringTransferId; + return this; + } + + /** + * Plaid's unique identifier for a recurring transfer. + * @return recurringTransferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a recurring transfer.") + + public String getRecurringTransferId() { + return recurringTransferId; + } + + + public void setRecurringTransferId(String recurringTransferId) { + this.recurringTransferId = recurringTransferId; + } + + + public RecurringNewTransferWebhook transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * Plaid's unique identifier for a transfer. + * @return transferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a transfer.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public RecurringNewTransferWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RecurringNewTransferWebhook recurringNewTransferWebhook = (RecurringNewTransferWebhook) o; + return Objects.equals(this.webhookType, recurringNewTransferWebhook.webhookType) && + Objects.equals(this.webhookCode, recurringNewTransferWebhook.webhookCode) && + Objects.equals(this.recurringTransferId, recurringNewTransferWebhook.recurringTransferId) && + Objects.equals(this.transferId, recurringNewTransferWebhook.transferId) && + Objects.equals(this.environment, recurringNewTransferWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, recurringTransferId, transferId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RecurringNewTransferWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" recurringTransferId: ").append(toIndentedString(recurringTransferId)).append("\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RecurringTransactionFrequency.java b/src/main/java/com/plaid/client/model/RecurringTransactionFrequency.java new file mode 100644 index 0000000000..865e78768b --- /dev/null +++ b/src/main/java/com/plaid/client/model/RecurringTransactionFrequency.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Describes the frequency of the transaction stream. `WEEKLY`: Assigned to a transaction stream that occurs approximately every week. `BIWEEKLY`: Assigned to a transaction stream that occurs approximately every 2 weeks. `SEMI_MONTHLY`: Assigned to a transaction stream that occurs approximately twice per month. This frequency is typically seen for inflow transaction streams. `MONTHLY`: Assigned to a transaction stream that occurs approximately every month. `ANNUALLY`: Assigned to a transaction stream that occurs approximately every year. `UNKNOWN`: Assigned to a transaction stream that does not fit any of the pre-defined frequencies. + */ +@JsonAdapter(RecurringTransactionFrequency.Adapter.class) +public enum RecurringTransactionFrequency { + + UNKNOWN("UNKNOWN"), + + WEEKLY("WEEKLY"), + + BIWEEKLY("BIWEEKLY"), + + SEMI_MONTHLY("SEMI_MONTHLY"), + + MONTHLY("MONTHLY"), + + ANNUALLY("ANNUALLY"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RecurringTransactionFrequency(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RecurringTransactionFrequency fromValue(String value) { + for (RecurringTransactionFrequency b : RecurringTransactionFrequency.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RecurringTransactionFrequency.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RecurringTransactionFrequency enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RecurringTransactionFrequency read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RecurringTransactionFrequency.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RecurringTransactions.java b/src/main/java/com/plaid/client/model/RecurringTransactions.java new file mode 100644 index 0000000000..2c5924bf9e --- /dev/null +++ b/src/main/java/com/plaid/client/model/RecurringTransactions.java @@ -0,0 +1,139 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RecurringInsightsStream; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Insights object for recurring transactions for `/beta/transactions/user_insights/v1/get` endpoint + */ +@ApiModel(description = "Insights object for recurring transactions for `/beta/transactions/user_insights/v1/get` endpoint") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RecurringTransactions { + public static final String SERIALIZED_NAME_INFLOW_STREAMS = "inflow_streams"; + @SerializedName(SERIALIZED_NAME_INFLOW_STREAMS) + private List inflowStreams = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OUTFLOW_STREAMS = "outflow_streams"; + @SerializedName(SERIALIZED_NAME_OUTFLOW_STREAMS) + private List outflowStreams = new ArrayList<>(); + + + public RecurringTransactions inflowStreams(List inflowStreams) { + + this.inflowStreams = inflowStreams; + return this; + } + + public RecurringTransactions addInflowStreamsItem(RecurringInsightsStream inflowStreamsItem) { + this.inflowStreams.add(inflowStreamsItem); + return this; + } + + /** + * An array of inflow transaction streams (e.g., income). + * @return inflowStreams + **/ + @ApiModelProperty(required = true, value = "An array of inflow transaction streams (e.g., income).") + + public List getInflowStreams() { + return inflowStreams; + } + + + public void setInflowStreams(List inflowStreams) { + this.inflowStreams = inflowStreams; + } + + + public RecurringTransactions outflowStreams(List outflowStreams) { + + this.outflowStreams = outflowStreams; + return this; + } + + public RecurringTransactions addOutflowStreamsItem(RecurringInsightsStream outflowStreamsItem) { + this.outflowStreams.add(outflowStreamsItem); + return this; + } + + /** + * An array of outflow transaction streams (e.g., subscriptions, bills, loan payments). + * @return outflowStreams + **/ + @ApiModelProperty(required = true, value = "An array of outflow transaction streams (e.g., subscriptions, bills, loan payments).") + + public List getOutflowStreams() { + return outflowStreams; + } + + + public void setOutflowStreams(List outflowStreams) { + this.outflowStreams = outflowStreams; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RecurringTransactions recurringTransactions = (RecurringTransactions) o; + return Objects.equals(this.inflowStreams, recurringTransactions.inflowStreams) && + Objects.equals(this.outflowStreams, recurringTransactions.outflowStreams); + } + + @Override + public int hashCode() { + return Objects.hash(inflowStreams, outflowStreams); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RecurringTransactions {\n"); + sb.append(" inflowStreams: ").append(toIndentedString(inflowStreams)).append("\n"); + sb.append(" outflowStreams: ").append(toIndentedString(outflowStreams)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RecurringTransactionsUpdateWebhook.java b/src/main/java/com/plaid/client/model/RecurringTransactionsUpdateWebhook.java new file mode 100644 index 0000000000..c6f8a56cdb --- /dev/null +++ b/src/main/java/com/plaid/client/model/RecurringTransactionsUpdateWebhook.java @@ -0,0 +1,218 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Fired when recurring transactions data is updated. This includes when a new recurring stream is detected or when a new transaction is added to an existing recurring stream. The `RECURRING_TRANSACTIONS_UPDATE` webhook will also fire when one or more attributes of the recurring stream changes, which is usually a result of the addition, update, or removal of transactions to the stream. After receipt of this webhook, the updated data can be fetched from `/transactions/recurring/get`. + */ +@ApiModel(description = "Fired when recurring transactions data is updated. This includes when a new recurring stream is detected or when a new transaction is added to an existing recurring stream. The `RECURRING_TRANSACTIONS_UPDATE` webhook will also fire when one or more attributes of the recurring stream changes, which is usually a result of the addition, update, or removal of transactions to the stream. After receipt of this webhook, the updated data can be fetched from `/transactions/recurring/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RecurringTransactionsUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public RecurringTransactionsUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public RecurringTransactionsUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `RECURRING_TRANSACTIONS_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`RECURRING_TRANSACTIONS_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public RecurringTransactionsUpdateWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public RecurringTransactionsUpdateWebhook accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public RecurringTransactionsUpdateWebhook addAccountIdsItem(String accountIdsItem) { + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * A list of `account_ids` for accounts that have new or updated recurring transactions data. + * @return accountIds + **/ + @ApiModelProperty(required = true, value = "A list of `account_ids` for accounts that have new or updated recurring transactions data.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + public RecurringTransactionsUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RecurringTransactionsUpdateWebhook recurringTransactionsUpdateWebhook = (RecurringTransactionsUpdateWebhook) o; + return Objects.equals(this.webhookType, recurringTransactionsUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, recurringTransactionsUpdateWebhook.webhookCode) && + Objects.equals(this.itemId, recurringTransactionsUpdateWebhook.itemId) && + Objects.equals(this.accountIds, recurringTransactionsUpdateWebhook.accountIds) && + Objects.equals(this.environment, recurringTransactionsUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, accountIds, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RecurringTransactionsUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RecurringTransfer.java b/src/main/java/com/plaid/client/model/RecurringTransfer.java new file mode 100644 index 0000000000..975c1a8021 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RecurringTransfer.java @@ -0,0 +1,564 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.TransferRecurringNetwork; +import com.plaid.client.model.TransferRecurringSchedule; +import com.plaid.client.model.TransferRecurringStatus; +import com.plaid.client.model.TransferType; +import com.plaid.client.model.TransferUserInResponse; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Represents a recurring transfer within the Transfers API. + */ +@ApiModel(description = "Represents a recurring transfer within the Transfers API.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RecurringTransfer { + public static final String SERIALIZED_NAME_RECURRING_TRANSFER_ID = "recurring_transfer_id"; + @SerializedName(SERIALIZED_NAME_RECURRING_TRANSFER_ID) + private String recurringTransferId; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_NEXT_ORIGINATION_DATE = "next_origination_date"; + @SerializedName(SERIALIZED_NAME_NEXT_ORIGINATION_DATE) + private LocalDate nextOriginationDate; + + public static final String SERIALIZED_NAME_TEST_CLOCK_ID = "test_clock_id"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK_ID) + private String testClockId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TransferType type; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private TransferRecurringStatus status; + + public static final String SERIALIZED_NAME_ACH_CLASS = "ach_class"; + @SerializedName(SERIALIZED_NAME_ACH_CLASS) + private ACHClass achClass; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private TransferRecurringNetwork network; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_TRANSFER_IDS = "transfer_ids"; + @SerializedName(SERIALIZED_NAME_TRANSFER_IDS) + private List transferIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private TransferUserInResponse user; + + public static final String SERIALIZED_NAME_SCHEDULE = "schedule"; + @SerializedName(SERIALIZED_NAME_SCHEDULE) + private TransferRecurringSchedule schedule; + + + public RecurringTransfer recurringTransferId(String recurringTransferId) { + + this.recurringTransferId = recurringTransferId; + return this; + } + + /** + * Plaid's unique identifier for a recurring transfer. + * @return recurringTransferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a recurring transfer.") + + public String getRecurringTransferId() { + return recurringTransferId; + } + + + public void setRecurringTransferId(String recurringTransferId) { + this.recurringTransferId = recurringTransferId; + } + + + public RecurringTransfer created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The datetime when this transfer was created. This will be of the form `2006-01-02T15:04:05Z` + * @return created + **/ + @ApiModelProperty(required = true, value = "The datetime when this transfer was created. This will be of the form `2006-01-02T15:04:05Z`") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public RecurringTransfer nextOriginationDate(LocalDate nextOriginationDate) { + + this.nextOriginationDate = nextOriginationDate; + return this; + } + + /** + * A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). The next transfer origination date after bank holiday adjustment. + * @return nextOriginationDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). The next transfer origination date after bank holiday adjustment.") + + public LocalDate getNextOriginationDate() { + return nextOriginationDate; + } + + + public void setNextOriginationDate(LocalDate nextOriginationDate) { + this.nextOriginationDate = nextOriginationDate; + } + + + public RecurringTransfer testClockId(String testClockId) { + + this.testClockId = testClockId; + return this; + } + + /** + * Plaid's unique identifier for a test clock. + * @return testClockId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a test clock.") + + public String getTestClockId() { + return testClockId; + } + + + public void setTestClockId(String testClockId) { + this.testClockId = testClockId; + } + + + public RecurringTransfer type(TransferType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public TransferType getType() { + return type; + } + + + public void setType(TransferType type) { + this.type = type; + } + + + public RecurringTransfer amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public RecurringTransfer status(TransferRecurringStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public TransferRecurringStatus getStatus() { + return status; + } + + + public void setStatus(TransferRecurringStatus status) { + this.status = status; + } + + + public RecurringTransfer achClass(ACHClass achClass) { + + this.achClass = achClass; + return this; + } + + /** + * Get achClass + * @return achClass + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ACHClass getAchClass() { + return achClass; + } + + + public void setAchClass(ACHClass achClass) { + this.achClass = achClass; + } + + + public RecurringTransfer network(TransferRecurringNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @ApiModelProperty(required = true, value = "") + + public TransferRecurringNetwork getNetwork() { + return network; + } + + + public void setNetwork(TransferRecurringNetwork network) { + this.network = network; + } + + + public RecurringTransfer originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Plaid's unique identifier for the origination account that was used for this transfer. + * @return originationAccountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the origination account that was used for this transfer.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public RecurringTransfer accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` corresponding to the end-user account that will be debited or credited. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` corresponding to the end-user account that will be debited or credited.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public RecurringTransfer fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited. + * @return fundingAccountId + **/ + @ApiModelProperty(required = true, value = "The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public RecurringTransfer isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the transfer amount, e.g. \"USD\" + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the transfer amount, e.g. \"USD\"") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public RecurringTransfer description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the recurring transfer. + * @return description + **/ + @ApiModelProperty(required = true, value = "The description of the recurring transfer.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public RecurringTransfer transferIds(List transferIds) { + + this.transferIds = transferIds; + return this; + } + + public RecurringTransfer addTransferIdsItem(String transferIdsItem) { + this.transferIds.add(transferIdsItem); + return this; + } + + /** + * The created transfer instances associated with this `recurring_transfer_id`. If the recurring transfer has been newly created, this array will be empty. + * @return transferIds + **/ + @ApiModelProperty(required = true, value = "The created transfer instances associated with this `recurring_transfer_id`. If the recurring transfer has been newly created, this array will be empty.") + + public List getTransferIds() { + return transferIds; + } + + + public void setTransferIds(List transferIds) { + this.transferIds = transferIds; + } + + + public RecurringTransfer user(TransferUserInResponse user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public TransferUserInResponse getUser() { + return user; + } + + + public void setUser(TransferUserInResponse user) { + this.user = user; + } + + + public RecurringTransfer schedule(TransferRecurringSchedule schedule) { + + this.schedule = schedule; + return this; + } + + /** + * Get schedule + * @return schedule + **/ + @ApiModelProperty(required = true, value = "") + + public TransferRecurringSchedule getSchedule() { + return schedule; + } + + + public void setSchedule(TransferRecurringSchedule schedule) { + this.schedule = schedule; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RecurringTransfer recurringTransfer = (RecurringTransfer) o; + return Objects.equals(this.recurringTransferId, recurringTransfer.recurringTransferId) && + Objects.equals(this.created, recurringTransfer.created) && + Objects.equals(this.nextOriginationDate, recurringTransfer.nextOriginationDate) && + Objects.equals(this.testClockId, recurringTransfer.testClockId) && + Objects.equals(this.type, recurringTransfer.type) && + Objects.equals(this.amount, recurringTransfer.amount) && + Objects.equals(this.status, recurringTransfer.status) && + Objects.equals(this.achClass, recurringTransfer.achClass) && + Objects.equals(this.network, recurringTransfer.network) && + Objects.equals(this.originationAccountId, recurringTransfer.originationAccountId) && + Objects.equals(this.accountId, recurringTransfer.accountId) && + Objects.equals(this.fundingAccountId, recurringTransfer.fundingAccountId) && + Objects.equals(this.isoCurrencyCode, recurringTransfer.isoCurrencyCode) && + Objects.equals(this.description, recurringTransfer.description) && + Objects.equals(this.transferIds, recurringTransfer.transferIds) && + Objects.equals(this.user, recurringTransfer.user) && + Objects.equals(this.schedule, recurringTransfer.schedule); + } + + @Override + public int hashCode() { + return Objects.hash(recurringTransferId, created, nextOriginationDate, testClockId, type, amount, status, achClass, network, originationAccountId, accountId, fundingAccountId, isoCurrencyCode, description, transferIds, user, schedule); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RecurringTransfer {\n"); + sb.append(" recurringTransferId: ").append(toIndentedString(recurringTransferId)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" nextOriginationDate: ").append(toIndentedString(nextOriginationDate)).append("\n"); + sb.append(" testClockId: ").append(toIndentedString(testClockId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" achClass: ").append(toIndentedString(achClass)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" transferIds: ").append(toIndentedString(transferIds)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" schedule: ").append(toIndentedString(schedule)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RecurringTransferNullable.java b/src/main/java/com/plaid/client/model/RecurringTransferNullable.java new file mode 100644 index 0000000000..b7c680e404 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RecurringTransferNullable.java @@ -0,0 +1,565 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.RecurringTransfer; +import com.plaid.client.model.TransferRecurringNetwork; +import com.plaid.client.model.TransferRecurringSchedule; +import com.plaid.client.model.TransferRecurringStatus; +import com.plaid.client.model.TransferType; +import com.plaid.client.model.TransferUserInResponse; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Represents a recurring transfer within the Transfers API. + */ +@ApiModel(description = "Represents a recurring transfer within the Transfers API.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RecurringTransferNullable { + public static final String SERIALIZED_NAME_RECURRING_TRANSFER_ID = "recurring_transfer_id"; + @SerializedName(SERIALIZED_NAME_RECURRING_TRANSFER_ID) + private String recurringTransferId; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_NEXT_ORIGINATION_DATE = "next_origination_date"; + @SerializedName(SERIALIZED_NAME_NEXT_ORIGINATION_DATE) + private LocalDate nextOriginationDate; + + public static final String SERIALIZED_NAME_TEST_CLOCK_ID = "test_clock_id"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK_ID) + private String testClockId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TransferType type; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private TransferRecurringStatus status; + + public static final String SERIALIZED_NAME_ACH_CLASS = "ach_class"; + @SerializedName(SERIALIZED_NAME_ACH_CLASS) + private ACHClass achClass; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private TransferRecurringNetwork network; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_TRANSFER_IDS = "transfer_ids"; + @SerializedName(SERIALIZED_NAME_TRANSFER_IDS) + private List transferIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private TransferUserInResponse user; + + public static final String SERIALIZED_NAME_SCHEDULE = "schedule"; + @SerializedName(SERIALIZED_NAME_SCHEDULE) + private TransferRecurringSchedule schedule; + + + public RecurringTransferNullable recurringTransferId(String recurringTransferId) { + + this.recurringTransferId = recurringTransferId; + return this; + } + + /** + * Plaid's unique identifier for a recurring transfer. + * @return recurringTransferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a recurring transfer.") + + public String getRecurringTransferId() { + return recurringTransferId; + } + + + public void setRecurringTransferId(String recurringTransferId) { + this.recurringTransferId = recurringTransferId; + } + + + public RecurringTransferNullable created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The datetime when this transfer was created. This will be of the form `2006-01-02T15:04:05Z` + * @return created + **/ + @ApiModelProperty(required = true, value = "The datetime when this transfer was created. This will be of the form `2006-01-02T15:04:05Z`") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public RecurringTransferNullable nextOriginationDate(LocalDate nextOriginationDate) { + + this.nextOriginationDate = nextOriginationDate; + return this; + } + + /** + * A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). The next transfer origination date after bank holiday adjustment. + * @return nextOriginationDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). The next transfer origination date after bank holiday adjustment.") + + public LocalDate getNextOriginationDate() { + return nextOriginationDate; + } + + + public void setNextOriginationDate(LocalDate nextOriginationDate) { + this.nextOriginationDate = nextOriginationDate; + } + + + public RecurringTransferNullable testClockId(String testClockId) { + + this.testClockId = testClockId; + return this; + } + + /** + * Plaid's unique identifier for a test clock. + * @return testClockId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a test clock.") + + public String getTestClockId() { + return testClockId; + } + + + public void setTestClockId(String testClockId) { + this.testClockId = testClockId; + } + + + public RecurringTransferNullable type(TransferType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public TransferType getType() { + return type; + } + + + public void setType(TransferType type) { + this.type = type; + } + + + public RecurringTransferNullable amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public RecurringTransferNullable status(TransferRecurringStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public TransferRecurringStatus getStatus() { + return status; + } + + + public void setStatus(TransferRecurringStatus status) { + this.status = status; + } + + + public RecurringTransferNullable achClass(ACHClass achClass) { + + this.achClass = achClass; + return this; + } + + /** + * Get achClass + * @return achClass + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ACHClass getAchClass() { + return achClass; + } + + + public void setAchClass(ACHClass achClass) { + this.achClass = achClass; + } + + + public RecurringTransferNullable network(TransferRecurringNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @ApiModelProperty(required = true, value = "") + + public TransferRecurringNetwork getNetwork() { + return network; + } + + + public void setNetwork(TransferRecurringNetwork network) { + this.network = network; + } + + + public RecurringTransferNullable originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Plaid's unique identifier for the origination account that was used for this transfer. + * @return originationAccountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the origination account that was used for this transfer.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public RecurringTransferNullable accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` corresponding to the end-user account that will be debited or credited. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` corresponding to the end-user account that will be debited or credited.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public RecurringTransferNullable fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited. + * @return fundingAccountId + **/ + @ApiModelProperty(required = true, value = "The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public RecurringTransferNullable isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the transfer amount, e.g. \"USD\" + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the transfer amount, e.g. \"USD\"") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public RecurringTransferNullable description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the recurring transfer. + * @return description + **/ + @ApiModelProperty(required = true, value = "The description of the recurring transfer.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public RecurringTransferNullable transferIds(List transferIds) { + + this.transferIds = transferIds; + return this; + } + + public RecurringTransferNullable addTransferIdsItem(String transferIdsItem) { + this.transferIds.add(transferIdsItem); + return this; + } + + /** + * The created transfer instances associated with this `recurring_transfer_id`. If the recurring transfer has been newly created, this array will be empty. + * @return transferIds + **/ + @ApiModelProperty(required = true, value = "The created transfer instances associated with this `recurring_transfer_id`. If the recurring transfer has been newly created, this array will be empty.") + + public List getTransferIds() { + return transferIds; + } + + + public void setTransferIds(List transferIds) { + this.transferIds = transferIds; + } + + + public RecurringTransferNullable user(TransferUserInResponse user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public TransferUserInResponse getUser() { + return user; + } + + + public void setUser(TransferUserInResponse user) { + this.user = user; + } + + + public RecurringTransferNullable schedule(TransferRecurringSchedule schedule) { + + this.schedule = schedule; + return this; + } + + /** + * Get schedule + * @return schedule + **/ + @ApiModelProperty(required = true, value = "") + + public TransferRecurringSchedule getSchedule() { + return schedule; + } + + + public void setSchedule(TransferRecurringSchedule schedule) { + this.schedule = schedule; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RecurringTransferNullable recurringTransferNullable = (RecurringTransferNullable) o; + return Objects.equals(this.recurringTransferId, recurringTransferNullable.recurringTransferId) && + Objects.equals(this.created, recurringTransferNullable.created) && + Objects.equals(this.nextOriginationDate, recurringTransferNullable.nextOriginationDate) && + Objects.equals(this.testClockId, recurringTransferNullable.testClockId) && + Objects.equals(this.type, recurringTransferNullable.type) && + Objects.equals(this.amount, recurringTransferNullable.amount) && + Objects.equals(this.status, recurringTransferNullable.status) && + Objects.equals(this.achClass, recurringTransferNullable.achClass) && + Objects.equals(this.network, recurringTransferNullable.network) && + Objects.equals(this.originationAccountId, recurringTransferNullable.originationAccountId) && + Objects.equals(this.accountId, recurringTransferNullable.accountId) && + Objects.equals(this.fundingAccountId, recurringTransferNullable.fundingAccountId) && + Objects.equals(this.isoCurrencyCode, recurringTransferNullable.isoCurrencyCode) && + Objects.equals(this.description, recurringTransferNullable.description) && + Objects.equals(this.transferIds, recurringTransferNullable.transferIds) && + Objects.equals(this.user, recurringTransferNullable.user) && + Objects.equals(this.schedule, recurringTransferNullable.schedule); + } + + @Override + public int hashCode() { + return Objects.hash(recurringTransferId, created, nextOriginationDate, testClockId, type, amount, status, achClass, network, originationAccountId, accountId, fundingAccountId, isoCurrencyCode, description, transferIds, user, schedule); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RecurringTransferNullable {\n"); + sb.append(" recurringTransferId: ").append(toIndentedString(recurringTransferId)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" nextOriginationDate: ").append(toIndentedString(nextOriginationDate)).append("\n"); + sb.append(" testClockId: ").append(toIndentedString(testClockId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" achClass: ").append(toIndentedString(achClass)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" transferIds: ").append(toIndentedString(transferIds)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" schedule: ").append(toIndentedString(schedule)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RecurringTransferSkippedWebhook.java b/src/main/java/com/plaid/client/model/RecurringTransferSkippedWebhook.java new file mode 100644 index 0000000000..4593289202 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RecurringTransferSkippedWebhook.java @@ -0,0 +1,271 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferAuthorizationDecision; +import com.plaid.client.model.TransferAuthorizationDecisionRationaleCode; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Fired when Plaid is unable to originate a new ACH transaction of the recurring transfer on the planned date. + */ +@ApiModel(description = "Fired when Plaid is unable to originate a new ACH transaction of the recurring transfer on the planned date.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RecurringTransferSkippedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_RECURRING_TRANSFER_ID = "recurring_transfer_id"; + @SerializedName(SERIALIZED_NAME_RECURRING_TRANSFER_ID) + private String recurringTransferId; + + public static final String SERIALIZED_NAME_AUTHORIZATION_DECISION = "authorization_decision"; + @SerializedName(SERIALIZED_NAME_AUTHORIZATION_DECISION) + private TransferAuthorizationDecision authorizationDecision; + + public static final String SERIALIZED_NAME_AUTHORIZATION_DECISION_RATIONALE_CODE = "authorization_decision_rationale_code"; + @SerializedName(SERIALIZED_NAME_AUTHORIZATION_DECISION_RATIONALE_CODE) + private TransferAuthorizationDecisionRationaleCode authorizationDecisionRationaleCode; + + public static final String SERIALIZED_NAME_SKIPPED_ORIGINATION_DATE = "skipped_origination_date"; + @SerializedName(SERIALIZED_NAME_SKIPPED_ORIGINATION_DATE) + private LocalDate skippedOriginationDate; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public RecurringTransferSkippedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSFER` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSFER`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public RecurringTransferSkippedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `RECURRING_TRANSFER_SKIPPED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`RECURRING_TRANSFER_SKIPPED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public RecurringTransferSkippedWebhook recurringTransferId(String recurringTransferId) { + + this.recurringTransferId = recurringTransferId; + return this; + } + + /** + * Plaid's unique identifier for a recurring transfer. + * @return recurringTransferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a recurring transfer.") + + public String getRecurringTransferId() { + return recurringTransferId; + } + + + public void setRecurringTransferId(String recurringTransferId) { + this.recurringTransferId = recurringTransferId; + } + + + public RecurringTransferSkippedWebhook authorizationDecision(TransferAuthorizationDecision authorizationDecision) { + + this.authorizationDecision = authorizationDecision; + return this; + } + + /** + * Get authorizationDecision + * @return authorizationDecision + **/ + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationDecision getAuthorizationDecision() { + return authorizationDecision; + } + + + public void setAuthorizationDecision(TransferAuthorizationDecision authorizationDecision) { + this.authorizationDecision = authorizationDecision; + } + + + public RecurringTransferSkippedWebhook authorizationDecisionRationaleCode(TransferAuthorizationDecisionRationaleCode authorizationDecisionRationaleCode) { + + this.authorizationDecisionRationaleCode = authorizationDecisionRationaleCode; + return this; + } + + /** + * Get authorizationDecisionRationaleCode + * @return authorizationDecisionRationaleCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferAuthorizationDecisionRationaleCode getAuthorizationDecisionRationaleCode() { + return authorizationDecisionRationaleCode; + } + + + public void setAuthorizationDecisionRationaleCode(TransferAuthorizationDecisionRationaleCode authorizationDecisionRationaleCode) { + this.authorizationDecisionRationaleCode = authorizationDecisionRationaleCode; + } + + + public RecurringTransferSkippedWebhook skippedOriginationDate(LocalDate skippedOriginationDate) { + + this.skippedOriginationDate = skippedOriginationDate; + return this; + } + + /** + * The planned date on which Plaid is unable to originate a new ACH transaction of the recurring transfer. This will be of the form YYYY-MM-DD. + * @return skippedOriginationDate + **/ + @ApiModelProperty(required = true, value = "The planned date on which Plaid is unable to originate a new ACH transaction of the recurring transfer. This will be of the form YYYY-MM-DD.") + + public LocalDate getSkippedOriginationDate() { + return skippedOriginationDate; + } + + + public void setSkippedOriginationDate(LocalDate skippedOriginationDate) { + this.skippedOriginationDate = skippedOriginationDate; + } + + + public RecurringTransferSkippedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RecurringTransferSkippedWebhook recurringTransferSkippedWebhook = (RecurringTransferSkippedWebhook) o; + return Objects.equals(this.webhookType, recurringTransferSkippedWebhook.webhookType) && + Objects.equals(this.webhookCode, recurringTransferSkippedWebhook.webhookCode) && + Objects.equals(this.recurringTransferId, recurringTransferSkippedWebhook.recurringTransferId) && + Objects.equals(this.authorizationDecision, recurringTransferSkippedWebhook.authorizationDecision) && + Objects.equals(this.authorizationDecisionRationaleCode, recurringTransferSkippedWebhook.authorizationDecisionRationaleCode) && + Objects.equals(this.skippedOriginationDate, recurringTransferSkippedWebhook.skippedOriginationDate) && + Objects.equals(this.environment, recurringTransferSkippedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, recurringTransferId, authorizationDecision, authorizationDecisionRationaleCode, skippedOriginationDate, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RecurringTransferSkippedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" recurringTransferId: ").append(toIndentedString(recurringTransferId)).append("\n"); + sb.append(" authorizationDecision: ").append(toIndentedString(authorizationDecision)).append("\n"); + sb.append(" authorizationDecisionRationaleCode: ").append(toIndentedString(authorizationDecisionRationaleCode)).append("\n"); + sb.append(" skippedOriginationDate: ").append(toIndentedString(skippedOriginationDate)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RefreshResult.java b/src/main/java/com/plaid/client/model/RefreshResult.java new file mode 100644 index 0000000000..b64f8e6cf6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RefreshResult.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * RefreshResult represents the result status of a user refresh for a specific item. + */ +@ApiModel(description = "RefreshResult represents the result status of a user refresh for a specific item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RefreshResult { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_PRODUCT = "product"; + @SerializedName(SERIALIZED_NAME_PRODUCT) + private String product; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + + public RefreshResult itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * A unique identifier for the Plaid Item. + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the Plaid Item.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public RefreshResult product(String product) { + + this.product = product; + return this; + } + + /** + * The product for which the refresh was attempted. + * @return product + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The product for which the refresh was attempted.") + + public String getProduct() { + return product; + } + + + public void setProduct(String product) { + this.product = product; + } + + + public RefreshResult error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RefreshResult refreshResult = (RefreshResult) o; + return Objects.equals(this.itemId, refreshResult.itemId) && + Objects.equals(this.product, refreshResult.product) && + Objects.equals(this.error, refreshResult.error); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, product, error); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RefreshResult {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" product: ").append(toIndentedString(product)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RemovedTransaction.java b/src/main/java/com/plaid/client/model/RemovedTransaction.java new file mode 100644 index 0000000000..e73aef587c --- /dev/null +++ b/src/main/java/com/plaid/client/model/RemovedTransaction.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A representation of a removed transaction + */ +@ApiModel(description = "A representation of a removed transaction") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RemovedTransaction { + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + + public RemovedTransaction transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The ID of the removed transaction. + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "The ID of the removed transaction.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public RemovedTransaction accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account of the removed transaction. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account of the removed transaction.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RemovedTransaction removedTransaction = (RemovedTransaction) o; + return Objects.equals(this.transactionId, removedTransaction.transactionId) && + Objects.equals(this.accountId, removedTransaction.accountId); + } + + @Override + public int hashCode() { + return Objects.hash(transactionId, accountId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RemovedTransaction {\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ReportType.java b/src/main/java/com/plaid/client/model/ReportType.java new file mode 100644 index 0000000000..e430ea8526 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ReportType.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The report type. It can be `asset`. Income report types are not yet supported. + */ +@JsonAdapter(ReportType.Adapter.class) +public enum ReportType { + + ASSET("asset"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ReportType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ReportType fromValue(String value) { + for (ReportType b : ReportType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ReportType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ReportType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ReportType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ReportType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ReportingInformation.java b/src/main/java/com/plaid/client/model/ReportingInformation.java new file mode 100644 index 0000000000..c6896b2995 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ReportingInformation.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about a report identifier and a report name. + */ +@ApiModel(description = "Information about a report identifier and a report name.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ReportingInformation { + public static final String SERIALIZED_NAME_REPORTING_INFORMATION_IDENTIFIER = "ReportingInformationIdentifier"; + @SerializedName(SERIALIZED_NAME_REPORTING_INFORMATION_IDENTIFIER) + private String reportingInformationIdentifier; + + + public ReportingInformation reportingInformationIdentifier(String reportingInformationIdentifier) { + + this.reportingInformationIdentifier = reportingInformationIdentifier; + return this; + } + + /** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + * @return reportingInformationIdentifier + **/ + @ApiModelProperty(required = true, value = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") + + public String getReportingInformationIdentifier() { + return reportingInformationIdentifier; + } + + + public void setReportingInformationIdentifier(String reportingInformationIdentifier) { + this.reportingInformationIdentifier = reportingInformationIdentifier; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ReportingInformation reportingInformation = (ReportingInformation) o; + return Objects.equals(this.reportingInformationIdentifier, reportingInformation.reportingInformationIdentifier); + } + + @Override + public int hashCode() { + return Objects.hash(reportingInformationIdentifier); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ReportingInformation {\n"); + sb.append(" reportingInformationIdentifier: ").append(toIndentedString(reportingInformationIdentifier)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RequestBusinessAddress.java b/src/main/java/com/plaid/client/model/RequestBusinessAddress.java new file mode 100644 index 0000000000..a7f24f2d29 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RequestBusinessAddress.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Physical address of a business. Used for input requests. + */ +@ApiModel(description = "Physical address of a business. Used for input requests.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RequestBusinessAddress { + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_STREET2 = "street2"; + @SerializedName(SERIALIZED_NAME_STREET2) + private String street2; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public RequestBusinessAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters. + * @return street + **/ + @ApiModelProperty(example = "123 Main St.", required = true, value = "The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public RequestBusinessAddress street2(String street2) { + + this.street2 = street2; + return this; + } + + /** + * Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters. + * @return street2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Unit 42", value = "Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters.") + + public String getStreet2() { + return street2; + } + + + public void setStreet2(String street2) { + this.street2 = street2; + } + + + public RequestBusinessAddress city(String city) { + + this.city = city; + return this; + } + + /** + * City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters. + * @return city + **/ + @ApiModelProperty(example = "Pawnee", required = true, value = "City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public RequestBusinessAddress region(String region) { + + this.region = region; + return this; + } + + /** + * A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field. + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "IN", value = "A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public RequestBusinessAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "46001", value = "The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public RequestBusinessAddress country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RequestBusinessAddress requestBusinessAddress = (RequestBusinessAddress) o; + return Objects.equals(this.street, requestBusinessAddress.street) && + Objects.equals(this.street2, requestBusinessAddress.street2) && + Objects.equals(this.city, requestBusinessAddress.city) && + Objects.equals(this.region, requestBusinessAddress.region) && + Objects.equals(this.postalCode, requestBusinessAddress.postalCode) && + Objects.equals(this.country, requestBusinessAddress.country); + } + + @Override + public int hashCode() { + return Objects.hash(street, street2, city, region, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RequestBusinessAddress {\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" street2: ").append(toIndentedString(street2)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ResponseBusinessAddress.java b/src/main/java/com/plaid/client/model/ResponseBusinessAddress.java new file mode 100644 index 0000000000..2a1d40baee --- /dev/null +++ b/src/main/java/com/plaid/client/model/ResponseBusinessAddress.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Physical address of a business. Used for response schemas. + */ +@ApiModel(description = "Physical address of a business. Used for response schemas.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ResponseBusinessAddress { + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_STREET2 = "street2"; + @SerializedName(SERIALIZED_NAME_STREET2) + private String street2; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public ResponseBusinessAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters. + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "123 Main St.", required = true, value = "The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public ResponseBusinessAddress street2(String street2) { + + this.street2 = street2; + return this; + } + + /** + * Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters. + * @return street2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Unit 42", required = true, value = "Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters.") + + public String getStreet2() { + return street2; + } + + + public void setStreet2(String street2) { + this.street2 = street2; + } + + + public ResponseBusinessAddress city(String city) { + + this.city = city; + return this; + } + + /** + * City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Pawnee", required = true, value = "City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public ResponseBusinessAddress region(String region) { + + this.region = region; + return this; + } + + /** + * A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field. + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "IN", required = true, value = "A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public ResponseBusinessAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "46001", required = true, value = "The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public ResponseBusinessAddress country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResponseBusinessAddress responseBusinessAddress = (ResponseBusinessAddress) o; + return Objects.equals(this.street, responseBusinessAddress.street) && + Objects.equals(this.street2, responseBusinessAddress.street2) && + Objects.equals(this.city, responseBusinessAddress.city) && + Objects.equals(this.region, responseBusinessAddress.region) && + Objects.equals(this.postalCode, responseBusinessAddress.postalCode) && + Objects.equals(this.country, responseBusinessAddress.country); + } + + @Override + public int hashCode() { + return Objects.hash(street, street2, city, region, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ResponseBusinessAddress {\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" street2: ").append(toIndentedString(street2)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckBehavior.java b/src/main/java/com/plaid/client/model/RiskCheckBehavior.java new file mode 100644 index 0000000000..b71c283965 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckBehavior.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RiskCheckBehaviorBotDetectedLabel; +import com.plaid.client.model.RiskCheckBehaviorFraudRingDetectedLabel; +import com.plaid.client.model.RiskCheckBehaviorUserInteractionsLabel; +import com.plaid.client.model.RiskLevelWithNoData; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Result summary object specifying values for `behavior` attributes of risk check, when available. + */ +@ApiModel(description = "Result summary object specifying values for `behavior` attributes of risk check, when available.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskCheckBehavior { + public static final String SERIALIZED_NAME_USER_INTERACTIONS = "user_interactions"; + @SerializedName(SERIALIZED_NAME_USER_INTERACTIONS) + private RiskCheckBehaviorUserInteractionsLabel userInteractions; + + public static final String SERIALIZED_NAME_FRAUD_RING_DETECTED = "fraud_ring_detected"; + @SerializedName(SERIALIZED_NAME_FRAUD_RING_DETECTED) + private RiskCheckBehaviorFraudRingDetectedLabel fraudRingDetected; + + public static final String SERIALIZED_NAME_BOT_DETECTED = "bot_detected"; + @SerializedName(SERIALIZED_NAME_BOT_DETECTED) + private RiskCheckBehaviorBotDetectedLabel botDetected; + + public static final String SERIALIZED_NAME_RISK_LEVEL = "risk_level"; + @SerializedName(SERIALIZED_NAME_RISK_LEVEL) + private RiskLevelWithNoData riskLevel; + + + public RiskCheckBehavior userInteractions(RiskCheckBehaviorUserInteractionsLabel userInteractions) { + + this.userInteractions = userInteractions; + return this; + } + + /** + * Get userInteractions + * @return userInteractions + **/ + @ApiModelProperty(required = true, value = "") + + public RiskCheckBehaviorUserInteractionsLabel getUserInteractions() { + return userInteractions; + } + + + public void setUserInteractions(RiskCheckBehaviorUserInteractionsLabel userInteractions) { + this.userInteractions = userInteractions; + } + + + public RiskCheckBehavior fraudRingDetected(RiskCheckBehaviorFraudRingDetectedLabel fraudRingDetected) { + + this.fraudRingDetected = fraudRingDetected; + return this; + } + + /** + * Get fraudRingDetected + * @return fraudRingDetected + **/ + @ApiModelProperty(required = true, value = "") + + public RiskCheckBehaviorFraudRingDetectedLabel getFraudRingDetected() { + return fraudRingDetected; + } + + + public void setFraudRingDetected(RiskCheckBehaviorFraudRingDetectedLabel fraudRingDetected) { + this.fraudRingDetected = fraudRingDetected; + } + + + public RiskCheckBehavior botDetected(RiskCheckBehaviorBotDetectedLabel botDetected) { + + this.botDetected = botDetected; + return this; + } + + /** + * Get botDetected + * @return botDetected + **/ + @ApiModelProperty(required = true, value = "") + + public RiskCheckBehaviorBotDetectedLabel getBotDetected() { + return botDetected; + } + + + public void setBotDetected(RiskCheckBehaviorBotDetectedLabel botDetected) { + this.botDetected = botDetected; + } + + + public RiskCheckBehavior riskLevel(RiskLevelWithNoData riskLevel) { + + this.riskLevel = riskLevel; + return this; + } + + /** + * Get riskLevel + * @return riskLevel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RiskLevelWithNoData getRiskLevel() { + return riskLevel; + } + + + public void setRiskLevel(RiskLevelWithNoData riskLevel) { + this.riskLevel = riskLevel; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskCheckBehavior riskCheckBehavior = (RiskCheckBehavior) o; + return Objects.equals(this.userInteractions, riskCheckBehavior.userInteractions) && + Objects.equals(this.fraudRingDetected, riskCheckBehavior.fraudRingDetected) && + Objects.equals(this.botDetected, riskCheckBehavior.botDetected) && + Objects.equals(this.riskLevel, riskCheckBehavior.riskLevel); + } + + @Override + public int hashCode() { + return Objects.hash(userInteractions, fraudRingDetected, botDetected, riskLevel); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskCheckBehavior {\n"); + sb.append(" userInteractions: ").append(toIndentedString(userInteractions)).append("\n"); + sb.append(" fraudRingDetected: ").append(toIndentedString(fraudRingDetected)).append("\n"); + sb.append(" botDetected: ").append(toIndentedString(botDetected)).append("\n"); + sb.append(" riskLevel: ").append(toIndentedString(riskLevel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckBehaviorBotDetectedLabel.java b/src/main/java/com/plaid/client/model/RiskCheckBehaviorBotDetectedLabel.java new file mode 100644 index 0000000000..74845450d5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckBehaviorBotDetectedLabel.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Field describing the outcome of a bot detection behavior risk check. `yes` indicates that automated activity was detected. `no` indicates that automated activity was not detected. `no_data` indicates there was not enough information available to give an accurate signal. + */ +@JsonAdapter(RiskCheckBehaviorBotDetectedLabel.Adapter.class) +public enum RiskCheckBehaviorBotDetectedLabel { + + YES("yes"), + + NO("no"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskCheckBehaviorBotDetectedLabel(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskCheckBehaviorBotDetectedLabel fromValue(String value) { + for (RiskCheckBehaviorBotDetectedLabel b : RiskCheckBehaviorBotDetectedLabel.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskCheckBehaviorBotDetectedLabel.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskCheckBehaviorBotDetectedLabel enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskCheckBehaviorBotDetectedLabel read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskCheckBehaviorBotDetectedLabel.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckBehaviorFraudRingDetectedLabel.java b/src/main/java/com/plaid/client/model/RiskCheckBehaviorFraudRingDetectedLabel.java new file mode 100644 index 0000000000..479956be2c --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckBehaviorFraudRingDetectedLabel.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Field describing the outcome of a fraud ring behavior risk check. `yes` indicates that fraud ring activity was detected. `no` indicates that fraud ring activity was not detected. `no_data` indicates there was not enough information available to give an accurate signal. + */ +@JsonAdapter(RiskCheckBehaviorFraudRingDetectedLabel.Adapter.class) +public enum RiskCheckBehaviorFraudRingDetectedLabel { + + YES("yes"), + + NO("no"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskCheckBehaviorFraudRingDetectedLabel(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskCheckBehaviorFraudRingDetectedLabel fromValue(String value) { + for (RiskCheckBehaviorFraudRingDetectedLabel b : RiskCheckBehaviorFraudRingDetectedLabel.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskCheckBehaviorFraudRingDetectedLabel.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskCheckBehaviorFraudRingDetectedLabel enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskCheckBehaviorFraudRingDetectedLabel read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskCheckBehaviorFraudRingDetectedLabel.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckBehaviorUserInteractionsLabel.java b/src/main/java/com/plaid/client/model/RiskCheckBehaviorUserInteractionsLabel.java new file mode 100644 index 0000000000..e9d7fd6727 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckBehaviorUserInteractionsLabel.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Field describing the overall user interaction signals of a behavior risk check. This value represents how familiar the user is with the personal data they provide, based on a number of signals that are collected during their session. `genuine` indicates the user has high familiarity with the data they are providing, and that fraud is unlikely. `neutral` indicates some signals are present in between `risky` and `genuine`, but there are not enough clear signals to determine an outcome. `risky` indicates the user has low familiarity with the data they are providing, and that fraud is likely. `no_data` indicates there is not sufficient information to give an accurate signal. + */ +@JsonAdapter(RiskCheckBehaviorUserInteractionsLabel.Adapter.class) +public enum RiskCheckBehaviorUserInteractionsLabel { + + GENUINE("genuine"), + + NEUTRAL("neutral"), + + RISKY("risky"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskCheckBehaviorUserInteractionsLabel(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskCheckBehaviorUserInteractionsLabel fromValue(String value) { + for (RiskCheckBehaviorUserInteractionsLabel b : RiskCheckBehaviorUserInteractionsLabel.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskCheckBehaviorUserInteractionsLabel.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskCheckBehaviorUserInteractionsLabel enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskCheckBehaviorUserInteractionsLabel read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskCheckBehaviorUserInteractionsLabel.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckDetails.java b/src/main/java/com/plaid/client/model/RiskCheckDetails.java new file mode 100644 index 0000000000..edc23f743a --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckDetails.java @@ -0,0 +1,348 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IdentityVerificationStepStatus; +import com.plaid.client.model.RiskCheckBehavior; +import com.plaid.client.model.RiskCheckDevice; +import com.plaid.client.model.RiskCheckEmail; +import com.plaid.client.model.RiskCheckFacialDuplicate; +import com.plaid.client.model.RiskCheckIdentityAbuseSignals; +import com.plaid.client.model.RiskCheckNetwork; +import com.plaid.client.model.RiskCheckPhone; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Additional information for the `risk_check` step. + */ +@ApiModel(description = "Additional information for the `risk_check` step.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskCheckDetails { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private IdentityVerificationStepStatus status; + + public static final String SERIALIZED_NAME_BEHAVIOR = "behavior"; + @SerializedName(SERIALIZED_NAME_BEHAVIOR) + private RiskCheckBehavior behavior; + + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + private RiskCheckEmail email; + + public static final String SERIALIZED_NAME_PHONE = "phone"; + @SerializedName(SERIALIZED_NAME_PHONE) + private RiskCheckPhone phone; + + public static final String SERIALIZED_NAME_DEVICES = "devices"; + @SerializedName(SERIALIZED_NAME_DEVICES) + private List devices = new ArrayList<>(); + + public static final String SERIALIZED_NAME_IDENTITY_ABUSE_SIGNALS = "identity_abuse_signals"; + @SerializedName(SERIALIZED_NAME_IDENTITY_ABUSE_SIGNALS) + private RiskCheckIdentityAbuseSignals identityAbuseSignals; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private RiskCheckNetwork network; + + public static final String SERIALIZED_NAME_FACIAL_DUPLICATES = "facial_duplicates"; + @SerializedName(SERIALIZED_NAME_FACIAL_DUPLICATES) + private List facialDuplicates = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TRUST_INDEX_SCORE = "trust_index_score"; + @SerializedName(SERIALIZED_NAME_TRUST_INDEX_SCORE) + private Integer trustIndexScore; + + + public RiskCheckDetails status(IdentityVerificationStepStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public IdentityVerificationStepStatus getStatus() { + return status; + } + + + public void setStatus(IdentityVerificationStepStatus status) { + this.status = status; + } + + + public RiskCheckDetails behavior(RiskCheckBehavior behavior) { + + this.behavior = behavior; + return this; + } + + /** + * Get behavior + * @return behavior + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public RiskCheckBehavior getBehavior() { + return behavior; + } + + + public void setBehavior(RiskCheckBehavior behavior) { + this.behavior = behavior; + } + + + public RiskCheckDetails email(RiskCheckEmail email) { + + this.email = email; + return this; + } + + /** + * Get email + * @return email + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public RiskCheckEmail getEmail() { + return email; + } + + + public void setEmail(RiskCheckEmail email) { + this.email = email; + } + + + public RiskCheckDetails phone(RiskCheckPhone phone) { + + this.phone = phone; + return this; + } + + /** + * Get phone + * @return phone + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public RiskCheckPhone getPhone() { + return phone; + } + + + public void setPhone(RiskCheckPhone phone) { + this.phone = phone; + } + + + public RiskCheckDetails devices(List devices) { + + this.devices = devices; + return this; + } + + public RiskCheckDetails addDevicesItem(RiskCheckDevice devicesItem) { + this.devices.add(devicesItem); + return this; + } + + /** + * Array of result summary objects specifying values for `device` attributes of risk check. + * @return devices + **/ + @ApiModelProperty(required = true, value = "Array of result summary objects specifying values for `device` attributes of risk check.") + + public List getDevices() { + return devices; + } + + + public void setDevices(List devices) { + this.devices = devices; + } + + + public RiskCheckDetails identityAbuseSignals(RiskCheckIdentityAbuseSignals identityAbuseSignals) { + + this.identityAbuseSignals = identityAbuseSignals; + return this; + } + + /** + * Get identityAbuseSignals + * @return identityAbuseSignals + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public RiskCheckIdentityAbuseSignals getIdentityAbuseSignals() { + return identityAbuseSignals; + } + + + public void setIdentityAbuseSignals(RiskCheckIdentityAbuseSignals identityAbuseSignals) { + this.identityAbuseSignals = identityAbuseSignals; + } + + + public RiskCheckDetails network(RiskCheckNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RiskCheckNetwork getNetwork() { + return network; + } + + + public void setNetwork(RiskCheckNetwork network) { + this.network = network; + } + + + public RiskCheckDetails facialDuplicates(List facialDuplicates) { + + this.facialDuplicates = facialDuplicates; + return this; + } + + public RiskCheckDetails addFacialDuplicatesItem(RiskCheckFacialDuplicate facialDuplicatesItem) { + this.facialDuplicates.add(facialDuplicatesItem); + return this; + } + + /** + * The attributes related to the facial duplicates captured in risk check. + * @return facialDuplicates + **/ + @ApiModelProperty(required = true, value = "The attributes related to the facial duplicates captured in risk check.") + + public List getFacialDuplicates() { + return facialDuplicates; + } + + + public void setFacialDuplicates(List facialDuplicates) { + this.facialDuplicates = facialDuplicates; + } + + + public RiskCheckDetails trustIndexScore(Integer trustIndexScore) { + + this.trustIndexScore = trustIndexScore; + return this; + } + + /** + * The trust index score for the `risk_check` step. + * @return trustIndexScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "86", required = true, value = "The trust index score for the `risk_check` step.") + + public Integer getTrustIndexScore() { + return trustIndexScore; + } + + + public void setTrustIndexScore(Integer trustIndexScore) { + this.trustIndexScore = trustIndexScore; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskCheckDetails riskCheckDetails = (RiskCheckDetails) o; + return Objects.equals(this.status, riskCheckDetails.status) && + Objects.equals(this.behavior, riskCheckDetails.behavior) && + Objects.equals(this.email, riskCheckDetails.email) && + Objects.equals(this.phone, riskCheckDetails.phone) && + Objects.equals(this.devices, riskCheckDetails.devices) && + Objects.equals(this.identityAbuseSignals, riskCheckDetails.identityAbuseSignals) && + Objects.equals(this.network, riskCheckDetails.network) && + Objects.equals(this.facialDuplicates, riskCheckDetails.facialDuplicates) && + Objects.equals(this.trustIndexScore, riskCheckDetails.trustIndexScore); + } + + @Override + public int hashCode() { + return Objects.hash(status, behavior, email, phone, devices, identityAbuseSignals, network, facialDuplicates, trustIndexScore); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskCheckDetails {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" behavior: ").append(toIndentedString(behavior)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" phone: ").append(toIndentedString(phone)).append("\n"); + sb.append(" devices: ").append(toIndentedString(devices)).append("\n"); + sb.append(" identityAbuseSignals: ").append(toIndentedString(identityAbuseSignals)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" facialDuplicates: ").append(toIndentedString(facialDuplicates)).append("\n"); + sb.append(" trustIndexScore: ").append(toIndentedString(trustIndexScore)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckDevice.java b/src/main/java/com/plaid/client/model/RiskCheckDevice.java new file mode 100644 index 0000000000..9d8bab7c53 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckDevice.java @@ -0,0 +1,227 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProxyType; +import com.plaid.client.model.RiskLevel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Result summary object specifying values for `device` attributes of risk check. + */ +@ApiModel(description = "Result summary object specifying values for `device` attributes of risk check.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskCheckDevice { + public static final String SERIALIZED_NAME_IP_PROXY_TYPE = "ip_proxy_type"; + @SerializedName(SERIALIZED_NAME_IP_PROXY_TYPE) + private ProxyType ipProxyType; + + public static final String SERIALIZED_NAME_IP_SPAM_LIST_COUNT = "ip_spam_list_count"; + @SerializedName(SERIALIZED_NAME_IP_SPAM_LIST_COUNT) + private Integer ipSpamListCount; + + public static final String SERIALIZED_NAME_IP_TIMEZONE_OFFSET = "ip_timezone_offset"; + @SerializedName(SERIALIZED_NAME_IP_TIMEZONE_OFFSET) + private String ipTimezoneOffset; + + public static final String SERIALIZED_NAME_RISK_LEVEL = "risk_level"; + @SerializedName(SERIALIZED_NAME_RISK_LEVEL) + private RiskLevel riskLevel; + + public static final String SERIALIZED_NAME_FACTORS = "factors"; + @SerializedName(SERIALIZED_NAME_FACTORS) + private List factors = null; + + + public RiskCheckDevice ipProxyType(ProxyType ipProxyType) { + + this.ipProxyType = ipProxyType; + return this; + } + + /** + * Get ipProxyType + * @return ipProxyType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public ProxyType getIpProxyType() { + return ipProxyType; + } + + + public void setIpProxyType(ProxyType ipProxyType) { + this.ipProxyType = ipProxyType; + } + + + public RiskCheckDevice ipSpamListCount(Integer ipSpamListCount) { + + this.ipSpamListCount = ipSpamListCount; + return this; + } + + /** + * Count of spam lists the IP address is associated with if known. + * @return ipSpamListCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "Count of spam lists the IP address is associated with if known.") + + public Integer getIpSpamListCount() { + return ipSpamListCount; + } + + + public void setIpSpamListCount(Integer ipSpamListCount) { + this.ipSpamListCount = ipSpamListCount; + } + + + public RiskCheckDevice ipTimezoneOffset(String ipTimezoneOffset) { + + this.ipTimezoneOffset = ipTimezoneOffset; + return this; + } + + /** + * UTC offset of the timezone associated with the IP address. + * @return ipTimezoneOffset + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+06:00:00", required = true, value = "UTC offset of the timezone associated with the IP address.") + + public String getIpTimezoneOffset() { + return ipTimezoneOffset; + } + + + public void setIpTimezoneOffset(String ipTimezoneOffset) { + this.ipTimezoneOffset = ipTimezoneOffset; + } + + + public RiskCheckDevice riskLevel(RiskLevel riskLevel) { + + this.riskLevel = riskLevel; + return this; + } + + /** + * Get riskLevel + * @return riskLevel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RiskLevel getRiskLevel() { + return riskLevel; + } + + + public void setRiskLevel(RiskLevel riskLevel) { + this.riskLevel = riskLevel; + } + + + public RiskCheckDevice factors(List factors) { + + this.factors = factors; + return this; + } + + public RiskCheckDevice addFactorsItem(String factorsItem) { + if (this.factors == null) { + this.factors = new ArrayList<>(); + } + this.factors.add(factorsItem); + return this; + } + + /** + * List of factors, when available, that contribute towards the risk level of the given risk check type. + * @return factors + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of factors, when available, that contribute towards the risk level of the given risk check type.") + + public List getFactors() { + return factors; + } + + + public void setFactors(List factors) { + this.factors = factors; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskCheckDevice riskCheckDevice = (RiskCheckDevice) o; + return Objects.equals(this.ipProxyType, riskCheckDevice.ipProxyType) && + Objects.equals(this.ipSpamListCount, riskCheckDevice.ipSpamListCount) && + Objects.equals(this.ipTimezoneOffset, riskCheckDevice.ipTimezoneOffset) && + Objects.equals(this.riskLevel, riskCheckDevice.riskLevel) && + Objects.equals(this.factors, riskCheckDevice.factors); + } + + @Override + public int hashCode() { + return Objects.hash(ipProxyType, ipSpamListCount, ipTimezoneOffset, riskLevel, factors); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskCheckDevice {\n"); + sb.append(" ipProxyType: ").append(toIndentedString(ipProxyType)).append("\n"); + sb.append(" ipSpamListCount: ").append(toIndentedString(ipSpamListCount)).append("\n"); + sb.append(" ipTimezoneOffset: ").append(toIndentedString(ipTimezoneOffset)).append("\n"); + sb.append(" riskLevel: ").append(toIndentedString(riskLevel)).append("\n"); + sb.append(" factors: ").append(toIndentedString(factors)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckEmail.java b/src/main/java/com/plaid/client/model/RiskCheckEmail.java new file mode 100644 index 0000000000..37fe2e5b40 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckEmail.java @@ -0,0 +1,524 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RiskCheckEmailDomainIsCustom; +import com.plaid.client.model.RiskCheckEmailDomainIsDisposable; +import com.plaid.client.model.RiskCheckEmailDomainIsFreeProvider; +import com.plaid.client.model.RiskCheckEmailIncludesDateOfBirth; +import com.plaid.client.model.RiskCheckEmailIsDeliverableStatus; +import com.plaid.client.model.RiskCheckEmailIsEdu; +import com.plaid.client.model.RiskCheckEmailName; +import com.plaid.client.model.RiskCheckEmailTopLevelDomainIsSuspicious; +import com.plaid.client.model.RiskCheckLinkedService; +import com.plaid.client.model.RiskLevel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +/** + * Result summary object specifying values for `email` attributes of risk check. + */ +@ApiModel(description = "Result summary object specifying values for `email` attributes of risk check.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskCheckEmail { + public static final String SERIALIZED_NAME_IS_DELIVERABLE = "is_deliverable"; + @SerializedName(SERIALIZED_NAME_IS_DELIVERABLE) + private RiskCheckEmailIsDeliverableStatus isDeliverable; + + public static final String SERIALIZED_NAME_BREACH_COUNT = "breach_count"; + @SerializedName(SERIALIZED_NAME_BREACH_COUNT) + private Integer breachCount; + + public static final String SERIALIZED_NAME_FIRST_BREACHED_AT = "first_breached_at"; + @SerializedName(SERIALIZED_NAME_FIRST_BREACHED_AT) + private LocalDate firstBreachedAt; + + public static final String SERIALIZED_NAME_LAST_BREACHED_AT = "last_breached_at"; + @SerializedName(SERIALIZED_NAME_LAST_BREACHED_AT) + private LocalDate lastBreachedAt; + + public static final String SERIALIZED_NAME_DOMAIN_REGISTERED_AT = "domain_registered_at"; + @SerializedName(SERIALIZED_NAME_DOMAIN_REGISTERED_AT) + private LocalDate domainRegisteredAt; + + public static final String SERIALIZED_NAME_DOMAIN_IS_FREE_PROVIDER = "domain_is_free_provider"; + @SerializedName(SERIALIZED_NAME_DOMAIN_IS_FREE_PROVIDER) + private RiskCheckEmailDomainIsFreeProvider domainIsFreeProvider; + + public static final String SERIALIZED_NAME_DOMAIN_IS_CUSTOM = "domain_is_custom"; + @SerializedName(SERIALIZED_NAME_DOMAIN_IS_CUSTOM) + private RiskCheckEmailDomainIsCustom domainIsCustom; + + public static final String SERIALIZED_NAME_DOMAIN_IS_DISPOSABLE = "domain_is_disposable"; + @SerializedName(SERIALIZED_NAME_DOMAIN_IS_DISPOSABLE) + private RiskCheckEmailDomainIsDisposable domainIsDisposable; + + public static final String SERIALIZED_NAME_TOP_LEVEL_DOMAIN_IS_SUSPICIOUS = "top_level_domain_is_suspicious"; + @SerializedName(SERIALIZED_NAME_TOP_LEVEL_DOMAIN_IS_SUSPICIOUS) + private RiskCheckEmailTopLevelDomainIsSuspicious topLevelDomainIsSuspicious; + + public static final String SERIALIZED_NAME_IS_EDU = "is_edu"; + @SerializedName(SERIALIZED_NAME_IS_EDU) + private RiskCheckEmailIsEdu isEdu; + + public static final String SERIALIZED_NAME_INCLUDES_DATE_OF_BIRTH = "includes_date_of_birth"; + @SerializedName(SERIALIZED_NAME_INCLUDES_DATE_OF_BIRTH) + private RiskCheckEmailIncludesDateOfBirth includesDateOfBirth; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private RiskCheckEmailName name; + + public static final String SERIALIZED_NAME_LINKED_SERVICES = "linked_services"; + @SerializedName(SERIALIZED_NAME_LINKED_SERVICES) + private Set linkedServices = new LinkedHashSet<>(); + + public static final String SERIALIZED_NAME_RISK_LEVEL = "risk_level"; + @SerializedName(SERIALIZED_NAME_RISK_LEVEL) + private RiskLevel riskLevel; + + public static final String SERIALIZED_NAME_FACTORS = "factors"; + @SerializedName(SERIALIZED_NAME_FACTORS) + private List factors = null; + + + public RiskCheckEmail isDeliverable(RiskCheckEmailIsDeliverableStatus isDeliverable) { + + this.isDeliverable = isDeliverable; + return this; + } + + /** + * Get isDeliverable + * @return isDeliverable + **/ + @ApiModelProperty(required = true, value = "") + + public RiskCheckEmailIsDeliverableStatus getIsDeliverable() { + return isDeliverable; + } + + + public void setIsDeliverable(RiskCheckEmailIsDeliverableStatus isDeliverable) { + this.isDeliverable = isDeliverable; + } + + + public RiskCheckEmail breachCount(Integer breachCount) { + + this.breachCount = breachCount; + return this; + } + + /** + * Count of all known breaches of this email address if known. + * @return breachCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", required = true, value = "Count of all known breaches of this email address if known.") + + public Integer getBreachCount() { + return breachCount; + } + + + public void setBreachCount(Integer breachCount) { + this.breachCount = breachCount; + } + + + public RiskCheckEmail firstBreachedAt(LocalDate firstBreachedAt) { + + this.firstBreachedAt = firstBreachedAt; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return firstBreachedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getFirstBreachedAt() { + return firstBreachedAt; + } + + + public void setFirstBreachedAt(LocalDate firstBreachedAt) { + this.firstBreachedAt = firstBreachedAt; + } + + + public RiskCheckEmail lastBreachedAt(LocalDate lastBreachedAt) { + + this.lastBreachedAt = lastBreachedAt; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return lastBreachedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getLastBreachedAt() { + return lastBreachedAt; + } + + + public void setLastBreachedAt(LocalDate lastBreachedAt) { + this.lastBreachedAt = lastBreachedAt; + } + + + public RiskCheckEmail domainRegisteredAt(LocalDate domainRegisteredAt) { + + this.domainRegisteredAt = domainRegisteredAt; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return domainRegisteredAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getDomainRegisteredAt() { + return domainRegisteredAt; + } + + + public void setDomainRegisteredAt(LocalDate domainRegisteredAt) { + this.domainRegisteredAt = domainRegisteredAt; + } + + + public RiskCheckEmail domainIsFreeProvider(RiskCheckEmailDomainIsFreeProvider domainIsFreeProvider) { + + this.domainIsFreeProvider = domainIsFreeProvider; + return this; + } + + /** + * Get domainIsFreeProvider + * @return domainIsFreeProvider + **/ + @ApiModelProperty(required = true, value = "") + + public RiskCheckEmailDomainIsFreeProvider getDomainIsFreeProvider() { + return domainIsFreeProvider; + } + + + public void setDomainIsFreeProvider(RiskCheckEmailDomainIsFreeProvider domainIsFreeProvider) { + this.domainIsFreeProvider = domainIsFreeProvider; + } + + + public RiskCheckEmail domainIsCustom(RiskCheckEmailDomainIsCustom domainIsCustom) { + + this.domainIsCustom = domainIsCustom; + return this; + } + + /** + * Get domainIsCustom + * @return domainIsCustom + **/ + @ApiModelProperty(required = true, value = "") + + public RiskCheckEmailDomainIsCustom getDomainIsCustom() { + return domainIsCustom; + } + + + public void setDomainIsCustom(RiskCheckEmailDomainIsCustom domainIsCustom) { + this.domainIsCustom = domainIsCustom; + } + + + public RiskCheckEmail domainIsDisposable(RiskCheckEmailDomainIsDisposable domainIsDisposable) { + + this.domainIsDisposable = domainIsDisposable; + return this; + } + + /** + * Get domainIsDisposable + * @return domainIsDisposable + **/ + @ApiModelProperty(required = true, value = "") + + public RiskCheckEmailDomainIsDisposable getDomainIsDisposable() { + return domainIsDisposable; + } + + + public void setDomainIsDisposable(RiskCheckEmailDomainIsDisposable domainIsDisposable) { + this.domainIsDisposable = domainIsDisposable; + } + + + public RiskCheckEmail topLevelDomainIsSuspicious(RiskCheckEmailTopLevelDomainIsSuspicious topLevelDomainIsSuspicious) { + + this.topLevelDomainIsSuspicious = topLevelDomainIsSuspicious; + return this; + } + + /** + * Get topLevelDomainIsSuspicious + * @return topLevelDomainIsSuspicious + **/ + @ApiModelProperty(required = true, value = "") + + public RiskCheckEmailTopLevelDomainIsSuspicious getTopLevelDomainIsSuspicious() { + return topLevelDomainIsSuspicious; + } + + + public void setTopLevelDomainIsSuspicious(RiskCheckEmailTopLevelDomainIsSuspicious topLevelDomainIsSuspicious) { + this.topLevelDomainIsSuspicious = topLevelDomainIsSuspicious; + } + + + public RiskCheckEmail isEdu(RiskCheckEmailIsEdu isEdu) { + + this.isEdu = isEdu; + return this; + } + + /** + * Get isEdu + * @return isEdu + **/ + @ApiModelProperty(required = true, value = "") + + public RiskCheckEmailIsEdu getIsEdu() { + return isEdu; + } + + + public void setIsEdu(RiskCheckEmailIsEdu isEdu) { + this.isEdu = isEdu; + } + + + public RiskCheckEmail includesDateOfBirth(RiskCheckEmailIncludesDateOfBirth includesDateOfBirth) { + + this.includesDateOfBirth = includesDateOfBirth; + return this; + } + + /** + * Get includesDateOfBirth + * @return includesDateOfBirth + **/ + @ApiModelProperty(required = true, value = "") + + public RiskCheckEmailIncludesDateOfBirth getIncludesDateOfBirth() { + return includesDateOfBirth; + } + + + public void setIncludesDateOfBirth(RiskCheckEmailIncludesDateOfBirth includesDateOfBirth) { + this.includesDateOfBirth = includesDateOfBirth; + } + + + public RiskCheckEmail name(RiskCheckEmailName name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public RiskCheckEmailName getName() { + return name; + } + + + public void setName(RiskCheckEmailName name) { + this.name = name; + } + + + public RiskCheckEmail linkedServices(Set linkedServices) { + + this.linkedServices = linkedServices; + return this; + } + + public RiskCheckEmail addLinkedServicesItem(RiskCheckLinkedService linkedServicesItem) { + this.linkedServices.add(linkedServicesItem); + return this; + } + + /** + * A list of online services where this email address has been detected to have accounts or other activity. + * @return linkedServices + **/ + @ApiModelProperty(example = "[\"facebook\"]", required = true, value = "A list of online services where this email address has been detected to have accounts or other activity.") + + public Set getLinkedServices() { + return linkedServices; + } + + + public void setLinkedServices(Set linkedServices) { + this.linkedServices = linkedServices; + } + + + public RiskCheckEmail riskLevel(RiskLevel riskLevel) { + + this.riskLevel = riskLevel; + return this; + } + + /** + * Get riskLevel + * @return riskLevel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RiskLevel getRiskLevel() { + return riskLevel; + } + + + public void setRiskLevel(RiskLevel riskLevel) { + this.riskLevel = riskLevel; + } + + + public RiskCheckEmail factors(List factors) { + + this.factors = factors; + return this; + } + + public RiskCheckEmail addFactorsItem(String factorsItem) { + if (this.factors == null) { + this.factors = new ArrayList<>(); + } + this.factors.add(factorsItem); + return this; + } + + /** + * List of factors, when available, that contribute towards the risk level of the given risk check type. + * @return factors + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of factors, when available, that contribute towards the risk level of the given risk check type.") + + public List getFactors() { + return factors; + } + + + public void setFactors(List factors) { + this.factors = factors; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskCheckEmail riskCheckEmail = (RiskCheckEmail) o; + return Objects.equals(this.isDeliverable, riskCheckEmail.isDeliverable) && + Objects.equals(this.breachCount, riskCheckEmail.breachCount) && + Objects.equals(this.firstBreachedAt, riskCheckEmail.firstBreachedAt) && + Objects.equals(this.lastBreachedAt, riskCheckEmail.lastBreachedAt) && + Objects.equals(this.domainRegisteredAt, riskCheckEmail.domainRegisteredAt) && + Objects.equals(this.domainIsFreeProvider, riskCheckEmail.domainIsFreeProvider) && + Objects.equals(this.domainIsCustom, riskCheckEmail.domainIsCustom) && + Objects.equals(this.domainIsDisposable, riskCheckEmail.domainIsDisposable) && + Objects.equals(this.topLevelDomainIsSuspicious, riskCheckEmail.topLevelDomainIsSuspicious) && + Objects.equals(this.isEdu, riskCheckEmail.isEdu) && + Objects.equals(this.includesDateOfBirth, riskCheckEmail.includesDateOfBirth) && + Objects.equals(this.name, riskCheckEmail.name) && + Objects.equals(this.linkedServices, riskCheckEmail.linkedServices) && + Objects.equals(this.riskLevel, riskCheckEmail.riskLevel) && + Objects.equals(this.factors, riskCheckEmail.factors); + } + + @Override + public int hashCode() { + return Objects.hash(isDeliverable, breachCount, firstBreachedAt, lastBreachedAt, domainRegisteredAt, domainIsFreeProvider, domainIsCustom, domainIsDisposable, topLevelDomainIsSuspicious, isEdu, includesDateOfBirth, name, linkedServices, riskLevel, factors); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskCheckEmail {\n"); + sb.append(" isDeliverable: ").append(toIndentedString(isDeliverable)).append("\n"); + sb.append(" breachCount: ").append(toIndentedString(breachCount)).append("\n"); + sb.append(" firstBreachedAt: ").append(toIndentedString(firstBreachedAt)).append("\n"); + sb.append(" lastBreachedAt: ").append(toIndentedString(lastBreachedAt)).append("\n"); + sb.append(" domainRegisteredAt: ").append(toIndentedString(domainRegisteredAt)).append("\n"); + sb.append(" domainIsFreeProvider: ").append(toIndentedString(domainIsFreeProvider)).append("\n"); + sb.append(" domainIsCustom: ").append(toIndentedString(domainIsCustom)).append("\n"); + sb.append(" domainIsDisposable: ").append(toIndentedString(domainIsDisposable)).append("\n"); + sb.append(" topLevelDomainIsSuspicious: ").append(toIndentedString(topLevelDomainIsSuspicious)).append("\n"); + sb.append(" isEdu: ").append(toIndentedString(isEdu)).append("\n"); + sb.append(" includesDateOfBirth: ").append(toIndentedString(includesDateOfBirth)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" linkedServices: ").append(toIndentedString(linkedServices)).append("\n"); + sb.append(" riskLevel: ").append(toIndentedString(riskLevel)).append("\n"); + sb.append(" factors: ").append(toIndentedString(factors)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckEmailDomainIsCustom.java b/src/main/java/com/plaid/client/model/RiskCheckEmailDomainIsCustom.java new file mode 100644 index 0000000000..7674fff853 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckEmailDomainIsCustom.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates whether the email address domain is custom if known, i.e. a company domain and not free or disposable. + */ +@JsonAdapter(RiskCheckEmailDomainIsCustom.Adapter.class) +public enum RiskCheckEmailDomainIsCustom { + + YES("yes"), + + NO("no"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskCheckEmailDomainIsCustom(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskCheckEmailDomainIsCustom fromValue(String value) { + for (RiskCheckEmailDomainIsCustom b : RiskCheckEmailDomainIsCustom.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskCheckEmailDomainIsCustom.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskCheckEmailDomainIsCustom enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskCheckEmailDomainIsCustom read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskCheckEmailDomainIsCustom.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckEmailDomainIsDisposable.java b/src/main/java/com/plaid/client/model/RiskCheckEmailDomainIsDisposable.java new file mode 100644 index 0000000000..c1ed4c6a03 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckEmailDomainIsDisposable.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates whether the email domain is listed as disposable if known. Disposable domains are often used to create email addresses that are part of a fake set of user details. + */ +@JsonAdapter(RiskCheckEmailDomainIsDisposable.Adapter.class) +public enum RiskCheckEmailDomainIsDisposable { + + YES("yes"), + + NO("no"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskCheckEmailDomainIsDisposable(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskCheckEmailDomainIsDisposable fromValue(String value) { + for (RiskCheckEmailDomainIsDisposable b : RiskCheckEmailDomainIsDisposable.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskCheckEmailDomainIsDisposable.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskCheckEmailDomainIsDisposable enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskCheckEmailDomainIsDisposable read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskCheckEmailDomainIsDisposable.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckEmailDomainIsFreeProvider.java b/src/main/java/com/plaid/client/model/RiskCheckEmailDomainIsFreeProvider.java new file mode 100644 index 0000000000..a9c8843bc7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckEmailDomainIsFreeProvider.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates whether the email address domain is a free provider such as Gmail or Hotmail if known. + */ +@JsonAdapter(RiskCheckEmailDomainIsFreeProvider.Adapter.class) +public enum RiskCheckEmailDomainIsFreeProvider { + + YES("yes"), + + NO("no"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskCheckEmailDomainIsFreeProvider(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskCheckEmailDomainIsFreeProvider fromValue(String value) { + for (RiskCheckEmailDomainIsFreeProvider b : RiskCheckEmailDomainIsFreeProvider.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskCheckEmailDomainIsFreeProvider.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskCheckEmailDomainIsFreeProvider enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskCheckEmailDomainIsFreeProvider read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskCheckEmailDomainIsFreeProvider.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckEmailIncludesDateOfBirth.java b/src/main/java/com/plaid/client/model/RiskCheckEmailIncludesDateOfBirth.java new file mode 100644 index 0000000000..daa9a45290 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckEmailIncludesDateOfBirth.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates whether the email address includes the date of birth or year of birth if known. + */ +@JsonAdapter(RiskCheckEmailIncludesDateOfBirth.Adapter.class) +public enum RiskCheckEmailIncludesDateOfBirth { + + YES("yes"), + + NO("no"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskCheckEmailIncludesDateOfBirth(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskCheckEmailIncludesDateOfBirth fromValue(String value) { + for (RiskCheckEmailIncludesDateOfBirth b : RiskCheckEmailIncludesDateOfBirth.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskCheckEmailIncludesDateOfBirth.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskCheckEmailIncludesDateOfBirth enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskCheckEmailIncludesDateOfBirth read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskCheckEmailIncludesDateOfBirth.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckEmailIsDeliverableStatus.java b/src/main/java/com/plaid/client/model/RiskCheckEmailIsDeliverableStatus.java new file mode 100644 index 0000000000..c71b6f6ef0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckEmailIsDeliverableStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * SMTP-MX check to confirm the email address exists if known. + */ +@JsonAdapter(RiskCheckEmailIsDeliverableStatus.Adapter.class) +public enum RiskCheckEmailIsDeliverableStatus { + + YES("yes"), + + NO("no"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskCheckEmailIsDeliverableStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskCheckEmailIsDeliverableStatus fromValue(String value) { + for (RiskCheckEmailIsDeliverableStatus b : RiskCheckEmailIsDeliverableStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskCheckEmailIsDeliverableStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskCheckEmailIsDeliverableStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskCheckEmailIsDeliverableStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskCheckEmailIsDeliverableStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckEmailIsEdu.java b/src/main/java/com/plaid/client/model/RiskCheckEmailIsEdu.java new file mode 100644 index 0000000000..d3133a02ff --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckEmailIsEdu.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates whether the email address domain is an educational institution domain if known. + */ +@JsonAdapter(RiskCheckEmailIsEdu.Adapter.class) +public enum RiskCheckEmailIsEdu { + + YES("yes"), + + NO("no"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskCheckEmailIsEdu(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskCheckEmailIsEdu fromValue(String value) { + for (RiskCheckEmailIsEdu b : RiskCheckEmailIsEdu.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskCheckEmailIsEdu.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskCheckEmailIsEdu enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskCheckEmailIsEdu read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskCheckEmailIsEdu.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckEmailName.java b/src/main/java/com/plaid/client/model/RiskCheckEmailName.java new file mode 100644 index 0000000000..aa4905d6ea --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckEmailName.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates whether the provided name matches the email address according to the KYC name-matches-email inference result if known. `match` - \"The email's name identifiers match the user's name.\" `partial_match` - \"The email's name identifiers partially match the user's name.\" `no_match` - \"The email's name identifiers do not match the user's name.\" `indeterminate` - \"The email does not contain any name identifiers, and a match could not be determined.\" `no_input` - \"The user's profile does not contain the required user inputs to determine a match.\" `no_data` - \"Field could not be verified against available sources.\" + */ +@JsonAdapter(RiskCheckEmailName.Adapter.class) +public enum RiskCheckEmailName { + + NO_INPUT("no_input"), + + INDETERMINATE("indeterminate"), + + NO_MATCH("no_match"), + + PARTIAL_MATCH("partial_match"), + + MATCH("match"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskCheckEmailName(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskCheckEmailName fromValue(String value) { + for (RiskCheckEmailName b : RiskCheckEmailName.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskCheckEmailName.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskCheckEmailName enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskCheckEmailName read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskCheckEmailName.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckEmailTopLevelDomainIsSuspicious.java b/src/main/java/com/plaid/client/model/RiskCheckEmailTopLevelDomainIsSuspicious.java new file mode 100644 index 0000000000..767ee15bc1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckEmailTopLevelDomainIsSuspicious.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates whether the email address top level domain, which is the last part of the domain, is fraudulent or risky if known. In most cases, a suspicious top level domain is also associated with a disposable or high-risk domain. + */ +@JsonAdapter(RiskCheckEmailTopLevelDomainIsSuspicious.Adapter.class) +public enum RiskCheckEmailTopLevelDomainIsSuspicious { + + YES("yes"), + + NO("no"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskCheckEmailTopLevelDomainIsSuspicious(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskCheckEmailTopLevelDomainIsSuspicious fromValue(String value) { + for (RiskCheckEmailTopLevelDomainIsSuspicious b : RiskCheckEmailTopLevelDomainIsSuspicious.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskCheckEmailTopLevelDomainIsSuspicious.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskCheckEmailTopLevelDomainIsSuspicious enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskCheckEmailTopLevelDomainIsSuspicious read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskCheckEmailTopLevelDomainIsSuspicious.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckFacialDuplicate.java b/src/main/java/com/plaid/client/model/RiskCheckFacialDuplicate.java new file mode 100644 index 0000000000..4b9fb544d6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckFacialDuplicate.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Result summary object specifying values for the `facial_duplicates` attributes of risk check. + */ +@ApiModel(description = "Result summary object specifying values for the `facial_duplicates` attributes of risk check.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskCheckFacialDuplicate { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_SIMILARITY = "similarity"; + @SerializedName(SERIALIZED_NAME_SIMILARITY) + private Integer similarity; + + public static final String SERIALIZED_NAME_MATCHED_AFTER_COMPLETED = "matched_after_completed"; + @SerializedName(SERIALIZED_NAME_MATCHED_AFTER_COMPLETED) + private Boolean matchedAfterCompleted; + + + public RiskCheckFacialDuplicate id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated Identity Verification attempt. + * @return id + **/ + @ApiModelProperty(example = "idv_52xR9LKo77r1Np", required = true, value = "ID of the associated Identity Verification attempt.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public RiskCheckFacialDuplicate similarity(Integer similarity) { + + this.similarity = similarity; + return this; + } + + /** + * Similarity score of the match. Ranges from 0 to 100. + * @return similarity + **/ + @ApiModelProperty(example = "95", required = true, value = "Similarity score of the match. Ranges from 0 to 100.") + + public Integer getSimilarity() { + return similarity; + } + + + public void setSimilarity(Integer similarity) { + this.similarity = similarity; + } + + + public RiskCheckFacialDuplicate matchedAfterCompleted(Boolean matchedAfterCompleted) { + + this.matchedAfterCompleted = matchedAfterCompleted; + return this; + } + + /** + * Whether this match occurred after the session was complete. For example, this would be `true` if a later session ended up matching this one. + * @return matchedAfterCompleted + **/ + @ApiModelProperty(example = "true", required = true, value = "Whether this match occurred after the session was complete. For example, this would be `true` if a later session ended up matching this one.") + + public Boolean getMatchedAfterCompleted() { + return matchedAfterCompleted; + } + + + public void setMatchedAfterCompleted(Boolean matchedAfterCompleted) { + this.matchedAfterCompleted = matchedAfterCompleted; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskCheckFacialDuplicate riskCheckFacialDuplicate = (RiskCheckFacialDuplicate) o; + return Objects.equals(this.id, riskCheckFacialDuplicate.id) && + Objects.equals(this.similarity, riskCheckFacialDuplicate.similarity) && + Objects.equals(this.matchedAfterCompleted, riskCheckFacialDuplicate.matchedAfterCompleted); + } + + @Override + public int hashCode() { + return Objects.hash(id, similarity, matchedAfterCompleted); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskCheckFacialDuplicate {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" similarity: ").append(toIndentedString(similarity)).append("\n"); + sb.append(" matchedAfterCompleted: ").append(toIndentedString(matchedAfterCompleted)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckIdentityAbuseSignals.java b/src/main/java/com/plaid/client/model/RiskCheckIdentityAbuseSignals.java new file mode 100644 index 0000000000..3e184986d3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckIdentityAbuseSignals.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RiskCheckStolenIdentity; +import com.plaid.client.model.RiskCheckSyntheticIdentity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Result summary object capturing abuse signals related to `identity abuse`, e.g. stolen and synthetic identity fraud. These attributes are only available for US identities and some signals may not be available depending on what information was collected. + */ +@ApiModel(description = "Result summary object capturing abuse signals related to `identity abuse`, e.g. stolen and synthetic identity fraud. These attributes are only available for US identities and some signals may not be available depending on what information was collected.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskCheckIdentityAbuseSignals { + public static final String SERIALIZED_NAME_SYNTHETIC_IDENTITY = "synthetic_identity"; + @SerializedName(SERIALIZED_NAME_SYNTHETIC_IDENTITY) + private RiskCheckSyntheticIdentity syntheticIdentity; + + public static final String SERIALIZED_NAME_STOLEN_IDENTITY = "stolen_identity"; + @SerializedName(SERIALIZED_NAME_STOLEN_IDENTITY) + private RiskCheckStolenIdentity stolenIdentity; + + + public RiskCheckIdentityAbuseSignals syntheticIdentity(RiskCheckSyntheticIdentity syntheticIdentity) { + + this.syntheticIdentity = syntheticIdentity; + return this; + } + + /** + * Get syntheticIdentity + * @return syntheticIdentity + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public RiskCheckSyntheticIdentity getSyntheticIdentity() { + return syntheticIdentity; + } + + + public void setSyntheticIdentity(RiskCheckSyntheticIdentity syntheticIdentity) { + this.syntheticIdentity = syntheticIdentity; + } + + + public RiskCheckIdentityAbuseSignals stolenIdentity(RiskCheckStolenIdentity stolenIdentity) { + + this.stolenIdentity = stolenIdentity; + return this; + } + + /** + * Get stolenIdentity + * @return stolenIdentity + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public RiskCheckStolenIdentity getStolenIdentity() { + return stolenIdentity; + } + + + public void setStolenIdentity(RiskCheckStolenIdentity stolenIdentity) { + this.stolenIdentity = stolenIdentity; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskCheckIdentityAbuseSignals riskCheckIdentityAbuseSignals = (RiskCheckIdentityAbuseSignals) o; + return Objects.equals(this.syntheticIdentity, riskCheckIdentityAbuseSignals.syntheticIdentity) && + Objects.equals(this.stolenIdentity, riskCheckIdentityAbuseSignals.stolenIdentity); + } + + @Override + public int hashCode() { + return Objects.hash(syntheticIdentity, stolenIdentity); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskCheckIdentityAbuseSignals {\n"); + sb.append(" syntheticIdentity: ").append(toIndentedString(syntheticIdentity)).append("\n"); + sb.append(" stolenIdentity: ").append(toIndentedString(stolenIdentity)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckLinkedService.java b/src/main/java/com/plaid/client/model/RiskCheckLinkedService.java new file mode 100644 index 0000000000..6eadf7f5cd --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckLinkedService.java @@ -0,0 +1,255 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An enum indicating the type of a linked service. Note that `adult_sites` refers to explicit video content, and includes a number of related services. + */ +@JsonAdapter(RiskCheckLinkedService.Adapter.class) +public enum RiskCheckLinkedService { + + ABOUTME("aboutme"), + + ADOBE("adobe"), + + ADULT_SITES("adult_sites"), + + AIRBNB("airbnb"), + + ALTBALAJI("altbalaji"), + + AMAZON("amazon"), + + APPLE("apple"), + + ARCHIVEORG("archiveorg"), + + ATLASSIAN("atlassian"), + + BITMOJI("bitmoji"), + + BODYBUILDING("bodybuilding"), + + BOOKING("booking"), + + BUKALAPAK("bukalapak"), + + CODECADEMY("codecademy"), + + DELIVEROO("deliveroo"), + + DIIGO("diigo"), + + DISCORD("discord"), + + DISNEYPLUS("disneyplus"), + + DUOLINGO("duolingo"), + + EBAY("ebay"), + + ENVATO("envato"), + + EVENTBRITE("eventbrite"), + + EVERNOTE("evernote"), + + FACEBOOK("facebook"), + + FIREFOX("firefox"), + + FLICKR("flickr"), + + FLIPKART("flipkart"), + + FOURSQUARE("foursquare"), + + FREELANCER("freelancer"), + + GAANA("gaana"), + + GIPHY("giphy"), + + GITHUB("github"), + + GOOGLE("google"), + + GRAVATAR("gravatar"), + + HUBSPOT("hubspot"), + + IMGUR("imgur"), + + INSTAGRAM("instagram"), + + JDID("jdid"), + + KAKAO("kakao"), + + KOMMO("kommo"), + + KOMOOT("komoot"), + + LASTFM("lastfm"), + + LAZADA("lazada"), + + LINE("line"), + + LINKEDIN("linkedin"), + + MAILRU("mailru"), + + MICROSOFT("microsoft"), + + MYSPACE("myspace"), + + NETFLIX("netflix"), + + NIKE("nike"), + + OK("ok"), + + PATREON("patreon"), + + PINTEREST("pinterest"), + + PLURK("plurk"), + + QUORA("quora"), + + QZONE("qzone"), + + RAMBLER("rambler"), + + RAPPI("rappi"), + + REPLIT("replit"), + + SAMSUNG("samsung"), + + SEOCLERKS("seoclerks"), + + SHOPCLUES("shopclues"), + + SKYPE("skype"), + + SNAPCHAT("snapchat"), + + SNAPDEAL("snapdeal"), + + SOUNDCLOUD("soundcloud"), + + SPOTIFY("spotify"), + + STARZ("starz"), + + STRAVA("strava"), + + TARINGA("taringa"), + + TELEGRAM("telegram"), + + TIKI("tiki"), + + TOKOPEDIA("tokopedia"), + + TREEHOUSE("treehouse"), + + TUMBLR("tumblr"), + + TWITTER("twitter"), + + VENMO("venmo"), + + VIBER("viber"), + + VIMEO("vimeo"), + + VIVINO("vivino"), + + VKONTAKTE("vkontakte"), + + WATTPAD("wattpad"), + + WEIBO("weibo"), + + WHATSAPP("whatsapp"), + + WORDPRESS("wordpress"), + + XING("xing"), + + YAHOO("yahoo"), + + YANDEX("yandex"), + + ZALO("zalo"), + + ZOHO("zoho"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskCheckLinkedService(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskCheckLinkedService fromValue(String value) { + for (RiskCheckLinkedService b : RiskCheckLinkedService.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskCheckLinkedService.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskCheckLinkedService enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskCheckLinkedService read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskCheckLinkedService.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckNetwork.java b/src/main/java/com/plaid/client/model/RiskCheckNetwork.java new file mode 100644 index 0000000000..cf8b645ccf --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckNetwork.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RiskLevel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Result summary object specifying values for network attributes of risk check. + */ +@ApiModel(description = "Result summary object specifying values for network attributes of risk check.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskCheckNetwork { + public static final String SERIALIZED_NAME_RISK_LEVEL = "risk_level"; + @SerializedName(SERIALIZED_NAME_RISK_LEVEL) + private RiskLevel riskLevel; + + public static final String SERIALIZED_NAME_FACTORS = "factors"; + @SerializedName(SERIALIZED_NAME_FACTORS) + private List factors = new ArrayList<>(); + + + public RiskCheckNetwork riskLevel(RiskLevel riskLevel) { + + this.riskLevel = riskLevel; + return this; + } + + /** + * Get riskLevel + * @return riskLevel + **/ + @ApiModelProperty(required = true, value = "") + + public RiskLevel getRiskLevel() { + return riskLevel; + } + + + public void setRiskLevel(RiskLevel riskLevel) { + this.riskLevel = riskLevel; + } + + + public RiskCheckNetwork factors(List factors) { + + this.factors = factors; + return this; + } + + public RiskCheckNetwork addFactorsItem(String factorsItem) { + this.factors.add(factorsItem); + return this; + } + + /** + * List of factors, when available, that contribute towards the risk level of the given risk check type. + * @return factors + **/ + @ApiModelProperty(required = true, value = "List of factors, when available, that contribute towards the risk level of the given risk check type.") + + public List getFactors() { + return factors; + } + + + public void setFactors(List factors) { + this.factors = factors; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskCheckNetwork riskCheckNetwork = (RiskCheckNetwork) o; + return Objects.equals(this.riskLevel, riskCheckNetwork.riskLevel) && + Objects.equals(this.factors, riskCheckNetwork.factors); + } + + @Override + public int hashCode() { + return Objects.hash(riskLevel, factors); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskCheckNetwork {\n"); + sb.append(" riskLevel: ").append(toIndentedString(riskLevel)).append("\n"); + sb.append(" factors: ").append(toIndentedString(factors)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckPhone.java b/src/main/java/com/plaid/client/model/RiskCheckPhone.java new file mode 100644 index 0000000000..f4de6b3c78 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckPhone.java @@ -0,0 +1,175 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RiskCheckLinkedService; +import com.plaid.client.model.RiskLevel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +/** + * Result summary object specifying values for `phone` attributes of risk check. + */ +@ApiModel(description = "Result summary object specifying values for `phone` attributes of risk check.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskCheckPhone { + public static final String SERIALIZED_NAME_LINKED_SERVICES = "linked_services"; + @SerializedName(SERIALIZED_NAME_LINKED_SERVICES) + private Set linkedServices = new LinkedHashSet<>(); + + public static final String SERIALIZED_NAME_RISK_LEVEL = "risk_level"; + @SerializedName(SERIALIZED_NAME_RISK_LEVEL) + private RiskLevel riskLevel; + + public static final String SERIALIZED_NAME_FACTORS = "factors"; + @SerializedName(SERIALIZED_NAME_FACTORS) + private List factors = null; + + + public RiskCheckPhone linkedServices(Set linkedServices) { + + this.linkedServices = linkedServices; + return this; + } + + public RiskCheckPhone addLinkedServicesItem(RiskCheckLinkedService linkedServicesItem) { + this.linkedServices.add(linkedServicesItem); + return this; + } + + /** + * A list of online services where this phone number has been detected to have accounts or other activity. + * @return linkedServices + **/ + @ApiModelProperty(example = "[\"facebook\"]", required = true, value = "A list of online services where this phone number has been detected to have accounts or other activity.") + + public Set getLinkedServices() { + return linkedServices; + } + + + public void setLinkedServices(Set linkedServices) { + this.linkedServices = linkedServices; + } + + + public RiskCheckPhone riskLevel(RiskLevel riskLevel) { + + this.riskLevel = riskLevel; + return this; + } + + /** + * Get riskLevel + * @return riskLevel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RiskLevel getRiskLevel() { + return riskLevel; + } + + + public void setRiskLevel(RiskLevel riskLevel) { + this.riskLevel = riskLevel; + } + + + public RiskCheckPhone factors(List factors) { + + this.factors = factors; + return this; + } + + public RiskCheckPhone addFactorsItem(String factorsItem) { + if (this.factors == null) { + this.factors = new ArrayList<>(); + } + this.factors.add(factorsItem); + return this; + } + + /** + * List of factors, when available, that contribute towards the risk level of the given risk check type. + * @return factors + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of factors, when available, that contribute towards the risk level of the given risk check type.") + + public List getFactors() { + return factors; + } + + + public void setFactors(List factors) { + this.factors = factors; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskCheckPhone riskCheckPhone = (RiskCheckPhone) o; + return Objects.equals(this.linkedServices, riskCheckPhone.linkedServices) && + Objects.equals(this.riskLevel, riskCheckPhone.riskLevel) && + Objects.equals(this.factors, riskCheckPhone.factors); + } + + @Override + public int hashCode() { + return Objects.hash(linkedServices, riskLevel, factors); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskCheckPhone {\n"); + sb.append(" linkedServices: ").append(toIndentedString(linkedServices)).append("\n"); + sb.append(" riskLevel: ").append(toIndentedString(riskLevel)).append("\n"); + sb.append(" factors: ").append(toIndentedString(factors)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckStolenIdentity.java b/src/main/java/com/plaid/client/model/RiskCheckStolenIdentity.java new file mode 100644 index 0000000000..9f1124b48f --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckStolenIdentity.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RiskLevel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Field containing the data used in determining the outcome of the stolen identity risk check. Contains the following fields: `score` - A score from 0 to 100 indicating the likelihood that the user is a stolen identity. + */ +@ApiModel(description = "Field containing the data used in determining the outcome of the stolen identity risk check. Contains the following fields: `score` - A score from 0 to 100 indicating the likelihood that the user is a stolen identity.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskCheckStolenIdentity { + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_RISK_LEVEL = "risk_level"; + @SerializedName(SERIALIZED_NAME_RISK_LEVEL) + private RiskLevel riskLevel; + + + public RiskCheckStolenIdentity score(Integer score) { + + this.score = score; + return this; + } + + /** + * A score from 0 to 100 indicating the likelihood that the user is a stolen identity. + * @return score + **/ + @ApiModelProperty(example = "0", required = true, value = "A score from 0 to 100 indicating the likelihood that the user is a stolen identity.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public RiskCheckStolenIdentity riskLevel(RiskLevel riskLevel) { + + this.riskLevel = riskLevel; + return this; + } + + /** + * Get riskLevel + * @return riskLevel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RiskLevel getRiskLevel() { + return riskLevel; + } + + + public void setRiskLevel(RiskLevel riskLevel) { + this.riskLevel = riskLevel; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskCheckStolenIdentity riskCheckStolenIdentity = (RiskCheckStolenIdentity) o; + return Objects.equals(this.score, riskCheckStolenIdentity.score) && + Objects.equals(this.riskLevel, riskCheckStolenIdentity.riskLevel); + } + + @Override + public int hashCode() { + return Objects.hash(score, riskLevel); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskCheckStolenIdentity {\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" riskLevel: ").append(toIndentedString(riskLevel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskCheckSyntheticIdentity.java b/src/main/java/com/plaid/client/model/RiskCheckSyntheticIdentity.java new file mode 100644 index 0000000000..47de8b06b8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskCheckSyntheticIdentity.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RiskLevel; +import com.plaid.client.model.SyntheticFraud; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Field containing the data used in determining the outcome of the synthetic identity risk check. Contains the following fields: `score` - A score from 0 to 100 indicating the likelihood that the user is a synthetic identity. + */ +@ApiModel(description = "Field containing the data used in determining the outcome of the synthetic identity risk check. Contains the following fields: `score` - A score from 0 to 100 indicating the likelihood that the user is a synthetic identity.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskCheckSyntheticIdentity { + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_RISK_LEVEL = "risk_level"; + @SerializedName(SERIALIZED_NAME_RISK_LEVEL) + private RiskLevel riskLevel; + + public static final String SERIALIZED_NAME_FIRST_PARTY_SYNTHETIC_FRAUD = "first_party_synthetic_fraud"; + @SerializedName(SERIALIZED_NAME_FIRST_PARTY_SYNTHETIC_FRAUD) + private SyntheticFraud firstPartySyntheticFraud; + + public static final String SERIALIZED_NAME_THIRD_PARTY_SYNTHETIC_FRAUD = "third_party_synthetic_fraud"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_SYNTHETIC_FRAUD) + private SyntheticFraud thirdPartySyntheticFraud; + + + public RiskCheckSyntheticIdentity score(Integer score) { + + this.score = score; + return this; + } + + /** + * A score from 0 to 100 indicating the likelihood that the user is a synthetic identity. + * @return score + **/ + @ApiModelProperty(example = "0", required = true, value = "A score from 0 to 100 indicating the likelihood that the user is a synthetic identity.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public RiskCheckSyntheticIdentity riskLevel(RiskLevel riskLevel) { + + this.riskLevel = riskLevel; + return this; + } + + /** + * Get riskLevel + * @return riskLevel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RiskLevel getRiskLevel() { + return riskLevel; + } + + + public void setRiskLevel(RiskLevel riskLevel) { + this.riskLevel = riskLevel; + } + + + public RiskCheckSyntheticIdentity firstPartySyntheticFraud(SyntheticFraud firstPartySyntheticFraud) { + + this.firstPartySyntheticFraud = firstPartySyntheticFraud; + return this; + } + + /** + * Get firstPartySyntheticFraud + * @return firstPartySyntheticFraud + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SyntheticFraud getFirstPartySyntheticFraud() { + return firstPartySyntheticFraud; + } + + + public void setFirstPartySyntheticFraud(SyntheticFraud firstPartySyntheticFraud) { + this.firstPartySyntheticFraud = firstPartySyntheticFraud; + } + + + public RiskCheckSyntheticIdentity thirdPartySyntheticFraud(SyntheticFraud thirdPartySyntheticFraud) { + + this.thirdPartySyntheticFraud = thirdPartySyntheticFraud; + return this; + } + + /** + * Get thirdPartySyntheticFraud + * @return thirdPartySyntheticFraud + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SyntheticFraud getThirdPartySyntheticFraud() { + return thirdPartySyntheticFraud; + } + + + public void setThirdPartySyntheticFraud(SyntheticFraud thirdPartySyntheticFraud) { + this.thirdPartySyntheticFraud = thirdPartySyntheticFraud; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskCheckSyntheticIdentity riskCheckSyntheticIdentity = (RiskCheckSyntheticIdentity) o; + return Objects.equals(this.score, riskCheckSyntheticIdentity.score) && + Objects.equals(this.riskLevel, riskCheckSyntheticIdentity.riskLevel) && + Objects.equals(this.firstPartySyntheticFraud, riskCheckSyntheticIdentity.firstPartySyntheticFraud) && + Objects.equals(this.thirdPartySyntheticFraud, riskCheckSyntheticIdentity.thirdPartySyntheticFraud); + } + + @Override + public int hashCode() { + return Objects.hash(score, riskLevel, firstPartySyntheticFraud, thirdPartySyntheticFraud); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskCheckSyntheticIdentity {\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" riskLevel: ").append(toIndentedString(riskLevel)).append("\n"); + sb.append(" firstPartySyntheticFraud: ").append(toIndentedString(firstPartySyntheticFraud)).append("\n"); + sb.append(" thirdPartySyntheticFraud: ").append(toIndentedString(thirdPartySyntheticFraud)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskIndicators.java b/src/main/java/com/plaid/client/model/RiskIndicators.java new file mode 100644 index 0000000000..982689e025 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskIndicators.java @@ -0,0 +1,220 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankPenaltiesIndicators; +import com.plaid.client.model.GamblingIndicators; +import com.plaid.client.model.LoanDisbursementsIndicators; +import com.plaid.client.model.LoanPaymentsIndicators; +import com.plaid.client.model.NegativeBalanceInsights; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Risk indicators focus on providing signal on the possibility of a borrower defaulting on their loan repayments by providing data points related to its payment behavior, debt, and other relevant financial information, helping lenders gauge the level of risk involved in a certain operation. + */ +@ApiModel(description = "Risk indicators focus on providing signal on the possibility of a borrower defaulting on their loan repayments by providing data points related to its payment behavior, debt, and other relevant financial information, helping lenders gauge the level of risk involved in a certain operation.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskIndicators { + public static final String SERIALIZED_NAME_BANK_PENALTIES = "bank_penalties"; + @SerializedName(SERIALIZED_NAME_BANK_PENALTIES) + private BankPenaltiesIndicators bankPenalties; + + public static final String SERIALIZED_NAME_GAMBLING = "gambling"; + @SerializedName(SERIALIZED_NAME_GAMBLING) + private GamblingIndicators gambling; + + public static final String SERIALIZED_NAME_LOAN_DISBURSEMENTS = "loan_disbursements"; + @SerializedName(SERIALIZED_NAME_LOAN_DISBURSEMENTS) + private LoanDisbursementsIndicators loanDisbursements; + + public static final String SERIALIZED_NAME_LOAN_PAYMENTS = "loan_payments"; + @SerializedName(SERIALIZED_NAME_LOAN_PAYMENTS) + private LoanPaymentsIndicators loanPayments; + + public static final String SERIALIZED_NAME_NEGATIVE_BALANCE = "negative_balance"; + @SerializedName(SERIALIZED_NAME_NEGATIVE_BALANCE) + private NegativeBalanceInsights negativeBalance; + + + public RiskIndicators bankPenalties(BankPenaltiesIndicators bankPenalties) { + + this.bankPenalties = bankPenalties; + return this; + } + + /** + * Get bankPenalties + * @return bankPenalties + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BankPenaltiesIndicators getBankPenalties() { + return bankPenalties; + } + + + public void setBankPenalties(BankPenaltiesIndicators bankPenalties) { + this.bankPenalties = bankPenalties; + } + + + public RiskIndicators gambling(GamblingIndicators gambling) { + + this.gambling = gambling; + return this; + } + + /** + * Get gambling + * @return gambling + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public GamblingIndicators getGambling() { + return gambling; + } + + + public void setGambling(GamblingIndicators gambling) { + this.gambling = gambling; + } + + + public RiskIndicators loanDisbursements(LoanDisbursementsIndicators loanDisbursements) { + + this.loanDisbursements = loanDisbursements; + return this; + } + + /** + * Get loanDisbursements + * @return loanDisbursements + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LoanDisbursementsIndicators getLoanDisbursements() { + return loanDisbursements; + } + + + public void setLoanDisbursements(LoanDisbursementsIndicators loanDisbursements) { + this.loanDisbursements = loanDisbursements; + } + + + public RiskIndicators loanPayments(LoanPaymentsIndicators loanPayments) { + + this.loanPayments = loanPayments; + return this; + } + + /** + * Get loanPayments + * @return loanPayments + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LoanPaymentsIndicators getLoanPayments() { + return loanPayments; + } + + + public void setLoanPayments(LoanPaymentsIndicators loanPayments) { + this.loanPayments = loanPayments; + } + + + public RiskIndicators negativeBalance(NegativeBalanceInsights negativeBalance) { + + this.negativeBalance = negativeBalance; + return this; + } + + /** + * Get negativeBalance + * @return negativeBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NegativeBalanceInsights getNegativeBalance() { + return negativeBalance; + } + + + public void setNegativeBalance(NegativeBalanceInsights negativeBalance) { + this.negativeBalance = negativeBalance; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskIndicators riskIndicators = (RiskIndicators) o; + return Objects.equals(this.bankPenalties, riskIndicators.bankPenalties) && + Objects.equals(this.gambling, riskIndicators.gambling) && + Objects.equals(this.loanDisbursements, riskIndicators.loanDisbursements) && + Objects.equals(this.loanPayments, riskIndicators.loanPayments) && + Objects.equals(this.negativeBalance, riskIndicators.negativeBalance); + } + + @Override + public int hashCode() { + return Objects.hash(bankPenalties, gambling, loanDisbursements, loanPayments, negativeBalance); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskIndicators {\n"); + sb.append(" bankPenalties: ").append(toIndentedString(bankPenalties)).append("\n"); + sb.append(" gambling: ").append(toIndentedString(gambling)).append("\n"); + sb.append(" loanDisbursements: ").append(toIndentedString(loanDisbursements)).append("\n"); + sb.append(" loanPayments: ").append(toIndentedString(loanPayments)).append("\n"); + sb.append(" negativeBalance: ").append(toIndentedString(negativeBalance)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskLevel.java b/src/main/java/com/plaid/client/model/RiskLevel.java new file mode 100644 index 0000000000..21dea5278e --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskLevel.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Risk level for the given risk check type. + */ +@JsonAdapter(RiskLevel.Adapter.class) +public enum RiskLevel { + + LOW("low"), + + MEDIUM("medium"), + + HIGH("high"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskLevel(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskLevel fromValue(String value) { + for (RiskLevel b : RiskLevel.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskLevel.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskLevel enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskLevel read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskLevel.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskLevelWithNoData.java b/src/main/java/com/plaid/client/model/RiskLevelWithNoData.java new file mode 100644 index 0000000000..cbe0fed93b --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskLevelWithNoData.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Risk level for the given risk check type, when available. + */ +@JsonAdapter(RiskLevelWithNoData.Adapter.class) +public enum RiskLevelWithNoData { + + LOW("low"), + + MEDIUM("medium"), + + HIGH("high"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskLevelWithNoData(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskLevelWithNoData fromValue(String value) { + for (RiskLevelWithNoData b : RiskLevelWithNoData.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskLevelWithNoData.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskLevelWithNoData enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskLevelWithNoData read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskLevelWithNoData.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskProfile.java b/src/main/java/com/plaid/client/model/RiskProfile.java new file mode 100644 index 0000000000..92404b4b52 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskProfile.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * RiskProfile is deprecated, use `ruleset` instead. + */ +@ApiModel(description = "RiskProfile is deprecated, use `ruleset` instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskProfile { + public static final String SERIALIZED_NAME_KEY = "key"; + @SerializedName(SERIALIZED_NAME_KEY) + private String key; + + public static final String SERIALIZED_NAME_OUTCOME = "outcome"; + @SerializedName(SERIALIZED_NAME_OUTCOME) + private String outcome; + + + public RiskProfile key(String key) { + + this.key = key; + return this; + } + + /** + * The key of the risk profile used for this transaction. + * @return key + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The key of the risk profile used for this transaction.") + + public String getKey() { + return key; + } + + + public void setKey(String key) { + this.key = key; + } + + + public RiskProfile outcome(String outcome) { + + this.outcome = outcome; + return this; + } + + /** + * Legacy method of inspecting the result of the ruleset. New integrations should simply use the \"result\" property instead. This value will be omitted if you do not have a live existing integration with rules using this field. + * @return outcome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Legacy method of inspecting the result of the ruleset. New integrations should simply use the \"result\" property instead. This value will be omitted if you do not have a live existing integration with rules using this field.") + + public String getOutcome() { + return outcome; + } + + + public void setOutcome(String outcome) { + this.outcome = outcome; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskProfile riskProfile = (RiskProfile) o; + return Objects.equals(this.key, riskProfile.key) && + Objects.equals(this.outcome, riskProfile.outcome); + } + + @Override + public int hashCode() { + return Objects.hash(key, outcome); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskProfile {\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" outcome: ").append(toIndentedString(outcome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskReason.java b/src/main/java/com/plaid/client/model/RiskReason.java new file mode 100644 index 0000000000..d58f494e34 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskReason.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * This object includes a code and description to describe medium risk transactions and above on `/accounts/balance/get`. + */ +@ApiModel(description = "This object includes a code and description to describe medium risk transactions and above on `/accounts/balance/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskReason { + public static final String SERIALIZED_NAME_CODE = "code"; + @SerializedName(SERIALIZED_NAME_CODE) + private String code; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + + public RiskReason code(String code) { + + this.code = code; + return this; + } + + /** + * A code that represents the type of risk associated with the proposed transaction. The codes are from PL01 to PL08 and from BK01 to BK07. For a full listing of risk reason codes, see [Risk codes](https://plaid.com/docs/balance/balance-plus/#risk-codes). + * @return code + **/ + @ApiModelProperty(required = true, value = "A code that represents the type of risk associated with the proposed transaction. The codes are from PL01 to PL08 and from BK01 to BK07. For a full listing of risk reason codes, see [Risk codes](https://plaid.com/docs/balance/balance-plus/#risk-codes).") + + public String getCode() { + return code; + } + + + public void setCode(String code) { + this.code = code; + } + + + public RiskReason description(String description) { + + this.description = description; + return this; + } + + /** + * A human-readable description explaining the risk code associated with the proposed transaction and some recommended actions. This field is subject to change; any programmatic logic should be based on the `code` field instead. + * @return description + **/ + @ApiModelProperty(required = true, value = "A human-readable description explaining the risk code associated with the proposed transaction and some recommended actions. This field is subject to change; any programmatic logic should be based on the `code` field instead.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskReason riskReason = (RiskReason) o; + return Objects.equals(this.code, riskReason.code) && + Objects.equals(this.description, riskReason.description); + } + + @Override + public int hashCode() { + return Objects.hash(code, description); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskReason {\n"); + sb.append(" code: ").append(toIndentedString(code)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskSignalDocumentReference.java b/src/main/java/com/plaid/client/model/RiskSignalDocumentReference.java new file mode 100644 index 0000000000..961f485783 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskSignalDocumentReference.java @@ -0,0 +1,218 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RiskSignalDocumentStatus; +import com.plaid.client.model.RiskSignalDocumentType; +import com.plaid.client.model.RiskSignalFileType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Object containing metadata for the document + */ +@ApiModel(description = "Object containing metadata for the document") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RiskSignalDocumentReference { + public static final String SERIALIZED_NAME_DOCUMENT_ID = "document_id"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_ID) + private String documentId; + + public static final String SERIALIZED_NAME_DOCUMENT_NAME = "document_name"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_NAME) + private String documentName; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private RiskSignalDocumentStatus status; + + public static final String SERIALIZED_NAME_DOCUMENT_TYPE = "document_type"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_TYPE) + private RiskSignalDocumentType documentType; + + public static final String SERIALIZED_NAME_FILE_TYPE = "file_type"; + @SerializedName(SERIALIZED_NAME_FILE_TYPE) + private RiskSignalFileType fileType; + + + public RiskSignalDocumentReference documentId(String documentId) { + + this.documentId = documentId; + return this; + } + + /** + * An identifier of the document referenced by the document metadata. + * @return documentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An identifier of the document referenced by the document metadata.") + + public String getDocumentId() { + return documentId; + } + + + public void setDocumentId(String documentId) { + this.documentId = documentId; + } + + + public RiskSignalDocumentReference documentName(String documentName) { + + this.documentName = documentName; + return this; + } + + /** + * The name of the document + * @return documentName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of the document") + + public String getDocumentName() { + return documentName; + } + + + public void setDocumentName(String documentName) { + this.documentName = documentName; + } + + + public RiskSignalDocumentReference status(RiskSignalDocumentStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RiskSignalDocumentStatus getStatus() { + return status; + } + + + public void setStatus(RiskSignalDocumentStatus status) { + this.status = status; + } + + + public RiskSignalDocumentReference documentType(RiskSignalDocumentType documentType) { + + this.documentType = documentType; + return this; + } + + /** + * Get documentType + * @return documentType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RiskSignalDocumentType getDocumentType() { + return documentType; + } + + + public void setDocumentType(RiskSignalDocumentType documentType) { + this.documentType = documentType; + } + + + public RiskSignalDocumentReference fileType(RiskSignalFileType fileType) { + + this.fileType = fileType; + return this; + } + + /** + * Get fileType + * @return fileType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RiskSignalFileType getFileType() { + return fileType; + } + + + public void setFileType(RiskSignalFileType fileType) { + this.fileType = fileType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RiskSignalDocumentReference riskSignalDocumentReference = (RiskSignalDocumentReference) o; + return Objects.equals(this.documentId, riskSignalDocumentReference.documentId) && + Objects.equals(this.documentName, riskSignalDocumentReference.documentName) && + Objects.equals(this.status, riskSignalDocumentReference.status) && + Objects.equals(this.documentType, riskSignalDocumentReference.documentType) && + Objects.equals(this.fileType, riskSignalDocumentReference.fileType); + } + + @Override + public int hashCode() { + return Objects.hash(documentId, documentName, status, documentType, fileType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RiskSignalDocumentReference {\n"); + sb.append(" documentId: ").append(toIndentedString(documentId)).append("\n"); + sb.append(" documentName: ").append(toIndentedString(documentName)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" documentType: ").append(toIndentedString(documentType)).append("\n"); + sb.append(" fileType: ").append(toIndentedString(fileType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RiskSignalDocumentStatus.java b/src/main/java/com/plaid/client/model/RiskSignalDocumentStatus.java new file mode 100644 index 0000000000..a17d1e663d --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskSignalDocumentStatus.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Status of a document for risk signal analysis + */ +@JsonAdapter(RiskSignalDocumentStatus.Adapter.class) +public enum RiskSignalDocumentStatus { + + PROCESSING("PROCESSING"), + + PROCESSING_COMPLETE("PROCESSING_COMPLETE"), + + PROCESSING_ERROR("PROCESSING_ERROR"), + + PASSWORD_PROTECTED("PASSWORD_PROTECTED"), + + VIRUS_DETECTED("VIRUS_DETECTED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskSignalDocumentStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskSignalDocumentStatus fromValue(String value) { + for (RiskSignalDocumentStatus b : RiskSignalDocumentStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RiskSignalDocumentStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskSignalDocumentStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskSignalDocumentStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskSignalDocumentStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskSignalDocumentType.java b/src/main/java/com/plaid/client/model/RiskSignalDocumentType.java new file mode 100644 index 0000000000..e43cdd5af5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskSignalDocumentType.java @@ -0,0 +1,97 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Type of a document for risk signal analysis + */ +@JsonAdapter(RiskSignalDocumentType.Adapter.class) +public enum RiskSignalDocumentType { + + UNKNOWN("UNKNOWN"), + + BANK_STATEMENT("BANK_STATEMENT"), + + BENEFITS_STATEMENT("BENEFITS_STATEMENT"), + + BUSINESS_FILING("BUSINESS_FILING"), + + CHECK("CHECK"), + + DRIVING_LICENSE("DRIVING_LICENSE"), + + FINANCIAL_STATEMENT("FINANCIAL_STATEMENT"), + + INVOICE("INVOICE"), + + PAYSLIP("PAYSLIP"), + + SOCIAL_SECURITY_CARD("SOCIAL_SECURITY_CARD"), + + TAX_FORM("TAX_FORM"), + + UTILITY_BILL("UTILITY_BILL"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskSignalDocumentType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskSignalDocumentType fromValue(String value) { + for (RiskSignalDocumentType b : RiskSignalDocumentType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskSignalDocumentType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskSignalDocumentType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskSignalDocumentType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/RiskSignalFileType.java b/src/main/java/com/plaid/client/model/RiskSignalFileType.java new file mode 100644 index 0000000000..719dbce328 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RiskSignalFileType.java @@ -0,0 +1,89 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The file type for risk signal analysis + */ +@JsonAdapter(RiskSignalFileType.Adapter.class) +public enum RiskSignalFileType { + + UNKNOWN("UNKNOWN"), + + IMAGE_PDF("IMAGE_PDF"), + + SCAN_OCR("SCAN_OCR"), + + TRUE_PDF("TRUE_PDF"), + + IMAGE("IMAGE"), + + MIXED_PAGE_PDF("MIXED_PAGE_PDF"), + + EMPTY_PDF("EMPTY_PDF"), + + FLATTENED_PDF("FLATTENED_PDF"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RiskSignalFileType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RiskSignalFileType fromValue(String value) { + for (RiskSignalFileType b : RiskSignalFileType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RiskSignalFileType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RiskSignalFileType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RiskSignalFileType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/Role.java b/src/main/java/com/plaid/client/model/Role.java new file mode 100644 index 0000000000..f57d195c45 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Role.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RoleDetail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Role { + public static final String SERIALIZED_NAME_R_O_L_E_D_E_T_A_I_L = "ROLE_DETAIL"; + @SerializedName(SERIALIZED_NAME_R_O_L_E_D_E_T_A_I_L) + private RoleDetail ROLE_DETAIL; + + + public Role ROLE_DETAIL(RoleDetail ROLE_DETAIL) { + + this.ROLE_DETAIL = ROLE_DETAIL; + return this; + } + + /** + * Get ROLE_DETAIL + * @return ROLE_DETAIL + **/ + @ApiModelProperty(required = true, value = "") + + public RoleDetail getROLEDETAIL() { + return ROLE_DETAIL; + } + + + public void setROLEDETAIL(RoleDetail ROLE_DETAIL) { + this.ROLE_DETAIL = ROLE_DETAIL; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Role role = (Role) o; + return Objects.equals(this.ROLE_DETAIL, role.ROLE_DETAIL); + } + + @Override + public int hashCode() { + return Objects.hash(ROLE_DETAIL); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Role {\n"); + sb.append(" ROLE_DETAIL: ").append(toIndentedString(ROLE_DETAIL)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RoleDetail.java b/src/main/java/com/plaid/client/model/RoleDetail.java new file mode 100644 index 0000000000..59f7829465 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RoleDetail.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PartyRoleType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RoleDetail { + public static final String SERIALIZED_NAME_PARTY_ROLE_TYPE = "PartyRoleType"; + @SerializedName(SERIALIZED_NAME_PARTY_ROLE_TYPE) + private PartyRoleType partyRoleType; + + + public RoleDetail partyRoleType(PartyRoleType partyRoleType) { + + this.partyRoleType = partyRoleType; + return this; + } + + /** + * Get partyRoleType + * @return partyRoleType + **/ + @ApiModelProperty(required = true, value = "") + + public PartyRoleType getPartyRoleType() { + return partyRoleType; + } + + + public void setPartyRoleType(PartyRoleType partyRoleType) { + this.partyRoleType = partyRoleType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RoleDetail roleDetail = (RoleDetail) o; + return Objects.equals(this.partyRoleType, roleDetail.partyRoleType); + } + + @Override + public int hashCode() { + return Objects.hash(partyRoleType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RoleDetail {\n"); + sb.append(" partyRoleType: ").append(toIndentedString(partyRoleType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Roles.java b/src/main/java/com/plaid/client/model/Roles.java new file mode 100644 index 0000000000..fba95347bf --- /dev/null +++ b/src/main/java/com/plaid/client/model/Roles.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Role; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Roles { + public static final String SERIALIZED_NAME_R_O_L_E = "ROLE"; + @SerializedName(SERIALIZED_NAME_R_O_L_E) + private Role ROLE; + + + public Roles ROLE(Role ROLE) { + + this.ROLE = ROLE; + return this; + } + + /** + * Get ROLE + * @return ROLE + **/ + @ApiModelProperty(required = true, value = "") + + public Role getROLE() { + return ROLE; + } + + + public void setROLE(Role ROLE) { + this.ROLE = ROLE; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Roles roles = (Roles) o; + return Objects.equals(this.ROLE, roles.ROLE); + } + + @Override + public int hashCode() { + return Objects.hash(ROLE); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Roles {\n"); + sb.append(" ROLE: ").append(toIndentedString(ROLE)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RuleDetails.java b/src/main/java/com/plaid/client/model/RuleDetails.java new file mode 100644 index 0000000000..a34256f339 --- /dev/null +++ b/src/main/java/com/plaid/client/model/RuleDetails.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Rules are run in numerical order. The first rule with a logic match is triggered. These are the details of that rule. + */ +@ApiModel(description = "Rules are run in numerical order. The first rule with a logic match is triggered. These are the details of that rule.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class RuleDetails { + public static final String SERIALIZED_NAME_INTERNAL_NOTE = "internal_note"; + @SerializedName(SERIALIZED_NAME_INTERNAL_NOTE) + private String internalNote; + + public static final String SERIALIZED_NAME_CUSTOM_ACTION_KEY = "custom_action_key"; + @SerializedName(SERIALIZED_NAME_CUSTOM_ACTION_KEY) + private String customActionKey; + + + public RuleDetails internalNote(String internalNote) { + + this.internalNote = internalNote; + return this; + } + + /** + * An optional message attached to the triggered rule, defined within the Dashboard, for your internal use. Useful for debugging, such as \"Account appears to be closed.\" + * @return internalNote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An optional message attached to the triggered rule, defined within the Dashboard, for your internal use. Useful for debugging, such as \"Account appears to be closed.\"") + + public String getInternalNote() { + return internalNote; + } + + + public void setInternalNote(String internalNote) { + this.internalNote = internalNote; + } + + + public RuleDetails customActionKey(String customActionKey) { + + this.customActionKey = customActionKey; + return this; + } + + /** + * A string key, defined within the Dashboard, used to trigger programmatic behavior for a certain result. For instance, you could optionally choose to define a \"3-day-hold\" `custom_action_key` for an ACCEPT result. + * @return customActionKey + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A string key, defined within the Dashboard, used to trigger programmatic behavior for a certain result. For instance, you could optionally choose to define a \"3-day-hold\" `custom_action_key` for an ACCEPT result.") + + public String getCustomActionKey() { + return customActionKey; + } + + + public void setCustomActionKey(String customActionKey) { + this.customActionKey = customActionKey; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RuleDetails ruleDetails = (RuleDetails) o; + return Objects.equals(this.internalNote, ruleDetails.internalNote) && + Objects.equals(this.customActionKey, ruleDetails.customActionKey); + } + + @Override + public int hashCode() { + return Objects.hash(internalNote, customActionKey); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RuleDetails {\n"); + sb.append(" internalNote: ").append(toIndentedString(internalNote)).append("\n"); + sb.append(" customActionKey: ").append(toIndentedString(customActionKey)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/RuleResult.java b/src/main/java/com/plaid/client/model/RuleResult.java new file mode 100644 index 0000000000..6f2e6c721c --- /dev/null +++ b/src/main/java/com/plaid/client/model/RuleResult.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The result of the rule that was triggered for this transaction. `ACCEPT`: Accept the transaction for processing. `REROUTE`: Reroute the transaction to a different payment method, as this transaction is too risky. `REVIEW`: Review the transaction before proceeding. + */ +@JsonAdapter(RuleResult.Adapter.class) +public enum RuleResult { + + ACCEPT("ACCEPT"), + + REROUTE("REROUTE"), + + REVIEW("REVIEW"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + RuleResult(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RuleResult fromValue(String value) { + for (RuleResult b : RuleResult.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return RuleResult.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RuleResult enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RuleResult read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RuleResult.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/Ruleset.java b/src/main/java/com/plaid/client/model/Ruleset.java new file mode 100644 index 0000000000..96c72c62f1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Ruleset.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RuleDetails; +import com.plaid.client.model.RuleResult; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details about the transaction result after evaluation by the requested Ruleset. If a `ruleset_key` is not provided, for customers who began using Signal Transaction Scores before October 15, 2025, by default, this field will be omitted. To learn more, see [Signal Rules](https://plaid.com/docs/signal/signal-rules/). + */ +@ApiModel(description = "Details about the transaction result after evaluation by the requested Ruleset. If a `ruleset_key` is not provided, for customers who began using Signal Transaction Scores before October 15, 2025, by default, this field will be omitted. To learn more, see [Signal Rules](https://plaid.com/docs/signal/signal-rules/).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Ruleset { + public static final String SERIALIZED_NAME_RULESET_KEY = "ruleset_key"; + @SerializedName(SERIALIZED_NAME_RULESET_KEY) + private String rulesetKey; + + public static final String SERIALIZED_NAME_RESULT = "result"; + @SerializedName(SERIALIZED_NAME_RESULT) + private RuleResult result; + + public static final String SERIALIZED_NAME_TRIGGERED_RULE_DETAILS = "triggered_rule_details"; + @SerializedName(SERIALIZED_NAME_TRIGGERED_RULE_DETAILS) + private RuleDetails triggeredRuleDetails; + + public static final String SERIALIZED_NAME_OUTCOME = "outcome"; + @SerializedName(SERIALIZED_NAME_OUTCOME) + private String outcome; + + + public Ruleset rulesetKey(String rulesetKey) { + + this.rulesetKey = rulesetKey; + return this; + } + + /** + * The key of the Ruleset used for this transaction. + * @return rulesetKey + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The key of the Ruleset used for this transaction.") + + public String getRulesetKey() { + return rulesetKey; + } + + + public void setRulesetKey(String rulesetKey) { + this.rulesetKey = rulesetKey; + } + + + public Ruleset result(RuleResult result) { + + this.result = result; + return this; + } + + /** + * Get result + * @return result + **/ + @ApiModelProperty(required = true, value = "") + + public RuleResult getResult() { + return result; + } + + + public void setResult(RuleResult result) { + this.result = result; + } + + + public Ruleset triggeredRuleDetails(RuleDetails triggeredRuleDetails) { + + this.triggeredRuleDetails = triggeredRuleDetails; + return this; + } + + /** + * Get triggeredRuleDetails + * @return triggeredRuleDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RuleDetails getTriggeredRuleDetails() { + return triggeredRuleDetails; + } + + + public void setTriggeredRuleDetails(RuleDetails triggeredRuleDetails) { + this.triggeredRuleDetails = triggeredRuleDetails; + } + + + public Ruleset outcome(String outcome) { + + this.outcome = outcome; + return this; + } + + /** + * The evaluated outcome for this transaction. This field is deprecated, use `result` or `triggered_rule_details.custom_action_key` instead. + * @return outcome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The evaluated outcome for this transaction. This field is deprecated, use `result` or `triggered_rule_details.custom_action_key` instead.") + + public String getOutcome() { + return outcome; + } + + + public void setOutcome(String outcome) { + this.outcome = outcome; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Ruleset ruleset = (Ruleset) o; + return Objects.equals(this.rulesetKey, ruleset.rulesetKey) && + Objects.equals(this.result, ruleset.result) && + Objects.equals(this.triggeredRuleDetails, ruleset.triggeredRuleDetails) && + Objects.equals(this.outcome, ruleset.outcome); + } + + @Override + public int hashCode() { + return Objects.hash(rulesetKey, result, triggeredRuleDetails, outcome); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Ruleset {\n"); + sb.append(" rulesetKey: ").append(toIndentedString(rulesetKey)).append("\n"); + sb.append(" result: ").append(toIndentedString(result)).append("\n"); + sb.append(" triggeredRuleDetails: ").append(toIndentedString(triggeredRuleDetails)).append("\n"); + sb.append(" outcome: ").append(toIndentedString(outcome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SMSVerification.java b/src/main/java/com/plaid/client/model/SMSVerification.java new file mode 100644 index 0000000000..e70c688a1b --- /dev/null +++ b/src/main/java/com/plaid/client/model/SMSVerification.java @@ -0,0 +1,300 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SMSVerificationStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Additional information for the individual SMS verification. + */ +@ApiModel(description = "Additional information for the individual SMS verification.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SMSVerification { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private SMSVerificationStatus status; + + public static final String SERIALIZED_NAME_ATTEMPT = "attempt"; + @SerializedName(SERIALIZED_NAME_ATTEMPT) + private Integer attempt; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_DELIVERY_ATTEMPT_COUNT = "delivery_attempt_count"; + @SerializedName(SERIALIZED_NAME_DELIVERY_ATTEMPT_COUNT) + private Integer deliveryAttemptCount; + + public static final String SERIALIZED_NAME_SOLVE_ATTEMPT_COUNT = "solve_attempt_count"; + @SerializedName(SERIALIZED_NAME_SOLVE_ATTEMPT_COUNT) + private Integer solveAttemptCount; + + public static final String SERIALIZED_NAME_INITIALLY_SENT_AT = "initially_sent_at"; + @SerializedName(SERIALIZED_NAME_INITIALLY_SENT_AT) + private OffsetDateTime initiallySentAt; + + public static final String SERIALIZED_NAME_LAST_SENT_AT = "last_sent_at"; + @SerializedName(SERIALIZED_NAME_LAST_SENT_AT) + private OffsetDateTime lastSentAt; + + public static final String SERIALIZED_NAME_REDACTED_AT = "redacted_at"; + @SerializedName(SERIALIZED_NAME_REDACTED_AT) + private OffsetDateTime redactedAt; + + + public SMSVerification status(SMSVerificationStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public SMSVerificationStatus getStatus() { + return status; + } + + + public void setStatus(SMSVerificationStatus status) { + this.status = status; + } + + + public SMSVerification attempt(Integer attempt) { + + this.attempt = attempt; + return this; + } + + /** + * The attempt field begins with 1 and increments with each subsequent SMS verification. + * @return attempt + **/ + @ApiModelProperty(example = "1", required = true, value = "The attempt field begins with 1 and increments with each subsequent SMS verification.") + + public Integer getAttempt() { + return attempt; + } + + + public void setAttempt(Integer attempt) { + this.attempt = attempt; + } + + + public SMSVerification phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A phone number in E.164 format. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+12345678909", required = true, value = "A phone number in E.164 format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public SMSVerification deliveryAttemptCount(Integer deliveryAttemptCount) { + + this.deliveryAttemptCount = deliveryAttemptCount; + return this; + } + + /** + * The number of delivery attempts made within the verification to send the SMS code to the user. Each delivery attempt represents the user taking action from the front end UI to request creation and delivery of a new SMS verification code, or to resend an existing SMS verification code. There is a limit of 3 delivery attempts per verification. + * @return deliveryAttemptCount + **/ + @ApiModelProperty(example = "1", required = true, value = "The number of delivery attempts made within the verification to send the SMS code to the user. Each delivery attempt represents the user taking action from the front end UI to request creation and delivery of a new SMS verification code, or to resend an existing SMS verification code. There is a limit of 3 delivery attempts per verification.") + + public Integer getDeliveryAttemptCount() { + return deliveryAttemptCount; + } + + + public void setDeliveryAttemptCount(Integer deliveryAttemptCount) { + this.deliveryAttemptCount = deliveryAttemptCount; + } + + + public SMSVerification solveAttemptCount(Integer solveAttemptCount) { + + this.solveAttemptCount = solveAttemptCount; + return this; + } + + /** + * The number of attempts made by the user within the verification to verify the SMS code by entering it into the front end UI. There is a limit of 3 solve attempts per verification. + * @return solveAttemptCount + **/ + @ApiModelProperty(example = "1", required = true, value = "The number of attempts made by the user within the verification to verify the SMS code by entering it into the front end UI. There is a limit of 3 solve attempts per verification.") + + public Integer getSolveAttemptCount() { + return solveAttemptCount; + } + + + public void setSolveAttemptCount(Integer solveAttemptCount) { + this.solveAttemptCount = solveAttemptCount; + } + + + public SMSVerification initiallySentAt(OffsetDateTime initiallySentAt) { + + this.initiallySentAt = initiallySentAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return initiallySentAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getInitiallySentAt() { + return initiallySentAt; + } + + + public void setInitiallySentAt(OffsetDateTime initiallySentAt) { + this.initiallySentAt = initiallySentAt; + } + + + public SMSVerification lastSentAt(OffsetDateTime lastSentAt) { + + this.lastSentAt = lastSentAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return lastSentAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getLastSentAt() { + return lastSentAt; + } + + + public void setLastSentAt(OffsetDateTime lastSentAt) { + this.lastSentAt = lastSentAt; + } + + + public SMSVerification redactedAt(OffsetDateTime redactedAt) { + + this.redactedAt = redactedAt; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return redactedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getRedactedAt() { + return redactedAt; + } + + + public void setRedactedAt(OffsetDateTime redactedAt) { + this.redactedAt = redactedAt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SMSVerification smSVerification = (SMSVerification) o; + return Objects.equals(this.status, smSVerification.status) && + Objects.equals(this.attempt, smSVerification.attempt) && + Objects.equals(this.phoneNumber, smSVerification.phoneNumber) && + Objects.equals(this.deliveryAttemptCount, smSVerification.deliveryAttemptCount) && + Objects.equals(this.solveAttemptCount, smSVerification.solveAttemptCount) && + Objects.equals(this.initiallySentAt, smSVerification.initiallySentAt) && + Objects.equals(this.lastSentAt, smSVerification.lastSentAt) && + Objects.equals(this.redactedAt, smSVerification.redactedAt); + } + + @Override + public int hashCode() { + return Objects.hash(status, attempt, phoneNumber, deliveryAttemptCount, solveAttemptCount, initiallySentAt, lastSentAt, redactedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SMSVerification {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" attempt: ").append(toIndentedString(attempt)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" deliveryAttemptCount: ").append(toIndentedString(deliveryAttemptCount)).append("\n"); + sb.append(" solveAttemptCount: ").append(toIndentedString(solveAttemptCount)).append("\n"); + sb.append(" initiallySentAt: ").append(toIndentedString(initiallySentAt)).append("\n"); + sb.append(" lastSentAt: ").append(toIndentedString(lastSentAt)).append("\n"); + sb.append(" redactedAt: ").append(toIndentedString(redactedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SMSVerificationStatus.java b/src/main/java/com/plaid/client/model/SMSVerificationStatus.java new file mode 100644 index 0000000000..9859a33df0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SMSVerificationStatus.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The outcome status for the individual SMS verification. + */ +@JsonAdapter(SMSVerificationStatus.Adapter.class) +public enum SMSVerificationStatus { + + PENDING("pending"), + + SUCCESS("success"), + + FAILED("failed"), + + CANCELED("canceled"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SMSVerificationStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SMSVerificationStatus fromValue(String value) { + for (SMSVerificationStatus b : SMSVerificationStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return SMSVerificationStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SMSVerificationStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SMSVerificationStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SMSVerificationStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SandboxBankIncomeFireWebhookRequest.java b/src/main/java/com/plaid/client/model/SandboxBankIncomeFireWebhookRequest.java new file mode 100644 index 0000000000..27f3c25227 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxBankIncomeFireWebhookRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SandboxBankIncomeWebhookFireRequestWebhookCode; +import com.plaid.client.model.SandboxBankIncomeWebhookFireRequestWebhookFields; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxBankIncomeFireWebhookRequest defines the request schema for `/sandbox/bank_income/fire_webhook` + */ +@ApiModel(description = "SandboxBankIncomeFireWebhookRequest defines the request schema for `/sandbox/bank_income/fire_webhook`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxBankIncomeFireWebhookRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_WEBHOOK_OVERRIDE = "webhook_override"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_OVERRIDE) + private String webhookOverride; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private SandboxBankIncomeWebhookFireRequestWebhookCode webhookCode; + + public static final String SERIALIZED_NAME_WEBHOOK_FIELDS = "webhook_fields"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_FIELDS) + private SandboxBankIncomeWebhookFireRequestWebhookFields webhookFields; + + + public SandboxBankIncomeFireWebhookRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxBankIncomeFireWebhookRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxBankIncomeFireWebhookRequest webhookOverride(String webhookOverride) { + + this.webhookOverride = webhookOverride; + return this; + } + + /** + * The URL to which the webhook should be sent. If provided, this will override the URL set in the dashboard. + * @return webhookOverride + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL to which the webhook should be sent. If provided, this will override the URL set in the dashboard.") + + public String getWebhookOverride() { + return webhookOverride; + } + + + public void setWebhookOverride(String webhookOverride) { + this.webhookOverride = webhookOverride; + } + + + public SandboxBankIncomeFireWebhookRequest webhookCode(SandboxBankIncomeWebhookFireRequestWebhookCode webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * Get webhookCode + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "") + + public SandboxBankIncomeWebhookFireRequestWebhookCode getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(SandboxBankIncomeWebhookFireRequestWebhookCode webhookCode) { + this.webhookCode = webhookCode; + } + + + public SandboxBankIncomeFireWebhookRequest webhookFields(SandboxBankIncomeWebhookFireRequestWebhookFields webhookFields) { + + this.webhookFields = webhookFields; + return this; + } + + /** + * Get webhookFields + * @return webhookFields + **/ + @ApiModelProperty(required = true, value = "") + + public SandboxBankIncomeWebhookFireRequestWebhookFields getWebhookFields() { + return webhookFields; + } + + + public void setWebhookFields(SandboxBankIncomeWebhookFireRequestWebhookFields webhookFields) { + this.webhookFields = webhookFields; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxBankIncomeFireWebhookRequest sandboxBankIncomeFireWebhookRequest = (SandboxBankIncomeFireWebhookRequest) o; + return Objects.equals(this.clientId, sandboxBankIncomeFireWebhookRequest.clientId) && + Objects.equals(this.secret, sandboxBankIncomeFireWebhookRequest.secret) && + Objects.equals(this.webhookOverride, sandboxBankIncomeFireWebhookRequest.webhookOverride) && + Objects.equals(this.webhookCode, sandboxBankIncomeFireWebhookRequest.webhookCode) && + Objects.equals(this.webhookFields, sandboxBankIncomeFireWebhookRequest.webhookFields); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, webhookOverride, webhookCode, webhookFields); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxBankIncomeFireWebhookRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" webhookOverride: ").append(toIndentedString(webhookOverride)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" webhookFields: ").append(toIndentedString(webhookFields)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxBankIncomeFireWebhookResponse.java b/src/main/java/com/plaid/client/model/SandboxBankIncomeFireWebhookResponse.java new file mode 100644 index 0000000000..ec9ef0eeca --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxBankIncomeFireWebhookResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxBankIncomeFireWebhookResponse defines the response schema for `/sandbox/bank_income/fire_webhook` + */ +@ApiModel(description = "SandboxBankIncomeFireWebhookResponse defines the response schema for `/sandbox/bank_income/fire_webhook`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxBankIncomeFireWebhookResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxBankIncomeFireWebhookResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxBankIncomeFireWebhookResponse sandboxBankIncomeFireWebhookResponse = (SandboxBankIncomeFireWebhookResponse) o; + return Objects.equals(this.requestId, sandboxBankIncomeFireWebhookResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxBankIncomeFireWebhookResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxBankIncomeWebhookFireRequestWebhookCode.java b/src/main/java/com/plaid/client/model/SandboxBankIncomeWebhookFireRequestWebhookCode.java new file mode 100644 index 0000000000..d4610c194a --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxBankIncomeWebhookFireRequestWebhookCode.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The webhook codes this endpoint can be used to test + */ +@JsonAdapter(SandboxBankIncomeWebhookFireRequestWebhookCode.Adapter.class) +public enum SandboxBankIncomeWebhookFireRequestWebhookCode { + + UPDATE("BANK_INCOME_REFRESH_UPDATE"), + + COMPLETE("BANK_INCOME_REFRESH_COMPLETE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SandboxBankIncomeWebhookFireRequestWebhookCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SandboxBankIncomeWebhookFireRequestWebhookCode fromValue(String value) { + for (SandboxBankIncomeWebhookFireRequestWebhookCode b : SandboxBankIncomeWebhookFireRequestWebhookCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return SandboxBankIncomeWebhookFireRequestWebhookCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SandboxBankIncomeWebhookFireRequestWebhookCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SandboxBankIncomeWebhookFireRequestWebhookCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SandboxBankIncomeWebhookFireRequestWebhookCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SandboxBankIncomeWebhookFireRequestWebhookFields.java b/src/main/java/com/plaid/client/model/SandboxBankIncomeWebhookFireRequestWebhookFields.java new file mode 100644 index 0000000000..106170841a --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxBankIncomeWebhookFireRequestWebhookFields.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankIncomeRefreshCompleteResult; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Optional fields which will be populated in the simulated webhook + */ +@ApiModel(description = "Optional fields which will be populated in the simulated webhook") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxBankIncomeWebhookFireRequestWebhookFields { + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_BANK_INCOME_REFRESH_COMPLETE_RESULT = "bank_income_refresh_complete_result"; + @SerializedName(SERIALIZED_NAME_BANK_INCOME_REFRESH_COMPLETE_RESULT) + private BankIncomeRefreshCompleteResult bankIncomeRefreshCompleteResult; + + + public SandboxBankIncomeWebhookFireRequestWebhookFields userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The user id to be returned in INCOME webhooks + * @return userId + **/ + @ApiModelProperty(required = true, value = "The user id to be returned in INCOME webhooks") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public SandboxBankIncomeWebhookFireRequestWebhookFields bankIncomeRefreshCompleteResult(BankIncomeRefreshCompleteResult bankIncomeRefreshCompleteResult) { + + this.bankIncomeRefreshCompleteResult = bankIncomeRefreshCompleteResult; + return this; + } + + /** + * Get bankIncomeRefreshCompleteResult + * @return bankIncomeRefreshCompleteResult + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BankIncomeRefreshCompleteResult getBankIncomeRefreshCompleteResult() { + return bankIncomeRefreshCompleteResult; + } + + + public void setBankIncomeRefreshCompleteResult(BankIncomeRefreshCompleteResult bankIncomeRefreshCompleteResult) { + this.bankIncomeRefreshCompleteResult = bankIncomeRefreshCompleteResult; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxBankIncomeWebhookFireRequestWebhookFields sandboxBankIncomeWebhookFireRequestWebhookFields = (SandboxBankIncomeWebhookFireRequestWebhookFields) o; + return Objects.equals(this.userId, sandboxBankIncomeWebhookFireRequestWebhookFields.userId) && + Objects.equals(this.bankIncomeRefreshCompleteResult, sandboxBankIncomeWebhookFireRequestWebhookFields.bankIncomeRefreshCompleteResult); + } + + @Override + public int hashCode() { + return Objects.hash(userId, bankIncomeRefreshCompleteResult); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxBankIncomeWebhookFireRequestWebhookFields {\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" bankIncomeRefreshCompleteResult: ").append(toIndentedString(bankIncomeRefreshCompleteResult)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxBankTransferFireWebhookRequest.java b/src/main/java/com/plaid/client/model/SandboxBankTransferFireWebhookRequest.java new file mode 100644 index 0000000000..d4bbe628b5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxBankTransferFireWebhookRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/sandbox/bank_transfer/fire_webhook` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/bank_transfer/fire_webhook`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxBankTransferFireWebhookRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public SandboxBankTransferFireWebhookRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxBankTransferFireWebhookRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxBankTransferFireWebhookRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The URL to which the webhook should be sent. + * @return webhook + **/ + @ApiModelProperty(required = true, value = "The URL to which the webhook should be sent.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxBankTransferFireWebhookRequest sandboxBankTransferFireWebhookRequest = (SandboxBankTransferFireWebhookRequest) o; + return Objects.equals(this.clientId, sandboxBankTransferFireWebhookRequest.clientId) && + Objects.equals(this.secret, sandboxBankTransferFireWebhookRequest.secret) && + Objects.equals(this.webhook, sandboxBankTransferFireWebhookRequest.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxBankTransferFireWebhookRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxBankTransferFireWebhookResponse.java b/src/main/java/com/plaid/client/model/SandboxBankTransferFireWebhookResponse.java new file mode 100644 index 0000000000..121d117788 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxBankTransferFireWebhookResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/bank_transfer/fire_webhook` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/bank_transfer/fire_webhook`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxBankTransferFireWebhookResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxBankTransferFireWebhookResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxBankTransferFireWebhookResponse sandboxBankTransferFireWebhookResponse = (SandboxBankTransferFireWebhookResponse) o; + return Objects.equals(this.requestId, sandboxBankTransferFireWebhookResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxBankTransferFireWebhookResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxBankTransferSimulateRequest.java b/src/main/java/com/plaid/client/model/SandboxBankTransferSimulateRequest.java new file mode 100644 index 0000000000..9a90d1fb35 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxBankTransferSimulateRequest.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankTransferFailure; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/sandbox/bank_transfer/simulate` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/bank_transfer/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxBankTransferSimulateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_BANK_TRANSFER_ID = "bank_transfer_id"; + @SerializedName(SERIALIZED_NAME_BANK_TRANSFER_ID) + private String bankTransferId; + + public static final String SERIALIZED_NAME_EVENT_TYPE = "event_type"; + @SerializedName(SERIALIZED_NAME_EVENT_TYPE) + private String eventType; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private BankTransferFailure failureReason; + + + public SandboxBankTransferSimulateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxBankTransferSimulateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxBankTransferSimulateRequest bankTransferId(String bankTransferId) { + + this.bankTransferId = bankTransferId; + return this; + } + + /** + * Plaid's unique identifier for a bank transfer. + * @return bankTransferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a bank transfer.") + + public String getBankTransferId() { + return bankTransferId; + } + + + public void setBankTransferId(String bankTransferId) { + this.bankTransferId = bankTransferId; + } + + + public SandboxBankTransferSimulateRequest eventType(String eventType) { + + this.eventType = eventType; + return this; + } + + /** + * The asynchronous event to be simulated. May be: `posted`, `failed`, or `reversed`. An error will be returned if the event type is incompatible with the current transfer status. Compatible status --> event type transitions include: `pending` --> `failed` `pending` --> `posted` `posted` --> `reversed` + * @return eventType + **/ + @ApiModelProperty(required = true, value = "The asynchronous event to be simulated. May be: `posted`, `failed`, or `reversed`. An error will be returned if the event type is incompatible with the current transfer status. Compatible status --> event type transitions include: `pending` --> `failed` `pending` --> `posted` `posted` --> `reversed` ") + + public String getEventType() { + return eventType; + } + + + public void setEventType(String eventType) { + this.eventType = eventType; + } + + + public SandboxBankTransferSimulateRequest failureReason(BankTransferFailure failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BankTransferFailure getFailureReason() { + return failureReason; + } + + + public void setFailureReason(BankTransferFailure failureReason) { + this.failureReason = failureReason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxBankTransferSimulateRequest sandboxBankTransferSimulateRequest = (SandboxBankTransferSimulateRequest) o; + return Objects.equals(this.clientId, sandboxBankTransferSimulateRequest.clientId) && + Objects.equals(this.secret, sandboxBankTransferSimulateRequest.secret) && + Objects.equals(this.bankTransferId, sandboxBankTransferSimulateRequest.bankTransferId) && + Objects.equals(this.eventType, sandboxBankTransferSimulateRequest.eventType) && + Objects.equals(this.failureReason, sandboxBankTransferSimulateRequest.failureReason); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, bankTransferId, eventType, failureReason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxBankTransferSimulateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" bankTransferId: ").append(toIndentedString(bankTransferId)).append("\n"); + sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxBankTransferSimulateResponse.java b/src/main/java/com/plaid/client/model/SandboxBankTransferSimulateResponse.java new file mode 100644 index 0000000000..a23fbc95e5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxBankTransferSimulateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/bank_transfer/simulate` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/bank_transfer/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxBankTransferSimulateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxBankTransferSimulateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxBankTransferSimulateResponse sandboxBankTransferSimulateResponse = (SandboxBankTransferSimulateResponse) o; + return Objects.equals(this.requestId, sandboxBankTransferSimulateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxBankTransferSimulateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxCraCashflowUpdatesUpdateRequest.java b/src/main/java/com/plaid/client/model/SandboxCraCashflowUpdatesUpdateRequest.java new file mode 100644 index 0000000000..a41ae9cc99 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxCraCashflowUpdatesUpdateRequest.java @@ -0,0 +1,226 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CashFlowUpdatesEventWebhookCodes; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * SandboxCraCashflowUpdatesUpdateRequest defines the request schema for `/sandbox/cra/cashflow_updates/update` + */ +@ApiModel(description = "SandboxCraCashflowUpdatesUpdateRequest defines the request schema for `/sandbox/cra/cashflow_updates/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxCraCashflowUpdatesUpdateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_WEBHOOK_CODES = "webhook_codes"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODES) + private List webhookCodes = null; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public SandboxCraCashflowUpdatesUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxCraCashflowUpdatesUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxCraCashflowUpdatesUpdateRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public SandboxCraCashflowUpdatesUpdateRequest webhookCodes(List webhookCodes) { + + this.webhookCodes = webhookCodes; + return this; + } + + public SandboxCraCashflowUpdatesUpdateRequest addWebhookCodesItem(CashFlowUpdatesEventWebhookCodes webhookCodesItem) { + if (this.webhookCodes == null) { + this.webhookCodes = new ArrayList<>(); + } + this.webhookCodes.add(webhookCodesItem); + return this; + } + + /** + * Webhook codes corresponding to the Cash Flow Updates events to be simulated. + * @return webhookCodes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Webhook codes corresponding to the Cash Flow Updates events to be simulated.") + + public List getWebhookCodes() { + return webhookCodes; + } + + + public void setWebhookCodes(List webhookCodes) { + this.webhookCodes = webhookCodes; + } + + + public SandboxCraCashflowUpdatesUpdateRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxCraCashflowUpdatesUpdateRequest sandboxCraCashflowUpdatesUpdateRequest = (SandboxCraCashflowUpdatesUpdateRequest) o; + return Objects.equals(this.clientId, sandboxCraCashflowUpdatesUpdateRequest.clientId) && + Objects.equals(this.secret, sandboxCraCashflowUpdatesUpdateRequest.secret) && + Objects.equals(this.userToken, sandboxCraCashflowUpdatesUpdateRequest.userToken) && + Objects.equals(this.webhookCodes, sandboxCraCashflowUpdatesUpdateRequest.webhookCodes) && + Objects.equals(this.userId, sandboxCraCashflowUpdatesUpdateRequest.userId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, webhookCodes, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxCraCashflowUpdatesUpdateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" webhookCodes: ").append(toIndentedString(webhookCodes)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxCraCashflowUpdatesUpdateResponse.java b/src/main/java/com/plaid/client/model/SandboxCraCashflowUpdatesUpdateResponse.java new file mode 100644 index 0000000000..916c8c2584 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxCraCashflowUpdatesUpdateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxCraCashflowUpdatesUpdateResponse defines the response schema for `/sandbox/cra/cashflow_updates/update` + */ +@ApiModel(description = "SandboxCraCashflowUpdatesUpdateResponse defines the response schema for `/sandbox/cra/cashflow_updates/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxCraCashflowUpdatesUpdateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxCraCashflowUpdatesUpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxCraCashflowUpdatesUpdateResponse sandboxCraCashflowUpdatesUpdateResponse = (SandboxCraCashflowUpdatesUpdateResponse) o; + return Objects.equals(this.requestId, sandboxCraCashflowUpdatesUpdateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxCraCashflowUpdatesUpdateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxFdxConsentSeedRequest.java b/src/main/java/com/plaid/client/model/SandboxFdxConsentSeedRequest.java new file mode 100644 index 0000000000..5cf5cb6c88 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxFdxConsentSeedRequest.java @@ -0,0 +1,213 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request to seed an FDX consent grant, and its backing item, for the given end user and recipient application so the FDX Consent API can be exercised in Sandbox. + */ +@ApiModel(description = "Request to seed an FDX consent grant, and its backing item, for the given end user and recipient application so the FDX Consent API can be exercised in Sandbox.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxFdxConsentSeedRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CUSTOMER_ID = "customer_id"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_ID) + private String customerId; + + public static final String SERIALIZED_NAME_APPLICATION_ID = "application_id"; + @SerializedName(SERIALIZED_NAME_APPLICATION_ID) + private String applicationId; + + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + + public SandboxFdxConsentSeedRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxFdxConsentSeedRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxFdxConsentSeedRequest customerId(String customerId) { + + this.customerId = customerId; + return this; + } + + /** + * The data provider's identifier for the end user to associate the seeded consent grant with. + * @return customerId + **/ + @ApiModelProperty(required = true, value = "The data provider's identifier for the end user to associate the seeded consent grant with.") + + public String getCustomerId() { + return customerId; + } + + + public void setCustomerId(String customerId) { + this.customerId = customerId; + } + + + public SandboxFdxConsentSeedRequest applicationId(String applicationId) { + + this.applicationId = applicationId; + return this; + } + + /** + * This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect. + * @return applicationId + **/ + @ApiModelProperty(required = true, value = "This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect.") + + public String getApplicationId() { + return applicationId; + } + + + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + + public SandboxFdxConsentSeedRequest consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * Optional UUIDv4 identifier for the seeded consent grant. If omitted, one is generated. Seeding fails if a grant with this identifier already exists. + * @return consentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional UUIDv4 identifier for the seeded consent grant. If omitted, one is generated. Seeding fails if a grant with this identifier already exists.") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxFdxConsentSeedRequest sandboxFdxConsentSeedRequest = (SandboxFdxConsentSeedRequest) o; + return Objects.equals(this.clientId, sandboxFdxConsentSeedRequest.clientId) && + Objects.equals(this.secret, sandboxFdxConsentSeedRequest.secret) && + Objects.equals(this.customerId, sandboxFdxConsentSeedRequest.customerId) && + Objects.equals(this.applicationId, sandboxFdxConsentSeedRequest.applicationId) && + Objects.equals(this.consentId, sandboxFdxConsentSeedRequest.consentId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, customerId, applicationId, consentId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxFdxConsentSeedRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" customerId: ").append(toIndentedString(customerId)).append("\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxFdxConsentSeedResponse.java b/src/main/java/com/plaid/client/model/SandboxFdxConsentSeedResponse.java new file mode 100644 index 0000000000..8fcc23c18c --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxFdxConsentSeedResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Response containing the identifier of the seeded FDX consent grant, which can then be listed, retrieved, and revoked through the FDX Consent API. + */ +@ApiModel(description = "Response containing the identifier of the seeded FDX consent grant, which can then be listed, retrieved, and revoked through the FDX Consent API.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxFdxConsentSeedResponse { + public static final String SERIALIZED_NAME_CONSENT_ID = "consent_id"; + @SerializedName(SERIALIZED_NAME_CONSENT_ID) + private String consentId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxFdxConsentSeedResponse consentId(String consentId) { + + this.consentId = consentId; + return this; + } + + /** + * The identifier of the newly seeded FDX consent grant. + * @return consentId + **/ + @ApiModelProperty(required = true, value = "The identifier of the newly seeded FDX consent grant.") + + public String getConsentId() { + return consentId; + } + + + public void setConsentId(String consentId) { + this.consentId = consentId; + } + + + public SandboxFdxConsentSeedResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxFdxConsentSeedResponse sandboxFdxConsentSeedResponse = (SandboxFdxConsentSeedResponse) o; + return Objects.equals(this.consentId, sandboxFdxConsentSeedResponse.consentId) && + Objects.equals(this.requestId, sandboxFdxConsentSeedResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(consentId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxFdxConsentSeedResponse {\n"); + sb.append(" consentId: ").append(toIndentedString(consentId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxIncomeFireWebhookRequest.java b/src/main/java/com/plaid/client/model/SandboxIncomeFireWebhookRequest.java new file mode 100644 index 0000000000..fea81196b0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxIncomeFireWebhookRequest.java @@ -0,0 +1,320 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SandboxIncomeWebhookFireRequestWebhookCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxIncomeFireWebhookRequest defines the request schema for `/sandbox/income/fire_webhook` + */ +@ApiModel(description = "SandboxIncomeFireWebhookRequest defines the request schema for `/sandbox/income/fire_webhook`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxIncomeFireWebhookRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + /** + * `VERIFICATION_STATUS_PROCESSING_COMPLETE`: The income verification status processing has completed. If the user uploaded multiple documents, this webhook will fire when all documents have finished processing. Call the `/income/verification/paystubs/get` endpoint and check the document metadata to see which documents were successfully parsed. `VERIFICATION_STATUS_PROCESSING_FAILED`: A failure occurred when attempting to process the verification documentation. `VERIFICATION_STATUS_PENDING_APPROVAL`: (deprecated) The income verification has been sent to the user for review. + */ + @JsonAdapter(VerificationStatusEnum.Adapter.class) + public enum VerificationStatusEnum { + PROCESSING_COMPLETE("VERIFICATION_STATUS_PROCESSING_COMPLETE"), + + PROCESSING_FAILED("VERIFICATION_STATUS_PROCESSING_FAILED"), + + PENDING_APPROVAL("VERIFICATION_STATUS_PENDING_APPROVAL"); + + private String value; + + VerificationStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static VerificationStatusEnum fromValue(String value) { + for (VerificationStatusEnum b : VerificationStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final VerificationStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public VerificationStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return VerificationStatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatusEnum verificationStatus; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private SandboxIncomeWebhookFireRequestWebhookCode webhookCode; + + + public SandboxIncomeFireWebhookRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxIncomeFireWebhookRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxIncomeFireWebhookRequest itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Item ID associated with the verification. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The Item ID associated with the verification.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public SandboxIncomeFireWebhookRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public SandboxIncomeFireWebhookRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The URL to which the webhook should be sent. + * @return webhook + **/ + @ApiModelProperty(required = true, value = "The URL to which the webhook should be sent.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + public SandboxIncomeFireWebhookRequest verificationStatus(VerificationStatusEnum verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * `VERIFICATION_STATUS_PROCESSING_COMPLETE`: The income verification status processing has completed. If the user uploaded multiple documents, this webhook will fire when all documents have finished processing. Call the `/income/verification/paystubs/get` endpoint and check the document metadata to see which documents were successfully parsed. `VERIFICATION_STATUS_PROCESSING_FAILED`: A failure occurred when attempting to process the verification documentation. `VERIFICATION_STATUS_PENDING_APPROVAL`: (deprecated) The income verification has been sent to the user for review. + * @return verificationStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "`VERIFICATION_STATUS_PROCESSING_COMPLETE`: The income verification status processing has completed. If the user uploaded multiple documents, this webhook will fire when all documents have finished processing. Call the `/income/verification/paystubs/get` endpoint and check the document metadata to see which documents were successfully parsed. `VERIFICATION_STATUS_PROCESSING_FAILED`: A failure occurred when attempting to process the verification documentation. `VERIFICATION_STATUS_PENDING_APPROVAL`: (deprecated) The income verification has been sent to the user for review.") + + public VerificationStatusEnum getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatusEnum verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + public SandboxIncomeFireWebhookRequest webhookCode(SandboxIncomeWebhookFireRequestWebhookCode webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * Get webhookCode + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "") + + public SandboxIncomeWebhookFireRequestWebhookCode getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(SandboxIncomeWebhookFireRequestWebhookCode webhookCode) { + this.webhookCode = webhookCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxIncomeFireWebhookRequest sandboxIncomeFireWebhookRequest = (SandboxIncomeFireWebhookRequest) o; + return Objects.equals(this.clientId, sandboxIncomeFireWebhookRequest.clientId) && + Objects.equals(this.secret, sandboxIncomeFireWebhookRequest.secret) && + Objects.equals(this.itemId, sandboxIncomeFireWebhookRequest.itemId) && + Objects.equals(this.userId, sandboxIncomeFireWebhookRequest.userId) && + Objects.equals(this.webhook, sandboxIncomeFireWebhookRequest.webhook) && + Objects.equals(this.verificationStatus, sandboxIncomeFireWebhookRequest.verificationStatus) && + Objects.equals(this.webhookCode, sandboxIncomeFireWebhookRequest.webhookCode); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, itemId, userId, webhook, verificationStatus, webhookCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxIncomeFireWebhookRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxIncomeFireWebhookResponse.java b/src/main/java/com/plaid/client/model/SandboxIncomeFireWebhookResponse.java new file mode 100644 index 0000000000..6e8c45af53 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxIncomeFireWebhookResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxIncomeFireWebhookResponse defines the response schema for `/sandbox/income/fire_webhook` + */ +@ApiModel(description = "SandboxIncomeFireWebhookResponse defines the response schema for `/sandbox/income/fire_webhook`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxIncomeFireWebhookResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxIncomeFireWebhookResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxIncomeFireWebhookResponse sandboxIncomeFireWebhookResponse = (SandboxIncomeFireWebhookResponse) o; + return Objects.equals(this.requestId, sandboxIncomeFireWebhookResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxIncomeFireWebhookResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxIncomeWebhookFireRequestWebhookCode.java b/src/main/java/com/plaid/client/model/SandboxIncomeWebhookFireRequestWebhookCode.java new file mode 100644 index 0000000000..54ea42a8f0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxIncomeWebhookFireRequestWebhookCode.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The webhook codes that can be fired by this test endpoint. + */ +@JsonAdapter(SandboxIncomeWebhookFireRequestWebhookCode.Adapter.class) +public enum SandboxIncomeWebhookFireRequestWebhookCode { + + VERIFICATION("INCOME_VERIFICATION"), + + VERIFICATION_RISK_SIGNALS("INCOME_VERIFICATION_RISK_SIGNALS"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SandboxIncomeWebhookFireRequestWebhookCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SandboxIncomeWebhookFireRequestWebhookCode fromValue(String value) { + for (SandboxIncomeWebhookFireRequestWebhookCode b : SandboxIncomeWebhookFireRequestWebhookCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return SandboxIncomeWebhookFireRequestWebhookCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SandboxIncomeWebhookFireRequestWebhookCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SandboxIncomeWebhookFireRequestWebhookCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SandboxIncomeWebhookFireRequestWebhookCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SandboxItemApplicationSeedRequest.java b/src/main/java/com/plaid/client/model/SandboxItemApplicationSeedRequest.java new file mode 100644 index 0000000000..128dd68a1c --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxItemApplicationSeedRequest.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxItemApplicationSeedRequest defines the request schema for `/sandbox/item/application/seed` + */ +@ApiModel(description = "SandboxItemApplicationSeedRequest defines the request schema for `/sandbox/item/application/seed`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxItemApplicationSeedRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_APPLICATION_ID = "application_id"; + @SerializedName(SERIALIZED_NAME_APPLICATION_ID) + private String applicationId; + + + public SandboxItemApplicationSeedRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxItemApplicationSeedRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxItemApplicationSeedRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public SandboxItemApplicationSeedRequest applicationId(String applicationId) { + + this.applicationId = applicationId; + return this; + } + + /** + * This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect. + * @return applicationId + **/ + @ApiModelProperty(required = true, value = "This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect.") + + public String getApplicationId() { + return applicationId; + } + + + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxItemApplicationSeedRequest sandboxItemApplicationSeedRequest = (SandboxItemApplicationSeedRequest) o; + return Objects.equals(this.clientId, sandboxItemApplicationSeedRequest.clientId) && + Objects.equals(this.secret, sandboxItemApplicationSeedRequest.secret) && + Objects.equals(this.accessToken, sandboxItemApplicationSeedRequest.accessToken) && + Objects.equals(this.applicationId, sandboxItemApplicationSeedRequest.applicationId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, applicationId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxItemApplicationSeedRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxItemApplicationSeedResponse.java b/src/main/java/com/plaid/client/model/SandboxItemApplicationSeedResponse.java new file mode 100644 index 0000000000..742e981092 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxItemApplicationSeedResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxItemApplicationSeedResponse defines the response schema for `/sandbox/item/application/seed` + */ +@ApiModel(description = "SandboxItemApplicationSeedResponse defines the response schema for `/sandbox/item/application/seed`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxItemApplicationSeedResponse { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxItemApplicationSeedResponse itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the newly seeded item representing the application connection. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the newly seeded item representing the application connection.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public SandboxItemApplicationSeedResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxItemApplicationSeedResponse sandboxItemApplicationSeedResponse = (SandboxItemApplicationSeedResponse) o; + return Objects.equals(this.itemId, sandboxItemApplicationSeedResponse.itemId) && + Objects.equals(this.requestId, sandboxItemApplicationSeedResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxItemApplicationSeedResponse {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxItemFireWebhookRequest.java b/src/main/java/com/plaid/client/model/SandboxItemFireWebhookRequest.java new file mode 100644 index 0000000000..cf882044a2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxItemFireWebhookRequest.java @@ -0,0 +1,281 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxItemFireWebhookRequest defines the request schema for `/sandbox/item/fire_webhook` + */ +@ApiModel(description = "SandboxItemFireWebhookRequest defines the request schema for `/sandbox/item/fire_webhook`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxItemFireWebhookRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private WebhookType webhookType; + + /** + * The webhook codes that can be fired by this test endpoint. + */ + @JsonAdapter(WebhookCodeEnum.Adapter.class) + public enum WebhookCodeEnum { + DEFAULT_UPDATE("DEFAULT_UPDATE"), + + NEW_ACCOUNTS_AVAILABLE("NEW_ACCOUNTS_AVAILABLE"), + + SMS_MICRODEPOSITS_VERIFICATION("SMS_MICRODEPOSITS_VERIFICATION"), + + AUTHORIZATION_GRANTED("AUTHORIZATION_GRANTED"), + + USER_PERMISSION_REVOKED("USER_PERMISSION_REVOKED"), + + USER_ACCOUNT_REVOKED("USER_ACCOUNT_REVOKED"), + + PENDING_DISCONNECT("PENDING_DISCONNECT"), + + RECURRING_TRANSACTIONS_UPDATE("RECURRING_TRANSACTIONS_UPDATE"), + + LOGIN_REPAIRED("LOGIN_REPAIRED"), + + SYNC_UPDATES_AVAILABLE("SYNC_UPDATES_AVAILABLE"), + + PRODUCT_READY("PRODUCT_READY"), + + ERROR("ERROR"); + + private String value; + + WebhookCodeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WebhookCodeEnum fromValue(String value) { + for (WebhookCodeEnum b : WebhookCodeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WebhookCodeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WebhookCodeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WebhookCodeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private WebhookCodeEnum webhookCode; + + + public SandboxItemFireWebhookRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxItemFireWebhookRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxItemFireWebhookRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public SandboxItemFireWebhookRequest webhookType(WebhookType webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * Get webhookType + * @return webhookType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WebhookType getWebhookType() { + return webhookType; + } + + + public void setWebhookType(WebhookType webhookType) { + this.webhookType = webhookType; + } + + + public SandboxItemFireWebhookRequest webhookCode(WebhookCodeEnum webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * The webhook codes that can be fired by this test endpoint. + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "The webhook codes that can be fired by this test endpoint.") + + public WebhookCodeEnum getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(WebhookCodeEnum webhookCode) { + this.webhookCode = webhookCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxItemFireWebhookRequest sandboxItemFireWebhookRequest = (SandboxItemFireWebhookRequest) o; + return Objects.equals(this.clientId, sandboxItemFireWebhookRequest.clientId) && + Objects.equals(this.secret, sandboxItemFireWebhookRequest.secret) && + Objects.equals(this.accessToken, sandboxItemFireWebhookRequest.accessToken) && + Objects.equals(this.webhookType, sandboxItemFireWebhookRequest.webhookType) && + Objects.equals(this.webhookCode, sandboxItemFireWebhookRequest.webhookCode); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, webhookType, webhookCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxItemFireWebhookRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxItemFireWebhookResponse.java b/src/main/java/com/plaid/client/model/SandboxItemFireWebhookResponse.java new file mode 100644 index 0000000000..b6bf6d98c7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxItemFireWebhookResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxItemFireWebhookResponse defines the response schema for `/sandbox/item/fire_webhook` + */ +@ApiModel(description = "SandboxItemFireWebhookResponse defines the response schema for `/sandbox/item/fire_webhook`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxItemFireWebhookResponse { + public static final String SERIALIZED_NAME_WEBHOOK_FIRED = "webhook_fired"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_FIRED) + private Boolean webhookFired; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxItemFireWebhookResponse webhookFired(Boolean webhookFired) { + + this.webhookFired = webhookFired; + return this; + } + + /** + * Value is `true` if the test `webhook_code` was successfully fired. + * @return webhookFired + **/ + @ApiModelProperty(required = true, value = "Value is `true` if the test `webhook_code` was successfully fired.") + + public Boolean getWebhookFired() { + return webhookFired; + } + + + public void setWebhookFired(Boolean webhookFired) { + this.webhookFired = webhookFired; + } + + + public SandboxItemFireWebhookResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxItemFireWebhookResponse sandboxItemFireWebhookResponse = (SandboxItemFireWebhookResponse) o; + return Objects.equals(this.webhookFired, sandboxItemFireWebhookResponse.webhookFired) && + Objects.equals(this.requestId, sandboxItemFireWebhookResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(webhookFired, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxItemFireWebhookResponse {\n"); + sb.append(" webhookFired: ").append(toIndentedString(webhookFired)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxItemResetLoginRequest.java b/src/main/java/com/plaid/client/model/SandboxItemResetLoginRequest.java new file mode 100644 index 0000000000..b64e858a59 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxItemResetLoginRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxItemResetLoginRequest defines the request schema for `/sandbox/item/reset_login` + */ +@ApiModel(description = "SandboxItemResetLoginRequest defines the request schema for `/sandbox/item/reset_login`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxItemResetLoginRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + + public SandboxItemResetLoginRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxItemResetLoginRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxItemResetLoginRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxItemResetLoginRequest sandboxItemResetLoginRequest = (SandboxItemResetLoginRequest) o; + return Objects.equals(this.clientId, sandboxItemResetLoginRequest.clientId) && + Objects.equals(this.secret, sandboxItemResetLoginRequest.secret) && + Objects.equals(this.accessToken, sandboxItemResetLoginRequest.accessToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxItemResetLoginRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxItemResetLoginResponse.java b/src/main/java/com/plaid/client/model/SandboxItemResetLoginResponse.java new file mode 100644 index 0000000000..fb6826c1f0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxItemResetLoginResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxItemResetLoginResponse defines the response schema for `/sandbox/item/reset_login` + */ +@ApiModel(description = "SandboxItemResetLoginResponse defines the response schema for `/sandbox/item/reset_login`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxItemResetLoginResponse { + public static final String SERIALIZED_NAME_RESET_LOGIN = "reset_login"; + @SerializedName(SERIALIZED_NAME_RESET_LOGIN) + private Boolean resetLogin; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxItemResetLoginResponse resetLogin(Boolean resetLogin) { + + this.resetLogin = resetLogin; + return this; + } + + /** + * `true` if the call succeeded + * @return resetLogin + **/ + @ApiModelProperty(required = true, value = "`true` if the call succeeded") + + public Boolean getResetLogin() { + return resetLogin; + } + + + public void setResetLogin(Boolean resetLogin) { + this.resetLogin = resetLogin; + } + + + public SandboxItemResetLoginResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxItemResetLoginResponse sandboxItemResetLoginResponse = (SandboxItemResetLoginResponse) o; + return Objects.equals(this.resetLogin, sandboxItemResetLoginResponse.resetLogin) && + Objects.equals(this.requestId, sandboxItemResetLoginResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(resetLogin, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxItemResetLoginResponse {\n"); + sb.append(" resetLogin: ").append(toIndentedString(resetLogin)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxItemSetVerificationStatusRequest.java b/src/main/java/com/plaid/client/model/SandboxItemSetVerificationStatusRequest.java new file mode 100644 index 0000000000..5ba8f16312 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxItemSetVerificationStatusRequest.java @@ -0,0 +1,259 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxItemSetVerificationStatusRequest defines the request schema for `/sandbox/item/set_verification_status` + */ +@ApiModel(description = "SandboxItemSetVerificationStatusRequest defines the request schema for `/sandbox/item/set_verification_status`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxItemSetVerificationStatusRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + /** + * The verification status to set the account to. + */ + @JsonAdapter(VerificationStatusEnum.Adapter.class) + public enum VerificationStatusEnum { + AUTOMATICALLY_VERIFIED("automatically_verified"), + + VERIFICATION_EXPIRED("verification_expired"); + + private String value; + + VerificationStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static VerificationStatusEnum fromValue(String value) { + for (VerificationStatusEnum b : VerificationStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final VerificationStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public VerificationStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return VerificationStatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatusEnum verificationStatus; + + + public SandboxItemSetVerificationStatusRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxItemSetVerificationStatusRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxItemSetVerificationStatusRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public SandboxItemSetVerificationStatusRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The `account_id` of the account whose verification status is to be modified + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The `account_id` of the account whose verification status is to be modified") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public SandboxItemSetVerificationStatusRequest verificationStatus(VerificationStatusEnum verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * The verification status to set the account to. + * @return verificationStatus + **/ + @ApiModelProperty(required = true, value = "The verification status to set the account to.") + + public VerificationStatusEnum getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatusEnum verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxItemSetVerificationStatusRequest sandboxItemSetVerificationStatusRequest = (SandboxItemSetVerificationStatusRequest) o; + return Objects.equals(this.clientId, sandboxItemSetVerificationStatusRequest.clientId) && + Objects.equals(this.secret, sandboxItemSetVerificationStatusRequest.secret) && + Objects.equals(this.accessToken, sandboxItemSetVerificationStatusRequest.accessToken) && + Objects.equals(this.accountId, sandboxItemSetVerificationStatusRequest.accountId) && + Objects.equals(this.verificationStatus, sandboxItemSetVerificationStatusRequest.verificationStatus); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, accountId, verificationStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxItemSetVerificationStatusRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxItemSetVerificationStatusResponse.java b/src/main/java/com/plaid/client/model/SandboxItemSetVerificationStatusResponse.java new file mode 100644 index 0000000000..71bb263e4d --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxItemSetVerificationStatusResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxItemSetVerificationStatusResponse defines the response schema for `/sandbox/item/set_verification_status` + */ +@ApiModel(description = "SandboxItemSetVerificationStatusResponse defines the response schema for `/sandbox/item/set_verification_status`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxItemSetVerificationStatusResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxItemSetVerificationStatusResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxItemSetVerificationStatusResponse sandboxItemSetVerificationStatusResponse = (SandboxItemSetVerificationStatusResponse) o; + return Objects.equals(this.requestId, sandboxItemSetVerificationStatusResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxItemSetVerificationStatusResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxOauthSelectAccountsRequest.java b/src/main/java/com/plaid/client/model/SandboxOauthSelectAccountsRequest.java new file mode 100644 index 0000000000..f86f306ccc --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxOauthSelectAccountsRequest.java @@ -0,0 +1,133 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the request schema for `/sandbox/oauth/select_accounts` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/oauth/select_accounts`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxOauthSelectAccountsRequest { + public static final String SERIALIZED_NAME_OAUTH_STATE_ID = "oauth_state_id"; + @SerializedName(SERIALIZED_NAME_OAUTH_STATE_ID) + private String oauthStateId; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + + public SandboxOauthSelectAccountsRequest oauthStateId(String oauthStateId) { + + this.oauthStateId = oauthStateId; + return this; + } + + /** + * Get oauthStateId + * @return oauthStateId + **/ + @ApiModelProperty(required = true, value = "") + + public String getOauthStateId() { + return oauthStateId; + } + + + public void setOauthStateId(String oauthStateId) { + this.oauthStateId = oauthStateId; + } + + + public SandboxOauthSelectAccountsRequest accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public SandboxOauthSelectAccountsRequest addAccountsItem(String accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * Get accounts + * @return accounts + **/ + @ApiModelProperty(required = true, value = "") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxOauthSelectAccountsRequest sandboxOauthSelectAccountsRequest = (SandboxOauthSelectAccountsRequest) o; + return Objects.equals(this.oauthStateId, sandboxOauthSelectAccountsRequest.oauthStateId) && + Objects.equals(this.accounts, sandboxOauthSelectAccountsRequest.accounts); + } + + @Override + public int hashCode() { + return Objects.hash(oauthStateId, accounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxOauthSelectAccountsRequest {\n"); + sb.append(" oauthStateId: ").append(toIndentedString(oauthStateId)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxPaymentProfileResetLoginRequest.java b/src/main/java/com/plaid/client/model/SandboxPaymentProfileResetLoginRequest.java new file mode 100644 index 0000000000..920e2688a3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxPaymentProfileResetLoginRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxPaymentProfileResetLoginRequest defines the request schema for `/sandbox/payment_profile/reset_login` + */ +@ApiModel(description = "SandboxPaymentProfileResetLoginRequest defines the request schema for `/sandbox/payment_profile/reset_login`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxPaymentProfileResetLoginRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN = "payment_profile_token"; + @SerializedName(SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN) + private String paymentProfileToken; + + + public SandboxPaymentProfileResetLoginRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxPaymentProfileResetLoginRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxPaymentProfileResetLoginRequest paymentProfileToken(String paymentProfileToken) { + + this.paymentProfileToken = paymentProfileToken; + return this; + } + + /** + * A payment profile token associated with the Payment Profile data that is being requested. + * @return paymentProfileToken + **/ + @ApiModelProperty(required = true, value = "A payment profile token associated with the Payment Profile data that is being requested.") + + public String getPaymentProfileToken() { + return paymentProfileToken; + } + + + public void setPaymentProfileToken(String paymentProfileToken) { + this.paymentProfileToken = paymentProfileToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxPaymentProfileResetLoginRequest sandboxPaymentProfileResetLoginRequest = (SandboxPaymentProfileResetLoginRequest) o; + return Objects.equals(this.clientId, sandboxPaymentProfileResetLoginRequest.clientId) && + Objects.equals(this.secret, sandboxPaymentProfileResetLoginRequest.secret) && + Objects.equals(this.paymentProfileToken, sandboxPaymentProfileResetLoginRequest.paymentProfileToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, paymentProfileToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxPaymentProfileResetLoginRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" paymentProfileToken: ").append(toIndentedString(paymentProfileToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxPaymentProfileResetLoginResponse.java b/src/main/java/com/plaid/client/model/SandboxPaymentProfileResetLoginResponse.java new file mode 100644 index 0000000000..21421df86f --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxPaymentProfileResetLoginResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxPaymentProfileResetLoginResponse defines the response schema for `/sandbox/payment_profile/reset_login` + */ +@ApiModel(description = "SandboxPaymentProfileResetLoginResponse defines the response schema for `/sandbox/payment_profile/reset_login`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxPaymentProfileResetLoginResponse { + public static final String SERIALIZED_NAME_RESET_LOGIN = "reset_login"; + @SerializedName(SERIALIZED_NAME_RESET_LOGIN) + private Boolean resetLogin; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxPaymentProfileResetLoginResponse resetLogin(Boolean resetLogin) { + + this.resetLogin = resetLogin; + return this; + } + + /** + * `true` if the call succeeded + * @return resetLogin + **/ + @ApiModelProperty(required = true, value = "`true` if the call succeeded") + + public Boolean getResetLogin() { + return resetLogin; + } + + + public void setResetLogin(Boolean resetLogin) { + this.resetLogin = resetLogin; + } + + + public SandboxPaymentProfileResetLoginResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxPaymentProfileResetLoginResponse sandboxPaymentProfileResetLoginResponse = (SandboxPaymentProfileResetLoginResponse) o; + return Objects.equals(this.resetLogin, sandboxPaymentProfileResetLoginResponse.resetLogin) && + Objects.equals(this.requestId, sandboxPaymentProfileResetLoginResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(resetLogin, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxPaymentProfileResetLoginResponse {\n"); + sb.append(" resetLogin: ").append(toIndentedString(resetLogin)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxPaymentSimulateRequest.java b/src/main/java/com/plaid/client/model/SandboxPaymentSimulateRequest.java new file mode 100644 index 0000000000..b65003e767 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxPaymentSimulateRequest.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxPaymentSimulateRequest defines the request schema for `/sandbox/payment/simulate` + */ +@ApiModel(description = "SandboxPaymentSimulateRequest defines the request schema for `/sandbox/payment/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxPaymentSimulateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private String status; + + + public SandboxPaymentSimulateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxPaymentSimulateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxPaymentSimulateRequest paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * The ID of the payment to simulate + * @return paymentId + **/ + @ApiModelProperty(required = true, value = "The ID of the payment to simulate") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + public SandboxPaymentSimulateRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The webhook url to use for any payment events triggered by the simulated status change. + * @return webhook + **/ + @ApiModelProperty(required = true, value = "The webhook url to use for any payment events triggered by the simulated status change.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + public SandboxPaymentSimulateRequest status(String status) { + + this.status = status; + return this; + } + + /** + * The status to set the payment to. Valid statuses include: - `PAYMENT_STATUS_INITIATED` - `PAYMENT_STATUS_INSUFFICIENT_FUNDS` - `PAYMENT_STATUS_FAILED` - `PAYMENT_STATUS_EXECUTED` - `PAYMENT_STATUS_SETTLED` - `PAYMENT_STATUS_CANCELLED` - `PAYMENT_STATUS_REJECTED` + * @return status + **/ + @ApiModelProperty(required = true, value = "The status to set the payment to. Valid statuses include: - `PAYMENT_STATUS_INITIATED` - `PAYMENT_STATUS_INSUFFICIENT_FUNDS` - `PAYMENT_STATUS_FAILED` - `PAYMENT_STATUS_EXECUTED` - `PAYMENT_STATUS_SETTLED` - `PAYMENT_STATUS_CANCELLED` - `PAYMENT_STATUS_REJECTED`") + + public String getStatus() { + return status; + } + + + public void setStatus(String status) { + this.status = status; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxPaymentSimulateRequest sandboxPaymentSimulateRequest = (SandboxPaymentSimulateRequest) o; + return Objects.equals(this.clientId, sandboxPaymentSimulateRequest.clientId) && + Objects.equals(this.secret, sandboxPaymentSimulateRequest.secret) && + Objects.equals(this.paymentId, sandboxPaymentSimulateRequest.paymentId) && + Objects.equals(this.webhook, sandboxPaymentSimulateRequest.webhook) && + Objects.equals(this.status, sandboxPaymentSimulateRequest.status); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, paymentId, webhook, status); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxPaymentSimulateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxPaymentSimulateResponse.java b/src/main/java/com/plaid/client/model/SandboxPaymentSimulateResponse.java new file mode 100644 index 0000000000..1372519367 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxPaymentSimulateResponse.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationPaymentStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxPaymentSimulateResponse defines the response schema for `/sandbox/payment/simulate` + */ +@ApiModel(description = "SandboxPaymentSimulateResponse defines the response schema for `/sandbox/payment/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxPaymentSimulateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_OLD_STATUS = "old_status"; + @SerializedName(SERIALIZED_NAME_OLD_STATUS) + private PaymentInitiationPaymentStatus oldStatus; + + public static final String SERIALIZED_NAME_NEW_STATUS = "new_status"; + @SerializedName(SERIALIZED_NAME_NEW_STATUS) + private PaymentInitiationPaymentStatus newStatus; + + + public SandboxPaymentSimulateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public SandboxPaymentSimulateResponse oldStatus(PaymentInitiationPaymentStatus oldStatus) { + + this.oldStatus = oldStatus; + return this; + } + + /** + * Get oldStatus + * @return oldStatus + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationPaymentStatus getOldStatus() { + return oldStatus; + } + + + public void setOldStatus(PaymentInitiationPaymentStatus oldStatus) { + this.oldStatus = oldStatus; + } + + + public SandboxPaymentSimulateResponse newStatus(PaymentInitiationPaymentStatus newStatus) { + + this.newStatus = newStatus; + return this; + } + + /** + * Get newStatus + * @return newStatus + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentInitiationPaymentStatus getNewStatus() { + return newStatus; + } + + + public void setNewStatus(PaymentInitiationPaymentStatus newStatus) { + this.newStatus = newStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxPaymentSimulateResponse sandboxPaymentSimulateResponse = (SandboxPaymentSimulateResponse) o; + return Objects.equals(this.requestId, sandboxPaymentSimulateResponse.requestId) && + Objects.equals(this.oldStatus, sandboxPaymentSimulateResponse.oldStatus) && + Objects.equals(this.newStatus, sandboxPaymentSimulateResponse.newStatus); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, oldStatus, newStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxPaymentSimulateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" oldStatus: ").append(toIndentedString(oldStatus)).append("\n"); + sb.append(" newStatus: ").append(toIndentedString(newStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxProcessorTokenCreateRequest.java b/src/main/java/com/plaid/client/model/SandboxProcessorTokenCreateRequest.java new file mode 100644 index 0000000000..42000dafc0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxProcessorTokenCreateRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SandboxProcessorTokenCreateRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxProcessorTokenCreateRequest defines the request schema for `/sandbox/processor_token/create` + */ +@ApiModel(description = "SandboxProcessorTokenCreateRequest defines the request schema for `/sandbox/processor_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxProcessorTokenCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private SandboxProcessorTokenCreateRequestOptions options; + + + public SandboxProcessorTokenCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxProcessorTokenCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxProcessorTokenCreateRequest institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The ID of the institution the Item will be associated with + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The ID of the institution the Item will be associated with") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public SandboxProcessorTokenCreateRequest options(SandboxProcessorTokenCreateRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SandboxProcessorTokenCreateRequestOptions getOptions() { + return options; + } + + + public void setOptions(SandboxProcessorTokenCreateRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxProcessorTokenCreateRequest sandboxProcessorTokenCreateRequest = (SandboxProcessorTokenCreateRequest) o; + return Objects.equals(this.clientId, sandboxProcessorTokenCreateRequest.clientId) && + Objects.equals(this.secret, sandboxProcessorTokenCreateRequest.secret) && + Objects.equals(this.institutionId, sandboxProcessorTokenCreateRequest.institutionId) && + Objects.equals(this.options, sandboxProcessorTokenCreateRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, institutionId, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxProcessorTokenCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxProcessorTokenCreateRequestOptions.java b/src/main/java/com/plaid/client/model/SandboxProcessorTokenCreateRequestOptions.java new file mode 100644 index 0000000000..efca226127 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxProcessorTokenCreateRequestOptions.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional set of options to be used when configuring the Item. If specified, must not be `null`. + */ +@ApiModel(description = "An optional set of options to be used when configuring the Item. If specified, must not be `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxProcessorTokenCreateRequestOptions { + public static final String SERIALIZED_NAME_OVERRIDE_USERNAME = "override_username"; + @SerializedName(SERIALIZED_NAME_OVERRIDE_USERNAME) + private String overrideUsername = "user_good"; + + public static final String SERIALIZED_NAME_OVERRIDE_PASSWORD = "override_password"; + @SerializedName(SERIALIZED_NAME_OVERRIDE_PASSWORD) + private String overridePassword = "pass_good"; + + + public SandboxProcessorTokenCreateRequestOptions overrideUsername(String overrideUsername) { + + this.overrideUsername = overrideUsername; + return this; + } + + /** + * Test username to use for the creation of the Sandbox Item. Default value is `user_good`. You can also use a custom test user — either set this to the username of a custom user configured in the Dashboard, or set it to `user_custom` and pass the JSON-stringified custom user configuration object as `override_password` to define one entirely via API. See [Sandbox Custom Users](https://plaid.com/docs/sandbox/user-custom) for more details. + * @return overrideUsername + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Test username to use for the creation of the Sandbox Item. Default value is `user_good`. You can also use a custom test user — either set this to the username of a custom user configured in the Dashboard, or set it to `user_custom` and pass the JSON-stringified custom user configuration object as `override_password` to define one entirely via API. See [Sandbox Custom Users](https://plaid.com/docs/sandbox/user-custom) for more details.") + + public String getOverrideUsername() { + return overrideUsername; + } + + + public void setOverrideUsername(String overrideUsername) { + this.overrideUsername = overrideUsername; + } + + + public SandboxProcessorTokenCreateRequestOptions overridePassword(String overridePassword) { + + this.overridePassword = overridePassword; + return this; + } + + /** + * Test password to use for the creation of the Sandbox Item. Default value is `pass_good`. You can also use a custom test user — reference one configured in the Dashboard via `override_username`, or set `override_username` to `user_custom` and pass the JSON-stringified custom user configuration object as this field to define one entirely via API. See [Sandbox Custom Users](https://plaid.com/docs/sandbox/user-custom) for more details. + * @return overridePassword + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Test password to use for the creation of the Sandbox Item. Default value is `pass_good`. You can also use a custom test user — reference one configured in the Dashboard via `override_username`, or set `override_username` to `user_custom` and pass the JSON-stringified custom user configuration object as this field to define one entirely via API. See [Sandbox Custom Users](https://plaid.com/docs/sandbox/user-custom) for more details.") + + public String getOverridePassword() { + return overridePassword; + } + + + public void setOverridePassword(String overridePassword) { + this.overridePassword = overridePassword; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxProcessorTokenCreateRequestOptions sandboxProcessorTokenCreateRequestOptions = (SandboxProcessorTokenCreateRequestOptions) o; + return Objects.equals(this.overrideUsername, sandboxProcessorTokenCreateRequestOptions.overrideUsername) && + Objects.equals(this.overridePassword, sandboxProcessorTokenCreateRequestOptions.overridePassword); + } + + @Override + public int hashCode() { + return Objects.hash(overrideUsername, overridePassword); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxProcessorTokenCreateRequestOptions {\n"); + sb.append(" overrideUsername: ").append(toIndentedString(overrideUsername)).append("\n"); + sb.append(" overridePassword: ").append(toIndentedString(overridePassword)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxProcessorTokenCreateResponse.java b/src/main/java/com/plaid/client/model/SandboxProcessorTokenCreateResponse.java new file mode 100644 index 0000000000..214a2a5806 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxProcessorTokenCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxProcessorTokenCreateResponse defines the response schema for `/sandbox/processor_token/create` + */ +@ApiModel(description = "SandboxProcessorTokenCreateResponse defines the response schema for `/sandbox/processor_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxProcessorTokenCreateResponse { + public static final String SERIALIZED_NAME_PROCESSOR_TOKEN = "processor_token"; + @SerializedName(SERIALIZED_NAME_PROCESSOR_TOKEN) + private String processorToken; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxProcessorTokenCreateResponse processorToken(String processorToken) { + + this.processorToken = processorToken; + return this; + } + + /** + * A processor token that can be used to call the `/processor/` endpoints. + * @return processorToken + **/ + @ApiModelProperty(required = true, value = "A processor token that can be used to call the `/processor/` endpoints.") + + public String getProcessorToken() { + return processorToken; + } + + + public void setProcessorToken(String processorToken) { + this.processorToken = processorToken; + } + + + public SandboxProcessorTokenCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxProcessorTokenCreateResponse sandboxProcessorTokenCreateResponse = (SandboxProcessorTokenCreateResponse) o; + return Objects.equals(this.processorToken, sandboxProcessorTokenCreateResponse.processorToken) && + Objects.equals(this.requestId, sandboxProcessorTokenCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(processorToken, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxProcessorTokenCreateResponse {\n"); + sb.append(" processorToken: ").append(toIndentedString(processorToken)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequest.java b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequest.java new file mode 100644 index 0000000000..951ef3e2d5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequest.java @@ -0,0 +1,280 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Products; +import com.plaid.client.model.SandboxPublicTokenCreateRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * SandboxPublicTokenCreateRequest defines the request schema for `/sandbox/public_token/create` + */ +@ApiModel(description = "SandboxPublicTokenCreateRequest defines the request schema for `/sandbox/public_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxPublicTokenCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INITIAL_PRODUCTS = "initial_products"; + @SerializedName(SERIALIZED_NAME_INITIAL_PRODUCTS) + private List initialProducts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private SandboxPublicTokenCreateRequestOptions options; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public SandboxPublicTokenCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxPublicTokenCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxPublicTokenCreateRequest institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The ID of the institution the Item will be associated with + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The ID of the institution the Item will be associated with") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public SandboxPublicTokenCreateRequest initialProducts(List initialProducts) { + + this.initialProducts = initialProducts; + return this; + } + + public SandboxPublicTokenCreateRequest addInitialProductsItem(Products initialProductsItem) { + this.initialProducts.add(initialProductsItem); + return this; + } + + /** + * The products to initially pull for the Item. May be any products that the specified `institution_id` supports. This array may not be empty. + * @return initialProducts + **/ + @ApiModelProperty(required = true, value = "The products to initially pull for the Item. May be any products that the specified `institution_id` supports. This array may not be empty.") + + public List getInitialProducts() { + return initialProducts; + } + + + public void setInitialProducts(List initialProducts) { + this.initialProducts = initialProducts; + } + + + public SandboxPublicTokenCreateRequest options(SandboxPublicTokenCreateRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SandboxPublicTokenCreateRequestOptions getOptions() { + return options; + } + + + public void setOptions(SandboxPublicTokenCreateRequestOptions options) { + this.options = options; + } + + + public SandboxPublicTokenCreateRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public SandboxPublicTokenCreateRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxPublicTokenCreateRequest sandboxPublicTokenCreateRequest = (SandboxPublicTokenCreateRequest) o; + return Objects.equals(this.clientId, sandboxPublicTokenCreateRequest.clientId) && + Objects.equals(this.secret, sandboxPublicTokenCreateRequest.secret) && + Objects.equals(this.institutionId, sandboxPublicTokenCreateRequest.institutionId) && + Objects.equals(this.initialProducts, sandboxPublicTokenCreateRequest.initialProducts) && + Objects.equals(this.options, sandboxPublicTokenCreateRequest.options) && + Objects.equals(this.userToken, sandboxPublicTokenCreateRequest.userToken) && + Objects.equals(this.userId, sandboxPublicTokenCreateRequest.userId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, institutionId, initialProducts, options, userToken, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxPublicTokenCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" initialProducts: ").append(toIndentedString(initialProducts)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestIncomeVerificationBankIncome.java b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestIncomeVerificationBankIncome.java new file mode 100644 index 0000000000..8c9e103e17 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestIncomeVerificationBankIncome.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specifies options for Bank Income. This field is required if `income_verification` is included in the `initial_products` array and `bank` is specified in `income_source_types`. + */ +@ApiModel(description = "Specifies options for Bank Income. This field is required if `income_verification` is included in the `initial_products` array and `bank` is specified in `income_source_types`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxPublicTokenCreateRequestIncomeVerificationBankIncome { + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested; + + + public SandboxPublicTokenCreateRequestIncomeVerificationBankIncome daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The number of days of data to request for the Bank Income product + * @return daysRequested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days of data to request for the Bank Income product") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxPublicTokenCreateRequestIncomeVerificationBankIncome sandboxPublicTokenCreateRequestIncomeVerificationBankIncome = (SandboxPublicTokenCreateRequestIncomeVerificationBankIncome) o; + return Objects.equals(this.daysRequested, sandboxPublicTokenCreateRequestIncomeVerificationBankIncome.daysRequested); + } + + @Override + public int hashCode() { + return Objects.hash(daysRequested); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxPublicTokenCreateRequestIncomeVerificationBankIncome {\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestOptions.java b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestOptions.java new file mode 100644 index 0000000000..f431b53e40 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestOptions.java @@ -0,0 +1,247 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SandboxPublicTokenCreateRequestOptionsIncomeVerification; +import com.plaid.client.model.SandboxPublicTokenCreateRequestOptionsStatements; +import com.plaid.client.model.SandboxPublicTokenCreateRequestOptionsTransactions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional set of options to be used when configuring the Item. If specified, must not be `null`. + */ +@ApiModel(description = "An optional set of options to be used when configuring the Item. If specified, must not be `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxPublicTokenCreateRequestOptions { + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + public static final String SERIALIZED_NAME_OVERRIDE_USERNAME = "override_username"; + @SerializedName(SERIALIZED_NAME_OVERRIDE_USERNAME) + private String overrideUsername = "user_good"; + + public static final String SERIALIZED_NAME_OVERRIDE_PASSWORD = "override_password"; + @SerializedName(SERIALIZED_NAME_OVERRIDE_PASSWORD) + private String overridePassword = "pass_good"; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private SandboxPublicTokenCreateRequestOptionsTransactions transactions; + + public static final String SERIALIZED_NAME_STATEMENTS = "statements"; + @SerializedName(SERIALIZED_NAME_STATEMENTS) + private SandboxPublicTokenCreateRequestOptionsStatements statements; + + public static final String SERIALIZED_NAME_INCOME_VERIFICATION = "income_verification"; + @SerializedName(SERIALIZED_NAME_INCOME_VERIFICATION) + private SandboxPublicTokenCreateRequestOptionsIncomeVerification incomeVerification; + + + public SandboxPublicTokenCreateRequestOptions webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * Specify a webhook to associate with the new Item. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify a webhook to associate with the new Item.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + public SandboxPublicTokenCreateRequestOptions overrideUsername(String overrideUsername) { + + this.overrideUsername = overrideUsername; + return this; + } + + /** + * Test username to use for the creation of the Sandbox Item. Default value is `user_good`. You can also use a custom test user — either set this to the username of a custom user configured in the Dashboard, or set it to `user_custom` and pass the JSON-stringified custom user configuration object as `override_password` to define one entirely via API. See [Sandbox Custom Users](https://plaid.com/docs/sandbox/user-custom) for more details. + * @return overrideUsername + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Test username to use for the creation of the Sandbox Item. Default value is `user_good`. You can also use a custom test user — either set this to the username of a custom user configured in the Dashboard, or set it to `user_custom` and pass the JSON-stringified custom user configuration object as `override_password` to define one entirely via API. See [Sandbox Custom Users](https://plaid.com/docs/sandbox/user-custom) for more details.") + + public String getOverrideUsername() { + return overrideUsername; + } + + + public void setOverrideUsername(String overrideUsername) { + this.overrideUsername = overrideUsername; + } + + + public SandboxPublicTokenCreateRequestOptions overridePassword(String overridePassword) { + + this.overridePassword = overridePassword; + return this; + } + + /** + * Test password to use for the creation of the Sandbox Item. Default value is `pass_good`. You can also use a custom test user — reference one configured in the Dashboard via `override_username`, or set `override_username` to `user_custom` and pass the JSON-stringified custom user configuration object as this field to define one entirely via API. See [Sandbox Custom Users](https://plaid.com/docs/sandbox/user-custom) for more details. + * @return overridePassword + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Test password to use for the creation of the Sandbox Item. Default value is `pass_good`. You can also use a custom test user — reference one configured in the Dashboard via `override_username`, or set `override_username` to `user_custom` and pass the JSON-stringified custom user configuration object as this field to define one entirely via API. See [Sandbox Custom Users](https://plaid.com/docs/sandbox/user-custom) for more details.") + + public String getOverridePassword() { + return overridePassword; + } + + + public void setOverridePassword(String overridePassword) { + this.overridePassword = overridePassword; + } + + + public SandboxPublicTokenCreateRequestOptions transactions(SandboxPublicTokenCreateRequestOptionsTransactions transactions) { + + this.transactions = transactions; + return this; + } + + /** + * Get transactions + * @return transactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SandboxPublicTokenCreateRequestOptionsTransactions getTransactions() { + return transactions; + } + + + public void setTransactions(SandboxPublicTokenCreateRequestOptionsTransactions transactions) { + this.transactions = transactions; + } + + + public SandboxPublicTokenCreateRequestOptions statements(SandboxPublicTokenCreateRequestOptionsStatements statements) { + + this.statements = statements; + return this; + } + + /** + * Get statements + * @return statements + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SandboxPublicTokenCreateRequestOptionsStatements getStatements() { + return statements; + } + + + public void setStatements(SandboxPublicTokenCreateRequestOptionsStatements statements) { + this.statements = statements; + } + + + public SandboxPublicTokenCreateRequestOptions incomeVerification(SandboxPublicTokenCreateRequestOptionsIncomeVerification incomeVerification) { + + this.incomeVerification = incomeVerification; + return this; + } + + /** + * Get incomeVerification + * @return incomeVerification + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SandboxPublicTokenCreateRequestOptionsIncomeVerification getIncomeVerification() { + return incomeVerification; + } + + + public void setIncomeVerification(SandboxPublicTokenCreateRequestOptionsIncomeVerification incomeVerification) { + this.incomeVerification = incomeVerification; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxPublicTokenCreateRequestOptions sandboxPublicTokenCreateRequestOptions = (SandboxPublicTokenCreateRequestOptions) o; + return Objects.equals(this.webhook, sandboxPublicTokenCreateRequestOptions.webhook) && + Objects.equals(this.overrideUsername, sandboxPublicTokenCreateRequestOptions.overrideUsername) && + Objects.equals(this.overridePassword, sandboxPublicTokenCreateRequestOptions.overridePassword) && + Objects.equals(this.transactions, sandboxPublicTokenCreateRequestOptions.transactions) && + Objects.equals(this.statements, sandboxPublicTokenCreateRequestOptions.statements) && + Objects.equals(this.incomeVerification, sandboxPublicTokenCreateRequestOptions.incomeVerification); + } + + @Override + public int hashCode() { + return Objects.hash(webhook, overrideUsername, overridePassword, transactions, statements, incomeVerification); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxPublicTokenCreateRequestOptions {\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append(" overrideUsername: ").append(toIndentedString(overrideUsername)).append("\n"); + sb.append(" overridePassword: ").append(toIndentedString(overridePassword)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" statements: ").append(toIndentedString(statements)).append("\n"); + sb.append(" incomeVerification: ").append(toIndentedString(incomeVerification)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestOptionsIncomeVerification.java b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestOptionsIncomeVerification.java new file mode 100644 index 0000000000..9521f91107 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestOptionsIncomeVerification.java @@ -0,0 +1,140 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeVerificationSourceType; +import com.plaid.client.model.SandboxPublicTokenCreateRequestIncomeVerificationBankIncome; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A set of parameters for income verification options. This field is required if `income_verification` is included in the `initial_products` array. + */ +@ApiModel(description = "A set of parameters for income verification options. This field is required if `income_verification` is included in the `initial_products` array.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxPublicTokenCreateRequestOptionsIncomeVerification { + public static final String SERIALIZED_NAME_INCOME_SOURCE_TYPES = "income_source_types"; + @SerializedName(SERIALIZED_NAME_INCOME_SOURCE_TYPES) + private List incomeSourceTypes = null; + + public static final String SERIALIZED_NAME_BANK_INCOME = "bank_income"; + @SerializedName(SERIALIZED_NAME_BANK_INCOME) + private SandboxPublicTokenCreateRequestIncomeVerificationBankIncome bankIncome; + + + public SandboxPublicTokenCreateRequestOptionsIncomeVerification incomeSourceTypes(List incomeSourceTypes) { + + this.incomeSourceTypes = incomeSourceTypes; + return this; + } + + public SandboxPublicTokenCreateRequestOptionsIncomeVerification addIncomeSourceTypesItem(IncomeVerificationSourceType incomeSourceTypesItem) { + if (this.incomeSourceTypes == null) { + this.incomeSourceTypes = new ArrayList<>(); + } + this.incomeSourceTypes.add(incomeSourceTypesItem); + return this; + } + + /** + * The types of source income data that users will be permitted to share. Options include `bank` and `payroll`. Currently you can only specify one of these options. + * @return incomeSourceTypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The types of source income data that users will be permitted to share. Options include `bank` and `payroll`. Currently you can only specify one of these options.") + + public List getIncomeSourceTypes() { + return incomeSourceTypes; + } + + + public void setIncomeSourceTypes(List incomeSourceTypes) { + this.incomeSourceTypes = incomeSourceTypes; + } + + + public SandboxPublicTokenCreateRequestOptionsIncomeVerification bankIncome(SandboxPublicTokenCreateRequestIncomeVerificationBankIncome bankIncome) { + + this.bankIncome = bankIncome; + return this; + } + + /** + * Get bankIncome + * @return bankIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SandboxPublicTokenCreateRequestIncomeVerificationBankIncome getBankIncome() { + return bankIncome; + } + + + public void setBankIncome(SandboxPublicTokenCreateRequestIncomeVerificationBankIncome bankIncome) { + this.bankIncome = bankIncome; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxPublicTokenCreateRequestOptionsIncomeVerification sandboxPublicTokenCreateRequestOptionsIncomeVerification = (SandboxPublicTokenCreateRequestOptionsIncomeVerification) o; + return Objects.equals(this.incomeSourceTypes, sandboxPublicTokenCreateRequestOptionsIncomeVerification.incomeSourceTypes) && + Objects.equals(this.bankIncome, sandboxPublicTokenCreateRequestOptionsIncomeVerification.bankIncome); + } + + @Override + public int hashCode() { + return Objects.hash(incomeSourceTypes, bankIncome); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxPublicTokenCreateRequestOptionsIncomeVerification {\n"); + sb.append(" incomeSourceTypes: ").append(toIndentedString(incomeSourceTypes)).append("\n"); + sb.append(" bankIncome: ").append(toIndentedString(bankIncome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestOptionsStatements.java b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestOptionsStatements.java new file mode 100644 index 0000000000..75d802d77e --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestOptionsStatements.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An optional set of parameters corresponding to statements options. + */ +@ApiModel(description = "An optional set of parameters corresponding to statements options.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxPublicTokenCreateRequestOptionsStatements { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + + public SandboxPublicTokenCreateRequestOptionsStatements startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The earliest date for which to fetch statements history. Dates should be formatted as YYYY-MM-DD. + * @return startDate + **/ + @ApiModelProperty(required = true, value = "The earliest date for which to fetch statements history. Dates should be formatted as YYYY-MM-DD.") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public SandboxPublicTokenCreateRequestOptionsStatements endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The most recent date for which to fetch statements history. Dates should be formatted as YYYY-MM-DD. + * @return endDate + **/ + @ApiModelProperty(required = true, value = "The most recent date for which to fetch statements history. Dates should be formatted as YYYY-MM-DD.") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxPublicTokenCreateRequestOptionsStatements sandboxPublicTokenCreateRequestOptionsStatements = (SandboxPublicTokenCreateRequestOptionsStatements) o; + return Objects.equals(this.startDate, sandboxPublicTokenCreateRequestOptionsStatements.startDate) && + Objects.equals(this.endDate, sandboxPublicTokenCreateRequestOptionsStatements.endDate); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxPublicTokenCreateRequestOptionsStatements {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestOptionsTransactions.java b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestOptionsTransactions.java new file mode 100644 index 0000000000..987d298ea3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateRequestOptionsTransactions.java @@ -0,0 +1,160 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An optional set of parameters corresponding to transactions options. + */ +@ApiModel(description = "An optional set of parameters corresponding to transactions options.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxPublicTokenCreateRequestOptionsTransactions { + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested = 90; + + + public SandboxPublicTokenCreateRequestOptionsTransactions startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The earliest date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD. + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The earliest date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD.") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public SandboxPublicTokenCreateRequestOptionsTransactions endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The most recent date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD. + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The most recent date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD.") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public SandboxPublicTokenCreateRequestOptionsTransactions daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * The maximum number of days of transaction history to request for the Transactions product. + * minimum: 1 + * maximum: 730 + * @return daysRequested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of days of transaction history to request for the Transactions product.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxPublicTokenCreateRequestOptionsTransactions sandboxPublicTokenCreateRequestOptionsTransactions = (SandboxPublicTokenCreateRequestOptionsTransactions) o; + return Objects.equals(this.startDate, sandboxPublicTokenCreateRequestOptionsTransactions.startDate) && + Objects.equals(this.endDate, sandboxPublicTokenCreateRequestOptionsTransactions.endDate) && + Objects.equals(this.daysRequested, sandboxPublicTokenCreateRequestOptionsTransactions.daysRequested); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate, daysRequested); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxPublicTokenCreateRequestOptionsTransactions {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateResponse.java b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateResponse.java new file mode 100644 index 0000000000..44db6836e4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxPublicTokenCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxPublicTokenCreateResponse defines the response schema for `/sandbox/public_token/create` + */ +@ApiModel(description = "SandboxPublicTokenCreateResponse defines the response schema for `/sandbox/public_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxPublicTokenCreateResponse { + public static final String SERIALIZED_NAME_PUBLIC_TOKEN = "public_token"; + @SerializedName(SERIALIZED_NAME_PUBLIC_TOKEN) + private String publicToken; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxPublicTokenCreateResponse publicToken(String publicToken) { + + this.publicToken = publicToken; + return this; + } + + /** + * A public token that can be exchanged for an access token using `/item/public_token/exchange` + * @return publicToken + **/ + @ApiModelProperty(required = true, value = "A public token that can be exchanged for an access token using `/item/public_token/exchange`") + + public String getPublicToken() { + return publicToken; + } + + + public void setPublicToken(String publicToken) { + this.publicToken = publicToken; + } + + + public SandboxPublicTokenCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxPublicTokenCreateResponse sandboxPublicTokenCreateResponse = (SandboxPublicTokenCreateResponse) o; + return Objects.equals(this.publicToken, sandboxPublicTokenCreateResponse.publicToken) && + Objects.equals(this.requestId, sandboxPublicTokenCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(publicToken, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxPublicTokenCreateResponse {\n"); + sb.append(" publicToken: ").append(toIndentedString(publicToken)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransactionsCreateRequest.java b/src/main/java/com/plaid/client/model/SandboxTransactionsCreateRequest.java new file mode 100644 index 0000000000..c47955a92a --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransactionsCreateRequest.java @@ -0,0 +1,192 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CustomSandboxTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * SandboxTransactionsCreateRequest defines the request schema for `/sandbox/transactions/create` + */ +@ApiModel(description = "SandboxTransactionsCreateRequest defines the request schema for `/sandbox/transactions/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransactionsCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + + public SandboxTransactionsCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxTransactionsCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxTransactionsCreateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public SandboxTransactionsCreateRequest transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public SandboxTransactionsCreateRequest addTransactionsItem(CustomSandboxTransaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * List of transactions to be added + * @return transactions + **/ + @ApiModelProperty(required = true, value = "List of transactions to be added") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransactionsCreateRequest sandboxTransactionsCreateRequest = (SandboxTransactionsCreateRequest) o; + return Objects.equals(this.clientId, sandboxTransactionsCreateRequest.clientId) && + Objects.equals(this.secret, sandboxTransactionsCreateRequest.secret) && + Objects.equals(this.accessToken, sandboxTransactionsCreateRequest.accessToken) && + Objects.equals(this.transactions, sandboxTransactionsCreateRequest.transactions); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, transactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransactionsCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransactionsCreateResponse.java b/src/main/java/com/plaid/client/model/SandboxTransactionsCreateResponse.java new file mode 100644 index 0000000000..f11e9e7175 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransactionsCreateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxTransactionsCreateResponse defines the response schema for `/sandbox/transactions/create` + */ +@ApiModel(description = "SandboxTransactionsCreateResponse defines the response schema for `/sandbox/transactions/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransactionsCreateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransactionsCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransactionsCreateResponse sandboxTransactionsCreateResponse = (SandboxTransactionsCreateResponse) o; + return Objects.equals(this.requestId, sandboxTransactionsCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransactionsCreateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferFireWebhookRequest.java b/src/main/java/com/plaid/client/model/SandboxTransferFireWebhookRequest.java new file mode 100644 index 0000000000..b53efb7928 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferFireWebhookRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/sandbox/transfer/fire_webhook` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/transfer/fire_webhook`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferFireWebhookRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public SandboxTransferFireWebhookRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxTransferFireWebhookRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxTransferFireWebhookRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The URL to which the webhook should be sent. + * @return webhook + **/ + @ApiModelProperty(required = true, value = "The URL to which the webhook should be sent.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferFireWebhookRequest sandboxTransferFireWebhookRequest = (SandboxTransferFireWebhookRequest) o; + return Objects.equals(this.clientId, sandboxTransferFireWebhookRequest.clientId) && + Objects.equals(this.secret, sandboxTransferFireWebhookRequest.secret) && + Objects.equals(this.webhook, sandboxTransferFireWebhookRequest.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferFireWebhookRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferFireWebhookResponse.java b/src/main/java/com/plaid/client/model/SandboxTransferFireWebhookResponse.java new file mode 100644 index 0000000000..75929dad74 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferFireWebhookResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/transfer/fire_webhook` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/transfer/fire_webhook`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferFireWebhookResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransferFireWebhookResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferFireWebhookResponse sandboxTransferFireWebhookResponse = (SandboxTransferFireWebhookResponse) o; + return Objects.equals(this.requestId, sandboxTransferFireWebhookResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferFireWebhookResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferLedgerDepositSimulateRequest.java b/src/main/java/com/plaid/client/model/SandboxTransferLedgerDepositSimulateRequest.java new file mode 100644 index 0000000000..e3858b5423 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferLedgerDepositSimulateRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferFailure; +import com.plaid.client.model.TransferLedgerSweepSimulateEventType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/sandbox/transfer/ledger/deposit/simulate` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/transfer/ledger/deposit/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferLedgerDepositSimulateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_SWEEP_ID = "sweep_id"; + @SerializedName(SERIALIZED_NAME_SWEEP_ID) + private String sweepId; + + public static final String SERIALIZED_NAME_EVENT_TYPE = "event_type"; + @SerializedName(SERIALIZED_NAME_EVENT_TYPE) + private TransferLedgerSweepSimulateEventType eventType; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private TransferFailure failureReason; + + + public SandboxTransferLedgerDepositSimulateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxTransferLedgerDepositSimulateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxTransferLedgerDepositSimulateRequest sweepId(String sweepId) { + + this.sweepId = sweepId; + return this; + } + + /** + * Plaid's unique identifier for a sweep. + * @return sweepId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a sweep.") + + public String getSweepId() { + return sweepId; + } + + + public void setSweepId(String sweepId) { + this.sweepId = sweepId; + } + + + public SandboxTransferLedgerDepositSimulateRequest eventType(TransferLedgerSweepSimulateEventType eventType) { + + this.eventType = eventType; + return this; + } + + /** + * Get eventType + * @return eventType + **/ + @ApiModelProperty(required = true, value = "") + + public TransferLedgerSweepSimulateEventType getEventType() { + return eventType; + } + + + public void setEventType(TransferLedgerSweepSimulateEventType eventType) { + this.eventType = eventType; + } + + + public SandboxTransferLedgerDepositSimulateRequest failureReason(TransferFailure failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferFailure getFailureReason() { + return failureReason; + } + + + public void setFailureReason(TransferFailure failureReason) { + this.failureReason = failureReason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferLedgerDepositSimulateRequest sandboxTransferLedgerDepositSimulateRequest = (SandboxTransferLedgerDepositSimulateRequest) o; + return Objects.equals(this.clientId, sandboxTransferLedgerDepositSimulateRequest.clientId) && + Objects.equals(this.secret, sandboxTransferLedgerDepositSimulateRequest.secret) && + Objects.equals(this.sweepId, sandboxTransferLedgerDepositSimulateRequest.sweepId) && + Objects.equals(this.eventType, sandboxTransferLedgerDepositSimulateRequest.eventType) && + Objects.equals(this.failureReason, sandboxTransferLedgerDepositSimulateRequest.failureReason); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, sweepId, eventType, failureReason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferLedgerDepositSimulateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" sweepId: ").append(toIndentedString(sweepId)).append("\n"); + sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferLedgerDepositSimulateResponse.java b/src/main/java/com/plaid/client/model/SandboxTransferLedgerDepositSimulateResponse.java new file mode 100644 index 0000000000..f8037cbda9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferLedgerDepositSimulateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/transfer/ledger/deposit/simulate` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/transfer/ledger/deposit/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferLedgerDepositSimulateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransferLedgerDepositSimulateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferLedgerDepositSimulateResponse sandboxTransferLedgerDepositSimulateResponse = (SandboxTransferLedgerDepositSimulateResponse) o; + return Objects.equals(this.requestId, sandboxTransferLedgerDepositSimulateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferLedgerDepositSimulateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferLedgerSimulateAvailableRequest.java b/src/main/java/com/plaid/client/model/SandboxTransferLedgerSimulateAvailableRequest.java new file mode 100644 index 0000000000..394297b467 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferLedgerSimulateAvailableRequest.java @@ -0,0 +1,244 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/sandbox/transfer/ledger/simulate_available` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/transfer/ledger/simulate_available`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferLedgerSimulateAvailableRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_TEST_CLOCK_ID = "test_clock_id"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK_ID) + private String testClockId; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public SandboxTransferLedgerSimulateAvailableRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxTransferLedgerSimulateAvailableRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxTransferLedgerSimulateAvailableRequest ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * Specify which ledger balance to simulate converting pending balance to available balance. If this field is left blank, this will default to the id of the default ledger balance. + * @return ledgerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify which ledger balance to simulate converting pending balance to available balance. If this field is left blank, this will default to the id of the default ledger balance.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public SandboxTransferLedgerSimulateAvailableRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * Client ID of the end customer (i.e. the originator). Only applicable to Transfer for Platforms customers. + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client ID of the end customer (i.e. the originator). Only applicable to Transfer for Platforms customers.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public SandboxTransferLedgerSimulateAvailableRequest testClockId(String testClockId) { + + this.testClockId = testClockId; + return this; + } + + /** + * Plaid's unique identifier for a test clock. If provided, only the pending balance that is due before the `virtual_time` on the test clock will be converted. + * @return testClockId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a test clock. If provided, only the pending balance that is due before the `virtual_time` on the test clock will be converted.") + + public String getTestClockId() { + return testClockId; + } + + + public void setTestClockId(String testClockId) { + this.testClockId = testClockId; + } + + + public SandboxTransferLedgerSimulateAvailableRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The webhook URL to which a `TRANSFER_EVENTS_UPDATE` webhook should be sent. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The webhook URL to which a `TRANSFER_EVENTS_UPDATE` webhook should be sent.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferLedgerSimulateAvailableRequest sandboxTransferLedgerSimulateAvailableRequest = (SandboxTransferLedgerSimulateAvailableRequest) o; + return Objects.equals(this.clientId, sandboxTransferLedgerSimulateAvailableRequest.clientId) && + Objects.equals(this.secret, sandboxTransferLedgerSimulateAvailableRequest.secret) && + Objects.equals(this.ledgerId, sandboxTransferLedgerSimulateAvailableRequest.ledgerId) && + Objects.equals(this.originatorClientId, sandboxTransferLedgerSimulateAvailableRequest.originatorClientId) && + Objects.equals(this.testClockId, sandboxTransferLedgerSimulateAvailableRequest.testClockId) && + Objects.equals(this.webhook, sandboxTransferLedgerSimulateAvailableRequest.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, ledgerId, originatorClientId, testClockId, webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferLedgerSimulateAvailableRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" testClockId: ").append(toIndentedString(testClockId)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferLedgerSimulateAvailableResponse.java b/src/main/java/com/plaid/client/model/SandboxTransferLedgerSimulateAvailableResponse.java new file mode 100644 index 0000000000..b9177c8ab2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferLedgerSimulateAvailableResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/transfer/ledger/simulate_available` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/transfer/ledger/simulate_available`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferLedgerSimulateAvailableResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransferLedgerSimulateAvailableResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferLedgerSimulateAvailableResponse sandboxTransferLedgerSimulateAvailableResponse = (SandboxTransferLedgerSimulateAvailableResponse) o; + return Objects.equals(this.requestId, sandboxTransferLedgerSimulateAvailableResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferLedgerSimulateAvailableResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferLedgerWithdrawSimulateRequest.java b/src/main/java/com/plaid/client/model/SandboxTransferLedgerWithdrawSimulateRequest.java new file mode 100644 index 0000000000..09b1303206 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferLedgerWithdrawSimulateRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferFailure; +import com.plaid.client.model.TransferLedgerSweepSimulateEventType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/sandbox/transfer/ledger/withdraw/simulate` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/transfer/ledger/withdraw/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferLedgerWithdrawSimulateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_SWEEP_ID = "sweep_id"; + @SerializedName(SERIALIZED_NAME_SWEEP_ID) + private String sweepId; + + public static final String SERIALIZED_NAME_EVENT_TYPE = "event_type"; + @SerializedName(SERIALIZED_NAME_EVENT_TYPE) + private TransferLedgerSweepSimulateEventType eventType; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private TransferFailure failureReason; + + + public SandboxTransferLedgerWithdrawSimulateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxTransferLedgerWithdrawSimulateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxTransferLedgerWithdrawSimulateRequest sweepId(String sweepId) { + + this.sweepId = sweepId; + return this; + } + + /** + * Plaid's unique identifier for a sweep. + * @return sweepId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a sweep.") + + public String getSweepId() { + return sweepId; + } + + + public void setSweepId(String sweepId) { + this.sweepId = sweepId; + } + + + public SandboxTransferLedgerWithdrawSimulateRequest eventType(TransferLedgerSweepSimulateEventType eventType) { + + this.eventType = eventType; + return this; + } + + /** + * Get eventType + * @return eventType + **/ + @ApiModelProperty(required = true, value = "") + + public TransferLedgerSweepSimulateEventType getEventType() { + return eventType; + } + + + public void setEventType(TransferLedgerSweepSimulateEventType eventType) { + this.eventType = eventType; + } + + + public SandboxTransferLedgerWithdrawSimulateRequest failureReason(TransferFailure failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferFailure getFailureReason() { + return failureReason; + } + + + public void setFailureReason(TransferFailure failureReason) { + this.failureReason = failureReason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferLedgerWithdrawSimulateRequest sandboxTransferLedgerWithdrawSimulateRequest = (SandboxTransferLedgerWithdrawSimulateRequest) o; + return Objects.equals(this.clientId, sandboxTransferLedgerWithdrawSimulateRequest.clientId) && + Objects.equals(this.secret, sandboxTransferLedgerWithdrawSimulateRequest.secret) && + Objects.equals(this.sweepId, sandboxTransferLedgerWithdrawSimulateRequest.sweepId) && + Objects.equals(this.eventType, sandboxTransferLedgerWithdrawSimulateRequest.eventType) && + Objects.equals(this.failureReason, sandboxTransferLedgerWithdrawSimulateRequest.failureReason); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, sweepId, eventType, failureReason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferLedgerWithdrawSimulateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" sweepId: ").append(toIndentedString(sweepId)).append("\n"); + sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferLedgerWithdrawSimulateResponse.java b/src/main/java/com/plaid/client/model/SandboxTransferLedgerWithdrawSimulateResponse.java new file mode 100644 index 0000000000..b1feaea8a9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferLedgerWithdrawSimulateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/transfer/ledger/withdraw/simulate` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/transfer/ledger/withdraw/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferLedgerWithdrawSimulateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransferLedgerWithdrawSimulateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferLedgerWithdrawSimulateResponse sandboxTransferLedgerWithdrawSimulateResponse = (SandboxTransferLedgerWithdrawSimulateResponse) o; + return Objects.equals(this.requestId, sandboxTransferLedgerWithdrawSimulateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferLedgerWithdrawSimulateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferRefundSimulateRequest.java b/src/main/java/com/plaid/client/model/SandboxTransferRefundSimulateRequest.java new file mode 100644 index 0000000000..83c0f7b53a --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferRefundSimulateRequest.java @@ -0,0 +1,272 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferFailure; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/sandbox/transfer/refund/simulate` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/transfer/refund/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferRefundSimulateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_REFUND_ID = "refund_id"; + @SerializedName(SERIALIZED_NAME_REFUND_ID) + private String refundId; + + public static final String SERIALIZED_NAME_TEST_CLOCK_ID = "test_clock_id"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK_ID) + private String testClockId; + + public static final String SERIALIZED_NAME_EVENT_TYPE = "event_type"; + @SerializedName(SERIALIZED_NAME_EVENT_TYPE) + private String eventType; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private TransferFailure failureReason; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public SandboxTransferRefundSimulateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxTransferRefundSimulateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxTransferRefundSimulateRequest refundId(String refundId) { + + this.refundId = refundId; + return this; + } + + /** + * Plaid's unique identifier for a refund. + * @return refundId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a refund.") + + public String getRefundId() { + return refundId; + } + + + public void setRefundId(String refundId) { + this.refundId = refundId; + } + + + public SandboxTransferRefundSimulateRequest testClockId(String testClockId) { + + this.testClockId = testClockId; + return this; + } + + /** + * Plaid's unique identifier for a test clock. If provided, the event to be simulated is created at the `virtual_time` on the provided `test_clock`. + * @return testClockId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a test clock. If provided, the event to be simulated is created at the `virtual_time` on the provided `test_clock`.") + + public String getTestClockId() { + return testClockId; + } + + + public void setTestClockId(String testClockId) { + this.testClockId = testClockId; + } + + + public SandboxTransferRefundSimulateRequest eventType(String eventType) { + + this.eventType = eventType; + return this; + } + + /** + * The asynchronous event to be simulated. May be: `refund.posted`, `refund.settled`, `refund.failed`, or `refund.returned`. An error will be returned if the event type is incompatible with the current refund status. Compatible status --> event type transitions include: `refund.pending` --> `refund.failed` `refund.pending` --> `refund.posted` `refund.posted` --> `refund.returned` `refund.posted` --> `refund.settled` `refund.posted` events can only be simulated if the refunded transfer has been transitioned to settled. This mimics the ordering of events in Production. + * @return eventType + **/ + @ApiModelProperty(required = true, value = "The asynchronous event to be simulated. May be: `refund.posted`, `refund.settled`, `refund.failed`, or `refund.returned`. An error will be returned if the event type is incompatible with the current refund status. Compatible status --> event type transitions include: `refund.pending` --> `refund.failed` `refund.pending` --> `refund.posted` `refund.posted` --> `refund.returned` `refund.posted` --> `refund.settled` `refund.posted` events can only be simulated if the refunded transfer has been transitioned to settled. This mimics the ordering of events in Production. ") + + public String getEventType() { + return eventType; + } + + + public void setEventType(String eventType) { + this.eventType = eventType; + } + + + public SandboxTransferRefundSimulateRequest failureReason(TransferFailure failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferFailure getFailureReason() { + return failureReason; + } + + + public void setFailureReason(TransferFailure failureReason) { + this.failureReason = failureReason; + } + + + public SandboxTransferRefundSimulateRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The webhook URL to which a `TRANSFER_EVENTS_UPDATE` webhook should be sent. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The webhook URL to which a `TRANSFER_EVENTS_UPDATE` webhook should be sent.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferRefundSimulateRequest sandboxTransferRefundSimulateRequest = (SandboxTransferRefundSimulateRequest) o; + return Objects.equals(this.clientId, sandboxTransferRefundSimulateRequest.clientId) && + Objects.equals(this.secret, sandboxTransferRefundSimulateRequest.secret) && + Objects.equals(this.refundId, sandboxTransferRefundSimulateRequest.refundId) && + Objects.equals(this.testClockId, sandboxTransferRefundSimulateRequest.testClockId) && + Objects.equals(this.eventType, sandboxTransferRefundSimulateRequest.eventType) && + Objects.equals(this.failureReason, sandboxTransferRefundSimulateRequest.failureReason) && + Objects.equals(this.webhook, sandboxTransferRefundSimulateRequest.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, refundId, testClockId, eventType, failureReason, webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferRefundSimulateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" refundId: ").append(toIndentedString(refundId)).append("\n"); + sb.append(" testClockId: ").append(toIndentedString(testClockId)).append("\n"); + sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferRefundSimulateResponse.java b/src/main/java/com/plaid/client/model/SandboxTransferRefundSimulateResponse.java new file mode 100644 index 0000000000..8351fc21ab --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferRefundSimulateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/transfer/refund/simulate` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/transfer/refund/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferRefundSimulateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransferRefundSimulateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferRefundSimulateResponse sandboxTransferRefundSimulateResponse = (SandboxTransferRefundSimulateResponse) o; + return Objects.equals(this.requestId, sandboxTransferRefundSimulateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferRefundSimulateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferRepaymentSimulateRequest.java b/src/main/java/com/plaid/client/model/SandboxTransferRepaymentSimulateRequest.java new file mode 100644 index 0000000000..6987895d72 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferRepaymentSimulateRequest.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/sandbox/transfer/repayment/simulate` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/transfer/repayment/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferRepaymentSimulateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public SandboxTransferRepaymentSimulateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxTransferRepaymentSimulateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferRepaymentSimulateRequest sandboxTransferRepaymentSimulateRequest = (SandboxTransferRepaymentSimulateRequest) o; + return Objects.equals(this.clientId, sandboxTransferRepaymentSimulateRequest.clientId) && + Objects.equals(this.secret, sandboxTransferRepaymentSimulateRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferRepaymentSimulateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferRepaymentSimulateResponse.java b/src/main/java/com/plaid/client/model/SandboxTransferRepaymentSimulateResponse.java new file mode 100644 index 0000000000..9dc4659141 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferRepaymentSimulateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/transfer/repayment/simulate` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/transfer/repayment/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferRepaymentSimulateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransferRepaymentSimulateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferRepaymentSimulateResponse sandboxTransferRepaymentSimulateResponse = (SandboxTransferRepaymentSimulateResponse) o; + return Objects.equals(this.requestId, sandboxTransferRepaymentSimulateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferRepaymentSimulateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferRfpSimulateAction.java b/src/main/java/com/plaid/client/model/SandboxTransferRfpSimulateAction.java new file mode 100644 index 0000000000..16568b76ae --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferRfpSimulateAction.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The action to simulate. Must be either `approve` or `reject`. - `approve`: Simulates bank approval, transitioning the transfer to `settled` status - `reject`: Simulates bank rejection, transitioning the transfer to `failed` status + */ +@JsonAdapter(SandboxTransferRfpSimulateAction.Adapter.class) +public enum SandboxTransferRfpSimulateAction { + + APPROVE("approve"), + + REJECT("reject"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SandboxTransferRfpSimulateAction(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SandboxTransferRfpSimulateAction fromValue(String value) { + for (SandboxTransferRfpSimulateAction b : SandboxTransferRfpSimulateAction.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return SandboxTransferRfpSimulateAction.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SandboxTransferRfpSimulateAction enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SandboxTransferRfpSimulateAction read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SandboxTransferRfpSimulateAction.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferRfpSimulateRequest.java b/src/main/java/com/plaid/client/model/SandboxTransferRfpSimulateRequest.java new file mode 100644 index 0000000000..8201fa7d98 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferRfpSimulateRequest.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SandboxTransferRfpSimulateAction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/sandbox/transfer/rfp/simulate` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/transfer/rfp/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferRfpSimulateRequest { + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_ACTION = "action"; + @SerializedName(SERIALIZED_NAME_ACTION) + private SandboxTransferRfpSimulateAction action; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_CLIENT_NAME = "client_name"; + @SerializedName(SERIALIZED_NAME_CLIENT_NAME) + private String clientName; + + + public SandboxTransferRfpSimulateRequest transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * Plaid's unique identifier for a transfer. + * @return transferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a transfer.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public SandboxTransferRfpSimulateRequest action(SandboxTransferRfpSimulateAction action) { + + this.action = action; + return this; + } + + /** + * Get action + * @return action + **/ + @ApiModelProperty(required = true, value = "") + + public SandboxTransferRfpSimulateAction getAction() { + return action; + } + + + public void setAction(SandboxTransferRfpSimulateAction action) { + this.action = action; + } + + + public SandboxTransferRfpSimulateRequest amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The transfer amount provided by the caller for validation purposes, must match the amount on the transfer associated with the provided `transfer_id`. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The transfer amount provided by the caller for validation purposes, must match the amount on the transfer associated with the provided `transfer_id`. ") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public SandboxTransferRfpSimulateRequest clientName(String clientName) { + + this.clientName = clientName; + return this; + } + + /** + * The client name provided by the caller for validation purposes, must match the sender client name on the transfer associated with the provided `transfer_id`. + * @return clientName + **/ + @ApiModelProperty(required = true, value = "The client name provided by the caller for validation purposes, must match the sender client name on the transfer associated with the provided `transfer_id`. ") + + public String getClientName() { + return clientName; + } + + + public void setClientName(String clientName) { + this.clientName = clientName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferRfpSimulateRequest sandboxTransferRfpSimulateRequest = (SandboxTransferRfpSimulateRequest) o; + return Objects.equals(this.transferId, sandboxTransferRfpSimulateRequest.transferId) && + Objects.equals(this.action, sandboxTransferRfpSimulateRequest.action) && + Objects.equals(this.amount, sandboxTransferRfpSimulateRequest.amount) && + Objects.equals(this.clientName, sandboxTransferRfpSimulateRequest.clientName); + } + + @Override + public int hashCode() { + return Objects.hash(transferId, action, amount, clientName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferRfpSimulateRequest {\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" action: ").append(toIndentedString(action)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" clientName: ").append(toIndentedString(clientName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferRfpSimulateResponse.java b/src/main/java/com/plaid/client/model/SandboxTransferRfpSimulateResponse.java new file mode 100644 index 0000000000..debed48e18 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferRfpSimulateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/transfer/rfp/simulate` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/transfer/rfp/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferRfpSimulateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransferRfpSimulateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferRfpSimulateResponse sandboxTransferRfpSimulateResponse = (SandboxTransferRfpSimulateResponse) o; + return Objects.equals(this.requestId, sandboxTransferRfpSimulateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferRfpSimulateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferSimulateRequest.java b/src/main/java/com/plaid/client/model/SandboxTransferSimulateRequest.java new file mode 100644 index 0000000000..e24b4acea2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferSimulateRequest.java @@ -0,0 +1,272 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferFailure; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/sandbox/transfer/simulate` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/transfer/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferSimulateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_TEST_CLOCK_ID = "test_clock_id"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK_ID) + private String testClockId; + + public static final String SERIALIZED_NAME_EVENT_TYPE = "event_type"; + @SerializedName(SERIALIZED_NAME_EVENT_TYPE) + private String eventType; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private TransferFailure failureReason; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public SandboxTransferSimulateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxTransferSimulateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxTransferSimulateRequest transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * Plaid's unique identifier for a transfer. + * @return transferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a transfer.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public SandboxTransferSimulateRequest testClockId(String testClockId) { + + this.testClockId = testClockId; + return this; + } + + /** + * Plaid's unique identifier for a test clock. If provided, the event to be simulated is created at the `virtual_time` on the provided `test_clock`. + * @return testClockId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a test clock. If provided, the event to be simulated is created at the `virtual_time` on the provided `test_clock`.") + + public String getTestClockId() { + return testClockId; + } + + + public void setTestClockId(String testClockId) { + this.testClockId = testClockId; + } + + + public SandboxTransferSimulateRequest eventType(String eventType) { + + this.eventType = eventType; + return this; + } + + /** + * The asynchronous event to be simulated. May be: `posted`, `settled`, `failed`, `funds_available`, or `returned`. An error will be returned if the event type is incompatible with the current transfer status. Compatible status --> event type transitions include: `pending` --> `failed` `pending` --> `posted` `posted` --> `returned` `posted` --> `settled` `settled` --> `funds_available` (only applicable to ACH debits.) + * @return eventType + **/ + @ApiModelProperty(required = true, value = "The asynchronous event to be simulated. May be: `posted`, `settled`, `failed`, `funds_available`, or `returned`. An error will be returned if the event type is incompatible with the current transfer status. Compatible status --> event type transitions include: `pending` --> `failed` `pending` --> `posted` `posted` --> `returned` `posted` --> `settled` `settled` --> `funds_available` (only applicable to ACH debits.) ") + + public String getEventType() { + return eventType; + } + + + public void setEventType(String eventType) { + this.eventType = eventType; + } + + + public SandboxTransferSimulateRequest failureReason(TransferFailure failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferFailure getFailureReason() { + return failureReason; + } + + + public void setFailureReason(TransferFailure failureReason) { + this.failureReason = failureReason; + } + + + public SandboxTransferSimulateRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The webhook URL to which a `TRANSFER_EVENTS_UPDATE` webhook should be sent. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The webhook URL to which a `TRANSFER_EVENTS_UPDATE` webhook should be sent.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferSimulateRequest sandboxTransferSimulateRequest = (SandboxTransferSimulateRequest) o; + return Objects.equals(this.clientId, sandboxTransferSimulateRequest.clientId) && + Objects.equals(this.secret, sandboxTransferSimulateRequest.secret) && + Objects.equals(this.transferId, sandboxTransferSimulateRequest.transferId) && + Objects.equals(this.testClockId, sandboxTransferSimulateRequest.testClockId) && + Objects.equals(this.eventType, sandboxTransferSimulateRequest.eventType) && + Objects.equals(this.failureReason, sandboxTransferSimulateRequest.failureReason) && + Objects.equals(this.webhook, sandboxTransferSimulateRequest.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, transferId, testClockId, eventType, failureReason, webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferSimulateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" testClockId: ").append(toIndentedString(testClockId)).append("\n"); + sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferSimulateResponse.java b/src/main/java/com/plaid/client/model/SandboxTransferSimulateResponse.java new file mode 100644 index 0000000000..fc3824a3be --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferSimulateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/transfer/simulate` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/transfer/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferSimulateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransferSimulateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferSimulateResponse sandboxTransferSimulateResponse = (SandboxTransferSimulateResponse) o; + return Objects.equals(this.requestId, sandboxTransferSimulateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferSimulateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferSweepSimulateRequest.java b/src/main/java/com/plaid/client/model/SandboxTransferSweepSimulateRequest.java new file mode 100644 index 0000000000..fc358e6b84 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferSweepSimulateRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/sandbox/transfer/sweep/simulate` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/transfer/sweep/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferSweepSimulateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_TEST_CLOCK_ID = "test_clock_id"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK_ID) + private String testClockId; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public SandboxTransferSweepSimulateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxTransferSweepSimulateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxTransferSweepSimulateRequest testClockId(String testClockId) { + + this.testClockId = testClockId; + return this; + } + + /** + * Plaid's unique identifier for a test clock. If provided, the sweep to be simulated is created on the day of the `virtual_time` on the `test_clock`. If the date of `virtual_time` is on weekend or a federal holiday, the next available banking day is used. + * @return testClockId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a test clock. If provided, the sweep to be simulated is created on the day of the `virtual_time` on the `test_clock`. If the date of `virtual_time` is on weekend or a federal holiday, the next available banking day is used.") + + public String getTestClockId() { + return testClockId; + } + + + public void setTestClockId(String testClockId) { + this.testClockId = testClockId; + } + + + public SandboxTransferSweepSimulateRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The webhook URL to which a `TRANSFER_EVENTS_UPDATE` webhook should be sent. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The webhook URL to which a `TRANSFER_EVENTS_UPDATE` webhook should be sent.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferSweepSimulateRequest sandboxTransferSweepSimulateRequest = (SandboxTransferSweepSimulateRequest) o; + return Objects.equals(this.clientId, sandboxTransferSweepSimulateRequest.clientId) && + Objects.equals(this.secret, sandboxTransferSweepSimulateRequest.secret) && + Objects.equals(this.testClockId, sandboxTransferSweepSimulateRequest.testClockId) && + Objects.equals(this.webhook, sandboxTransferSweepSimulateRequest.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, testClockId, webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferSweepSimulateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" testClockId: ").append(toIndentedString(testClockId)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferSweepSimulateResponse.java b/src/main/java/com/plaid/client/model/SandboxTransferSweepSimulateResponse.java new file mode 100644 index 0000000000..c61a1fc72c --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferSweepSimulateResponse.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SimulatedTransferSweep; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/transfer/sweep/simulate` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/transfer/sweep/simulate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferSweepSimulateResponse { + public static final String SERIALIZED_NAME_SWEEP = "sweep"; + @SerializedName(SERIALIZED_NAME_SWEEP) + private SimulatedTransferSweep sweep; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransferSweepSimulateResponse sweep(SimulatedTransferSweep sweep) { + + this.sweep = sweep; + return this; + } + + /** + * Get sweep + * @return sweep + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SimulatedTransferSweep getSweep() { + return sweep; + } + + + public void setSweep(SimulatedTransferSweep sweep) { + this.sweep = sweep; + } + + + public SandboxTransferSweepSimulateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferSweepSimulateResponse sandboxTransferSweepSimulateResponse = (SandboxTransferSweepSimulateResponse) o; + return Objects.equals(this.sweep, sandboxTransferSweepSimulateResponse.sweep) && + Objects.equals(this.requestId, sandboxTransferSweepSimulateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(sweep, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferSweepSimulateResponse {\n"); + sb.append(" sweep: ").append(toIndentedString(sweep)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferTestClockAdvanceRequest.java b/src/main/java/com/plaid/client/model/SandboxTransferTestClockAdvanceRequest.java new file mode 100644 index 0000000000..1e0cf5bea7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferTestClockAdvanceRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Defines the request schema for `/sandbox/transfer/test_clock/advance` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/transfer/test_clock/advance`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferTestClockAdvanceRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_TEST_CLOCK_ID = "test_clock_id"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK_ID) + private String testClockId; + + public static final String SERIALIZED_NAME_NEW_VIRTUAL_TIME = "new_virtual_time"; + @SerializedName(SERIALIZED_NAME_NEW_VIRTUAL_TIME) + private OffsetDateTime newVirtualTime; + + + public SandboxTransferTestClockAdvanceRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxTransferTestClockAdvanceRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxTransferTestClockAdvanceRequest testClockId(String testClockId) { + + this.testClockId = testClockId; + return this; + } + + /** + * Plaid's unique identifier for a test clock. This field is only populated in the Sandbox environment, and only if a `test_clock_id` was included in the `/transfer/recurring/create` request. For more details, see [Simulating recurring transfers](https://plaid.com/docs/transfer/sandbox/#simulating-recurring-transfers). + * @return testClockId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a test clock. This field is only populated in the Sandbox environment, and only if a `test_clock_id` was included in the `/transfer/recurring/create` request. For more details, see [Simulating recurring transfers](https://plaid.com/docs/transfer/sandbox/#simulating-recurring-transfers).") + + public String getTestClockId() { + return testClockId; + } + + + public void setTestClockId(String testClockId) { + this.testClockId = testClockId; + } + + + public SandboxTransferTestClockAdvanceRequest newVirtualTime(OffsetDateTime newVirtualTime) { + + this.newVirtualTime = newVirtualTime; + return this; + } + + /** + * The virtual timestamp on the test clock. This will be of the form `2006-01-02T15:04:05Z`. + * @return newVirtualTime + **/ + @ApiModelProperty(required = true, value = "The virtual timestamp on the test clock. This will be of the form `2006-01-02T15:04:05Z`.") + + public OffsetDateTime getNewVirtualTime() { + return newVirtualTime; + } + + + public void setNewVirtualTime(OffsetDateTime newVirtualTime) { + this.newVirtualTime = newVirtualTime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferTestClockAdvanceRequest sandboxTransferTestClockAdvanceRequest = (SandboxTransferTestClockAdvanceRequest) o; + return Objects.equals(this.clientId, sandboxTransferTestClockAdvanceRequest.clientId) && + Objects.equals(this.secret, sandboxTransferTestClockAdvanceRequest.secret) && + Objects.equals(this.testClockId, sandboxTransferTestClockAdvanceRequest.testClockId) && + Objects.equals(this.newVirtualTime, sandboxTransferTestClockAdvanceRequest.newVirtualTime); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, testClockId, newVirtualTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferTestClockAdvanceRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" testClockId: ").append(toIndentedString(testClockId)).append("\n"); + sb.append(" newVirtualTime: ").append(toIndentedString(newVirtualTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferTestClockAdvanceResponse.java b/src/main/java/com/plaid/client/model/SandboxTransferTestClockAdvanceResponse.java new file mode 100644 index 0000000000..2d75fb45d8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferTestClockAdvanceResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/transfer/test_clock/advance` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/transfer/test_clock/advance`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferTestClockAdvanceResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransferTestClockAdvanceResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferTestClockAdvanceResponse sandboxTransferTestClockAdvanceResponse = (SandboxTransferTestClockAdvanceResponse) o; + return Objects.equals(this.requestId, sandboxTransferTestClockAdvanceResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferTestClockAdvanceResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferTestClockCreateRequest.java b/src/main/java/com/plaid/client/model/SandboxTransferTestClockCreateRequest.java new file mode 100644 index 0000000000..b40ae032cd --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferTestClockCreateRequest.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Defines the request schema for `/sandbox/transfer/test_clock/create` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/transfer/test_clock/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferTestClockCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_VIRTUAL_TIME = "virtual_time"; + @SerializedName(SERIALIZED_NAME_VIRTUAL_TIME) + private OffsetDateTime virtualTime; + + + public SandboxTransferTestClockCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxTransferTestClockCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxTransferTestClockCreateRequest virtualTime(OffsetDateTime virtualTime) { + + this.virtualTime = virtualTime; + return this; + } + + /** + * The virtual timestamp on the test clock. If not provided, the current timestamp will be used. This will be of the form `2006-01-02T15:04:05Z`. + * @return virtualTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The virtual timestamp on the test clock. If not provided, the current timestamp will be used. This will be of the form `2006-01-02T15:04:05Z`.") + + public OffsetDateTime getVirtualTime() { + return virtualTime; + } + + + public void setVirtualTime(OffsetDateTime virtualTime) { + this.virtualTime = virtualTime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferTestClockCreateRequest sandboxTransferTestClockCreateRequest = (SandboxTransferTestClockCreateRequest) o; + return Objects.equals(this.clientId, sandboxTransferTestClockCreateRequest.clientId) && + Objects.equals(this.secret, sandboxTransferTestClockCreateRequest.secret) && + Objects.equals(this.virtualTime, sandboxTransferTestClockCreateRequest.virtualTime); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, virtualTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferTestClockCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" virtualTime: ").append(toIndentedString(virtualTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferTestClockCreateResponse.java b/src/main/java/com/plaid/client/model/SandboxTransferTestClockCreateResponse.java new file mode 100644 index 0000000000..904a4d8f74 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferTestClockCreateResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferTestClock; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/transfer/test_clock/create` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/transfer/test_clock/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferTestClockCreateResponse { + public static final String SERIALIZED_NAME_TEST_CLOCK = "test_clock"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK) + private TransferTestClock testClock; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransferTestClockCreateResponse testClock(TransferTestClock testClock) { + + this.testClock = testClock; + return this; + } + + /** + * Get testClock + * @return testClock + **/ + @ApiModelProperty(required = true, value = "") + + public TransferTestClock getTestClock() { + return testClock; + } + + + public void setTestClock(TransferTestClock testClock) { + this.testClock = testClock; + } + + + public SandboxTransferTestClockCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferTestClockCreateResponse sandboxTransferTestClockCreateResponse = (SandboxTransferTestClockCreateResponse) o; + return Objects.equals(this.testClock, sandboxTransferTestClockCreateResponse.testClock) && + Objects.equals(this.requestId, sandboxTransferTestClockCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(testClock, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferTestClockCreateResponse {\n"); + sb.append(" testClock: ").append(toIndentedString(testClock)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferTestClockGetRequest.java b/src/main/java/com/plaid/client/model/SandboxTransferTestClockGetRequest.java new file mode 100644 index 0000000000..29e22cd7fc --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferTestClockGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/sandbox/transfer/test_clock/get` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/transfer/test_clock/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferTestClockGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_TEST_CLOCK_ID = "test_clock_id"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK_ID) + private String testClockId; + + + public SandboxTransferTestClockGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxTransferTestClockGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxTransferTestClockGetRequest testClockId(String testClockId) { + + this.testClockId = testClockId; + return this; + } + + /** + * Plaid's unique identifier for a test clock. This field is only populated in the Sandbox environment, and only if a `test_clock_id` was included in the `/transfer/recurring/create` request. For more details, see [Simulating recurring transfers](https://plaid.com/docs/transfer/sandbox/#simulating-recurring-transfers). + * @return testClockId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a test clock. This field is only populated in the Sandbox environment, and only if a `test_clock_id` was included in the `/transfer/recurring/create` request. For more details, see [Simulating recurring transfers](https://plaid.com/docs/transfer/sandbox/#simulating-recurring-transfers).") + + public String getTestClockId() { + return testClockId; + } + + + public void setTestClockId(String testClockId) { + this.testClockId = testClockId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferTestClockGetRequest sandboxTransferTestClockGetRequest = (SandboxTransferTestClockGetRequest) o; + return Objects.equals(this.clientId, sandboxTransferTestClockGetRequest.clientId) && + Objects.equals(this.secret, sandboxTransferTestClockGetRequest.secret) && + Objects.equals(this.testClockId, sandboxTransferTestClockGetRequest.testClockId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, testClockId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferTestClockGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" testClockId: ").append(toIndentedString(testClockId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferTestClockGetResponse.java b/src/main/java/com/plaid/client/model/SandboxTransferTestClockGetResponse.java new file mode 100644 index 0000000000..0b5748ce9b --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferTestClockGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferTestClock; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/sandbox/transfer/test_clock/get` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/transfer/test_clock/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferTestClockGetResponse { + public static final String SERIALIZED_NAME_TEST_CLOCK = "test_clock"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK) + private TransferTestClock testClock; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransferTestClockGetResponse testClock(TransferTestClock testClock) { + + this.testClock = testClock; + return this; + } + + /** + * Get testClock + * @return testClock + **/ + @ApiModelProperty(required = true, value = "") + + public TransferTestClock getTestClock() { + return testClock; + } + + + public void setTestClock(TransferTestClock testClock) { + this.testClock = testClock; + } + + + public SandboxTransferTestClockGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferTestClockGetResponse sandboxTransferTestClockGetResponse = (SandboxTransferTestClockGetResponse) o; + return Objects.equals(this.testClock, sandboxTransferTestClockGetResponse.testClock) && + Objects.equals(this.requestId, sandboxTransferTestClockGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(testClock, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferTestClockGetResponse {\n"); + sb.append(" testClock: ").append(toIndentedString(testClock)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferTestClockListRequest.java b/src/main/java/com/plaid/client/model/SandboxTransferTestClockListRequest.java new file mode 100644 index 0000000000..38fa097ccc --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferTestClockListRequest.java @@ -0,0 +1,248 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Defines the request schema for `/sandbox/transfer/test_clock/list` + */ +@ApiModel(description = "Defines the request schema for `/sandbox/transfer/test_clock/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferTestClockListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_START_VIRTUAL_TIME = "start_virtual_time"; + @SerializedName(SERIALIZED_NAME_START_VIRTUAL_TIME) + private OffsetDateTime startVirtualTime; + + public static final String SERIALIZED_NAME_END_VIRTUAL_TIME = "end_virtual_time"; + @SerializedName(SERIALIZED_NAME_END_VIRTUAL_TIME) + private OffsetDateTime endVirtualTime; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 25; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + + public SandboxTransferTestClockListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxTransferTestClockListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxTransferTestClockListRequest startVirtualTime(OffsetDateTime startVirtualTime) { + + this.startVirtualTime = startVirtualTime; + return this; + } + + /** + * The start virtual timestamp of test clocks to return. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) + * @return startVirtualTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start virtual timestamp of test clocks to return. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)") + + public OffsetDateTime getStartVirtualTime() { + return startVirtualTime; + } + + + public void setStartVirtualTime(OffsetDateTime startVirtualTime) { + this.startVirtualTime = startVirtualTime; + } + + + public SandboxTransferTestClockListRequest endVirtualTime(OffsetDateTime endVirtualTime) { + + this.endVirtualTime = endVirtualTime; + return this; + } + + /** + * The end virtual timestamp of test clocks to return. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) + * @return endVirtualTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end virtual timestamp of test clocks to return. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)") + + public OffsetDateTime getEndVirtualTime() { + return endVirtualTime; + } + + + public void setEndVirtualTime(OffsetDateTime endVirtualTime) { + this.endVirtualTime = endVirtualTime; + } + + + public SandboxTransferTestClockListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of test clocks to return. + * minimum: 1 + * maximum: 25 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of test clocks to return.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public SandboxTransferTestClockListRequest offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The number of test clocks to skip before returning results. + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of test clocks to skip before returning results.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferTestClockListRequest sandboxTransferTestClockListRequest = (SandboxTransferTestClockListRequest) o; + return Objects.equals(this.clientId, sandboxTransferTestClockListRequest.clientId) && + Objects.equals(this.secret, sandboxTransferTestClockListRequest.secret) && + Objects.equals(this.startVirtualTime, sandboxTransferTestClockListRequest.startVirtualTime) && + Objects.equals(this.endVirtualTime, sandboxTransferTestClockListRequest.endVirtualTime) && + Objects.equals(this.count, sandboxTransferTestClockListRequest.count) && + Objects.equals(this.offset, sandboxTransferTestClockListRequest.offset); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, startVirtualTime, endVirtualTime, count, offset); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferTestClockListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" startVirtualTime: ").append(toIndentedString(startVirtualTime)).append("\n"); + sb.append(" endVirtualTime: ").append(toIndentedString(endVirtualTime)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxTransferTestClockListResponse.java b/src/main/java/com/plaid/client/model/SandboxTransferTestClockListResponse.java new file mode 100644 index 0000000000..2618f63f1a --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxTransferTestClockListResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferTestClock; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response schema for `/sandbox/transfer/test_clock/list` + */ +@ApiModel(description = "Defines the response schema for `/sandbox/transfer/test_clock/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxTransferTestClockListResponse { + public static final String SERIALIZED_NAME_TEST_CLOCKS = "test_clocks"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCKS) + private List testClocks = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxTransferTestClockListResponse testClocks(List testClocks) { + + this.testClocks = testClocks; + return this; + } + + public SandboxTransferTestClockListResponse addTestClocksItem(TransferTestClock testClocksItem) { + this.testClocks.add(testClocksItem); + return this; + } + + /** + * Get testClocks + * @return testClocks + **/ + @ApiModelProperty(required = true, value = "") + + public List getTestClocks() { + return testClocks; + } + + + public void setTestClocks(List testClocks) { + this.testClocks = testClocks; + } + + + public SandboxTransferTestClockListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxTransferTestClockListResponse sandboxTransferTestClockListResponse = (SandboxTransferTestClockListResponse) o; + return Objects.equals(this.testClocks, sandboxTransferTestClockListResponse.testClocks) && + Objects.equals(this.requestId, sandboxTransferTestClockListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(testClocks, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxTransferTestClockListResponse {\n"); + sb.append(" testClocks: ").append(toIndentedString(testClocks)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxUserResetLoginRequest.java b/src/main/java/com/plaid/client/model/SandboxUserResetLoginRequest.java new file mode 100644 index 0000000000..8798ecd656 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxUserResetLoginRequest.java @@ -0,0 +1,225 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * SandboxUserResetLoginRequest defines the request schema for `/sandbox/user/reset_login` + */ +@ApiModel(description = "SandboxUserResetLoginRequest defines the request schema for `/sandbox/user/reset_login`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxUserResetLoginRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = null; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public SandboxUserResetLoginRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SandboxUserResetLoginRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SandboxUserResetLoginRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public SandboxUserResetLoginRequest itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public SandboxUserResetLoginRequest addItemIdsItem(String itemIdsItem) { + if (this.itemIds == null) { + this.itemIds = new ArrayList<>(); + } + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * An array of `item_id`s associated with the User to be reset. If empty or `null`, this field will default to resetting all Items associated with the User. + * @return itemIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array of `item_id`s associated with the User to be reset. If empty or `null`, this field will default to resetting all Items associated with the User.") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + public SandboxUserResetLoginRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxUserResetLoginRequest sandboxUserResetLoginRequest = (SandboxUserResetLoginRequest) o; + return Objects.equals(this.clientId, sandboxUserResetLoginRequest.clientId) && + Objects.equals(this.secret, sandboxUserResetLoginRequest.secret) && + Objects.equals(this.userToken, sandboxUserResetLoginRequest.userToken) && + Objects.equals(this.itemIds, sandboxUserResetLoginRequest.itemIds) && + Objects.equals(this.userId, sandboxUserResetLoginRequest.userId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, itemIds, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxUserResetLoginRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SandboxUserResetLoginResponse.java b/src/main/java/com/plaid/client/model/SandboxUserResetLoginResponse.java new file mode 100644 index 0000000000..01edc83cdd --- /dev/null +++ b/src/main/java/com/plaid/client/model/SandboxUserResetLoginResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SandboxUserResetLoginResponse defines the response schema for `/sandbox/user/reset_login` + */ +@ApiModel(description = "SandboxUserResetLoginResponse defines the response schema for `/sandbox/user/reset_login`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SandboxUserResetLoginResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SandboxUserResetLoginResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxUserResetLoginResponse sandboxUserResetLoginResponse = (SandboxUserResetLoginResponse) o; + return Objects.equals(this.requestId, sandboxUserResetLoginResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SandboxUserResetLoginResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Scopes.java b/src/main/java/com/plaid/client/model/Scopes.java new file mode 100644 index 0000000000..7f26cd6e61 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Scopes.java @@ -0,0 +1,169 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountAccess; +import com.plaid.client.model.ProductAccess; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The scopes object + */ +@ApiModel(description = "The scopes object") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Scopes { + public static final String SERIALIZED_NAME_PRODUCT_ACCESS = "product_access"; + @SerializedName(SERIALIZED_NAME_PRODUCT_ACCESS) + private ProductAccess productAccess; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = null; + + public static final String SERIALIZED_NAME_NEW_ACCOUNTS = "new_accounts"; + @SerializedName(SERIALIZED_NAME_NEW_ACCOUNTS) + private Boolean newAccounts = true; + + + public Scopes productAccess(ProductAccess productAccess) { + + this.productAccess = productAccess; + return this; + } + + /** + * Get productAccess + * @return productAccess + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProductAccess getProductAccess() { + return productAccess; + } + + + public void setProductAccess(ProductAccess productAccess) { + this.productAccess = productAccess; + } + + + public Scopes accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public Scopes addAccountsItem(AccountAccess accountsItem) { + if (this.accounts == null) { + this.accounts = new ArrayList<>(); + } + this.accounts.add(accountsItem); + return this; + } + + /** + * Get accounts + * @return accounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public Scopes newAccounts(Boolean newAccounts) { + + this.newAccounts = newAccounts; + return this; + } + + /** + * Allow access to newly opened accounts as they are opened. If unset, defaults to `true`. + * @return newAccounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow access to newly opened accounts as they are opened. If unset, defaults to `true`.") + + public Boolean getNewAccounts() { + return newAccounts; + } + + + public void setNewAccounts(Boolean newAccounts) { + this.newAccounts = newAccounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Scopes scopes = (Scopes) o; + return Objects.equals(this.productAccess, scopes.productAccess) && + Objects.equals(this.accounts, scopes.accounts) && + Objects.equals(this.newAccounts, scopes.newAccounts); + } + + @Override + public int hashCode() { + return Objects.hash(productAccess, accounts, newAccounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Scopes {\n"); + sb.append(" productAccess: ").append(toIndentedString(productAccess)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" newAccounts: ").append(toIndentedString(newAccounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ScopesContext.java b/src/main/java/com/plaid/client/model/ScopesContext.java new file mode 100644 index 0000000000..695c0b46a2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ScopesContext.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An indicator for when scopes are being updated. When scopes are updated via enrollment (i.e. OAuth), the partner must send `ENROLLMENT`. When scopes are updated in a post-enrollment view, the partner must send `PORTAL`. + */ +@JsonAdapter(ScopesContext.Adapter.class) +public enum ScopesContext { + + ENROLLMENT("ENROLLMENT"), + + PORTAL("PORTAL"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ScopesContext(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ScopesContext fromValue(String value) { + for (ScopesContext b : ScopesContext.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ScopesContext.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ScopesContext enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ScopesContext read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ScopesContext.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ScopesNullable.java b/src/main/java/com/plaid/client/model/ScopesNullable.java new file mode 100644 index 0000000000..eafab5b965 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ScopesNullable.java @@ -0,0 +1,170 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountAccess; +import com.plaid.client.model.ProductAccess; +import com.plaid.client.model.Scopes; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * The scopes object + */ +@ApiModel(description = "The scopes object") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ScopesNullable { + public static final String SERIALIZED_NAME_PRODUCT_ACCESS = "product_access"; + @SerializedName(SERIALIZED_NAME_PRODUCT_ACCESS) + private ProductAccess productAccess; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = null; + + public static final String SERIALIZED_NAME_NEW_ACCOUNTS = "new_accounts"; + @SerializedName(SERIALIZED_NAME_NEW_ACCOUNTS) + private Boolean newAccounts = true; + + + public ScopesNullable productAccess(ProductAccess productAccess) { + + this.productAccess = productAccess; + return this; + } + + /** + * Get productAccess + * @return productAccess + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ProductAccess getProductAccess() { + return productAccess; + } + + + public void setProductAccess(ProductAccess productAccess) { + this.productAccess = productAccess; + } + + + public ScopesNullable accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public ScopesNullable addAccountsItem(AccountAccess accountsItem) { + if (this.accounts == null) { + this.accounts = new ArrayList<>(); + } + this.accounts.add(accountsItem); + return this; + } + + /** + * Get accounts + * @return accounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public ScopesNullable newAccounts(Boolean newAccounts) { + + this.newAccounts = newAccounts; + return this; + } + + /** + * Allow access to newly opened accounts as they are opened. If unset, defaults to `true`. + * @return newAccounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allow access to newly opened accounts as they are opened. If unset, defaults to `true`.") + + public Boolean getNewAccounts() { + return newAccounts; + } + + + public void setNewAccounts(Boolean newAccounts) { + this.newAccounts = newAccounts; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScopesNullable scopesNullable = (ScopesNullable) o; + return Objects.equals(this.productAccess, scopesNullable.productAccess) && + Objects.equals(this.accounts, scopesNullable.accounts) && + Objects.equals(this.newAccounts, scopesNullable.newAccounts); + } + + @Override + public int hashCode() { + return Objects.hash(productAccess, accounts, newAccounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScopesNullable {\n"); + sb.append(" productAccess: ").append(toIndentedString(productAccess)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" newAccounts: ").append(toIndentedString(newAccounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ScreeningHitAnalysis.java b/src/main/java/com/plaid/client/model/ScreeningHitAnalysis.java new file mode 100644 index 0000000000..633c009b60 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ScreeningHitAnalysis.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MatchSummaryCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analysis information describing why a screening hit matched the provided user information + */ +@ApiModel(description = "Analysis information describing why a screening hit matched the provided user information") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ScreeningHitAnalysis { + public static final String SERIALIZED_NAME_DATES_OF_BIRTH = "dates_of_birth"; + @SerializedName(SERIALIZED_NAME_DATES_OF_BIRTH) + private MatchSummaryCode datesOfBirth; + + public static final String SERIALIZED_NAME_DOCUMENTS = "documents"; + @SerializedName(SERIALIZED_NAME_DOCUMENTS) + private MatchSummaryCode documents; + + public static final String SERIALIZED_NAME_LOCATIONS = "locations"; + @SerializedName(SERIALIZED_NAME_LOCATIONS) + private MatchSummaryCode locations; + + public static final String SERIALIZED_NAME_NAMES = "names"; + @SerializedName(SERIALIZED_NAME_NAMES) + private MatchSummaryCode names; + + public static final String SERIALIZED_NAME_SEARCH_TERMS_VERSION = "search_terms_version"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS_VERSION) + private Integer searchTermsVersion; + + + public ScreeningHitAnalysis datesOfBirth(MatchSummaryCode datesOfBirth) { + + this.datesOfBirth = datesOfBirth; + return this; + } + + /** + * Get datesOfBirth + * @return datesOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummaryCode getDatesOfBirth() { + return datesOfBirth; + } + + + public void setDatesOfBirth(MatchSummaryCode datesOfBirth) { + this.datesOfBirth = datesOfBirth; + } + + + public ScreeningHitAnalysis documents(MatchSummaryCode documents) { + + this.documents = documents; + return this; + } + + /** + * Get documents + * @return documents + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummaryCode getDocuments() { + return documents; + } + + + public void setDocuments(MatchSummaryCode documents) { + this.documents = documents; + } + + + public ScreeningHitAnalysis locations(MatchSummaryCode locations) { + + this.locations = locations; + return this; + } + + /** + * Get locations + * @return locations + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummaryCode getLocations() { + return locations; + } + + + public void setLocations(MatchSummaryCode locations) { + this.locations = locations; + } + + + public ScreeningHitAnalysis names(MatchSummaryCode names) { + + this.names = names; + return this; + } + + /** + * Get names + * @return names + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummaryCode getNames() { + return names; + } + + + public void setNames(MatchSummaryCode names) { + this.names = names; + } + + + public ScreeningHitAnalysis searchTermsVersion(Integer searchTermsVersion) { + + this.searchTermsVersion = searchTermsVersion; + return this; + } + + /** + * The version of the screening's `search_terms` that were compared when the screening hit was added. Screening hits are immutable once they have been reviewed. If changes are detected due to updates to the screening's `search_terms`, the associated program, or the list's source data prior to review, the screening hit will be updated to reflect those changes. + * @return searchTermsVersion + **/ + @ApiModelProperty(example = "1", required = true, value = "The version of the screening's `search_terms` that were compared when the screening hit was added. Screening hits are immutable once they have been reviewed. If changes are detected due to updates to the screening's `search_terms`, the associated program, or the list's source data prior to review, the screening hit will be updated to reflect those changes.") + + public Integer getSearchTermsVersion() { + return searchTermsVersion; + } + + + public void setSearchTermsVersion(Integer searchTermsVersion) { + this.searchTermsVersion = searchTermsVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScreeningHitAnalysis screeningHitAnalysis = (ScreeningHitAnalysis) o; + return Objects.equals(this.datesOfBirth, screeningHitAnalysis.datesOfBirth) && + Objects.equals(this.documents, screeningHitAnalysis.documents) && + Objects.equals(this.locations, screeningHitAnalysis.locations) && + Objects.equals(this.names, screeningHitAnalysis.names) && + Objects.equals(this.searchTermsVersion, screeningHitAnalysis.searchTermsVersion); + } + + @Override + public int hashCode() { + return Objects.hash(datesOfBirth, documents, locations, names, searchTermsVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScreeningHitAnalysis {\n"); + sb.append(" datesOfBirth: ").append(toIndentedString(datesOfBirth)).append("\n"); + sb.append(" documents: ").append(toIndentedString(documents)).append("\n"); + sb.append(" locations: ").append(toIndentedString(locations)).append("\n"); + sb.append(" names: ").append(toIndentedString(names)).append("\n"); + sb.append(" searchTermsVersion: ").append(toIndentedString(searchTermsVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ScreeningHitData.java b/src/main/java/com/plaid/client/model/ScreeningHitData.java new file mode 100644 index 0000000000..a4098aa4d9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ScreeningHitData.java @@ -0,0 +1,224 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.GenericScreeningHitLocationItems; +import com.plaid.client.model.ScreeningHitDateOfBirthItem; +import com.plaid.client.model.ScreeningHitDocumentsItems; +import com.plaid.client.model.ScreeningHitNamesItems; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Information associated with the watchlist hit + */ +@ApiModel(description = "Information associated with the watchlist hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ScreeningHitData { + public static final String SERIALIZED_NAME_DATES_OF_BIRTH = "dates_of_birth"; + @SerializedName(SERIALIZED_NAME_DATES_OF_BIRTH) + private List datesOfBirth = null; + + public static final String SERIALIZED_NAME_DOCUMENTS = "documents"; + @SerializedName(SERIALIZED_NAME_DOCUMENTS) + private List documents = null; + + public static final String SERIALIZED_NAME_LOCATIONS = "locations"; + @SerializedName(SERIALIZED_NAME_LOCATIONS) + private List locations = null; + + public static final String SERIALIZED_NAME_NAMES = "names"; + @SerializedName(SERIALIZED_NAME_NAMES) + private List names = null; + + + public ScreeningHitData datesOfBirth(List datesOfBirth) { + + this.datesOfBirth = datesOfBirth; + return this; + } + + public ScreeningHitData addDatesOfBirthItem(ScreeningHitDateOfBirthItem datesOfBirthItem) { + if (this.datesOfBirth == null) { + this.datesOfBirth = new ArrayList<>(); + } + this.datesOfBirth.add(datesOfBirthItem); + return this; + } + + /** + * Dates of birth associated with the watchlist hit + * @return datesOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Dates of birth associated with the watchlist hit") + + public List getDatesOfBirth() { + return datesOfBirth; + } + + + public void setDatesOfBirth(List datesOfBirth) { + this.datesOfBirth = datesOfBirth; + } + + + public ScreeningHitData documents(List documents) { + + this.documents = documents; + return this; + } + + public ScreeningHitData addDocumentsItem(ScreeningHitDocumentsItems documentsItem) { + if (this.documents == null) { + this.documents = new ArrayList<>(); + } + this.documents.add(documentsItem); + return this; + } + + /** + * Documents associated with the watchlist hit + * @return documents + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Documents associated with the watchlist hit") + + public List getDocuments() { + return documents; + } + + + public void setDocuments(List documents) { + this.documents = documents; + } + + + public ScreeningHitData locations(List locations) { + + this.locations = locations; + return this; + } + + public ScreeningHitData addLocationsItem(GenericScreeningHitLocationItems locationsItem) { + if (this.locations == null) { + this.locations = new ArrayList<>(); + } + this.locations.add(locationsItem); + return this; + } + + /** + * Locations associated with the watchlist hit + * @return locations + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Locations associated with the watchlist hit") + + public List getLocations() { + return locations; + } + + + public void setLocations(List locations) { + this.locations = locations; + } + + + public ScreeningHitData names(List names) { + + this.names = names; + return this; + } + + public ScreeningHitData addNamesItem(ScreeningHitNamesItems namesItem) { + if (this.names == null) { + this.names = new ArrayList<>(); + } + this.names.add(namesItem); + return this; + } + + /** + * Names associated with the watchlist hit + * @return names + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Names associated with the watchlist hit") + + public List getNames() { + return names; + } + + + public void setNames(List names) { + this.names = names; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScreeningHitData screeningHitData = (ScreeningHitData) o; + return Objects.equals(this.datesOfBirth, screeningHitData.datesOfBirth) && + Objects.equals(this.documents, screeningHitData.documents) && + Objects.equals(this.locations, screeningHitData.locations) && + Objects.equals(this.names, screeningHitData.names); + } + + @Override + public int hashCode() { + return Objects.hash(datesOfBirth, documents, locations, names); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScreeningHitData {\n"); + sb.append(" datesOfBirth: ").append(toIndentedString(datesOfBirth)).append("\n"); + sb.append(" documents: ").append(toIndentedString(documents)).append("\n"); + sb.append(" locations: ").append(toIndentedString(locations)).append("\n"); + sb.append(" names: ").append(toIndentedString(names)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ScreeningHitDateOfBirthItem.java b/src/main/java/com/plaid/client/model/ScreeningHitDateOfBirthItem.java new file mode 100644 index 0000000000..0d8a2c9406 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ScreeningHitDateOfBirthItem.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DateRange; +import com.plaid.client.model.MatchSummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analyzed date of birth for the associated hit + */ +@ApiModel(description = "Analyzed date of birth for the associated hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ScreeningHitDateOfBirthItem { + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private MatchSummary analysis; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private DateRange data; + + + public ScreeningHitDateOfBirthItem analysis(MatchSummary analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummary getAnalysis() { + return analysis; + } + + + public void setAnalysis(MatchSummary analysis) { + this.analysis = analysis; + } + + + public ScreeningHitDateOfBirthItem data(DateRange data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public DateRange getData() { + return data; + } + + + public void setData(DateRange data) { + this.data = data; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScreeningHitDateOfBirthItem screeningHitDateOfBirthItem = (ScreeningHitDateOfBirthItem) o; + return Objects.equals(this.analysis, screeningHitDateOfBirthItem.analysis) && + Objects.equals(this.data, screeningHitDateOfBirthItem.data); + } + + @Override + public int hashCode() { + return Objects.hash(analysis, data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScreeningHitDateOfBirthItem {\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ScreeningHitDocumentsItems.java b/src/main/java/com/plaid/client/model/ScreeningHitDocumentsItems.java new file mode 100644 index 0000000000..9819c8f299 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ScreeningHitDocumentsItems.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MatchSummary; +import com.plaid.client.model.WatchlistScreeningDocument; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analyzed document information for the associated hit + */ +@ApiModel(description = "Analyzed document information for the associated hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ScreeningHitDocumentsItems { + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private MatchSummary analysis; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private WatchlistScreeningDocument data; + + + public ScreeningHitDocumentsItems analysis(MatchSummary analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummary getAnalysis() { + return analysis; + } + + + public void setAnalysis(MatchSummary analysis) { + this.analysis = analysis; + } + + + public ScreeningHitDocumentsItems data(WatchlistScreeningDocument data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WatchlistScreeningDocument getData() { + return data; + } + + + public void setData(WatchlistScreeningDocument data) { + this.data = data; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScreeningHitDocumentsItems screeningHitDocumentsItems = (ScreeningHitDocumentsItems) o; + return Objects.equals(this.analysis, screeningHitDocumentsItems.analysis) && + Objects.equals(this.data, screeningHitDocumentsItems.data); + } + + @Override + public int hashCode() { + return Objects.hash(analysis, data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScreeningHitDocumentsItems {\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ScreeningHitNamesItems.java b/src/main/java/com/plaid/client/model/ScreeningHitNamesItems.java new file mode 100644 index 0000000000..c50ecc738c --- /dev/null +++ b/src/main/java/com/plaid/client/model/ScreeningHitNamesItems.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IndividualScreeningHitNames; +import com.plaid.client.model.MatchSummary; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analyzed name information for the associated hit + */ +@ApiModel(description = "Analyzed name information for the associated hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ScreeningHitNamesItems { + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private MatchSummary analysis; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private IndividualScreeningHitNames data; + + + public ScreeningHitNamesItems analysis(MatchSummary analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public MatchSummary getAnalysis() { + return analysis; + } + + + public void setAnalysis(MatchSummary analysis) { + this.analysis = analysis; + } + + + public ScreeningHitNamesItems data(IndividualScreeningHitNames data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public IndividualScreeningHitNames getData() { + return data; + } + + + public void setData(IndividualScreeningHitNames data) { + this.data = data; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScreeningHitNamesItems screeningHitNamesItems = (ScreeningHitNamesItems) o; + return Objects.equals(this.analysis, screeningHitNamesItems.analysis) && + Objects.equals(this.data, screeningHitNamesItems.data); + } + + @Override + public int hashCode() { + return Objects.hash(analysis, data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScreeningHitNamesItems {\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ScreeningStatusUpdatedWebhook.java b/src/main/java/com/plaid/client/model/ScreeningStatusUpdatedWebhook.java new file mode 100644 index 0000000000..be2abad099 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ScreeningStatusUpdatedWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when an individual screening status has changed, which can occur manually via the dashboard or during ongoing monitoring. + */ +@ApiModel(description = "Fired when an individual screening status has changed, which can occur manually via the dashboard or during ongoing monitoring.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ScreeningStatusUpdatedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_SCREENING_ID = "screening_id"; + @SerializedName(SERIALIZED_NAME_SCREENING_ID) + private String screeningId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public ScreeningStatusUpdatedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `SCREENING` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`SCREENING`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public ScreeningStatusUpdatedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `STATUS_UPDATED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`STATUS_UPDATED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public ScreeningStatusUpdatedWebhook screeningId(String screeningId) { + + this.screeningId = screeningId; + return this; + } + + /** + * The ID of the associated screening. + * @return screeningId + **/ + @ApiModelProperty(required = true, value = "The ID of the associated screening.") + + public String getScreeningId() { + return screeningId; + } + + + public void setScreeningId(String screeningId) { + this.screeningId = screeningId; + } + + + public ScreeningStatusUpdatedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScreeningStatusUpdatedWebhook screeningStatusUpdatedWebhook = (ScreeningStatusUpdatedWebhook) o; + return Objects.equals(this.webhookType, screeningStatusUpdatedWebhook.webhookType) && + Objects.equals(this.webhookCode, screeningStatusUpdatedWebhook.webhookCode) && + Objects.equals(this.screeningId, screeningStatusUpdatedWebhook.screeningId) && + Objects.equals(this.environment, screeningStatusUpdatedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, screeningId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScreeningStatusUpdatedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" screeningId: ").append(toIndentedString(screeningId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Security.java b/src/main/java/com/plaid/client/model/Security.java new file mode 100644 index 0000000000..d25a386bf0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Security.java @@ -0,0 +1,769 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.FixedIncome; +import com.plaid.client.model.OptionContract; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; + +/** + * Contains details about a security + */ +@ApiModel(description = "Contains details about a security") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Security { + public static final String SERIALIZED_NAME_SECURITY_ID = "security_id"; + @SerializedName(SERIALIZED_NAME_SECURITY_ID) + private String securityId; + + public static final String SERIALIZED_NAME_ISIN = "isin"; + @SerializedName(SERIALIZED_NAME_ISIN) + private String isin; + + public static final String SERIALIZED_NAME_CUSIP = "cusip"; + @SerializedName(SERIALIZED_NAME_CUSIP) + private String cusip; + + public static final String SERIALIZED_NAME_SEDOL = "sedol"; + @SerializedName(SERIALIZED_NAME_SEDOL) + private String sedol; + + public static final String SERIALIZED_NAME_INSTITUTION_SECURITY_ID = "institution_security_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_SECURITY_ID) + private String institutionSecurityId; + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_PROXY_SECURITY_ID = "proxy_security_id"; + @SerializedName(SERIALIZED_NAME_PROXY_SECURITY_ID) + private String proxySecurityId; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_TICKER_SYMBOL = "ticker_symbol"; + @SerializedName(SERIALIZED_NAME_TICKER_SYMBOL) + private String tickerSymbol; + + public static final String SERIALIZED_NAME_IS_CASH_EQUIVALENT = "is_cash_equivalent"; + @SerializedName(SERIALIZED_NAME_IS_CASH_EQUIVALENT) + private Boolean isCashEquivalent; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_SUBTYPE = "subtype"; + @SerializedName(SERIALIZED_NAME_SUBTYPE) + private String subtype; + + public static final String SERIALIZED_NAME_CLOSE_PRICE = "close_price"; + @SerializedName(SERIALIZED_NAME_CLOSE_PRICE) + private Double closePrice; + + public static final String SERIALIZED_NAME_CLOSE_PRICE_AS_OF = "close_price_as_of"; + @SerializedName(SERIALIZED_NAME_CLOSE_PRICE_AS_OF) + private LocalDate closePriceAsOf; + + public static final String SERIALIZED_NAME_UPDATE_DATETIME = "update_datetime"; + @SerializedName(SERIALIZED_NAME_UPDATE_DATETIME) + private OffsetDateTime updateDatetime; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_MARKET_IDENTIFIER_CODE = "market_identifier_code"; + @SerializedName(SERIALIZED_NAME_MARKET_IDENTIFIER_CODE) + private String marketIdentifierCode; + + public static final String SERIALIZED_NAME_SECTOR = "sector"; + @SerializedName(SERIALIZED_NAME_SECTOR) + private String sector; + + public static final String SERIALIZED_NAME_INDUSTRY = "industry"; + @SerializedName(SERIALIZED_NAME_INDUSTRY) + private String industry; + + public static final String SERIALIZED_NAME_CFI_CODE = "cfi_code"; + @SerializedName(SERIALIZED_NAME_CFI_CODE) + private String cfiCode; + + public static final String SERIALIZED_NAME_FIGI = "figi"; + @SerializedName(SERIALIZED_NAME_FIGI) + private String figi; + + public static final String SERIALIZED_NAME_OPTION_CONTRACT = "option_contract"; + @SerializedName(SERIALIZED_NAME_OPTION_CONTRACT) + private OptionContract optionContract; + + public static final String SERIALIZED_NAME_FIXED_INCOME = "fixed_income"; + @SerializedName(SERIALIZED_NAME_FIXED_INCOME) + private FixedIncome fixedIncome; + + + public Security securityId(String securityId) { + + this.securityId = securityId; + return this; + } + + /** + * A unique, Plaid-specific identifier for the security, used to associate securities with holdings. Like all Plaid identifiers, the `security_id` is case sensitive. The `security_id` may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change. + * @return securityId + **/ + @ApiModelProperty(required = true, value = "A unique, Plaid-specific identifier for the security, used to associate securities with holdings. Like all Plaid identifiers, the `security_id` is case sensitive. The `security_id` may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change.") + + public String getSecurityId() { + return securityId; + } + + + public void setSecurityId(String securityId) { + this.securityId = securityId; + } + + + public Security isin(String isin) { + + this.isin = isin; + return this; + } + + /** + * 12-character ISIN, a globally unique securities identifier. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please start the verification process [here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform). + * @return isin + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "12-character ISIN, a globally unique securities identifier. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please start the verification process [here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform).") + + public String getIsin() { + return isin; + } + + + public void setIsin(String isin) { + this.isin = isin; + } + + + public Security cusip(String cusip) { + + this.cusip = cusip; + return this; + } + + /** + * 9-character CUSIP, an identifier assigned to North American securities. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please start the verification process [here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform). + * @return cusip + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "9-character CUSIP, an identifier assigned to North American securities. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please start the verification process [here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform).") + + public String getCusip() { + return cusip; + } + + + public void setCusip(String cusip) { + this.cusip = cusip; + } + + + public Security sedol(String sedol) { + + this.sedol = sedol; + return this; + } + + /** + * (Deprecated) 7-character SEDOL, an identifier assigned to securities in the UK. + * @return sedol + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "(Deprecated) 7-character SEDOL, an identifier assigned to securities in the UK.") + + public String getSedol() { + return sedol; + } + + + public void setSedol(String sedol) { + this.sedol = sedol; + } + + + public Security institutionSecurityId(String institutionSecurityId) { + + this.institutionSecurityId = institutionSecurityId; + return this; + } + + /** + * An identifier given to the security by the institution + * @return institutionSecurityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "An identifier given to the security by the institution") + + public String getInstitutionSecurityId() { + return institutionSecurityId; + } + + + public void setInstitutionSecurityId(String institutionSecurityId) { + this.institutionSecurityId = institutionSecurityId; + } + + + public Security institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * If `institution_security_id` is present, this field indicates the Plaid `institution_id` of the institution to whom the identifier belongs. + * @return institutionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "If `institution_security_id` is present, this field indicates the Plaid `institution_id` of the institution to whom the identifier belongs.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public Security proxySecurityId(String proxySecurityId) { + + this.proxySecurityId = proxySecurityId; + return this; + } + + /** + * In certain cases, Plaid will provide the ID of another security whose performance resembles this security, typically when the original security has low volume, or when a private security can be modeled with a publicly traded security. + * @return proxySecurityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "In certain cases, Plaid will provide the ID of another security whose performance resembles this security, typically when the original security has low volume, or when a private security can be modeled with a publicly traded security.") + + public String getProxySecurityId() { + return proxySecurityId; + } + + + public void setProxySecurityId(String proxySecurityId) { + this.proxySecurityId = proxySecurityId; + } + + + public Security name(String name) { + + this.name = name; + return this; + } + + /** + * A descriptive name for the security, suitable for display. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A descriptive name for the security, suitable for display.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public Security tickerSymbol(String tickerSymbol) { + + this.tickerSymbol = tickerSymbol; + return this; + } + + /** + * The security's trading symbol for publicly traded securities, and otherwise a short identifier if available. + * @return tickerSymbol + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The security's trading symbol for publicly traded securities, and otherwise a short identifier if available.") + + public String getTickerSymbol() { + return tickerSymbol; + } + + + public void setTickerSymbol(String tickerSymbol) { + this.tickerSymbol = tickerSymbol; + } + + + public Security isCashEquivalent(Boolean isCashEquivalent) { + + this.isCashEquivalent = isCashEquivalent; + return this; + } + + /** + * Indicates that a security is a highly liquid asset and can be treated like cash. + * @return isCashEquivalent + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Indicates that a security is a highly liquid asset and can be treated like cash.") + + public Boolean getIsCashEquivalent() { + return isCashEquivalent; + } + + + public void setIsCashEquivalent(Boolean isCashEquivalent) { + this.isCashEquivalent = isCashEquivalent; + } + + + public Security type(String type) { + + this.type = type; + return this; + } + + /** + * The security type of the holding. In rare instances, a null value is returned when institutional data is insufficient to determine the security type. Valid security types are: `cash`: Cash, currency, and money market funds `cryptocurrency`: Digital or virtual currencies `derivative`: Options, warrants, and other derivative instruments `equity`: Domestic and foreign equities `etf`: Multi-asset exchange-traded investment funds `fixed income`: Bonds and certificates of deposit (CDs) `loan`: Loans and loan receivables `mutual fund`: Open- and closed-end vehicles pooling funds of multiple investors `other`: Unknown or other investment types + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The security type of the holding. In rare instances, a null value is returned when institutional data is insufficient to determine the security type. Valid security types are: `cash`: Cash, currency, and money market funds `cryptocurrency`: Digital or virtual currencies `derivative`: Options, warrants, and other derivative instruments `equity`: Domestic and foreign equities `etf`: Multi-asset exchange-traded investment funds `fixed income`: Bonds and certificates of deposit (CDs) `loan`: Loans and loan receivables `mutual fund`: Open- and closed-end vehicles pooling funds of multiple investors `other`: Unknown or other investment types") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public Security subtype(String subtype) { + + this.subtype = subtype; + return this; + } + + /** + * The security subtype of the holding. In rare instances, a null value is returned when institutional data is insufficient to determine the security subtype. Possible values: `asset backed security`, `bill`, `bond`, `bond with warrants`, `cash`, `cash management bill`, `common stock`, `convertible bond`, `convertible equity`, `cryptocurrency`, `depositary receipt`, `depositary receipt on debt`, `etf`, `float rating note`, `fund of funds`, `hedge fund`, `limited partnership unit`, `medium term note`, `money market debt`, `mortgage backed security`, `municipal bond`, `mutual fund`, `note`, `option`, `other`, `preferred convertible`, `preferred equity`, `private equity fund`, `real estate investment trust`, `structured equity product`, `treasury inflation protected securities`, `unit`, `warrant`. + * @return subtype + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The security subtype of the holding. In rare instances, a null value is returned when institutional data is insufficient to determine the security subtype. Possible values: `asset backed security`, `bill`, `bond`, `bond with warrants`, `cash`, `cash management bill`, `common stock`, `convertible bond`, `convertible equity`, `cryptocurrency`, `depositary receipt`, `depositary receipt on debt`, `etf`, `float rating note`, `fund of funds`, `hedge fund`, `limited partnership unit`, `medium term note`, `money market debt`, `mortgage backed security`, `municipal bond`, `mutual fund`, `note`, `option`, `other`, `preferred convertible`, `preferred equity`, `private equity fund`, `real estate investment trust`, `structured equity product`, `treasury inflation protected securities`, `unit`, `warrant`.") + + public String getSubtype() { + return subtype; + } + + + public void setSubtype(String subtype) { + this.subtype = subtype; + } + + + public Security closePrice(Double closePrice) { + + this.closePrice = closePrice; + return this; + } + + /** + * Price of the security at the close of the previous trading session. Null for non-public securities. If the security is a foreign currency this field will be updated daily and will be priced in USD. If the security is a cryptocurrency, this field will be updated multiple times a day. As crypto prices can fluctuate quickly and data may become stale sooner than other asset classes, refer to `update_datetime` with the time when the price was last updated. + * @return closePrice + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Price of the security at the close of the previous trading session. Null for non-public securities. If the security is a foreign currency this field will be updated daily and will be priced in USD. If the security is a cryptocurrency, this field will be updated multiple times a day. As crypto prices can fluctuate quickly and data may become stale sooner than other asset classes, refer to `update_datetime` with the time when the price was last updated. ") + + public Double getClosePrice() { + return closePrice; + } + + + public void setClosePrice(Double closePrice) { + this.closePrice = closePrice; + } + + + public Security closePriceAsOf(LocalDate closePriceAsOf) { + + this.closePriceAsOf = closePriceAsOf; + return this; + } + + /** + * Date for which `close_price` is accurate. Always `null` if `close_price` is `null`. + * @return closePriceAsOf + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Date for which `close_price` is accurate. Always `null` if `close_price` is `null`.") + + public LocalDate getClosePriceAsOf() { + return closePriceAsOf; + } + + + public void setClosePriceAsOf(LocalDate closePriceAsOf) { + this.closePriceAsOf = closePriceAsOf; + } + + + public Security updateDatetime(OffsetDateTime updateDatetime) { + + this.updateDatetime = updateDatetime; + return this; + } + + /** + * Date and time at which `close_price` is accurate, in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ). Always `null` if `close_price` is `null`. + * @return updateDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Date and time at which `close_price` is accurate, in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ). Always `null` if `close_price` is `null`.") + + public OffsetDateTime getUpdateDatetime() { + return updateDatetime; + } + + + public void setUpdateDatetime(OffsetDateTime updateDatetime) { + this.updateDatetime = updateDatetime; + } + + + public Security isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the price given. Always `null` if `unofficial_currency_code` is non-`null`. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the price given. Always `null` if `unofficial_currency_code` is non-`null`.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public Security unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the security. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the security. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public Security marketIdentifierCode(String marketIdentifierCode) { + + this.marketIdentifierCode = marketIdentifierCode; + return this; + } + + /** + * The ISO-10383 Market Identifier Code of the exchange or market in which the security is being traded. + * @return marketIdentifierCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-10383 Market Identifier Code of the exchange or market in which the security is being traded.") + + public String getMarketIdentifierCode() { + return marketIdentifierCode; + } + + + public void setMarketIdentifierCode(String marketIdentifierCode) { + this.marketIdentifierCode = marketIdentifierCode; + } + + + public Security sector(String sector) { + + this.sector = sector; + return this; + } + + /** + * The sector classification of the security, such as Finance, Health Technology, etc. For a complete list of possible values, please refer to the [\"Sectors and Industries\" spreadsheet](https://docs.google.com/spreadsheets/d/1L7aXUdqLhxgM8qe7hK67qqKXiUdQqILpwZ0LpxvCVnc). + * @return sector + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The sector classification of the security, such as Finance, Health Technology, etc. For a complete list of possible values, please refer to the [\"Sectors and Industries\" spreadsheet](https://docs.google.com/spreadsheets/d/1L7aXUdqLhxgM8qe7hK67qqKXiUdQqILpwZ0LpxvCVnc).") + + public String getSector() { + return sector; + } + + + public void setSector(String sector) { + this.sector = sector; + } + + + public Security industry(String industry) { + + this.industry = industry; + return this; + } + + /** + * The industry classification of the security, such as Biotechnology, Airlines, etc. For a complete list of possible values, please refer to the [\"Sectors and Industries\" spreadsheet](https://docs.google.com/spreadsheets/d/1L7aXUdqLhxgM8qe7hK67qqKXiUdQqILpwZ0LpxvCVnc). + * @return industry + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The industry classification of the security, such as Biotechnology, Airlines, etc. For a complete list of possible values, please refer to the [\"Sectors and Industries\" spreadsheet](https://docs.google.com/spreadsheets/d/1L7aXUdqLhxgM8qe7hK67qqKXiUdQqILpwZ0LpxvCVnc).") + + public String getIndustry() { + return industry; + } + + + public void setIndustry(String industry) { + this.industry = industry; + } + + + public Security cfiCode(String cfiCode) { + + this.cfiCode = cfiCode; + return this; + } + + /** + * The ISO-10962 Classification of Financial Instruments Code used to classify the security based on its structure and function. + * @return cfiCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-10962 Classification of Financial Instruments Code used to classify the security based on its structure and function.") + + public String getCfiCode() { + return cfiCode; + } + + + public void setCfiCode(String cfiCode) { + this.cfiCode = cfiCode; + } + + + public Security figi(String figi) { + + this.figi = figi; + return this; + } + + /** + * 12-character FIGI, a unique Financial Instrument Global Identifier assigned to securities that is immutable and stays consistent across most corporate actions. This is an open data standard issued by the Object Management Group and administered by Bloomberg L.P. + * @return figi + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "12-character FIGI, a unique Financial Instrument Global Identifier assigned to securities that is immutable and stays consistent across most corporate actions. This is an open data standard issued by the Object Management Group and administered by Bloomberg L.P.") + + public String getFigi() { + return figi; + } + + + public void setFigi(String figi) { + this.figi = figi; + } + + + public Security optionContract(OptionContract optionContract) { + + this.optionContract = optionContract; + return this; + } + + /** + * Get optionContract + * @return optionContract + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public OptionContract getOptionContract() { + return optionContract; + } + + + public void setOptionContract(OptionContract optionContract) { + this.optionContract = optionContract; + } + + + public Security fixedIncome(FixedIncome fixedIncome) { + + this.fixedIncome = fixedIncome; + return this; + } + + /** + * Get fixedIncome + * @return fixedIncome + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public FixedIncome getFixedIncome() { + return fixedIncome; + } + + + public void setFixedIncome(FixedIncome fixedIncome) { + this.fixedIncome = fixedIncome; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Security security = (Security) o; + return Objects.equals(this.securityId, security.securityId) && + Objects.equals(this.isin, security.isin) && + Objects.equals(this.cusip, security.cusip) && + Objects.equals(this.sedol, security.sedol) && + Objects.equals(this.institutionSecurityId, security.institutionSecurityId) && + Objects.equals(this.institutionId, security.institutionId) && + Objects.equals(this.proxySecurityId, security.proxySecurityId) && + Objects.equals(this.name, security.name) && + Objects.equals(this.tickerSymbol, security.tickerSymbol) && + Objects.equals(this.isCashEquivalent, security.isCashEquivalent) && + Objects.equals(this.type, security.type) && + Objects.equals(this.subtype, security.subtype) && + Objects.equals(this.closePrice, security.closePrice) && + Objects.equals(this.closePriceAsOf, security.closePriceAsOf) && + Objects.equals(this.updateDatetime, security.updateDatetime) && + Objects.equals(this.isoCurrencyCode, security.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, security.unofficialCurrencyCode) && + Objects.equals(this.marketIdentifierCode, security.marketIdentifierCode) && + Objects.equals(this.sector, security.sector) && + Objects.equals(this.industry, security.industry) && + Objects.equals(this.cfiCode, security.cfiCode) && + Objects.equals(this.figi, security.figi) && + Objects.equals(this.optionContract, security.optionContract) && + Objects.equals(this.fixedIncome, security.fixedIncome); + } + + @Override + public int hashCode() { + return Objects.hash(securityId, isin, cusip, sedol, institutionSecurityId, institutionId, proxySecurityId, name, tickerSymbol, isCashEquivalent, type, subtype, closePrice, closePriceAsOf, updateDatetime, isoCurrencyCode, unofficialCurrencyCode, marketIdentifierCode, sector, industry, cfiCode, figi, optionContract, fixedIncome); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Security {\n"); + sb.append(" securityId: ").append(toIndentedString(securityId)).append("\n"); + sb.append(" isin: ").append(toIndentedString(isin)).append("\n"); + sb.append(" cusip: ").append(toIndentedString(cusip)).append("\n"); + sb.append(" sedol: ").append(toIndentedString(sedol)).append("\n"); + sb.append(" institutionSecurityId: ").append(toIndentedString(institutionSecurityId)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" proxySecurityId: ").append(toIndentedString(proxySecurityId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" tickerSymbol: ").append(toIndentedString(tickerSymbol)).append("\n"); + sb.append(" isCashEquivalent: ").append(toIndentedString(isCashEquivalent)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); + sb.append(" closePrice: ").append(toIndentedString(closePrice)).append("\n"); + sb.append(" closePriceAsOf: ").append(toIndentedString(closePriceAsOf)).append("\n"); + sb.append(" updateDatetime: ").append(toIndentedString(updateDatetime)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" marketIdentifierCode: ").append(toIndentedString(marketIdentifierCode)).append("\n"); + sb.append(" sector: ").append(toIndentedString(sector)).append("\n"); + sb.append(" industry: ").append(toIndentedString(industry)).append("\n"); + sb.append(" cfiCode: ").append(toIndentedString(cfiCode)).append("\n"); + sb.append(" figi: ").append(toIndentedString(figi)).append("\n"); + sb.append(" optionContract: ").append(toIndentedString(optionContract)).append("\n"); + sb.append(" fixedIncome: ").append(toIndentedString(fixedIncome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SecurityOverride.java b/src/main/java/com/plaid/client/model/SecurityOverride.java new file mode 100644 index 0000000000..97731472a1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SecurityOverride.java @@ -0,0 +1,244 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Specify the security associated with the holding or investment transaction. When inputting custom security data to the Sandbox, Plaid will perform post-data-retrieval normalization and enrichment. These processes may cause the data returned by the Sandbox to be slightly different from the data you input. An ISO-4217 currency code and a security identifier (`ticker_symbol`, `cusip`, or `isin`) are required. + */ +@ApiModel(description = "Specify the security associated with the holding or investment transaction. When inputting custom security data to the Sandbox, Plaid will perform post-data-retrieval normalization and enrichment. These processes may cause the data returned by the Sandbox to be slightly different from the data you input. An ISO-4217 currency code and a security identifier (`ticker_symbol`, `cusip`, or `isin`) are required.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SecurityOverride { + public static final String SERIALIZED_NAME_ISIN = "isin"; + @SerializedName(SERIALIZED_NAME_ISIN) + private String isin; + + public static final String SERIALIZED_NAME_CUSIP = "cusip"; + @SerializedName(SERIALIZED_NAME_CUSIP) + private String cusip; + + public static final String SERIALIZED_NAME_SEDOL = "sedol"; + @SerializedName(SERIALIZED_NAME_SEDOL) + private String sedol; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_TICKER_SYMBOL = "ticker_symbol"; + @SerializedName(SERIALIZED_NAME_TICKER_SYMBOL) + private String tickerSymbol; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private String currency; + + + public SecurityOverride isin(String isin) { + + this.isin = isin; + return this; + } + + /** + * 12-character ISIN, a globally unique securities identifier. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please [request ISIN/CUSIP access here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform). + * @return isin + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "12-character ISIN, a globally unique securities identifier. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please [request ISIN/CUSIP access here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform).") + + public String getIsin() { + return isin; + } + + + public void setIsin(String isin) { + this.isin = isin; + } + + + public SecurityOverride cusip(String cusip) { + + this.cusip = cusip; + return this; + } + + /** + * 9-character CUSIP, an identifier assigned to North American securities. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please [request ISIN/CUSIP access here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform). + * @return cusip + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "9-character CUSIP, an identifier assigned to North American securities. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please [request ISIN/CUSIP access here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform).") + + public String getCusip() { + return cusip; + } + + + public void setCusip(String cusip) { + this.cusip = cusip; + } + + + public SecurityOverride sedol(String sedol) { + + this.sedol = sedol; + return this; + } + + /** + * (Deprecated) 7-character SEDOL, an identifier assigned to securities in the UK. + * @return sedol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "(Deprecated) 7-character SEDOL, an identifier assigned to securities in the UK.") + + public String getSedol() { + return sedol; + } + + + public void setSedol(String sedol) { + this.sedol = sedol; + } + + + public SecurityOverride name(String name) { + + this.name = name; + return this; + } + + /** + * A descriptive name for the security, suitable for display. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A descriptive name for the security, suitable for display.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public SecurityOverride tickerSymbol(String tickerSymbol) { + + this.tickerSymbol = tickerSymbol; + return this; + } + + /** + * The security's trading symbol for publicly traded securities, and otherwise a short identifier if available. + * @return tickerSymbol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The security's trading symbol for publicly traded securities, and otherwise a short identifier if available.") + + public String getTickerSymbol() { + return tickerSymbol; + } + + + public void setTickerSymbol(String tickerSymbol) { + this.tickerSymbol = tickerSymbol; + } + + + public SecurityOverride currency(String currency) { + + this.currency = currency; + return this; + } + + /** + * Either a valid `iso_currency_code` or `unofficial_currency_code` + * @return currency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Either a valid `iso_currency_code` or `unofficial_currency_code`") + + public String getCurrency() { + return currency; + } + + + public void setCurrency(String currency) { + this.currency = currency; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityOverride securityOverride = (SecurityOverride) o; + return Objects.equals(this.isin, securityOverride.isin) && + Objects.equals(this.cusip, securityOverride.cusip) && + Objects.equals(this.sedol, securityOverride.sedol) && + Objects.equals(this.name, securityOverride.name) && + Objects.equals(this.tickerSymbol, securityOverride.tickerSymbol) && + Objects.equals(this.currency, securityOverride.currency); + } + + @Override + public int hashCode() { + return Objects.hash(isin, cusip, sedol, name, tickerSymbol, currency); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityOverride {\n"); + sb.append(" isin: ").append(toIndentedString(isin)).append("\n"); + sb.append(" cusip: ").append(toIndentedString(cusip)).append("\n"); + sb.append(" sedol: ").append(toIndentedString(sedol)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" tickerSymbol: ").append(toIndentedString(tickerSymbol)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SelfieAgeCheck.java b/src/main/java/com/plaid/client/model/SelfieAgeCheck.java new file mode 100644 index 0000000000..0ccbd5b01b --- /dev/null +++ b/src/main/java/com/plaid/client/model/SelfieAgeCheck.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SelfieAgeCheckStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Age-estimation results from the selfie capture. This field is `null` when an age range could not be estimated from the selfie capture. + */ +@ApiModel(description = "Age-estimation results from the selfie capture. This field is `null` when an age range could not be estimated from the selfie capture.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SelfieAgeCheck { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private SelfieAgeCheckStatus status; + + public static final String SERIALIZED_NAME_REPORTED_AGE = "reported_age"; + @SerializedName(SERIALIZED_NAME_REPORTED_AGE) + private Integer reportedAge; + + public static final String SERIALIZED_NAME_AGE_ESTIMATE_LOWER_BOUND = "age_estimate_lower_bound"; + @SerializedName(SERIALIZED_NAME_AGE_ESTIMATE_LOWER_BOUND) + private Integer ageEstimateLowerBound; + + public static final String SERIALIZED_NAME_AGE_ESTIMATE_UPPER_BOUND = "age_estimate_upper_bound"; + @SerializedName(SERIALIZED_NAME_AGE_ESTIMATE_UPPER_BOUND) + private Integer ageEstimateUpperBound; + + + public SelfieAgeCheck status(SelfieAgeCheckStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAgeCheckStatus getStatus() { + return status; + } + + + public void setStatus(SelfieAgeCheckStatus status) { + this.status = status; + } + + + public SelfieAgeCheck reportedAge(Integer reportedAge) { + + this.reportedAge = reportedAge; + return this; + } + + /** + * The user's age at the time of the selfie capture, calculated from the date of birth submitted during Identity Verification. If multiple date of birth sources are available, the date of birth submitted in the flow session takes priority over the document date of birth. This field is `null` when the date of birth is unavailable. + * @return reportedAge + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "36", required = true, value = "The user's age at the time of the selfie capture, calculated from the date of birth submitted during Identity Verification. If multiple date of birth sources are available, the date of birth submitted in the flow session takes priority over the document date of birth. This field is `null` when the date of birth is unavailable.") + + public Integer getReportedAge() { + return reportedAge; + } + + + public void setReportedAge(Integer reportedAge) { + this.reportedAge = reportedAge; + } + + + public SelfieAgeCheck ageEstimateLowerBound(Integer ageEstimateLowerBound) { + + this.ageEstimateLowerBound = ageEstimateLowerBound; + return this; + } + + /** + * Lower bound of the estimated age range from the selfie capture. + * @return ageEstimateLowerBound + **/ + @ApiModelProperty(example = "32", required = true, value = "Lower bound of the estimated age range from the selfie capture.") + + public Integer getAgeEstimateLowerBound() { + return ageEstimateLowerBound; + } + + + public void setAgeEstimateLowerBound(Integer ageEstimateLowerBound) { + this.ageEstimateLowerBound = ageEstimateLowerBound; + } + + + public SelfieAgeCheck ageEstimateUpperBound(Integer ageEstimateUpperBound) { + + this.ageEstimateUpperBound = ageEstimateUpperBound; + return this; + } + + /** + * Upper bound of the estimated age range from the selfie capture. + * @return ageEstimateUpperBound + **/ + @ApiModelProperty(example = "38", required = true, value = "Upper bound of the estimated age range from the selfie capture.") + + public Integer getAgeEstimateUpperBound() { + return ageEstimateUpperBound; + } + + + public void setAgeEstimateUpperBound(Integer ageEstimateUpperBound) { + this.ageEstimateUpperBound = ageEstimateUpperBound; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SelfieAgeCheck selfieAgeCheck = (SelfieAgeCheck) o; + return Objects.equals(this.status, selfieAgeCheck.status) && + Objects.equals(this.reportedAge, selfieAgeCheck.reportedAge) && + Objects.equals(this.ageEstimateLowerBound, selfieAgeCheck.ageEstimateLowerBound) && + Objects.equals(this.ageEstimateUpperBound, selfieAgeCheck.ageEstimateUpperBound); + } + + @Override + public int hashCode() { + return Objects.hash(status, reportedAge, ageEstimateLowerBound, ageEstimateUpperBound); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SelfieAgeCheck {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" reportedAge: ").append(toIndentedString(reportedAge)).append("\n"); + sb.append(" ageEstimateLowerBound: ").append(toIndentedString(ageEstimateLowerBound)).append("\n"); + sb.append(" ageEstimateUpperBound: ").append(toIndentedString(ageEstimateUpperBound)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SelfieAgeCheckStatus.java b/src/main/java/com/plaid/client/model/SelfieAgeCheckStatus.java new file mode 100644 index 0000000000..4a31958aa4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SelfieAgeCheckStatus.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An enum indicating whether the reported age aligns with the estimated selfie capture age range. `match` indicates that the reported age falls within the estimated selfie capture age range. `warning` indicates that the reported age falls outside the estimated selfie capture age range, but is close enough that the result should be reviewed. `no_match` indicates that the reported age falls far outside the estimated selfie capture age range. `no_data` indicates that there was not enough data available at age-estimation time to compare the reported age against the estimated selfie capture age range. + */ +@JsonAdapter(SelfieAgeCheckStatus.Adapter.class) +public enum SelfieAgeCheckStatus { + + MATCH("match"), + + WARNING("warning"), + + NO_MATCH("no_match"), + + NO_DATA("no_data"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SelfieAgeCheckStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SelfieAgeCheckStatus fromValue(String value) { + for (SelfieAgeCheckStatus b : SelfieAgeCheckStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return SelfieAgeCheckStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SelfieAgeCheckStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SelfieAgeCheckStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SelfieAgeCheckStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SelfieAnalysis.java b/src/main/java/com/plaid/client/model/SelfieAnalysis.java new file mode 100644 index 0000000000..babbd5fdee --- /dev/null +++ b/src/main/java/com/plaid/client/model/SelfieAnalysis.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SelfieAgeCheck; +import com.plaid.client.model.SelfieAnalysisDocumentComparison; +import com.plaid.client.model.SelfieAnalysisFacialAnalysis; +import com.plaid.client.model.SelfieAnalysisLivenessCheck; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * High level descriptions of how the associated selfie was processed. If a selfie fails verification, the details in the `analysis` object should help clarify why the selfie was rejected. + */ +@ApiModel(description = "High level descriptions of how the associated selfie was processed. If a selfie fails verification, the details in the `analysis` object should help clarify why the selfie was rejected.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SelfieAnalysis { + public static final String SERIALIZED_NAME_DOCUMENT_COMPARISON = "document_comparison"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_COMPARISON) + private SelfieAnalysisDocumentComparison documentComparison; + + public static final String SERIALIZED_NAME_LIVENESS_CHECK = "liveness_check"; + @SerializedName(SERIALIZED_NAME_LIVENESS_CHECK) + private SelfieAnalysisLivenessCheck livenessCheck; + + public static final String SERIALIZED_NAME_AGE_CHECK = "age_check"; + @SerializedName(SERIALIZED_NAME_AGE_CHECK) + private SelfieAgeCheck ageCheck; + + public static final String SERIALIZED_NAME_FACIAL_ANALYSIS = "facial_analysis"; + @SerializedName(SERIALIZED_NAME_FACIAL_ANALYSIS) + private SelfieAnalysisFacialAnalysis facialAnalysis; + + + public SelfieAnalysis documentComparison(SelfieAnalysisDocumentComparison documentComparison) { + + this.documentComparison = documentComparison; + return this; + } + + /** + * Get documentComparison + * @return documentComparison + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisDocumentComparison getDocumentComparison() { + return documentComparison; + } + + + public void setDocumentComparison(SelfieAnalysisDocumentComparison documentComparison) { + this.documentComparison = documentComparison; + } + + + public SelfieAnalysis livenessCheck(SelfieAnalysisLivenessCheck livenessCheck) { + + this.livenessCheck = livenessCheck; + return this; + } + + /** + * Get livenessCheck + * @return livenessCheck + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisLivenessCheck getLivenessCheck() { + return livenessCheck; + } + + + public void setLivenessCheck(SelfieAnalysisLivenessCheck livenessCheck) { + this.livenessCheck = livenessCheck; + } + + + public SelfieAnalysis ageCheck(SelfieAgeCheck ageCheck) { + + this.ageCheck = ageCheck; + return this; + } + + /** + * Get ageCheck + * @return ageCheck + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SelfieAgeCheck getAgeCheck() { + return ageCheck; + } + + + public void setAgeCheck(SelfieAgeCheck ageCheck) { + this.ageCheck = ageCheck; + } + + + public SelfieAnalysis facialAnalysis(SelfieAnalysisFacialAnalysis facialAnalysis) { + + this.facialAnalysis = facialAnalysis; + return this; + } + + /** + * Get facialAnalysis + * @return facialAnalysis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SelfieAnalysisFacialAnalysis getFacialAnalysis() { + return facialAnalysis; + } + + + public void setFacialAnalysis(SelfieAnalysisFacialAnalysis facialAnalysis) { + this.facialAnalysis = facialAnalysis; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SelfieAnalysis selfieAnalysis = (SelfieAnalysis) o; + return Objects.equals(this.documentComparison, selfieAnalysis.documentComparison) && + Objects.equals(this.livenessCheck, selfieAnalysis.livenessCheck) && + Objects.equals(this.ageCheck, selfieAnalysis.ageCheck) && + Objects.equals(this.facialAnalysis, selfieAnalysis.facialAnalysis); + } + + @Override + public int hashCode() { + return Objects.hash(documentComparison, livenessCheck, ageCheck, facialAnalysis); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SelfieAnalysis {\n"); + sb.append(" documentComparison: ").append(toIndentedString(documentComparison)).append("\n"); + sb.append(" livenessCheck: ").append(toIndentedString(livenessCheck)).append("\n"); + sb.append(" ageCheck: ").append(toIndentedString(ageCheck)).append("\n"); + sb.append(" facialAnalysis: ").append(toIndentedString(facialAnalysis)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SelfieAnalysisDocumentComparison.java b/src/main/java/com/plaid/client/model/SelfieAnalysisDocumentComparison.java new file mode 100644 index 0000000000..0a2a30d02d --- /dev/null +++ b/src/main/java/com/plaid/client/model/SelfieAnalysisDocumentComparison.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Information about the comparison between the selfie and the document (if documentary verification also ran). + */ +@JsonAdapter(SelfieAnalysisDocumentComparison.Adapter.class) +public enum SelfieAnalysisDocumentComparison { + + MATCH("match"), + + NO_MATCH("no_match"), + + NO_INPUT("no_input"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SelfieAnalysisDocumentComparison(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SelfieAnalysisDocumentComparison fromValue(String value) { + for (SelfieAnalysisDocumentComparison b : SelfieAnalysisDocumentComparison.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return SelfieAnalysisDocumentComparison.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SelfieAnalysisDocumentComparison enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SelfieAnalysisDocumentComparison read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SelfieAnalysisDocumentComparison.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SelfieAnalysisFacialAnalysis.java b/src/main/java/com/plaid/client/model/SelfieAnalysisFacialAnalysis.java new file mode 100644 index 0000000000..1a5b127e2d --- /dev/null +++ b/src/main/java/com/plaid/client/model/SelfieAnalysisFacialAnalysis.java @@ -0,0 +1,407 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SelfieAnalysisFacialAnalysisOutcome; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Analysis of the facial features of the selfie when compared to the face in the uploaded document, if one is present. + */ +@ApiModel(description = "Analysis of the facial features of the selfie when compared to the face in the uploaded document, if one is present.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SelfieAnalysisFacialAnalysis { + public static final String SERIALIZED_NAME_LEFT_EYE = "left_eye"; + @SerializedName(SERIALIZED_NAME_LEFT_EYE) + private SelfieAnalysisFacialAnalysisOutcome leftEye; + + public static final String SERIALIZED_NAME_RIGHT_EYE = "right_eye"; + @SerializedName(SERIALIZED_NAME_RIGHT_EYE) + private SelfieAnalysisFacialAnalysisOutcome rightEye; + + public static final String SERIALIZED_NAME_LEFT_BROW = "left_brow"; + @SerializedName(SERIALIZED_NAME_LEFT_BROW) + private SelfieAnalysisFacialAnalysisOutcome leftBrow; + + public static final String SERIALIZED_NAME_RIGHT_BROW = "right_brow"; + @SerializedName(SERIALIZED_NAME_RIGHT_BROW) + private SelfieAnalysisFacialAnalysisOutcome rightBrow; + + public static final String SERIALIZED_NAME_FOREHEAD = "forehead"; + @SerializedName(SERIALIZED_NAME_FOREHEAD) + private SelfieAnalysisFacialAnalysisOutcome forehead; + + public static final String SERIALIZED_NAME_MIDDLE_FOREHEAD = "middle_forehead"; + @SerializedName(SERIALIZED_NAME_MIDDLE_FOREHEAD) + private SelfieAnalysisFacialAnalysisOutcome middleForehead; + + public static final String SERIALIZED_NAME_NOSE = "nose"; + @SerializedName(SERIALIZED_NAME_NOSE) + private SelfieAnalysisFacialAnalysisOutcome nose; + + public static final String SERIALIZED_NAME_PHILTRUM = "philtrum"; + @SerializedName(SERIALIZED_NAME_PHILTRUM) + private SelfieAnalysisFacialAnalysisOutcome philtrum; + + public static final String SERIALIZED_NAME_MOUTH = "mouth"; + @SerializedName(SERIALIZED_NAME_MOUTH) + private SelfieAnalysisFacialAnalysisOutcome mouth; + + public static final String SERIALIZED_NAME_JAW = "jaw"; + @SerializedName(SERIALIZED_NAME_JAW) + private SelfieAnalysisFacialAnalysisOutcome jaw; + + public static final String SERIALIZED_NAME_LEFT_CHEEK = "left_cheek"; + @SerializedName(SERIALIZED_NAME_LEFT_CHEEK) + private SelfieAnalysisFacialAnalysisOutcome leftCheek; + + public static final String SERIALIZED_NAME_RIGHT_CHEEK = "right_cheek"; + @SerializedName(SERIALIZED_NAME_RIGHT_CHEEK) + private SelfieAnalysisFacialAnalysisOutcome rightCheek; + + + public SelfieAnalysisFacialAnalysis leftEye(SelfieAnalysisFacialAnalysisOutcome leftEye) { + + this.leftEye = leftEye; + return this; + } + + /** + * Get leftEye + * @return leftEye + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisFacialAnalysisOutcome getLeftEye() { + return leftEye; + } + + + public void setLeftEye(SelfieAnalysisFacialAnalysisOutcome leftEye) { + this.leftEye = leftEye; + } + + + public SelfieAnalysisFacialAnalysis rightEye(SelfieAnalysisFacialAnalysisOutcome rightEye) { + + this.rightEye = rightEye; + return this; + } + + /** + * Get rightEye + * @return rightEye + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisFacialAnalysisOutcome getRightEye() { + return rightEye; + } + + + public void setRightEye(SelfieAnalysisFacialAnalysisOutcome rightEye) { + this.rightEye = rightEye; + } + + + public SelfieAnalysisFacialAnalysis leftBrow(SelfieAnalysisFacialAnalysisOutcome leftBrow) { + + this.leftBrow = leftBrow; + return this; + } + + /** + * Get leftBrow + * @return leftBrow + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisFacialAnalysisOutcome getLeftBrow() { + return leftBrow; + } + + + public void setLeftBrow(SelfieAnalysisFacialAnalysisOutcome leftBrow) { + this.leftBrow = leftBrow; + } + + + public SelfieAnalysisFacialAnalysis rightBrow(SelfieAnalysisFacialAnalysisOutcome rightBrow) { + + this.rightBrow = rightBrow; + return this; + } + + /** + * Get rightBrow + * @return rightBrow + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisFacialAnalysisOutcome getRightBrow() { + return rightBrow; + } + + + public void setRightBrow(SelfieAnalysisFacialAnalysisOutcome rightBrow) { + this.rightBrow = rightBrow; + } + + + public SelfieAnalysisFacialAnalysis forehead(SelfieAnalysisFacialAnalysisOutcome forehead) { + + this.forehead = forehead; + return this; + } + + /** + * Get forehead + * @return forehead + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisFacialAnalysisOutcome getForehead() { + return forehead; + } + + + public void setForehead(SelfieAnalysisFacialAnalysisOutcome forehead) { + this.forehead = forehead; + } + + + public SelfieAnalysisFacialAnalysis middleForehead(SelfieAnalysisFacialAnalysisOutcome middleForehead) { + + this.middleForehead = middleForehead; + return this; + } + + /** + * Get middleForehead + * @return middleForehead + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisFacialAnalysisOutcome getMiddleForehead() { + return middleForehead; + } + + + public void setMiddleForehead(SelfieAnalysisFacialAnalysisOutcome middleForehead) { + this.middleForehead = middleForehead; + } + + + public SelfieAnalysisFacialAnalysis nose(SelfieAnalysisFacialAnalysisOutcome nose) { + + this.nose = nose; + return this; + } + + /** + * Get nose + * @return nose + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisFacialAnalysisOutcome getNose() { + return nose; + } + + + public void setNose(SelfieAnalysisFacialAnalysisOutcome nose) { + this.nose = nose; + } + + + public SelfieAnalysisFacialAnalysis philtrum(SelfieAnalysisFacialAnalysisOutcome philtrum) { + + this.philtrum = philtrum; + return this; + } + + /** + * Get philtrum + * @return philtrum + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisFacialAnalysisOutcome getPhiltrum() { + return philtrum; + } + + + public void setPhiltrum(SelfieAnalysisFacialAnalysisOutcome philtrum) { + this.philtrum = philtrum; + } + + + public SelfieAnalysisFacialAnalysis mouth(SelfieAnalysisFacialAnalysisOutcome mouth) { + + this.mouth = mouth; + return this; + } + + /** + * Get mouth + * @return mouth + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisFacialAnalysisOutcome getMouth() { + return mouth; + } + + + public void setMouth(SelfieAnalysisFacialAnalysisOutcome mouth) { + this.mouth = mouth; + } + + + public SelfieAnalysisFacialAnalysis jaw(SelfieAnalysisFacialAnalysisOutcome jaw) { + + this.jaw = jaw; + return this; + } + + /** + * Get jaw + * @return jaw + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisFacialAnalysisOutcome getJaw() { + return jaw; + } + + + public void setJaw(SelfieAnalysisFacialAnalysisOutcome jaw) { + this.jaw = jaw; + } + + + public SelfieAnalysisFacialAnalysis leftCheek(SelfieAnalysisFacialAnalysisOutcome leftCheek) { + + this.leftCheek = leftCheek; + return this; + } + + /** + * Get leftCheek + * @return leftCheek + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisFacialAnalysisOutcome getLeftCheek() { + return leftCheek; + } + + + public void setLeftCheek(SelfieAnalysisFacialAnalysisOutcome leftCheek) { + this.leftCheek = leftCheek; + } + + + public SelfieAnalysisFacialAnalysis rightCheek(SelfieAnalysisFacialAnalysisOutcome rightCheek) { + + this.rightCheek = rightCheek; + return this; + } + + /** + * Get rightCheek + * @return rightCheek + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysisFacialAnalysisOutcome getRightCheek() { + return rightCheek; + } + + + public void setRightCheek(SelfieAnalysisFacialAnalysisOutcome rightCheek) { + this.rightCheek = rightCheek; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SelfieAnalysisFacialAnalysis selfieAnalysisFacialAnalysis = (SelfieAnalysisFacialAnalysis) o; + return Objects.equals(this.leftEye, selfieAnalysisFacialAnalysis.leftEye) && + Objects.equals(this.rightEye, selfieAnalysisFacialAnalysis.rightEye) && + Objects.equals(this.leftBrow, selfieAnalysisFacialAnalysis.leftBrow) && + Objects.equals(this.rightBrow, selfieAnalysisFacialAnalysis.rightBrow) && + Objects.equals(this.forehead, selfieAnalysisFacialAnalysis.forehead) && + Objects.equals(this.middleForehead, selfieAnalysisFacialAnalysis.middleForehead) && + Objects.equals(this.nose, selfieAnalysisFacialAnalysis.nose) && + Objects.equals(this.philtrum, selfieAnalysisFacialAnalysis.philtrum) && + Objects.equals(this.mouth, selfieAnalysisFacialAnalysis.mouth) && + Objects.equals(this.jaw, selfieAnalysisFacialAnalysis.jaw) && + Objects.equals(this.leftCheek, selfieAnalysisFacialAnalysis.leftCheek) && + Objects.equals(this.rightCheek, selfieAnalysisFacialAnalysis.rightCheek); + } + + @Override + public int hashCode() { + return Objects.hash(leftEye, rightEye, leftBrow, rightBrow, forehead, middleForehead, nose, philtrum, mouth, jaw, leftCheek, rightCheek); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SelfieAnalysisFacialAnalysis {\n"); + sb.append(" leftEye: ").append(toIndentedString(leftEye)).append("\n"); + sb.append(" rightEye: ").append(toIndentedString(rightEye)).append("\n"); + sb.append(" leftBrow: ").append(toIndentedString(leftBrow)).append("\n"); + sb.append(" rightBrow: ").append(toIndentedString(rightBrow)).append("\n"); + sb.append(" forehead: ").append(toIndentedString(forehead)).append("\n"); + sb.append(" middleForehead: ").append(toIndentedString(middleForehead)).append("\n"); + sb.append(" nose: ").append(toIndentedString(nose)).append("\n"); + sb.append(" philtrum: ").append(toIndentedString(philtrum)).append("\n"); + sb.append(" mouth: ").append(toIndentedString(mouth)).append("\n"); + sb.append(" jaw: ").append(toIndentedString(jaw)).append("\n"); + sb.append(" leftCheek: ").append(toIndentedString(leftCheek)).append("\n"); + sb.append(" rightCheek: ").append(toIndentedString(rightCheek)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SelfieAnalysisFacialAnalysisOutcome.java b/src/main/java/com/plaid/client/model/SelfieAnalysisFacialAnalysisOutcome.java new file mode 100644 index 0000000000..8e8c52b40e --- /dev/null +++ b/src/main/java/com/plaid/client/model/SelfieAnalysisFacialAnalysisOutcome.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Outcome of the facial analysis for a specific facial feature. + */ +@JsonAdapter(SelfieAnalysisFacialAnalysisOutcome.Adapter.class) +public enum SelfieAnalysisFacialAnalysisOutcome { + + SUCCESS("success"), + + FAILED("failed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SelfieAnalysisFacialAnalysisOutcome(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SelfieAnalysisFacialAnalysisOutcome fromValue(String value) { + for (SelfieAnalysisFacialAnalysisOutcome b : SelfieAnalysisFacialAnalysisOutcome.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return SelfieAnalysisFacialAnalysisOutcome.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SelfieAnalysisFacialAnalysisOutcome enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SelfieAnalysisFacialAnalysisOutcome read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SelfieAnalysisFacialAnalysisOutcome.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SelfieAnalysisLivenessCheck.java b/src/main/java/com/plaid/client/model/SelfieAnalysisLivenessCheck.java new file mode 100644 index 0000000000..8a846bad04 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SelfieAnalysisLivenessCheck.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Assessment of whether the selfie capture is of a real human being, as opposed to a picture of a human on a screen, a picture of a paper cut out, someone wearing a mask, or a deepfake. + */ +@JsonAdapter(SelfieAnalysisLivenessCheck.Adapter.class) +public enum SelfieAnalysisLivenessCheck { + + SUCCESS("success"), + + FAILED("failed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SelfieAnalysisLivenessCheck(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SelfieAnalysisLivenessCheck fromValue(String value) { + for (SelfieAnalysisLivenessCheck b : SelfieAnalysisLivenessCheck.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return SelfieAnalysisLivenessCheck.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SelfieAnalysisLivenessCheck enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SelfieAnalysisLivenessCheck read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SelfieAnalysisLivenessCheck.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SelfieCapture.java b/src/main/java/com/plaid/client/model/SelfieCapture.java new file mode 100644 index 0000000000..093e1dffe0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SelfieCapture.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The image or video capture of a selfie. Only one of `image_url` or `video_url` will be populated per selfie. In the vast majority of sessions Plaid records a short video of the user, so `video_url` is populated and `image_url` is `null`. `image_url` is only populated in the rare passive-liveness fallback case, where the user's device could not complete the standard video liveness capture (for example, a camera or streaming error) and submitted a single still image instead. + */ +@ApiModel(description = "The image or video capture of a selfie. Only one of `image_url` or `video_url` will be populated per selfie. In the vast majority of sessions Plaid records a short video of the user, so `video_url` is populated and `image_url` is `null`. `image_url` is only populated in the rare passive-liveness fallback case, where the user's device could not complete the standard video liveness capture (for example, a camera or streaming error) and submitted a single still image instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SelfieCapture { + public static final String SERIALIZED_NAME_IMAGE_URL = "image_url"; + @SerializedName(SERIALIZED_NAME_IMAGE_URL) + private String imageUrl; + + public static final String SERIALIZED_NAME_VIDEO_URL = "video_url"; + @SerializedName(SERIALIZED_NAME_VIDEO_URL) + private String videoUrl; + + + public SelfieCapture imageUrl(String imageUrl) { + + this.imageUrl = imageUrl; + return this; + } + + /** + * Temporary URL for downloading a still-image selfie capture. This field is only populated when the session fell back to passive (image-based) liveness. For the majority of selfie checks this field is `null` and `video_url` is populated instead. + * @return imageUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/selfie/liveness.jpeg", required = true, value = "Temporary URL for downloading a still-image selfie capture. This field is only populated when the session fell back to passive (image-based) liveness. For the majority of selfie checks this field is `null` and `video_url` is populated instead.") + + public String getImageUrl() { + return imageUrl; + } + + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } + + + public SelfieCapture videoUrl(String videoUrl) { + + this.videoUrl = videoUrl; + return this; + } + + /** + * Temporary URL for downloading a video selfie capture. This is the standard selfie capture for Identity Verification. Plaid records a short video of the user during the Selfie Check liveness step, so this field is populated for the vast majority of selfie checks. + * @return videoUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/selfie/liveness.webm", required = true, value = "Temporary URL for downloading a video selfie capture. This is the standard selfie capture for Identity Verification. Plaid records a short video of the user during the Selfie Check liveness step, so this field is populated for the vast majority of selfie checks.") + + public String getVideoUrl() { + return videoUrl; + } + + + public void setVideoUrl(String videoUrl) { + this.videoUrl = videoUrl; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SelfieCapture selfieCapture = (SelfieCapture) o; + return Objects.equals(this.imageUrl, selfieCapture.imageUrl) && + Objects.equals(this.videoUrl, selfieCapture.videoUrl); + } + + @Override + public int hashCode() { + return Objects.hash(imageUrl, videoUrl); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SelfieCapture {\n"); + sb.append(" imageUrl: ").append(toIndentedString(imageUrl)).append("\n"); + sb.append(" videoUrl: ").append(toIndentedString(videoUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SelfieCheck.java b/src/main/java/com/plaid/client/model/SelfieCheck.java new file mode 100644 index 0000000000..14bab058df --- /dev/null +++ b/src/main/java/com/plaid/client/model/SelfieCheck.java @@ -0,0 +1,135 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SelfieCheckSelfie; +import com.plaid.client.model.SelfieCheckStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Additional information for the `selfie_check` step. This field will be `null` unless `steps.selfie_check` has reached a terminal state of either `success` or `failed`. + */ +@ApiModel(description = "Additional information for the `selfie_check` step. This field will be `null` unless `steps.selfie_check` has reached a terminal state of either `success` or `failed`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SelfieCheck { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private SelfieCheckStatus status; + + public static final String SERIALIZED_NAME_SELFIES = "selfies"; + @SerializedName(SERIALIZED_NAME_SELFIES) + private List selfies = new ArrayList<>(); + + + public SelfieCheck status(SelfieCheckStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieCheckStatus getStatus() { + return status; + } + + + public void setStatus(SelfieCheckStatus status) { + this.status = status; + } + + + public SelfieCheck selfies(List selfies) { + + this.selfies = selfies; + return this; + } + + public SelfieCheck addSelfiesItem(SelfieCheckSelfie selfiesItem) { + this.selfies.add(selfiesItem); + return this; + } + + /** + * An array of selfies submitted to the `selfie_check` step. Each entry represents one user submission. + * @return selfies + **/ + @ApiModelProperty(required = true, value = "An array of selfies submitted to the `selfie_check` step. Each entry represents one user submission.") + + public List getSelfies() { + return selfies; + } + + + public void setSelfies(List selfies) { + this.selfies = selfies; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SelfieCheck selfieCheck = (SelfieCheck) o; + return Objects.equals(this.status, selfieCheck.status) && + Objects.equals(this.selfies, selfieCheck.selfies); + } + + @Override + public int hashCode() { + return Objects.hash(status, selfies); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SelfieCheck {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" selfies: ").append(toIndentedString(selfies)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SelfieCheckSelfie.java b/src/main/java/com/plaid/client/model/SelfieCheckSelfie.java new file mode 100644 index 0000000000..b1bafcfac6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SelfieCheckSelfie.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SelfieAnalysis; +import com.plaid.client.model.SelfieCapture; +import com.plaid.client.model.SelfieStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Captures and analysis from a user's selfie. + */ +@ApiModel(description = "Captures and analysis from a user's selfie.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SelfieCheckSelfie { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private SelfieStatus status; + + public static final String SERIALIZED_NAME_ATTEMPT = "attempt"; + @SerializedName(SERIALIZED_NAME_ATTEMPT) + private Integer attempt; + + public static final String SERIALIZED_NAME_CAPTURE = "capture"; + @SerializedName(SERIALIZED_NAME_CAPTURE) + private SelfieCapture capture; + + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private SelfieAnalysis analysis; + + + public SelfieCheckSelfie status(SelfieStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieStatus getStatus() { + return status; + } + + + public void setStatus(SelfieStatus status) { + this.status = status; + } + + + public SelfieCheckSelfie attempt(Integer attempt) { + + this.attempt = attempt; + return this; + } + + /** + * The `attempt` field begins with 1 and increments with each subsequent selfie upload. + * @return attempt + **/ + @ApiModelProperty(example = "1", required = true, value = "The `attempt` field begins with 1 and increments with each subsequent selfie upload.") + + public Integer getAttempt() { + return attempt; + } + + + public void setAttempt(Integer attempt) { + this.attempt = attempt; + } + + + public SelfieCheckSelfie capture(SelfieCapture capture) { + + this.capture = capture; + return this; + } + + /** + * Get capture + * @return capture + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieCapture getCapture() { + return capture; + } + + + public void setCapture(SelfieCapture capture) { + this.capture = capture; + } + + + public SelfieCheckSelfie analysis(SelfieAnalysis analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @ApiModelProperty(required = true, value = "") + + public SelfieAnalysis getAnalysis() { + return analysis; + } + + + public void setAnalysis(SelfieAnalysis analysis) { + this.analysis = analysis; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SelfieCheckSelfie selfieCheckSelfie = (SelfieCheckSelfie) o; + return Objects.equals(this.status, selfieCheckSelfie.status) && + Objects.equals(this.attempt, selfieCheckSelfie.attempt) && + Objects.equals(this.capture, selfieCheckSelfie.capture) && + Objects.equals(this.analysis, selfieCheckSelfie.analysis); + } + + @Override + public int hashCode() { + return Objects.hash(status, attempt, capture, analysis); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SelfieCheckSelfie {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" attempt: ").append(toIndentedString(attempt)).append("\n"); + sb.append(" capture: ").append(toIndentedString(capture)).append("\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SelfieCheckStatus.java b/src/main/java/com/plaid/client/model/SelfieCheckStatus.java new file mode 100644 index 0000000000..812c6a07c2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SelfieCheckStatus.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The outcome status for the associated Identity Verification attempt's `selfie_check` step. This field will always have the same value as `steps.selfie_check`. + */ +@JsonAdapter(SelfieCheckStatus.Adapter.class) +public enum SelfieCheckStatus { + + SUCCESS("success"), + + FAILED("failed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SelfieCheckStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SelfieCheckStatus fromValue(String value) { + for (SelfieCheckStatus b : SelfieCheckStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return SelfieCheckStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SelfieCheckStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SelfieCheckStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SelfieCheckStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SelfieStatus.java b/src/main/java/com/plaid/client/model/SelfieStatus.java new file mode 100644 index 0000000000..c4f00d9d47 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SelfieStatus.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An outcome status for this specific selfie. Distinct from the overall `selfie_check.status` that summarizes the verification outcome from one or more selfies. + */ +@JsonAdapter(SelfieStatus.Adapter.class) +public enum SelfieStatus { + + SUCCESS("success"), + + FAILED("failed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SelfieStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SelfieStatus fromValue(String value) { + for (SelfieStatus b : SelfieStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return SelfieStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SelfieStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SelfieStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SelfieStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SenderBACSNullable.java b/src/main/java/com/plaid/client/model/SenderBACSNullable.java new file mode 100644 index 0000000000..b0623e92bc --- /dev/null +++ b/src/main/java/com/plaid/client/model/SenderBACSNullable.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RecipientBACS; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object containing a Bacs account number and sort code. If an IBAN is not provided or if this recipient needs to accept domestic GBP-denominated payments, Bacs data is required. + */ +@ApiModel(description = "An object containing a Bacs account number and sort code. If an IBAN is not provided or if this recipient needs to accept domestic GBP-denominated payments, Bacs data is required.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SenderBACSNullable { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_SORT_CODE = "sort_code"; + @SerializedName(SERIALIZED_NAME_SORT_CODE) + private String sortCode; + + + public SenderBACSNullable account(String account) { + + this.account = account; + return this; + } + + /** + * The account number of the account. Maximum of 10 characters. + * @return account + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account number of the account. Maximum of 10 characters.") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public SenderBACSNullable sortCode(String sortCode) { + + this.sortCode = sortCode; + return this; + } + + /** + * The 6-character sort code of the account. + * @return sortCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 6-character sort code of the account.") + + public String getSortCode() { + return sortCode; + } + + + public void setSortCode(String sortCode) { + this.sortCode = sortCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SenderBACSNullable senderBACSNullable = (SenderBACSNullable) o; + return Objects.equals(this.account, senderBACSNullable.account) && + Objects.equals(this.sortCode, senderBACSNullable.sortCode); + } + + @Override + public int hashCode() { + return Objects.hash(account, sortCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SenderBACSNullable {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" sortCode: ").append(toIndentedString(sortCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Service.java b/src/main/java/com/plaid/client/model/Service.java new file mode 100644 index 0000000000..9f2bf66db6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Service.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Statuses; +import com.plaid.client.model.VerificationOfAsset; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A collection of details related to a fulfillment service or product in terms of request, process and result. + */ +@ApiModel(description = "A collection of details related to a fulfillment service or product in terms of request, process and result.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Service { + public static final String SERIALIZED_NAME_V_E_R_I_F_I_C_A_T_I_O_N_O_F_A_S_S_E_T = "VERIFICATION_OF_ASSET"; + @SerializedName(SERIALIZED_NAME_V_E_R_I_F_I_C_A_T_I_O_N_O_F_A_S_S_E_T) + private VerificationOfAsset VERIFICATION_OF_ASSET; + + public static final String SERIALIZED_NAME_S_T_A_T_U_S_E_S = "STATUSES"; + @SerializedName(SERIALIZED_NAME_S_T_A_T_U_S_E_S) + private Statuses STATUSES; + + + public Service VERIFICATION_OF_ASSET(VerificationOfAsset VERIFICATION_OF_ASSET) { + + this.VERIFICATION_OF_ASSET = VERIFICATION_OF_ASSET; + return this; + } + + /** + * Get VERIFICATION_OF_ASSET + * @return VERIFICATION_OF_ASSET + **/ + @ApiModelProperty(required = true, value = "") + + public VerificationOfAsset getVERIFICATIONOFASSET() { + return VERIFICATION_OF_ASSET; + } + + + public void setVERIFICATIONOFASSET(VerificationOfAsset VERIFICATION_OF_ASSET) { + this.VERIFICATION_OF_ASSET = VERIFICATION_OF_ASSET; + } + + + public Service STATUSES(Statuses STATUSES) { + + this.STATUSES = STATUSES; + return this; + } + + /** + * Get STATUSES + * @return STATUSES + **/ + @ApiModelProperty(required = true, value = "") + + public Statuses getSTATUSES() { + return STATUSES; + } + + + public void setSTATUSES(Statuses STATUSES) { + this.STATUSES = STATUSES; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Service service = (Service) o; + return Objects.equals(this.VERIFICATION_OF_ASSET, service.VERIFICATION_OF_ASSET) && + Objects.equals(this.STATUSES, service.STATUSES); + } + + @Override + public int hashCode() { + return Objects.hash(VERIFICATION_OF_ASSET, STATUSES); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Service {\n"); + sb.append(" VERIFICATION_OF_ASSET: ").append(toIndentedString(VERIFICATION_OF_ASSET)).append("\n"); + sb.append(" STATUSES: ").append(toIndentedString(STATUSES)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ServiceProductFulfillment.java b/src/main/java/com/plaid/client/model/ServiceProductFulfillment.java new file mode 100644 index 0000000000..e3b54fbd0b --- /dev/null +++ b/src/main/java/com/plaid/client/model/ServiceProductFulfillment.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ServiceProductFulfillmentDetail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A collection of details related to a fulfillment service or product in terms of request, process and result. + */ +@ApiModel(description = "A collection of details related to a fulfillment service or product in terms of request, process and result.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ServiceProductFulfillment { + public static final String SERIALIZED_NAME_S_E_R_V_I_C_E_P_R_O_D_U_C_T_F_U_L_F_I_L_L_M_E_N_T_D_E_T_A_I_L = "SERVICE_PRODUCT_FULFILLMENT_DETAIL"; + @SerializedName(SERIALIZED_NAME_S_E_R_V_I_C_E_P_R_O_D_U_C_T_F_U_L_F_I_L_L_M_E_N_T_D_E_T_A_I_L) + private ServiceProductFulfillmentDetail SERVICE_PRODUCT_FULFILLMENT_DETAIL; + + + public ServiceProductFulfillment SERVICE_PRODUCT_FULFILLMENT_DETAIL(ServiceProductFulfillmentDetail SERVICE_PRODUCT_FULFILLMENT_DETAIL) { + + this.SERVICE_PRODUCT_FULFILLMENT_DETAIL = SERVICE_PRODUCT_FULFILLMENT_DETAIL; + return this; + } + + /** + * Get SERVICE_PRODUCT_FULFILLMENT_DETAIL + * @return SERVICE_PRODUCT_FULFILLMENT_DETAIL + **/ + @ApiModelProperty(required = true, value = "") + + public ServiceProductFulfillmentDetail getSERVICEPRODUCTFULFILLMENTDETAIL() { + return SERVICE_PRODUCT_FULFILLMENT_DETAIL; + } + + + public void setSERVICEPRODUCTFULFILLMENTDETAIL(ServiceProductFulfillmentDetail SERVICE_PRODUCT_FULFILLMENT_DETAIL) { + this.SERVICE_PRODUCT_FULFILLMENT_DETAIL = SERVICE_PRODUCT_FULFILLMENT_DETAIL; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ServiceProductFulfillment serviceProductFulfillment = (ServiceProductFulfillment) o; + return Objects.equals(this.SERVICE_PRODUCT_FULFILLMENT_DETAIL, serviceProductFulfillment.SERVICE_PRODUCT_FULFILLMENT_DETAIL); + } + + @Override + public int hashCode() { + return Objects.hash(SERVICE_PRODUCT_FULFILLMENT_DETAIL); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ServiceProductFulfillment {\n"); + sb.append(" SERVICE_PRODUCT_FULFILLMENT_DETAIL: ").append(toIndentedString(SERVICE_PRODUCT_FULFILLMENT_DETAIL)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ServiceProductFulfillmentDetail.java b/src/main/java/com/plaid/client/model/ServiceProductFulfillmentDetail.java new file mode 100644 index 0000000000..23b9dda044 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ServiceProductFulfillmentDetail.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ServiceProductFulfillmentIdentifier; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ServiceProductFulfillmentDetail { + public static final String SERIALIZED_NAME_VENDOR_ORDER_IDENTIFIER = "VendorOrderIdentifier"; + @SerializedName(SERIALIZED_NAME_VENDOR_ORDER_IDENTIFIER) + private String vendorOrderIdentifier; + + public static final String SERIALIZED_NAME_SERVICE_PRODUCT_FULFILLMENT_IDENTIFIER = "ServiceProductFulfillmentIdentifier"; + @SerializedName(SERIALIZED_NAME_SERVICE_PRODUCT_FULFILLMENT_IDENTIFIER) + private ServiceProductFulfillmentIdentifier serviceProductFulfillmentIdentifier; + + + public ServiceProductFulfillmentDetail vendorOrderIdentifier(String vendorOrderIdentifier) { + + this.vendorOrderIdentifier = vendorOrderIdentifier; + return this; + } + + /** + * A string that uniquely identifies a type of order Verification of Asset. + * @return vendorOrderIdentifier + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A string that uniquely identifies a type of order Verification of Asset.") + + public String getVendorOrderIdentifier() { + return vendorOrderIdentifier; + } + + + public void setVendorOrderIdentifier(String vendorOrderIdentifier) { + this.vendorOrderIdentifier = vendorOrderIdentifier; + } + + + public ServiceProductFulfillmentDetail serviceProductFulfillmentIdentifier(ServiceProductFulfillmentIdentifier serviceProductFulfillmentIdentifier) { + + this.serviceProductFulfillmentIdentifier = serviceProductFulfillmentIdentifier; + return this; + } + + /** + * Get serviceProductFulfillmentIdentifier + * @return serviceProductFulfillmentIdentifier + **/ + @ApiModelProperty(required = true, value = "") + + public ServiceProductFulfillmentIdentifier getServiceProductFulfillmentIdentifier() { + return serviceProductFulfillmentIdentifier; + } + + + public void setServiceProductFulfillmentIdentifier(ServiceProductFulfillmentIdentifier serviceProductFulfillmentIdentifier) { + this.serviceProductFulfillmentIdentifier = serviceProductFulfillmentIdentifier; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ServiceProductFulfillmentDetail serviceProductFulfillmentDetail = (ServiceProductFulfillmentDetail) o; + return Objects.equals(this.vendorOrderIdentifier, serviceProductFulfillmentDetail.vendorOrderIdentifier) && + Objects.equals(this.serviceProductFulfillmentIdentifier, serviceProductFulfillmentDetail.serviceProductFulfillmentIdentifier); + } + + @Override + public int hashCode() { + return Objects.hash(vendorOrderIdentifier, serviceProductFulfillmentIdentifier); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ServiceProductFulfillmentDetail {\n"); + sb.append(" vendorOrderIdentifier: ").append(toIndentedString(vendorOrderIdentifier)).append("\n"); + sb.append(" serviceProductFulfillmentIdentifier: ").append(toIndentedString(serviceProductFulfillmentIdentifier)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ServiceProductFulfillmentIdentifier.java b/src/main/java/com/plaid/client/model/ServiceProductFulfillmentIdentifier.java new file mode 100644 index 0000000000..10e1c9aeb3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ServiceProductFulfillmentIdentifier.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@JsonAdapter(ServiceProductFulfillmentIdentifier.Adapter.class) +public enum ServiceProductFulfillmentIdentifier { + + VOA("VOA"), + + VOE("VOE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + ServiceProductFulfillmentIdentifier(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ServiceProductFulfillmentIdentifier fromValue(String value) { + for (ServiceProductFulfillmentIdentifier b : ServiceProductFulfillmentIdentifier.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return ServiceProductFulfillmentIdentifier.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ServiceProductFulfillmentIdentifier enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ServiceProductFulfillmentIdentifier read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ServiceProductFulfillmentIdentifier.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/ServicerAddressData.java b/src/main/java/com/plaid/client/model/ServicerAddressData.java new file mode 100644 index 0000000000..0597a5f511 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ServicerAddressData.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The address of the student loan servicer. This is generally the remittance address to which payments should be sent. + */ +@ApiModel(description = "The address of the student loan servicer. This is generally the remittance address to which payments should be sent.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ServicerAddressData { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public ServicerAddressData city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The full city name") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public ServicerAddressData region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The region or state Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public ServicerAddressData street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address Example: `\"564 Main Street, APT 15\"` + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The full street address Example: `\"564 Main Street, APT 15\"`") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public ServicerAddressData postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The postal code") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public ServicerAddressData country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 3166-1 alpha-2 country code") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ServicerAddressData servicerAddressData = (ServicerAddressData) o; + return Objects.equals(this.city, servicerAddressData.city) && + Objects.equals(this.region, servicerAddressData.region) && + Objects.equals(this.street, servicerAddressData.street) && + Objects.equals(this.postalCode, servicerAddressData.postalCode) && + Objects.equals(this.country, servicerAddressData.country); + } + + @Override + public int hashCode() { + return Objects.hash(city, region, street, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ServicerAddressData {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Services.java b/src/main/java/com/plaid/client/model/Services.java new file mode 100644 index 0000000000..aaf5b209ba --- /dev/null +++ b/src/main/java/com/plaid/client/model/Services.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Service; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A collection of objects that describe requests and responses for services. + */ +@ApiModel(description = "A collection of objects that describe requests and responses for services.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Services { + public static final String SERIALIZED_NAME_S_E_R_V_I_C_E = "SERVICE"; + @SerializedName(SERIALIZED_NAME_S_E_R_V_I_C_E) + private Service SERVICE; + + + public Services SERVICE(Service SERVICE) { + + this.SERVICE = SERVICE; + return this; + } + + /** + * Get SERVICE + * @return SERVICE + **/ + @ApiModelProperty(required = true, value = "") + + public Service getSERVICE() { + return SERVICE; + } + + + public void setSERVICE(Service SERVICE) { + this.SERVICE = SERVICE; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Services services = (Services) o; + return Objects.equals(this.SERVICE, services.SERVICE); + } + + @Override + public int hashCode() { + return Objects.hash(SERVICE); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Services {\n"); + sb.append(" SERVICE: ").append(toIndentedString(SERVICE)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SessionTokenCreateRequest.java b/src/main/java/com/plaid/client/model/SessionTokenCreateRequest.java new file mode 100644 index 0000000000..688cb06f09 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SessionTokenCreateRequest.java @@ -0,0 +1,302 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SessionTokenCreateRequestUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SessionTokenCreateRequest defines the request schema for `/session/token/create` + */ +@ApiModel(description = "SessionTokenCreateRequest defines the request schema for `/session/token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SessionTokenCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_TEMPLATE_ID = "template_id"; + @SerializedName(SERIALIZED_NAME_TEMPLATE_ID) + private String templateId; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private SessionTokenCreateRequestUser user; + + public static final String SERIALIZED_NAME_REDIRECT_URI = "redirect_uri"; + @SerializedName(SERIALIZED_NAME_REDIRECT_URI) + private String redirectUri; + + public static final String SERIALIZED_NAME_ANDROID_PACKAGE_NAME = "android_package_name"; + @SerializedName(SERIALIZED_NAME_ANDROID_PACKAGE_NAME) + private String androidPackageName; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public SessionTokenCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SessionTokenCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SessionTokenCreateRequest templateId(String templateId) { + + this.templateId = templateId; + return this; + } + + /** + * The id of a template defined in Plaid Dashboard + * @return templateId + **/ + @ApiModelProperty(required = true, value = "The id of a template defined in Plaid Dashboard") + + public String getTemplateId() { + return templateId; + } + + + public void setTemplateId(String templateId) { + this.templateId = templateId; + } + + + public SessionTokenCreateRequest user(SessionTokenCreateRequestUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SessionTokenCreateRequestUser getUser() { + return user; + } + + + public void setUser(SessionTokenCreateRequestUser user) { + this.user = user; + } + + + public SessionTokenCreateRequest redirectUri(String redirectUri) { + + this.redirectUri = redirectUri; + return this; + } + + /** + * A URI indicating the destination where a user should be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or another app. The `redirect_uri` should not contain any query parameters. When used in Production, must be an https URI. Note that any redirect URI must also be added to the Allowed redirect URIs list in the [developer dashboard](https://dashboard.plaid.com/team/api). If initializing on Android, `android_package_name` must be specified instead and `redirect_uri` should be left blank. + * @return redirectUri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A URI indicating the destination where a user should be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or another app. The `redirect_uri` should not contain any query parameters. When used in Production, must be an https URI. Note that any redirect URI must also be added to the Allowed redirect URIs list in the [developer dashboard](https://dashboard.plaid.com/team/api). If initializing on Android, `android_package_name` must be specified instead and `redirect_uri` should be left blank.") + + public String getRedirectUri() { + return redirectUri; + } + + + public void setRedirectUri(String redirectUri) { + this.redirectUri = redirectUri; + } + + + public SessionTokenCreateRequest androidPackageName(String androidPackageName) { + + this.androidPackageName = androidPackageName; + return this; + } + + /** + * The name of your app's Android package. Required if using the session token to initialize Layer on Android. Any package name specified here must also be added to the Allowed Android package names setting on the [developer dashboard](https://dashboard.plaid.com/team/api). When creating a session token for initializing Layer on other platforms, `android_package_name` must be left blank and `redirect_uri` should be used instead. + * @return androidPackageName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name of your app's Android package. Required if using the session token to initialize Layer on Android. Any package name specified here must also be added to the Allowed Android package names setting on the [developer dashboard](https://dashboard.plaid.com/team/api). When creating a session token for initializing Layer on other platforms, `android_package_name` must be left blank and `redirect_uri` should be used instead.") + + public String getAndroidPackageName() { + return androidPackageName; + } + + + public void setAndroidPackageName(String androidPackageName) { + this.androidPackageName = androidPackageName; + } + + + public SessionTokenCreateRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The destination URL to which any webhooks should be sent. If you use the same webhook listener for all Sandbox or all Production activity, set this value in the Layer template editor in the Dashboard instead. Only provide a value in this field if you need to use multiple webhook URLs per environment (an uncommon use case). If provided, a value in this field will take priority over webhook values set in the Layer template editor. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The destination URL to which any webhooks should be sent. If you use the same webhook listener for all Sandbox or all Production activity, set this value in the Layer template editor in the Dashboard instead. Only provide a value in this field if you need to use multiple webhook URLs per environment (an uncommon use case). If provided, a value in this field will take priority over webhook values set in the Layer template editor.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + public SessionTokenCreateRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SessionTokenCreateRequest sessionTokenCreateRequest = (SessionTokenCreateRequest) o; + return Objects.equals(this.clientId, sessionTokenCreateRequest.clientId) && + Objects.equals(this.secret, sessionTokenCreateRequest.secret) && + Objects.equals(this.templateId, sessionTokenCreateRequest.templateId) && + Objects.equals(this.user, sessionTokenCreateRequest.user) && + Objects.equals(this.redirectUri, sessionTokenCreateRequest.redirectUri) && + Objects.equals(this.androidPackageName, sessionTokenCreateRequest.androidPackageName) && + Objects.equals(this.webhook, sessionTokenCreateRequest.webhook) && + Objects.equals(this.userId, sessionTokenCreateRequest.userId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, templateId, user, redirectUri, androidPackageName, webhook, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SessionTokenCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" templateId: ").append(toIndentedString(templateId)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" redirectUri: ").append(toIndentedString(redirectUri)).append("\n"); + sb.append(" androidPackageName: ").append(toIndentedString(androidPackageName)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SessionTokenCreateRequestUser.java b/src/main/java/com/plaid/client/model/SessionTokenCreateRequestUser.java new file mode 100644 index 0000000000..76447ef880 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SessionTokenCreateRequestUser.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details about the end user. Required if a root-level `user_id` is not provided. + */ +@ApiModel(description = "Details about the end user. Required if a root-level `user_id` is not provided.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SessionTokenCreateRequestUser { + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public SessionTokenCreateRequestUser clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID representing the end user. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. It is currently used as a means of searching logs for the given user in the Plaid Dashboard. + * @return clientUserId + **/ + @ApiModelProperty(required = true, value = "A unique ID representing the end user. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. It is currently used as a means of searching logs for the given user in the Plaid Dashboard.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public SessionTokenCreateRequestUser userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SessionTokenCreateRequestUser sessionTokenCreateRequestUser = (SessionTokenCreateRequestUser) o; + return Objects.equals(this.clientUserId, sessionTokenCreateRequestUser.clientUserId) && + Objects.equals(this.userId, sessionTokenCreateRequestUser.userId); + } + + @Override + public int hashCode() { + return Objects.hash(clientUserId, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SessionTokenCreateRequestUser {\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SessionTokenCreateResponse.java b/src/main/java/com/plaid/client/model/SessionTokenCreateResponse.java new file mode 100644 index 0000000000..75276738f5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SessionTokenCreateResponse.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SessionTokenCreateResponseLink; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SessionTokenCreateResponse defines the response schema for `/session/token/create` + */ +@ApiModel(description = "SessionTokenCreateResponse defines the response schema for `/session/token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SessionTokenCreateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_LINK = "link"; + @SerializedName(SERIALIZED_NAME_LINK) + private SessionTokenCreateResponseLink link; + + + public SessionTokenCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public SessionTokenCreateResponse link(SessionTokenCreateResponseLink link) { + + this.link = link; + return this; + } + + /** + * Get link + * @return link + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SessionTokenCreateResponseLink getLink() { + return link; + } + + + public void setLink(SessionTokenCreateResponseLink link) { + this.link = link; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SessionTokenCreateResponse sessionTokenCreateResponse = (SessionTokenCreateResponse) o; + return Objects.equals(this.requestId, sessionTokenCreateResponse.requestId) && + Objects.equals(this.link, sessionTokenCreateResponse.link); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, link); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SessionTokenCreateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" link: ").append(toIndentedString(link)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SessionTokenCreateResponseLink.java b/src/main/java/com/plaid/client/model/SessionTokenCreateResponseLink.java new file mode 100644 index 0000000000..35177a8bdc --- /dev/null +++ b/src/main/java/com/plaid/client/model/SessionTokenCreateResponseLink.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Response data for `/session/token/create` intended for use with the Link SDK. + */ +@ApiModel(description = "Response data for `/session/token/create` intended for use with the Link SDK.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SessionTokenCreateResponseLink { + public static final String SERIALIZED_NAME_LINK_TOKEN = "link_token"; + @SerializedName(SERIALIZED_NAME_LINK_TOKEN) + private String linkToken; + + public static final String SERIALIZED_NAME_EXPIRATION = "expiration"; + @SerializedName(SERIALIZED_NAME_EXPIRATION) + private OffsetDateTime expiration; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public SessionTokenCreateResponseLink linkToken(String linkToken) { + + this.linkToken = linkToken; + return this; + } + + /** + * A Link token, which can be supplied to Link in order to initialize it and receive a `public_token`. + * @return linkToken + **/ + @ApiModelProperty(required = true, value = "A Link token, which can be supplied to Link in order to initialize it and receive a `public_token`.") + + public String getLinkToken() { + return linkToken; + } + + + public void setLinkToken(String linkToken) { + this.linkToken = linkToken; + } + + + public SessionTokenCreateResponseLink expiration(OffsetDateTime expiration) { + + this.expiration = expiration; + return this; + } + + /** + * The expiration date for the `link_token`, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. A `link_token` created to generate a `public_token` that will be exchanged for a new `access_token` expires after 4 hours. A `link_token` created for an existing Item (such as when updating an existing `access_token` by launching Link in update mode) expires after 30 minutes. + * @return expiration + **/ + @ApiModelProperty(required = true, value = "The expiration date for the `link_token`, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. A `link_token` created to generate a `public_token` that will be exchanged for a new `access_token` expires after 4 hours. A `link_token` created for an existing Item (such as when updating an existing `access_token` by launching Link in update mode) expires after 30 minutes.") + + public OffsetDateTime getExpiration() { + return expiration; + } + + + public void setExpiration(OffsetDateTime expiration) { + this.expiration = expiration; + } + + + public SessionTokenCreateResponseLink userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SessionTokenCreateResponseLink sessionTokenCreateResponseLink = (SessionTokenCreateResponseLink) o; + return Objects.equals(this.linkToken, sessionTokenCreateResponseLink.linkToken) && + Objects.equals(this.expiration, sessionTokenCreateResponseLink.expiration) && + Objects.equals(this.userId, sessionTokenCreateResponseLink.userId); + } + + @Override + public int hashCode() { + return Objects.hash(linkToken, expiration, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SessionTokenCreateResponseLink {\n"); + sb.append(" linkToken: ").append(toIndentedString(linkToken)).append("\n"); + sb.append(" expiration: ").append(toIndentedString(expiration)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalAddressData.java b/src/main/java/com/plaid/client/model/SignalAddressData.java new file mode 100644 index 0000000000..7d520448a9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalAddressData.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data about the components comprising an address. + */ +@ApiModel(description = "Data about the components comprising an address.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalAddressData { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public SignalAddressData city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full city name") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public SignalAddressData region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The region or state Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public SignalAddressData street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address Example: `\"564 Main Street, APT 15\"` + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full street address Example: `\"564 Main Street, APT 15\"`") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public SignalAddressData postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The postal code") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public SignalAddressData country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO 3166-1 alpha-2 country code") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalAddressData signalAddressData = (SignalAddressData) o; + return Objects.equals(this.city, signalAddressData.city) && + Objects.equals(this.region, signalAddressData.region) && + Objects.equals(this.street, signalAddressData.street) && + Objects.equals(this.postalCode, signalAddressData.postalCode) && + Objects.equals(this.country, signalAddressData.country); + } + + @Override + public int hashCode() { + return Objects.hash(city, region, street, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalAddressData {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalDecisionOutcome.java b/src/main/java/com/plaid/client/model/SignalDecisionOutcome.java new file mode 100644 index 0000000000..a873778423 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalDecisionOutcome.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The payment decision from the risk assessment. `APPROVE`: approve the transaction without requiring further actions from your customers. For example, use this field if you are placing a standard hold for all the approved transactions before making funds available to your customers. You should also use this field if you decide to accelerate the fund availability for your customers. `REVIEW`: the transaction requires manual review `REJECT`: reject the transaction `TAKE_OTHER_RISK_MEASURES`: for example, placing a longer hold on funds than those approved transactions or introducing customer frictions such as step-up verification/authentication `NOT_EVALUATED`: if only logging the results without using them + */ +@JsonAdapter(SignalDecisionOutcome.Adapter.class) +public enum SignalDecisionOutcome { + + APPROVE("APPROVE"), + + REVIEW("REVIEW"), + + REJECT("REJECT"), + + TAKE_OTHER_RISK_MEASURES("TAKE_OTHER_RISK_MEASURES"), + + NOT_EVALUATED("NOT_EVALUATED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SignalDecisionOutcome(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SignalDecisionOutcome fromValue(String value) { + for (SignalDecisionOutcome b : SignalDecisionOutcome.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SignalDecisionOutcome enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SignalDecisionOutcome read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SignalDecisionOutcome.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SignalDecisionReportRequest.java b/src/main/java/com/plaid/client/model/SignalDecisionReportRequest.java new file mode 100644 index 0000000000..809c128a07 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalDecisionReportRequest.java @@ -0,0 +1,333 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SignalDecisionOutcome; +import com.plaid.client.model.SignalPaymentMethod; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * SignalDecisionReportRequest defines the request schema for `/signal/decision/report` + */ +@ApiModel(description = "SignalDecisionReportRequest defines the request schema for `/signal/decision/report`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalDecisionReportRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_TRANSACTION_ID = "client_transaction_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_TRANSACTION_ID) + private String clientTransactionId; + + public static final String SERIALIZED_NAME_INITIATED = "initiated"; + @SerializedName(SERIALIZED_NAME_INITIATED) + private Boolean initiated; + + public static final String SERIALIZED_NAME_DAYS_FUNDS_ON_HOLD = "days_funds_on_hold"; + @SerializedName(SERIALIZED_NAME_DAYS_FUNDS_ON_HOLD) + private Integer daysFundsOnHold; + + public static final String SERIALIZED_NAME_DECISION_OUTCOME = "decision_outcome"; + @SerializedName(SERIALIZED_NAME_DECISION_OUTCOME) + private SignalDecisionOutcome decisionOutcome; + + public static final String SERIALIZED_NAME_PAYMENT_METHOD = "payment_method"; + @SerializedName(SERIALIZED_NAME_PAYMENT_METHOD) + private SignalPaymentMethod paymentMethod; + + public static final String SERIALIZED_NAME_AMOUNT_INSTANTLY_AVAILABLE = "amount_instantly_available"; + @SerializedName(SERIALIZED_NAME_AMOUNT_INSTANTLY_AVAILABLE) + private Double amountInstantlyAvailable; + + public static final String SERIALIZED_NAME_SUBMITTED_AT = "submitted_at"; + @SerializedName(SERIALIZED_NAME_SUBMITTED_AT) + private OffsetDateTime submittedAt; + + + public SignalDecisionReportRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SignalDecisionReportRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SignalDecisionReportRequest clientTransactionId(String clientTransactionId) { + + this.clientTransactionId = clientTransactionId; + return this; + } + + /** + * Must be the same as the `client_transaction_id` supplied when calling `/signal/evaluate` + * @return clientTransactionId + **/ + @ApiModelProperty(required = true, value = "Must be the same as the `client_transaction_id` supplied when calling `/signal/evaluate`") + + public String getClientTransactionId() { + return clientTransactionId; + } + + + public void setClientTransactionId(String clientTransactionId) { + this.clientTransactionId = clientTransactionId; + } + + + public SignalDecisionReportRequest initiated(Boolean initiated) { + + this.initiated = initiated; + return this; + } + + /** + * `true` if the ACH transaction was initiated, `false` otherwise. This field must be returned as a boolean. If formatted incorrectly, this will result in an [`INVALID_FIELD`](https://plaid.com/docs/errors/invalid-request/#invalid_field) error. + * @return initiated + **/ + @ApiModelProperty(required = true, value = "`true` if the ACH transaction was initiated, `false` otherwise. This field must be returned as a boolean. If formatted incorrectly, this will result in an [`INVALID_FIELD`](https://plaid.com/docs/errors/invalid-request/#invalid_field) error.") + + public Boolean getInitiated() { + return initiated; + } + + + public void setInitiated(Boolean initiated) { + this.initiated = initiated; + } + + + public SignalDecisionReportRequest daysFundsOnHold(Integer daysFundsOnHold) { + + this.daysFundsOnHold = daysFundsOnHold; + return this; + } + + /** + * The actual number of days (hold time) since the ACH debit transaction that you wait before making funds available to your customers. The holding time could affect the ACH return rate. For example, use 0 if you make funds available to your customers instantly or the same day following the debit transaction, or 1 if you make funds available the next day following the debit initialization. + * minimum: 0 + * @return daysFundsOnHold + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The actual number of days (hold time) since the ACH debit transaction that you wait before making funds available to your customers. The holding time could affect the ACH return rate. For example, use 0 if you make funds available to your customers instantly or the same day following the debit transaction, or 1 if you make funds available the next day following the debit initialization.") + + public Integer getDaysFundsOnHold() { + return daysFundsOnHold; + } + + + public void setDaysFundsOnHold(Integer daysFundsOnHold) { + this.daysFundsOnHold = daysFundsOnHold; + } + + + public SignalDecisionReportRequest decisionOutcome(SignalDecisionOutcome decisionOutcome) { + + this.decisionOutcome = decisionOutcome; + return this; + } + + /** + * Get decisionOutcome + * @return decisionOutcome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalDecisionOutcome getDecisionOutcome() { + return decisionOutcome; + } + + + public void setDecisionOutcome(SignalDecisionOutcome decisionOutcome) { + this.decisionOutcome = decisionOutcome; + } + + + public SignalDecisionReportRequest paymentMethod(SignalPaymentMethod paymentMethod) { + + this.paymentMethod = paymentMethod; + return this; + } + + /** + * Get paymentMethod + * @return paymentMethod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalPaymentMethod getPaymentMethod() { + return paymentMethod; + } + + + public void setPaymentMethod(SignalPaymentMethod paymentMethod) { + this.paymentMethod = paymentMethod; + } + + + public SignalDecisionReportRequest amountInstantlyAvailable(Double amountInstantlyAvailable) { + + this.amountInstantlyAvailable = amountInstantlyAvailable; + return this; + } + + /** + * The amount (in USD) made available to your customers instantly following the debit transaction. It could be a partial amount of the requested transaction (example: 102.05). + * @return amountInstantlyAvailable + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount (in USD) made available to your customers instantly following the debit transaction. It could be a partial amount of the requested transaction (example: 102.05).") + + public Double getAmountInstantlyAvailable() { + return amountInstantlyAvailable; + } + + + public void setAmountInstantlyAvailable(Double amountInstantlyAvailable) { + this.amountInstantlyAvailable = amountInstantlyAvailable; + } + + + public SignalDecisionReportRequest submittedAt(OffsetDateTime submittedAt) { + + this.submittedAt = submittedAt; + return this; + } + + /** + * The date the ACH debit was submitted to the bank for processing (in ISO 8601 format: `YYYY-MM-DDTHH:mm:ssZ`). This field should correspond to the attempt initiated after the `/signal/schedule` call. + * @return submittedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date the ACH debit was submitted to the bank for processing (in ISO 8601 format: `YYYY-MM-DDTHH:mm:ssZ`). This field should correspond to the attempt initiated after the `/signal/schedule` call.") + + public OffsetDateTime getSubmittedAt() { + return submittedAt; + } + + + public void setSubmittedAt(OffsetDateTime submittedAt) { + this.submittedAt = submittedAt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalDecisionReportRequest signalDecisionReportRequest = (SignalDecisionReportRequest) o; + return Objects.equals(this.clientId, signalDecisionReportRequest.clientId) && + Objects.equals(this.secret, signalDecisionReportRequest.secret) && + Objects.equals(this.clientTransactionId, signalDecisionReportRequest.clientTransactionId) && + Objects.equals(this.initiated, signalDecisionReportRequest.initiated) && + Objects.equals(this.daysFundsOnHold, signalDecisionReportRequest.daysFundsOnHold) && + Objects.equals(this.decisionOutcome, signalDecisionReportRequest.decisionOutcome) && + Objects.equals(this.paymentMethod, signalDecisionReportRequest.paymentMethod) && + Objects.equals(this.amountInstantlyAvailable, signalDecisionReportRequest.amountInstantlyAvailable) && + Objects.equals(this.submittedAt, signalDecisionReportRequest.submittedAt); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, clientTransactionId, initiated, daysFundsOnHold, decisionOutcome, paymentMethod, amountInstantlyAvailable, submittedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalDecisionReportRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientTransactionId: ").append(toIndentedString(clientTransactionId)).append("\n"); + sb.append(" initiated: ").append(toIndentedString(initiated)).append("\n"); + sb.append(" daysFundsOnHold: ").append(toIndentedString(daysFundsOnHold)).append("\n"); + sb.append(" decisionOutcome: ").append(toIndentedString(decisionOutcome)).append("\n"); + sb.append(" paymentMethod: ").append(toIndentedString(paymentMethod)).append("\n"); + sb.append(" amountInstantlyAvailable: ").append(toIndentedString(amountInstantlyAvailable)).append("\n"); + sb.append(" submittedAt: ").append(toIndentedString(submittedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalDecisionReportResponse.java b/src/main/java/com/plaid/client/model/SignalDecisionReportResponse.java new file mode 100644 index 0000000000..e518847f72 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalDecisionReportResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SignalDecisionReportResponse defines the response schema for `/signal/decision/report` + */ +@ApiModel(description = "SignalDecisionReportResponse defines the response schema for `/signal/decision/report`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalDecisionReportResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SignalDecisionReportResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalDecisionReportResponse signalDecisionReportResponse = (SignalDecisionReportResponse) o; + return Objects.equals(this.requestId, signalDecisionReportResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalDecisionReportResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalDevice.java b/src/main/java/com/plaid/client/model/SignalDevice.java new file mode 100644 index 0000000000..bfb0abd063 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalDevice.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details about the end user's device. These fields are optional, but strongly recommended to increase the accuracy of results when using Signal Transaction Scores. When using a Balance-only Ruleset, these fields are ignored if the Signal Addendum has been signed; if it has not been signed, using these fields will result in an error. + */ +@ApiModel(description = "Details about the end user's device. These fields are optional, but strongly recommended to increase the accuracy of results when using Signal Transaction Scores. When using a Balance-only Ruleset, these fields are ignored if the Signal Addendum has been signed; if it has not been signed, using these fields will result in an error.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalDevice { + public static final String SERIALIZED_NAME_IP_ADDRESS = "ip_address"; + @SerializedName(SERIALIZED_NAME_IP_ADDRESS) + private String ipAddress; + + public static final String SERIALIZED_NAME_USER_AGENT = "user_agent"; + @SerializedName(SERIALIZED_NAME_USER_AGENT) + private String userAgent; + + + public SignalDevice ipAddress(String ipAddress) { + + this.ipAddress = ipAddress; + return this; + } + + /** + * The IP address of the device that initiated the transaction + * @return ipAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The IP address of the device that initiated the transaction") + + public String getIpAddress() { + return ipAddress; + } + + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + + public SignalDevice userAgent(String userAgent) { + + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the device that initiated the transaction (e.g. \"Mozilla/5.0\") + * @return userAgent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user agent of the device that initiated the transaction (e.g. \"Mozilla/5.0\")") + + public String getUserAgent() { + return userAgent; + } + + + public void setUserAgent(String userAgent) { + this.userAgent = userAgent; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalDevice signalDevice = (SignalDevice) o; + return Objects.equals(this.ipAddress, signalDevice.ipAddress) && + Objects.equals(this.userAgent, signalDevice.userAgent); + } + + @Override + public int hashCode() { + return Objects.hash(ipAddress, userAgent); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalDevice {\n"); + sb.append(" ipAddress: ").append(toIndentedString(ipAddress)).append("\n"); + sb.append(" userAgent: ").append(toIndentedString(userAgent)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalEvaluateCoreAttributes.java b/src/main/java/com/plaid/client/model/SignalEvaluateCoreAttributes.java new file mode 100644 index 0000000000..7f5b9190d5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalEvaluateCoreAttributes.java @@ -0,0 +1,2420 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * The core attributes object contains additional data that can be used to assess the ACH return risk. If using a Balance-only ruleset, only `available_balance` and `current_balance` will be returned as core attributes. If using a Signal Transaction Scores ruleset, over 80 core attributes will be returned. Examples of attributes include: `available_balance` and `current_balance`: The balance in the ACH transaction funding account `days_since_first_plaid_connection`: The number of days since the first time the Item was connected to an application via Plaid `plaid_connections_count_7d`: The number of times the Item has been connected to applications via Plaid over the past 7 days `plaid_connections_count_30d`: The number of times the Item has been connected to applications via Plaid over the past 30 days `total_plaid_connections_count`: The number of times the Item has been connected to applications via Plaid `is_savings_or_money_market_account`: Indicates whether the ACH transaction funding account is a savings/money market account For the full list and detailed documentation of core attributes available, or to request that core attributes not be returned, contact sales or your Plaid account manager. + */ +@ApiModel(description = "The core attributes object contains additional data that can be used to assess the ACH return risk. If using a Balance-only ruleset, only `available_balance` and `current_balance` will be returned as core attributes. If using a Signal Transaction Scores ruleset, over 80 core attributes will be returned. Examples of attributes include: `available_balance` and `current_balance`: The balance in the ACH transaction funding account `days_since_first_plaid_connection`: The number of days since the first time the Item was connected to an application via Plaid `plaid_connections_count_7d`: The number of times the Item has been connected to applications via Plaid over the past 7 days `plaid_connections_count_30d`: The number of times the Item has been connected to applications via Plaid over the past 30 days `total_plaid_connections_count`: The number of times the Item has been connected to applications via Plaid `is_savings_or_money_market_account`: Indicates whether the ACH transaction funding account is a savings/money market account For the full list and detailed documentation of core attributes available, or to request that core attributes not be returned, contact sales or your Plaid account manager.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalEvaluateCoreAttributes { + public static final String SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT7D = "unauthorized_transactions_count_7d"; + @SerializedName(SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT7D) + private Integer unauthorizedTransactionsCount7d; + + public static final String SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT30D = "unauthorized_transactions_count_30d"; + @SerializedName(SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT30D) + private Integer unauthorizedTransactionsCount30d; + + public static final String SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT60D = "unauthorized_transactions_count_60d"; + @SerializedName(SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT60D) + private Integer unauthorizedTransactionsCount60d; + + public static final String SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT90D = "unauthorized_transactions_count_90d"; + @SerializedName(SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT90D) + private Integer unauthorizedTransactionsCount90d; + + public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT7D = "nsf_overdraft_transactions_count_7d"; + @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT7D) + private Integer nsfOverdraftTransactionsCount7d; + + public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT30D = "nsf_overdraft_transactions_count_30d"; + @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT30D) + private Integer nsfOverdraftTransactionsCount30d; + + public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT60D = "nsf_overdraft_transactions_count_60d"; + @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT60D) + private Integer nsfOverdraftTransactionsCount60d; + + public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT90D = "nsf_overdraft_transactions_count_90d"; + @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT90D) + private Integer nsfOverdraftTransactionsCount90d; + + public static final String SERIALIZED_NAME_DAYS_SINCE_FIRST_PLAID_CONNECTION = "days_since_first_plaid_connection"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_FIRST_PLAID_CONNECTION) + private Integer daysSinceFirstPlaidConnection; + + public static final String SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT7D = "plaid_connections_count_7d"; + @SerializedName(SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT7D) + private Integer plaidConnectionsCount7d; + + public static final String SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT30D = "plaid_connections_count_30d"; + @SerializedName(SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT30D) + private Integer plaidConnectionsCount30d; + + public static final String SERIALIZED_NAME_TOTAL_PLAID_CONNECTIONS_COUNT = "total_plaid_connections_count"; + @SerializedName(SERIALIZED_NAME_TOTAL_PLAID_CONNECTIONS_COUNT) + private Integer totalPlaidConnectionsCount; + + public static final String SERIALIZED_NAME_IS_SAVINGS_OR_MONEY_MARKET_ACCOUNT = "is_savings_or_money_market_account"; + @SerializedName(SERIALIZED_NAME_IS_SAVINGS_OR_MONEY_MARKET_ACCOUNT) + private Boolean isSavingsOrMoneyMarketAccount; + + public static final String SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT10D = "total_credit_transactions_amount_10d"; + @SerializedName(SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT10D) + private Double totalCreditTransactionsAmount10d; + + public static final String SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT10D = "total_debit_transactions_amount_10d"; + @SerializedName(SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT10D) + private Double totalDebitTransactionsAmount10d; + + public static final String SERIALIZED_NAME_P50_CREDIT_TRANSACTIONS_AMOUNT28D = "p50_credit_transactions_amount_28d"; + @SerializedName(SERIALIZED_NAME_P50_CREDIT_TRANSACTIONS_AMOUNT28D) + private Double p50CreditTransactionsAmount28d; + + public static final String SERIALIZED_NAME_P50_DEBIT_TRANSACTIONS_AMOUNT28D = "p50_debit_transactions_amount_28d"; + @SerializedName(SERIALIZED_NAME_P50_DEBIT_TRANSACTIONS_AMOUNT28D) + private Double p50DebitTransactionsAmount28d; + + public static final String SERIALIZED_NAME_P95_CREDIT_TRANSACTIONS_AMOUNT28D = "p95_credit_transactions_amount_28d"; + @SerializedName(SERIALIZED_NAME_P95_CREDIT_TRANSACTIONS_AMOUNT28D) + private Double p95CreditTransactionsAmount28d; + + public static final String SERIALIZED_NAME_P95_DEBIT_TRANSACTIONS_AMOUNT28D = "p95_debit_transactions_amount_28d"; + @SerializedName(SERIALIZED_NAME_P95_DEBIT_TRANSACTIONS_AMOUNT28D) + private Double p95DebitTransactionsAmount28d; + + public static final String SERIALIZED_NAME_DAYS_WITH_NEGATIVE_BALANCE_COUNT90D = "days_with_negative_balance_count_90d"; + @SerializedName(SERIALIZED_NAME_DAYS_WITH_NEGATIVE_BALANCE_COUNT90D) + private Integer daysWithNegativeBalanceCount90d; + + public static final String SERIALIZED_NAME_P90_EOD_BALANCE30D = "p90_eod_balance_30d"; + @SerializedName(SERIALIZED_NAME_P90_EOD_BALANCE30D) + private Double p90EodBalance30d; + + public static final String SERIALIZED_NAME_P90_EOD_BALANCE60D = "p90_eod_balance_60d"; + @SerializedName(SERIALIZED_NAME_P90_EOD_BALANCE60D) + private Double p90EodBalance60d; + + public static final String SERIALIZED_NAME_P90_EOD_BALANCE90D = "p90_eod_balance_90d"; + @SerializedName(SERIALIZED_NAME_P90_EOD_BALANCE90D) + private Double p90EodBalance90d; + + public static final String SERIALIZED_NAME_P10_EOD_BALANCE30D = "p10_eod_balance_30d"; + @SerializedName(SERIALIZED_NAME_P10_EOD_BALANCE30D) + private Double p10EodBalance30d; + + public static final String SERIALIZED_NAME_P10_EOD_BALANCE60D = "p10_eod_balance_60d"; + @SerializedName(SERIALIZED_NAME_P10_EOD_BALANCE60D) + private Double p10EodBalance60d; + + public static final String SERIALIZED_NAME_P10_EOD_BALANCE90D = "p10_eod_balance_90d"; + @SerializedName(SERIALIZED_NAME_P10_EOD_BALANCE90D) + private Double p10EodBalance90d; + + public static final String SERIALIZED_NAME_AVAILABLE_BALANCE = "available_balance"; + @SerializedName(SERIALIZED_NAME_AVAILABLE_BALANCE) + private Double availableBalance; + + public static final String SERIALIZED_NAME_CURRENT_BALANCE = "current_balance"; + @SerializedName(SERIALIZED_NAME_CURRENT_BALANCE) + private Double currentBalance; + + public static final String SERIALIZED_NAME_BALANCE_LAST_UPDATED = "balance_last_updated"; + @SerializedName(SERIALIZED_NAME_BALANCE_LAST_UPDATED) + private OffsetDateTime balanceLastUpdated; + + public static final String SERIALIZED_NAME_PHONE_CHANGE_COUNT28D = "phone_change_count_28d"; + @SerializedName(SERIALIZED_NAME_PHONE_CHANGE_COUNT28D) + private Integer phoneChangeCount28d; + + public static final String SERIALIZED_NAME_PHONE_CHANGE_COUNT90D = "phone_change_count_90d"; + @SerializedName(SERIALIZED_NAME_PHONE_CHANGE_COUNT90D) + private Integer phoneChangeCount90d; + + public static final String SERIALIZED_NAME_EMAIL_CHANGE_COUNT28D = "email_change_count_28d"; + @SerializedName(SERIALIZED_NAME_EMAIL_CHANGE_COUNT28D) + private Integer emailChangeCount28d; + + public static final String SERIALIZED_NAME_EMAIL_CHANGE_COUNT90D = "email_change_count_90d"; + @SerializedName(SERIALIZED_NAME_EMAIL_CHANGE_COUNT90D) + private Integer emailChangeCount90d; + + public static final String SERIALIZED_NAME_ADDRESS_CHANGE_COUNT28D = "address_change_count_28d"; + @SerializedName(SERIALIZED_NAME_ADDRESS_CHANGE_COUNT28D) + private Integer addressChangeCount28d; + + public static final String SERIALIZED_NAME_ADDRESS_CHANGE_COUNT90D = "address_change_count_90d"; + @SerializedName(SERIALIZED_NAME_ADDRESS_CHANGE_COUNT90D) + private Integer addressChangeCount90d; + + public static final String SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D = "plaid_non_oauth_authentication_attempts_count_3d"; + @SerializedName(SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D) + private Integer plaidNonOauthAuthenticationAttemptsCount3d; + + public static final String SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D = "plaid_non_oauth_authentication_attempts_count_7d"; + @SerializedName(SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D) + private Integer plaidNonOauthAuthenticationAttemptsCount7d; + + public static final String SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D = "plaid_non_oauth_authentication_attempts_count_30d"; + @SerializedName(SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D) + private Integer plaidNonOauthAuthenticationAttemptsCount30d; + + public static final String SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D = "failed_plaid_non_oauth_authentication_attempts_count_3d"; + @SerializedName(SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D) + private Integer failedPlaidNonOauthAuthenticationAttemptsCount3d; + + public static final String SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D = "failed_plaid_non_oauth_authentication_attempts_count_7d"; + @SerializedName(SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D) + private Integer failedPlaidNonOauthAuthenticationAttemptsCount7d; + + public static final String SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D = "failed_plaid_non_oauth_authentication_attempts_count_30d"; + @SerializedName(SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D) + private Integer failedPlaidNonOauthAuthenticationAttemptsCount30d; + + public static final String SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT10D = "debit_transactions_count_10d"; + @SerializedName(SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT10D) + private Integer debitTransactionsCount10d; + + public static final String SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT10D = "credit_transactions_count_10d"; + @SerializedName(SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT10D) + private Integer creditTransactionsCount10d; + + public static final String SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT30D = "debit_transactions_count_30d"; + @SerializedName(SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT30D) + private Integer debitTransactionsCount30d; + + public static final String SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT30D = "credit_transactions_count_30d"; + @SerializedName(SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT30D) + private Integer creditTransactionsCount30d; + + public static final String SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT60D = "debit_transactions_count_60d"; + @SerializedName(SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT60D) + private Integer debitTransactionsCount60d; + + public static final String SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT60D = "credit_transactions_count_60d"; + @SerializedName(SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT60D) + private Integer creditTransactionsCount60d; + + public static final String SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT90D = "debit_transactions_count_90d"; + @SerializedName(SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT90D) + private Integer debitTransactionsCount90d; + + public static final String SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT90D = "credit_transactions_count_90d"; + @SerializedName(SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT90D) + private Integer creditTransactionsCount90d; + + public static final String SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT30D = "total_debit_transactions_amount_30d"; + @SerializedName(SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT30D) + private Double totalDebitTransactionsAmount30d; + + public static final String SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT30D = "total_credit_transactions_amount_30d"; + @SerializedName(SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT30D) + private Double totalCreditTransactionsAmount30d; + + public static final String SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT60D = "total_debit_transactions_amount_60d"; + @SerializedName(SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT60D) + private Double totalDebitTransactionsAmount60d; + + public static final String SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT60D = "total_credit_transactions_amount_60d"; + @SerializedName(SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT60D) + private Double totalCreditTransactionsAmount60d; + + public static final String SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT90D = "total_debit_transactions_amount_90d"; + @SerializedName(SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT90D) + private Double totalDebitTransactionsAmount90d; + + public static final String SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT90D = "total_credit_transactions_amount_90d"; + @SerializedName(SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT90D) + private Double totalCreditTransactionsAmount90d; + + public static final String SERIALIZED_NAME_P50_EOD_BALANCE30D = "p50_eod_balance_30d"; + @SerializedName(SERIALIZED_NAME_P50_EOD_BALANCE30D) + private Double p50EodBalance30d; + + public static final String SERIALIZED_NAME_P50_EOD_BALANCE60D = "p50_eod_balance_60d"; + @SerializedName(SERIALIZED_NAME_P50_EOD_BALANCE60D) + private Double p50EodBalance60d; + + public static final String SERIALIZED_NAME_P50_EOD_BALANCE90D = "p50_eod_balance_90d"; + @SerializedName(SERIALIZED_NAME_P50_EOD_BALANCE90D) + private Double p50EodBalance90d; + + public static final String SERIALIZED_NAME_P50_EOD_BALANCE31D_TO60D = "p50_eod_balance_31d_to_60d"; + @SerializedName(SERIALIZED_NAME_P50_EOD_BALANCE31D_TO60D) + private Double p50EodBalance31dTo60d; + + public static final String SERIALIZED_NAME_P50_EOD_BALANCE61D_TO90D = "p50_eod_balance_61d_to_90d"; + @SerializedName(SERIALIZED_NAME_P50_EOD_BALANCE61D_TO90D) + private Double p50EodBalance61dTo90d; + + public static final String SERIALIZED_NAME_P90_EOD_BALANCE31D_TO60D = "p90_eod_balance_31d_to_60d"; + @SerializedName(SERIALIZED_NAME_P90_EOD_BALANCE31D_TO60D) + private Double p90EodBalance31dTo60d; + + public static final String SERIALIZED_NAME_P90_EOD_BALANCE61D_TO90D = "p90_eod_balance_61d_to_90d"; + @SerializedName(SERIALIZED_NAME_P90_EOD_BALANCE61D_TO90D) + private Double p90EodBalance61dTo90d; + + public static final String SERIALIZED_NAME_P10_EOD_BALANCE31D_TO60D = "p10_eod_balance_31d_to_60d"; + @SerializedName(SERIALIZED_NAME_P10_EOD_BALANCE31D_TO60D) + private Double p10EodBalance31dTo60d; + + public static final String SERIALIZED_NAME_P10_EOD_BALANCE61D_TO90D = "p10_eod_balance_61d_to_90d"; + @SerializedName(SERIALIZED_NAME_P10_EOD_BALANCE61D_TO90D) + private Double p10EodBalance61dTo90d; + + public static final String SERIALIZED_NAME_TRANSACTIONS_LAST_UPDATED = "transactions_last_updated"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_LAST_UPDATED) + private OffsetDateTime transactionsLastUpdated; + + public static final String SERIALIZED_NAME_IS_ACCOUNT_CLOSED = "is_account_closed"; + @SerializedName(SERIALIZED_NAME_IS_ACCOUNT_CLOSED) + private Boolean isAccountClosed; + + public static final String SERIALIZED_NAME_IS_ACCOUNT_FROZEN_OR_RESTRICTED = "is_account_frozen_or_restricted"; + @SerializedName(SERIALIZED_NAME_IS_ACCOUNT_FROZEN_OR_RESTRICTED) + private Boolean isAccountFrozenOrRestricted; + + public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT3D = "distinct_ip_addresses_count_3d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT3D) + private Integer distinctIpAddressesCount3d; + + public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT7D = "distinct_ip_addresses_count_7d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT7D) + private Integer distinctIpAddressesCount7d; + + public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT30D = "distinct_ip_addresses_count_30d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT30D) + private Integer distinctIpAddressesCount30d; + + public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT90D = "distinct_ip_addresses_count_90d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT90D) + private Integer distinctIpAddressesCount90d; + + public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT3D = "distinct_user_agents_count_3d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT3D) + private Integer distinctUserAgentsCount3d; + + public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT7D = "distinct_user_agents_count_7d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT7D) + private Integer distinctUserAgentsCount7d; + + public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT30D = "distinct_user_agents_count_30d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT30D) + private Integer distinctUserAgentsCount30d; + + public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT90D = "distinct_user_agents_count_90d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT90D) + private Integer distinctUserAgentsCount90d; + + public static final String SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT3D = "distinct_ssl_tls_connection_sessions_count_3d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT3D) + private Integer distinctSslTlsConnectionSessionsCount3d; + + public static final String SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT7D = "distinct_ssl_tls_connection_sessions_count_7d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT7D) + private Integer distinctSslTlsConnectionSessionsCount7d; + + public static final String SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT30D = "distinct_ssl_tls_connection_sessions_count_30d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT30D) + private Integer distinctSslTlsConnectionSessionsCount30d; + + public static final String SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT90D = "distinct_ssl_tls_connection_sessions_count_90d"; + @SerializedName(SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT90D) + private Integer distinctSslTlsConnectionSessionsCount90d; + + public static final String SERIALIZED_NAME_DAYS_SINCE_ACCOUNT_OPENING = "days_since_account_opening"; + @SerializedName(SERIALIZED_NAME_DAYS_SINCE_ACCOUNT_OPENING) + private Integer daysSinceAccountOpening; + + public static final String SERIALIZED_NAME_BALANCE_TO_TRANSACTION_AMOUNT_RATIO = "balance_to_transaction_amount_ratio"; + @SerializedName(SERIALIZED_NAME_BALANCE_TO_TRANSACTION_AMOUNT_RATIO) + private Double balanceToTransactionAmountRatio; + + + public SignalEvaluateCoreAttributes unauthorizedTransactionsCount7d(Integer unauthorizedTransactionsCount7d) { + + this.unauthorizedTransactionsCount7d = unauthorizedTransactionsCount7d; + return this; + } + + /** + * We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 7 days from the account that will be debited. + * @return unauthorizedTransactionsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 7 days from the account that will be debited.") + + public Integer getUnauthorizedTransactionsCount7d() { + return unauthorizedTransactionsCount7d; + } + + + public void setUnauthorizedTransactionsCount7d(Integer unauthorizedTransactionsCount7d) { + this.unauthorizedTransactionsCount7d = unauthorizedTransactionsCount7d; + } + + + public SignalEvaluateCoreAttributes unauthorizedTransactionsCount30d(Integer unauthorizedTransactionsCount30d) { + + this.unauthorizedTransactionsCount30d = unauthorizedTransactionsCount30d; + return this; + } + + /** + * We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 30 days from the account that will be debited. + * @return unauthorizedTransactionsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 30 days from the account that will be debited.") + + public Integer getUnauthorizedTransactionsCount30d() { + return unauthorizedTransactionsCount30d; + } + + + public void setUnauthorizedTransactionsCount30d(Integer unauthorizedTransactionsCount30d) { + this.unauthorizedTransactionsCount30d = unauthorizedTransactionsCount30d; + } + + + public SignalEvaluateCoreAttributes unauthorizedTransactionsCount60d(Integer unauthorizedTransactionsCount60d) { + + this.unauthorizedTransactionsCount60d = unauthorizedTransactionsCount60d; + return this; + } + + /** + * We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 60 days from the account that will be debited. + * @return unauthorizedTransactionsCount60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 60 days from the account that will be debited.") + + public Integer getUnauthorizedTransactionsCount60d() { + return unauthorizedTransactionsCount60d; + } + + + public void setUnauthorizedTransactionsCount60d(Integer unauthorizedTransactionsCount60d) { + this.unauthorizedTransactionsCount60d = unauthorizedTransactionsCount60d; + } + + + public SignalEvaluateCoreAttributes unauthorizedTransactionsCount90d(Integer unauthorizedTransactionsCount90d) { + + this.unauthorizedTransactionsCount90d = unauthorizedTransactionsCount90d; + return this; + } + + /** + * We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 90 days from the account that will be debited. + * @return unauthorizedTransactionsCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 90 days from the account that will be debited.") + + public Integer getUnauthorizedTransactionsCount90d() { + return unauthorizedTransactionsCount90d; + } + + + public void setUnauthorizedTransactionsCount90d(Integer unauthorizedTransactionsCount90d) { + this.unauthorizedTransactionsCount90d = unauthorizedTransactionsCount90d; + } + + + public SignalEvaluateCoreAttributes nsfOverdraftTransactionsCount7d(Integer nsfOverdraftTransactionsCount7d) { + + this.nsfOverdraftTransactionsCount7d = nsfOverdraftTransactionsCount7d; + return this; + } + + /** + * We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 7 days from the account that will be debited. + * @return nsfOverdraftTransactionsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 7 days from the account that will be debited.") + + public Integer getNsfOverdraftTransactionsCount7d() { + return nsfOverdraftTransactionsCount7d; + } + + + public void setNsfOverdraftTransactionsCount7d(Integer nsfOverdraftTransactionsCount7d) { + this.nsfOverdraftTransactionsCount7d = nsfOverdraftTransactionsCount7d; + } + + + public SignalEvaluateCoreAttributes nsfOverdraftTransactionsCount30d(Integer nsfOverdraftTransactionsCount30d) { + + this.nsfOverdraftTransactionsCount30d = nsfOverdraftTransactionsCount30d; + return this; + } + + /** + * We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 30 days from the account that will be debited. + * @return nsfOverdraftTransactionsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 30 days from the account that will be debited.") + + public Integer getNsfOverdraftTransactionsCount30d() { + return nsfOverdraftTransactionsCount30d; + } + + + public void setNsfOverdraftTransactionsCount30d(Integer nsfOverdraftTransactionsCount30d) { + this.nsfOverdraftTransactionsCount30d = nsfOverdraftTransactionsCount30d; + } + + + public SignalEvaluateCoreAttributes nsfOverdraftTransactionsCount60d(Integer nsfOverdraftTransactionsCount60d) { + + this.nsfOverdraftTransactionsCount60d = nsfOverdraftTransactionsCount60d; + return this; + } + + /** + * We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 60 days from the account that will be debited. + * @return nsfOverdraftTransactionsCount60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 60 days from the account that will be debited.") + + public Integer getNsfOverdraftTransactionsCount60d() { + return nsfOverdraftTransactionsCount60d; + } + + + public void setNsfOverdraftTransactionsCount60d(Integer nsfOverdraftTransactionsCount60d) { + this.nsfOverdraftTransactionsCount60d = nsfOverdraftTransactionsCount60d; + } + + + public SignalEvaluateCoreAttributes nsfOverdraftTransactionsCount90d(Integer nsfOverdraftTransactionsCount90d) { + + this.nsfOverdraftTransactionsCount90d = nsfOverdraftTransactionsCount90d; + return this; + } + + /** + * We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 90 days from the account that will be debited. + * @return nsfOverdraftTransactionsCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 90 days from the account that will be debited.") + + public Integer getNsfOverdraftTransactionsCount90d() { + return nsfOverdraftTransactionsCount90d; + } + + + public void setNsfOverdraftTransactionsCount90d(Integer nsfOverdraftTransactionsCount90d) { + this.nsfOverdraftTransactionsCount90d = nsfOverdraftTransactionsCount90d; + } + + + public SignalEvaluateCoreAttributes daysSinceFirstPlaidConnection(Integer daysSinceFirstPlaidConnection) { + + this.daysSinceFirstPlaidConnection = daysSinceFirstPlaidConnection; + return this; + } + + /** + * The number of days since the first time the Item was connected to an application via Plaid + * @return daysSinceFirstPlaidConnection + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days since the first time the Item was connected to an application via Plaid") + + public Integer getDaysSinceFirstPlaidConnection() { + return daysSinceFirstPlaidConnection; + } + + + public void setDaysSinceFirstPlaidConnection(Integer daysSinceFirstPlaidConnection) { + this.daysSinceFirstPlaidConnection = daysSinceFirstPlaidConnection; + } + + + public SignalEvaluateCoreAttributes plaidConnectionsCount7d(Integer plaidConnectionsCount7d) { + + this.plaidConnectionsCount7d = plaidConnectionsCount7d; + return this; + } + + /** + * The number of times the Item has been connected to applications via Plaid over the past 7 days + * @return plaidConnectionsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the Item has been connected to applications via Plaid over the past 7 days") + + public Integer getPlaidConnectionsCount7d() { + return plaidConnectionsCount7d; + } + + + public void setPlaidConnectionsCount7d(Integer plaidConnectionsCount7d) { + this.plaidConnectionsCount7d = plaidConnectionsCount7d; + } + + + public SignalEvaluateCoreAttributes plaidConnectionsCount30d(Integer plaidConnectionsCount30d) { + + this.plaidConnectionsCount30d = plaidConnectionsCount30d; + return this; + } + + /** + * The number of times the Item has been connected to applications via Plaid over the past 30 days + * @return plaidConnectionsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the Item has been connected to applications via Plaid over the past 30 days") + + public Integer getPlaidConnectionsCount30d() { + return plaidConnectionsCount30d; + } + + + public void setPlaidConnectionsCount30d(Integer plaidConnectionsCount30d) { + this.plaidConnectionsCount30d = plaidConnectionsCount30d; + } + + + public SignalEvaluateCoreAttributes totalPlaidConnectionsCount(Integer totalPlaidConnectionsCount) { + + this.totalPlaidConnectionsCount = totalPlaidConnectionsCount; + return this; + } + + /** + * The total number of times the Item has been connected to applications via Plaid + * @return totalPlaidConnectionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of times the Item has been connected to applications via Plaid") + + public Integer getTotalPlaidConnectionsCount() { + return totalPlaidConnectionsCount; + } + + + public void setTotalPlaidConnectionsCount(Integer totalPlaidConnectionsCount) { + this.totalPlaidConnectionsCount = totalPlaidConnectionsCount; + } + + + public SignalEvaluateCoreAttributes isSavingsOrMoneyMarketAccount(Boolean isSavingsOrMoneyMarketAccount) { + + this.isSavingsOrMoneyMarketAccount = isSavingsOrMoneyMarketAccount; + return this; + } + + /** + * Indicates if the ACH transaction funding account is a savings/money market account + * @return isSavingsOrMoneyMarketAccount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the ACH transaction funding account is a savings/money market account") + + public Boolean getIsSavingsOrMoneyMarketAccount() { + return isSavingsOrMoneyMarketAccount; + } + + + public void setIsSavingsOrMoneyMarketAccount(Boolean isSavingsOrMoneyMarketAccount) { + this.isSavingsOrMoneyMarketAccount = isSavingsOrMoneyMarketAccount; + } + + + public SignalEvaluateCoreAttributes totalCreditTransactionsAmount10d(Double totalCreditTransactionsAmount10d) { + + this.totalCreditTransactionsAmount10d = totalCreditTransactionsAmount10d; + return this; + } + + /** + * The total credit (inflow) transaction amount over the past 10 days from the account that will be debited + * @return totalCreditTransactionsAmount10d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total credit (inflow) transaction amount over the past 10 days from the account that will be debited") + + public Double getTotalCreditTransactionsAmount10d() { + return totalCreditTransactionsAmount10d; + } + + + public void setTotalCreditTransactionsAmount10d(Double totalCreditTransactionsAmount10d) { + this.totalCreditTransactionsAmount10d = totalCreditTransactionsAmount10d; + } + + + public SignalEvaluateCoreAttributes totalDebitTransactionsAmount10d(Double totalDebitTransactionsAmount10d) { + + this.totalDebitTransactionsAmount10d = totalDebitTransactionsAmount10d; + return this; + } + + /** + * The total debit (outflow) transaction amount over the past 10 days from the account that will be debited + * @return totalDebitTransactionsAmount10d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total debit (outflow) transaction amount over the past 10 days from the account that will be debited") + + public Double getTotalDebitTransactionsAmount10d() { + return totalDebitTransactionsAmount10d; + } + + + public void setTotalDebitTransactionsAmount10d(Double totalDebitTransactionsAmount10d) { + this.totalDebitTransactionsAmount10d = totalDebitTransactionsAmount10d; + } + + + public SignalEvaluateCoreAttributes p50CreditTransactionsAmount28d(Double p50CreditTransactionsAmount28d) { + + this.p50CreditTransactionsAmount28d = p50CreditTransactionsAmount28d; + return this; + } + + /** + * The 50th percentile of all credit (inflow) transaction amounts over the past 28 days from the account that will be debited + * @return p50CreditTransactionsAmount28d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 50th percentile of all credit (inflow) transaction amounts over the past 28 days from the account that will be debited") + + public Double getP50CreditTransactionsAmount28d() { + return p50CreditTransactionsAmount28d; + } + + + public void setP50CreditTransactionsAmount28d(Double p50CreditTransactionsAmount28d) { + this.p50CreditTransactionsAmount28d = p50CreditTransactionsAmount28d; + } + + + public SignalEvaluateCoreAttributes p50DebitTransactionsAmount28d(Double p50DebitTransactionsAmount28d) { + + this.p50DebitTransactionsAmount28d = p50DebitTransactionsAmount28d; + return this; + } + + /** + * The 50th percentile of all debit (outflow) transaction amounts over the past 28 days from the account that will be debited + * @return p50DebitTransactionsAmount28d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 50th percentile of all debit (outflow) transaction amounts over the past 28 days from the account that will be debited") + + public Double getP50DebitTransactionsAmount28d() { + return p50DebitTransactionsAmount28d; + } + + + public void setP50DebitTransactionsAmount28d(Double p50DebitTransactionsAmount28d) { + this.p50DebitTransactionsAmount28d = p50DebitTransactionsAmount28d; + } + + + public SignalEvaluateCoreAttributes p95CreditTransactionsAmount28d(Double p95CreditTransactionsAmount28d) { + + this.p95CreditTransactionsAmount28d = p95CreditTransactionsAmount28d; + return this; + } + + /** + * The 95th percentile of all credit (inflow) transaction amounts over the past 28 days from the account that will be debited + * @return p95CreditTransactionsAmount28d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 95th percentile of all credit (inflow) transaction amounts over the past 28 days from the account that will be debited") + + public Double getP95CreditTransactionsAmount28d() { + return p95CreditTransactionsAmount28d; + } + + + public void setP95CreditTransactionsAmount28d(Double p95CreditTransactionsAmount28d) { + this.p95CreditTransactionsAmount28d = p95CreditTransactionsAmount28d; + } + + + public SignalEvaluateCoreAttributes p95DebitTransactionsAmount28d(Double p95DebitTransactionsAmount28d) { + + this.p95DebitTransactionsAmount28d = p95DebitTransactionsAmount28d; + return this; + } + + /** + * The 95th percentile of all debit (outflow) transaction amounts over the past 28 days from the account that will be debited + * @return p95DebitTransactionsAmount28d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 95th percentile of all debit (outflow) transaction amounts over the past 28 days from the account that will be debited") + + public Double getP95DebitTransactionsAmount28d() { + return p95DebitTransactionsAmount28d; + } + + + public void setP95DebitTransactionsAmount28d(Double p95DebitTransactionsAmount28d) { + this.p95DebitTransactionsAmount28d = p95DebitTransactionsAmount28d; + } + + + public SignalEvaluateCoreAttributes daysWithNegativeBalanceCount90d(Integer daysWithNegativeBalanceCount90d) { + + this.daysWithNegativeBalanceCount90d = daysWithNegativeBalanceCount90d; + return this; + } + + /** + * The number of days within the past 90 days when the account that will be debited had a negative end-of-day available balance + * @return daysWithNegativeBalanceCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days within the past 90 days when the account that will be debited had a negative end-of-day available balance") + + public Integer getDaysWithNegativeBalanceCount90d() { + return daysWithNegativeBalanceCount90d; + } + + + public void setDaysWithNegativeBalanceCount90d(Integer daysWithNegativeBalanceCount90d) { + this.daysWithNegativeBalanceCount90d = daysWithNegativeBalanceCount90d; + } + + + public SignalEvaluateCoreAttributes p90EodBalance30d(Double p90EodBalance30d) { + + this.p90EodBalance30d = p90EodBalance30d; + return this; + } + + /** + * The 90th percentile of the end-of-day available balance over the past 30 days of the account that will be debited + * @return p90EodBalance30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 90th percentile of the end-of-day available balance over the past 30 days of the account that will be debited") + + public Double getP90EodBalance30d() { + return p90EodBalance30d; + } + + + public void setP90EodBalance30d(Double p90EodBalance30d) { + this.p90EodBalance30d = p90EodBalance30d; + } + + + public SignalEvaluateCoreAttributes p90EodBalance60d(Double p90EodBalance60d) { + + this.p90EodBalance60d = p90EodBalance60d; + return this; + } + + /** + * The 90th percentile of the end-of-day available balance over the past 60 days of the account that will be debited + * @return p90EodBalance60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 90th percentile of the end-of-day available balance over the past 60 days of the account that will be debited") + + public Double getP90EodBalance60d() { + return p90EodBalance60d; + } + + + public void setP90EodBalance60d(Double p90EodBalance60d) { + this.p90EodBalance60d = p90EodBalance60d; + } + + + public SignalEvaluateCoreAttributes p90EodBalance90d(Double p90EodBalance90d) { + + this.p90EodBalance90d = p90EodBalance90d; + return this; + } + + /** + * The 90th percentile of the end-of-day available balance over the past 90 days of the account that will be debited + * @return p90EodBalance90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 90th percentile of the end-of-day available balance over the past 90 days of the account that will be debited") + + public Double getP90EodBalance90d() { + return p90EodBalance90d; + } + + + public void setP90EodBalance90d(Double p90EodBalance90d) { + this.p90EodBalance90d = p90EodBalance90d; + } + + + public SignalEvaluateCoreAttributes p10EodBalance30d(Double p10EodBalance30d) { + + this.p10EodBalance30d = p10EodBalance30d; + return this; + } + + /** + * The 10th percentile of the end-of-day available balance over the past 30 days of the account that will be debited + * @return p10EodBalance30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 10th percentile of the end-of-day available balance over the past 30 days of the account that will be debited") + + public Double getP10EodBalance30d() { + return p10EodBalance30d; + } + + + public void setP10EodBalance30d(Double p10EodBalance30d) { + this.p10EodBalance30d = p10EodBalance30d; + } + + + public SignalEvaluateCoreAttributes p10EodBalance60d(Double p10EodBalance60d) { + + this.p10EodBalance60d = p10EodBalance60d; + return this; + } + + /** + * The 10th percentile of the end-of-day available balance over the past 60 days of the account that will be debited + * @return p10EodBalance60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 10th percentile of the end-of-day available balance over the past 60 days of the account that will be debited") + + public Double getP10EodBalance60d() { + return p10EodBalance60d; + } + + + public void setP10EodBalance60d(Double p10EodBalance60d) { + this.p10EodBalance60d = p10EodBalance60d; + } + + + public SignalEvaluateCoreAttributes p10EodBalance90d(Double p10EodBalance90d) { + + this.p10EodBalance90d = p10EodBalance90d; + return this; + } + + /** + * The 10th percentile of the end-of-day available balance over the past 90 days of the account that will be debited + * @return p10EodBalance90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 10th percentile of the end-of-day available balance over the past 90 days of the account that will be debited") + + public Double getP10EodBalance90d() { + return p10EodBalance90d; + } + + + public void setP10EodBalance90d(Double p10EodBalance90d) { + this.p10EodBalance90d = p10EodBalance90d; + } + + + public SignalEvaluateCoreAttributes availableBalance(Double availableBalance) { + + this.availableBalance = availableBalance; + return this; + } + + /** + * Available balance, as of the `balance_last_updated` time. The available balance is the current balance less any outstanding holds or debits that have not yet posted to the account. + * @return availableBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Available balance, as of the `balance_last_updated` time. The available balance is the current balance less any outstanding holds or debits that have not yet posted to the account.") + + public Double getAvailableBalance() { + return availableBalance; + } + + + public void setAvailableBalance(Double availableBalance) { + this.availableBalance = availableBalance; + } + + + public SignalEvaluateCoreAttributes currentBalance(Double currentBalance) { + + this.currentBalance = currentBalance; + return this; + } + + /** + * Current balance, as of the `balance_last_updated` time. The current balance is the total amount of funds in the account. + * @return currentBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Current balance, as of the `balance_last_updated` time. The current balance is the total amount of funds in the account.") + + public Double getCurrentBalance() { + return currentBalance; + } + + + public void setCurrentBalance(Double currentBalance) { + this.currentBalance = currentBalance; + } + + + public SignalEvaluateCoreAttributes balanceLastUpdated(OffsetDateTime balanceLastUpdated) { + + this.balanceLastUpdated = balanceLastUpdated; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDTHH:mm:ssZ) indicating the last time that the balance for the given account has been updated. + * @return balanceLastUpdated + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDTHH:mm:ssZ) indicating the last time that the balance for the given account has been updated.") + + public OffsetDateTime getBalanceLastUpdated() { + return balanceLastUpdated; + } + + + public void setBalanceLastUpdated(OffsetDateTime balanceLastUpdated) { + this.balanceLastUpdated = balanceLastUpdated; + } + + + public SignalEvaluateCoreAttributes phoneChangeCount28d(Integer phoneChangeCount28d) { + + this.phoneChangeCount28d = phoneChangeCount28d; + return this; + } + + /** + * The number of times the account's phone numbers on file have changed over the past 28 days + * @return phoneChangeCount28d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the account's phone numbers on file have changed over the past 28 days") + + public Integer getPhoneChangeCount28d() { + return phoneChangeCount28d; + } + + + public void setPhoneChangeCount28d(Integer phoneChangeCount28d) { + this.phoneChangeCount28d = phoneChangeCount28d; + } + + + public SignalEvaluateCoreAttributes phoneChangeCount90d(Integer phoneChangeCount90d) { + + this.phoneChangeCount90d = phoneChangeCount90d; + return this; + } + + /** + * The number of times the account's phone numbers on file have changed over the past 90 days + * @return phoneChangeCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the account's phone numbers on file have changed over the past 90 days") + + public Integer getPhoneChangeCount90d() { + return phoneChangeCount90d; + } + + + public void setPhoneChangeCount90d(Integer phoneChangeCount90d) { + this.phoneChangeCount90d = phoneChangeCount90d; + } + + + public SignalEvaluateCoreAttributes emailChangeCount28d(Integer emailChangeCount28d) { + + this.emailChangeCount28d = emailChangeCount28d; + return this; + } + + /** + * The number of times the account's email addresses on file have changed over the past 28 days + * @return emailChangeCount28d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the account's email addresses on file have changed over the past 28 days") + + public Integer getEmailChangeCount28d() { + return emailChangeCount28d; + } + + + public void setEmailChangeCount28d(Integer emailChangeCount28d) { + this.emailChangeCount28d = emailChangeCount28d; + } + + + public SignalEvaluateCoreAttributes emailChangeCount90d(Integer emailChangeCount90d) { + + this.emailChangeCount90d = emailChangeCount90d; + return this; + } + + /** + * The number of times the account's email addresses on file have changed over the past 90 days + * @return emailChangeCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the account's email addresses on file have changed over the past 90 days") + + public Integer getEmailChangeCount90d() { + return emailChangeCount90d; + } + + + public void setEmailChangeCount90d(Integer emailChangeCount90d) { + this.emailChangeCount90d = emailChangeCount90d; + } + + + public SignalEvaluateCoreAttributes addressChangeCount28d(Integer addressChangeCount28d) { + + this.addressChangeCount28d = addressChangeCount28d; + return this; + } + + /** + * The number of times the account's addresses on file have changed over the past 28 days + * @return addressChangeCount28d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the account's addresses on file have changed over the past 28 days") + + public Integer getAddressChangeCount28d() { + return addressChangeCount28d; + } + + + public void setAddressChangeCount28d(Integer addressChangeCount28d) { + this.addressChangeCount28d = addressChangeCount28d; + } + + + public SignalEvaluateCoreAttributes addressChangeCount90d(Integer addressChangeCount90d) { + + this.addressChangeCount90d = addressChangeCount90d; + return this; + } + + /** + * The number of times the account's addresses on file have changed over the past 90 days + * @return addressChangeCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of times the account's addresses on file have changed over the past 90 days") + + public Integer getAddressChangeCount90d() { + return addressChangeCount90d; + } + + + public void setAddressChangeCount90d(Integer addressChangeCount90d) { + this.addressChangeCount90d = addressChangeCount90d; + } + + + public SignalEvaluateCoreAttributes plaidNonOauthAuthenticationAttemptsCount3d(Integer plaidNonOauthAuthenticationAttemptsCount3d) { + + this.plaidNonOauthAuthenticationAttemptsCount3d = plaidNonOauthAuthenticationAttemptsCount3d; + return this; + } + + /** + * The number of non-OAuth authentication attempts via Plaid for this bank account over the past 3 days + * @return plaidNonOauthAuthenticationAttemptsCount3d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of non-OAuth authentication attempts via Plaid for this bank account over the past 3 days") + + public Integer getPlaidNonOauthAuthenticationAttemptsCount3d() { + return plaidNonOauthAuthenticationAttemptsCount3d; + } + + + public void setPlaidNonOauthAuthenticationAttemptsCount3d(Integer plaidNonOauthAuthenticationAttemptsCount3d) { + this.plaidNonOauthAuthenticationAttemptsCount3d = plaidNonOauthAuthenticationAttemptsCount3d; + } + + + public SignalEvaluateCoreAttributes plaidNonOauthAuthenticationAttemptsCount7d(Integer plaidNonOauthAuthenticationAttemptsCount7d) { + + this.plaidNonOauthAuthenticationAttemptsCount7d = plaidNonOauthAuthenticationAttemptsCount7d; + return this; + } + + /** + * The number of non-OAuth authentication attempts via Plaid for this bank account over the past 7 days + * @return plaidNonOauthAuthenticationAttemptsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of non-OAuth authentication attempts via Plaid for this bank account over the past 7 days") + + public Integer getPlaidNonOauthAuthenticationAttemptsCount7d() { + return plaidNonOauthAuthenticationAttemptsCount7d; + } + + + public void setPlaidNonOauthAuthenticationAttemptsCount7d(Integer plaidNonOauthAuthenticationAttemptsCount7d) { + this.plaidNonOauthAuthenticationAttemptsCount7d = plaidNonOauthAuthenticationAttemptsCount7d; + } + + + public SignalEvaluateCoreAttributes plaidNonOauthAuthenticationAttemptsCount30d(Integer plaidNonOauthAuthenticationAttemptsCount30d) { + + this.plaidNonOauthAuthenticationAttemptsCount30d = plaidNonOauthAuthenticationAttemptsCount30d; + return this; + } + + /** + * The number of non-OAuth authentication attempts via Plaid for this bank account over the past 30 days + * @return plaidNonOauthAuthenticationAttemptsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of non-OAuth authentication attempts via Plaid for this bank account over the past 30 days") + + public Integer getPlaidNonOauthAuthenticationAttemptsCount30d() { + return plaidNonOauthAuthenticationAttemptsCount30d; + } + + + public void setPlaidNonOauthAuthenticationAttemptsCount30d(Integer plaidNonOauthAuthenticationAttemptsCount30d) { + this.plaidNonOauthAuthenticationAttemptsCount30d = plaidNonOauthAuthenticationAttemptsCount30d; + } + + + public SignalEvaluateCoreAttributes failedPlaidNonOauthAuthenticationAttemptsCount3d(Integer failedPlaidNonOauthAuthenticationAttemptsCount3d) { + + this.failedPlaidNonOauthAuthenticationAttemptsCount3d = failedPlaidNonOauthAuthenticationAttemptsCount3d; + return this; + } + + /** + * The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 3 days + * @return failedPlaidNonOauthAuthenticationAttemptsCount3d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 3 days") + + public Integer getFailedPlaidNonOauthAuthenticationAttemptsCount3d() { + return failedPlaidNonOauthAuthenticationAttemptsCount3d; + } + + + public void setFailedPlaidNonOauthAuthenticationAttemptsCount3d(Integer failedPlaidNonOauthAuthenticationAttemptsCount3d) { + this.failedPlaidNonOauthAuthenticationAttemptsCount3d = failedPlaidNonOauthAuthenticationAttemptsCount3d; + } + + + public SignalEvaluateCoreAttributes failedPlaidNonOauthAuthenticationAttemptsCount7d(Integer failedPlaidNonOauthAuthenticationAttemptsCount7d) { + + this.failedPlaidNonOauthAuthenticationAttemptsCount7d = failedPlaidNonOauthAuthenticationAttemptsCount7d; + return this; + } + + /** + * The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 7 days + * @return failedPlaidNonOauthAuthenticationAttemptsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 7 days") + + public Integer getFailedPlaidNonOauthAuthenticationAttemptsCount7d() { + return failedPlaidNonOauthAuthenticationAttemptsCount7d; + } + + + public void setFailedPlaidNonOauthAuthenticationAttemptsCount7d(Integer failedPlaidNonOauthAuthenticationAttemptsCount7d) { + this.failedPlaidNonOauthAuthenticationAttemptsCount7d = failedPlaidNonOauthAuthenticationAttemptsCount7d; + } + + + public SignalEvaluateCoreAttributes failedPlaidNonOauthAuthenticationAttemptsCount30d(Integer failedPlaidNonOauthAuthenticationAttemptsCount30d) { + + this.failedPlaidNonOauthAuthenticationAttemptsCount30d = failedPlaidNonOauthAuthenticationAttemptsCount30d; + return this; + } + + /** + * The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 30 days + * @return failedPlaidNonOauthAuthenticationAttemptsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 30 days") + + public Integer getFailedPlaidNonOauthAuthenticationAttemptsCount30d() { + return failedPlaidNonOauthAuthenticationAttemptsCount30d; + } + + + public void setFailedPlaidNonOauthAuthenticationAttemptsCount30d(Integer failedPlaidNonOauthAuthenticationAttemptsCount30d) { + this.failedPlaidNonOauthAuthenticationAttemptsCount30d = failedPlaidNonOauthAuthenticationAttemptsCount30d; + } + + + public SignalEvaluateCoreAttributes debitTransactionsCount10d(Integer debitTransactionsCount10d) { + + this.debitTransactionsCount10d = debitTransactionsCount10d; + return this; + } + + /** + * The total number of debit (outflow) transactions over the past 10 days from the account that will be debited + * @return debitTransactionsCount10d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of debit (outflow) transactions over the past 10 days from the account that will be debited") + + public Integer getDebitTransactionsCount10d() { + return debitTransactionsCount10d; + } + + + public void setDebitTransactionsCount10d(Integer debitTransactionsCount10d) { + this.debitTransactionsCount10d = debitTransactionsCount10d; + } + + + public SignalEvaluateCoreAttributes creditTransactionsCount10d(Integer creditTransactionsCount10d) { + + this.creditTransactionsCount10d = creditTransactionsCount10d; + return this; + } + + /** + * The total number of credit (inflow) transactions over the past 10 days from the account that will be debited + * @return creditTransactionsCount10d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of credit (inflow) transactions over the past 10 days from the account that will be debited") + + public Integer getCreditTransactionsCount10d() { + return creditTransactionsCount10d; + } + + + public void setCreditTransactionsCount10d(Integer creditTransactionsCount10d) { + this.creditTransactionsCount10d = creditTransactionsCount10d; + } + + + public SignalEvaluateCoreAttributes debitTransactionsCount30d(Integer debitTransactionsCount30d) { + + this.debitTransactionsCount30d = debitTransactionsCount30d; + return this; + } + + /** + * The total number of debit (outflow) transactions over the past 30 days from the account that will be debited + * @return debitTransactionsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of debit (outflow) transactions over the past 30 days from the account that will be debited") + + public Integer getDebitTransactionsCount30d() { + return debitTransactionsCount30d; + } + + + public void setDebitTransactionsCount30d(Integer debitTransactionsCount30d) { + this.debitTransactionsCount30d = debitTransactionsCount30d; + } + + + public SignalEvaluateCoreAttributes creditTransactionsCount30d(Integer creditTransactionsCount30d) { + + this.creditTransactionsCount30d = creditTransactionsCount30d; + return this; + } + + /** + * The total number of credit (inflow) transactions over the past 30 days from the account that will be debited + * @return creditTransactionsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of credit (inflow) transactions over the past 30 days from the account that will be debited") + + public Integer getCreditTransactionsCount30d() { + return creditTransactionsCount30d; + } + + + public void setCreditTransactionsCount30d(Integer creditTransactionsCount30d) { + this.creditTransactionsCount30d = creditTransactionsCount30d; + } + + + public SignalEvaluateCoreAttributes debitTransactionsCount60d(Integer debitTransactionsCount60d) { + + this.debitTransactionsCount60d = debitTransactionsCount60d; + return this; + } + + /** + * The total number of debit (outflow) transactions over the past 60 days from the account that will be debited + * @return debitTransactionsCount60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of debit (outflow) transactions over the past 60 days from the account that will be debited") + + public Integer getDebitTransactionsCount60d() { + return debitTransactionsCount60d; + } + + + public void setDebitTransactionsCount60d(Integer debitTransactionsCount60d) { + this.debitTransactionsCount60d = debitTransactionsCount60d; + } + + + public SignalEvaluateCoreAttributes creditTransactionsCount60d(Integer creditTransactionsCount60d) { + + this.creditTransactionsCount60d = creditTransactionsCount60d; + return this; + } + + /** + * The total number of credit (inflow) transactions over the past 60 days from the account that will be debited + * @return creditTransactionsCount60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of credit (inflow) transactions over the past 60 days from the account that will be debited") + + public Integer getCreditTransactionsCount60d() { + return creditTransactionsCount60d; + } + + + public void setCreditTransactionsCount60d(Integer creditTransactionsCount60d) { + this.creditTransactionsCount60d = creditTransactionsCount60d; + } + + + public SignalEvaluateCoreAttributes debitTransactionsCount90d(Integer debitTransactionsCount90d) { + + this.debitTransactionsCount90d = debitTransactionsCount90d; + return this; + } + + /** + * The total number of debit (outflow) transactions over the past 90 days from the account that will be debited + * @return debitTransactionsCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of debit (outflow) transactions over the past 90 days from the account that will be debited") + + public Integer getDebitTransactionsCount90d() { + return debitTransactionsCount90d; + } + + + public void setDebitTransactionsCount90d(Integer debitTransactionsCount90d) { + this.debitTransactionsCount90d = debitTransactionsCount90d; + } + + + public SignalEvaluateCoreAttributes creditTransactionsCount90d(Integer creditTransactionsCount90d) { + + this.creditTransactionsCount90d = creditTransactionsCount90d; + return this; + } + + /** + * The total number of credit (inflow) transactions over the past 90 days from the account that will be debited + * @return creditTransactionsCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total number of credit (inflow) transactions over the past 90 days from the account that will be debited") + + public Integer getCreditTransactionsCount90d() { + return creditTransactionsCount90d; + } + + + public void setCreditTransactionsCount90d(Integer creditTransactionsCount90d) { + this.creditTransactionsCount90d = creditTransactionsCount90d; + } + + + public SignalEvaluateCoreAttributes totalDebitTransactionsAmount30d(Double totalDebitTransactionsAmount30d) { + + this.totalDebitTransactionsAmount30d = totalDebitTransactionsAmount30d; + return this; + } + + /** + * The total debit (outflow) transaction amount over the past 30 days from the account that will be debited + * @return totalDebitTransactionsAmount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total debit (outflow) transaction amount over the past 30 days from the account that will be debited") + + public Double getTotalDebitTransactionsAmount30d() { + return totalDebitTransactionsAmount30d; + } + + + public void setTotalDebitTransactionsAmount30d(Double totalDebitTransactionsAmount30d) { + this.totalDebitTransactionsAmount30d = totalDebitTransactionsAmount30d; + } + + + public SignalEvaluateCoreAttributes totalCreditTransactionsAmount30d(Double totalCreditTransactionsAmount30d) { + + this.totalCreditTransactionsAmount30d = totalCreditTransactionsAmount30d; + return this; + } + + /** + * The total credit (inflow) transaction amount over the past 30 days from the account that will be debited + * @return totalCreditTransactionsAmount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total credit (inflow) transaction amount over the past 30 days from the account that will be debited") + + public Double getTotalCreditTransactionsAmount30d() { + return totalCreditTransactionsAmount30d; + } + + + public void setTotalCreditTransactionsAmount30d(Double totalCreditTransactionsAmount30d) { + this.totalCreditTransactionsAmount30d = totalCreditTransactionsAmount30d; + } + + + public SignalEvaluateCoreAttributes totalDebitTransactionsAmount60d(Double totalDebitTransactionsAmount60d) { + + this.totalDebitTransactionsAmount60d = totalDebitTransactionsAmount60d; + return this; + } + + /** + * The total debit (outflow) transaction amount over the past 60 days from the account that will be debited + * @return totalDebitTransactionsAmount60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total debit (outflow) transaction amount over the past 60 days from the account that will be debited") + + public Double getTotalDebitTransactionsAmount60d() { + return totalDebitTransactionsAmount60d; + } + + + public void setTotalDebitTransactionsAmount60d(Double totalDebitTransactionsAmount60d) { + this.totalDebitTransactionsAmount60d = totalDebitTransactionsAmount60d; + } + + + public SignalEvaluateCoreAttributes totalCreditTransactionsAmount60d(Double totalCreditTransactionsAmount60d) { + + this.totalCreditTransactionsAmount60d = totalCreditTransactionsAmount60d; + return this; + } + + /** + * The total credit (inflow) transaction amount over the past 60 days from the account that will be debited + * @return totalCreditTransactionsAmount60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total credit (inflow) transaction amount over the past 60 days from the account that will be debited") + + public Double getTotalCreditTransactionsAmount60d() { + return totalCreditTransactionsAmount60d; + } + + + public void setTotalCreditTransactionsAmount60d(Double totalCreditTransactionsAmount60d) { + this.totalCreditTransactionsAmount60d = totalCreditTransactionsAmount60d; + } + + + public SignalEvaluateCoreAttributes totalDebitTransactionsAmount90d(Double totalDebitTransactionsAmount90d) { + + this.totalDebitTransactionsAmount90d = totalDebitTransactionsAmount90d; + return this; + } + + /** + * The total debit (outflow) transaction amount over the past 90 days from the account that will be debited + * @return totalDebitTransactionsAmount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total debit (outflow) transaction amount over the past 90 days from the account that will be debited") + + public Double getTotalDebitTransactionsAmount90d() { + return totalDebitTransactionsAmount90d; + } + + + public void setTotalDebitTransactionsAmount90d(Double totalDebitTransactionsAmount90d) { + this.totalDebitTransactionsAmount90d = totalDebitTransactionsAmount90d; + } + + + public SignalEvaluateCoreAttributes totalCreditTransactionsAmount90d(Double totalCreditTransactionsAmount90d) { + + this.totalCreditTransactionsAmount90d = totalCreditTransactionsAmount90d; + return this; + } + + /** + * The total credit (inflow) transaction amount over the past 90 days from the account that will be debited + * @return totalCreditTransactionsAmount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total credit (inflow) transaction amount over the past 90 days from the account that will be debited") + + public Double getTotalCreditTransactionsAmount90d() { + return totalCreditTransactionsAmount90d; + } + + + public void setTotalCreditTransactionsAmount90d(Double totalCreditTransactionsAmount90d) { + this.totalCreditTransactionsAmount90d = totalCreditTransactionsAmount90d; + } + + + public SignalEvaluateCoreAttributes p50EodBalance30d(Double p50EodBalance30d) { + + this.p50EodBalance30d = p50EodBalance30d; + return this; + } + + /** + * The 50th percentile of the end-of-day available balance over the past 30 days of the account that will be debited + * @return p50EodBalance30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 50th percentile of the end-of-day available balance over the past 30 days of the account that will be debited") + + public Double getP50EodBalance30d() { + return p50EodBalance30d; + } + + + public void setP50EodBalance30d(Double p50EodBalance30d) { + this.p50EodBalance30d = p50EodBalance30d; + } + + + public SignalEvaluateCoreAttributes p50EodBalance60d(Double p50EodBalance60d) { + + this.p50EodBalance60d = p50EodBalance60d; + return this; + } + + /** + * The 50th percentile of the end-of-day available balance over the past 60 days of the account that will be debited + * @return p50EodBalance60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 50th percentile of the end-of-day available balance over the past 60 days of the account that will be debited") + + public Double getP50EodBalance60d() { + return p50EodBalance60d; + } + + + public void setP50EodBalance60d(Double p50EodBalance60d) { + this.p50EodBalance60d = p50EodBalance60d; + } + + + public SignalEvaluateCoreAttributes p50EodBalance90d(Double p50EodBalance90d) { + + this.p50EodBalance90d = p50EodBalance90d; + return this; + } + + /** + * The 50th percentile of the end-of-day available balance over the past 90 days of the account that will be debited + * @return p50EodBalance90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 50th percentile of the end-of-day available balance over the past 90 days of the account that will be debited") + + public Double getP50EodBalance90d() { + return p50EodBalance90d; + } + + + public void setP50EodBalance90d(Double p50EodBalance90d) { + this.p50EodBalance90d = p50EodBalance90d; + } + + + public SignalEvaluateCoreAttributes p50EodBalance31dTo60d(Double p50EodBalance31dTo60d) { + + this.p50EodBalance31dTo60d = p50EodBalance31dTo60d; + return this; + } + + /** + * The 50th percentile of the end-of-day available balance between day 31 and day 60 over the past 60 days of the account that will be debited + * @return p50EodBalance31dTo60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 50th percentile of the end-of-day available balance between day 31 and day 60 over the past 60 days of the account that will be debited") + + public Double getP50EodBalance31dTo60d() { + return p50EodBalance31dTo60d; + } + + + public void setP50EodBalance31dTo60d(Double p50EodBalance31dTo60d) { + this.p50EodBalance31dTo60d = p50EodBalance31dTo60d; + } + + + public SignalEvaluateCoreAttributes p50EodBalance61dTo90d(Double p50EodBalance61dTo90d) { + + this.p50EodBalance61dTo90d = p50EodBalance61dTo90d; + return this; + } + + /** + * The 50th percentile of the end-of-day available balance between day 61 and day 90 over the past 90 days of the account that will be debited + * @return p50EodBalance61dTo90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 50th percentile of the end-of-day available balance between day 61 and day 90 over the past 90 days of the account that will be debited") + + public Double getP50EodBalance61dTo90d() { + return p50EodBalance61dTo90d; + } + + + public void setP50EodBalance61dTo90d(Double p50EodBalance61dTo90d) { + this.p50EodBalance61dTo90d = p50EodBalance61dTo90d; + } + + + public SignalEvaluateCoreAttributes p90EodBalance31dTo60d(Double p90EodBalance31dTo60d) { + + this.p90EodBalance31dTo60d = p90EodBalance31dTo60d; + return this; + } + + /** + * The 90th percentile of the end-of-day available balance between day 31 and day 60 over the past 60 days of the account that will be debited + * @return p90EodBalance31dTo60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 90th percentile of the end-of-day available balance between day 31 and day 60 over the past 60 days of the account that will be debited") + + public Double getP90EodBalance31dTo60d() { + return p90EodBalance31dTo60d; + } + + + public void setP90EodBalance31dTo60d(Double p90EodBalance31dTo60d) { + this.p90EodBalance31dTo60d = p90EodBalance31dTo60d; + } + + + public SignalEvaluateCoreAttributes p90EodBalance61dTo90d(Double p90EodBalance61dTo90d) { + + this.p90EodBalance61dTo90d = p90EodBalance61dTo90d; + return this; + } + + /** + * The 90th percentile of the end-of-day available balance between day 61 and day 90 over the past 90 days of the account that will be debited + * @return p90EodBalance61dTo90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 90th percentile of the end-of-day available balance between day 61 and day 90 over the past 90 days of the account that will be debited") + + public Double getP90EodBalance61dTo90d() { + return p90EodBalance61dTo90d; + } + + + public void setP90EodBalance61dTo90d(Double p90EodBalance61dTo90d) { + this.p90EodBalance61dTo90d = p90EodBalance61dTo90d; + } + + + public SignalEvaluateCoreAttributes p10EodBalance31dTo60d(Double p10EodBalance31dTo60d) { + + this.p10EodBalance31dTo60d = p10EodBalance31dTo60d; + return this; + } + + /** + * The 10th percentile of the end-of-day available balance between day 31 and day 60 over the past 60 days of the account that will be debited + * @return p10EodBalance31dTo60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 10th percentile of the end-of-day available balance between day 31 and day 60 over the past 60 days of the account that will be debited") + + public Double getP10EodBalance31dTo60d() { + return p10EodBalance31dTo60d; + } + + + public void setP10EodBalance31dTo60d(Double p10EodBalance31dTo60d) { + this.p10EodBalance31dTo60d = p10EodBalance31dTo60d; + } + + + public SignalEvaluateCoreAttributes p10EodBalance61dTo90d(Double p10EodBalance61dTo90d) { + + this.p10EodBalance61dTo90d = p10EodBalance61dTo90d; + return this; + } + + /** + * The 10th percentile of the end-of-day available balance between day 61 and day 90 over the past 90 days of the account that will be debited + * @return p10EodBalance61dTo90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 10th percentile of the end-of-day available balance between day 61 and day 90 over the past 90 days of the account that will be debited") + + public Double getP10EodBalance61dTo90d() { + return p10EodBalance61dTo90d; + } + + + public void setP10EodBalance61dTo90d(Double p10EodBalance61dTo90d) { + this.p10EodBalance61dTo90d = p10EodBalance61dTo90d; + } + + + public SignalEvaluateCoreAttributes transactionsLastUpdated(OffsetDateTime transactionsLastUpdated) { + + this.transactionsLastUpdated = transactionsLastUpdated; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDTHH:mm:ssZ) indicating the last time that the transactions for the given account have been updated. + * @return transactionsLastUpdated + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDTHH:mm:ssZ) indicating the last time that the transactions for the given account have been updated.") + + public OffsetDateTime getTransactionsLastUpdated() { + return transactionsLastUpdated; + } + + + public void setTransactionsLastUpdated(OffsetDateTime transactionsLastUpdated) { + this.transactionsLastUpdated = transactionsLastUpdated; + } + + + public SignalEvaluateCoreAttributes isAccountClosed(Boolean isAccountClosed) { + + this.isAccountClosed = isAccountClosed; + return this; + } + + /** + * Indicates if the account that will be debited is closed + * @return isAccountClosed + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the account that will be debited is closed") + + public Boolean getIsAccountClosed() { + return isAccountClosed; + } + + + public void setIsAccountClosed(Boolean isAccountClosed) { + this.isAccountClosed = isAccountClosed; + } + + + public SignalEvaluateCoreAttributes isAccountFrozenOrRestricted(Boolean isAccountFrozenOrRestricted) { + + this.isAccountFrozenOrRestricted = isAccountFrozenOrRestricted; + return this; + } + + /** + * Indicates if the account that will be debited is either frozen or restricted + * @return isAccountFrozenOrRestricted + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the account that will be debited is either frozen or restricted") + + public Boolean getIsAccountFrozenOrRestricted() { + return isAccountFrozenOrRestricted; + } + + + public void setIsAccountFrozenOrRestricted(Boolean isAccountFrozenOrRestricted) { + this.isAccountFrozenOrRestricted = isAccountFrozenOrRestricted; + } + + + public SignalEvaluateCoreAttributes distinctIpAddressesCount3d(Integer distinctIpAddressesCount3d) { + + this.distinctIpAddressesCount3d = distinctIpAddressesCount3d; + return this; + } + + /** + * The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 3 days + * @return distinctIpAddressesCount3d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 3 days") + + public Integer getDistinctIpAddressesCount3d() { + return distinctIpAddressesCount3d; + } + + + public void setDistinctIpAddressesCount3d(Integer distinctIpAddressesCount3d) { + this.distinctIpAddressesCount3d = distinctIpAddressesCount3d; + } + + + public SignalEvaluateCoreAttributes distinctIpAddressesCount7d(Integer distinctIpAddressesCount7d) { + + this.distinctIpAddressesCount7d = distinctIpAddressesCount7d; + return this; + } + + /** + * The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 7 days + * @return distinctIpAddressesCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 7 days") + + public Integer getDistinctIpAddressesCount7d() { + return distinctIpAddressesCount7d; + } + + + public void setDistinctIpAddressesCount7d(Integer distinctIpAddressesCount7d) { + this.distinctIpAddressesCount7d = distinctIpAddressesCount7d; + } + + + public SignalEvaluateCoreAttributes distinctIpAddressesCount30d(Integer distinctIpAddressesCount30d) { + + this.distinctIpAddressesCount30d = distinctIpAddressesCount30d; + return this; + } + + /** + * The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 30 days (max 100) + * @return distinctIpAddressesCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 30 days (max 100)") + + public Integer getDistinctIpAddressesCount30d() { + return distinctIpAddressesCount30d; + } + + + public void setDistinctIpAddressesCount30d(Integer distinctIpAddressesCount30d) { + this.distinctIpAddressesCount30d = distinctIpAddressesCount30d; + } + + + public SignalEvaluateCoreAttributes distinctIpAddressesCount90d(Integer distinctIpAddressesCount90d) { + + this.distinctIpAddressesCount90d = distinctIpAddressesCount90d; + return this; + } + + /** + * The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 90 days (max 100) + * @return distinctIpAddressesCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct IP addresses linked to the same bank account during Plaid authentication in the last 90 days (max 100)") + + public Integer getDistinctIpAddressesCount90d() { + return distinctIpAddressesCount90d; + } + + + public void setDistinctIpAddressesCount90d(Integer distinctIpAddressesCount90d) { + this.distinctIpAddressesCount90d = distinctIpAddressesCount90d; + } + + + public SignalEvaluateCoreAttributes distinctUserAgentsCount3d(Integer distinctUserAgentsCount3d) { + + this.distinctUserAgentsCount3d = distinctUserAgentsCount3d; + return this; + } + + /** + * The number of distinct user agents linked to the same bank account during Plaid authentication in the last 3 days + * @return distinctUserAgentsCount3d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct user agents linked to the same bank account during Plaid authentication in the last 3 days") + + public Integer getDistinctUserAgentsCount3d() { + return distinctUserAgentsCount3d; + } + + + public void setDistinctUserAgentsCount3d(Integer distinctUserAgentsCount3d) { + this.distinctUserAgentsCount3d = distinctUserAgentsCount3d; + } + + + public SignalEvaluateCoreAttributes distinctUserAgentsCount7d(Integer distinctUserAgentsCount7d) { + + this.distinctUserAgentsCount7d = distinctUserAgentsCount7d; + return this; + } + + /** + * The number of distinct user agents linked to the same bank account during Plaid authentication in the last 7 days + * @return distinctUserAgentsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct user agents linked to the same bank account during Plaid authentication in the last 7 days") + + public Integer getDistinctUserAgentsCount7d() { + return distinctUserAgentsCount7d; + } + + + public void setDistinctUserAgentsCount7d(Integer distinctUserAgentsCount7d) { + this.distinctUserAgentsCount7d = distinctUserAgentsCount7d; + } + + + public SignalEvaluateCoreAttributes distinctUserAgentsCount30d(Integer distinctUserAgentsCount30d) { + + this.distinctUserAgentsCount30d = distinctUserAgentsCount30d; + return this; + } + + /** + * The number of distinct user agents linked to the same bank account during Plaid authentication in the last 30 days + * @return distinctUserAgentsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct user agents linked to the same bank account during Plaid authentication in the last 30 days") + + public Integer getDistinctUserAgentsCount30d() { + return distinctUserAgentsCount30d; + } + + + public void setDistinctUserAgentsCount30d(Integer distinctUserAgentsCount30d) { + this.distinctUserAgentsCount30d = distinctUserAgentsCount30d; + } + + + public SignalEvaluateCoreAttributes distinctUserAgentsCount90d(Integer distinctUserAgentsCount90d) { + + this.distinctUserAgentsCount90d = distinctUserAgentsCount90d; + return this; + } + + /** + * The number of distinct user agents linked to the same bank account during Plaid authentication in the last 90 days + * @return distinctUserAgentsCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct user agents linked to the same bank account during Plaid authentication in the last 90 days") + + public Integer getDistinctUserAgentsCount90d() { + return distinctUserAgentsCount90d; + } + + + public void setDistinctUserAgentsCount90d(Integer distinctUserAgentsCount90d) { + this.distinctUserAgentsCount90d = distinctUserAgentsCount90d; + } + + + public SignalEvaluateCoreAttributes distinctSslTlsConnectionSessionsCount3d(Integer distinctSslTlsConnectionSessionsCount3d) { + + this.distinctSslTlsConnectionSessionsCount3d = distinctSslTlsConnectionSessionsCount3d; + return this; + } + + /** + * The number of distinct SSL/TLS connection sessions linked to the same bank account during Plaid authentication in the last 3 days + * @return distinctSslTlsConnectionSessionsCount3d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct SSL/TLS connection sessions linked to the same bank account during Plaid authentication in the last 3 days") + + public Integer getDistinctSslTlsConnectionSessionsCount3d() { + return distinctSslTlsConnectionSessionsCount3d; + } + + + public void setDistinctSslTlsConnectionSessionsCount3d(Integer distinctSslTlsConnectionSessionsCount3d) { + this.distinctSslTlsConnectionSessionsCount3d = distinctSslTlsConnectionSessionsCount3d; + } + + + public SignalEvaluateCoreAttributes distinctSslTlsConnectionSessionsCount7d(Integer distinctSslTlsConnectionSessionsCount7d) { + + this.distinctSslTlsConnectionSessionsCount7d = distinctSslTlsConnectionSessionsCount7d; + return this; + } + + /** + * The number of distinct SSL/TLS connection sessions linked to the same bank account during Plaid authentication in the last 7 days + * @return distinctSslTlsConnectionSessionsCount7d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct SSL/TLS connection sessions linked to the same bank account during Plaid authentication in the last 7 days") + + public Integer getDistinctSslTlsConnectionSessionsCount7d() { + return distinctSslTlsConnectionSessionsCount7d; + } + + + public void setDistinctSslTlsConnectionSessionsCount7d(Integer distinctSslTlsConnectionSessionsCount7d) { + this.distinctSslTlsConnectionSessionsCount7d = distinctSslTlsConnectionSessionsCount7d; + } + + + public SignalEvaluateCoreAttributes distinctSslTlsConnectionSessionsCount30d(Integer distinctSslTlsConnectionSessionsCount30d) { + + this.distinctSslTlsConnectionSessionsCount30d = distinctSslTlsConnectionSessionsCount30d; + return this; + } + + /** + * The number of distinct SSL/TLS connection sessions linked to the same bank account during Plaid authentication in the last 30 days + * @return distinctSslTlsConnectionSessionsCount30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct SSL/TLS connection sessions linked to the same bank account during Plaid authentication in the last 30 days") + + public Integer getDistinctSslTlsConnectionSessionsCount30d() { + return distinctSslTlsConnectionSessionsCount30d; + } + + + public void setDistinctSslTlsConnectionSessionsCount30d(Integer distinctSslTlsConnectionSessionsCount30d) { + this.distinctSslTlsConnectionSessionsCount30d = distinctSslTlsConnectionSessionsCount30d; + } + + + public SignalEvaluateCoreAttributes distinctSslTlsConnectionSessionsCount90d(Integer distinctSslTlsConnectionSessionsCount90d) { + + this.distinctSslTlsConnectionSessionsCount90d = distinctSslTlsConnectionSessionsCount90d; + return this; + } + + /** + * The number of distinct SSL/TLS connection sessions linked to the same bank account during Plaid authentication in the last 90 days + * @return distinctSslTlsConnectionSessionsCount90d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of distinct SSL/TLS connection sessions linked to the same bank account during Plaid authentication in the last 90 days") + + public Integer getDistinctSslTlsConnectionSessionsCount90d() { + return distinctSslTlsConnectionSessionsCount90d; + } + + + public void setDistinctSslTlsConnectionSessionsCount90d(Integer distinctSslTlsConnectionSessionsCount90d) { + this.distinctSslTlsConnectionSessionsCount90d = distinctSslTlsConnectionSessionsCount90d; + } + + + public SignalEvaluateCoreAttributes daysSinceAccountOpening(Integer daysSinceAccountOpening) { + + this.daysSinceAccountOpening = daysSinceAccountOpening; + return this; + } + + /** + * The number of days since the bank account was opened, as reported by the financial institution + * @return daysSinceAccountOpening + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of days since the bank account was opened, as reported by the financial institution") + + public Integer getDaysSinceAccountOpening() { + return daysSinceAccountOpening; + } + + + public void setDaysSinceAccountOpening(Integer daysSinceAccountOpening) { + this.daysSinceAccountOpening = daysSinceAccountOpening; + } + + + public SignalEvaluateCoreAttributes balanceToTransactionAmountRatio(Double balanceToTransactionAmountRatio) { + + this.balanceToTransactionAmountRatio = balanceToTransactionAmountRatio; + return this; + } + + /** + * Taking `available_or_current_balance` and dividing it by the transaction amount. Useful to say \"10% buffer\", for example. This is a convenience function to build Signal Rules upon. + * @return balanceToTransactionAmountRatio + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Taking `available_or_current_balance` and dividing it by the transaction amount. Useful to say \"10% buffer\", for example. This is a convenience function to build Signal Rules upon.") + + public Double getBalanceToTransactionAmountRatio() { + return balanceToTransactionAmountRatio; + } + + + public void setBalanceToTransactionAmountRatio(Double balanceToTransactionAmountRatio) { + this.balanceToTransactionAmountRatio = balanceToTransactionAmountRatio; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalEvaluateCoreAttributes signalEvaluateCoreAttributes = (SignalEvaluateCoreAttributes) o; + return Objects.equals(this.unauthorizedTransactionsCount7d, signalEvaluateCoreAttributes.unauthorizedTransactionsCount7d) && + Objects.equals(this.unauthorizedTransactionsCount30d, signalEvaluateCoreAttributes.unauthorizedTransactionsCount30d) && + Objects.equals(this.unauthorizedTransactionsCount60d, signalEvaluateCoreAttributes.unauthorizedTransactionsCount60d) && + Objects.equals(this.unauthorizedTransactionsCount90d, signalEvaluateCoreAttributes.unauthorizedTransactionsCount90d) && + Objects.equals(this.nsfOverdraftTransactionsCount7d, signalEvaluateCoreAttributes.nsfOverdraftTransactionsCount7d) && + Objects.equals(this.nsfOverdraftTransactionsCount30d, signalEvaluateCoreAttributes.nsfOverdraftTransactionsCount30d) && + Objects.equals(this.nsfOverdraftTransactionsCount60d, signalEvaluateCoreAttributes.nsfOverdraftTransactionsCount60d) && + Objects.equals(this.nsfOverdraftTransactionsCount90d, signalEvaluateCoreAttributes.nsfOverdraftTransactionsCount90d) && + Objects.equals(this.daysSinceFirstPlaidConnection, signalEvaluateCoreAttributes.daysSinceFirstPlaidConnection) && + Objects.equals(this.plaidConnectionsCount7d, signalEvaluateCoreAttributes.plaidConnectionsCount7d) && + Objects.equals(this.plaidConnectionsCount30d, signalEvaluateCoreAttributes.plaidConnectionsCount30d) && + Objects.equals(this.totalPlaidConnectionsCount, signalEvaluateCoreAttributes.totalPlaidConnectionsCount) && + Objects.equals(this.isSavingsOrMoneyMarketAccount, signalEvaluateCoreAttributes.isSavingsOrMoneyMarketAccount) && + Objects.equals(this.totalCreditTransactionsAmount10d, signalEvaluateCoreAttributes.totalCreditTransactionsAmount10d) && + Objects.equals(this.totalDebitTransactionsAmount10d, signalEvaluateCoreAttributes.totalDebitTransactionsAmount10d) && + Objects.equals(this.p50CreditTransactionsAmount28d, signalEvaluateCoreAttributes.p50CreditTransactionsAmount28d) && + Objects.equals(this.p50DebitTransactionsAmount28d, signalEvaluateCoreAttributes.p50DebitTransactionsAmount28d) && + Objects.equals(this.p95CreditTransactionsAmount28d, signalEvaluateCoreAttributes.p95CreditTransactionsAmount28d) && + Objects.equals(this.p95DebitTransactionsAmount28d, signalEvaluateCoreAttributes.p95DebitTransactionsAmount28d) && + Objects.equals(this.daysWithNegativeBalanceCount90d, signalEvaluateCoreAttributes.daysWithNegativeBalanceCount90d) && + Objects.equals(this.p90EodBalance30d, signalEvaluateCoreAttributes.p90EodBalance30d) && + Objects.equals(this.p90EodBalance60d, signalEvaluateCoreAttributes.p90EodBalance60d) && + Objects.equals(this.p90EodBalance90d, signalEvaluateCoreAttributes.p90EodBalance90d) && + Objects.equals(this.p10EodBalance30d, signalEvaluateCoreAttributes.p10EodBalance30d) && + Objects.equals(this.p10EodBalance60d, signalEvaluateCoreAttributes.p10EodBalance60d) && + Objects.equals(this.p10EodBalance90d, signalEvaluateCoreAttributes.p10EodBalance90d) && + Objects.equals(this.availableBalance, signalEvaluateCoreAttributes.availableBalance) && + Objects.equals(this.currentBalance, signalEvaluateCoreAttributes.currentBalance) && + Objects.equals(this.balanceLastUpdated, signalEvaluateCoreAttributes.balanceLastUpdated) && + Objects.equals(this.phoneChangeCount28d, signalEvaluateCoreAttributes.phoneChangeCount28d) && + Objects.equals(this.phoneChangeCount90d, signalEvaluateCoreAttributes.phoneChangeCount90d) && + Objects.equals(this.emailChangeCount28d, signalEvaluateCoreAttributes.emailChangeCount28d) && + Objects.equals(this.emailChangeCount90d, signalEvaluateCoreAttributes.emailChangeCount90d) && + Objects.equals(this.addressChangeCount28d, signalEvaluateCoreAttributes.addressChangeCount28d) && + Objects.equals(this.addressChangeCount90d, signalEvaluateCoreAttributes.addressChangeCount90d) && + Objects.equals(this.plaidNonOauthAuthenticationAttemptsCount3d, signalEvaluateCoreAttributes.plaidNonOauthAuthenticationAttemptsCount3d) && + Objects.equals(this.plaidNonOauthAuthenticationAttemptsCount7d, signalEvaluateCoreAttributes.plaidNonOauthAuthenticationAttemptsCount7d) && + Objects.equals(this.plaidNonOauthAuthenticationAttemptsCount30d, signalEvaluateCoreAttributes.plaidNonOauthAuthenticationAttemptsCount30d) && + Objects.equals(this.failedPlaidNonOauthAuthenticationAttemptsCount3d, signalEvaluateCoreAttributes.failedPlaidNonOauthAuthenticationAttemptsCount3d) && + Objects.equals(this.failedPlaidNonOauthAuthenticationAttemptsCount7d, signalEvaluateCoreAttributes.failedPlaidNonOauthAuthenticationAttemptsCount7d) && + Objects.equals(this.failedPlaidNonOauthAuthenticationAttemptsCount30d, signalEvaluateCoreAttributes.failedPlaidNonOauthAuthenticationAttemptsCount30d) && + Objects.equals(this.debitTransactionsCount10d, signalEvaluateCoreAttributes.debitTransactionsCount10d) && + Objects.equals(this.creditTransactionsCount10d, signalEvaluateCoreAttributes.creditTransactionsCount10d) && + Objects.equals(this.debitTransactionsCount30d, signalEvaluateCoreAttributes.debitTransactionsCount30d) && + Objects.equals(this.creditTransactionsCount30d, signalEvaluateCoreAttributes.creditTransactionsCount30d) && + Objects.equals(this.debitTransactionsCount60d, signalEvaluateCoreAttributes.debitTransactionsCount60d) && + Objects.equals(this.creditTransactionsCount60d, signalEvaluateCoreAttributes.creditTransactionsCount60d) && + Objects.equals(this.debitTransactionsCount90d, signalEvaluateCoreAttributes.debitTransactionsCount90d) && + Objects.equals(this.creditTransactionsCount90d, signalEvaluateCoreAttributes.creditTransactionsCount90d) && + Objects.equals(this.totalDebitTransactionsAmount30d, signalEvaluateCoreAttributes.totalDebitTransactionsAmount30d) && + Objects.equals(this.totalCreditTransactionsAmount30d, signalEvaluateCoreAttributes.totalCreditTransactionsAmount30d) && + Objects.equals(this.totalDebitTransactionsAmount60d, signalEvaluateCoreAttributes.totalDebitTransactionsAmount60d) && + Objects.equals(this.totalCreditTransactionsAmount60d, signalEvaluateCoreAttributes.totalCreditTransactionsAmount60d) && + Objects.equals(this.totalDebitTransactionsAmount90d, signalEvaluateCoreAttributes.totalDebitTransactionsAmount90d) && + Objects.equals(this.totalCreditTransactionsAmount90d, signalEvaluateCoreAttributes.totalCreditTransactionsAmount90d) && + Objects.equals(this.p50EodBalance30d, signalEvaluateCoreAttributes.p50EodBalance30d) && + Objects.equals(this.p50EodBalance60d, signalEvaluateCoreAttributes.p50EodBalance60d) && + Objects.equals(this.p50EodBalance90d, signalEvaluateCoreAttributes.p50EodBalance90d) && + Objects.equals(this.p50EodBalance31dTo60d, signalEvaluateCoreAttributes.p50EodBalance31dTo60d) && + Objects.equals(this.p50EodBalance61dTo90d, signalEvaluateCoreAttributes.p50EodBalance61dTo90d) && + Objects.equals(this.p90EodBalance31dTo60d, signalEvaluateCoreAttributes.p90EodBalance31dTo60d) && + Objects.equals(this.p90EodBalance61dTo90d, signalEvaluateCoreAttributes.p90EodBalance61dTo90d) && + Objects.equals(this.p10EodBalance31dTo60d, signalEvaluateCoreAttributes.p10EodBalance31dTo60d) && + Objects.equals(this.p10EodBalance61dTo90d, signalEvaluateCoreAttributes.p10EodBalance61dTo90d) && + Objects.equals(this.transactionsLastUpdated, signalEvaluateCoreAttributes.transactionsLastUpdated) && + Objects.equals(this.isAccountClosed, signalEvaluateCoreAttributes.isAccountClosed) && + Objects.equals(this.isAccountFrozenOrRestricted, signalEvaluateCoreAttributes.isAccountFrozenOrRestricted) && + Objects.equals(this.distinctIpAddressesCount3d, signalEvaluateCoreAttributes.distinctIpAddressesCount3d) && + Objects.equals(this.distinctIpAddressesCount7d, signalEvaluateCoreAttributes.distinctIpAddressesCount7d) && + Objects.equals(this.distinctIpAddressesCount30d, signalEvaluateCoreAttributes.distinctIpAddressesCount30d) && + Objects.equals(this.distinctIpAddressesCount90d, signalEvaluateCoreAttributes.distinctIpAddressesCount90d) && + Objects.equals(this.distinctUserAgentsCount3d, signalEvaluateCoreAttributes.distinctUserAgentsCount3d) && + Objects.equals(this.distinctUserAgentsCount7d, signalEvaluateCoreAttributes.distinctUserAgentsCount7d) && + Objects.equals(this.distinctUserAgentsCount30d, signalEvaluateCoreAttributes.distinctUserAgentsCount30d) && + Objects.equals(this.distinctUserAgentsCount90d, signalEvaluateCoreAttributes.distinctUserAgentsCount90d) && + Objects.equals(this.distinctSslTlsConnectionSessionsCount3d, signalEvaluateCoreAttributes.distinctSslTlsConnectionSessionsCount3d) && + Objects.equals(this.distinctSslTlsConnectionSessionsCount7d, signalEvaluateCoreAttributes.distinctSslTlsConnectionSessionsCount7d) && + Objects.equals(this.distinctSslTlsConnectionSessionsCount30d, signalEvaluateCoreAttributes.distinctSslTlsConnectionSessionsCount30d) && + Objects.equals(this.distinctSslTlsConnectionSessionsCount90d, signalEvaluateCoreAttributes.distinctSslTlsConnectionSessionsCount90d) && + Objects.equals(this.daysSinceAccountOpening, signalEvaluateCoreAttributes.daysSinceAccountOpening) && + Objects.equals(this.balanceToTransactionAmountRatio, signalEvaluateCoreAttributes.balanceToTransactionAmountRatio); + } + + @Override + public int hashCode() { + return Objects.hash(unauthorizedTransactionsCount7d, unauthorizedTransactionsCount30d, unauthorizedTransactionsCount60d, unauthorizedTransactionsCount90d, nsfOverdraftTransactionsCount7d, nsfOverdraftTransactionsCount30d, nsfOverdraftTransactionsCount60d, nsfOverdraftTransactionsCount90d, daysSinceFirstPlaidConnection, plaidConnectionsCount7d, plaidConnectionsCount30d, totalPlaidConnectionsCount, isSavingsOrMoneyMarketAccount, totalCreditTransactionsAmount10d, totalDebitTransactionsAmount10d, p50CreditTransactionsAmount28d, p50DebitTransactionsAmount28d, p95CreditTransactionsAmount28d, p95DebitTransactionsAmount28d, daysWithNegativeBalanceCount90d, p90EodBalance30d, p90EodBalance60d, p90EodBalance90d, p10EodBalance30d, p10EodBalance60d, p10EodBalance90d, availableBalance, currentBalance, balanceLastUpdated, phoneChangeCount28d, phoneChangeCount90d, emailChangeCount28d, emailChangeCount90d, addressChangeCount28d, addressChangeCount90d, plaidNonOauthAuthenticationAttemptsCount3d, plaidNonOauthAuthenticationAttemptsCount7d, plaidNonOauthAuthenticationAttemptsCount30d, failedPlaidNonOauthAuthenticationAttemptsCount3d, failedPlaidNonOauthAuthenticationAttemptsCount7d, failedPlaidNonOauthAuthenticationAttemptsCount30d, debitTransactionsCount10d, creditTransactionsCount10d, debitTransactionsCount30d, creditTransactionsCount30d, debitTransactionsCount60d, creditTransactionsCount60d, debitTransactionsCount90d, creditTransactionsCount90d, totalDebitTransactionsAmount30d, totalCreditTransactionsAmount30d, totalDebitTransactionsAmount60d, totalCreditTransactionsAmount60d, totalDebitTransactionsAmount90d, totalCreditTransactionsAmount90d, p50EodBalance30d, p50EodBalance60d, p50EodBalance90d, p50EodBalance31dTo60d, p50EodBalance61dTo90d, p90EodBalance31dTo60d, p90EodBalance61dTo90d, p10EodBalance31dTo60d, p10EodBalance61dTo90d, transactionsLastUpdated, isAccountClosed, isAccountFrozenOrRestricted, distinctIpAddressesCount3d, distinctIpAddressesCount7d, distinctIpAddressesCount30d, distinctIpAddressesCount90d, distinctUserAgentsCount3d, distinctUserAgentsCount7d, distinctUserAgentsCount30d, distinctUserAgentsCount90d, distinctSslTlsConnectionSessionsCount3d, distinctSslTlsConnectionSessionsCount7d, distinctSslTlsConnectionSessionsCount30d, distinctSslTlsConnectionSessionsCount90d, daysSinceAccountOpening, balanceToTransactionAmountRatio); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalEvaluateCoreAttributes {\n"); + sb.append(" unauthorizedTransactionsCount7d: ").append(toIndentedString(unauthorizedTransactionsCount7d)).append("\n"); + sb.append(" unauthorizedTransactionsCount30d: ").append(toIndentedString(unauthorizedTransactionsCount30d)).append("\n"); + sb.append(" unauthorizedTransactionsCount60d: ").append(toIndentedString(unauthorizedTransactionsCount60d)).append("\n"); + sb.append(" unauthorizedTransactionsCount90d: ").append(toIndentedString(unauthorizedTransactionsCount90d)).append("\n"); + sb.append(" nsfOverdraftTransactionsCount7d: ").append(toIndentedString(nsfOverdraftTransactionsCount7d)).append("\n"); + sb.append(" nsfOverdraftTransactionsCount30d: ").append(toIndentedString(nsfOverdraftTransactionsCount30d)).append("\n"); + sb.append(" nsfOverdraftTransactionsCount60d: ").append(toIndentedString(nsfOverdraftTransactionsCount60d)).append("\n"); + sb.append(" nsfOverdraftTransactionsCount90d: ").append(toIndentedString(nsfOverdraftTransactionsCount90d)).append("\n"); + sb.append(" daysSinceFirstPlaidConnection: ").append(toIndentedString(daysSinceFirstPlaidConnection)).append("\n"); + sb.append(" plaidConnectionsCount7d: ").append(toIndentedString(plaidConnectionsCount7d)).append("\n"); + sb.append(" plaidConnectionsCount30d: ").append(toIndentedString(plaidConnectionsCount30d)).append("\n"); + sb.append(" totalPlaidConnectionsCount: ").append(toIndentedString(totalPlaidConnectionsCount)).append("\n"); + sb.append(" isSavingsOrMoneyMarketAccount: ").append(toIndentedString(isSavingsOrMoneyMarketAccount)).append("\n"); + sb.append(" totalCreditTransactionsAmount10d: ").append(toIndentedString(totalCreditTransactionsAmount10d)).append("\n"); + sb.append(" totalDebitTransactionsAmount10d: ").append(toIndentedString(totalDebitTransactionsAmount10d)).append("\n"); + sb.append(" p50CreditTransactionsAmount28d: ").append(toIndentedString(p50CreditTransactionsAmount28d)).append("\n"); + sb.append(" p50DebitTransactionsAmount28d: ").append(toIndentedString(p50DebitTransactionsAmount28d)).append("\n"); + sb.append(" p95CreditTransactionsAmount28d: ").append(toIndentedString(p95CreditTransactionsAmount28d)).append("\n"); + sb.append(" p95DebitTransactionsAmount28d: ").append(toIndentedString(p95DebitTransactionsAmount28d)).append("\n"); + sb.append(" daysWithNegativeBalanceCount90d: ").append(toIndentedString(daysWithNegativeBalanceCount90d)).append("\n"); + sb.append(" p90EodBalance30d: ").append(toIndentedString(p90EodBalance30d)).append("\n"); + sb.append(" p90EodBalance60d: ").append(toIndentedString(p90EodBalance60d)).append("\n"); + sb.append(" p90EodBalance90d: ").append(toIndentedString(p90EodBalance90d)).append("\n"); + sb.append(" p10EodBalance30d: ").append(toIndentedString(p10EodBalance30d)).append("\n"); + sb.append(" p10EodBalance60d: ").append(toIndentedString(p10EodBalance60d)).append("\n"); + sb.append(" p10EodBalance90d: ").append(toIndentedString(p10EodBalance90d)).append("\n"); + sb.append(" availableBalance: ").append(toIndentedString(availableBalance)).append("\n"); + sb.append(" currentBalance: ").append(toIndentedString(currentBalance)).append("\n"); + sb.append(" balanceLastUpdated: ").append(toIndentedString(balanceLastUpdated)).append("\n"); + sb.append(" phoneChangeCount28d: ").append(toIndentedString(phoneChangeCount28d)).append("\n"); + sb.append(" phoneChangeCount90d: ").append(toIndentedString(phoneChangeCount90d)).append("\n"); + sb.append(" emailChangeCount28d: ").append(toIndentedString(emailChangeCount28d)).append("\n"); + sb.append(" emailChangeCount90d: ").append(toIndentedString(emailChangeCount90d)).append("\n"); + sb.append(" addressChangeCount28d: ").append(toIndentedString(addressChangeCount28d)).append("\n"); + sb.append(" addressChangeCount90d: ").append(toIndentedString(addressChangeCount90d)).append("\n"); + sb.append(" plaidNonOauthAuthenticationAttemptsCount3d: ").append(toIndentedString(plaidNonOauthAuthenticationAttemptsCount3d)).append("\n"); + sb.append(" plaidNonOauthAuthenticationAttemptsCount7d: ").append(toIndentedString(plaidNonOauthAuthenticationAttemptsCount7d)).append("\n"); + sb.append(" plaidNonOauthAuthenticationAttemptsCount30d: ").append(toIndentedString(plaidNonOauthAuthenticationAttemptsCount30d)).append("\n"); + sb.append(" failedPlaidNonOauthAuthenticationAttemptsCount3d: ").append(toIndentedString(failedPlaidNonOauthAuthenticationAttemptsCount3d)).append("\n"); + sb.append(" failedPlaidNonOauthAuthenticationAttemptsCount7d: ").append(toIndentedString(failedPlaidNonOauthAuthenticationAttemptsCount7d)).append("\n"); + sb.append(" failedPlaidNonOauthAuthenticationAttemptsCount30d: ").append(toIndentedString(failedPlaidNonOauthAuthenticationAttemptsCount30d)).append("\n"); + sb.append(" debitTransactionsCount10d: ").append(toIndentedString(debitTransactionsCount10d)).append("\n"); + sb.append(" creditTransactionsCount10d: ").append(toIndentedString(creditTransactionsCount10d)).append("\n"); + sb.append(" debitTransactionsCount30d: ").append(toIndentedString(debitTransactionsCount30d)).append("\n"); + sb.append(" creditTransactionsCount30d: ").append(toIndentedString(creditTransactionsCount30d)).append("\n"); + sb.append(" debitTransactionsCount60d: ").append(toIndentedString(debitTransactionsCount60d)).append("\n"); + sb.append(" creditTransactionsCount60d: ").append(toIndentedString(creditTransactionsCount60d)).append("\n"); + sb.append(" debitTransactionsCount90d: ").append(toIndentedString(debitTransactionsCount90d)).append("\n"); + sb.append(" creditTransactionsCount90d: ").append(toIndentedString(creditTransactionsCount90d)).append("\n"); + sb.append(" totalDebitTransactionsAmount30d: ").append(toIndentedString(totalDebitTransactionsAmount30d)).append("\n"); + sb.append(" totalCreditTransactionsAmount30d: ").append(toIndentedString(totalCreditTransactionsAmount30d)).append("\n"); + sb.append(" totalDebitTransactionsAmount60d: ").append(toIndentedString(totalDebitTransactionsAmount60d)).append("\n"); + sb.append(" totalCreditTransactionsAmount60d: ").append(toIndentedString(totalCreditTransactionsAmount60d)).append("\n"); + sb.append(" totalDebitTransactionsAmount90d: ").append(toIndentedString(totalDebitTransactionsAmount90d)).append("\n"); + sb.append(" totalCreditTransactionsAmount90d: ").append(toIndentedString(totalCreditTransactionsAmount90d)).append("\n"); + sb.append(" p50EodBalance30d: ").append(toIndentedString(p50EodBalance30d)).append("\n"); + sb.append(" p50EodBalance60d: ").append(toIndentedString(p50EodBalance60d)).append("\n"); + sb.append(" p50EodBalance90d: ").append(toIndentedString(p50EodBalance90d)).append("\n"); + sb.append(" p50EodBalance31dTo60d: ").append(toIndentedString(p50EodBalance31dTo60d)).append("\n"); + sb.append(" p50EodBalance61dTo90d: ").append(toIndentedString(p50EodBalance61dTo90d)).append("\n"); + sb.append(" p90EodBalance31dTo60d: ").append(toIndentedString(p90EodBalance31dTo60d)).append("\n"); + sb.append(" p90EodBalance61dTo90d: ").append(toIndentedString(p90EodBalance61dTo90d)).append("\n"); + sb.append(" p10EodBalance31dTo60d: ").append(toIndentedString(p10EodBalance31dTo60d)).append("\n"); + sb.append(" p10EodBalance61dTo90d: ").append(toIndentedString(p10EodBalance61dTo90d)).append("\n"); + sb.append(" transactionsLastUpdated: ").append(toIndentedString(transactionsLastUpdated)).append("\n"); + sb.append(" isAccountClosed: ").append(toIndentedString(isAccountClosed)).append("\n"); + sb.append(" isAccountFrozenOrRestricted: ").append(toIndentedString(isAccountFrozenOrRestricted)).append("\n"); + sb.append(" distinctIpAddressesCount3d: ").append(toIndentedString(distinctIpAddressesCount3d)).append("\n"); + sb.append(" distinctIpAddressesCount7d: ").append(toIndentedString(distinctIpAddressesCount7d)).append("\n"); + sb.append(" distinctIpAddressesCount30d: ").append(toIndentedString(distinctIpAddressesCount30d)).append("\n"); + sb.append(" distinctIpAddressesCount90d: ").append(toIndentedString(distinctIpAddressesCount90d)).append("\n"); + sb.append(" distinctUserAgentsCount3d: ").append(toIndentedString(distinctUserAgentsCount3d)).append("\n"); + sb.append(" distinctUserAgentsCount7d: ").append(toIndentedString(distinctUserAgentsCount7d)).append("\n"); + sb.append(" distinctUserAgentsCount30d: ").append(toIndentedString(distinctUserAgentsCount30d)).append("\n"); + sb.append(" distinctUserAgentsCount90d: ").append(toIndentedString(distinctUserAgentsCount90d)).append("\n"); + sb.append(" distinctSslTlsConnectionSessionsCount3d: ").append(toIndentedString(distinctSslTlsConnectionSessionsCount3d)).append("\n"); + sb.append(" distinctSslTlsConnectionSessionsCount7d: ").append(toIndentedString(distinctSslTlsConnectionSessionsCount7d)).append("\n"); + sb.append(" distinctSslTlsConnectionSessionsCount30d: ").append(toIndentedString(distinctSslTlsConnectionSessionsCount30d)).append("\n"); + sb.append(" distinctSslTlsConnectionSessionsCount90d: ").append(toIndentedString(distinctSslTlsConnectionSessionsCount90d)).append("\n"); + sb.append(" daysSinceAccountOpening: ").append(toIndentedString(daysSinceAccountOpening)).append("\n"); + sb.append(" balanceToTransactionAmountRatio: ").append(toIndentedString(balanceToTransactionAmountRatio)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalEvaluateRequest.java b/src/main/java/com/plaid/client/model/SignalEvaluateRequest.java new file mode 100644 index 0000000000..e15e6dc6fb --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalEvaluateRequest.java @@ -0,0 +1,474 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SignalDevice; +import com.plaid.client.model.SignalUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SignalEvaluateRequest defines the request schema for `/signal/evaluate` + */ +@ApiModel(description = "SignalEvaluateRequest defines the request schema for `/signal/evaluate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalEvaluateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_CLIENT_TRANSACTION_ID = "client_transaction_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_TRANSACTION_ID) + private String clientTransactionId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_USER_PRESENT = "user_present"; + @SerializedName(SERIALIZED_NAME_USER_PRESENT) + private Boolean userPresent; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_IS_RECURRING = "is_recurring"; + @SerializedName(SERIALIZED_NAME_IS_RECURRING) + private Boolean isRecurring; + + public static final String SERIALIZED_NAME_DEFAULT_PAYMENT_METHOD = "default_payment_method"; + @SerializedName(SERIALIZED_NAME_DEFAULT_PAYMENT_METHOD) + private String defaultPaymentMethod; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private SignalUser user; + + public static final String SERIALIZED_NAME_DEVICE = "device"; + @SerializedName(SERIALIZED_NAME_DEVICE) + private SignalDevice device; + + public static final String SERIALIZED_NAME_RISK_PROFILE_KEY = "risk_profile_key"; + @SerializedName(SERIALIZED_NAME_RISK_PROFILE_KEY) + private String riskProfileKey; + + public static final String SERIALIZED_NAME_RULESET_KEY = "ruleset_key"; + @SerializedName(SERIALIZED_NAME_RULESET_KEY) + private String rulesetKey; + + + public SignalEvaluateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SignalEvaluateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SignalEvaluateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public SignalEvaluateRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` of the account that is the funding source for the proposed transaction. The `account_id` is returned in the `/accounts/get` endpoint as well as the [`onSuccess`](https://plaid.com/docs/link/ios/#link-ios-onsuccess-linkSuccess-metadata-accounts-id) callback metadata. This will return an [`INVALID_ACCOUNT_ID`](https://plaid.com/docs/errors/invalid-input/#invalid_account_id) error if the account has been removed at the bank or if the `account_id` is no longer valid. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` of the account that is the funding source for the proposed transaction. The `account_id` is returned in the `/accounts/get` endpoint as well as the [`onSuccess`](https://plaid.com/docs/link/ios/#link-ios-onsuccess-linkSuccess-metadata-accounts-id) callback metadata. This will return an [`INVALID_ACCOUNT_ID`](https://plaid.com/docs/errors/invalid-input/#invalid_account_id) error if the account has been removed at the bank or if the `account_id` is no longer valid.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public SignalEvaluateRequest clientTransactionId(String clientTransactionId) { + + this.clientTransactionId = clientTransactionId; + return this; + } + + /** + * The unique ID that you would like to use to refer to this evaluation attempt - for example, a payment attempt ID. You will use this later to debug this evaluation, and/or report an ACH return, etc. The max length for this field is 36 characters. The `client_transaction_id` also functions as an idempotency key; calling `/signal/evaluate` with a previously used `client_transaction_id` will return the results of the previous evaluation rather than triggering a fresh evaluation. + * @return clientTransactionId + **/ + @ApiModelProperty(required = true, value = "The unique ID that you would like to use to refer to this evaluation attempt - for example, a payment attempt ID. You will use this later to debug this evaluation, and/or report an ACH return, etc. The max length for this field is 36 characters. The `client_transaction_id` also functions as an idempotency key; calling `/signal/evaluate` with a previously used `client_transaction_id` will return the results of the previous evaluation rather than triggering a fresh evaluation.") + + public String getClientTransactionId() { + return clientTransactionId; + } + + + public void setClientTransactionId(String clientTransactionId) { + this.clientTransactionId = clientTransactionId; + } + + + public SignalEvaluateRequest amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The transaction amount, in USD (e.g. `102.05`) + * @return amount + **/ + @ApiModelProperty(required = true, value = "The transaction amount, in USD (e.g. `102.05`)") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public SignalEvaluateRequest userPresent(Boolean userPresent) { + + this.userPresent = userPresent; + return this; + } + + /** + * `true` if the end user is present while initiating the ACH transfer and the endpoint is being called; `false` otherwise (for example, when the ACH transfer is scheduled and the end user is not present, or you call this endpoint after the ACH transfer but before submitting the Nacha file for ACH processing). When using a Balance-only ruleset, this field is ignored. This field is not currently used as part of Signal Transaction Score evaluations, but may be used in the future. + * @return userPresent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "`true` if the end user is present while initiating the ACH transfer and the endpoint is being called; `false` otherwise (for example, when the ACH transfer is scheduled and the end user is not present, or you call this endpoint after the ACH transfer but before submitting the Nacha file for ACH processing). When using a Balance-only ruleset, this field is ignored. This field is not currently used as part of Signal Transaction Score evaluations, but may be used in the future.") + + public Boolean getUserPresent() { + return userPresent; + } + + + public void setUserPresent(Boolean userPresent) { + this.userPresent = userPresent; + } + + + public SignalEvaluateRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. This ID is used to correlate requests by a user with multiple Items. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique ID that identifies the end user in your system. This ID is used to correlate requests by a user with multiple Items. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public SignalEvaluateRequest isRecurring(Boolean isRecurring) { + + this.isRecurring = isRecurring; + return this; + } + + /** + * Use `true` if the ACH transaction is a part of recurring schedule (for example, a monthly repayment); `false` otherwise. When using a Balance-only ruleset, this field is ignored. + * @return isRecurring + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Use `true` if the ACH transaction is a part of recurring schedule (for example, a monthly repayment); `false` otherwise. When using a Balance-only ruleset, this field is ignored.") + + public Boolean getIsRecurring() { + return isRecurring; + } + + + public void setIsRecurring(Boolean isRecurring) { + this.isRecurring = isRecurring; + } + + + public SignalEvaluateRequest defaultPaymentMethod(String defaultPaymentMethod) { + + this.defaultPaymentMethod = defaultPaymentMethod; + return this; + } + + /** + * The default ACH payment method to complete the transaction. When using a Balance-only ruleset, this field is ignored. `SAME_DAY_ACH`: Same Day ACH by Nacha. The debit transaction is processed and settled on the same day. `STANDARD_ACH`: Standard ACH by Nacha. `MULTIPLE_PAYMENT_METHODS`: If there is no default debit rail or there are multiple payment methods. Possible values: `SAME_DAY_ACH`, `STANDARD_ACH`, `MULTIPLE_PAYMENT_METHODS` + * @return defaultPaymentMethod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The default ACH payment method to complete the transaction. When using a Balance-only ruleset, this field is ignored. `SAME_DAY_ACH`: Same Day ACH by Nacha. The debit transaction is processed and settled on the same day. `STANDARD_ACH`: Standard ACH by Nacha. `MULTIPLE_PAYMENT_METHODS`: If there is no default debit rail or there are multiple payment methods. Possible values: `SAME_DAY_ACH`, `STANDARD_ACH`, `MULTIPLE_PAYMENT_METHODS`") + + public String getDefaultPaymentMethod() { + return defaultPaymentMethod; + } + + + public void setDefaultPaymentMethod(String defaultPaymentMethod) { + this.defaultPaymentMethod = defaultPaymentMethod; + } + + + public SignalEvaluateRequest user(SignalUser user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalUser getUser() { + return user; + } + + + public void setUser(SignalUser user) { + this.user = user; + } + + + public SignalEvaluateRequest device(SignalDevice device) { + + this.device = device; + return this; + } + + /** + * Get device + * @return device + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalDevice getDevice() { + return device; + } + + + public void setDevice(SignalDevice device) { + this.device = device; + } + + + public SignalEvaluateRequest riskProfileKey(String riskProfileKey) { + + this.riskProfileKey = riskProfileKey; + return this; + } + + /** + * Specifying `risk_profile_key` is deprecated. Please provide `ruleset` instead. + * @return riskProfileKey + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specifying `risk_profile_key` is deprecated. Please provide `ruleset` instead.") + + public String getRiskProfileKey() { + return riskProfileKey; + } + + + public void setRiskProfileKey(String riskProfileKey) { + this.riskProfileKey = riskProfileKey; + } + + + public SignalEvaluateRequest rulesetKey(String rulesetKey) { + + this.rulesetKey = rulesetKey; + return this; + } + + /** + * The key of the ruleset to use for evaluating this transaction. You can create a ruleset using the Plaid Dashboard, under [Signal->Rules](https://dashboard.plaid.com/signal/risk-profiles). If not provided, for all new customers as of October 15, 2025, the `default` ruleset will be used. For existing Signal Transaction Scores customers as of October 15, 2025, by default, no ruleset will be used if the `ruleset_key` is not provided. For more information, or to opt out of using rulesets, see [Signal Rules](https://plaid.com/docs/signal/signal-rules/). + * @return rulesetKey + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The key of the ruleset to use for evaluating this transaction. You can create a ruleset using the Plaid Dashboard, under [Signal->Rules](https://dashboard.plaid.com/signal/risk-profiles). If not provided, for all new customers as of October 15, 2025, the `default` ruleset will be used. For existing Signal Transaction Scores customers as of October 15, 2025, by default, no ruleset will be used if the `ruleset_key` is not provided. For more information, or to opt out of using rulesets, see [Signal Rules](https://plaid.com/docs/signal/signal-rules/).") + + public String getRulesetKey() { + return rulesetKey; + } + + + public void setRulesetKey(String rulesetKey) { + this.rulesetKey = rulesetKey; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalEvaluateRequest signalEvaluateRequest = (SignalEvaluateRequest) o; + return Objects.equals(this.clientId, signalEvaluateRequest.clientId) && + Objects.equals(this.secret, signalEvaluateRequest.secret) && + Objects.equals(this.accessToken, signalEvaluateRequest.accessToken) && + Objects.equals(this.accountId, signalEvaluateRequest.accountId) && + Objects.equals(this.clientTransactionId, signalEvaluateRequest.clientTransactionId) && + Objects.equals(this.amount, signalEvaluateRequest.amount) && + Objects.equals(this.userPresent, signalEvaluateRequest.userPresent) && + Objects.equals(this.clientUserId, signalEvaluateRequest.clientUserId) && + Objects.equals(this.isRecurring, signalEvaluateRequest.isRecurring) && + Objects.equals(this.defaultPaymentMethod, signalEvaluateRequest.defaultPaymentMethod) && + Objects.equals(this.user, signalEvaluateRequest.user) && + Objects.equals(this.device, signalEvaluateRequest.device) && + Objects.equals(this.riskProfileKey, signalEvaluateRequest.riskProfileKey) && + Objects.equals(this.rulesetKey, signalEvaluateRequest.rulesetKey); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, accountId, clientTransactionId, amount, userPresent, clientUserId, isRecurring, defaultPaymentMethod, user, device, riskProfileKey, rulesetKey); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalEvaluateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" clientTransactionId: ").append(toIndentedString(clientTransactionId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" userPresent: ").append(toIndentedString(userPresent)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" isRecurring: ").append(toIndentedString(isRecurring)).append("\n"); + sb.append(" defaultPaymentMethod: ").append(toIndentedString(defaultPaymentMethod)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" device: ").append(toIndentedString(device)).append("\n"); + sb.append(" riskProfileKey: ").append(toIndentedString(riskProfileKey)).append("\n"); + sb.append(" rulesetKey: ").append(toIndentedString(rulesetKey)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalEvaluateResponse.java b/src/main/java/com/plaid/client/model/SignalEvaluateResponse.java new file mode 100644 index 0000000000..7926709785 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalEvaluateResponse.java @@ -0,0 +1,254 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RiskProfile; +import com.plaid.client.model.Ruleset; +import com.plaid.client.model.SignalEvaluateCoreAttributes; +import com.plaid.client.model.SignalScores; +import com.plaid.client.model.SignalWarning; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * SignalEvaluateResponse defines the response schema for `/signal/evaluate` + */ +@ApiModel(description = "SignalEvaluateResponse defines the response schema for `/signal/evaluate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalEvaluateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_SCORES = "scores"; + @SerializedName(SERIALIZED_NAME_SCORES) + private SignalScores scores; + + public static final String SERIALIZED_NAME_CORE_ATTRIBUTES = "core_attributes"; + @SerializedName(SERIALIZED_NAME_CORE_ATTRIBUTES) + private SignalEvaluateCoreAttributes coreAttributes; + + public static final String SERIALIZED_NAME_RISK_PROFILE = "risk_profile"; + @SerializedName(SERIALIZED_NAME_RISK_PROFILE) + private RiskProfile riskProfile; + + public static final String SERIALIZED_NAME_RULESET = "ruleset"; + @SerializedName(SERIALIZED_NAME_RULESET) + private Ruleset ruleset; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = new ArrayList<>(); + + + public SignalEvaluateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public SignalEvaluateResponse scores(SignalScores scores) { + + this.scores = scores; + return this; + } + + /** + * Get scores + * @return scores + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public SignalScores getScores() { + return scores; + } + + + public void setScores(SignalScores scores) { + this.scores = scores; + } + + + public SignalEvaluateResponse coreAttributes(SignalEvaluateCoreAttributes coreAttributes) { + + this.coreAttributes = coreAttributes; + return this; + } + + /** + * Get coreAttributes + * @return coreAttributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalEvaluateCoreAttributes getCoreAttributes() { + return coreAttributes; + } + + + public void setCoreAttributes(SignalEvaluateCoreAttributes coreAttributes) { + this.coreAttributes = coreAttributes; + } + + + public SignalEvaluateResponse riskProfile(RiskProfile riskProfile) { + + this.riskProfile = riskProfile; + return this; + } + + /** + * Get riskProfile + * @return riskProfile + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RiskProfile getRiskProfile() { + return riskProfile; + } + + + public void setRiskProfile(RiskProfile riskProfile) { + this.riskProfile = riskProfile; + } + + + public SignalEvaluateResponse ruleset(Ruleset ruleset) { + + this.ruleset = ruleset; + return this; + } + + /** + * Get ruleset + * @return ruleset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Ruleset getRuleset() { + return ruleset; + } + + + public void setRuleset(Ruleset ruleset) { + this.ruleset = ruleset; + } + + + public SignalEvaluateResponse warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public SignalEvaluateResponse addWarningsItem(SignalWarning warningsItem) { + this.warnings.add(warningsItem); + return this; + } + + /** + * If bank information was not available to be used in the Signal Transaction Scores model, this array contains warnings describing why bank data is missing. If you want to receive an API error instead of results in the case of missing bank data, file a support ticket or contact your Plaid account manager. + * @return warnings + **/ + @ApiModelProperty(required = true, value = "If bank information was not available to be used in the Signal Transaction Scores model, this array contains warnings describing why bank data is missing. If you want to receive an API error instead of results in the case of missing bank data, file a support ticket or contact your Plaid account manager.") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalEvaluateResponse signalEvaluateResponse = (SignalEvaluateResponse) o; + return Objects.equals(this.requestId, signalEvaluateResponse.requestId) && + Objects.equals(this.scores, signalEvaluateResponse.scores) && + Objects.equals(this.coreAttributes, signalEvaluateResponse.coreAttributes) && + Objects.equals(this.riskProfile, signalEvaluateResponse.riskProfile) && + Objects.equals(this.ruleset, signalEvaluateResponse.ruleset) && + Objects.equals(this.warnings, signalEvaluateResponse.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, scores, coreAttributes, riskProfile, ruleset, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalEvaluateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" scores: ").append(toIndentedString(scores)).append("\n"); + sb.append(" coreAttributes: ").append(toIndentedString(coreAttributes)).append("\n"); + sb.append(" riskProfile: ").append(toIndentedString(riskProfile)).append("\n"); + sb.append(" ruleset: ").append(toIndentedString(ruleset)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalPaymentMethod.java b/src/main/java/com/plaid/client/model/SignalPaymentMethod.java new file mode 100644 index 0000000000..8aea088aa1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalPaymentMethod.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The payment method to complete the transaction after the risk assessment. It may be different from the default payment method. `SAME_DAY_ACH`: Same Day ACH by Nacha. The debit transaction is processed and settled on the same day. `STANDARD_ACH`: Standard ACH by Nacha. `MULTIPLE_PAYMENT_METHODS`: if there is no default debit rail or there are multiple payment methods. + */ +@JsonAdapter(SignalPaymentMethod.Adapter.class) +public enum SignalPaymentMethod { + + SAME_DAY_ACH("SAME_DAY_ACH"), + + NEXT_DAY_ACH("NEXT_DAY_ACH"), + + STANDARD_ACH("STANDARD_ACH"), + + MULTIPLE_PAYMENT_METHODS("MULTIPLE_PAYMENT_METHODS"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SignalPaymentMethod(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SignalPaymentMethod fromValue(String value) { + for (SignalPaymentMethod b : SignalPaymentMethod.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SignalPaymentMethod enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SignalPaymentMethod read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SignalPaymentMethod.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SignalPersonName.java b/src/main/java/com/plaid/client/model/SignalPersonName.java new file mode 100644 index 0000000000..dc8ba82450 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalPersonName.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The user's legal name + */ +@ApiModel(description = "The user's legal name") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalPersonName { + public static final String SERIALIZED_NAME_PREFIX = "prefix"; + @SerializedName(SERIALIZED_NAME_PREFIX) + private String prefix; + + public static final String SERIALIZED_NAME_GIVEN_NAME = "given_name"; + @SerializedName(SERIALIZED_NAME_GIVEN_NAME) + private String givenName; + + public static final String SERIALIZED_NAME_MIDDLE_NAME = "middle_name"; + @SerializedName(SERIALIZED_NAME_MIDDLE_NAME) + private String middleName; + + public static final String SERIALIZED_NAME_FAMILY_NAME = "family_name"; + @SerializedName(SERIALIZED_NAME_FAMILY_NAME) + private String familyName; + + public static final String SERIALIZED_NAME_SUFFIX = "suffix"; + @SerializedName(SERIALIZED_NAME_SUFFIX) + private String suffix; + + + public SignalPersonName prefix(String prefix) { + + this.prefix = prefix; + return this; + } + + /** + * The user's name prefix (e.g. \"Mr.\") + * @return prefix + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's name prefix (e.g. \"Mr.\")") + + public String getPrefix() { + return prefix; + } + + + public void setPrefix(String prefix) { + this.prefix = prefix; + } + + + public SignalPersonName givenName(String givenName) { + + this.givenName = givenName; + return this; + } + + /** + * The user's given name. If the user has a one-word name, it should be provided in this field. + * @return givenName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's given name. If the user has a one-word name, it should be provided in this field.") + + public String getGivenName() { + return givenName; + } + + + public void setGivenName(String givenName) { + this.givenName = givenName; + } + + + public SignalPersonName middleName(String middleName) { + + this.middleName = middleName; + return this; + } + + /** + * The user's middle name + * @return middleName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's middle name") + + public String getMiddleName() { + return middleName; + } + + + public void setMiddleName(String middleName) { + this.middleName = middleName; + } + + + public SignalPersonName familyName(String familyName) { + + this.familyName = familyName; + return this; + } + + /** + * The user's family name / surname + * @return familyName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's family name / surname") + + public String getFamilyName() { + return familyName; + } + + + public void setFamilyName(String familyName) { + this.familyName = familyName; + } + + + public SignalPersonName suffix(String suffix) { + + this.suffix = suffix; + return this; + } + + /** + * The user's name suffix (e.g. \"II\") + * @return suffix + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's name suffix (e.g. \"II\")") + + public String getSuffix() { + return suffix; + } + + + public void setSuffix(String suffix) { + this.suffix = suffix; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalPersonName signalPersonName = (SignalPersonName) o; + return Objects.equals(this.prefix, signalPersonName.prefix) && + Objects.equals(this.givenName, signalPersonName.givenName) && + Objects.equals(this.middleName, signalPersonName.middleName) && + Objects.equals(this.familyName, signalPersonName.familyName) && + Objects.equals(this.suffix, signalPersonName.suffix); + } + + @Override + public int hashCode() { + return Objects.hash(prefix, givenName, middleName, familyName, suffix); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalPersonName {\n"); + sb.append(" prefix: ").append(toIndentedString(prefix)).append("\n"); + sb.append(" givenName: ").append(toIndentedString(givenName)).append("\n"); + sb.append(" middleName: ").append(toIndentedString(middleName)).append("\n"); + sb.append(" familyName: ").append(toIndentedString(familyName)).append("\n"); + sb.append(" suffix: ").append(toIndentedString(suffix)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalPrepareRequest.java b/src/main/java/com/plaid/client/model/SignalPrepareRequest.java new file mode 100644 index 0000000000..92b677d494 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalPrepareRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SignalPrepareRequest defines the request schema for `/signal/prepare` + */ +@ApiModel(description = "SignalPrepareRequest defines the request schema for `/signal/prepare`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalPrepareRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + + public SignalPrepareRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SignalPrepareRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SignalPrepareRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalPrepareRequest signalPrepareRequest = (SignalPrepareRequest) o; + return Objects.equals(this.clientId, signalPrepareRequest.clientId) && + Objects.equals(this.secret, signalPrepareRequest.secret) && + Objects.equals(this.accessToken, signalPrepareRequest.accessToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalPrepareRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalPrepareResponse.java b/src/main/java/com/plaid/client/model/SignalPrepareResponse.java new file mode 100644 index 0000000000..bd32f7a509 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalPrepareResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SignalPrepareResponse defines the response schema for `/signal/prepare` + */ +@ApiModel(description = "SignalPrepareResponse defines the response schema for `/signal/prepare`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalPrepareResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SignalPrepareResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalPrepareResponse signalPrepareResponse = (SignalPrepareResponse) o; + return Objects.equals(this.requestId, signalPrepareResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalPrepareResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalReturnReportRequest.java b/src/main/java/com/plaid/client/model/SignalReturnReportRequest.java new file mode 100644 index 0000000000..5e0b865ce5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalReturnReportRequest.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * SignalReturnReportRequest defines the request schema for `/signal/return/report` + */ +@ApiModel(description = "SignalReturnReportRequest defines the request schema for `/signal/return/report`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalReturnReportRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_TRANSACTION_ID = "client_transaction_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_TRANSACTION_ID) + private String clientTransactionId; + + public static final String SERIALIZED_NAME_RETURN_CODE = "return_code"; + @SerializedName(SERIALIZED_NAME_RETURN_CODE) + private String returnCode; + + public static final String SERIALIZED_NAME_RETURNED_AT = "returned_at"; + @SerializedName(SERIALIZED_NAME_RETURNED_AT) + private OffsetDateTime returnedAt; + + + public SignalReturnReportRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SignalReturnReportRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SignalReturnReportRequest clientTransactionId(String clientTransactionId) { + + this.clientTransactionId = clientTransactionId; + return this; + } + + /** + * Must be the same as the `client_transaction_id` supplied when calling `/signal/evaluate`. + * @return clientTransactionId + **/ + @ApiModelProperty(required = true, value = "Must be the same as the `client_transaction_id` supplied when calling `/signal/evaluate`.") + + public String getClientTransactionId() { + return clientTransactionId; + } + + + public void setClientTransactionId(String clientTransactionId) { + this.clientTransactionId = clientTransactionId; + } + + + public SignalReturnReportRequest returnCode(String returnCode) { + + this.returnCode = returnCode; + return this; + } + + /** + * Must be a valid ACH return code (e.g. \"R01\") If formatted incorrectly, this will result in an [`INVALID_FIELD`](https://plaid.com/docs/errors/invalid-request/#invalid_field) error. + * @return returnCode + **/ + @ApiModelProperty(required = true, value = "Must be a valid ACH return code (e.g. \"R01\") If formatted incorrectly, this will result in an [`INVALID_FIELD`](https://plaid.com/docs/errors/invalid-request/#invalid_field) error.") + + public String getReturnCode() { + return returnCode; + } + + + public void setReturnCode(String returnCode) { + this.returnCode = returnCode; + } + + + public SignalReturnReportRequest returnedAt(OffsetDateTime returnedAt) { + + this.returnedAt = returnedAt; + return this; + } + + /** + * Date and time when you receive the returns from your payment processors, in ISO 8601 format (`YYYY-MM-DDTHH:mm:ssZ`). + * @return returnedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Date and time when you receive the returns from your payment processors, in ISO 8601 format (`YYYY-MM-DDTHH:mm:ssZ`).") + + public OffsetDateTime getReturnedAt() { + return returnedAt; + } + + + public void setReturnedAt(OffsetDateTime returnedAt) { + this.returnedAt = returnedAt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalReturnReportRequest signalReturnReportRequest = (SignalReturnReportRequest) o; + return Objects.equals(this.clientId, signalReturnReportRequest.clientId) && + Objects.equals(this.secret, signalReturnReportRequest.secret) && + Objects.equals(this.clientTransactionId, signalReturnReportRequest.clientTransactionId) && + Objects.equals(this.returnCode, signalReturnReportRequest.returnCode) && + Objects.equals(this.returnedAt, signalReturnReportRequest.returnedAt); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, clientTransactionId, returnCode, returnedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalReturnReportRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientTransactionId: ").append(toIndentedString(clientTransactionId)).append("\n"); + sb.append(" returnCode: ").append(toIndentedString(returnCode)).append("\n"); + sb.append(" returnedAt: ").append(toIndentedString(returnedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalReturnReportResponse.java b/src/main/java/com/plaid/client/model/SignalReturnReportResponse.java new file mode 100644 index 0000000000..7d87be5519 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalReturnReportResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SignalReturnReportResponse defines the response schema for `/signal/return/report` + */ +@ApiModel(description = "SignalReturnReportResponse defines the response schema for `/signal/return/report`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalReturnReportResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SignalReturnReportResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalReturnReportResponse signalReturnReportResponse = (SignalReturnReportResponse) o; + return Objects.equals(this.requestId, signalReturnReportResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalReturnReportResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalScheduleDefaultPaymentMethod.java b/src/main/java/com/plaid/client/model/SignalScheduleDefaultPaymentMethod.java new file mode 100644 index 0000000000..34ce9a0061 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalScheduleDefaultPaymentMethod.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The payment method specified in the `default_payment_method` field directly impacts the timing recommendations provided by the API for submitting the debit entry to your processor or ODFI. If unspecified, defaults to `STANDARD_ACH`. `SAME_DAY_ACH`: Same Day ACH (as defined by Nacha). The API assumes the settlement will occur on the same business day if the `/signal/schedule` request is submitted by 6:00 PM UTC. Note: The actual cutoff time can vary depending on your payment processor or ODFI. Nacha has established three processing windows for Same Day ACH (Eastern Time): 10:30 AM, 2:45 PM, and 4:45 PM. `STANDARD_ACH`: Standard ACH (as defined by Nacha), typically settled one to three business days after submission. `MULTIPLE_PAYMENT_METHODS`: Indicates that there is no default debit rail or multiple payment methods are available, and the transaction could use any of them based on customer policy or availability. + */ +@JsonAdapter(SignalScheduleDefaultPaymentMethod.Adapter.class) +public enum SignalScheduleDefaultPaymentMethod { + + SAME_DAY_ACH("SAME_DAY_ACH"), + + STANDARD_ACH("STANDARD_ACH"), + + MULTIPLE_PAYMENT_METHODS("MULTIPLE_PAYMENT_METHODS"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SignalScheduleDefaultPaymentMethod(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SignalScheduleDefaultPaymentMethod fromValue(String value) { + for (SignalScheduleDefaultPaymentMethod b : SignalScheduleDefaultPaymentMethod.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return SignalScheduleDefaultPaymentMethod.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SignalScheduleDefaultPaymentMethod enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SignalScheduleDefaultPaymentMethod read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SignalScheduleDefaultPaymentMethod.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SignalScheduleRecommendation.java b/src/main/java/com/plaid/client/model/SignalScheduleRecommendation.java new file mode 100644 index 0000000000..83db89824e --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalScheduleRecommendation.java @@ -0,0 +1,159 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RecommendationString; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Conveys information on if a retry is recommended on a given date + */ +@ApiModel(description = "Conveys information on if a retry is recommended on a given date") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalScheduleRecommendation { + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_RECOMMENDATION = "recommendation"; + @SerializedName(SERIALIZED_NAME_RECOMMENDATION) + private RecommendationString recommendation; + + public static final String SERIALIZED_NAME_RANK = "rank"; + @SerializedName(SERIALIZED_NAME_RANK) + private Integer rank; + + + public SignalScheduleRecommendation date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The specific date for submitting the debit entry, formatted in ISO 8601 (e.g., \"2025-01-17\"). + * @return date + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The specific date for submitting the debit entry, formatted in ISO 8601 (e.g., \"2025-01-17\").") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public SignalScheduleRecommendation recommendation(RecommendationString recommendation) { + + this.recommendation = recommendation; + return this; + } + + /** + * Get recommendation + * @return recommendation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RecommendationString getRecommendation() { + return recommendation; + } + + + public void setRecommendation(RecommendationString recommendation) { + this.recommendation = recommendation; + } + + + public SignalScheduleRecommendation rank(Integer rank) { + + this.rank = rank; + return this; + } + + /** + * The rank of the recommendation based on the likelihood of debit success, with 1 representing the most optimal date. Dates with `NOT_RECOMMENDED` or `UNKNOWN` will have rank `null`. + * @return rank + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The rank of the recommendation based on the likelihood of debit success, with 1 representing the most optimal date. Dates with `NOT_RECOMMENDED` or `UNKNOWN` will have rank `null`.") + + public Integer getRank() { + return rank; + } + + + public void setRank(Integer rank) { + this.rank = rank; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalScheduleRecommendation signalScheduleRecommendation = (SignalScheduleRecommendation) o; + return Objects.equals(this.date, signalScheduleRecommendation.date) && + Objects.equals(this.recommendation, signalScheduleRecommendation.recommendation) && + Objects.equals(this.rank, signalScheduleRecommendation.rank); + } + + @Override + public int hashCode() { + return Objects.hash(date, recommendation, rank); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalScheduleRecommendation {\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" recommendation: ").append(toIndentedString(recommendation)).append("\n"); + sb.append(" rank: ").append(toIndentedString(rank)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalScheduleRequest.java b/src/main/java/com/plaid/client/model/SignalScheduleRequest.java new file mode 100644 index 0000000000..53185855d0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalScheduleRequest.java @@ -0,0 +1,270 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SignalScheduleDefaultPaymentMethod; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * SignalScheduleRequest defines the request schema for `/signal/schedule` + */ +@ApiModel(description = "SignalScheduleRequest defines the request schema for `/signal/schedule`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalScheduleRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_CLIENT_TRANSACTION_ID = "client_transaction_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_TRANSACTION_ID) + private String clientTransactionId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_DEFAULT_PAYMENT_METHOD = "default_payment_method"; + @SerializedName(SERIALIZED_NAME_DEFAULT_PAYMENT_METHOD) + private SignalScheduleDefaultPaymentMethod defaultPaymentMethod; + + + public SignalScheduleRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public SignalScheduleRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public SignalScheduleRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public SignalScheduleRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` of the account that is the funding source for the proposed transaction. The `account_id` is returned in the `/accounts/get` endpoint as well as the [`onSuccess`](https://plaid.com/docs/link/ios/#link-ios-onsuccess-linkSuccess-metadata-accounts-id) callback metadata. This will return an [`INVALID_ACCOUNT_ID`](https://plaid.com/docs/errors/invalid-input/#invalid_account_id) error if the account has been removed at the bank or if the `account_id` is no longer valid. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` of the account that is the funding source for the proposed transaction. The `account_id` is returned in the `/accounts/get` endpoint as well as the [`onSuccess`](https://plaid.com/docs/link/ios/#link-ios-onsuccess-linkSuccess-metadata-accounts-id) callback metadata. This will return an [`INVALID_ACCOUNT_ID`](https://plaid.com/docs/errors/invalid-input/#invalid_account_id) error if the account has been removed at the bank or if the `account_id` is no longer valid.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public SignalScheduleRequest clientTransactionId(String clientTransactionId) { + + this.clientTransactionId = clientTransactionId; + return this; + } + + /** + * The unique ID that you would like to use to refer to this transaction. For your convenience mapping your internal data, you could use your internal ID/identifier for this transaction. The max length for this field is 36 characters. + * @return clientTransactionId + **/ + @ApiModelProperty(required = true, value = "The unique ID that you would like to use to refer to this transaction. For your convenience mapping your internal data, you could use your internal ID/identifier for this transaction. The max length for this field is 36 characters.") + + public String getClientTransactionId() { + return clientTransactionId; + } + + + public void setClientTransactionId(String clientTransactionId) { + this.clientTransactionId = clientTransactionId; + } + + + public SignalScheduleRequest amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The transaction amount, in USD (e.g. `102.05`) + * @return amount + **/ + @ApiModelProperty(required = true, value = "The transaction amount, in USD (e.g. `102.05`)") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public SignalScheduleRequest defaultPaymentMethod(SignalScheduleDefaultPaymentMethod defaultPaymentMethod) { + + this.defaultPaymentMethod = defaultPaymentMethod; + return this; + } + + /** + * Get defaultPaymentMethod + * @return defaultPaymentMethod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalScheduleDefaultPaymentMethod getDefaultPaymentMethod() { + return defaultPaymentMethod; + } + + + public void setDefaultPaymentMethod(SignalScheduleDefaultPaymentMethod defaultPaymentMethod) { + this.defaultPaymentMethod = defaultPaymentMethod; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalScheduleRequest signalScheduleRequest = (SignalScheduleRequest) o; + return Objects.equals(this.clientId, signalScheduleRequest.clientId) && + Objects.equals(this.secret, signalScheduleRequest.secret) && + Objects.equals(this.accessToken, signalScheduleRequest.accessToken) && + Objects.equals(this.accountId, signalScheduleRequest.accountId) && + Objects.equals(this.clientTransactionId, signalScheduleRequest.clientTransactionId) && + Objects.equals(this.amount, signalScheduleRequest.amount) && + Objects.equals(this.defaultPaymentMethod, signalScheduleRequest.defaultPaymentMethod); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, accountId, clientTransactionId, amount, defaultPaymentMethod); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalScheduleRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" clientTransactionId: ").append(toIndentedString(clientTransactionId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" defaultPaymentMethod: ").append(toIndentedString(defaultPaymentMethod)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalScheduleResponse.java b/src/main/java/com/plaid/client/model/SignalScheduleResponse.java new file mode 100644 index 0000000000..ef484f4ed7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalScheduleResponse.java @@ -0,0 +1,198 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SignalScheduleRecommendation; +import com.plaid.client.model.SignalWarning; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * SignalScheduleResponse defines the response schema for `/signal/schedule` + */ +@ApiModel(description = "SignalScheduleResponse defines the response schema for `/signal/schedule`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalScheduleResponse { + public static final String SERIALIZED_NAME_OPTIMAL_DATE = "optimal_date"; + @SerializedName(SERIALIZED_NAME_OPTIMAL_DATE) + private LocalDate optimalDate; + + public static final String SERIALIZED_NAME_RECOMMENDATIONS = "recommendations"; + @SerializedName(SERIALIZED_NAME_RECOMMENDATIONS) + private List recommendations = new ArrayList<>(); + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public SignalScheduleResponse optimalDate(LocalDate optimalDate) { + + this.optimalDate = optimalDate; + return this; + } + + /** + * The recommended optimal date to submit the debit entry, formatted in ISO 8601 \"YYYY-MM-DD\" (e.g., \"2024-03-30\"). The `optimal_date` is derived from the date with rank = 1 in the following recommendations array. NOTE: The `default_payment_method` field specified in the request will affect the recommendation, since we're accounting for debit settlement time. The debit scheduling evaluation starts from the day the /signal/schedule request is submitted (Day 0) or the next banking day if the submission day is not a banking day, and extends through the following five banking days (Day 1 to Day 5). If no date within this period is considered likely to result in a successful debit attempt, `null` will be returned for the `optimal_date`. + * @return optimalDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The recommended optimal date to submit the debit entry, formatted in ISO 8601 \"YYYY-MM-DD\" (e.g., \"2024-03-30\"). The `optimal_date` is derived from the date with rank = 1 in the following recommendations array. NOTE: The `default_payment_method` field specified in the request will affect the recommendation, since we're accounting for debit settlement time. The debit scheduling evaluation starts from the day the /signal/schedule request is submitted (Day 0) or the next banking day if the submission day is not a banking day, and extends through the following five banking days (Day 1 to Day 5). If no date within this period is considered likely to result in a successful debit attempt, `null` will be returned for the `optimal_date`.") + + public LocalDate getOptimalDate() { + return optimalDate; + } + + + public void setOptimalDate(LocalDate optimalDate) { + this.optimalDate = optimalDate; + } + + + public SignalScheduleResponse recommendations(List recommendations) { + + this.recommendations = recommendations; + return this; + } + + public SignalScheduleResponse addRecommendationsItem(SignalScheduleRecommendation recommendationsItem) { + this.recommendations.add(recommendationsItem); + return this; + } + + /** + * This array provides a date-by-date evaluation of debit submission recommendations within the five banking day evaluation period. Each object in the array represents a retry recommendation for a specific date. + * @return recommendations + **/ + @ApiModelProperty(required = true, value = "This array provides a date-by-date evaluation of debit submission recommendations within the five banking day evaluation period. Each object in the array represents a retry recommendation for a specific date.") + + public List getRecommendations() { + return recommendations; + } + + + public void setRecommendations(List recommendations) { + this.recommendations = recommendations; + } + + + public SignalScheduleResponse warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public SignalScheduleResponse addWarningsItem(SignalWarning warningsItem) { + this.warnings.add(warningsItem); + return this; + } + + /** + * If bank information was not available to be used in the Signal Transaction Scores model, this array contains warnings describing why bank data is missing. If you want to receive an API error instead of scores in the case of missing bank data, file a support ticket or contact your Plaid account manager. + * @return warnings + **/ + @ApiModelProperty(required = true, value = "If bank information was not available to be used in the Signal Transaction Scores model, this array contains warnings describing why bank data is missing. If you want to receive an API error instead of scores in the case of missing bank data, file a support ticket or contact your Plaid account manager.") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + public SignalScheduleResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalScheduleResponse signalScheduleResponse = (SignalScheduleResponse) o; + return Objects.equals(this.optimalDate, signalScheduleResponse.optimalDate) && + Objects.equals(this.recommendations, signalScheduleResponse.recommendations) && + Objects.equals(this.warnings, signalScheduleResponse.warnings) && + Objects.equals(this.requestId, signalScheduleResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(optimalDate, recommendations, warnings, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalScheduleResponse {\n"); + sb.append(" optimalDate: ").append(toIndentedString(optimalDate)).append("\n"); + sb.append(" recommendations: ").append(toIndentedString(recommendations)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalScores.java b/src/main/java/com/plaid/client/model/SignalScores.java new file mode 100644 index 0000000000..c835de84b5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalScores.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BankInitiatedReturnRisk; +import com.plaid.client.model.CustomerInitiatedReturnRisk; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Risk scoring details broken down by risk category. When using a Balance-only ruleset, this object will not be returned. + */ +@ApiModel(description = "Risk scoring details broken down by risk category. When using a Balance-only ruleset, this object will not be returned.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalScores { + public static final String SERIALIZED_NAME_CUSTOMER_INITIATED_RETURN_RISK = "customer_initiated_return_risk"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_INITIATED_RETURN_RISK) + private CustomerInitiatedReturnRisk customerInitiatedReturnRisk; + + public static final String SERIALIZED_NAME_BANK_INITIATED_RETURN_RISK = "bank_initiated_return_risk"; + @SerializedName(SERIALIZED_NAME_BANK_INITIATED_RETURN_RISK) + private BankInitiatedReturnRisk bankInitiatedReturnRisk; + + + public SignalScores customerInitiatedReturnRisk(CustomerInitiatedReturnRisk customerInitiatedReturnRisk) { + + this.customerInitiatedReturnRisk = customerInitiatedReturnRisk; + return this; + } + + /** + * Get customerInitiatedReturnRisk + * @return customerInitiatedReturnRisk + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CustomerInitiatedReturnRisk getCustomerInitiatedReturnRisk() { + return customerInitiatedReturnRisk; + } + + + public void setCustomerInitiatedReturnRisk(CustomerInitiatedReturnRisk customerInitiatedReturnRisk) { + this.customerInitiatedReturnRisk = customerInitiatedReturnRisk; + } + + + public SignalScores bankInitiatedReturnRisk(BankInitiatedReturnRisk bankInitiatedReturnRisk) { + + this.bankInitiatedReturnRisk = bankInitiatedReturnRisk; + return this; + } + + /** + * Get bankInitiatedReturnRisk + * @return bankInitiatedReturnRisk + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BankInitiatedReturnRisk getBankInitiatedReturnRisk() { + return bankInitiatedReturnRisk; + } + + + public void setBankInitiatedReturnRisk(BankInitiatedReturnRisk bankInitiatedReturnRisk) { + this.bankInitiatedReturnRisk = bankInitiatedReturnRisk; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalScores signalScores = (SignalScores) o; + return Objects.equals(this.customerInitiatedReturnRisk, signalScores.customerInitiatedReturnRisk) && + Objects.equals(this.bankInitiatedReturnRisk, signalScores.bankInitiatedReturnRisk); + } + + @Override + public int hashCode() { + return Objects.hash(customerInitiatedReturnRisk, bankInitiatedReturnRisk); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalScores {\n"); + sb.append(" customerInitiatedReturnRisk: ").append(toIndentedString(customerInitiatedReturnRisk)).append("\n"); + sb.append(" bankInitiatedReturnRisk: ").append(toIndentedString(bankInitiatedReturnRisk)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalUser.java b/src/main/java/com/plaid/client/model/SignalUser.java new file mode 100644 index 0000000000..1d6a67ee96 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalUser.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SignalAddressData; +import com.plaid.client.model.SignalPersonName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details about the end user initiating the transaction (i.e., the account holder). These fields are optional, but strongly recommended to increase the accuracy of results when using Signal Transaction Scores. When using a Balance-only ruleset, if the Signal Addendum has been signed, these fields are ignored; if the Addendum has not been signed, using these fields will result in an error. + */ +@ApiModel(description = "Details about the end user initiating the transaction (i.e., the account holder). These fields are optional, but strongly recommended to increase the accuracy of results when using Signal Transaction Scores. When using a Balance-only ruleset, if the Signal Addendum has been signed, these fields are ignored; if the Addendum has not been signed, using these fields will result in an error.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalUser { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private SignalPersonName name; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private SignalAddressData address; + + + public SignalUser name(SignalPersonName name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalPersonName getName() { + return name; + } + + + public void setName(SignalPersonName name) { + this.name = name; + } + + + public SignalUser phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * The user's phone number, in E.164 format: +{countrycode}{number}. For example: \"+14151234567\" + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's phone number, in E.164 format: +{countrycode}{number}. For example: \"+14151234567\"") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public SignalUser emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * The user's email address. + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's email address.") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public SignalUser address(SignalAddressData address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SignalAddressData getAddress() { + return address; + } + + + public void setAddress(SignalAddressData address) { + this.address = address; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalUser signalUser = (SignalUser) o; + return Objects.equals(this.name, signalUser.name) && + Objects.equals(this.phoneNumber, signalUser.phoneNumber) && + Objects.equals(this.emailAddress, signalUser.emailAddress) && + Objects.equals(this.address, signalUser.address); + } + + @Override + public int hashCode() { + return Objects.hash(name, phoneNumber, emailAddress, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalUser {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SignalWarning.java b/src/main/java/com/plaid/client/model/SignalWarning.java new file mode 100644 index 0000000000..66cc7d8e9c --- /dev/null +++ b/src/main/java/com/plaid/client/model/SignalWarning.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Conveys information about the errors causing missing or stale bank data used to construct the `/signal/evaluate` scores and response + */ +@ApiModel(description = "Conveys information about the errors causing missing or stale bank data used to construct the `/signal/evaluate` scores and response") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SignalWarning { + public static final String SERIALIZED_NAME_WARNING_TYPE = "warning_type"; + @SerializedName(SERIALIZED_NAME_WARNING_TYPE) + private String warningType; + + public static final String SERIALIZED_NAME_WARNING_CODE = "warning_code"; + @SerializedName(SERIALIZED_NAME_WARNING_CODE) + private String warningCode; + + public static final String SERIALIZED_NAME_WARNING_MESSAGE = "warning_message"; + @SerializedName(SERIALIZED_NAME_WARNING_MESSAGE) + private String warningMessage; + + + public SignalWarning warningType(String warningType) { + + this.warningType = warningType; + return this; + } + + /** + * A broad categorization of the warning. Safe for programmatic use. + * @return warningType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A broad categorization of the warning. Safe for programmatic use.") + + public String getWarningType() { + return warningType; + } + + + public void setWarningType(String warningType) { + this.warningType = warningType; + } + + + public SignalWarning warningCode(String warningCode) { + + this.warningCode = warningCode; + return this; + } + + /** + * The warning code identifies a specific kind of warning that pertains to the error causing bank data to be missing. Safe for programmatic use. For more details on warning codes, please refer to Plaid standard error codes documentation. If you receive the `ITEM_LOGIN_REQUIRED` warning, we recommend re-authenticating your user by implementing Link's update mode. This will guide your user to fix their credentials, allowing Plaid to start fetching data again for future requests. + * @return warningCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The warning code identifies a specific kind of warning that pertains to the error causing bank data to be missing. Safe for programmatic use. For more details on warning codes, please refer to Plaid standard error codes documentation. If you receive the `ITEM_LOGIN_REQUIRED` warning, we recommend re-authenticating your user by implementing Link's update mode. This will guide your user to fix their credentials, allowing Plaid to start fetching data again for future requests.") + + public String getWarningCode() { + return warningCode; + } + + + public void setWarningCode(String warningCode) { + this.warningCode = warningCode; + } + + + public SignalWarning warningMessage(String warningMessage) { + + this.warningMessage = warningMessage; + return this; + } + + /** + * A developer-friendly representation of the warning type. This may change over time and is not safe for programmatic use. + * @return warningMessage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A developer-friendly representation of the warning type. This may change over time and is not safe for programmatic use.") + + public String getWarningMessage() { + return warningMessage; + } + + + public void setWarningMessage(String warningMessage) { + this.warningMessage = warningMessage; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignalWarning signalWarning = (SignalWarning) o; + return Objects.equals(this.warningType, signalWarning.warningType) && + Objects.equals(this.warningCode, signalWarning.warningCode) && + Objects.equals(this.warningMessage, signalWarning.warningMessage); + } + + @Override + public int hashCode() { + return Objects.hash(warningType, warningCode, warningMessage); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SignalWarning {\n"); + sb.append(" warningType: ").append(toIndentedString(warningType)).append("\n"); + sb.append(" warningCode: ").append(toIndentedString(warningCode)).append("\n"); + sb.append(" warningMessage: ").append(toIndentedString(warningMessage)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SimulatedTransferSweep.java b/src/main/java/com/plaid/client/model/SimulatedTransferSweep.java new file mode 100644 index 0000000000..509e149611 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SimulatedTransferSweep.java @@ -0,0 +1,448 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SweepFailure; +import com.plaid.client.model.SweepStatus; +import com.plaid.client.model.SweepTrigger; +import com.plaid.client.model.TransferSweep; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; + +/** + * A sweep returned from the `/sandbox/transfer/sweep/simulate` endpoint. Can be null if there are no transfers to include in a sweep. + */ +@ApiModel(description = "A sweep returned from the `/sandbox/transfer/sweep/simulate` endpoint. Can be null if there are no transfers to include in a sweep.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SimulatedTransferSweep { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_SETTLED = "settled"; + @SerializedName(SERIALIZED_NAME_SETTLED) + private LocalDate settled; + + public static final String SERIALIZED_NAME_EXPECTED_FUNDS_AVAILABLE_DATE = "expected_funds_available_date"; + @SerializedName(SERIALIZED_NAME_EXPECTED_FUNDS_AVAILABLE_DATE) + private LocalDate expectedFundsAvailableDate; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private SweepStatus status; + + public static final String SERIALIZED_NAME_TRIGGER = "trigger"; + @SerializedName(SERIALIZED_NAME_TRIGGER) + private SweepTrigger trigger; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_NETWORK_TRACE_ID = "network_trace_id"; + @SerializedName(SERIALIZED_NAME_NETWORK_TRACE_ID) + private String networkTraceId; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private SweepFailure failureReason; + + + public SimulatedTransferSweep id(String id) { + + this.id = id; + return this; + } + + /** + * Identifier of the sweep. + * @return id + **/ + @ApiModelProperty(required = true, value = "Identifier of the sweep.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public SimulatedTransferSweep fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited. + * @return fundingAccountId + **/ + @ApiModelProperty(required = true, value = "The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public SimulatedTransferSweep ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * Plaid's unique identifier for a Plaid Ledger Balance. + * @return ledgerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a Plaid Ledger Balance.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public SimulatedTransferSweep created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The datetime when the sweep occurred, in RFC 3339 format. + * @return created + **/ + @ApiModelProperty(required = true, value = "The datetime when the sweep occurred, in RFC 3339 format.") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public SimulatedTransferSweep amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * Signed decimal amount of the sweep as it appears on your sweep account ledger (e.g. \"-10.00\") If amount is not present, the sweep was net-settled to zero and outstanding debits and credits between the sweep account and Plaid are balanced. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Signed decimal amount of the sweep as it appears on your sweep account ledger (e.g. \"-10.00\") If amount is not present, the sweep was net-settled to zero and outstanding debits and credits between the sweep account and Plaid are balanced.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public SimulatedTransferSweep isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the sweep, e.g. \"USD\". + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the sweep, e.g. \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public SimulatedTransferSweep settled(LocalDate settled) { + + this.settled = settled; + return this; + } + + /** + * The date when the sweep settled, in the YYYY-MM-DD format. + * @return settled + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date when the sweep settled, in the YYYY-MM-DD format.") + + public LocalDate getSettled() { + return settled; + } + + + public void setSettled(LocalDate settled) { + this.settled = settled; + } + + + public SimulatedTransferSweep expectedFundsAvailableDate(LocalDate expectedFundsAvailableDate) { + + this.expectedFundsAvailableDate = expectedFundsAvailableDate; + return this; + } + + /** + * The expected date when funds from a ledger deposit will be made available and can be withdrawn from the associated ledger balance. Only applies to deposits. This will be of the form YYYY-MM-DD. + * @return expectedFundsAvailableDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The expected date when funds from a ledger deposit will be made available and can be withdrawn from the associated ledger balance. Only applies to deposits. This will be of the form YYYY-MM-DD.") + + public LocalDate getExpectedFundsAvailableDate() { + return expectedFundsAvailableDate; + } + + + public void setExpectedFundsAvailableDate(LocalDate expectedFundsAvailableDate) { + this.expectedFundsAvailableDate = expectedFundsAvailableDate; + } + + + public SimulatedTransferSweep status(SweepStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SweepStatus getStatus() { + return status; + } + + + public void setStatus(SweepStatus status) { + this.status = status; + } + + + public SimulatedTransferSweep trigger(SweepTrigger trigger) { + + this.trigger = trigger; + return this; + } + + /** + * Get trigger + * @return trigger + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SweepTrigger getTrigger() { + return trigger; + } + + + public void setTrigger(SweepTrigger trigger) { + this.trigger = trigger; + } + + + public SimulatedTransferSweep description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the deposit that will be passed to the receiving bank (up to 10 characters). Note that banks utilize this field differently, and may or may not show it on the bank statement. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The description of the deposit that will be passed to the receiving bank (up to 10 characters). Note that banks utilize this field differently, and may or may not show it on the bank statement.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public SimulatedTransferSweep networkTraceId(String networkTraceId) { + + this.networkTraceId = networkTraceId; + return this; + } + + /** + * The trace identifier for the transfer based on its network. This will only be set after the transfer has posted. For `ach` or `same-day-ach` transfers, this is the ACH trace number. For `rtp` transfers, this is the Transaction Identification number. For `wire` transfers, this is the IMAD (Input Message Accountability Data) number. + * @return networkTraceId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The trace identifier for the transfer based on its network. This will only be set after the transfer has posted. For `ach` or `same-day-ach` transfers, this is the ACH trace number. For `rtp` transfers, this is the Transaction Identification number. For `wire` transfers, this is the IMAD (Input Message Accountability Data) number.") + + public String getNetworkTraceId() { + return networkTraceId; + } + + + public void setNetworkTraceId(String networkTraceId) { + this.networkTraceId = networkTraceId; + } + + + public SimulatedTransferSweep failureReason(SweepFailure failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SweepFailure getFailureReason() { + return failureReason; + } + + + public void setFailureReason(SweepFailure failureReason) { + this.failureReason = failureReason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SimulatedTransferSweep simulatedTransferSweep = (SimulatedTransferSweep) o; + return Objects.equals(this.id, simulatedTransferSweep.id) && + Objects.equals(this.fundingAccountId, simulatedTransferSweep.fundingAccountId) && + Objects.equals(this.ledgerId, simulatedTransferSweep.ledgerId) && + Objects.equals(this.created, simulatedTransferSweep.created) && + Objects.equals(this.amount, simulatedTransferSweep.amount) && + Objects.equals(this.isoCurrencyCode, simulatedTransferSweep.isoCurrencyCode) && + Objects.equals(this.settled, simulatedTransferSweep.settled) && + Objects.equals(this.expectedFundsAvailableDate, simulatedTransferSweep.expectedFundsAvailableDate) && + Objects.equals(this.status, simulatedTransferSweep.status) && + Objects.equals(this.trigger, simulatedTransferSweep.trigger) && + Objects.equals(this.description, simulatedTransferSweep.description) && + Objects.equals(this.networkTraceId, simulatedTransferSweep.networkTraceId) && + Objects.equals(this.failureReason, simulatedTransferSweep.failureReason); + } + + @Override + public int hashCode() { + return Objects.hash(id, fundingAccountId, ledgerId, created, amount, isoCurrencyCode, settled, expectedFundsAvailableDate, status, trigger, description, networkTraceId, failureReason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SimulatedTransferSweep {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" settled: ").append(toIndentedString(settled)).append("\n"); + sb.append(" expectedFundsAvailableDate: ").append(toIndentedString(expectedFundsAvailableDate)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" trigger: ").append(toIndentedString(trigger)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" networkTraceId: ").append(toIndentedString(networkTraceId)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SingleDocumentRiskSignal.java b/src/main/java/com/plaid/client/model/SingleDocumentRiskSignal.java new file mode 100644 index 0000000000..ddd66183b3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SingleDocumentRiskSignal.java @@ -0,0 +1,164 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DocumentRiskSignal; +import com.plaid.client.model.DocumentRiskSummary; +import com.plaid.client.model.RiskSignalDocumentReference; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Object containing all risk signals and relevant metadata for a single document + */ +@ApiModel(description = "Object containing all risk signals and relevant metadata for a single document") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SingleDocumentRiskSignal { + public static final String SERIALIZED_NAME_DOCUMENT_REFERENCE = "document_reference"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_REFERENCE) + private RiskSignalDocumentReference documentReference; + + public static final String SERIALIZED_NAME_RISK_SIGNALS = "risk_signals"; + @SerializedName(SERIALIZED_NAME_RISK_SIGNALS) + private List riskSignals = new ArrayList<>(); + + public static final String SERIALIZED_NAME_RISK_SUMMARY = "risk_summary"; + @SerializedName(SERIALIZED_NAME_RISK_SUMMARY) + private DocumentRiskSummary riskSummary; + + + public SingleDocumentRiskSignal documentReference(RiskSignalDocumentReference documentReference) { + + this.documentReference = documentReference; + return this; + } + + /** + * Get documentReference + * @return documentReference + **/ + @ApiModelProperty(required = true, value = "") + + public RiskSignalDocumentReference getDocumentReference() { + return documentReference; + } + + + public void setDocumentReference(RiskSignalDocumentReference documentReference) { + this.documentReference = documentReference; + } + + + public SingleDocumentRiskSignal riskSignals(List riskSignals) { + + this.riskSignals = riskSignals; + return this; + } + + public SingleDocumentRiskSignal addRiskSignalsItem(DocumentRiskSignal riskSignalsItem) { + this.riskSignals.add(riskSignalsItem); + return this; + } + + /** + * Array of attributes that indicate whether or not there is fraud risk with a document + * @return riskSignals + **/ + @ApiModelProperty(required = true, value = "Array of attributes that indicate whether or not there is fraud risk with a document") + + public List getRiskSignals() { + return riskSignals; + } + + + public void setRiskSignals(List riskSignals) { + this.riskSignals = riskSignals; + } + + + public SingleDocumentRiskSignal riskSummary(DocumentRiskSummary riskSummary) { + + this.riskSummary = riskSummary; + return this; + } + + /** + * Get riskSummary + * @return riskSummary + **/ + @ApiModelProperty(required = true, value = "") + + public DocumentRiskSummary getRiskSummary() { + return riskSummary; + } + + + public void setRiskSummary(DocumentRiskSummary riskSummary) { + this.riskSummary = riskSummary; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SingleDocumentRiskSignal singleDocumentRiskSignal = (SingleDocumentRiskSignal) o; + return Objects.equals(this.documentReference, singleDocumentRiskSignal.documentReference) && + Objects.equals(this.riskSignals, singleDocumentRiskSignal.riskSignals) && + Objects.equals(this.riskSummary, singleDocumentRiskSignal.riskSummary); + } + + @Override + public int hashCode() { + return Objects.hash(documentReference, riskSignals, riskSummary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SingleDocumentRiskSignal {\n"); + sb.append(" documentReference: ").append(toIndentedString(documentReference)).append("\n"); + sb.append(" riskSignals: ").append(toIndentedString(riskSignals)).append("\n"); + sb.append(" riskSummary: ").append(toIndentedString(riskSummary)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Source.java b/src/main/java/com/plaid/client/model/Source.java new file mode 100644 index 0000000000..60838bc141 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Source.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A type indicating who or what last touched this object. `dashboard`, `link`, and `api` indicate the originating surface; `system` indicates Plaid. `retro` indicates a screening created retroactively via a bulk screening creation. + */ +@JsonAdapter(Source.Adapter.class) +public enum Source { + + DASHBOARD("dashboard"), + + LINK("link"), + + API("api"), + + SYSTEM("system"), + + RETRO("retro"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + Source(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static Source fromValue(String value) { + for (Source b : Source.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return Source.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final Source enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public Source read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return Source.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/StandaloneAccountType.java b/src/main/java/com/plaid/client/model/StandaloneAccountType.java new file mode 100644 index 0000000000..98595d696a --- /dev/null +++ b/src/main/java/com/plaid/client/model/StandaloneAccountType.java @@ -0,0 +1,239 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The schema below describes the various `types` and corresponding `subtypes` that Plaid recognizes and reports for financial institution accounts. For a mapping of supported types and subtypes to Plaid products, see the [Account type / product support matrix](https://plaid.com/docs/api/accounts/#account-type--product-support-matrix). + */ +@ApiModel(description = "The schema below describes the various `types` and corresponding `subtypes` that Plaid recognizes and reports for financial institution accounts. For a mapping of supported types and subtypes to Plaid products, see the [Account type / product support matrix](https://plaid.com/docs/api/accounts/#account-type--product-support-matrix).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StandaloneAccountType { + public static final String SERIALIZED_NAME_DEPOSITORY = "depository"; + @SerializedName(SERIALIZED_NAME_DEPOSITORY) + private String depository; + + public static final String SERIALIZED_NAME_CREDIT = "credit"; + @SerializedName(SERIALIZED_NAME_CREDIT) + private String credit; + + public static final String SERIALIZED_NAME_LOAN = "loan"; + @SerializedName(SERIALIZED_NAME_LOAN) + private String loan; + + public static final String SERIALIZED_NAME_INVESTMENT = "investment"; + @SerializedName(SERIALIZED_NAME_INVESTMENT) + private String investment; + + public static final String SERIALIZED_NAME_PAYROLL = "payroll"; + @SerializedName(SERIALIZED_NAME_PAYROLL) + private String payroll; + + public static final String SERIALIZED_NAME_OTHER = "other"; + @SerializedName(SERIALIZED_NAME_OTHER) + private String other; + + + public StandaloneAccountType depository(String depository) { + + this.depository = depository; + return this; + } + + /** + * An account type holding cash, in which funds are deposited. + * @return depository + **/ + @ApiModelProperty(required = true, value = "An account type holding cash, in which funds are deposited.") + + public String getDepository() { + return depository; + } + + + public void setDepository(String depository) { + this.depository = depository; + } + + + public StandaloneAccountType credit(String credit) { + + this.credit = credit; + return this; + } + + /** + * A credit card type account. + * @return credit + **/ + @ApiModelProperty(required = true, value = "A credit card type account.") + + public String getCredit() { + return credit; + } + + + public void setCredit(String credit) { + this.credit = credit; + } + + + public StandaloneAccountType loan(String loan) { + + this.loan = loan; + return this; + } + + /** + * A loan type account. + * @return loan + **/ + @ApiModelProperty(required = true, value = "A loan type account.") + + public String getLoan() { + return loan; + } + + + public void setLoan(String loan) { + this.loan = loan; + } + + + public StandaloneAccountType investment(String investment) { + + this.investment = investment; + return this; + } + + /** + * An investment account. In API versions 2018-05-22 and earlier, this type is called `brokerage`. + * @return investment + **/ + @ApiModelProperty(required = true, value = "An investment account. In API versions 2018-05-22 and earlier, this type is called `brokerage`.") + + public String getInvestment() { + return investment; + } + + + public void setInvestment(String investment) { + this.investment = investment; + } + + + public StandaloneAccountType payroll(String payroll) { + + this.payroll = payroll; + return this; + } + + /** + * A payroll account. + * @return payroll + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A payroll account.") + + public String getPayroll() { + return payroll; + } + + + public void setPayroll(String payroll) { + this.payroll = payroll; + } + + + public StandaloneAccountType other(String other) { + + this.other = other; + return this; + } + + /** + * Other or unknown account type. + * @return other + **/ + @ApiModelProperty(required = true, value = "Other or unknown account type.") + + public String getOther() { + return other; + } + + + public void setOther(String other) { + this.other = other; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StandaloneAccountType standaloneAccountType = (StandaloneAccountType) o; + return Objects.equals(this.depository, standaloneAccountType.depository) && + Objects.equals(this.credit, standaloneAccountType.credit) && + Objects.equals(this.loan, standaloneAccountType.loan) && + Objects.equals(this.investment, standaloneAccountType.investment) && + Objects.equals(this.payroll, standaloneAccountType.payroll) && + Objects.equals(this.other, standaloneAccountType.other); + } + + @Override + public int hashCode() { + return Objects.hash(depository, credit, loan, investment, payroll, other); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StandaloneAccountType {\n"); + sb.append(" depository: ").append(toIndentedString(depository)).append("\n"); + sb.append(" credit: ").append(toIndentedString(credit)).append("\n"); + sb.append(" loan: ").append(toIndentedString(loan)).append("\n"); + sb.append(" investment: ").append(toIndentedString(investment)).append("\n"); + sb.append(" payroll: ").append(toIndentedString(payroll)).append("\n"); + sb.append(" other: ").append(toIndentedString(other)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/StandaloneCurrencyCodeList.java b/src/main/java/com/plaid/client/model/StandaloneCurrencyCodeList.java new file mode 100644 index 0000000000..0e7516fc59 --- /dev/null +++ b/src/main/java/com/plaid/client/model/StandaloneCurrencyCodeList.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The following currency codes are supported by Plaid. + */ +@ApiModel(description = "The following currency codes are supported by Plaid.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StandaloneCurrencyCodeList { + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public StandaloneCurrencyCodeList isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * Plaid supports all ISO 4217 currency codes. + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "Plaid supports all ISO 4217 currency codes.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public StandaloneCurrencyCodeList unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * List of unofficial currency codes + * @return unofficialCurrencyCode + **/ + @ApiModelProperty(required = true, value = "List of unofficial currency codes") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StandaloneCurrencyCodeList standaloneCurrencyCodeList = (StandaloneCurrencyCodeList) o; + return Objects.equals(this.isoCurrencyCode, standaloneCurrencyCodeList.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, standaloneCurrencyCodeList.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StandaloneCurrencyCodeList {\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/StandaloneInvestmentTransactionType.java b/src/main/java/com/plaid/client/model/StandaloneInvestmentTransactionType.java new file mode 100644 index 0000000000..0bd4b0bd67 --- /dev/null +++ b/src/main/java/com/plaid/client/model/StandaloneInvestmentTransactionType.java @@ -0,0 +1,238 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Valid values for investment transaction types and subtypes. Note that transactions representing inflow of cash will appear as negative amounts, outflow of cash will appear as positive amounts. + */ +@ApiModel(description = "Valid values for investment transaction types and subtypes. Note that transactions representing inflow of cash will appear as negative amounts, outflow of cash will appear as positive amounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StandaloneInvestmentTransactionType { + public static final String SERIALIZED_NAME_BUY = "buy"; + @SerializedName(SERIALIZED_NAME_BUY) + private String buy; + + public static final String SERIALIZED_NAME_SELL = "sell"; + @SerializedName(SERIALIZED_NAME_SELL) + private String sell; + + public static final String SERIALIZED_NAME_CANCEL = "cancel"; + @SerializedName(SERIALIZED_NAME_CANCEL) + private String cancel; + + public static final String SERIALIZED_NAME_CASH = "cash"; + @SerializedName(SERIALIZED_NAME_CASH) + private String cash; + + public static final String SERIALIZED_NAME_FEE = "fee"; + @SerializedName(SERIALIZED_NAME_FEE) + private String fee; + + public static final String SERIALIZED_NAME_TRANSFER = "transfer"; + @SerializedName(SERIALIZED_NAME_TRANSFER) + private String transfer; + + + public StandaloneInvestmentTransactionType buy(String buy) { + + this.buy = buy; + return this; + } + + /** + * Buying an investment + * @return buy + **/ + @ApiModelProperty(required = true, value = "Buying an investment") + + public String getBuy() { + return buy; + } + + + public void setBuy(String buy) { + this.buy = buy; + } + + + public StandaloneInvestmentTransactionType sell(String sell) { + + this.sell = sell; + return this; + } + + /** + * Selling an investment + * @return sell + **/ + @ApiModelProperty(required = true, value = "Selling an investment") + + public String getSell() { + return sell; + } + + + public void setSell(String sell) { + this.sell = sell; + } + + + public StandaloneInvestmentTransactionType cancel(String cancel) { + + this.cancel = cancel; + return this; + } + + /** + * A cancellation of a pending transaction + * @return cancel + **/ + @ApiModelProperty(required = true, value = "A cancellation of a pending transaction") + + public String getCancel() { + return cancel; + } + + + public void setCancel(String cancel) { + this.cancel = cancel; + } + + + public StandaloneInvestmentTransactionType cash(String cash) { + + this.cash = cash; + return this; + } + + /** + * Activity that modifies a cash position + * @return cash + **/ + @ApiModelProperty(required = true, value = "Activity that modifies a cash position") + + public String getCash() { + return cash; + } + + + public void setCash(String cash) { + this.cash = cash; + } + + + public StandaloneInvestmentTransactionType fee(String fee) { + + this.fee = fee; + return this; + } + + /** + * Fees on the account, e.g. commission, bookkeeping, options-related. + * @return fee + **/ + @ApiModelProperty(required = true, value = "Fees on the account, e.g. commission, bookkeeping, options-related.") + + public String getFee() { + return fee; + } + + + public void setFee(String fee) { + this.fee = fee; + } + + + public StandaloneInvestmentTransactionType transfer(String transfer) { + + this.transfer = transfer; + return this; + } + + /** + * Activity that modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer + * @return transfer + **/ + @ApiModelProperty(required = true, value = "Activity that modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer") + + public String getTransfer() { + return transfer; + } + + + public void setTransfer(String transfer) { + this.transfer = transfer; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StandaloneInvestmentTransactionType standaloneInvestmentTransactionType = (StandaloneInvestmentTransactionType) o; + return Objects.equals(this.buy, standaloneInvestmentTransactionType.buy) && + Objects.equals(this.sell, standaloneInvestmentTransactionType.sell) && + Objects.equals(this.cancel, standaloneInvestmentTransactionType.cancel) && + Objects.equals(this.cash, standaloneInvestmentTransactionType.cash) && + Objects.equals(this.fee, standaloneInvestmentTransactionType.fee) && + Objects.equals(this.transfer, standaloneInvestmentTransactionType.transfer); + } + + @Override + public int hashCode() { + return Objects.hash(buy, sell, cancel, cash, fee, transfer); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StandaloneInvestmentTransactionType {\n"); + sb.append(" buy: ").append(toIndentedString(buy)).append("\n"); + sb.append(" sell: ").append(toIndentedString(sell)).append("\n"); + sb.append(" cancel: ").append(toIndentedString(cancel)).append("\n"); + sb.append(" cash: ").append(toIndentedString(cash)).append("\n"); + sb.append(" fee: ").append(toIndentedString(fee)).append("\n"); + sb.append(" transfer: ").append(toIndentedString(transfer)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/StatementsAccount.java b/src/main/java/com/plaid/client/model/StatementsAccount.java new file mode 100644 index 0000000000..14cc027a6b --- /dev/null +++ b/src/main/java/com/plaid/client/model/StatementsAccount.java @@ -0,0 +1,274 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.StatementsStatement; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Account associated with the Item. + */ +@ApiModel(description = "Account associated with the Item.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StatementsAccount { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ACCOUNT_MASK = "account_mask"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_MASK) + private String accountMask; + + public static final String SERIALIZED_NAME_ACCOUNT_NAME = "account_name"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NAME) + private String accountName; + + public static final String SERIALIZED_NAME_ACCOUNT_OFFICIAL_NAME = "account_official_name"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_OFFICIAL_NAME) + private String accountOfficialName; + + public static final String SERIALIZED_NAME_ACCOUNT_SUBTYPE = "account_subtype"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_SUBTYPE) + private String accountSubtype; + + public static final String SERIALIZED_NAME_ACCOUNT_TYPE = "account_type"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_TYPE) + private String accountType; + + public static final String SERIALIZED_NAME_STATEMENTS = "statements"; + @SerializedName(SERIALIZED_NAME_STATEMENTS) + private List statements = new ArrayList<>(); + + + public StatementsAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * Plaid's unique identifier for the account. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public StatementsAccount accountMask(String accountMask) { + + this.accountMask = accountMask; + return this; + } + + /** + * The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user. + * @return accountMask + **/ + @ApiModelProperty(required = true, value = "The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.") + + public String getAccountMask() { + return accountMask; + } + + + public void setAccountMask(String accountMask) { + this.accountMask = accountMask; + } + + + public StatementsAccount accountName(String accountName) { + + this.accountName = accountName; + return this; + } + + /** + * The name of the account, either assigned by the user or by the financial institution itself. + * @return accountName + **/ + @ApiModelProperty(required = true, value = "The name of the account, either assigned by the user or by the financial institution itself.") + + public String getAccountName() { + return accountName; + } + + + public void setAccountName(String accountName) { + this.accountName = accountName; + } + + + public StatementsAccount accountOfficialName(String accountOfficialName) { + + this.accountOfficialName = accountOfficialName; + return this; + } + + /** + * The official name of the account as given by the financial institution. + * @return accountOfficialName + **/ + @ApiModelProperty(required = true, value = "The official name of the account as given by the financial institution.") + + public String getAccountOfficialName() { + return accountOfficialName; + } + + + public void setAccountOfficialName(String accountOfficialName) { + this.accountOfficialName = accountOfficialName; + } + + + public StatementsAccount accountSubtype(String accountSubtype) { + + this.accountSubtype = accountSubtype; + return this; + } + + /** + * The subtype of the account. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountSubtype + **/ + @ApiModelProperty(required = true, value = "The subtype of the account. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema).") + + public String getAccountSubtype() { + return accountSubtype; + } + + + public void setAccountSubtype(String accountSubtype) { + this.accountSubtype = accountSubtype; + } + + + public StatementsAccount accountType(String accountType) { + + this.accountType = accountType; + return this; + } + + /** + * The type of account. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). + * @return accountType + **/ + @ApiModelProperty(required = true, value = "The type of account. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema).") + + public String getAccountType() { + return accountType; + } + + + public void setAccountType(String accountType) { + this.accountType = accountType; + } + + + public StatementsAccount statements(List statements) { + + this.statements = statements; + return this; + } + + public StatementsAccount addStatementsItem(StatementsStatement statementsItem) { + this.statements.add(statementsItem); + return this; + } + + /** + * The list of statements' metadata associated with this account. + * @return statements + **/ + @ApiModelProperty(required = true, value = "The list of statements' metadata associated with this account.") + + public List getStatements() { + return statements; + } + + + public void setStatements(List statements) { + this.statements = statements; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatementsAccount statementsAccount = (StatementsAccount) o; + return Objects.equals(this.accountId, statementsAccount.accountId) && + Objects.equals(this.accountMask, statementsAccount.accountMask) && + Objects.equals(this.accountName, statementsAccount.accountName) && + Objects.equals(this.accountOfficialName, statementsAccount.accountOfficialName) && + Objects.equals(this.accountSubtype, statementsAccount.accountSubtype) && + Objects.equals(this.accountType, statementsAccount.accountType) && + Objects.equals(this.statements, statementsAccount.statements); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, accountMask, accountName, accountOfficialName, accountSubtype, accountType, statements); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatementsAccount {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" accountMask: ").append(toIndentedString(accountMask)).append("\n"); + sb.append(" accountName: ").append(toIndentedString(accountName)).append("\n"); + sb.append(" accountOfficialName: ").append(toIndentedString(accountOfficialName)).append("\n"); + sb.append(" accountSubtype: ").append(toIndentedString(accountSubtype)).append("\n"); + sb.append(" accountType: ").append(toIndentedString(accountType)).append("\n"); + sb.append(" statements: ").append(toIndentedString(statements)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/StatementsDownloadRequest.java b/src/main/java/com/plaid/client/model/StatementsDownloadRequest.java new file mode 100644 index 0000000000..dcdf754c18 --- /dev/null +++ b/src/main/java/com/plaid/client/model/StatementsDownloadRequest.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * StatementsDownloadRequest defines the request schema for `/statements/download` + */ +@ApiModel(description = "StatementsDownloadRequest defines the request schema for `/statements/download`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StatementsDownloadRequest { + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_STATEMENT_ID = "statement_id"; + @SerializedName(SERIALIZED_NAME_STATEMENT_ID) + private String statementId; + + + public StatementsDownloadRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public StatementsDownloadRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public StatementsDownloadRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public StatementsDownloadRequest statementId(String statementId) { + + this.statementId = statementId; + return this; + } + + /** + * Plaid's unique identifier for the statement. + * @return statementId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the statement.") + + public String getStatementId() { + return statementId; + } + + + public void setStatementId(String statementId) { + this.statementId = statementId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatementsDownloadRequest statementsDownloadRequest = (StatementsDownloadRequest) o; + return Objects.equals(this.accessToken, statementsDownloadRequest.accessToken) && + Objects.equals(this.clientId, statementsDownloadRequest.clientId) && + Objects.equals(this.secret, statementsDownloadRequest.secret) && + Objects.equals(this.statementId, statementsDownloadRequest.statementId); + } + + @Override + public int hashCode() { + return Objects.hash(accessToken, clientId, secret, statementId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatementsDownloadRequest {\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" statementId: ").append(toIndentedString(statementId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/StatementsListRequest.java b/src/main/java/com/plaid/client/model/StatementsListRequest.java new file mode 100644 index 0000000000..582f22d53b --- /dev/null +++ b/src/main/java/com/plaid/client/model/StatementsListRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * StatementsListRequest defines the request schema for `/statements/list` + */ +@ApiModel(description = "StatementsListRequest defines the request schema for `/statements/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StatementsListRequest { + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public StatementsListRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public StatementsListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public StatementsListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatementsListRequest statementsListRequest = (StatementsListRequest) o; + return Objects.equals(this.accessToken, statementsListRequest.accessToken) && + Objects.equals(this.clientId, statementsListRequest.clientId) && + Objects.equals(this.secret, statementsListRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(accessToken, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatementsListRequest {\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/StatementsListResponse.java b/src/main/java/com/plaid/client/model/StatementsListResponse.java new file mode 100644 index 0000000000..6bdf335059 --- /dev/null +++ b/src/main/java/com/plaid/client/model/StatementsListResponse.java @@ -0,0 +1,218 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.StatementsAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * StatementsListResponse defines the response schema for `/statements/list` + */ +@ApiModel(description = "StatementsListResponse defines the response schema for `/statements/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StatementsListResponse { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_INSTITUTION_ID = "institution_id"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_ID) + private String institutionId; + + public static final String SERIALIZED_NAME_INSTITUTION_NAME = "institution_name"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_NAME) + private String institutionName; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public StatementsListResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public StatementsListResponse addAccountsItem(StatementsAccount accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * Get accounts + * @return accounts + **/ + @ApiModelProperty(required = true, value = "") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public StatementsListResponse institutionId(String institutionId) { + + this.institutionId = institutionId; + return this; + } + + /** + * The Plaid Institution ID associated with the Item. + * @return institutionId + **/ + @ApiModelProperty(required = true, value = "The Plaid Institution ID associated with the Item.") + + public String getInstitutionId() { + return institutionId; + } + + + public void setInstitutionId(String institutionId) { + this.institutionId = institutionId; + } + + + public StatementsListResponse institutionName(String institutionName) { + + this.institutionName = institutionName; + return this; + } + + /** + * The name of the institution associated with the Item. + * @return institutionName + **/ + @ApiModelProperty(required = true, value = "The name of the institution associated with the Item.") + + public String getInstitutionName() { + return institutionName; + } + + + public void setInstitutionName(String institutionName) { + this.institutionName = institutionName; + } + + + public StatementsListResponse itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public StatementsListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatementsListResponse statementsListResponse = (StatementsListResponse) o; + return Objects.equals(this.accounts, statementsListResponse.accounts) && + Objects.equals(this.institutionId, statementsListResponse.institutionId) && + Objects.equals(this.institutionName, statementsListResponse.institutionName) && + Objects.equals(this.itemId, statementsListResponse.itemId) && + Objects.equals(this.requestId, statementsListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, institutionId, institutionName, itemId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatementsListResponse {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" institutionId: ").append(toIndentedString(institutionId)).append("\n"); + sb.append(" institutionName: ").append(toIndentedString(institutionName)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/StatementsRefreshCompleteResult.java b/src/main/java/com/plaid/client/model/StatementsRefreshCompleteResult.java new file mode 100644 index 0000000000..6a8211e200 --- /dev/null +++ b/src/main/java/com/plaid/client/model/StatementsRefreshCompleteResult.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The result of the statement refresh extraction `SUCCESS`: The statements were successfully extracted and can be listed via `/statements/list` and downloaded via `/statements/download`. `FAILURE`: The statements failed to be extracted. + */ +@JsonAdapter(StatementsRefreshCompleteResult.Adapter.class) +public enum StatementsRefreshCompleteResult { + + SUCCESS("SUCCESS"), + + FAILURE("FAILURE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + StatementsRefreshCompleteResult(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatementsRefreshCompleteResult fromValue(String value) { + for (StatementsRefreshCompleteResult b : StatementsRefreshCompleteResult.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return StatementsRefreshCompleteResult.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatementsRefreshCompleteResult enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatementsRefreshCompleteResult read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatementsRefreshCompleteResult.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/StatementsRefreshCompleteWebhook.java b/src/main/java/com/plaid/client/model/StatementsRefreshCompleteWebhook.java new file mode 100644 index 0000000000..1c0fe9a0f1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/StatementsRefreshCompleteWebhook.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.StatementsRefreshCompleteResult; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when refreshed statements extraction is completed or failed to be completed. Triggered by calling `/statements/refresh`. + */ +@ApiModel(description = "Fired when refreshed statements extraction is completed or failed to be completed. Triggered by calling `/statements/refresh`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StatementsRefreshCompleteWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_RESULT = "result"; + @SerializedName(SERIALIZED_NAME_RESULT) + private StatementsRefreshCompleteResult result; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public StatementsRefreshCompleteWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `STATEMENTS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`STATEMENTS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public StatementsRefreshCompleteWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `STATEMENTS_REFRESH_COMPLETE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`STATEMENTS_REFRESH_COMPLETE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public StatementsRefreshCompleteWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive. + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public StatementsRefreshCompleteWebhook result(StatementsRefreshCompleteResult result) { + + this.result = result; + return this; + } + + /** + * Get result + * @return result + **/ + @ApiModelProperty(required = true, value = "") + + public StatementsRefreshCompleteResult getResult() { + return result; + } + + + public void setResult(StatementsRefreshCompleteResult result) { + this.result = result; + } + + + public StatementsRefreshCompleteWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatementsRefreshCompleteWebhook statementsRefreshCompleteWebhook = (StatementsRefreshCompleteWebhook) o; + return Objects.equals(this.webhookType, statementsRefreshCompleteWebhook.webhookType) && + Objects.equals(this.webhookCode, statementsRefreshCompleteWebhook.webhookCode) && + Objects.equals(this.itemId, statementsRefreshCompleteWebhook.itemId) && + Objects.equals(this.result, statementsRefreshCompleteWebhook.result) && + Objects.equals(this.environment, statementsRefreshCompleteWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, result, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatementsRefreshCompleteWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" result: ").append(toIndentedString(result)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/StatementsRefreshRequest.java b/src/main/java/com/plaid/client/model/StatementsRefreshRequest.java new file mode 100644 index 0000000000..506be32afd --- /dev/null +++ b/src/main/java/com/plaid/client/model/StatementsRefreshRequest.java @@ -0,0 +1,213 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * StatementsRefreshRequest defines the request schema for `/statements/refresh` + */ +@ApiModel(description = "StatementsRefreshRequest defines the request schema for `/statements/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StatementsRefreshRequest { + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + + public StatementsRefreshRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public StatementsRefreshRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public StatementsRefreshRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public StatementsRefreshRequest startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date for statements, in \"YYYY-MM-DD\" format, e.g. \"2023-08-30\". To determine whether a statement falls within the specified date range, Plaid will use the statement posted date. The statement posted date is typically either the last day of the statement period, or the following day. + * @return startDate + **/ + @ApiModelProperty(required = true, value = "The start date for statements, in \"YYYY-MM-DD\" format, e.g. \"2023-08-30\". To determine whether a statement falls within the specified date range, Plaid will use the statement posted date. The statement posted date is typically either the last day of the statement period, or the following day.") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public StatementsRefreshRequest endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end date for statements, in \"YYYY-MM-DD\" format, e.g. \"2023-10-30\". You can request up to two years of data. To determine whether a statement falls within the specified date range, Plaid will use the statement posted date. The statement posted date is typically either the last day of the statement period, or the following day. + * @return endDate + **/ + @ApiModelProperty(required = true, value = "The end date for statements, in \"YYYY-MM-DD\" format, e.g. \"2023-10-30\". You can request up to two years of data. To determine whether a statement falls within the specified date range, Plaid will use the statement posted date. The statement posted date is typically either the last day of the statement period, or the following day.") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatementsRefreshRequest statementsRefreshRequest = (StatementsRefreshRequest) o; + return Objects.equals(this.accessToken, statementsRefreshRequest.accessToken) && + Objects.equals(this.clientId, statementsRefreshRequest.clientId) && + Objects.equals(this.secret, statementsRefreshRequest.secret) && + Objects.equals(this.startDate, statementsRefreshRequest.startDate) && + Objects.equals(this.endDate, statementsRefreshRequest.endDate); + } + + @Override + public int hashCode() { + return Objects.hash(accessToken, clientId, secret, startDate, endDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatementsRefreshRequest {\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/StatementsRefreshResponse.java b/src/main/java/com/plaid/client/model/StatementsRefreshResponse.java new file mode 100644 index 0000000000..c15b4fcc9a --- /dev/null +++ b/src/main/java/com/plaid/client/model/StatementsRefreshResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * StatementsRefreshResponse defines the response schema for `/statements/refresh` + */ +@ApiModel(description = "StatementsRefreshResponse defines the response schema for `/statements/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StatementsRefreshResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public StatementsRefreshResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatementsRefreshResponse statementsRefreshResponse = (StatementsRefreshResponse) o; + return Objects.equals(this.requestId, statementsRefreshResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatementsRefreshResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/StatementsStatement.java b/src/main/java/com/plaid/client/model/StatementsStatement.java new file mode 100644 index 0000000000..2268c39373 --- /dev/null +++ b/src/main/java/com/plaid/client/model/StatementsStatement.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * A statement's metadata associated with an account + */ +@ApiModel(description = "A statement's metadata associated with an account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StatementsStatement { + public static final String SERIALIZED_NAME_STATEMENT_ID = "statement_id"; + @SerializedName(SERIALIZED_NAME_STATEMENT_ID) + private String statementId; + + public static final String SERIALIZED_NAME_DATE_POSTED = "date_posted"; + @SerializedName(SERIALIZED_NAME_DATE_POSTED) + private LocalDate datePosted; + + public static final String SERIALIZED_NAME_MONTH = "month"; + @SerializedName(SERIALIZED_NAME_MONTH) + private Integer month; + + public static final String SERIALIZED_NAME_YEAR = "year"; + @SerializedName(SERIALIZED_NAME_YEAR) + private Integer year; + + + public StatementsStatement statementId(String statementId) { + + this.statementId = statementId; + return this; + } + + /** + * Plaid's unique identifier for the statement. + * @return statementId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the statement.") + + public String getStatementId() { + return statementId; + } + + + public void setStatementId(String statementId) { + this.statementId = statementId; + } + + + public StatementsStatement datePosted(LocalDate datePosted) { + + this.datePosted = datePosted; + return this; + } + + /** + * Date when the statement was posted by the FI, if known + * @return datePosted + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Date when the statement was posted by the FI, if known") + + public LocalDate getDatePosted() { + return datePosted; + } + + + public void setDatePosted(LocalDate datePosted) { + this.datePosted = datePosted; + } + + + public StatementsStatement month(Integer month) { + + this.month = month; + return this; + } + + /** + * Month of the year. Possible values: 1 through 12 (January through December). + * @return month + **/ + @ApiModelProperty(required = true, value = "Month of the year. Possible values: 1 through 12 (January through December).") + + public Integer getMonth() { + return month; + } + + + public void setMonth(Integer month) { + this.month = month; + } + + + public StatementsStatement year(Integer year) { + + this.year = year; + return this; + } + + /** + * The year of the statement, e.g. 2024. + * minimum: 2010 + * @return year + **/ + @ApiModelProperty(required = true, value = "The year of the statement, e.g. 2024.") + + public Integer getYear() { + return year; + } + + + public void setYear(Integer year) { + this.year = year; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatementsStatement statementsStatement = (StatementsStatement) o; + return Objects.equals(this.statementId, statementsStatement.statementId) && + Objects.equals(this.datePosted, statementsStatement.datePosted) && + Objects.equals(this.month, statementsStatement.month) && + Objects.equals(this.year, statementsStatement.year); + } + + @Override + public int hashCode() { + return Objects.hash(statementId, datePosted, month, year); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatementsStatement {\n"); + sb.append(" statementId: ").append(toIndentedString(statementId)).append("\n"); + sb.append(" datePosted: ").append(toIndentedString(datePosted)).append("\n"); + sb.append(" month: ").append(toIndentedString(month)).append("\n"); + sb.append(" year: ").append(toIndentedString(year)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Status.java b/src/main/java/com/plaid/client/model/Status.java new file mode 100644 index 0000000000..9ad9fee20c --- /dev/null +++ b/src/main/java/com/plaid/client/model/Status.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Status { + public static final String SERIALIZED_NAME_STATUS_CODE = "StatusCode"; + @SerializedName(SERIALIZED_NAME_STATUS_CODE) + private String statusCode; + + public static final String SERIALIZED_NAME_STATUS_DESCRIPTION = "StatusDescription"; + @SerializedName(SERIALIZED_NAME_STATUS_DESCRIPTION) + private String statusDescription; + + + public Status statusCode(String statusCode) { + + this.statusCode = statusCode; + return this; + } + + /** + * Status Code. + * @return statusCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Status Code.") + + public String getStatusCode() { + return statusCode; + } + + + public void setStatusCode(String statusCode) { + this.statusCode = statusCode; + } + + + public Status statusDescription(String statusDescription) { + + this.statusDescription = statusDescription; + return this; + } + + /** + * Status Description. + * @return statusDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Status Description.") + + public String getStatusDescription() { + return statusDescription; + } + + + public void setStatusDescription(String statusDescription) { + this.statusDescription = statusDescription; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Status status = (Status) o; + return Objects.equals(this.statusCode, status.statusCode) && + Objects.equals(this.statusDescription, status.statusDescription); + } + + @Override + public int hashCode() { + return Objects.hash(statusCode, statusDescription); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Status {\n"); + sb.append(" statusCode: ").append(toIndentedString(statusCode)).append("\n"); + sb.append(" statusDescription: ").append(toIndentedString(statusDescription)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Statuses.java b/src/main/java/com/plaid/client/model/Statuses.java new file mode 100644 index 0000000000..ea4a0ea8bf --- /dev/null +++ b/src/main/java/com/plaid/client/model/Statuses.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Status; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A collection of STATUS containers. + */ +@ApiModel(description = "A collection of STATUS containers.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Statuses { + public static final String SERIALIZED_NAME_S_T_A_T_U_S = "STATUS"; + @SerializedName(SERIALIZED_NAME_S_T_A_T_U_S) + private Status STATUS; + + + public Statuses STATUS(Status STATUS) { + + this.STATUS = STATUS; + return this; + } + + /** + * Get STATUS + * @return STATUS + **/ + @ApiModelProperty(required = true, value = "") + + public Status getSTATUS() { + return STATUS; + } + + + public void setSTATUS(Status STATUS) { + this.STATUS = STATUS; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Statuses statuses = (Statuses) o; + return Objects.equals(this.STATUS, statuses.STATUS); + } + + @Override + public int hashCode() { + return Objects.hash(STATUS); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Statuses {\n"); + sb.append(" STATUS: ").append(toIndentedString(STATUS)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Strategy.java b/src/main/java/com/plaid/client/model/Strategy.java new file mode 100644 index 0000000000..4017c6646b --- /dev/null +++ b/src/main/java/com/plaid/client/model/Strategy.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An instruction specifying what steps the new Identity Verification attempt should require the user to complete: `reset` - Restart the user at the beginning of the session, regardless of whether they successfully completed part of their previous session. `incomplete` - Start the new session at the step that the user failed in the previous session, skipping steps that have already been successfully completed. `infer` - If the most recent Identity Verification attempt associated with the given `client_user_id` has a status of `failed` or `expired`, retry using the `incomplete` strategy. Otherwise, use the `reset` strategy. `custom` - Start the new session with a custom configuration, specified by the value of the `steps` field Note: The `incomplete` strategy cannot be applied if the session's failing step is `watchlist_screening` or `risk_check`. The `infer` strategy cannot be applied if the session's status is still `active` + */ +@JsonAdapter(Strategy.Adapter.class) +public enum Strategy { + + RESET("reset"), + + INCOMPLETE("incomplete"), + + INFER("infer"), + + CUSTOM("custom"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + Strategy(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static Strategy fromValue(String value) { + for (Strategy b : Strategy.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return Strategy.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final Strategy enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public Strategy read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return Strategy.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/StudentLoan.java b/src/main/java/com/plaid/client/model/StudentLoan.java new file mode 100644 index 0000000000..98c2603415 --- /dev/null +++ b/src/main/java/com/plaid/client/model/StudentLoan.java @@ -0,0 +1,802 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PSLFStatus; +import com.plaid.client.model.ServicerAddressData; +import com.plaid.client.model.StudentLoanStatus; +import com.plaid.client.model.StudentRepaymentPlan; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * Contains details about a student loan account + */ +@ApiModel(description = "Contains details about a student loan account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StudentLoan { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ACCOUNT_NUMBER = "account_number"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBER) + private String accountNumber; + + public static final String SERIALIZED_NAME_DISBURSEMENT_DATES = "disbursement_dates"; + @SerializedName(SERIALIZED_NAME_DISBURSEMENT_DATES) + private List disbursementDates = new ArrayList<>(); + + public static final String SERIALIZED_NAME_EXPECTED_PAYOFF_DATE = "expected_payoff_date"; + @SerializedName(SERIALIZED_NAME_EXPECTED_PAYOFF_DATE) + private LocalDate expectedPayoffDate; + + public static final String SERIALIZED_NAME_GUARANTOR = "guarantor"; + @SerializedName(SERIALIZED_NAME_GUARANTOR) + private String guarantor; + + public static final String SERIALIZED_NAME_INTEREST_RATE_PERCENTAGE = "interest_rate_percentage"; + @SerializedName(SERIALIZED_NAME_INTEREST_RATE_PERCENTAGE) + private Double interestRatePercentage; + + public static final String SERIALIZED_NAME_IS_OVERDUE = "is_overdue"; + @SerializedName(SERIALIZED_NAME_IS_OVERDUE) + private Boolean isOverdue; + + public static final String SERIALIZED_NAME_LAST_PAYMENT_AMOUNT = "last_payment_amount"; + @SerializedName(SERIALIZED_NAME_LAST_PAYMENT_AMOUNT) + private Double lastPaymentAmount; + + public static final String SERIALIZED_NAME_LAST_PAYMENT_DATE = "last_payment_date"; + @SerializedName(SERIALIZED_NAME_LAST_PAYMENT_DATE) + private LocalDate lastPaymentDate; + + public static final String SERIALIZED_NAME_LAST_STATEMENT_BALANCE = "last_statement_balance"; + @SerializedName(SERIALIZED_NAME_LAST_STATEMENT_BALANCE) + private Double lastStatementBalance; + + public static final String SERIALIZED_NAME_LAST_STATEMENT_ISSUE_DATE = "last_statement_issue_date"; + @SerializedName(SERIALIZED_NAME_LAST_STATEMENT_ISSUE_DATE) + private LocalDate lastStatementIssueDate; + + public static final String SERIALIZED_NAME_LOAN_NAME = "loan_name"; + @SerializedName(SERIALIZED_NAME_LOAN_NAME) + private String loanName; + + public static final String SERIALIZED_NAME_LOAN_STATUS = "loan_status"; + @SerializedName(SERIALIZED_NAME_LOAN_STATUS) + private StudentLoanStatus loanStatus; + + public static final String SERIALIZED_NAME_MINIMUM_PAYMENT_AMOUNT = "minimum_payment_amount"; + @SerializedName(SERIALIZED_NAME_MINIMUM_PAYMENT_AMOUNT) + private Double minimumPaymentAmount; + + public static final String SERIALIZED_NAME_NEXT_PAYMENT_DUE_DATE = "next_payment_due_date"; + @SerializedName(SERIALIZED_NAME_NEXT_PAYMENT_DUE_DATE) + private LocalDate nextPaymentDueDate; + + public static final String SERIALIZED_NAME_ORIGINATION_DATE = "origination_date"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_DATE) + private LocalDate originationDate; + + public static final String SERIALIZED_NAME_ORIGINATION_PRINCIPAL_AMOUNT = "origination_principal_amount"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_PRINCIPAL_AMOUNT) + private Double originationPrincipalAmount; + + public static final String SERIALIZED_NAME_OUTSTANDING_INTEREST_AMOUNT = "outstanding_interest_amount"; + @SerializedName(SERIALIZED_NAME_OUTSTANDING_INTEREST_AMOUNT) + private Double outstandingInterestAmount; + + public static final String SERIALIZED_NAME_PAYMENT_REFERENCE_NUMBER = "payment_reference_number"; + @SerializedName(SERIALIZED_NAME_PAYMENT_REFERENCE_NUMBER) + private String paymentReferenceNumber; + + public static final String SERIALIZED_NAME_PSLF_STATUS = "pslf_status"; + @SerializedName(SERIALIZED_NAME_PSLF_STATUS) + private PSLFStatus pslfStatus; + + public static final String SERIALIZED_NAME_REPAYMENT_PLAN = "repayment_plan"; + @SerializedName(SERIALIZED_NAME_REPAYMENT_PLAN) + private StudentRepaymentPlan repaymentPlan; + + public static final String SERIALIZED_NAME_SEQUENCE_NUMBER = "sequence_number"; + @SerializedName(SERIALIZED_NAME_SEQUENCE_NUMBER) + private String sequenceNumber; + + public static final String SERIALIZED_NAME_SERVICER_ADDRESS = "servicer_address"; + @SerializedName(SERIALIZED_NAME_SERVICER_ADDRESS) + private ServicerAddressData servicerAddress; + + public static final String SERIALIZED_NAME_YTD_INTEREST_PAID = "ytd_interest_paid"; + @SerializedName(SERIALIZED_NAME_YTD_INTEREST_PAID) + private Double ytdInterestPaid; + + public static final String SERIALIZED_NAME_YTD_PRINCIPAL_PAID = "ytd_principal_paid"; + @SerializedName(SERIALIZED_NAME_YTD_PRINCIPAL_PAID) + private Double ytdPrincipalPaid; + + + public StudentLoan accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account that this liability belongs to. Each account can only contain one liability. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ID of the account that this liability belongs to. Each account can only contain one liability.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public StudentLoan accountNumber(String accountNumber) { + + this.accountNumber = accountNumber; + return this; + } + + /** + * The account number of the loan. For some institutions, this may be a masked version of the number (e.g., the last 4 digits instead of the entire number). + * @return accountNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The account number of the loan. For some institutions, this may be a masked version of the number (e.g., the last 4 digits instead of the entire number).") + + public String getAccountNumber() { + return accountNumber; + } + + + public void setAccountNumber(String accountNumber) { + this.accountNumber = accountNumber; + } + + + public StudentLoan disbursementDates(List disbursementDates) { + + this.disbursementDates = disbursementDates; + return this; + } + + public StudentLoan addDisbursementDatesItem(LocalDate disbursementDatesItem) { + this.disbursementDates.add(disbursementDatesItem); + return this; + } + + /** + * The dates on which loaned funds were disbursed or will be disbursed. These are often in the past. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return disbursementDates + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The dates on which loaned funds were disbursed or will be disbursed. These are often in the past. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public List getDisbursementDates() { + return disbursementDates; + } + + + public void setDisbursementDates(List disbursementDates) { + this.disbursementDates = disbursementDates; + } + + + public StudentLoan expectedPayoffDate(LocalDate expectedPayoffDate) { + + this.expectedPayoffDate = expectedPayoffDate; + return this; + } + + /** + * The date when the student loan is expected to be paid off. Availability for this field is limited. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return expectedPayoffDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date when the student loan is expected to be paid off. Availability for this field is limited. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getExpectedPayoffDate() { + return expectedPayoffDate; + } + + + public void setExpectedPayoffDate(LocalDate expectedPayoffDate) { + this.expectedPayoffDate = expectedPayoffDate; + } + + + public StudentLoan guarantor(String guarantor) { + + this.guarantor = guarantor; + return this; + } + + /** + * The guarantor of the student loan. + * @return guarantor + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The guarantor of the student loan.") + + public String getGuarantor() { + return guarantor; + } + + + public void setGuarantor(String guarantor) { + this.guarantor = guarantor; + } + + + public StudentLoan interestRatePercentage(Double interestRatePercentage) { + + this.interestRatePercentage = interestRatePercentage; + return this; + } + + /** + * The interest rate on the loan as a percentage. + * @return interestRatePercentage + **/ + @ApiModelProperty(required = true, value = "The interest rate on the loan as a percentage.") + + public Double getInterestRatePercentage() { + return interestRatePercentage; + } + + + public void setInterestRatePercentage(Double interestRatePercentage) { + this.interestRatePercentage = interestRatePercentage; + } + + + public StudentLoan isOverdue(Boolean isOverdue) { + + this.isOverdue = isOverdue; + return this; + } + + /** + * `true` if a payment is currently overdue. Availability for this field is limited. + * @return isOverdue + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "`true` if a payment is currently overdue. Availability for this field is limited.") + + public Boolean getIsOverdue() { + return isOverdue; + } + + + public void setIsOverdue(Boolean isOverdue) { + this.isOverdue = isOverdue; + } + + + public StudentLoan lastPaymentAmount(Double lastPaymentAmount) { + + this.lastPaymentAmount = lastPaymentAmount; + return this; + } + + /** + * The amount of the last payment. + * @return lastPaymentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The amount of the last payment.") + + public Double getLastPaymentAmount() { + return lastPaymentAmount; + } + + + public void setLastPaymentAmount(Double lastPaymentAmount) { + this.lastPaymentAmount = lastPaymentAmount; + } + + + public StudentLoan lastPaymentDate(LocalDate lastPaymentDate) { + + this.lastPaymentDate = lastPaymentDate; + return this; + } + + /** + * The date of the last payment. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return lastPaymentDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date of the last payment. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getLastPaymentDate() { + return lastPaymentDate; + } + + + public void setLastPaymentDate(LocalDate lastPaymentDate) { + this.lastPaymentDate = lastPaymentDate; + } + + + public StudentLoan lastStatementBalance(Double lastStatementBalance) { + + this.lastStatementBalance = lastStatementBalance; + return this; + } + + /** + * The total amount owed as of the last statement issued + * @return lastStatementBalance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The total amount owed as of the last statement issued") + + public Double getLastStatementBalance() { + return lastStatementBalance; + } + + + public void setLastStatementBalance(Double lastStatementBalance) { + this.lastStatementBalance = lastStatementBalance; + } + + + public StudentLoan lastStatementIssueDate(LocalDate lastStatementIssueDate) { + + this.lastStatementIssueDate = lastStatementIssueDate; + return this; + } + + /** + * The date of the last statement. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return lastStatementIssueDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date of the last statement. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getLastStatementIssueDate() { + return lastStatementIssueDate; + } + + + public void setLastStatementIssueDate(LocalDate lastStatementIssueDate) { + this.lastStatementIssueDate = lastStatementIssueDate; + } + + + public StudentLoan loanName(String loanName) { + + this.loanName = loanName; + return this; + } + + /** + * The type of loan, e.g., \"Consolidation Loans\". + * @return loanName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The type of loan, e.g., \"Consolidation Loans\".") + + public String getLoanName() { + return loanName; + } + + + public void setLoanName(String loanName) { + this.loanName = loanName; + } + + + public StudentLoan loanStatus(StudentLoanStatus loanStatus) { + + this.loanStatus = loanStatus; + return this; + } + + /** + * Get loanStatus + * @return loanStatus + **/ + @ApiModelProperty(required = true, value = "") + + public StudentLoanStatus getLoanStatus() { + return loanStatus; + } + + + public void setLoanStatus(StudentLoanStatus loanStatus) { + this.loanStatus = loanStatus; + } + + + public StudentLoan minimumPaymentAmount(Double minimumPaymentAmount) { + + this.minimumPaymentAmount = minimumPaymentAmount; + return this; + } + + /** + * The minimum payment due for the next billing cycle. There are some exceptions: Some institutions require a minimum payment across all loans associated with an account number. Our API presents that same minimum payment amount on each loan. The institutions that do this are: Great Lakes ( `ins_116861`), Firstmark (`ins_116295`), Commonbond Firstmark Services (`ins_116950`), Granite State (`ins_116308`), and Oklahoma Student Loan Authority (`ins_116945`). Firstmark (`ins_116295` ) and Navient (`ins_116248`) will display as $0 if there is an autopay program in effect. + * @return minimumPaymentAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The minimum payment due for the next billing cycle. There are some exceptions: Some institutions require a minimum payment across all loans associated with an account number. Our API presents that same minimum payment amount on each loan. The institutions that do this are: Great Lakes ( `ins_116861`), Firstmark (`ins_116295`), Commonbond Firstmark Services (`ins_116950`), Granite State (`ins_116308`), and Oklahoma Student Loan Authority (`ins_116945`). Firstmark (`ins_116295` ) and Navient (`ins_116248`) will display as $0 if there is an autopay program in effect.") + + public Double getMinimumPaymentAmount() { + return minimumPaymentAmount; + } + + + public void setMinimumPaymentAmount(Double minimumPaymentAmount) { + this.minimumPaymentAmount = minimumPaymentAmount; + } + + + public StudentLoan nextPaymentDueDate(LocalDate nextPaymentDueDate) { + + this.nextPaymentDueDate = nextPaymentDueDate; + return this; + } + + /** + * The due date for the next payment. The due date is `null` if a payment is not expected. A payment is not expected if `loan_status.type` is `deferment`, `in school`, `consolidated`, `paid in full`, or `transferred`. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return nextPaymentDueDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The due date for the next payment. The due date is `null` if a payment is not expected. A payment is not expected if `loan_status.type` is `deferment`, `in school`, `consolidated`, `paid in full`, or `transferred`. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).") + + public LocalDate getNextPaymentDueDate() { + return nextPaymentDueDate; + } + + + public void setNextPaymentDueDate(LocalDate nextPaymentDueDate) { + this.nextPaymentDueDate = nextPaymentDueDate; + } + + + public StudentLoan originationDate(LocalDate originationDate) { + + this.originationDate = originationDate; + return this; + } + + /** + * The date on which the loan was initially lent. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return originationDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date on which the loan was initially lent. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). ") + + public LocalDate getOriginationDate() { + return originationDate; + } + + + public void setOriginationDate(LocalDate originationDate) { + this.originationDate = originationDate; + } + + + public StudentLoan originationPrincipalAmount(Double originationPrincipalAmount) { + + this.originationPrincipalAmount = originationPrincipalAmount; + return this; + } + + /** + * The original principal balance of the loan. + * @return originationPrincipalAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The original principal balance of the loan.") + + public Double getOriginationPrincipalAmount() { + return originationPrincipalAmount; + } + + + public void setOriginationPrincipalAmount(Double originationPrincipalAmount) { + this.originationPrincipalAmount = originationPrincipalAmount; + } + + + public StudentLoan outstandingInterestAmount(Double outstandingInterestAmount) { + + this.outstandingInterestAmount = outstandingInterestAmount; + return this; + } + + /** + * The total dollar amount of the accrued interest balance. For Sallie Mae ( `ins_116944`), this amount is included in the current balance of the loan, so this field will return as `null`. + * @return outstandingInterestAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The total dollar amount of the accrued interest balance. For Sallie Mae ( `ins_116944`), this amount is included in the current balance of the loan, so this field will return as `null`.") + + public Double getOutstandingInterestAmount() { + return outstandingInterestAmount; + } + + + public void setOutstandingInterestAmount(Double outstandingInterestAmount) { + this.outstandingInterestAmount = outstandingInterestAmount; + } + + + public StudentLoan paymentReferenceNumber(String paymentReferenceNumber) { + + this.paymentReferenceNumber = paymentReferenceNumber; + return this; + } + + /** + * The relevant account number that should be used to reference this loan for payments. In the majority of cases, `payment_reference_number` will match `account_number`, but in some institutions, such as Great Lakes (`ins_116861`), it will be different. + * @return paymentReferenceNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The relevant account number that should be used to reference this loan for payments. In the majority of cases, `payment_reference_number` will match `account_number`, but in some institutions, such as Great Lakes (`ins_116861`), it will be different.") + + public String getPaymentReferenceNumber() { + return paymentReferenceNumber; + } + + + public void setPaymentReferenceNumber(String paymentReferenceNumber) { + this.paymentReferenceNumber = paymentReferenceNumber; + } + + + public StudentLoan pslfStatus(PSLFStatus pslfStatus) { + + this.pslfStatus = pslfStatus; + return this; + } + + /** + * Get pslfStatus + * @return pslfStatus + **/ + @ApiModelProperty(required = true, value = "") + + public PSLFStatus getPslfStatus() { + return pslfStatus; + } + + + public void setPslfStatus(PSLFStatus pslfStatus) { + this.pslfStatus = pslfStatus; + } + + + public StudentLoan repaymentPlan(StudentRepaymentPlan repaymentPlan) { + + this.repaymentPlan = repaymentPlan; + return this; + } + + /** + * Get repaymentPlan + * @return repaymentPlan + **/ + @ApiModelProperty(required = true, value = "") + + public StudentRepaymentPlan getRepaymentPlan() { + return repaymentPlan; + } + + + public void setRepaymentPlan(StudentRepaymentPlan repaymentPlan) { + this.repaymentPlan = repaymentPlan; + } + + + public StudentLoan sequenceNumber(String sequenceNumber) { + + this.sequenceNumber = sequenceNumber; + return this; + } + + /** + * The sequence number of the student loan. Heartland ECSI (`ins_116948`) does not make this field available. + * @return sequenceNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The sequence number of the student loan. Heartland ECSI (`ins_116948`) does not make this field available.") + + public String getSequenceNumber() { + return sequenceNumber; + } + + + public void setSequenceNumber(String sequenceNumber) { + this.sequenceNumber = sequenceNumber; + } + + + public StudentLoan servicerAddress(ServicerAddressData servicerAddress) { + + this.servicerAddress = servicerAddress; + return this; + } + + /** + * Get servicerAddress + * @return servicerAddress + **/ + @ApiModelProperty(required = true, value = "") + + public ServicerAddressData getServicerAddress() { + return servicerAddress; + } + + + public void setServicerAddress(ServicerAddressData servicerAddress) { + this.servicerAddress = servicerAddress; + } + + + public StudentLoan ytdInterestPaid(Double ytdInterestPaid) { + + this.ytdInterestPaid = ytdInterestPaid; + return this; + } + + /** + * The year to date (YTD) interest paid. Availability for this field is limited. + * @return ytdInterestPaid + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The year to date (YTD) interest paid. Availability for this field is limited.") + + public Double getYtdInterestPaid() { + return ytdInterestPaid; + } + + + public void setYtdInterestPaid(Double ytdInterestPaid) { + this.ytdInterestPaid = ytdInterestPaid; + } + + + public StudentLoan ytdPrincipalPaid(Double ytdPrincipalPaid) { + + this.ytdPrincipalPaid = ytdPrincipalPaid; + return this; + } + + /** + * The year to date (YTD) principal paid. Availability for this field is limited. + * @return ytdPrincipalPaid + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The year to date (YTD) principal paid. Availability for this field is limited.") + + public Double getYtdPrincipalPaid() { + return ytdPrincipalPaid; + } + + + public void setYtdPrincipalPaid(Double ytdPrincipalPaid) { + this.ytdPrincipalPaid = ytdPrincipalPaid; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StudentLoan studentLoan = (StudentLoan) o; + return Objects.equals(this.accountId, studentLoan.accountId) && + Objects.equals(this.accountNumber, studentLoan.accountNumber) && + Objects.equals(this.disbursementDates, studentLoan.disbursementDates) && + Objects.equals(this.expectedPayoffDate, studentLoan.expectedPayoffDate) && + Objects.equals(this.guarantor, studentLoan.guarantor) && + Objects.equals(this.interestRatePercentage, studentLoan.interestRatePercentage) && + Objects.equals(this.isOverdue, studentLoan.isOverdue) && + Objects.equals(this.lastPaymentAmount, studentLoan.lastPaymentAmount) && + Objects.equals(this.lastPaymentDate, studentLoan.lastPaymentDate) && + Objects.equals(this.lastStatementBalance, studentLoan.lastStatementBalance) && + Objects.equals(this.lastStatementIssueDate, studentLoan.lastStatementIssueDate) && + Objects.equals(this.loanName, studentLoan.loanName) && + Objects.equals(this.loanStatus, studentLoan.loanStatus) && + Objects.equals(this.minimumPaymentAmount, studentLoan.minimumPaymentAmount) && + Objects.equals(this.nextPaymentDueDate, studentLoan.nextPaymentDueDate) && + Objects.equals(this.originationDate, studentLoan.originationDate) && + Objects.equals(this.originationPrincipalAmount, studentLoan.originationPrincipalAmount) && + Objects.equals(this.outstandingInterestAmount, studentLoan.outstandingInterestAmount) && + Objects.equals(this.paymentReferenceNumber, studentLoan.paymentReferenceNumber) && + Objects.equals(this.pslfStatus, studentLoan.pslfStatus) && + Objects.equals(this.repaymentPlan, studentLoan.repaymentPlan) && + Objects.equals(this.sequenceNumber, studentLoan.sequenceNumber) && + Objects.equals(this.servicerAddress, studentLoan.servicerAddress) && + Objects.equals(this.ytdInterestPaid, studentLoan.ytdInterestPaid) && + Objects.equals(this.ytdPrincipalPaid, studentLoan.ytdPrincipalPaid); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, accountNumber, disbursementDates, expectedPayoffDate, guarantor, interestRatePercentage, isOverdue, lastPaymentAmount, lastPaymentDate, lastStatementBalance, lastStatementIssueDate, loanName, loanStatus, minimumPaymentAmount, nextPaymentDueDate, originationDate, originationPrincipalAmount, outstandingInterestAmount, paymentReferenceNumber, pslfStatus, repaymentPlan, sequenceNumber, servicerAddress, ytdInterestPaid, ytdPrincipalPaid); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StudentLoan {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).append("\n"); + sb.append(" disbursementDates: ").append(toIndentedString(disbursementDates)).append("\n"); + sb.append(" expectedPayoffDate: ").append(toIndentedString(expectedPayoffDate)).append("\n"); + sb.append(" guarantor: ").append(toIndentedString(guarantor)).append("\n"); + sb.append(" interestRatePercentage: ").append(toIndentedString(interestRatePercentage)).append("\n"); + sb.append(" isOverdue: ").append(toIndentedString(isOverdue)).append("\n"); + sb.append(" lastPaymentAmount: ").append(toIndentedString(lastPaymentAmount)).append("\n"); + sb.append(" lastPaymentDate: ").append(toIndentedString(lastPaymentDate)).append("\n"); + sb.append(" lastStatementBalance: ").append(toIndentedString(lastStatementBalance)).append("\n"); + sb.append(" lastStatementIssueDate: ").append(toIndentedString(lastStatementIssueDate)).append("\n"); + sb.append(" loanName: ").append(toIndentedString(loanName)).append("\n"); + sb.append(" loanStatus: ").append(toIndentedString(loanStatus)).append("\n"); + sb.append(" minimumPaymentAmount: ").append(toIndentedString(minimumPaymentAmount)).append("\n"); + sb.append(" nextPaymentDueDate: ").append(toIndentedString(nextPaymentDueDate)).append("\n"); + sb.append(" originationDate: ").append(toIndentedString(originationDate)).append("\n"); + sb.append(" originationPrincipalAmount: ").append(toIndentedString(originationPrincipalAmount)).append("\n"); + sb.append(" outstandingInterestAmount: ").append(toIndentedString(outstandingInterestAmount)).append("\n"); + sb.append(" paymentReferenceNumber: ").append(toIndentedString(paymentReferenceNumber)).append("\n"); + sb.append(" pslfStatus: ").append(toIndentedString(pslfStatus)).append("\n"); + sb.append(" repaymentPlan: ").append(toIndentedString(repaymentPlan)).append("\n"); + sb.append(" sequenceNumber: ").append(toIndentedString(sequenceNumber)).append("\n"); + sb.append(" servicerAddress: ").append(toIndentedString(servicerAddress)).append("\n"); + sb.append(" ytdInterestPaid: ").append(toIndentedString(ytdInterestPaid)).append("\n"); + sb.append(" ytdPrincipalPaid: ").append(toIndentedString(ytdPrincipalPaid)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/StudentLoanRepaymentModel.java b/src/main/java/com/plaid/client/model/StudentLoanRepaymentModel.java new file mode 100644 index 0000000000..1e6348b424 --- /dev/null +++ b/src/main/java/com/plaid/client/model/StudentLoanRepaymentModel.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Student loan repayment information used to configure Sandbox test data for the Liabilities product + */ +@ApiModel(description = "Student loan repayment information used to configure Sandbox test data for the Liabilities product") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StudentLoanRepaymentModel { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_NON_REPAYMENT_MONTHS = "non_repayment_months"; + @SerializedName(SERIALIZED_NAME_NON_REPAYMENT_MONTHS) + private Double nonRepaymentMonths; + + public static final String SERIALIZED_NAME_REPAYMENT_MONTHS = "repayment_months"; + @SerializedName(SERIALIZED_NAME_REPAYMENT_MONTHS) + private Double repaymentMonths; + + + public StudentLoanRepaymentModel type(String type) { + + this.type = type; + return this; + } + + /** + * The only currently supported value for this field is `standard`. + * @return type + **/ + @ApiModelProperty(required = true, value = "The only currently supported value for this field is `standard`.") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public StudentLoanRepaymentModel nonRepaymentMonths(Double nonRepaymentMonths) { + + this.nonRepaymentMonths = nonRepaymentMonths; + return this; + } + + /** + * Configures the number of months before repayment starts. + * @return nonRepaymentMonths + **/ + @ApiModelProperty(required = true, value = "Configures the number of months before repayment starts.") + + public Double getNonRepaymentMonths() { + return nonRepaymentMonths; + } + + + public void setNonRepaymentMonths(Double nonRepaymentMonths) { + this.nonRepaymentMonths = nonRepaymentMonths; + } + + + public StudentLoanRepaymentModel repaymentMonths(Double repaymentMonths) { + + this.repaymentMonths = repaymentMonths; + return this; + } + + /** + * Configures the number of months of repayments before the loan is paid off. + * @return repaymentMonths + **/ + @ApiModelProperty(required = true, value = "Configures the number of months of repayments before the loan is paid off.") + + public Double getRepaymentMonths() { + return repaymentMonths; + } + + + public void setRepaymentMonths(Double repaymentMonths) { + this.repaymentMonths = repaymentMonths; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StudentLoanRepaymentModel studentLoanRepaymentModel = (StudentLoanRepaymentModel) o; + return Objects.equals(this.type, studentLoanRepaymentModel.type) && + Objects.equals(this.nonRepaymentMonths, studentLoanRepaymentModel.nonRepaymentMonths) && + Objects.equals(this.repaymentMonths, studentLoanRepaymentModel.repaymentMonths); + } + + @Override + public int hashCode() { + return Objects.hash(type, nonRepaymentMonths, repaymentMonths); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StudentLoanRepaymentModel {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" nonRepaymentMonths: ").append(toIndentedString(nonRepaymentMonths)).append("\n"); + sb.append(" repaymentMonths: ").append(toIndentedString(repaymentMonths)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/StudentLoanStatus.java b/src/main/java/com/plaid/client/model/StudentLoanStatus.java new file mode 100644 index 0000000000..29f1814bf1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/StudentLoanStatus.java @@ -0,0 +1,210 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An object representing the status of the student loan + */ +@ApiModel(description = "An object representing the status of the student loan") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StudentLoanStatus { + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + /** + * The status type of the student loan + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + CANCELLED("cancelled"), + + CHARGED_OFF("charged off"), + + CLAIM("claim"), + + CONSOLIDATED("consolidated"), + + DEFERMENT("deferment"), + + DELINQUENT("delinquent"), + + DISCHARGED("discharged"), + + EXTENSION("extension"), + + FORBEARANCE("forbearance"), + + IN_GRACE("in grace"), + + IN_MILITARY("in military"), + + IN_SCHOOL("in school"), + + NOT_FULLY_DISBURSED("not fully disbursed"), + + OTHER("other"), + + PAID_IN_FULL("paid in full"), + + REFUNDED("refunded"), + + REPAYMENT("repayment"), + + TRANSFERRED("transferred"), + + PENDING_IDR("pending idr"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + + public StudentLoanStatus endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The date until which the loan will be in its current status. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date until which the loan will be in its current status. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). ") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + public StudentLoanStatus type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * The status type of the student loan + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The status type of the student loan") + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StudentLoanStatus studentLoanStatus = (StudentLoanStatus) o; + return Objects.equals(this.endDate, studentLoanStatus.endDate) && + Objects.equals(this.type, studentLoanStatus.type); + } + + @Override + public int hashCode() { + return Objects.hash(endDate, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StudentLoanStatus {\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/StudentRepaymentPlan.java b/src/main/java/com/plaid/client/model/StudentRepaymentPlan.java new file mode 100644 index 0000000000..b3a480f640 --- /dev/null +++ b/src/main/java/com/plaid/client/model/StudentRepaymentPlan.java @@ -0,0 +1,197 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing the repayment plan for the student loan + */ +@ApiModel(description = "An object representing the repayment plan for the student loan") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class StudentRepaymentPlan { + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + /** + * The type of the repayment plan. + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + EXTENDED_GRADUATED("extended graduated"), + + EXTENDED_STANDARD("extended standard"), + + GRADUATED("graduated"), + + INCOME_CONTINGENT_REPAYMENT("income-contingent repayment"), + + INCOME_BASED_REPAYMENT("income-based repayment"), + + INCOME_SENSITIVE_REPAYMENT("income-sensitive repayment"), + + INTEREST_ONLY("interest only"), + + OTHER("other"), + + PAY_AS_YOU_EARN("pay as you earn"), + + REVISED_PAY_AS_YOU_EARN("revised pay as you earn"), + + STANDARD("standard"), + + SAVING_ON_A_VALUABLE_EDUCATION("saving on a valuable education"), + + NULL("null"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + + public StudentRepaymentPlan description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the repayment plan as provided by the servicer. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The description of the repayment plan as provided by the servicer.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public StudentRepaymentPlan type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * The type of the repayment plan. + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The type of the repayment plan.") + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StudentRepaymentPlan studentRepaymentPlan = (StudentRepaymentPlan) o; + return Objects.equals(this.description, studentRepaymentPlan.description) && + Objects.equals(this.type, studentRepaymentPlan.type); + } + + @Override + public int hashCode() { + return Objects.hash(description, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StudentRepaymentPlan {\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SweepFailure.java b/src/main/java/com/plaid/client/model/SweepFailure.java new file mode 100644 index 0000000000..7ff49921fc --- /dev/null +++ b/src/main/java/com/plaid/client/model/SweepFailure.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The failure reason if the status for a sweep is `\"failed\"` or `\"returned\"`. Null value otherwise. + */ +@ApiModel(description = "The failure reason if the status for a sweep is `\"failed\"` or `\"returned\"`. Null value otherwise.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SweepFailure { + public static final String SERIALIZED_NAME_FAILURE_CODE = "failure_code"; + @SerializedName(SERIALIZED_NAME_FAILURE_CODE) + private String failureCode; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + + public SweepFailure failureCode(String failureCode) { + + this.failureCode = failureCode; + return this; + } + + /** + * The failure code, e.g. `R01`. A failure code will be provided if and only if the sweep status is `returned`. See [ACH return codes](https://plaid.com/docs/errors/transfer/#ach-return-codes) for a full listing of ACH return codes and [RTP/RfP error codes](https://plaid.com/docs/errors/transfer/#rtprfp-error-codes) for RTP error codes. + * @return failureCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The failure code, e.g. `R01`. A failure code will be provided if and only if the sweep status is `returned`. See [ACH return codes](https://plaid.com/docs/errors/transfer/#ach-return-codes) for a full listing of ACH return codes and [RTP/RfP error codes](https://plaid.com/docs/errors/transfer/#rtprfp-error-codes) for RTP error codes.") + + public String getFailureCode() { + return failureCode; + } + + + public void setFailureCode(String failureCode) { + this.failureCode = failureCode; + } + + + public SweepFailure description(String description) { + + this.description = description; + return this; + } + + /** + * A human-readable description of the reason for the failure or reversal. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A human-readable description of the reason for the failure or reversal.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SweepFailure sweepFailure = (SweepFailure) o; + return Objects.equals(this.failureCode, sweepFailure.failureCode) && + Objects.equals(this.description, sweepFailure.description); + } + + @Override + public int hashCode() { + return Objects.hash(failureCode, description); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SweepFailure {\n"); + sb.append(" failureCode: ").append(toIndentedString(failureCode)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SweepStatus.java b/src/main/java/com/plaid/client/model/SweepStatus.java new file mode 100644 index 0000000000..86095435b0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/SweepStatus.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of a sweep transfer `\"pending\"` - The sweep is currently pending `\"posted\"` - The sweep has been posted `\"settled\"` - The sweep has settled. This is the terminal state of a successful credit sweep. `\"returned\"` - The sweep has been returned. This is the terminal state of a returned sweep. Returns of a sweep are extremely rare, since sweeps are money movement between your own bank account and your own Ledger. `\"funds_available\"` - Funds from the sweep have been released from hold and applied to the ledger's available balance. (Only applicable to deposits.) This is the terminal state of a successful deposit sweep. `\"failed\"` - The sweep has failed. This is the terminal state of a failed sweep. + */ +@JsonAdapter(SweepStatus.Adapter.class) +public enum SweepStatus { + + PENDING("pending"), + + POSTED("posted"), + + SETTLED("settled"), + + FUNDS_AVAILABLE("funds_available"), + + RETURNED("returned"), + + FAILED("failed"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SweepStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SweepStatus fromValue(String value) { + for (SweepStatus b : SweepStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SweepStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SweepStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SweepStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SweepTrigger.java b/src/main/java/com/plaid/client/model/SweepTrigger.java new file mode 100644 index 0000000000..7d06befe2a --- /dev/null +++ b/src/main/java/com/plaid/client/model/SweepTrigger.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The trigger of the sweep `\"manual\"` - The sweep is created manually by the customer `\"incoming\"` - The sweep is created by incoming funds flow (e.g. Incoming Wire) `\"balance_threshold\"` - The sweep is created by balance threshold setting `\"automatic_aggregate\"` - The sweep is created by the Plaid automatic aggregation process. These funds did not pass through the Plaid Ledger balance. + */ +@JsonAdapter(SweepTrigger.Adapter.class) +public enum SweepTrigger { + + MANUAL("manual"), + + INCOMING("incoming"), + + BALANCE_THRESHOLD("balance_threshold"), + + AUTOMATIC_AGGREGATE("automatic_aggregate"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + SweepTrigger(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SweepTrigger fromValue(String value) { + for (SweepTrigger b : SweepTrigger.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SweepTrigger enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SweepTrigger read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SweepTrigger.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/SyncUpdatesAvailableWebhook.java b/src/main/java/com/plaid/client/model/SyncUpdatesAvailableWebhook.java new file mode 100644 index 0000000000..7c365c969b --- /dev/null +++ b/src/main/java/com/plaid/client/model/SyncUpdatesAvailableWebhook.java @@ -0,0 +1,268 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when an Item's transactions change. This can be due to any event resulting in new changes, such as an initial 30-day transactions fetch upon the initialization of an Item with transactions, the backfill of historical transactions that occurs shortly after, or when changes are populated from a regularly-scheduled transactions update job. It is recommended to listen for the `SYNC_UPDATES_AVAILABLE` webhook when using the `/transactions/sync` endpoint. Note that when using `/transactions/sync` the older webhooks `INITIAL_UPDATE`, `HISTORICAL_UPDATE`, `DEFAULT_UPDATE`, and `TRANSACTIONS_REMOVED`, which are intended for use with `/transactions/get`, will also continue to be sent in order to maintain backwards compatibility. It is not necessary to listen for and respond to those webhooks when using `/transactions/sync`. After receipt of this webhook, the new changes can be fetched for the Item from `/transactions/sync`. Note that to receive this webhook for an Item, `/transactions/sync` must have been called at least once on that Item. This means that, unlike the `INITIAL_UPDATE` and `HISTORICAL_UPDATE` webhooks, it will not fire immediately upon Item creation. If `/transactions/sync` is called on an Item that was *not* initialized with Transactions, the webhook will fire twice: once the first 30 days of transactions data has been fetched, and a second time when all available historical transactions data has been fetched. This webhook will fire in the Sandbox environment as it would in Production. It can also be manually triggered in Sandbox by calling `/sandbox/item/fire_webhook`. + */ +@ApiModel(description = "Fired when an Item's transactions change. This can be due to any event resulting in new changes, such as an initial 30-day transactions fetch upon the initialization of an Item with transactions, the backfill of historical transactions that occurs shortly after, or when changes are populated from a regularly-scheduled transactions update job. It is recommended to listen for the `SYNC_UPDATES_AVAILABLE` webhook when using the `/transactions/sync` endpoint. Note that when using `/transactions/sync` the older webhooks `INITIAL_UPDATE`, `HISTORICAL_UPDATE`, `DEFAULT_UPDATE`, and `TRANSACTIONS_REMOVED`, which are intended for use with `/transactions/get`, will also continue to be sent in order to maintain backwards compatibility. It is not necessary to listen for and respond to those webhooks when using `/transactions/sync`. After receipt of this webhook, the new changes can be fetched for the Item from `/transactions/sync`. Note that to receive this webhook for an Item, `/transactions/sync` must have been called at least once on that Item. This means that, unlike the `INITIAL_UPDATE` and `HISTORICAL_UPDATE` webhooks, it will not fire immediately upon Item creation. If `/transactions/sync` is called on an Item that was *not* initialized with Transactions, the webhook will fire twice: once the first 30 days of transactions data has been fetched, and a second time when all available historical transactions data has been fetched. This webhook will fire in the Sandbox environment as it would in Production. It can also be manually triggered in Sandbox by calling `/sandbox/item/fire_webhook`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SyncUpdatesAvailableWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_INITIAL_UPDATE_COMPLETE = "initial_update_complete"; + @SerializedName(SERIALIZED_NAME_INITIAL_UPDATE_COMPLETE) + private Boolean initialUpdateComplete; + + public static final String SERIALIZED_NAME_HISTORICAL_UPDATE_COMPLETE = "historical_update_complete"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_UPDATE_COMPLETE) + private Boolean historicalUpdateComplete; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public SyncUpdatesAvailableWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public SyncUpdatesAvailableWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `SYNC_UPDATES_AVAILABLE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`SYNC_UPDATES_AVAILABLE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public SyncUpdatesAvailableWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public SyncUpdatesAvailableWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public SyncUpdatesAvailableWebhook initialUpdateComplete(Boolean initialUpdateComplete) { + + this.initialUpdateComplete = initialUpdateComplete; + return this; + } + + /** + * Indicates if initial pull information (most recent 30 days of transaction history) is available. + * @return initialUpdateComplete + **/ + @ApiModelProperty(required = true, value = "Indicates if initial pull information (most recent 30 days of transaction history) is available.") + + public Boolean getInitialUpdateComplete() { + return initialUpdateComplete; + } + + + public void setInitialUpdateComplete(Boolean initialUpdateComplete) { + this.initialUpdateComplete = initialUpdateComplete; + } + + + public SyncUpdatesAvailableWebhook historicalUpdateComplete(Boolean historicalUpdateComplete) { + + this.historicalUpdateComplete = historicalUpdateComplete; + return this; + } + + /** + * Indicates if historical pull information (maximum transaction history requested, up to 2 years) is available. + * @return historicalUpdateComplete + **/ + @ApiModelProperty(required = true, value = "Indicates if historical pull information (maximum transaction history requested, up to 2 years) is available.") + + public Boolean getHistoricalUpdateComplete() { + return historicalUpdateComplete; + } + + + public void setHistoricalUpdateComplete(Boolean historicalUpdateComplete) { + this.historicalUpdateComplete = historicalUpdateComplete; + } + + + public SyncUpdatesAvailableWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SyncUpdatesAvailableWebhook syncUpdatesAvailableWebhook = (SyncUpdatesAvailableWebhook) o; + return Objects.equals(this.webhookType, syncUpdatesAvailableWebhook.webhookType) && + Objects.equals(this.webhookCode, syncUpdatesAvailableWebhook.webhookCode) && + Objects.equals(this.itemId, syncUpdatesAvailableWebhook.itemId) && + Objects.equals(this.userId, syncUpdatesAvailableWebhook.userId) && + Objects.equals(this.initialUpdateComplete, syncUpdatesAvailableWebhook.initialUpdateComplete) && + Objects.equals(this.historicalUpdateComplete, syncUpdatesAvailableWebhook.historicalUpdateComplete) && + Objects.equals(this.environment, syncUpdatesAvailableWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, initialUpdateComplete, historicalUpdateComplete, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SyncUpdatesAvailableWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" initialUpdateComplete: ").append(toIndentedString(initialUpdateComplete)).append("\n"); + sb.append(" historicalUpdateComplete: ").append(toIndentedString(historicalUpdateComplete)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/SyntheticFraud.java b/src/main/java/com/plaid/client/model/SyntheticFraud.java new file mode 100644 index 0000000000..7bafeceb9b --- /dev/null +++ b/src/main/java/com/plaid/client/model/SyntheticFraud.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RiskLevel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Field containing the data used in determining the outcome of a synthetic fraud risk check. + */ +@ApiModel(description = "Field containing the data used in determining the outcome of a synthetic fraud risk check.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class SyntheticFraud { + public static final String SERIALIZED_NAME_RISK_LEVEL = "risk_level"; + @SerializedName(SERIALIZED_NAME_RISK_LEVEL) + private RiskLevel riskLevel; + + + public SyntheticFraud riskLevel(RiskLevel riskLevel) { + + this.riskLevel = riskLevel; + return this; + } + + /** + * Get riskLevel + * @return riskLevel + **/ + @ApiModelProperty(required = true, value = "") + + public RiskLevel getRiskLevel() { + return riskLevel; + } + + + public void setRiskLevel(RiskLevel riskLevel) { + this.riskLevel = riskLevel; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SyntheticFraud syntheticFraud = (SyntheticFraud) o; + return Objects.equals(this.riskLevel, syntheticFraud.riskLevel); + } + + @Override + public int hashCode() { + return Objects.hash(riskLevel); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SyntheticFraud {\n"); + sb.append(" riskLevel: ").append(toIndentedString(riskLevel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Taxform.java b/src/main/java/com/plaid/client/model/Taxform.java new file mode 100644 index 0000000000..028307cc26 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Taxform.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.W2; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data about an official document used to report the user's income to the IRS. + */ +@ApiModel(description = "Data about an official document used to report the user's income to the IRS.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Taxform { + public static final String SERIALIZED_NAME_DOC_ID = "doc_id"; + @SerializedName(SERIALIZED_NAME_DOC_ID) + private String docId; + + public static final String SERIALIZED_NAME_DOCUMENT_TYPE = "document_type"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_TYPE) + private String documentType; + + public static final String SERIALIZED_NAME_W2 = "w2"; + @SerializedName(SERIALIZED_NAME_W2) + private W2 w2; + + + public Taxform docId(String docId) { + + this.docId = docId; + return this; + } + + /** + * An identifier of the document referenced by the document metadata. + * @return docId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An identifier of the document referenced by the document metadata.") + + public String getDocId() { + return docId; + } + + + public void setDocId(String docId) { + this.docId = docId; + } + + + public Taxform documentType(String documentType) { + + this.documentType = documentType; + return this; + } + + /** + * The type of tax document. Currently, the only supported value is `w2`. + * @return documentType + **/ + @ApiModelProperty(required = true, value = "The type of tax document. Currently, the only supported value is `w2`.") + + public String getDocumentType() { + return documentType; + } + + + public void setDocumentType(String documentType) { + this.documentType = documentType; + } + + + public Taxform w2(W2 w2) { + + this.w2 = w2; + return this; + } + + /** + * Get w2 + * @return w2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public W2 getW2() { + return w2; + } + + + public void setW2(W2 w2) { + this.w2 = w2; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Taxform taxform = (Taxform) o; + return Objects.equals(this.docId, taxform.docId) && + Objects.equals(this.documentType, taxform.documentType) && + Objects.equals(this.w2, taxform.w2); + } + + @Override + public int hashCode() { + return Objects.hash(docId, documentType, w2); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Taxform {\n"); + sb.append(" docId: ").append(toIndentedString(docId)).append("\n"); + sb.append(" documentType: ").append(toIndentedString(documentType)).append("\n"); + sb.append(" w2: ").append(toIndentedString(w2)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TaxpayerID.java b/src/main/java/com/plaid/client/model/TaxpayerID.java new file mode 100644 index 0000000000..54a31ba800 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TaxpayerID.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Taxpayer ID of the individual receiving the paystub. + */ +@ApiModel(description = "Taxpayer ID of the individual receiving the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TaxpayerID { + public static final String SERIALIZED_NAME_ID_TYPE = "id_type"; + @SerializedName(SERIALIZED_NAME_ID_TYPE) + private String idType; + + public static final String SERIALIZED_NAME_ID_MASK = "id_mask"; + @SerializedName(SERIALIZED_NAME_ID_MASK) + private String idMask; + + public static final String SERIALIZED_NAME_LAST4_DIGITS = "last_4_digits"; + @SerializedName(SERIALIZED_NAME_LAST4_DIGITS) + private String last4Digits; + + + public TaxpayerID idType(String idType) { + + this.idType = idType; + return this; + } + + /** + * Type of ID, e.g. 'SSN' + * @return idType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Type of ID, e.g. 'SSN'") + + public String getIdType() { + return idType; + } + + + public void setIdType(String idType) { + this.idType = idType; + } + + + public TaxpayerID idMask(String idMask) { + + this.idMask = idMask; + return this; + } + + /** + * ID mask; i.e. last 4 digits of the taxpayer ID + * @return idMask + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "ID mask; i.e. last 4 digits of the taxpayer ID") + + public String getIdMask() { + return idMask; + } + + + public void setIdMask(String idMask) { + this.idMask = idMask; + } + + + public TaxpayerID last4Digits(String last4Digits) { + + this.last4Digits = last4Digits; + return this; + } + + /** + * Last 4 digits of unique number of ID. + * @return last4Digits + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Last 4 digits of unique number of ID.") + + public String getLast4Digits() { + return last4Digits; + } + + + public void setLast4Digits(String last4Digits) { + this.last4Digits = last4Digits; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TaxpayerID taxpayerID = (TaxpayerID) o; + return Objects.equals(this.idType, taxpayerID.idType) && + Objects.equals(this.idMask, taxpayerID.idMask) && + Objects.equals(this.last4Digits, taxpayerID.last4Digits); + } + + @Override + public int hashCode() { + return Objects.hash(idType, idMask, last4Digits); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TaxpayerID {\n"); + sb.append(" idType: ").append(toIndentedString(idType)).append("\n"); + sb.append(" idMask: ").append(toIndentedString(idMask)).append("\n"); + sb.append(" last4Digits: ").append(toIndentedString(last4Digits)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TaxpayerIdentifier.java b/src/main/java/com/plaid/client/model/TaxpayerIdentifier.java new file mode 100644 index 0000000000..344740d308 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TaxpayerIdentifier.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TaxpayerIdentifierType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the Taxpayer identification values assigned to the individual or legal entity. + */ +@ApiModel(description = "Information about the Taxpayer identification values assigned to the individual or legal entity.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TaxpayerIdentifier { + public static final String SERIALIZED_NAME_TAXPAYER_IDENTIFIER_TYPE = "TaxpayerIdentifierType"; + @SerializedName(SERIALIZED_NAME_TAXPAYER_IDENTIFIER_TYPE) + private TaxpayerIdentifierType taxpayerIdentifierType; + + public static final String SERIALIZED_NAME_TAXPAYER_IDENTIFIER_VALUE = "TaxpayerIdentifierValue"; + @SerializedName(SERIALIZED_NAME_TAXPAYER_IDENTIFIER_VALUE) + private String taxpayerIdentifierValue; + + + public TaxpayerIdentifier taxpayerIdentifierType(TaxpayerIdentifierType taxpayerIdentifierType) { + + this.taxpayerIdentifierType = taxpayerIdentifierType; + return this; + } + + /** + * Get taxpayerIdentifierType + * @return taxpayerIdentifierType + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TaxpayerIdentifierType getTaxpayerIdentifierType() { + return taxpayerIdentifierType; + } + + + public void setTaxpayerIdentifierType(TaxpayerIdentifierType taxpayerIdentifierType) { + this.taxpayerIdentifierType = taxpayerIdentifierType; + } + + + public TaxpayerIdentifier taxpayerIdentifierValue(String taxpayerIdentifierValue) { + + this.taxpayerIdentifierValue = taxpayerIdentifierValue; + return this; + } + + /** + * The value of the taxpayer identifier as assigned by the IRS to the individual or legal entity. + * @return taxpayerIdentifierValue + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The value of the taxpayer identifier as assigned by the IRS to the individual or legal entity.") + + public String getTaxpayerIdentifierValue() { + return taxpayerIdentifierValue; + } + + + public void setTaxpayerIdentifierValue(String taxpayerIdentifierValue) { + this.taxpayerIdentifierValue = taxpayerIdentifierValue; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TaxpayerIdentifier taxpayerIdentifier = (TaxpayerIdentifier) o; + return Objects.equals(this.taxpayerIdentifierType, taxpayerIdentifier.taxpayerIdentifierType) && + Objects.equals(this.taxpayerIdentifierValue, taxpayerIdentifier.taxpayerIdentifierValue); + } + + @Override + public int hashCode() { + return Objects.hash(taxpayerIdentifierType, taxpayerIdentifierValue); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TaxpayerIdentifier {\n"); + sb.append(" taxpayerIdentifierType: ").append(toIndentedString(taxpayerIdentifierType)).append("\n"); + sb.append(" taxpayerIdentifierValue: ").append(toIndentedString(taxpayerIdentifierValue)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TaxpayerIdentifierType.java b/src/main/java/com/plaid/client/model/TaxpayerIdentifierType.java new file mode 100644 index 0000000000..6eb4f73d03 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TaxpayerIdentifierType.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A value from a MISMO prescribed list that classifies identification numbers used by the Internal Revenue Service (IRS) in the administration of tax laws. A Social Security number (SSN) is issued by the SSA; all other taxpayer identification numbers are issued by the IRS. + */ +@JsonAdapter(TaxpayerIdentifierType.Adapter.class) +public enum TaxpayerIdentifierType { + + INDIVIDUALTAXPAYERIDENTIFICATIONNUMBER("IndividualTaxpayerIdentificationNumber"), + + SOCIALSECURITYNUMBER("SocialSecurityNumber"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TaxpayerIdentifierType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TaxpayerIdentifierType fromValue(String value) { + for (TaxpayerIdentifierType b : TaxpayerIdentifierType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TaxpayerIdentifierType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TaxpayerIdentifierType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TaxpayerIdentifierType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TaxpayerIdentifiers.java b/src/main/java/com/plaid/client/model/TaxpayerIdentifiers.java new file mode 100644 index 0000000000..8a2762917a --- /dev/null +++ b/src/main/java/com/plaid/client/model/TaxpayerIdentifiers.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TaxpayerIdentifier; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The collection of `TAXPAYER_IDENTIFICATION` elements + */ +@ApiModel(description = "The collection of `TAXPAYER_IDENTIFICATION` elements") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TaxpayerIdentifiers { + public static final String SERIALIZED_NAME_T_A_X_P_A_Y_E_R_I_D_E_N_T_I_F_I_E_R = "TAXPAYER_IDENTIFIER"; + @SerializedName(SERIALIZED_NAME_T_A_X_P_A_Y_E_R_I_D_E_N_T_I_F_I_E_R) + private TaxpayerIdentifier TAXPAYER_IDENTIFIER; + + + public TaxpayerIdentifiers TAXPAYER_IDENTIFIER(TaxpayerIdentifier TAXPAYER_IDENTIFIER) { + + this.TAXPAYER_IDENTIFIER = TAXPAYER_IDENTIFIER; + return this; + } + + /** + * Get TAXPAYER_IDENTIFIER + * @return TAXPAYER_IDENTIFIER + **/ + @ApiModelProperty(required = true, value = "") + + public TaxpayerIdentifier getTAXPAYERIDENTIFIER() { + return TAXPAYER_IDENTIFIER; + } + + + public void setTAXPAYERIDENTIFIER(TaxpayerIdentifier TAXPAYER_IDENTIFIER) { + this.TAXPAYER_IDENTIFIER = TAXPAYER_IDENTIFIER; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TaxpayerIdentifiers taxpayerIdentifiers = (TaxpayerIdentifiers) o; + return Objects.equals(this.TAXPAYER_IDENTIFIER, taxpayerIdentifiers.TAXPAYER_IDENTIFIER); + } + + @Override + public int hashCode() { + return Objects.hash(TAXPAYER_IDENTIFIER); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TaxpayerIdentifiers {\n"); + sb.append(" TAXPAYER_IDENTIFIER: ").append(toIndentedString(TAXPAYER_IDENTIFIER)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Total.java b/src/main/java/com/plaid/client/model/Total.java new file mode 100644 index 0000000000..251dbabfc8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Total.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Pay; +import com.plaid.client.model.TotalCanonicalDescription; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing both the current pay period and year to date amount for a category. + */ +@ApiModel(description = "An object representing both the current pay period and year to date amount for a category.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Total { + public static final String SERIALIZED_NAME_CANONICAL_DESCRIPTION = "canonical_description"; + @SerializedName(SERIALIZED_NAME_CANONICAL_DESCRIPTION) + private TotalCanonicalDescription canonicalDescription; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_CURRENT_PAY = "current_pay"; + @SerializedName(SERIALIZED_NAME_CURRENT_PAY) + private Pay currentPay; + + public static final String SERIALIZED_NAME_YTD_PAY = "ytd_pay"; + @SerializedName(SERIALIZED_NAME_YTD_PAY) + private Pay ytdPay; + + + public Total canonicalDescription(TotalCanonicalDescription canonicalDescription) { + + this.canonicalDescription = canonicalDescription; + return this; + } + + /** + * Get canonicalDescription + * @return canonicalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TotalCanonicalDescription getCanonicalDescription() { + return canonicalDescription; + } + + + public void setCanonicalDescription(TotalCanonicalDescription canonicalDescription) { + this.canonicalDescription = canonicalDescription; + } + + + public Total description(String description) { + + this.description = description; + return this; + } + + /** + * Text of the line item as printed on the paystub. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Text of the line item as printed on the paystub.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public Total currentPay(Pay currentPay) { + + this.currentPay = currentPay; + return this; + } + + /** + * Get currentPay + * @return currentPay + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Pay getCurrentPay() { + return currentPay; + } + + + public void setCurrentPay(Pay currentPay) { + this.currentPay = currentPay; + } + + + public Total ytdPay(Pay ytdPay) { + + this.ytdPay = ytdPay; + return this; + } + + /** + * Get ytdPay + * @return ytdPay + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Pay getYtdPay() { + return ytdPay; + } + + + public void setYtdPay(Pay ytdPay) { + this.ytdPay = ytdPay; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Total total = (Total) o; + return Objects.equals(this.canonicalDescription, total.canonicalDescription) && + Objects.equals(this.description, total.description) && + Objects.equals(this.currentPay, total.currentPay) && + Objects.equals(this.ytdPay, total.ytdPay); + } + + @Override + public int hashCode() { + return Objects.hash(canonicalDescription, description, currentPay, ytdPay); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Total {\n"); + sb.append(" canonicalDescription: ").append(toIndentedString(canonicalDescription)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" currentPay: ").append(toIndentedString(currentPay)).append("\n"); + sb.append(" ytdPay: ").append(toIndentedString(ytdPay)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalCanonicalDescription.java b/src/main/java/com/plaid/client/model/TotalCanonicalDescription.java new file mode 100644 index 0000000000..ce2506f681 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalCanonicalDescription.java @@ -0,0 +1,107 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Commonly used term to describe the line item. + */ +@JsonAdapter(TotalCanonicalDescription.Adapter.class) +public enum TotalCanonicalDescription { + + BONUS("BONUS"), + + COMMISSION("COMMISSION"), + + OVERTIME("OVERTIME"), + + PAID_TIME_OFF("PAID TIME OFF"), + + REGULAR_PAY("REGULAR PAY"), + + VACATION("VACATION"), + + EMPLOYEE_MEDICARE("EMPLOYEE MEDICARE"), + + FICA("FICA"), + + SOCIAL_SECURITY_EMPLOYEE_TAX("SOCIAL SECURITY EMPLOYEE TAX"), + + MEDICAL("MEDICAL"), + + VISION("VISION"), + + DENTAL("DENTAL"), + + NET_PAY("NET PAY"), + + TAXES("TAXES"), + + NOT_FOUND("NOT_FOUND"), + + OTHER("OTHER"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TotalCanonicalDescription(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TotalCanonicalDescription fromValue(String value) { + for (TotalCanonicalDescription b : TotalCanonicalDescription.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TotalCanonicalDescription enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TotalCanonicalDescription read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TotalCanonicalDescription.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TotalInflowAmount.java b/src/main/java/com/plaid/client/model/TotalInflowAmount.java new file mode 100644 index 0000000000..fa7f093dc9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalInflowAmount.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of debit transactions into the account in the time period of the report. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account. + */ +@ApiModel(description = "Total amount of debit transactions into the account in the time period of the report. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalInflowAmount { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalInflowAmount amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalInflowAmount isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalInflowAmount unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalInflowAmount totalInflowAmount = (TotalInflowAmount) o; + return Objects.equals(this.amount, totalInflowAmount.amount) && + Objects.equals(this.isoCurrencyCode, totalInflowAmount.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalInflowAmount.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalInflowAmount {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalInflowAmount30d.java b/src/main/java/com/plaid/client/model/TotalInflowAmount30d.java new file mode 100644 index 0000000000..fbb8ad9e8d --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalInflowAmount30d.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of debit transactions into the account in the last 30 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account. + */ +@ApiModel(description = "Total amount of debit transactions into the account in the last 30 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalInflowAmount30d { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalInflowAmount30d amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalInflowAmount30d isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalInflowAmount30d unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalInflowAmount30d totalInflowAmount30d = (TotalInflowAmount30d) o; + return Objects.equals(this.amount, totalInflowAmount30d.amount) && + Objects.equals(this.isoCurrencyCode, totalInflowAmount30d.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalInflowAmount30d.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalInflowAmount30d {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalInflowAmount60d.java b/src/main/java/com/plaid/client/model/TotalInflowAmount60d.java new file mode 100644 index 0000000000..aa6d122007 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalInflowAmount60d.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of debit transactions into the account in the last 60 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account. + */ +@ApiModel(description = "Total amount of debit transactions into the account in the last 60 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalInflowAmount60d { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalInflowAmount60d amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalInflowAmount60d isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalInflowAmount60d unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalInflowAmount60d totalInflowAmount60d = (TotalInflowAmount60d) o; + return Objects.equals(this.amount, totalInflowAmount60d.amount) && + Objects.equals(this.isoCurrencyCode, totalInflowAmount60d.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalInflowAmount60d.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalInflowAmount60d {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalInflowAmount90d.java b/src/main/java/com/plaid/client/model/TotalInflowAmount90d.java new file mode 100644 index 0000000000..bd1ca95fb9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalInflowAmount90d.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of debit transactions into the account in the last 90 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account. + */ +@ApiModel(description = "Total amount of debit transactions into the account in the last 90 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalInflowAmount90d { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalInflowAmount90d amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalInflowAmount90d isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalInflowAmount90d unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalInflowAmount90d totalInflowAmount90d = (TotalInflowAmount90d) o; + return Objects.equals(this.amount, totalInflowAmount90d.amount) && + Objects.equals(this.isoCurrencyCode, totalInflowAmount90d.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalInflowAmount90d.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalInflowAmount90d {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalMonthlyIncomeInsights.java b/src/main/java/com/plaid/client/model/TotalMonthlyIncomeInsights.java new file mode 100644 index 0000000000..3e459ad025 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalMonthlyIncomeInsights.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Details about the total monthly income + */ +@ApiModel(description = "Details about the total monthly income") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalMonthlyIncomeInsights { + public static final String SERIALIZED_NAME_BASELINE_AMOUNT = "baseline_amount"; + @SerializedName(SERIALIZED_NAME_BASELINE_AMOUNT) + private Double baselineAmount; + + public static final String SERIALIZED_NAME_CURRENT_AMOUNT = "current_amount"; + @SerializedName(SERIALIZED_NAME_CURRENT_AMOUNT) + private Double currentAmount; + + + public TotalMonthlyIncomeInsights baselineAmount(Double baselineAmount) { + + this.baselineAmount = baselineAmount; + return this; + } + + /** + * The aggregated income for the 30 days prior to subscription date + * @return baselineAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The aggregated income for the 30 days prior to subscription date") + + public Double getBaselineAmount() { + return baselineAmount; + } + + + public void setBaselineAmount(Double baselineAmount) { + this.baselineAmount = baselineAmount; + } + + + public TotalMonthlyIncomeInsights currentAmount(Double currentAmount) { + + this.currentAmount = currentAmount; + return this; + } + + /** + * The aggregated income of the last 30 days + * @return currentAmount + **/ + @ApiModelProperty(required = true, value = "The aggregated income of the last 30 days") + + public Double getCurrentAmount() { + return currentAmount; + } + + + public void setCurrentAmount(Double currentAmount) { + this.currentAmount = currentAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalMonthlyIncomeInsights totalMonthlyIncomeInsights = (TotalMonthlyIncomeInsights) o; + return Objects.equals(this.baselineAmount, totalMonthlyIncomeInsights.baselineAmount) && + Objects.equals(this.currentAmount, totalMonthlyIncomeInsights.currentAmount); + } + + @Override + public int hashCode() { + return Objects.hash(baselineAmount, currentAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalMonthlyIncomeInsights {\n"); + sb.append(" baselineAmount: ").append(toIndentedString(baselineAmount)).append("\n"); + sb.append(" currentAmount: ").append(toIndentedString(currentAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalOutflowAmount.java b/src/main/java/com/plaid/client/model/TotalOutflowAmount.java new file mode 100644 index 0000000000..e794bae17e --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalOutflowAmount.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of credit transactions out of the account in the time period of the report. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account. + */ +@ApiModel(description = "Total amount of credit transactions out of the account in the time period of the report. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalOutflowAmount { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalOutflowAmount amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalOutflowAmount isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalOutflowAmount unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalOutflowAmount totalOutflowAmount = (TotalOutflowAmount) o; + return Objects.equals(this.amount, totalOutflowAmount.amount) && + Objects.equals(this.isoCurrencyCode, totalOutflowAmount.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalOutflowAmount.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalOutflowAmount {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalOutflowAmount30d.java b/src/main/java/com/plaid/client/model/TotalOutflowAmount30d.java new file mode 100644 index 0000000000..1990f7458d --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalOutflowAmount30d.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of credit transactions out of the account in the last 30 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account. + */ +@ApiModel(description = "Total amount of credit transactions out of the account in the last 30 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalOutflowAmount30d { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalOutflowAmount30d amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalOutflowAmount30d isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalOutflowAmount30d unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalOutflowAmount30d totalOutflowAmount30d = (TotalOutflowAmount30d) o; + return Objects.equals(this.amount, totalOutflowAmount30d.amount) && + Objects.equals(this.isoCurrencyCode, totalOutflowAmount30d.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalOutflowAmount30d.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalOutflowAmount30d {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalOutflowAmount60d.java b/src/main/java/com/plaid/client/model/TotalOutflowAmount60d.java new file mode 100644 index 0000000000..9b8a9663bc --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalOutflowAmount60d.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of credit transactions out of the account in the last 60 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account. + */ +@ApiModel(description = "Total amount of credit transactions out of the account in the last 60 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalOutflowAmount60d { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalOutflowAmount60d amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalOutflowAmount60d isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalOutflowAmount60d unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalOutflowAmount60d totalOutflowAmount60d = (TotalOutflowAmount60d) o; + return Objects.equals(this.amount, totalOutflowAmount60d.amount) && + Objects.equals(this.isoCurrencyCode, totalOutflowAmount60d.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalOutflowAmount60d.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalOutflowAmount60d {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalOutflowAmount90d.java b/src/main/java/com/plaid/client/model/TotalOutflowAmount90d.java new file mode 100644 index 0000000000..c8e19a07c1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalOutflowAmount90d.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of credit transactions out of the account in the last 90 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account. + */ +@ApiModel(description = "Total amount of credit transactions out of the account in the last 90 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalOutflowAmount90d { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalOutflowAmount90d amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalOutflowAmount90d isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalOutflowAmount90d unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalOutflowAmount90d totalOutflowAmount90d = (TotalOutflowAmount90d) o; + return Objects.equals(this.amount, totalOutflowAmount90d.amount) && + Objects.equals(this.isoCurrencyCode, totalOutflowAmount90d.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalOutflowAmount90d.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalOutflowAmount90d {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalReportInflowAmount.java b/src/main/java/com/plaid/client/model/TotalReportInflowAmount.java new file mode 100644 index 0000000000..ea77711d07 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalReportInflowAmount.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of debit transactions into the report's accounts in the time period of the report. This field only takes into account USD transactions from the accounts. + */ +@ApiModel(description = "Total amount of debit transactions into the report's accounts in the time period of the report. This field only takes into account USD transactions from the accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalReportInflowAmount { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalReportInflowAmount amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalReportInflowAmount isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalReportInflowAmount unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalReportInflowAmount totalReportInflowAmount = (TotalReportInflowAmount) o; + return Objects.equals(this.amount, totalReportInflowAmount.amount) && + Objects.equals(this.isoCurrencyCode, totalReportInflowAmount.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalReportInflowAmount.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalReportInflowAmount {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalReportInflowAmount30d.java b/src/main/java/com/plaid/client/model/TotalReportInflowAmount30d.java new file mode 100644 index 0000000000..d052f31103 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalReportInflowAmount30d.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of debit transactions into the report's accounts in the last 30 days. This field only takes into account USD transactions from the accounts. + */ +@ApiModel(description = "Total amount of debit transactions into the report's accounts in the last 30 days. This field only takes into account USD transactions from the accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalReportInflowAmount30d { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalReportInflowAmount30d amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalReportInflowAmount30d isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalReportInflowAmount30d unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalReportInflowAmount30d totalReportInflowAmount30d = (TotalReportInflowAmount30d) o; + return Objects.equals(this.amount, totalReportInflowAmount30d.amount) && + Objects.equals(this.isoCurrencyCode, totalReportInflowAmount30d.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalReportInflowAmount30d.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalReportInflowAmount30d {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalReportInflowAmount60d.java b/src/main/java/com/plaid/client/model/TotalReportInflowAmount60d.java new file mode 100644 index 0000000000..cec6ebaf9a --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalReportInflowAmount60d.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of debit transactions into the report's accounts in the last 60 days. This field only takes into account USD transactions from the accounts. + */ +@ApiModel(description = "Total amount of debit transactions into the report's accounts in the last 60 days. This field only takes into account USD transactions from the accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalReportInflowAmount60d { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalReportInflowAmount60d amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalReportInflowAmount60d isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalReportInflowAmount60d unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalReportInflowAmount60d totalReportInflowAmount60d = (TotalReportInflowAmount60d) o; + return Objects.equals(this.amount, totalReportInflowAmount60d.amount) && + Objects.equals(this.isoCurrencyCode, totalReportInflowAmount60d.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalReportInflowAmount60d.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalReportInflowAmount60d {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalReportInflowAmount90d.java b/src/main/java/com/plaid/client/model/TotalReportInflowAmount90d.java new file mode 100644 index 0000000000..ed2f930fa3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalReportInflowAmount90d.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of debit transactions into the report's accounts in the last 90 days. This field only takes into account USD transactions from the accounts. + */ +@ApiModel(description = "Total amount of debit transactions into the report's accounts in the last 90 days. This field only takes into account USD transactions from the accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalReportInflowAmount90d { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalReportInflowAmount90d amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalReportInflowAmount90d isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalReportInflowAmount90d unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalReportInflowAmount90d totalReportInflowAmount90d = (TotalReportInflowAmount90d) o; + return Objects.equals(this.amount, totalReportInflowAmount90d.amount) && + Objects.equals(this.isoCurrencyCode, totalReportInflowAmount90d.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalReportInflowAmount90d.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalReportInflowAmount90d {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalReportOutflowAmount.java b/src/main/java/com/plaid/client/model/TotalReportOutflowAmount.java new file mode 100644 index 0000000000..f97e87ed2b --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalReportOutflowAmount.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of credit transactions out of the report's accounts in the time period of the report. This field only takes into account USD transactions from the accounts. + */ +@ApiModel(description = "Total amount of credit transactions out of the report's accounts in the time period of the report. This field only takes into account USD transactions from the accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalReportOutflowAmount { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalReportOutflowAmount amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalReportOutflowAmount isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalReportOutflowAmount unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalReportOutflowAmount totalReportOutflowAmount = (TotalReportOutflowAmount) o; + return Objects.equals(this.amount, totalReportOutflowAmount.amount) && + Objects.equals(this.isoCurrencyCode, totalReportOutflowAmount.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalReportOutflowAmount.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalReportOutflowAmount {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalReportOutflowAmount30d.java b/src/main/java/com/plaid/client/model/TotalReportOutflowAmount30d.java new file mode 100644 index 0000000000..c9a69b0142 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalReportOutflowAmount30d.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of credit transactions out of the report's accounts in the last 30 days. This field only takes into account USD transactions from the accounts. + */ +@ApiModel(description = "Total amount of credit transactions out of the report's accounts in the last 30 days. This field only takes into account USD transactions from the accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalReportOutflowAmount30d { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalReportOutflowAmount30d amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalReportOutflowAmount30d isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalReportOutflowAmount30d unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalReportOutflowAmount30d totalReportOutflowAmount30d = (TotalReportOutflowAmount30d) o; + return Objects.equals(this.amount, totalReportOutflowAmount30d.amount) && + Objects.equals(this.isoCurrencyCode, totalReportOutflowAmount30d.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalReportOutflowAmount30d.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalReportOutflowAmount30d {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalReportOutflowAmount60d.java b/src/main/java/com/plaid/client/model/TotalReportOutflowAmount60d.java new file mode 100644 index 0000000000..33cdb1b183 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalReportOutflowAmount60d.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of credit transactions out of the report's accounts in the last 60 days. This field only takes into account USD transactions from the accounts. + */ +@ApiModel(description = "Total amount of credit transactions out of the report's accounts in the last 60 days. This field only takes into account USD transactions from the accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalReportOutflowAmount60d { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalReportOutflowAmount60d amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalReportOutflowAmount60d isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalReportOutflowAmount60d unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalReportOutflowAmount60d totalReportOutflowAmount60d = (TotalReportOutflowAmount60d) o; + return Objects.equals(this.amount, totalReportOutflowAmount60d.amount) && + Objects.equals(this.isoCurrencyCode, totalReportOutflowAmount60d.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalReportOutflowAmount60d.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalReportOutflowAmount60d {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TotalReportOutflowAmount90d.java b/src/main/java/com/plaid/client/model/TotalReportOutflowAmount90d.java new file mode 100644 index 0000000000..fe4fdc384d --- /dev/null +++ b/src/main/java/com/plaid/client/model/TotalReportOutflowAmount90d.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Total amount of credit transactions out of the report's accounts in the last 90 days. This field only takes into account USD transactions from the accounts. + */ +@ApiModel(description = "Total amount of credit transactions out of the report's accounts in the last 90 days. This field only takes into account USD transactions from the accounts.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TotalReportOutflowAmount90d { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TotalReportOutflowAmount90d amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Value of amount with up to 2 decimal places. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Value of amount with up to 2 decimal places.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TotalReportOutflowAmount90d isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO 4217 currency code of the amount or balance. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO 4217 currency code of the amount or balance.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TotalReportOutflowAmount90d unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TotalReportOutflowAmount90d totalReportOutflowAmount90d = (TotalReportOutflowAmount90d) o; + return Objects.equals(this.amount, totalReportOutflowAmount90d.amount) && + Objects.equals(this.isoCurrencyCode, totalReportOutflowAmount90d.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, totalReportOutflowAmount90d.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TotalReportOutflowAmount90d {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Transaction.java b/src/main/java/com/plaid/client/model/Transaction.java new file mode 100644 index 0000000000..157231b2a3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Transaction.java @@ -0,0 +1,1089 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessFinanceCategory; +import com.plaid.client.model.ClientCustomization; +import com.plaid.client.model.Location; +import com.plaid.client.model.PaymentMeta; +import com.plaid.client.model.PersonalFinanceCategory; +import com.plaid.client.model.TransactionAllOf; +import com.plaid.client.model.TransactionBase; +import com.plaid.client.model.TransactionCode; +import com.plaid.client.model.TransactionCounterparty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * A representation of a transaction + */ +@ApiModel(description = "A representation of a transaction") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Transaction { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private List category = null; + + public static final String SERIALIZED_NAME_CATEGORY_ID = "category_id"; + @SerializedName(SERIALIZED_NAME_CATEGORY_ID) + private String categoryId; + + public static final String SERIALIZED_NAME_CHECK_NUMBER = "check_number"; + @SerializedName(SERIALIZED_NAME_CHECK_NUMBER) + private String checkNumber; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private Location location; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_MERCHANT_NAME = "merchant_name"; + @SerializedName(SERIALIZED_NAME_MERCHANT_NAME) + private String merchantName; + + public static final String SERIALIZED_NAME_ORIGINAL_DESCRIPTION = "original_description"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_DESCRIPTION) + private String originalDescription; + + public static final String SERIALIZED_NAME_PAYMENT_META = "payment_meta"; + @SerializedName(SERIALIZED_NAME_PAYMENT_META) + private PaymentMeta paymentMeta; + + public static final String SERIALIZED_NAME_PENDING = "pending"; + @SerializedName(SERIALIZED_NAME_PENDING) + private Boolean pending; + + public static final String SERIALIZED_NAME_PENDING_TRANSACTION_ID = "pending_transaction_id"; + @SerializedName(SERIALIZED_NAME_PENDING_TRANSACTION_ID) + private String pendingTransactionId; + + public static final String SERIALIZED_NAME_ACCOUNT_OWNER = "account_owner"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_OWNER) + private String accountOwner; + + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + /** + * Please use the `payment_channel` field, `transaction_type` will be deprecated in the future. `digital:` transactions that took place online. `place:` transactions that were made at a physical location. `special:` transactions that relate to banks, e.g. fees or deposits. `unresolved:` transactions that do not fit into the other three types. + */ + @JsonAdapter(TransactionTypeEnum.Adapter.class) + public enum TransactionTypeEnum { + DIGITAL("digital"), + + PLACE("place"), + + SPECIAL("special"), + + UNRESOLVED("unresolved"); + + private String value; + + TransactionTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransactionTypeEnum fromValue(String value) { + for (TransactionTypeEnum b : TransactionTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransactionTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransactionTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransactionTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TRANSACTION_TYPE = "transaction_type"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_TYPE) + private TransactionTypeEnum transactionType; + + public static final String SERIALIZED_NAME_LOGO_URL = "logo_url"; + @SerializedName(SERIALIZED_NAME_LOGO_URL) + private String logoUrl; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private String website; + + public static final String SERIALIZED_NAME_AUTHORIZED_DATE = "authorized_date"; + @SerializedName(SERIALIZED_NAME_AUTHORIZED_DATE) + private LocalDate authorizedDate; + + public static final String SERIALIZED_NAME_AUTHORIZED_DATETIME = "authorized_datetime"; + @SerializedName(SERIALIZED_NAME_AUTHORIZED_DATETIME) + private OffsetDateTime authorizedDatetime; + + public static final String SERIALIZED_NAME_DATETIME = "datetime"; + @SerializedName(SERIALIZED_NAME_DATETIME) + private OffsetDateTime datetime; + + /** + * The channel used to make a payment. `online:` transactions that took place online. `in store:` transactions that were made at a physical location. `other:` transactions that relate to banks, e.g. fees or deposits. This field replaces the `transaction_type` field. + */ + @JsonAdapter(PaymentChannelEnum.Adapter.class) + public enum PaymentChannelEnum { + ONLINE("online"), + + IN_STORE("in store"), + + OTHER("other"); + + private String value; + + PaymentChannelEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentChannelEnum fromValue(String value) { + for (PaymentChannelEnum b : PaymentChannelEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentChannelEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentChannelEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentChannelEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PAYMENT_CHANNEL = "payment_channel"; + @SerializedName(SERIALIZED_NAME_PAYMENT_CHANNEL) + private PaymentChannelEnum paymentChannel; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY = "personal_finance_category"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY) + private PersonalFinanceCategory personalFinanceCategory; + + public static final String SERIALIZED_NAME_BUSINESS_FINANCE_CATEGORY = "business_finance_category"; + @SerializedName(SERIALIZED_NAME_BUSINESS_FINANCE_CATEGORY) + private BusinessFinanceCategory businessFinanceCategory; + + public static final String SERIALIZED_NAME_TRANSACTION_CODE = "transaction_code"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_CODE) + private TransactionCode transactionCode; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_ICON_URL = "personal_finance_category_icon_url"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_ICON_URL) + private String personalFinanceCategoryIconUrl; + + public static final String SERIALIZED_NAME_COUNTERPARTIES = "counterparties"; + @SerializedName(SERIALIZED_NAME_COUNTERPARTIES) + private List counterparties = null; + + public static final String SERIALIZED_NAME_MERCHANT_ENTITY_ID = "merchant_entity_id"; + @SerializedName(SERIALIZED_NAME_MERCHANT_ENTITY_ID) + private String merchantEntityId; + + public static final String SERIALIZED_NAME_CLIENT_CUSTOMIZATION = "client_customization"; + @SerializedName(SERIALIZED_NAME_CLIENT_CUSTOMIZATION) + private ClientCustomization clientCustomization; + + + public Transaction accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account in which this transaction occurred. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account in which this transaction occurred.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public Transaction amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The settled value of the transaction, denominated in the transaction's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. For all products except Income: Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative. For Income endpoints, values are positive when representing income. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The settled value of the transaction, denominated in the transaction's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. For all products except Income: Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative. For Income endpoints, values are positive when representing income.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public Transaction isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public Transaction unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public Transaction category(List category) { + + this.category = category; + return this; + } + + public Transaction addCategoryItem(String categoryItem) { + if (this.category == null) { + this.category = new ArrayList<>(); + } + this.category.add(categoryItem); + return this; + } + + /** + * A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). All Transactions implementations are recommended to use the new `personal_finance_category` instead of `category`, as it provides greater accuracy and more meaningful categorization. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights. + * @return category + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). All Transactions implementations are recommended to use the new `personal_finance_category` instead of `category`, as it provides greater accuracy and more meaningful categorization. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.") + + public List getCategory() { + return category; + } + + + public void setCategory(List category) { + this.category = category; + } + + + public Transaction categoryId(String categoryId) { + + this.categoryId = categoryId; + return this; + } + + /** + * The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). All Transactions implementations are recommended to use the new `personal_finance_category` instead of `category`, as it provides greater accuracy and more meaningful categorization. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights. + * @return categoryId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). All Transactions implementations are recommended to use the new `personal_finance_category` instead of `category`, as it provides greater accuracy and more meaningful categorization. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.") + + public String getCategoryId() { + return categoryId; + } + + + public void setCategoryId(String categoryId) { + this.categoryId = categoryId; + } + + + public Transaction checkNumber(String checkNumber) { + + this.checkNumber = checkNumber; + return this; + } + + /** + * The check number of the transaction. This field is only populated for check transactions. + * @return checkNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The check number of the transaction. This field is only populated for check transactions.") + + public String getCheckNumber() { + return checkNumber; + } + + + public void setCheckNumber(String checkNumber) { + this.checkNumber = checkNumber; + } + + + public Transaction date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ). To receive information about the date that a posted transaction was initiated, see the `authorized_date` field. + * @return date + **/ + @ApiModelProperty(required = true, value = "For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ). To receive information about the date that a posted transaction was initiated, see the `authorized_date` field.") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public Transaction location(Location location) { + + this.location = location; + return this; + } + + /** + * Get location + * @return location + **/ + @ApiModelProperty(required = true, value = "") + + public Location getLocation() { + return location; + } + + + public void setLocation(Location location) { + this.location = location; + } + + + public Transaction name(String name) { + + this.name = name; + return this; + } + + /** + * The merchant name or transaction description. Note: While Plaid does not currently plan to remove this field, it is a legacy field that is not actively maintained. Use `merchant_name` instead for the merchant name. If the `transactions` object was returned by a Transactions endpoint such as `/transactions/sync` or `/transactions/get`, this field will always appear. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights. + * @return name + **/ + @ApiModelProperty(required = true, value = "The merchant name or transaction description. Note: While Plaid does not currently plan to remove this field, it is a legacy field that is not actively maintained. Use `merchant_name` instead for the merchant name. If the `transactions` object was returned by a Transactions endpoint such as `/transactions/sync` or `/transactions/get`, this field will always appear. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public Transaction merchantName(String merchantName) { + + this.merchantName = merchantName; + return this; + } + + /** + * The merchant name, as enriched by Plaid from the `name` field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be `null`. + * @return merchantName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The merchant name, as enriched by Plaid from the `name` field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be `null`.") + + public String getMerchantName() { + return merchantName; + } + + + public void setMerchantName(String merchantName) { + this.merchantName = merchantName; + } + + + public Transaction originalDescription(String originalDescription) { + + this.originalDescription = originalDescription; + return this; + } + + /** + * The string returned by the financial institution to describe the transaction. For transactions returned by `/transactions/sync` or `/transactions/get`, this field will only be included if the client has set `options.include_original_description` to `true`. + * @return originalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The string returned by the financial institution to describe the transaction. For transactions returned by `/transactions/sync` or `/transactions/get`, this field will only be included if the client has set `options.include_original_description` to `true`.") + + public String getOriginalDescription() { + return originalDescription; + } + + + public void setOriginalDescription(String originalDescription) { + this.originalDescription = originalDescription; + } + + + public Transaction paymentMeta(PaymentMeta paymentMeta) { + + this.paymentMeta = paymentMeta; + return this; + } + + /** + * Get paymentMeta + * @return paymentMeta + **/ + @ApiModelProperty(required = true, value = "") + + public PaymentMeta getPaymentMeta() { + return paymentMeta; + } + + + public void setPaymentMeta(PaymentMeta paymentMeta) { + this.paymentMeta = paymentMeta; + } + + + public Transaction pending(Boolean pending) { + + this.pending = pending; + return this; + } + + /** + * When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled. Not all institutions provide pending transactions. + * @return pending + **/ + @ApiModelProperty(required = true, value = "When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled. Not all institutions provide pending transactions.") + + public Boolean getPending() { + return pending; + } + + + public void setPending(Boolean pending) { + this.pending = pending; + } + + + public Transaction pendingTransactionId(String pendingTransactionId) { + + this.pendingTransactionId = pendingTransactionId; + return this; + } + + /** + * The ID of a posted transaction's associated pending transaction, where applicable. Not all institutions provide pending transactions. + * @return pendingTransactionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ID of a posted transaction's associated pending transaction, where applicable. Not all institutions provide pending transactions.") + + public String getPendingTransactionId() { + return pendingTransactionId; + } + + + public void setPendingTransactionId(String pendingTransactionId) { + this.pendingTransactionId = pendingTransactionId; + } + + + public Transaction accountOwner(String accountOwner) { + + this.accountOwner = accountOwner; + return this; + } + + /** + * This field is not typically populated and only relevant when dealing with sub-accounts. A sub-account most commonly exists in cases where a single account is linked to multiple cards, each with its own card number and card holder name; each card will be considered a sub-account. If the account does have sub-accounts, this field will typically be some combination of the sub-account owner's name and/or the sub-account mask. The format of this field is not standardized and will vary based on institution. + * @return accountOwner + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "This field is not typically populated and only relevant when dealing with sub-accounts. A sub-account most commonly exists in cases where a single account is linked to multiple cards, each with its own card number and card holder name; each card will be considered a sub-account. If the account does have sub-accounts, this field will typically be some combination of the sub-account owner's name and/or the sub-account mask. The format of this field is not standardized and will vary based on institution.") + + public String getAccountOwner() { + return accountOwner; + } + + + public void setAccountOwner(String accountOwner) { + this.accountOwner = accountOwner; + } + + + public Transaction transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive. + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public Transaction transactionType(TransactionTypeEnum transactionType) { + + this.transactionType = transactionType; + return this; + } + + /** + * Please use the `payment_channel` field, `transaction_type` will be deprecated in the future. `digital:` transactions that took place online. `place:` transactions that were made at a physical location. `special:` transactions that relate to banks, e.g. fees or deposits. `unresolved:` transactions that do not fit into the other three types. + * @return transactionType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Please use the `payment_channel` field, `transaction_type` will be deprecated in the future. `digital:` transactions that took place online. `place:` transactions that were made at a physical location. `special:` transactions that relate to banks, e.g. fees or deposits. `unresolved:` transactions that do not fit into the other three types. ") + + public TransactionTypeEnum getTransactionType() { + return transactionType; + } + + + public void setTransactionType(TransactionTypeEnum transactionType) { + this.transactionType = transactionType; + } + + + public Transaction logoUrl(String logoUrl) { + + this.logoUrl = logoUrl; + return this; + } + + /** + * The URL of a logo associated with this transaction, if available. The logo will always be a 100×100 pixel PNG file. + * @return logoUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL of a logo associated with this transaction, if available. The logo will always be a 100×100 pixel PNG file.") + + public String getLogoUrl() { + return logoUrl; + } + + + public void setLogoUrl(String logoUrl) { + this.logoUrl = logoUrl; + } + + + public Transaction website(String website) { + + this.website = website; + return this; + } + + /** + * The website associated with this transaction, if available. + * @return website + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The website associated with this transaction, if available.") + + public String getWebsite() { + return website; + } + + + public void setWebsite(String website) { + this.website = website; + } + + + public Transaction authorizedDate(LocalDate authorizedDate) { + + this.authorizedDate = authorizedDate; + return this; + } + + /** + * The date that the transaction was authorized. For posted transactions, the `date` field will indicate the posted date, but `authorized_date` will indicate the day the transaction was authorized by the financial institution. If presenting transactions to the user in a UI, the `authorized_date`, when available, is generally preferable to use over the `date` field for posted transactions, as it will generally represent the date the user actually made the transaction. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ). + * @return authorizedDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date that the transaction was authorized. For posted transactions, the `date` field will indicate the posted date, but `authorized_date` will indicate the day the transaction was authorized by the financial institution. If presenting transactions to the user in a UI, the `authorized_date`, when available, is generally preferable to use over the `date` field for posted transactions, as it will generally represent the date the user actually made the transaction. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ).") + + public LocalDate getAuthorizedDate() { + return authorizedDate; + } + + + public void setAuthorizedDate(LocalDate authorizedDate) { + this.authorizedDate = authorizedDate; + } + + + public Transaction authorizedDatetime(OffsetDateTime authorizedDatetime) { + + this.authorizedDatetime = authorizedDatetime; + return this; + } + + /** + * Date and time when a transaction was authorized in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). For posted transactions, the `datetime` field will indicate the posted date, but `authorized_datetime` will indicate the day the transaction was authorized by the financial institution. If presenting transactions to the user in a UI, the `authorized_datetime`, when available, is generally preferable to use over the `datetime` field for posted transactions, as it will generally represent the date the user actually made the transaction. This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later. + * @return authorizedDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Date and time when a transaction was authorized in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). For posted transactions, the `datetime` field will indicate the posted date, but `authorized_datetime` will indicate the day the transaction was authorized by the financial institution. If presenting transactions to the user in a UI, the `authorized_datetime`, when available, is generally preferable to use over the `datetime` field for posted transactions, as it will generally represent the date the user actually made the transaction. This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later.") + + public OffsetDateTime getAuthorizedDatetime() { + return authorizedDatetime; + } + + + public void setAuthorizedDatetime(OffsetDateTime authorizedDatetime) { + this.authorizedDatetime = authorizedDatetime; + } + + + public Transaction datetime(OffsetDateTime datetime) { + + this.datetime = datetime; + return this; + } + + /** + * Date and time when a transaction was posted in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). For the date that the transaction was initiated, rather than posted, see the `authorized_datetime` field. This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later. + * @return datetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Date and time when a transaction was posted in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). For the date that the transaction was initiated, rather than posted, see the `authorized_datetime` field. This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later.") + + public OffsetDateTime getDatetime() { + return datetime; + } + + + public void setDatetime(OffsetDateTime datetime) { + this.datetime = datetime; + } + + + public Transaction paymentChannel(PaymentChannelEnum paymentChannel) { + + this.paymentChannel = paymentChannel; + return this; + } + + /** + * The channel used to make a payment. `online:` transactions that took place online. `in store:` transactions that were made at a physical location. `other:` transactions that relate to banks, e.g. fees or deposits. This field replaces the `transaction_type` field. + * @return paymentChannel + **/ + @ApiModelProperty(required = true, value = "The channel used to make a payment. `online:` transactions that took place online. `in store:` transactions that were made at a physical location. `other:` transactions that relate to banks, e.g. fees or deposits. This field replaces the `transaction_type` field. ") + + public PaymentChannelEnum getPaymentChannel() { + return paymentChannel; + } + + + public void setPaymentChannel(PaymentChannelEnum paymentChannel) { + this.paymentChannel = paymentChannel; + } + + + public Transaction personalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + + this.personalFinanceCategory = personalFinanceCategory; + return this; + } + + /** + * Get personalFinanceCategory + * @return personalFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PersonalFinanceCategory getPersonalFinanceCategory() { + return personalFinanceCategory; + } + + + public void setPersonalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + this.personalFinanceCategory = personalFinanceCategory; + } + + + public Transaction businessFinanceCategory(BusinessFinanceCategory businessFinanceCategory) { + + this.businessFinanceCategory = businessFinanceCategory; + return this; + } + + /** + * Get businessFinanceCategory + * @return businessFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BusinessFinanceCategory getBusinessFinanceCategory() { + return businessFinanceCategory; + } + + + public void setBusinessFinanceCategory(BusinessFinanceCategory businessFinanceCategory) { + this.businessFinanceCategory = businessFinanceCategory; + } + + + public Transaction transactionCode(TransactionCode transactionCode) { + + this.transactionCode = transactionCode; + return this; + } + + /** + * Get transactionCode + * @return transactionCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransactionCode getTransactionCode() { + return transactionCode; + } + + + public void setTransactionCode(TransactionCode transactionCode) { + this.transactionCode = transactionCode; + } + + + public Transaction personalFinanceCategoryIconUrl(String personalFinanceCategoryIconUrl) { + + this.personalFinanceCategoryIconUrl = personalFinanceCategoryIconUrl; + return this; + } + + /** + * The URL of an icon associated with the primary personal finance category. The icon will always be a 100×100 pixel PNG file. + * @return personalFinanceCategoryIconUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL of an icon associated with the primary personal finance category. The icon will always be a 100×100 pixel PNG file.") + + public String getPersonalFinanceCategoryIconUrl() { + return personalFinanceCategoryIconUrl; + } + + + public void setPersonalFinanceCategoryIconUrl(String personalFinanceCategoryIconUrl) { + this.personalFinanceCategoryIconUrl = personalFinanceCategoryIconUrl; + } + + + public Transaction counterparties(List counterparties) { + + this.counterparties = counterparties; + return this; + } + + public Transaction addCounterpartiesItem(TransactionCounterparty counterpartiesItem) { + if (this.counterparties == null) { + this.counterparties = new ArrayList<>(); + } + this.counterparties.add(counterpartiesItem); + return this; + } + + /** + * The counterparties present in the transaction. Counterparties, such as the merchant or the financial institution, are extracted by Plaid from the raw description. + * @return counterparties + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The counterparties present in the transaction. Counterparties, such as the merchant or the financial institution, are extracted by Plaid from the raw description.") + + public List getCounterparties() { + return counterparties; + } + + + public void setCounterparties(List counterparties) { + this.counterparties = counterparties; + } + + + public Transaction merchantEntityId(String merchantEntityId) { + + this.merchantEntityId = merchantEntityId; + return this; + } + + /** + * A unique, stable, Plaid-generated ID that maps to the merchant. In the case of a merchant with multiple retail locations, this field will map to the broader merchant, not a specific location or store. + * @return merchantEntityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique, stable, Plaid-generated ID that maps to the merchant. In the case of a merchant with multiple retail locations, this field will map to the broader merchant, not a specific location or store.") + + public String getMerchantEntityId() { + return merchantEntityId; + } + + + public void setMerchantEntityId(String merchantEntityId) { + this.merchantEntityId = merchantEntityId; + } + + + public Transaction clientCustomization(ClientCustomization clientCustomization) { + + this.clientCustomization = clientCustomization; + return this; + } + + /** + * Get clientCustomization + * @return clientCustomization + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ClientCustomization getClientCustomization() { + return clientCustomization; + } + + + public void setClientCustomization(ClientCustomization clientCustomization) { + this.clientCustomization = clientCustomization; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Transaction transaction = (Transaction) o; + return Objects.equals(this.accountId, transaction.accountId) && + Objects.equals(this.amount, transaction.amount) && + Objects.equals(this.isoCurrencyCode, transaction.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, transaction.unofficialCurrencyCode) && + Objects.equals(this.category, transaction.category) && + Objects.equals(this.categoryId, transaction.categoryId) && + Objects.equals(this.checkNumber, transaction.checkNumber) && + Objects.equals(this.date, transaction.date) && + Objects.equals(this.location, transaction.location) && + Objects.equals(this.name, transaction.name) && + Objects.equals(this.merchantName, transaction.merchantName) && + Objects.equals(this.originalDescription, transaction.originalDescription) && + Objects.equals(this.paymentMeta, transaction.paymentMeta) && + Objects.equals(this.pending, transaction.pending) && + Objects.equals(this.pendingTransactionId, transaction.pendingTransactionId) && + Objects.equals(this.accountOwner, transaction.accountOwner) && + Objects.equals(this.transactionId, transaction.transactionId) && + Objects.equals(this.transactionType, transaction.transactionType) && + Objects.equals(this.logoUrl, transaction.logoUrl) && + Objects.equals(this.website, transaction.website) && + Objects.equals(this.authorizedDate, transaction.authorizedDate) && + Objects.equals(this.authorizedDatetime, transaction.authorizedDatetime) && + Objects.equals(this.datetime, transaction.datetime) && + Objects.equals(this.paymentChannel, transaction.paymentChannel) && + Objects.equals(this.personalFinanceCategory, transaction.personalFinanceCategory) && + Objects.equals(this.businessFinanceCategory, transaction.businessFinanceCategory) && + Objects.equals(this.transactionCode, transaction.transactionCode) && + Objects.equals(this.personalFinanceCategoryIconUrl, transaction.personalFinanceCategoryIconUrl) && + Objects.equals(this.counterparties, transaction.counterparties) && + Objects.equals(this.merchantEntityId, transaction.merchantEntityId) && + Objects.equals(this.clientCustomization, transaction.clientCustomization); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, amount, isoCurrencyCode, unofficialCurrencyCode, category, categoryId, checkNumber, date, location, name, merchantName, originalDescription, paymentMeta, pending, pendingTransactionId, accountOwner, transactionId, transactionType, logoUrl, website, authorizedDate, authorizedDatetime, datetime, paymentChannel, personalFinanceCategory, businessFinanceCategory, transactionCode, personalFinanceCategoryIconUrl, counterparties, merchantEntityId, clientCustomization); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Transaction {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" categoryId: ").append(toIndentedString(categoryId)).append("\n"); + sb.append(" checkNumber: ").append(toIndentedString(checkNumber)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" merchantName: ").append(toIndentedString(merchantName)).append("\n"); + sb.append(" originalDescription: ").append(toIndentedString(originalDescription)).append("\n"); + sb.append(" paymentMeta: ").append(toIndentedString(paymentMeta)).append("\n"); + sb.append(" pending: ").append(toIndentedString(pending)).append("\n"); + sb.append(" pendingTransactionId: ").append(toIndentedString(pendingTransactionId)).append("\n"); + sb.append(" accountOwner: ").append(toIndentedString(accountOwner)).append("\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" transactionType: ").append(toIndentedString(transactionType)).append("\n"); + sb.append(" logoUrl: ").append(toIndentedString(logoUrl)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" authorizedDate: ").append(toIndentedString(authorizedDate)).append("\n"); + sb.append(" authorizedDatetime: ").append(toIndentedString(authorizedDatetime)).append("\n"); + sb.append(" datetime: ").append(toIndentedString(datetime)).append("\n"); + sb.append(" paymentChannel: ").append(toIndentedString(paymentChannel)).append("\n"); + sb.append(" personalFinanceCategory: ").append(toIndentedString(personalFinanceCategory)).append("\n"); + sb.append(" businessFinanceCategory: ").append(toIndentedString(businessFinanceCategory)).append("\n"); + sb.append(" transactionCode: ").append(toIndentedString(transactionCode)).append("\n"); + sb.append(" personalFinanceCategoryIconUrl: ").append(toIndentedString(personalFinanceCategoryIconUrl)).append("\n"); + sb.append(" counterparties: ").append(toIndentedString(counterparties)).append("\n"); + sb.append(" merchantEntityId: ").append(toIndentedString(merchantEntityId)).append("\n"); + sb.append(" clientCustomization: ").append(toIndentedString(clientCustomization)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionAllOf.java b/src/main/java/com/plaid/client/model/TransactionAllOf.java new file mode 100644 index 0000000000..4db193d8bc --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionAllOf.java @@ -0,0 +1,453 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.BusinessFinanceCategory; +import com.plaid.client.model.ClientCustomization; +import com.plaid.client.model.PersonalFinanceCategory; +import com.plaid.client.model.TransactionCode; +import com.plaid.client.model.TransactionCounterparty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionAllOf { + public static final String SERIALIZED_NAME_AUTHORIZED_DATE = "authorized_date"; + @SerializedName(SERIALIZED_NAME_AUTHORIZED_DATE) + private LocalDate authorizedDate; + + public static final String SERIALIZED_NAME_AUTHORIZED_DATETIME = "authorized_datetime"; + @SerializedName(SERIALIZED_NAME_AUTHORIZED_DATETIME) + private OffsetDateTime authorizedDatetime; + + public static final String SERIALIZED_NAME_DATETIME = "datetime"; + @SerializedName(SERIALIZED_NAME_DATETIME) + private OffsetDateTime datetime; + + /** + * The channel used to make a payment. `online:` transactions that took place online. `in store:` transactions that were made at a physical location. `other:` transactions that relate to banks, e.g. fees or deposits. This field replaces the `transaction_type` field. + */ + @JsonAdapter(PaymentChannelEnum.Adapter.class) + public enum PaymentChannelEnum { + ONLINE("online"), + + IN_STORE("in store"), + + OTHER("other"); + + private String value; + + PaymentChannelEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PaymentChannelEnum fromValue(String value) { + for (PaymentChannelEnum b : PaymentChannelEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PaymentChannelEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PaymentChannelEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PaymentChannelEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PAYMENT_CHANNEL = "payment_channel"; + @SerializedName(SERIALIZED_NAME_PAYMENT_CHANNEL) + private PaymentChannelEnum paymentChannel; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY = "personal_finance_category"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY) + private PersonalFinanceCategory personalFinanceCategory; + + public static final String SERIALIZED_NAME_BUSINESS_FINANCE_CATEGORY = "business_finance_category"; + @SerializedName(SERIALIZED_NAME_BUSINESS_FINANCE_CATEGORY) + private BusinessFinanceCategory businessFinanceCategory; + + public static final String SERIALIZED_NAME_TRANSACTION_CODE = "transaction_code"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_CODE) + private TransactionCode transactionCode; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_ICON_URL = "personal_finance_category_icon_url"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_ICON_URL) + private String personalFinanceCategoryIconUrl; + + public static final String SERIALIZED_NAME_COUNTERPARTIES = "counterparties"; + @SerializedName(SERIALIZED_NAME_COUNTERPARTIES) + private List counterparties = null; + + public static final String SERIALIZED_NAME_MERCHANT_ENTITY_ID = "merchant_entity_id"; + @SerializedName(SERIALIZED_NAME_MERCHANT_ENTITY_ID) + private String merchantEntityId; + + public static final String SERIALIZED_NAME_CLIENT_CUSTOMIZATION = "client_customization"; + @SerializedName(SERIALIZED_NAME_CLIENT_CUSTOMIZATION) + private ClientCustomization clientCustomization; + + + public TransactionAllOf authorizedDate(LocalDate authorizedDate) { + + this.authorizedDate = authorizedDate; + return this; + } + + /** + * The date that the transaction was authorized. For posted transactions, the `date` field will indicate the posted date, but `authorized_date` will indicate the day the transaction was authorized by the financial institution. If presenting transactions to the user in a UI, the `authorized_date`, when available, is generally preferable to use over the `date` field for posted transactions, as it will generally represent the date the user actually made the transaction. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ). + * @return authorizedDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date that the transaction was authorized. For posted transactions, the `date` field will indicate the posted date, but `authorized_date` will indicate the day the transaction was authorized by the financial institution. If presenting transactions to the user in a UI, the `authorized_date`, when available, is generally preferable to use over the `date` field for posted transactions, as it will generally represent the date the user actually made the transaction. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ).") + + public LocalDate getAuthorizedDate() { + return authorizedDate; + } + + + public void setAuthorizedDate(LocalDate authorizedDate) { + this.authorizedDate = authorizedDate; + } + + + public TransactionAllOf authorizedDatetime(OffsetDateTime authorizedDatetime) { + + this.authorizedDatetime = authorizedDatetime; + return this; + } + + /** + * Date and time when a transaction was authorized in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). For posted transactions, the `datetime` field will indicate the posted date, but `authorized_datetime` will indicate the day the transaction was authorized by the financial institution. If presenting transactions to the user in a UI, the `authorized_datetime`, when available, is generally preferable to use over the `datetime` field for posted transactions, as it will generally represent the date the user actually made the transaction. This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later. + * @return authorizedDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Date and time when a transaction was authorized in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). For posted transactions, the `datetime` field will indicate the posted date, but `authorized_datetime` will indicate the day the transaction was authorized by the financial institution. If presenting transactions to the user in a UI, the `authorized_datetime`, when available, is generally preferable to use over the `datetime` field for posted transactions, as it will generally represent the date the user actually made the transaction. This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later.") + + public OffsetDateTime getAuthorizedDatetime() { + return authorizedDatetime; + } + + + public void setAuthorizedDatetime(OffsetDateTime authorizedDatetime) { + this.authorizedDatetime = authorizedDatetime; + } + + + public TransactionAllOf datetime(OffsetDateTime datetime) { + + this.datetime = datetime; + return this; + } + + /** + * Date and time when a transaction was posted in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). For the date that the transaction was initiated, rather than posted, see the `authorized_datetime` field. This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later. + * @return datetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Date and time when a transaction was posted in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). For the date that the transaction was initiated, rather than posted, see the `authorized_datetime` field. This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later.") + + public OffsetDateTime getDatetime() { + return datetime; + } + + + public void setDatetime(OffsetDateTime datetime) { + this.datetime = datetime; + } + + + public TransactionAllOf paymentChannel(PaymentChannelEnum paymentChannel) { + + this.paymentChannel = paymentChannel; + return this; + } + + /** + * The channel used to make a payment. `online:` transactions that took place online. `in store:` transactions that were made at a physical location. `other:` transactions that relate to banks, e.g. fees or deposits. This field replaces the `transaction_type` field. + * @return paymentChannel + **/ + @ApiModelProperty(required = true, value = "The channel used to make a payment. `online:` transactions that took place online. `in store:` transactions that were made at a physical location. `other:` transactions that relate to banks, e.g. fees or deposits. This field replaces the `transaction_type` field. ") + + public PaymentChannelEnum getPaymentChannel() { + return paymentChannel; + } + + + public void setPaymentChannel(PaymentChannelEnum paymentChannel) { + this.paymentChannel = paymentChannel; + } + + + public TransactionAllOf personalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + + this.personalFinanceCategory = personalFinanceCategory; + return this; + } + + /** + * Get personalFinanceCategory + * @return personalFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PersonalFinanceCategory getPersonalFinanceCategory() { + return personalFinanceCategory; + } + + + public void setPersonalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + this.personalFinanceCategory = personalFinanceCategory; + } + + + public TransactionAllOf businessFinanceCategory(BusinessFinanceCategory businessFinanceCategory) { + + this.businessFinanceCategory = businessFinanceCategory; + return this; + } + + /** + * Get businessFinanceCategory + * @return businessFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public BusinessFinanceCategory getBusinessFinanceCategory() { + return businessFinanceCategory; + } + + + public void setBusinessFinanceCategory(BusinessFinanceCategory businessFinanceCategory) { + this.businessFinanceCategory = businessFinanceCategory; + } + + + public TransactionAllOf transactionCode(TransactionCode transactionCode) { + + this.transactionCode = transactionCode; + return this; + } + + /** + * Get transactionCode + * @return transactionCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransactionCode getTransactionCode() { + return transactionCode; + } + + + public void setTransactionCode(TransactionCode transactionCode) { + this.transactionCode = transactionCode; + } + + + public TransactionAllOf personalFinanceCategoryIconUrl(String personalFinanceCategoryIconUrl) { + + this.personalFinanceCategoryIconUrl = personalFinanceCategoryIconUrl; + return this; + } + + /** + * The URL of an icon associated with the primary personal finance category. The icon will always be a 100×100 pixel PNG file. + * @return personalFinanceCategoryIconUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL of an icon associated with the primary personal finance category. The icon will always be a 100×100 pixel PNG file.") + + public String getPersonalFinanceCategoryIconUrl() { + return personalFinanceCategoryIconUrl; + } + + + public void setPersonalFinanceCategoryIconUrl(String personalFinanceCategoryIconUrl) { + this.personalFinanceCategoryIconUrl = personalFinanceCategoryIconUrl; + } + + + public TransactionAllOf counterparties(List counterparties) { + + this.counterparties = counterparties; + return this; + } + + public TransactionAllOf addCounterpartiesItem(TransactionCounterparty counterpartiesItem) { + if (this.counterparties == null) { + this.counterparties = new ArrayList<>(); + } + this.counterparties.add(counterpartiesItem); + return this; + } + + /** + * The counterparties present in the transaction. Counterparties, such as the merchant or the financial institution, are extracted by Plaid from the raw description. + * @return counterparties + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The counterparties present in the transaction. Counterparties, such as the merchant or the financial institution, are extracted by Plaid from the raw description.") + + public List getCounterparties() { + return counterparties; + } + + + public void setCounterparties(List counterparties) { + this.counterparties = counterparties; + } + + + public TransactionAllOf merchantEntityId(String merchantEntityId) { + + this.merchantEntityId = merchantEntityId; + return this; + } + + /** + * A unique, stable, Plaid-generated ID that maps to the merchant. In the case of a merchant with multiple retail locations, this field will map to the broader merchant, not a specific location or store. + * @return merchantEntityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique, stable, Plaid-generated ID that maps to the merchant. In the case of a merchant with multiple retail locations, this field will map to the broader merchant, not a specific location or store.") + + public String getMerchantEntityId() { + return merchantEntityId; + } + + + public void setMerchantEntityId(String merchantEntityId) { + this.merchantEntityId = merchantEntityId; + } + + + public TransactionAllOf clientCustomization(ClientCustomization clientCustomization) { + + this.clientCustomization = clientCustomization; + return this; + } + + /** + * Get clientCustomization + * @return clientCustomization + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ClientCustomization getClientCustomization() { + return clientCustomization; + } + + + public void setClientCustomization(ClientCustomization clientCustomization) { + this.clientCustomization = clientCustomization; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionAllOf transactionAllOf = (TransactionAllOf) o; + return Objects.equals(this.authorizedDate, transactionAllOf.authorizedDate) && + Objects.equals(this.authorizedDatetime, transactionAllOf.authorizedDatetime) && + Objects.equals(this.datetime, transactionAllOf.datetime) && + Objects.equals(this.paymentChannel, transactionAllOf.paymentChannel) && + Objects.equals(this.personalFinanceCategory, transactionAllOf.personalFinanceCategory) && + Objects.equals(this.businessFinanceCategory, transactionAllOf.businessFinanceCategory) && + Objects.equals(this.transactionCode, transactionAllOf.transactionCode) && + Objects.equals(this.personalFinanceCategoryIconUrl, transactionAllOf.personalFinanceCategoryIconUrl) && + Objects.equals(this.counterparties, transactionAllOf.counterparties) && + Objects.equals(this.merchantEntityId, transactionAllOf.merchantEntityId) && + Objects.equals(this.clientCustomization, transactionAllOf.clientCustomization); + } + + @Override + public int hashCode() { + return Objects.hash(authorizedDate, authorizedDatetime, datetime, paymentChannel, personalFinanceCategory, businessFinanceCategory, transactionCode, personalFinanceCategoryIconUrl, counterparties, merchantEntityId, clientCustomization); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionAllOf {\n"); + sb.append(" authorizedDate: ").append(toIndentedString(authorizedDate)).append("\n"); + sb.append(" authorizedDatetime: ").append(toIndentedString(authorizedDatetime)).append("\n"); + sb.append(" datetime: ").append(toIndentedString(datetime)).append("\n"); + sb.append(" paymentChannel: ").append(toIndentedString(paymentChannel)).append("\n"); + sb.append(" personalFinanceCategory: ").append(toIndentedString(personalFinanceCategory)).append("\n"); + sb.append(" businessFinanceCategory: ").append(toIndentedString(businessFinanceCategory)).append("\n"); + sb.append(" transactionCode: ").append(toIndentedString(transactionCode)).append("\n"); + sb.append(" personalFinanceCategoryIconUrl: ").append(toIndentedString(personalFinanceCategoryIconUrl)).append("\n"); + sb.append(" counterparties: ").append(toIndentedString(counterparties)).append("\n"); + sb.append(" merchantEntityId: ").append(toIndentedString(merchantEntityId)).append("\n"); + sb.append(" clientCustomization: ").append(toIndentedString(clientCustomization)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionBase.java b/src/main/java/com/plaid/client/model/TransactionBase.java new file mode 100644 index 0000000000..b4181431ae --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionBase.java @@ -0,0 +1,709 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Location; +import com.plaid.client.model.PaymentMeta; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * A representation of a transaction + */ +@ApiModel(description = "A representation of a transaction") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionBase { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private List category = null; + + public static final String SERIALIZED_NAME_CATEGORY_ID = "category_id"; + @SerializedName(SERIALIZED_NAME_CATEGORY_ID) + private String categoryId; + + public static final String SERIALIZED_NAME_CHECK_NUMBER = "check_number"; + @SerializedName(SERIALIZED_NAME_CHECK_NUMBER) + private String checkNumber; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private Location location; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_MERCHANT_NAME = "merchant_name"; + @SerializedName(SERIALIZED_NAME_MERCHANT_NAME) + private String merchantName; + + public static final String SERIALIZED_NAME_ORIGINAL_DESCRIPTION = "original_description"; + @SerializedName(SERIALIZED_NAME_ORIGINAL_DESCRIPTION) + private String originalDescription; + + public static final String SERIALIZED_NAME_PAYMENT_META = "payment_meta"; + @SerializedName(SERIALIZED_NAME_PAYMENT_META) + private PaymentMeta paymentMeta; + + public static final String SERIALIZED_NAME_PENDING = "pending"; + @SerializedName(SERIALIZED_NAME_PENDING) + private Boolean pending; + + public static final String SERIALIZED_NAME_PENDING_TRANSACTION_ID = "pending_transaction_id"; + @SerializedName(SERIALIZED_NAME_PENDING_TRANSACTION_ID) + private String pendingTransactionId; + + public static final String SERIALIZED_NAME_ACCOUNT_OWNER = "account_owner"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_OWNER) + private String accountOwner; + + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + /** + * Please use the `payment_channel` field, `transaction_type` will be deprecated in the future. `digital:` transactions that took place online. `place:` transactions that were made at a physical location. `special:` transactions that relate to banks, e.g. fees or deposits. `unresolved:` transactions that do not fit into the other three types. + */ + @JsonAdapter(TransactionTypeEnum.Adapter.class) + public enum TransactionTypeEnum { + DIGITAL("digital"), + + PLACE("place"), + + SPECIAL("special"), + + UNRESOLVED("unresolved"); + + private String value; + + TransactionTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransactionTypeEnum fromValue(String value) { + for (TransactionTypeEnum b : TransactionTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransactionTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransactionTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransactionTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TRANSACTION_TYPE = "transaction_type"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_TYPE) + private TransactionTypeEnum transactionType; + + public static final String SERIALIZED_NAME_LOGO_URL = "logo_url"; + @SerializedName(SERIALIZED_NAME_LOGO_URL) + private String logoUrl; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private String website; + + + public TransactionBase accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account in which this transaction occurred. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account in which this transaction occurred.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransactionBase amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The settled value of the transaction, denominated in the transaction's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. For all products except Income: Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative. For Income endpoints, values are positive when representing income. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The settled value of the transaction, denominated in the transaction's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. For all products except Income: Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative. For Income endpoints, values are positive when representing income.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TransactionBase isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TransactionBase unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + public TransactionBase category(List category) { + + this.category = category; + return this; + } + + public TransactionBase addCategoryItem(String categoryItem) { + if (this.category == null) { + this.category = new ArrayList<>(); + } + this.category.add(categoryItem); + return this; + } + + /** + * A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). All Transactions implementations are recommended to use the new `personal_finance_category` instead of `category`, as it provides greater accuracy and more meaningful categorization. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights. + * @return category + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). All Transactions implementations are recommended to use the new `personal_finance_category` instead of `category`, as it provides greater accuracy and more meaningful categorization. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.") + + public List getCategory() { + return category; + } + + + public void setCategory(List category) { + this.category = category; + } + + + public TransactionBase categoryId(String categoryId) { + + this.categoryId = categoryId; + return this; + } + + /** + * The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). All Transactions implementations are recommended to use the new `personal_finance_category` instead of `category`, as it provides greater accuracy and more meaningful categorization. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights. + * @return categoryId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). All Transactions implementations are recommended to use the new `personal_finance_category` instead of `category`, as it provides greater accuracy and more meaningful categorization. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.") + + public String getCategoryId() { + return categoryId; + } + + + public void setCategoryId(String categoryId) { + this.categoryId = categoryId; + } + + + public TransactionBase checkNumber(String checkNumber) { + + this.checkNumber = checkNumber; + return this; + } + + /** + * The check number of the transaction. This field is only populated for check transactions. + * @return checkNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The check number of the transaction. This field is only populated for check transactions.") + + public String getCheckNumber() { + return checkNumber; + } + + + public void setCheckNumber(String checkNumber) { + this.checkNumber = checkNumber; + } + + + public TransactionBase date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ). To receive information about the date that a posted transaction was initiated, see the `authorized_date` field. + * @return date + **/ + @ApiModelProperty(required = true, value = "For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ). To receive information about the date that a posted transaction was initiated, see the `authorized_date` field.") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public TransactionBase location(Location location) { + + this.location = location; + return this; + } + + /** + * Get location + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Location getLocation() { + return location; + } + + + public void setLocation(Location location) { + this.location = location; + } + + + public TransactionBase name(String name) { + + this.name = name; + return this; + } + + /** + * The merchant name or transaction description. Note: While Plaid does not currently plan to remove this field, it is a legacy field that is not actively maintained. Use `merchant_name` instead for the merchant name. If the `transactions` object was returned by a Transactions endpoint such as `/transactions/sync` or `/transactions/get`, this field will always appear. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights. + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The merchant name or transaction description. Note: While Plaid does not currently plan to remove this field, it is a legacy field that is not actively maintained. Use `merchant_name` instead for the merchant name. If the `transactions` object was returned by a Transactions endpoint such as `/transactions/sync` or `/transactions/get`, this field will always appear. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public TransactionBase merchantName(String merchantName) { + + this.merchantName = merchantName; + return this; + } + + /** + * The merchant name, as enriched by Plaid from the `name` field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be `null`. + * @return merchantName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The merchant name, as enriched by Plaid from the `name` field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be `null`.") + + public String getMerchantName() { + return merchantName; + } + + + public void setMerchantName(String merchantName) { + this.merchantName = merchantName; + } + + + public TransactionBase originalDescription(String originalDescription) { + + this.originalDescription = originalDescription; + return this; + } + + /** + * The string returned by the financial institution to describe the transaction. For transactions returned by `/transactions/sync` or `/transactions/get`, this field will only be included if the client has set `options.include_original_description` to `true`. + * @return originalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The string returned by the financial institution to describe the transaction. For transactions returned by `/transactions/sync` or `/transactions/get`, this field will only be included if the client has set `options.include_original_description` to `true`.") + + public String getOriginalDescription() { + return originalDescription; + } + + + public void setOriginalDescription(String originalDescription) { + this.originalDescription = originalDescription; + } + + + public TransactionBase paymentMeta(PaymentMeta paymentMeta) { + + this.paymentMeta = paymentMeta; + return this; + } + + /** + * Get paymentMeta + * @return paymentMeta + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentMeta getPaymentMeta() { + return paymentMeta; + } + + + public void setPaymentMeta(PaymentMeta paymentMeta) { + this.paymentMeta = paymentMeta; + } + + + public TransactionBase pending(Boolean pending) { + + this.pending = pending; + return this; + } + + /** + * When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled. Not all institutions provide pending transactions. + * @return pending + **/ + @ApiModelProperty(required = true, value = "When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled. Not all institutions provide pending transactions.") + + public Boolean getPending() { + return pending; + } + + + public void setPending(Boolean pending) { + this.pending = pending; + } + + + public TransactionBase pendingTransactionId(String pendingTransactionId) { + + this.pendingTransactionId = pendingTransactionId; + return this; + } + + /** + * The ID of a posted transaction's associated pending transaction, where applicable. Not all institutions provide pending transactions. + * @return pendingTransactionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of a posted transaction's associated pending transaction, where applicable. Not all institutions provide pending transactions.") + + public String getPendingTransactionId() { + return pendingTransactionId; + } + + + public void setPendingTransactionId(String pendingTransactionId) { + this.pendingTransactionId = pendingTransactionId; + } + + + public TransactionBase accountOwner(String accountOwner) { + + this.accountOwner = accountOwner; + return this; + } + + /** + * This field is not typically populated and only relevant when dealing with sub-accounts. A sub-account most commonly exists in cases where a single account is linked to multiple cards, each with its own card number and card holder name; each card will be considered a sub-account. If the account does have sub-accounts, this field will typically be some combination of the sub-account owner's name and/or the sub-account mask. The format of this field is not standardized and will vary based on institution. + * @return accountOwner + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "This field is not typically populated and only relevant when dealing with sub-accounts. A sub-account most commonly exists in cases where a single account is linked to multiple cards, each with its own card number and card holder name; each card will be considered a sub-account. If the account does have sub-accounts, this field will typically be some combination of the sub-account owner's name and/or the sub-account mask. The format of this field is not standardized and will vary based on institution.") + + public String getAccountOwner() { + return accountOwner; + } + + + public void setAccountOwner(String accountOwner) { + this.accountOwner = accountOwner; + } + + + public TransactionBase transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive. + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public TransactionBase transactionType(TransactionTypeEnum transactionType) { + + this.transactionType = transactionType; + return this; + } + + /** + * Please use the `payment_channel` field, `transaction_type` will be deprecated in the future. `digital:` transactions that took place online. `place:` transactions that were made at a physical location. `special:` transactions that relate to banks, e.g. fees or deposits. `unresolved:` transactions that do not fit into the other three types. + * @return transactionType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Please use the `payment_channel` field, `transaction_type` will be deprecated in the future. `digital:` transactions that took place online. `place:` transactions that were made at a physical location. `special:` transactions that relate to banks, e.g. fees or deposits. `unresolved:` transactions that do not fit into the other three types. ") + + public TransactionTypeEnum getTransactionType() { + return transactionType; + } + + + public void setTransactionType(TransactionTypeEnum transactionType) { + this.transactionType = transactionType; + } + + + public TransactionBase logoUrl(String logoUrl) { + + this.logoUrl = logoUrl; + return this; + } + + /** + * The URL of a logo associated with this transaction, if available. The logo will always be a 100×100 pixel PNG file. + * @return logoUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The URL of a logo associated with this transaction, if available. The logo will always be a 100×100 pixel PNG file.") + + public String getLogoUrl() { + return logoUrl; + } + + + public void setLogoUrl(String logoUrl) { + this.logoUrl = logoUrl; + } + + + public TransactionBase website(String website) { + + this.website = website; + return this; + } + + /** + * The website associated with this transaction, if available. + * @return website + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The website associated with this transaction, if available.") + + public String getWebsite() { + return website; + } + + + public void setWebsite(String website) { + this.website = website; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionBase transactionBase = (TransactionBase) o; + return Objects.equals(this.accountId, transactionBase.accountId) && + Objects.equals(this.amount, transactionBase.amount) && + Objects.equals(this.isoCurrencyCode, transactionBase.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, transactionBase.unofficialCurrencyCode) && + Objects.equals(this.category, transactionBase.category) && + Objects.equals(this.categoryId, transactionBase.categoryId) && + Objects.equals(this.checkNumber, transactionBase.checkNumber) && + Objects.equals(this.date, transactionBase.date) && + Objects.equals(this.location, transactionBase.location) && + Objects.equals(this.name, transactionBase.name) && + Objects.equals(this.merchantName, transactionBase.merchantName) && + Objects.equals(this.originalDescription, transactionBase.originalDescription) && + Objects.equals(this.paymentMeta, transactionBase.paymentMeta) && + Objects.equals(this.pending, transactionBase.pending) && + Objects.equals(this.pendingTransactionId, transactionBase.pendingTransactionId) && + Objects.equals(this.accountOwner, transactionBase.accountOwner) && + Objects.equals(this.transactionId, transactionBase.transactionId) && + Objects.equals(this.transactionType, transactionBase.transactionType) && + Objects.equals(this.logoUrl, transactionBase.logoUrl) && + Objects.equals(this.website, transactionBase.website); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, amount, isoCurrencyCode, unofficialCurrencyCode, category, categoryId, checkNumber, date, location, name, merchantName, originalDescription, paymentMeta, pending, pendingTransactionId, accountOwner, transactionId, transactionType, logoUrl, website); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionBase {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" categoryId: ").append(toIndentedString(categoryId)).append("\n"); + sb.append(" checkNumber: ").append(toIndentedString(checkNumber)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" merchantName: ").append(toIndentedString(merchantName)).append("\n"); + sb.append(" originalDescription: ").append(toIndentedString(originalDescription)).append("\n"); + sb.append(" paymentMeta: ").append(toIndentedString(paymentMeta)).append("\n"); + sb.append(" pending: ").append(toIndentedString(pending)).append("\n"); + sb.append(" pendingTransactionId: ").append(toIndentedString(pendingTransactionId)).append("\n"); + sb.append(" accountOwner: ").append(toIndentedString(accountOwner)).append("\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" transactionType: ").append(toIndentedString(transactionType)).append("\n"); + sb.append(" logoUrl: ").append(toIndentedString(logoUrl)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionCode.java b/src/main/java/com/plaid/client/model/TransactionCode.java new file mode 100644 index 0000000000..aafedc6991 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionCode.java @@ -0,0 +1,111 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An identifier classifying the transaction type. This field is populated for European institutions, as well as certain institutions in the United States. For institutions where this classification is not available, this field is set to `null`. `adjustment:` Bank adjustment `atm:` Cash deposit or withdrawal via an automated teller machine `bank charge:` Charge or fee levied by the institution `bill payment`: Payment of a bill `cash:` Cash deposit or withdrawal `cash advance:` Cash advance drawn against a credit card or line of credit `cashback:` Cash withdrawal while making a debit card purchase `cheque:` Document ordering the payment of money to another person or organization `direct debit:` Automatic withdrawal of funds initiated by a third party at a regular interval `interest:` Interest earned or incurred `late fee:` Fee associated with a late or past-due payment `membership fee:` Annual or recurring membership fee `payment:` One-off outbound payment not classified as a bill payment, direct debit, or standing order `purchase:` Purchase made with a debit or credit card `refund:` Merchant credit or return, such as a refund of a prior purchase `returned item fee:` Fee for a returned item, such as a returned check or stop payment `standing order:` Payment instructed by the account holder to a third party at a regular interval `transfer:` Transfer of money between accounts + */ +@JsonAdapter(TransactionCode.Adapter.class) +public enum TransactionCode { + + ADJUSTMENT("adjustment"), + + ATM("atm"), + + BANK_CHARGE("bank charge"), + + BILL_PAYMENT("bill payment"), + + CASH("cash"), + + CASH_ADVANCE("cash advance"), + + CASHBACK("cashback"), + + CHEQUE("cheque"), + + DIRECT_DEBIT("direct debit"), + + INTEREST("interest"), + + LATE_FEE("late fee"), + + MEMBERSHIP_FEE("membership fee"), + + PAYMENT("payment"), + + PURCHASE("purchase"), + + REFUND("refund"), + + RETURNED_ITEM_FEE("returned item fee"), + + STANDING_ORDER("standing order"), + + TRANSFER("transfer"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransactionCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransactionCode fromValue(String value) { + for (TransactionCode b : TransactionCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransactionCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransactionCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransactionCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransactionCounterparty.java b/src/main/java/com/plaid/client/model/TransactionCounterparty.java new file mode 100644 index 0000000000..f1806c4f38 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionCounterparty.java @@ -0,0 +1,273 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CounterpartyNumbers; +import com.plaid.client.model.CounterpartyType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The counterparty, such as the merchant or financial institution, is extracted by Plaid from the raw description. + */ +@ApiModel(description = "The counterparty, such as the merchant or financial institution, is extracted by Plaid from the raw description.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionCounterparty { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ENTITY_ID = "entity_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_ID) + private String entityId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private CounterpartyType type; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private String website; + + public static final String SERIALIZED_NAME_LOGO_URL = "logo_url"; + @SerializedName(SERIALIZED_NAME_LOGO_URL) + private String logoUrl; + + public static final String SERIALIZED_NAME_CONFIDENCE_LEVEL = "confidence_level"; + @SerializedName(SERIALIZED_NAME_CONFIDENCE_LEVEL) + private String confidenceLevel; + + public static final String SERIALIZED_NAME_ACCOUNT_NUMBERS = "account_numbers"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBERS) + private CounterpartyNumbers accountNumbers; + + + public TransactionCounterparty name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public TransactionCounterparty entityId(String entityId) { + + this.entityId = entityId; + return this; + } + + /** + * A unique, stable, Plaid-generated ID that maps to the counterparty. + * @return entityId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique, stable, Plaid-generated ID that maps to the counterparty.") + + public String getEntityId() { + return entityId; + } + + + public void setEntityId(String entityId) { + this.entityId = entityId; + } + + + public TransactionCounterparty type(CounterpartyType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public CounterpartyType getType() { + return type; + } + + + public void setType(CounterpartyType type) { + this.type = type; + } + + + public TransactionCounterparty website(String website) { + + this.website = website; + return this; + } + + /** + * The website associated with the counterparty. + * @return website + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The website associated with the counterparty.") + + public String getWebsite() { + return website; + } + + + public void setWebsite(String website) { + this.website = website; + } + + + public TransactionCounterparty logoUrl(String logoUrl) { + + this.logoUrl = logoUrl; + return this; + } + + /** + * The URL of a logo associated with the counterparty, if available. The logo will always be a 100×100 pixel PNG file. + * @return logoUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The URL of a logo associated with the counterparty, if available. The logo will always be a 100×100 pixel PNG file.") + + public String getLogoUrl() { + return logoUrl; + } + + + public void setLogoUrl(String logoUrl) { + this.logoUrl = logoUrl; + } + + + public TransactionCounterparty confidenceLevel(String confidenceLevel) { + + this.confidenceLevel = confidenceLevel; + return this; + } + + /** + * A description of how confident we are that the provided counterparty is involved in the transaction. `VERY_HIGH`: We recognize this counterparty and we are more than 98% confident that it is involved in this transaction. `HIGH`: We recognize this counterparty and we are more than 90% confident that it is involved in this transaction. `MEDIUM`: We are moderately confident that this counterparty was involved in this transaction, but some details may differ from our records. `LOW`: We didn't find a matching counterparty in our records, so we are returning a cleansed name parsed out of the request description. `UNKNOWN`: We don't know the confidence level for this counterparty. + * @return confidenceLevel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A description of how confident we are that the provided counterparty is involved in the transaction. `VERY_HIGH`: We recognize this counterparty and we are more than 98% confident that it is involved in this transaction. `HIGH`: We recognize this counterparty and we are more than 90% confident that it is involved in this transaction. `MEDIUM`: We are moderately confident that this counterparty was involved in this transaction, but some details may differ from our records. `LOW`: We didn't find a matching counterparty in our records, so we are returning a cleansed name parsed out of the request description. `UNKNOWN`: We don't know the confidence level for this counterparty.") + + public String getConfidenceLevel() { + return confidenceLevel; + } + + + public void setConfidenceLevel(String confidenceLevel) { + this.confidenceLevel = confidenceLevel; + } + + + public TransactionCounterparty accountNumbers(CounterpartyNumbers accountNumbers) { + + this.accountNumbers = accountNumbers; + return this; + } + + /** + * Get accountNumbers + * @return accountNumbers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CounterpartyNumbers getAccountNumbers() { + return accountNumbers; + } + + + public void setAccountNumbers(CounterpartyNumbers accountNumbers) { + this.accountNumbers = accountNumbers; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionCounterparty transactionCounterparty = (TransactionCounterparty) o; + return Objects.equals(this.name, transactionCounterparty.name) && + Objects.equals(this.entityId, transactionCounterparty.entityId) && + Objects.equals(this.type, transactionCounterparty.type) && + Objects.equals(this.website, transactionCounterparty.website) && + Objects.equals(this.logoUrl, transactionCounterparty.logoUrl) && + Objects.equals(this.confidenceLevel, transactionCounterparty.confidenceLevel) && + Objects.equals(this.accountNumbers, transactionCounterparty.accountNumbers); + } + + @Override + public int hashCode() { + return Objects.hash(name, entityId, type, website, logoUrl, confidenceLevel, accountNumbers); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionCounterparty {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" logoUrl: ").append(toIndentedString(logoUrl)).append("\n"); + sb.append(" confidenceLevel: ").append(toIndentedString(confidenceLevel)).append("\n"); + sb.append(" accountNumbers: ").append(toIndentedString(accountNumbers)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionData.java b/src/main/java/com/plaid/client/model/TransactionData.java new file mode 100644 index 0000000000..3fee37c30f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionData.java @@ -0,0 +1,211 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Information about the matched direct deposit transaction used to verify a user's payroll information. + */ +@ApiModel(description = "Information about the matched direct deposit transaction used to verify a user's payroll information.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionData { + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_DATE = "date"; + @SerializedName(SERIALIZED_NAME_DATE) + private LocalDate date; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + + public TransactionData description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the transaction. + * @return description + **/ + @ApiModelProperty(required = true, value = "The description of the transaction.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public TransactionData amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the transaction. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the transaction.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TransactionData date(LocalDate date) { + + this.date = date; + return this; + } + + /** + * The date of the transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\"). + * @return date + **/ + @ApiModelProperty(required = true, value = "The date of the transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").") + + public LocalDate getDate() { + return date; + } + + + public void setDate(LocalDate date) { + this.date = date; + } + + + public TransactionData accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * A unique identifier for the end user's account. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the end user's account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransactionData transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * A unique identifier for the transaction. + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the transaction.") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionData transactionData = (TransactionData) o; + return Objects.equals(this.description, transactionData.description) && + Objects.equals(this.amount, transactionData.amount) && + Objects.equals(this.date, transactionData.date) && + Objects.equals(this.accountId, transactionData.accountId) && + Objects.equals(this.transactionId, transactionData.transactionId); + } + + @Override + public int hashCode() { + return Objects.hash(description, amount, date, accountId, transactionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionData {\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionOverride.java b/src/main/java/com/plaid/client/model/TransactionOverride.java new file mode 100644 index 0000000000..12a116f443 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionOverride.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Data to populate as test transaction data. If not specified, random transactions will be generated instead. + */ +@ApiModel(description = "Data to populate as test transaction data. If not specified, random transactions will be generated instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionOverride { + public static final String SERIALIZED_NAME_DATE_TRANSACTED = "date_transacted"; + @SerializedName(SERIALIZED_NAME_DATE_TRANSACTED) + private LocalDate dateTransacted; + + public static final String SERIALIZED_NAME_DATE_POSTED = "date_posted"; + @SerializedName(SERIALIZED_NAME_DATE_POSTED) + private LocalDate datePosted; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + private String currency; + + + public TransactionOverride dateTransacted(LocalDate dateTransacted) { + + this.dateTransacted = dateTransacted; + return this; + } + + /** + * The date of the transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. Transactions in Sandbox will move from pending to posted once their transaction date has been reached. If a `date_transacted` is not provided by the institution, a transaction date may be available in the [`authorized_date`](https://plaid.com/docs/api/products/transactions/#transactions-get-response-transactions-authorized-date) field. + * @return dateTransacted + **/ + @ApiModelProperty(required = true, value = "The date of the transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. Transactions in Sandbox will move from pending to posted once their transaction date has been reached. If a `date_transacted` is not provided by the institution, a transaction date may be available in the [`authorized_date`](https://plaid.com/docs/api/products/transactions/#transactions-get-response-transactions-authorized-date) field.") + + public LocalDate getDateTransacted() { + return dateTransacted; + } + + + public void setDateTransacted(LocalDate dateTransacted) { + this.dateTransacted = dateTransacted; + } + + + public TransactionOverride datePosted(LocalDate datePosted) { + + this.datePosted = datePosted; + return this; + } + + /** + * The date the transaction posted, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. Posted dates in the past or present will result in posted transactions; posted dates in the future will result in pending transactions. + * @return datePosted + **/ + @ApiModelProperty(required = true, value = "The date the transaction posted, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. Posted dates in the past or present will result in posted transactions; posted dates in the future will result in pending transactions.") + + public LocalDate getDatePosted() { + return datePosted; + } + + + public void setDatePosted(LocalDate datePosted) { + this.datePosted = datePosted; + } + + + public TransactionOverride amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * The transaction amount. Can be negative. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The transaction amount. Can be negative.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TransactionOverride description(String description) { + + this.description = description; + return this; + } + + /** + * The transaction description. + * @return description + **/ + @ApiModelProperty(required = true, value = "The transaction description.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public TransactionOverride currency(String currency) { + + this.currency = currency; + return this; + } + + /** + * The ISO-4217 format currency code for the transaction. + * @return currency + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 format currency code for the transaction.") + + public String getCurrency() { + return currency; + } + + + public void setCurrency(String currency) { + this.currency = currency; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionOverride transactionOverride = (TransactionOverride) o; + return Objects.equals(this.dateTransacted, transactionOverride.dateTransacted) && + Objects.equals(this.datePosted, transactionOverride.datePosted) && + Objects.equals(this.amount, transactionOverride.amount) && + Objects.equals(this.description, transactionOverride.description) && + Objects.equals(this.currency, transactionOverride.currency); + } + + @Override + public int hashCode() { + return Objects.hash(dateTransacted, datePosted, amount, description, currency); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionOverride {\n"); + sb.append(" dateTransacted: ").append(toIndentedString(dateTransacted)).append("\n"); + sb.append(" datePosted: ").append(toIndentedString(datePosted)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionStream.java b/src/main/java/com/plaid/client/model/TransactionStream.java new file mode 100644 index 0000000000..d045d9ea1b --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionStream.java @@ -0,0 +1,598 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PersonalFinanceCategory; +import com.plaid.client.model.RecurringTransactionFrequency; +import com.plaid.client.model.TransactionStreamAmount; +import com.plaid.client.model.TransactionStreamStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * A grouping of related transactions + */ +@ApiModel(description = "A grouping of related transactions") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionStream { + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_STREAM_ID = "stream_id"; + @SerializedName(SERIALIZED_NAME_STREAM_ID) + private String streamId; + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private List category = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CATEGORY_ID = "category_id"; + @SerializedName(SERIALIZED_NAME_CATEGORY_ID) + private String categoryId; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_MERCHANT_NAME = "merchant_name"; + @SerializedName(SERIALIZED_NAME_MERCHANT_NAME) + private String merchantName; + + public static final String SERIALIZED_NAME_FIRST_DATE = "first_date"; + @SerializedName(SERIALIZED_NAME_FIRST_DATE) + private LocalDate firstDate; + + public static final String SERIALIZED_NAME_LAST_DATE = "last_date"; + @SerializedName(SERIALIZED_NAME_LAST_DATE) + private LocalDate lastDate; + + public static final String SERIALIZED_NAME_PREDICTED_NEXT_DATE = "predicted_next_date"; + @SerializedName(SERIALIZED_NAME_PREDICTED_NEXT_DATE) + private LocalDate predictedNextDate; + + public static final String SERIALIZED_NAME_FREQUENCY = "frequency"; + @SerializedName(SERIALIZED_NAME_FREQUENCY) + private RecurringTransactionFrequency frequency; + + public static final String SERIALIZED_NAME_TRANSACTION_IDS = "transaction_ids"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_IDS) + private List transactionIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_AVERAGE_AMOUNT = "average_amount"; + @SerializedName(SERIALIZED_NAME_AVERAGE_AMOUNT) + private TransactionStreamAmount averageAmount; + + public static final String SERIALIZED_NAME_LAST_AMOUNT = "last_amount"; + @SerializedName(SERIALIZED_NAME_LAST_AMOUNT) + private TransactionStreamAmount lastAmount; + + public static final String SERIALIZED_NAME_IS_ACTIVE = "is_active"; + @SerializedName(SERIALIZED_NAME_IS_ACTIVE) + private Boolean isActive; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private TransactionStreamStatus status; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY = "personal_finance_category"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY) + private PersonalFinanceCategory personalFinanceCategory; + + public static final String SERIALIZED_NAME_IS_USER_MODIFIED = "is_user_modified"; + @SerializedName(SERIALIZED_NAME_IS_USER_MODIFIED) + private Boolean isUserModified; + + public static final String SERIALIZED_NAME_LAST_USER_MODIFIED_DATETIME = "last_user_modified_datetime"; + @SerializedName(SERIALIZED_NAME_LAST_USER_MODIFIED_DATETIME) + private OffsetDateTime lastUserModifiedDatetime; + + + public TransactionStream accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account to which the stream belongs + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account to which the stream belongs") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransactionStream streamId(String streamId) { + + this.streamId = streamId; + return this; + } + + /** + * A unique id for the stream + * @return streamId + **/ + @ApiModelProperty(required = true, value = "A unique id for the stream") + + public String getStreamId() { + return streamId; + } + + + public void setStreamId(String streamId) { + this.streamId = streamId; + } + + + public TransactionStream category(List category) { + + this.category = category; + return this; + } + + public TransactionStream addCategoryItem(String categoryItem) { + this.category.add(categoryItem); + return this; + } + + /** + * A hierarchical array of the categories to which this transaction belongs. See [Categories](https://plaid.com/docs/api/products/transactions/#categoriesget). All implementations are encouraged to use the new `personal_finance_category` instead of `category`. `personal_finance_category` provides more meaningful categorization and greater accuracy. + * @return category + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A hierarchical array of the categories to which this transaction belongs. See [Categories](https://plaid.com/docs/api/products/transactions/#categoriesget). All implementations are encouraged to use the new `personal_finance_category` instead of `category`. `personal_finance_category` provides more meaningful categorization and greater accuracy.") + + public List getCategory() { + return category; + } + + + public void setCategory(List category) { + this.category = category; + } + + + public TransactionStream categoryId(String categoryId) { + + this.categoryId = categoryId; + return this; + } + + /** + * The ID of the category to which this transaction belongs. See [Categories](https://plaid.com/docs/api/products/transactions/#categoriesget). All implementations are encouraged to use the new `personal_finance_category` instead of `category`. `personal_finance_category` provides more meaningful categorization and greater accuracy. + * @return categoryId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ID of the category to which this transaction belongs. See [Categories](https://plaid.com/docs/api/products/transactions/#categoriesget). All implementations are encouraged to use the new `personal_finance_category` instead of `category`. `personal_finance_category` provides more meaningful categorization and greater accuracy.") + + public String getCategoryId() { + return categoryId; + } + + + public void setCategoryId(String categoryId) { + this.categoryId = categoryId; + } + + + public TransactionStream description(String description) { + + this.description = description; + return this; + } + + /** + * A description of the transaction stream. + * @return description + **/ + @ApiModelProperty(required = true, value = "A description of the transaction stream.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public TransactionStream merchantName(String merchantName) { + + this.merchantName = merchantName; + return this; + } + + /** + * The merchant associated with the transaction stream. + * @return merchantName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The merchant associated with the transaction stream.") + + public String getMerchantName() { + return merchantName; + } + + + public void setMerchantName(String merchantName) { + this.merchantName = merchantName; + } + + + public TransactionStream firstDate(LocalDate firstDate) { + + this.firstDate = firstDate; + return this; + } + + /** + * The posted date of the earliest transaction in the stream. + * @return firstDate + **/ + @ApiModelProperty(required = true, value = "The posted date of the earliest transaction in the stream.") + + public LocalDate getFirstDate() { + return firstDate; + } + + + public void setFirstDate(LocalDate firstDate) { + this.firstDate = firstDate; + } + + + public TransactionStream lastDate(LocalDate lastDate) { + + this.lastDate = lastDate; + return this; + } + + /** + * The posted date of the latest transaction in the stream. + * @return lastDate + **/ + @ApiModelProperty(required = true, value = "The posted date of the latest transaction in the stream.") + + public LocalDate getLastDate() { + return lastDate; + } + + + public void setLastDate(LocalDate lastDate) { + this.lastDate = lastDate; + } + + + public TransactionStream predictedNextDate(LocalDate predictedNextDate) { + + this.predictedNextDate = predictedNextDate; + return this; + } + + /** + * The predicted date of the next payment. This will only be set if the next payment date can be predicted. + * @return predictedNextDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The predicted date of the next payment. This will only be set if the next payment date can be predicted.") + + public LocalDate getPredictedNextDate() { + return predictedNextDate; + } + + + public void setPredictedNextDate(LocalDate predictedNextDate) { + this.predictedNextDate = predictedNextDate; + } + + + public TransactionStream frequency(RecurringTransactionFrequency frequency) { + + this.frequency = frequency; + return this; + } + + /** + * Get frequency + * @return frequency + **/ + @ApiModelProperty(required = true, value = "") + + public RecurringTransactionFrequency getFrequency() { + return frequency; + } + + + public void setFrequency(RecurringTransactionFrequency frequency) { + this.frequency = frequency; + } + + + public TransactionStream transactionIds(List transactionIds) { + + this.transactionIds = transactionIds; + return this; + } + + public TransactionStream addTransactionIdsItem(String transactionIdsItem) { + this.transactionIds.add(transactionIdsItem); + return this; + } + + /** + * An array of Plaid transaction IDs belonging to the stream, sorted by posted date. + * @return transactionIds + **/ + @ApiModelProperty(required = true, value = "An array of Plaid transaction IDs belonging to the stream, sorted by posted date.") + + public List getTransactionIds() { + return transactionIds; + } + + + public void setTransactionIds(List transactionIds) { + this.transactionIds = transactionIds; + } + + + public TransactionStream averageAmount(TransactionStreamAmount averageAmount) { + + this.averageAmount = averageAmount; + return this; + } + + /** + * Get averageAmount + * @return averageAmount + **/ + @ApiModelProperty(required = true, value = "") + + public TransactionStreamAmount getAverageAmount() { + return averageAmount; + } + + + public void setAverageAmount(TransactionStreamAmount averageAmount) { + this.averageAmount = averageAmount; + } + + + public TransactionStream lastAmount(TransactionStreamAmount lastAmount) { + + this.lastAmount = lastAmount; + return this; + } + + /** + * Get lastAmount + * @return lastAmount + **/ + @ApiModelProperty(required = true, value = "") + + public TransactionStreamAmount getLastAmount() { + return lastAmount; + } + + + public void setLastAmount(TransactionStreamAmount lastAmount) { + this.lastAmount = lastAmount; + } + + + public TransactionStream isActive(Boolean isActive) { + + this.isActive = isActive; + return this; + } + + /** + * Indicates whether the transaction stream is still live. + * @return isActive + **/ + @ApiModelProperty(required = true, value = "Indicates whether the transaction stream is still live.") + + public Boolean getIsActive() { + return isActive; + } + + + public void setIsActive(Boolean isActive) { + this.isActive = isActive; + } + + + public TransactionStream status(TransactionStreamStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public TransactionStreamStatus getStatus() { + return status; + } + + + public void setStatus(TransactionStreamStatus status) { + this.status = status; + } + + + public TransactionStream personalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + + this.personalFinanceCategory = personalFinanceCategory; + return this; + } + + /** + * Get personalFinanceCategory + * @return personalFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PersonalFinanceCategory getPersonalFinanceCategory() { + return personalFinanceCategory; + } + + + public void setPersonalFinanceCategory(PersonalFinanceCategory personalFinanceCategory) { + this.personalFinanceCategory = personalFinanceCategory; + } + + + public TransactionStream isUserModified(Boolean isUserModified) { + + this.isUserModified = isUserModified; + return this; + } + + /** + * As the ability to modify transactions streams has been discontinued, this field will always be `false`. + * @return isUserModified + **/ + @ApiModelProperty(required = true, value = "As the ability to modify transactions streams has been discontinued, this field will always be `false`.") + + public Boolean getIsUserModified() { + return isUserModified; + } + + + public void setIsUserModified(Boolean isUserModified) { + this.isUserModified = isUserModified; + } + + + public TransactionStream lastUserModifiedDatetime(OffsetDateTime lastUserModifiedDatetime) { + + this.lastUserModifiedDatetime = lastUserModifiedDatetime; + return this; + } + + /** + * The date and time of the most recent user modification. This will only be set if `is_user_modified` is `true`. + * @return lastUserModifiedDatetime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date and time of the most recent user modification. This will only be set if `is_user_modified` is `true`.") + + public OffsetDateTime getLastUserModifiedDatetime() { + return lastUserModifiedDatetime; + } + + + public void setLastUserModifiedDatetime(OffsetDateTime lastUserModifiedDatetime) { + this.lastUserModifiedDatetime = lastUserModifiedDatetime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionStream transactionStream = (TransactionStream) o; + return Objects.equals(this.accountId, transactionStream.accountId) && + Objects.equals(this.streamId, transactionStream.streamId) && + Objects.equals(this.category, transactionStream.category) && + Objects.equals(this.categoryId, transactionStream.categoryId) && + Objects.equals(this.description, transactionStream.description) && + Objects.equals(this.merchantName, transactionStream.merchantName) && + Objects.equals(this.firstDate, transactionStream.firstDate) && + Objects.equals(this.lastDate, transactionStream.lastDate) && + Objects.equals(this.predictedNextDate, transactionStream.predictedNextDate) && + Objects.equals(this.frequency, transactionStream.frequency) && + Objects.equals(this.transactionIds, transactionStream.transactionIds) && + Objects.equals(this.averageAmount, transactionStream.averageAmount) && + Objects.equals(this.lastAmount, transactionStream.lastAmount) && + Objects.equals(this.isActive, transactionStream.isActive) && + Objects.equals(this.status, transactionStream.status) && + Objects.equals(this.personalFinanceCategory, transactionStream.personalFinanceCategory) && + Objects.equals(this.isUserModified, transactionStream.isUserModified) && + Objects.equals(this.lastUserModifiedDatetime, transactionStream.lastUserModifiedDatetime); + } + + @Override + public int hashCode() { + return Objects.hash(accountId, streamId, category, categoryId, description, merchantName, firstDate, lastDate, predictedNextDate, frequency, transactionIds, averageAmount, lastAmount, isActive, status, personalFinanceCategory, isUserModified, lastUserModifiedDatetime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionStream {\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" streamId: ").append(toIndentedString(streamId)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" categoryId: ").append(toIndentedString(categoryId)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" merchantName: ").append(toIndentedString(merchantName)).append("\n"); + sb.append(" firstDate: ").append(toIndentedString(firstDate)).append("\n"); + sb.append(" lastDate: ").append(toIndentedString(lastDate)).append("\n"); + sb.append(" predictedNextDate: ").append(toIndentedString(predictedNextDate)).append("\n"); + sb.append(" frequency: ").append(toIndentedString(frequency)).append("\n"); + sb.append(" transactionIds: ").append(toIndentedString(transactionIds)).append("\n"); + sb.append(" averageAmount: ").append(toIndentedString(averageAmount)).append("\n"); + sb.append(" lastAmount: ").append(toIndentedString(lastAmount)).append("\n"); + sb.append(" isActive: ").append(toIndentedString(isActive)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" personalFinanceCategory: ").append(toIndentedString(personalFinanceCategory)).append("\n"); + sb.append(" isUserModified: ").append(toIndentedString(isUserModified)).append("\n"); + sb.append(" lastUserModifiedDatetime: ").append(toIndentedString(lastUserModifiedDatetime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionStreamAmount.java b/src/main/java/com/plaid/client/model/TransactionStreamAmount.java new file mode 100644 index 0000000000..3743e53082 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionStreamAmount.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Object with data pertaining to an amount on the transaction stream. + */ +@ApiModel(description = "Object with data pertaining to an amount on the transaction stream.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionStreamAmount { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private Double amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE = "unofficial_currency_code"; + @SerializedName(SERIALIZED_NAME_UNOFFICIAL_CURRENCY_CODE) + private String unofficialCurrencyCode; + + + public TransactionStreamAmount amount(Double amount) { + + this.amount = amount; + return this; + } + + /** + * Represents the numerical value of an amount. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Represents the numerical value of an amount.") + + public Double getAmount() { + return amount; + } + + + public void setAmount(Double amount) { + this.amount = amount; + } + + + public TransactionStreamAmount isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s. + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TransactionStreamAmount unofficialCurrencyCode(String unofficialCurrencyCode) { + + this.unofficialCurrencyCode = unofficialCurrencyCode; + return this; + } + + /** + * The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. + * @return unofficialCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.") + + public String getUnofficialCurrencyCode() { + return unofficialCurrencyCode; + } + + + public void setUnofficialCurrencyCode(String unofficialCurrencyCode) { + this.unofficialCurrencyCode = unofficialCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionStreamAmount transactionStreamAmount = (TransactionStreamAmount) o; + return Objects.equals(this.amount, transactionStreamAmount.amount) && + Objects.equals(this.isoCurrencyCode, transactionStreamAmount.isoCurrencyCode) && + Objects.equals(this.unofficialCurrencyCode, transactionStreamAmount.unofficialCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(amount, isoCurrencyCode, unofficialCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionStreamAmount {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" unofficialCurrencyCode: ").append(toIndentedString(unofficialCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionStreamStatus.java b/src/main/java/com/plaid/client/model/TransactionStreamStatus.java new file mode 100644 index 0000000000..f882bb2b27 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionStreamStatus.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The current status of the transaction stream. `MATURE`: A `MATURE` recurring stream should have at least 3 transactions and happen on a regular cadence (For Annual recurring stream, we will mark it `MATURE` after 2 instances). `EARLY_DETECTION`: When a recurring transaction first appears in the transaction history and before it fulfills the requirement of a mature stream, the status will be `EARLY_DETECTION`. `TOMBSTONED`: A stream that was previously in the `EARLY_DETECTION` status will move to the `TOMBSTONED` status when no further transactions were found at the next expected date. `UNKNOWN`: A stream is assigned an `UNKNOWN` status when none of the other statuses are applicable. + */ +@JsonAdapter(TransactionStreamStatus.Adapter.class) +public enum TransactionStreamStatus { + + UNKNOWN("UNKNOWN"), + + MATURE("MATURE"), + + EARLY_DETECTION("EARLY_DETECTION"), + + TOMBSTONED("TOMBSTONED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransactionStreamStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransactionStreamStatus fromValue(String value) { + for (TransactionStreamStatus b : TransactionStreamStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransactionStreamStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransactionStreamStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransactionStreamStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransactionStreamStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsCategoryRule.java b/src/main/java/com/plaid/client/model/TransactionsCategoryRule.java new file mode 100644 index 0000000000..49c41f1d13 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsCategoryRule.java @@ -0,0 +1,275 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionsRuleDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * A representation of a transactions category rule. + */ +@ApiModel(description = "A representation of a transactions category rule.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsCategoryRule { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + private OffsetDateTime updatedAt; + + public static final String SERIALIZED_NAME_PFC_PRIMARY_CATEGORY = "pfc_primary_category"; + @SerializedName(SERIALIZED_NAME_PFC_PRIMARY_CATEGORY) + private String pfcPrimaryCategory; + + public static final String SERIALIZED_NAME_PFC_DETAILED_CATEGORY = "pfc_detailed_category"; + @SerializedName(SERIALIZED_NAME_PFC_DETAILED_CATEGORY) + private String pfcDetailedCategory; + + public static final String SERIALIZED_NAME_RULE_DETAILS = "rule_details"; + @SerializedName(SERIALIZED_NAME_RULE_DETAILS) + private TransactionsRuleDetails ruleDetails; + + + public TransactionsCategoryRule id(String id) { + + this.id = id; + return this; + } + + /** + * A unique identifier of the rule created + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier of the rule created") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public TransactionsCategoryRule userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid-generated unique identifier for the end user this rule belongs to. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid-generated unique identifier for the end user this rule belongs to.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public TransactionsCategoryRule createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Date and time when a rule was created in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). + * @return createdAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Date and time when a rule was created in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). ") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public TransactionsCategoryRule updatedAt(OffsetDateTime updatedAt) { + + this.updatedAt = updatedAt; + return this; + } + + /** + * Date and time when a rule was last updated in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). + * @return updatedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Date and time when a rule was last updated in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). ") + + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + + public void setUpdatedAt(OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + public TransactionsCategoryRule pfcPrimaryCategory(String pfcPrimaryCategory) { + + this.pfcPrimaryCategory = pfcPrimaryCategory; + return this; + } + + /** + * A personal finance primary category. See the [taxonomy csv file](https://plaid.com/documents/pfc-taxonomy-all.csv) for a full list of personal finance categories. + * @return pfcPrimaryCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A personal finance primary category. See the [taxonomy csv file](https://plaid.com/documents/pfc-taxonomy-all.csv) for a full list of personal finance categories. ") + + public String getPfcPrimaryCategory() { + return pfcPrimaryCategory; + } + + + public void setPfcPrimaryCategory(String pfcPrimaryCategory) { + this.pfcPrimaryCategory = pfcPrimaryCategory; + } + + + public TransactionsCategoryRule pfcDetailedCategory(String pfcDetailedCategory) { + + this.pfcDetailedCategory = pfcDetailedCategory; + return this; + } + + /** + * A personal finance detailed category. See the [taxonomy csv file](https://plaid.com/documents/pfc-taxonomy-all.csv) for a full list of personal finance categories. + * @return pfcDetailedCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A personal finance detailed category. See the [taxonomy csv file](https://plaid.com/documents/pfc-taxonomy-all.csv) for a full list of personal finance categories. ") + + public String getPfcDetailedCategory() { + return pfcDetailedCategory; + } + + + public void setPfcDetailedCategory(String pfcDetailedCategory) { + this.pfcDetailedCategory = pfcDetailedCategory; + } + + + public TransactionsCategoryRule ruleDetails(TransactionsRuleDetails ruleDetails) { + + this.ruleDetails = ruleDetails; + return this; + } + + /** + * Get ruleDetails + * @return ruleDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransactionsRuleDetails getRuleDetails() { + return ruleDetails; + } + + + public void setRuleDetails(TransactionsRuleDetails ruleDetails) { + this.ruleDetails = ruleDetails; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsCategoryRule transactionsCategoryRule = (TransactionsCategoryRule) o; + return Objects.equals(this.id, transactionsCategoryRule.id) && + Objects.equals(this.userId, transactionsCategoryRule.userId) && + Objects.equals(this.createdAt, transactionsCategoryRule.createdAt) && + Objects.equals(this.updatedAt, transactionsCategoryRule.updatedAt) && + Objects.equals(this.pfcPrimaryCategory, transactionsCategoryRule.pfcPrimaryCategory) && + Objects.equals(this.pfcDetailedCategory, transactionsCategoryRule.pfcDetailedCategory) && + Objects.equals(this.ruleDetails, transactionsCategoryRule.ruleDetails); + } + + @Override + public int hashCode() { + return Objects.hash(id, userId, createdAt, updatedAt, pfcPrimaryCategory, pfcDetailedCategory, ruleDetails); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsCategoryRule {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" pfcPrimaryCategory: ").append(toIndentedString(pfcPrimaryCategory)).append("\n"); + sb.append(" pfcDetailedCategory: ").append(toIndentedString(pfcDetailedCategory)).append("\n"); + sb.append(" ruleDetails: ").append(toIndentedString(ruleDetails)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsEnhanceGetRequest.java b/src/main/java/com/plaid/client/model/TransactionsEnhanceGetRequest.java new file mode 100644 index 0000000000..c9acba6536 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsEnhanceGetRequest.java @@ -0,0 +1,192 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ClientProvidedRawTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsEnhanceGetRequest defines the request schema for `/beta/transactions/v1/enhance`. + */ +@ApiModel(description = "TransactionsEnhanceGetRequest defines the request schema for `/beta/transactions/v1/enhance`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsEnhanceGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCOUNT_TYPE = "account_type"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_TYPE) + private String accountType; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + + public TransactionsEnhanceGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransactionsEnhanceGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransactionsEnhanceGetRequest accountType(String accountType) { + + this.accountType = accountType; + return this; + } + + /** + * The type of account for the requested transactions (`depository` or `credit`). + * @return accountType + **/ + @ApiModelProperty(required = true, value = "The type of account for the requested transactions (`depository` or `credit`).") + + public String getAccountType() { + return accountType; + } + + + public void setAccountType(String accountType) { + this.accountType = accountType; + } + + + public TransactionsEnhanceGetRequest transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public TransactionsEnhanceGetRequest addTransactionsItem(ClientProvidedRawTransaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * An array of raw transactions to be enhanced. + * @return transactions + **/ + @ApiModelProperty(required = true, value = "An array of raw transactions to be enhanced.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsEnhanceGetRequest transactionsEnhanceGetRequest = (TransactionsEnhanceGetRequest) o; + return Objects.equals(this.clientId, transactionsEnhanceGetRequest.clientId) && + Objects.equals(this.secret, transactionsEnhanceGetRequest.secret) && + Objects.equals(this.accountType, transactionsEnhanceGetRequest.accountType) && + Objects.equals(this.transactions, transactionsEnhanceGetRequest.transactions); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accountType, transactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsEnhanceGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accountType: ").append(toIndentedString(accountType)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsEnhanceGetResponse.java b/src/main/java/com/plaid/client/model/TransactionsEnhanceGetResponse.java new file mode 100644 index 0000000000..15ec82896d --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsEnhanceGetResponse.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ClientProvidedEnhancedTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsEnhanceGetResponse defines the response schema for `/beta/transactions/v1/enhance`. + */ +@ApiModel(description = "TransactionsEnhanceGetResponse defines the response schema for `/beta/transactions/v1/enhance`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsEnhanceGetResponse { + public static final String SERIALIZED_NAME_ENHANCED_TRANSACTIONS = "enhanced_transactions"; + @SerializedName(SERIALIZED_NAME_ENHANCED_TRANSACTIONS) + private List enhancedTransactions = new ArrayList<>(); + + + public TransactionsEnhanceGetResponse enhancedTransactions(List enhancedTransactions) { + + this.enhancedTransactions = enhancedTransactions; + return this; + } + + public TransactionsEnhanceGetResponse addEnhancedTransactionsItem(ClientProvidedEnhancedTransaction enhancedTransactionsItem) { + this.enhancedTransactions.add(enhancedTransactionsItem); + return this; + } + + /** + * An array of enhanced transactions. + * @return enhancedTransactions + **/ + @ApiModelProperty(required = true, value = "An array of enhanced transactions.") + + public List getEnhancedTransactions() { + return enhancedTransactions; + } + + + public void setEnhancedTransactions(List enhancedTransactions) { + this.enhancedTransactions = enhancedTransactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsEnhanceGetResponse transactionsEnhanceGetResponse = (TransactionsEnhanceGetResponse) o; + return Objects.equals(this.enhancedTransactions, transactionsEnhanceGetResponse.enhancedTransactions); + } + + @Override + public int hashCode() { + return Objects.hash(enhancedTransactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsEnhanceGetResponse {\n"); + sb.append(" enhancedTransactions: ").append(toIndentedString(enhancedTransactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsEnrichRequest.java b/src/main/java/com/plaid/client/model/TransactionsEnrichRequest.java new file mode 100644 index 0000000000..e4be59b9a3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsEnrichRequest.java @@ -0,0 +1,222 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ClientProvidedTransaction; +import com.plaid.client.model.TransactionsEnrichRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsEnrichRequest defines the request schema for `/transactions/enrich`. + */ +@ApiModel(description = "TransactionsEnrichRequest defines the request schema for `/transactions/enrich`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsEnrichRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCOUNT_TYPE = "account_type"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_TYPE) + private String accountType; + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private TransactionsEnrichRequestOptions options; + + + public TransactionsEnrichRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransactionsEnrichRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransactionsEnrichRequest accountType(String accountType) { + + this.accountType = accountType; + return this; + } + + /** + * The account type for the requested transactions (either `depository` or `credit`). + * @return accountType + **/ + @ApiModelProperty(required = true, value = "The account type for the requested transactions (either `depository` or `credit`).") + + public String getAccountType() { + return accountType; + } + + + public void setAccountType(String accountType) { + this.accountType = accountType; + } + + + public TransactionsEnrichRequest transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public TransactionsEnrichRequest addTransactionsItem(ClientProvidedTransaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * An array of transaction objects to be enriched by Plaid. Maximum of 100 transactions per request. + * @return transactions + **/ + @ApiModelProperty(required = true, value = "An array of transaction objects to be enriched by Plaid. Maximum of 100 transactions per request.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + public TransactionsEnrichRequest options(TransactionsEnrichRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransactionsEnrichRequestOptions getOptions() { + return options; + } + + + public void setOptions(TransactionsEnrichRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsEnrichRequest transactionsEnrichRequest = (TransactionsEnrichRequest) o; + return Objects.equals(this.clientId, transactionsEnrichRequest.clientId) && + Objects.equals(this.secret, transactionsEnrichRequest.secret) && + Objects.equals(this.accountType, transactionsEnrichRequest.accountType) && + Objects.equals(this.transactions, transactionsEnrichRequest.transactions) && + Objects.equals(this.options, transactionsEnrichRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accountType, transactions, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsEnrichRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accountType: ").append(toIndentedString(accountType)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsEnrichRequestOptions.java b/src/main/java/com/plaid/client/model/TransactionsEnrichRequestOptions.java new file mode 100644 index 0000000000..6d7dff3b74 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsEnrichRequestOptions.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PersonalFinanceCategoryVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional object to be used with the request. + */ +@ApiModel(description = "An optional object to be used with the request.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsEnrichRequestOptions { + public static final String SERIALIZED_NAME_INCLUDE_LEGACY_CATEGORY = "include_legacy_category"; + @SerializedName(SERIALIZED_NAME_INCLUDE_LEGACY_CATEGORY) + private Boolean includeLegacyCategory = false; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_VERSION = "personal_finance_category_version"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_VERSION) + private PersonalFinanceCategoryVersion personalFinanceCategoryVersion; + + + public TransactionsEnrichRequestOptions includeLegacyCategory(Boolean includeLegacyCategory) { + + this.includeLegacyCategory = includeLegacyCategory; + return this; + } + + /** + * Include `legacy_category` and `legacy_category_id` in the response (in addition to the default `personal_finance_category`). Categories are based on Plaid's legacy taxonomy. For a full list of legacy categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). + * @return includeLegacyCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Include `legacy_category` and `legacy_category_id` in the response (in addition to the default `personal_finance_category`). Categories are based on Plaid's legacy taxonomy. For a full list of legacy categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).") + + public Boolean getIncludeLegacyCategory() { + return includeLegacyCategory; + } + + + public void setIncludeLegacyCategory(Boolean includeLegacyCategory) { + this.includeLegacyCategory = includeLegacyCategory; + } + + + public TransactionsEnrichRequestOptions personalFinanceCategoryVersion(PersonalFinanceCategoryVersion personalFinanceCategoryVersion) { + + this.personalFinanceCategoryVersion = personalFinanceCategoryVersion; + return this; + } + + /** + * Get personalFinanceCategoryVersion + * @return personalFinanceCategoryVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PersonalFinanceCategoryVersion getPersonalFinanceCategoryVersion() { + return personalFinanceCategoryVersion; + } + + + public void setPersonalFinanceCategoryVersion(PersonalFinanceCategoryVersion personalFinanceCategoryVersion) { + this.personalFinanceCategoryVersion = personalFinanceCategoryVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsEnrichRequestOptions transactionsEnrichRequestOptions = (TransactionsEnrichRequestOptions) o; + return Objects.equals(this.includeLegacyCategory, transactionsEnrichRequestOptions.includeLegacyCategory) && + Objects.equals(this.personalFinanceCategoryVersion, transactionsEnrichRequestOptions.personalFinanceCategoryVersion); + } + + @Override + public int hashCode() { + return Objects.hash(includeLegacyCategory, personalFinanceCategoryVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsEnrichRequestOptions {\n"); + sb.append(" includeLegacyCategory: ").append(toIndentedString(includeLegacyCategory)).append("\n"); + sb.append(" personalFinanceCategoryVersion: ").append(toIndentedString(personalFinanceCategoryVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsEnrichResponse.java b/src/main/java/com/plaid/client/model/TransactionsEnrichResponse.java new file mode 100644 index 0000000000..e318f17d88 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsEnrichResponse.java @@ -0,0 +1,135 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ClientProvidedEnrichedTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsEnrichResponse defines the response schema for `/transactions/enrich`. + */ +@ApiModel(description = "TransactionsEnrichResponse defines the response schema for `/transactions/enrich`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsEnrichResponse { + public static final String SERIALIZED_NAME_ENRICHED_TRANSACTIONS = "enriched_transactions"; + @SerializedName(SERIALIZED_NAME_ENRICHED_TRANSACTIONS) + private List enrichedTransactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransactionsEnrichResponse enrichedTransactions(List enrichedTransactions) { + + this.enrichedTransactions = enrichedTransactions; + return this; + } + + public TransactionsEnrichResponse addEnrichedTransactionsItem(ClientProvidedEnrichedTransaction enrichedTransactionsItem) { + this.enrichedTransactions.add(enrichedTransactionsItem); + return this; + } + + /** + * A list of enriched transactions. + * @return enrichedTransactions + **/ + @ApiModelProperty(required = true, value = "A list of enriched transactions.") + + public List getEnrichedTransactions() { + return enrichedTransactions; + } + + + public void setEnrichedTransactions(List enrichedTransactions) { + this.enrichedTransactions = enrichedTransactions; + } + + + public TransactionsEnrichResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsEnrichResponse transactionsEnrichResponse = (TransactionsEnrichResponse) o; + return Objects.equals(this.enrichedTransactions, transactionsEnrichResponse.enrichedTransactions) && + Objects.equals(this.requestId, transactionsEnrichResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(enrichedTransactions, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsEnrichResponse {\n"); + sb.append(" enrichedTransactions: ").append(toIndentedString(enrichedTransactions)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsGetRequest.java b/src/main/java/com/plaid/client/model/TransactionsGetRequest.java new file mode 100644 index 0000000000..50e3fdfdc3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsGetRequest.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionsGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * TransactionsGetRequest defines the request schema for `/transactions/get` + */ +@ApiModel(description = "TransactionsGetRequest defines the request schema for `/transactions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private TransactionsGetRequestOptions options; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + + public TransactionsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransactionsGetRequest options(TransactionsGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransactionsGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(TransactionsGetRequestOptions options) { + this.options = options; + } + + + public TransactionsGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransactionsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransactionsGetRequest startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The earliest date for which data should be returned. Dates should be formatted as YYYY-MM-DD. + * @return startDate + **/ + @ApiModelProperty(required = true, value = "The earliest date for which data should be returned. Dates should be formatted as YYYY-MM-DD.") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public TransactionsGetRequest endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The latest date for which data should be returned. Dates should be formatted as YYYY-MM-DD. + * @return endDate + **/ + @ApiModelProperty(required = true, value = "The latest date for which data should be returned. Dates should be formatted as YYYY-MM-DD.") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsGetRequest transactionsGetRequest = (TransactionsGetRequest) o; + return Objects.equals(this.clientId, transactionsGetRequest.clientId) && + Objects.equals(this.options, transactionsGetRequest.options) && + Objects.equals(this.accessToken, transactionsGetRequest.accessToken) && + Objects.equals(this.secret, transactionsGetRequest.secret) && + Objects.equals(this.startDate, transactionsGetRequest.startDate) && + Objects.equals(this.endDate, transactionsGetRequest.endDate); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, options, accessToken, secret, startDate, endDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsGetRequestOptions.java b/src/main/java/com/plaid/client/model/TransactionsGetRequestOptions.java new file mode 100644 index 0000000000..0dec2288b7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsGetRequestOptions.java @@ -0,0 +1,347 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PersonalFinanceCategoryVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * An optional object to be used with the request. If specified, `options` must not be `null`. + */ +@ApiModel(description = "An optional object to be used with the request. If specified, `options` must not be `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsGetRequestOptions { + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 100; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + public static final String SERIALIZED_NAME_INCLUDE_ORIGINAL_DESCRIPTION = "include_original_description"; + @SerializedName(SERIALIZED_NAME_INCLUDE_ORIGINAL_DESCRIPTION) + private Boolean includeOriginalDescription = false; + + public static final String SERIALIZED_NAME_INCLUDE_PERSONAL_FINANCE_CATEGORY_BETA = "include_personal_finance_category_beta"; + @SerializedName(SERIALIZED_NAME_INCLUDE_PERSONAL_FINANCE_CATEGORY_BETA) + private Boolean includePersonalFinanceCategoryBeta = false; + + public static final String SERIALIZED_NAME_INCLUDE_PERSONAL_FINANCE_CATEGORY = "include_personal_finance_category"; + @SerializedName(SERIALIZED_NAME_INCLUDE_PERSONAL_FINANCE_CATEGORY) + private Boolean includePersonalFinanceCategory = false; + + public static final String SERIALIZED_NAME_INCLUDE_LOGO_AND_COUNTERPARTY_BETA = "include_logo_and_counterparty_beta"; + @SerializedName(SERIALIZED_NAME_INCLUDE_LOGO_AND_COUNTERPARTY_BETA) + private Boolean includeLogoAndCounterpartyBeta = false; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_VERSION = "personal_finance_category_version"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_VERSION) + private PersonalFinanceCategoryVersion personalFinanceCategoryVersion; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested = 90; + + + public TransactionsGetRequestOptions accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public TransactionsGetRequestOptions addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * A list of `account_ids` to retrieve for the Item Note: An error will be returned if a provided `account_id` is not associated with the Item. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of `account_ids` to retrieve for the Item Note: An error will be returned if a provided `account_id` is not associated with the Item.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + public TransactionsGetRequestOptions count(Integer count) { + + this.count = count; + return this; + } + + /** + * The number of transactions to fetch. + * minimum: 1 + * maximum: 500 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of transactions to fetch.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public TransactionsGetRequestOptions offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The number of transactions to skip. The default value is 0. + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of transactions to skip. The default value is 0.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + public TransactionsGetRequestOptions includeOriginalDescription(Boolean includeOriginalDescription) { + + this.includeOriginalDescription = includeOriginalDescription; + return this; + } + + /** + * Include the raw unparsed transaction description from the financial institution. + * @return includeOriginalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Include the raw unparsed transaction description from the financial institution.") + + public Boolean getIncludeOriginalDescription() { + return includeOriginalDescription; + } + + + public void setIncludeOriginalDescription(Boolean includeOriginalDescription) { + this.includeOriginalDescription = includeOriginalDescription; + } + + + public TransactionsGetRequestOptions includePersonalFinanceCategoryBeta(Boolean includePersonalFinanceCategoryBeta) { + + this.includePersonalFinanceCategoryBeta = includePersonalFinanceCategoryBeta; + return this; + } + + /** + * Personal finance categories are now returned by default. + * @return includePersonalFinanceCategoryBeta + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Personal finance categories are now returned by default.") + + public Boolean getIncludePersonalFinanceCategoryBeta() { + return includePersonalFinanceCategoryBeta; + } + + + public void setIncludePersonalFinanceCategoryBeta(Boolean includePersonalFinanceCategoryBeta) { + this.includePersonalFinanceCategoryBeta = includePersonalFinanceCategoryBeta; + } + + + public TransactionsGetRequestOptions includePersonalFinanceCategory(Boolean includePersonalFinanceCategory) { + + this.includePersonalFinanceCategory = includePersonalFinanceCategory; + return this; + } + + /** + * Personal finance categories are now returned by default. + * @return includePersonalFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Personal finance categories are now returned by default.") + + public Boolean getIncludePersonalFinanceCategory() { + return includePersonalFinanceCategory; + } + + + public void setIncludePersonalFinanceCategory(Boolean includePersonalFinanceCategory) { + this.includePersonalFinanceCategory = includePersonalFinanceCategory; + } + + + public TransactionsGetRequestOptions includeLogoAndCounterpartyBeta(Boolean includeLogoAndCounterpartyBeta) { + + this.includeLogoAndCounterpartyBeta = includeLogoAndCounterpartyBeta; + return this; + } + + /** + * Counterparties and extra merchant fields are now returned by default. + * @return includeLogoAndCounterpartyBeta + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Counterparties and extra merchant fields are now returned by default.") + + public Boolean getIncludeLogoAndCounterpartyBeta() { + return includeLogoAndCounterpartyBeta; + } + + + public void setIncludeLogoAndCounterpartyBeta(Boolean includeLogoAndCounterpartyBeta) { + this.includeLogoAndCounterpartyBeta = includeLogoAndCounterpartyBeta; + } + + + public TransactionsGetRequestOptions personalFinanceCategoryVersion(PersonalFinanceCategoryVersion personalFinanceCategoryVersion) { + + this.personalFinanceCategoryVersion = personalFinanceCategoryVersion; + return this; + } + + /** + * Get personalFinanceCategoryVersion + * @return personalFinanceCategoryVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PersonalFinanceCategoryVersion getPersonalFinanceCategoryVersion() { + return personalFinanceCategoryVersion; + } + + + public void setPersonalFinanceCategoryVersion(PersonalFinanceCategoryVersion personalFinanceCategoryVersion) { + this.personalFinanceCategoryVersion = personalFinanceCategoryVersion; + } + + + public TransactionsGetRequestOptions daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * This field only applies to calls for Items where the Transactions product has not already been initialized (i.e. by specifying `transactions` in the `products`, `optional_products`, or `required_if_supported_products` array when calling `/link/token/create` or by making a previous call to `/transactions/sync` or `/transactions/get`). In those cases, the field controls the maximum number of days of transaction history that Plaid will request from the financial institution. The more transaction history is requested, the longer the historical update poll will take. If no value is specified, 90 days of history will be requested by default. In Production, if a value under 30 is provided, a minimum of 30 days of history will be requested. If you are initializing your Items with transactions during the `/link/token/create` call (e.g. by including `transactions` in the `/link/token/create` `products` array), you must use the [`transactions.days_requested`](https://plaid.com/docs/api/link/#link-token-create-request-transactions-days-requested) field in the `/link/token/create` request instead of in the `/transactions/get` request. If the Item has already been initialized with the Transactions product, this field will have no effect. The maximum amount of transaction history to request on an Item cannot be updated if Transactions has already been added to the Item. To request older transaction history on an Item where Transactions has already been added, you must delete the Item via `/item/remove` and send the user through Link to create a new Item. Customers using [Recurring Transactions](https://plaid.com/docs/api/products/transactions/#transactionsrecurringget) should request at least 180 days of history for optimal results. + * minimum: 1 + * maximum: 730 + * @return daysRequested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "This field only applies to calls for Items where the Transactions product has not already been initialized (i.e. by specifying `transactions` in the `products`, `optional_products`, or `required_if_supported_products` array when calling `/link/token/create` or by making a previous call to `/transactions/sync` or `/transactions/get`). In those cases, the field controls the maximum number of days of transaction history that Plaid will request from the financial institution. The more transaction history is requested, the longer the historical update poll will take. If no value is specified, 90 days of history will be requested by default. In Production, if a value under 30 is provided, a minimum of 30 days of history will be requested. If you are initializing your Items with transactions during the `/link/token/create` call (e.g. by including `transactions` in the `/link/token/create` `products` array), you must use the [`transactions.days_requested`](https://plaid.com/docs/api/link/#link-token-create-request-transactions-days-requested) field in the `/link/token/create` request instead of in the `/transactions/get` request. If the Item has already been initialized with the Transactions product, this field will have no effect. The maximum amount of transaction history to request on an Item cannot be updated if Transactions has already been added to the Item. To request older transaction history on an Item where Transactions has already been added, you must delete the Item via `/item/remove` and send the user through Link to create a new Item. Customers using [Recurring Transactions](https://plaid.com/docs/api/products/transactions/#transactionsrecurringget) should request at least 180 days of history for optimal results.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsGetRequestOptions transactionsGetRequestOptions = (TransactionsGetRequestOptions) o; + return Objects.equals(this.accountIds, transactionsGetRequestOptions.accountIds) && + Objects.equals(this.count, transactionsGetRequestOptions.count) && + Objects.equals(this.offset, transactionsGetRequestOptions.offset) && + Objects.equals(this.includeOriginalDescription, transactionsGetRequestOptions.includeOriginalDescription) && + Objects.equals(this.includePersonalFinanceCategoryBeta, transactionsGetRequestOptions.includePersonalFinanceCategoryBeta) && + Objects.equals(this.includePersonalFinanceCategory, transactionsGetRequestOptions.includePersonalFinanceCategory) && + Objects.equals(this.includeLogoAndCounterpartyBeta, transactionsGetRequestOptions.includeLogoAndCounterpartyBeta) && + Objects.equals(this.personalFinanceCategoryVersion, transactionsGetRequestOptions.personalFinanceCategoryVersion) && + Objects.equals(this.daysRequested, transactionsGetRequestOptions.daysRequested); + } + + @Override + public int hashCode() { + return Objects.hash(accountIds, count, offset, includeOriginalDescription, includePersonalFinanceCategoryBeta, includePersonalFinanceCategory, includeLogoAndCounterpartyBeta, personalFinanceCategoryVersion, daysRequested); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsGetRequestOptions {\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append(" includeOriginalDescription: ").append(toIndentedString(includeOriginalDescription)).append("\n"); + sb.append(" includePersonalFinanceCategoryBeta: ").append(toIndentedString(includePersonalFinanceCategoryBeta)).append("\n"); + sb.append(" includePersonalFinanceCategory: ").append(toIndentedString(includePersonalFinanceCategory)).append("\n"); + sb.append(" includeLogoAndCounterpartyBeta: ").append(toIndentedString(includeLogoAndCounterpartyBeta)).append("\n"); + sb.append(" personalFinanceCategoryVersion: ").append(toIndentedString(personalFinanceCategoryVersion)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsGetResponse.java b/src/main/java/com/plaid/client/model/TransactionsGetResponse.java new file mode 100644 index 0000000000..824efeff0c --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsGetResponse.java @@ -0,0 +1,225 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.Item; +import com.plaid.client.model.Transaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsGetResponse defines the response schema for `/transactions/get` + */ +@ApiModel(description = "TransactionsGetResponse defines the response schema for `/transactions/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsGetResponse { + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TOTAL_TRANSACTIONS = "total_transactions"; + @SerializedName(SERIALIZED_NAME_TOTAL_TRANSACTIONS) + private Integer totalTransactions; + + public static final String SERIALIZED_NAME_ITEM = "item"; + @SerializedName(SERIALIZED_NAME_ITEM) + private Item item; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransactionsGetResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public TransactionsGetResponse addAccountsItem(AccountBase accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * An array containing the `accounts` associated with the Item for which transactions are being returned. Each transaction can be mapped to its corresponding account via the `account_id` field. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "An array containing the `accounts` associated with the Item for which transactions are being returned. Each transaction can be mapped to its corresponding account via the `account_id` field.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public TransactionsGetResponse transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public TransactionsGetResponse addTransactionsItem(Transaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * An array containing transactions from the account. Transactions are returned in reverse chronological order, with the most recent at the beginning of the array. The maximum number of transactions returned is determined by the `count` parameter. + * @return transactions + **/ + @ApiModelProperty(required = true, value = "An array containing transactions from the account. Transactions are returned in reverse chronological order, with the most recent at the beginning of the array. The maximum number of transactions returned is determined by the `count` parameter.") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + public TransactionsGetResponse totalTransactions(Integer totalTransactions) { + + this.totalTransactions = totalTransactions; + return this; + } + + /** + * The total number of transactions available within the date range specified. If `total_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched via manipulating the `offset` parameter. + * @return totalTransactions + **/ + @ApiModelProperty(required = true, value = "The total number of transactions available within the date range specified. If `total_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched via manipulating the `offset` parameter.") + + public Integer getTotalTransactions() { + return totalTransactions; + } + + + public void setTotalTransactions(Integer totalTransactions) { + this.totalTransactions = totalTransactions; + } + + + public TransactionsGetResponse item(Item item) { + + this.item = item; + return this; + } + + /** + * Get item + * @return item + **/ + @ApiModelProperty(required = true, value = "") + + public Item getItem() { + return item; + } + + + public void setItem(Item item) { + this.item = item; + } + + + public TransactionsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsGetResponse transactionsGetResponse = (TransactionsGetResponse) o; + return Objects.equals(this.accounts, transactionsGetResponse.accounts) && + Objects.equals(this.transactions, transactionsGetResponse.transactions) && + Objects.equals(this.totalTransactions, transactionsGetResponse.totalTransactions) && + Objects.equals(this.item, transactionsGetResponse.item) && + Objects.equals(this.requestId, transactionsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accounts, transactions, totalTransactions, item, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsGetResponse {\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" totalTransactions: ").append(toIndentedString(totalTransactions)).append("\n"); + sb.append(" item: ").append(toIndentedString(item)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRecurringCreateInput.java b/src/main/java/com/plaid/client/model/TransactionsRecurringCreateInput.java new file mode 100644 index 0000000000..09034a3ace --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRecurringCreateInput.java @@ -0,0 +1,109 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsRecurringCreateInput defines a single input to the `/transactions/recurring/streams/create` endpoint. + */ +@ApiModel(description = "TransactionsRecurringCreateInput defines a single input to the `/transactions/recurring/streams/create` endpoint.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRecurringCreateInput { + public static final String SERIALIZED_NAME_TRANSACTION_IDS = "transaction_ids"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_IDS) + private List transactionIds = null; + + + public TransactionsRecurringCreateInput transactionIds(List transactionIds) { + + this.transactionIds = transactionIds; + return this; + } + + public TransactionsRecurringCreateInput addTransactionIdsItem(String transactionIdsItem) { + if (this.transactionIds == null) { + this.transactionIds = new ArrayList<>(); + } + this.transactionIds.add(transactionIdsItem); + return this; + } + + /** + * IDs of all the transactions that will be merged into one stream. If any transaction currently exists in another stream, it will be removed from the other stream. + * @return transactionIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "IDs of all the transactions that will be merged into one stream. If any transaction currently exists in another stream, it will be removed from the other stream.") + + public List getTransactionIds() { + return transactionIds; + } + + + public void setTransactionIds(List transactionIds) { + this.transactionIds = transactionIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRecurringCreateInput transactionsRecurringCreateInput = (TransactionsRecurringCreateInput) o; + return Objects.equals(this.transactionIds, transactionsRecurringCreateInput.transactionIds); + } + + @Override + public int hashCode() { + return Objects.hash(transactionIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRecurringCreateInput {\n"); + sb.append(" transactionIds: ").append(toIndentedString(transactionIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRecurringCreateRequest.java b/src/main/java/com/plaid/client/model/TransactionsRecurringCreateRequest.java new file mode 100644 index 0000000000..6b9c0b25ab --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRecurringCreateRequest.java @@ -0,0 +1,192 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionsRecurringCreateInput; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsRecurringCreateRequest defines the request schema for `/transactions/recurring/streams/create` endpoint. + */ +@ApiModel(description = "TransactionsRecurringCreateRequest defines the request schema for `/transactions/recurring/streams/create` endpoint.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRecurringCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_INPUTS = "inputs"; + @SerializedName(SERIALIZED_NAME_INPUTS) + private List inputs = new ArrayList<>(); + + + public TransactionsRecurringCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransactionsRecurringCreateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransactionsRecurringCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransactionsRecurringCreateRequest inputs(List inputs) { + + this.inputs = inputs; + return this; + } + + public TransactionsRecurringCreateRequest addInputsItem(TransactionsRecurringCreateInput inputsItem) { + this.inputs.add(inputsItem); + return this; + } + + /** + * A list of all the operations to be performed. This will either all succeed or all fail. + * @return inputs + **/ + @ApiModelProperty(required = true, value = "A list of all the operations to be performed. This will either all succeed or all fail.") + + public List getInputs() { + return inputs; + } + + + public void setInputs(List inputs) { + this.inputs = inputs; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRecurringCreateRequest transactionsRecurringCreateRequest = (TransactionsRecurringCreateRequest) o; + return Objects.equals(this.clientId, transactionsRecurringCreateRequest.clientId) && + Objects.equals(this.accessToken, transactionsRecurringCreateRequest.accessToken) && + Objects.equals(this.secret, transactionsRecurringCreateRequest.secret) && + Objects.equals(this.inputs, transactionsRecurringCreateRequest.inputs); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, accessToken, secret, inputs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRecurringCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRecurringCreateResponse.java b/src/main/java/com/plaid/client/model/TransactionsRecurringCreateResponse.java new file mode 100644 index 0000000000..64999a324f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRecurringCreateResponse.java @@ -0,0 +1,180 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionStream; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsRecurringCreateResponse defines the response schema for the `/transactions/recurring/streams/create` endpoint. + */ +@ApiModel(description = "TransactionsRecurringCreateResponse defines the response schema for the `/transactions/recurring/streams/create` endpoint.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRecurringCreateResponse { + public static final String SERIALIZED_NAME_ADDED_STREAMS = "added_streams"; + @SerializedName(SERIALIZED_NAME_ADDED_STREAMS) + private List addedStreams = new ArrayList<>(); + + public static final String SERIALIZED_NAME_MODIFIED_STREAMS = "modified_streams"; + @SerializedName(SERIALIZED_NAME_MODIFIED_STREAMS) + private List modifiedStreams = null; + + public static final String SERIALIZED_NAME_REMOVED_STREAM_IDS = "removed_stream_ids"; + @SerializedName(SERIALIZED_NAME_REMOVED_STREAM_IDS) + private List removedStreamIds = null; + + + public TransactionsRecurringCreateResponse addedStreams(List addedStreams) { + + this.addedStreams = addedStreams; + return this; + } + + public TransactionsRecurringCreateResponse addAddedStreamsItem(TransactionStream addedStreamsItem) { + this.addedStreams.add(addedStreamsItem); + return this; + } + + /** + * Streams created as a result of the operation. + * @return addedStreams + **/ + @ApiModelProperty(required = true, value = "Streams created as a result of the operation.") + + public List getAddedStreams() { + return addedStreams; + } + + + public void setAddedStreams(List addedStreams) { + this.addedStreams = addedStreams; + } + + + public TransactionsRecurringCreateResponse modifiedStreams(List modifiedStreams) { + + this.modifiedStreams = modifiedStreams; + return this; + } + + public TransactionsRecurringCreateResponse addModifiedStreamsItem(TransactionStream modifiedStreamsItem) { + if (this.modifiedStreams == null) { + this.modifiedStreams = new ArrayList<>(); + } + this.modifiedStreams.add(modifiedStreamsItem); + return this; + } + + /** + * Other streams with transactions removed from them as a result of the operation (in no particular order). + * @return modifiedStreams + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Other streams with transactions removed from them as a result of the operation (in no particular order).") + + public List getModifiedStreams() { + return modifiedStreams; + } + + + public void setModifiedStreams(List modifiedStreams) { + this.modifiedStreams = modifiedStreams; + } + + + public TransactionsRecurringCreateResponse removedStreamIds(List removedStreamIds) { + + this.removedStreamIds = removedStreamIds; + return this; + } + + public TransactionsRecurringCreateResponse addRemovedStreamIdsItem(String removedStreamIdsItem) { + if (this.removedStreamIds == null) { + this.removedStreamIds = new ArrayList<>(); + } + this.removedStreamIds.add(removedStreamIdsItem); + return this; + } + + /** + * The ids of streams that are no longer qualified as recurring transaction streams (in no particular order). + * @return removedStreamIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ids of streams that are no longer qualified as recurring transaction streams (in no particular order).") + + public List getRemovedStreamIds() { + return removedStreamIds; + } + + + public void setRemovedStreamIds(List removedStreamIds) { + this.removedStreamIds = removedStreamIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRecurringCreateResponse transactionsRecurringCreateResponse = (TransactionsRecurringCreateResponse) o; + return Objects.equals(this.addedStreams, transactionsRecurringCreateResponse.addedStreams) && + Objects.equals(this.modifiedStreams, transactionsRecurringCreateResponse.modifiedStreams) && + Objects.equals(this.removedStreamIds, transactionsRecurringCreateResponse.removedStreamIds); + } + + @Override + public int hashCode() { + return Objects.hash(addedStreams, modifiedStreams, removedStreamIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRecurringCreateResponse {\n"); + sb.append(" addedStreams: ").append(toIndentedString(addedStreams)).append("\n"); + sb.append(" modifiedStreams: ").append(toIndentedString(modifiedStreams)).append("\n"); + sb.append(" removedStreamIds: ").append(toIndentedString(removedStreamIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRecurringGetRequest.java b/src/main/java/com/plaid/client/model/TransactionsRecurringGetRequest.java new file mode 100644 index 0000000000..741df2db0c --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRecurringGetRequest.java @@ -0,0 +1,225 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionsRecurringGetRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsRecurringGetRequest defines the request schema for `/transactions/recurring/get` + */ +@ApiModel(description = "TransactionsRecurringGetRequest defines the request schema for `/transactions/recurring/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRecurringGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private TransactionsRecurringGetRequestOptions options; + + public static final String SERIALIZED_NAME_ACCOUNT_IDS = "account_ids"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_IDS) + private List accountIds = null; + + + public TransactionsRecurringGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransactionsRecurringGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransactionsRecurringGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransactionsRecurringGetRequest options(TransactionsRecurringGetRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransactionsRecurringGetRequestOptions getOptions() { + return options; + } + + + public void setOptions(TransactionsRecurringGetRequestOptions options) { + this.options = options; + } + + + public TransactionsRecurringGetRequest accountIds(List accountIds) { + + this.accountIds = accountIds; + return this; + } + + public TransactionsRecurringGetRequest addAccountIdsItem(String accountIdsItem) { + if (this.accountIds == null) { + this.accountIds = new ArrayList<>(); + } + this.accountIds.add(accountIdsItem); + return this; + } + + /** + * An optional list of `account_ids` to retrieve for the Item. Retrieves all active accounts on item if no `account_id`s are provided. Note: An error will be returned if a provided `account_id` is not associated with the Item. + * @return accountIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An optional list of `account_ids` to retrieve for the Item. Retrieves all active accounts on item if no `account_id`s are provided. Note: An error will be returned if a provided `account_id` is not associated with the Item.") + + public List getAccountIds() { + return accountIds; + } + + + public void setAccountIds(List accountIds) { + this.accountIds = accountIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRecurringGetRequest transactionsRecurringGetRequest = (TransactionsRecurringGetRequest) o; + return Objects.equals(this.clientId, transactionsRecurringGetRequest.clientId) && + Objects.equals(this.accessToken, transactionsRecurringGetRequest.accessToken) && + Objects.equals(this.secret, transactionsRecurringGetRequest.secret) && + Objects.equals(this.options, transactionsRecurringGetRequest.options) && + Objects.equals(this.accountIds, transactionsRecurringGetRequest.accountIds); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, accessToken, secret, options, accountIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRecurringGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append(" accountIds: ").append(toIndentedString(accountIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRecurringGetRequestOptions.java b/src/main/java/com/plaid/client/model/TransactionsRecurringGetRequestOptions.java new file mode 100644 index 0000000000..000991251f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRecurringGetRequestOptions.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PersonalFinanceCategoryVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional object to be used with the request. If specified, `options` must not be `null`. + */ +@ApiModel(description = "An optional object to be used with the request. If specified, `options` must not be `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRecurringGetRequestOptions { + public static final String SERIALIZED_NAME_INCLUDE_PERSONAL_FINANCE_CATEGORY = "include_personal_finance_category"; + @SerializedName(SERIALIZED_NAME_INCLUDE_PERSONAL_FINANCE_CATEGORY) + private Boolean includePersonalFinanceCategory = false; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_VERSION = "personal_finance_category_version"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_VERSION) + private PersonalFinanceCategoryVersion personalFinanceCategoryVersion; + + + public TransactionsRecurringGetRequestOptions includePersonalFinanceCategory(Boolean includePersonalFinanceCategory) { + + this.includePersonalFinanceCategory = includePersonalFinanceCategory; + return this; + } + + /** + * Personal finance categories are now returned by default. + * @return includePersonalFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Personal finance categories are now returned by default.") + + public Boolean getIncludePersonalFinanceCategory() { + return includePersonalFinanceCategory; + } + + + public void setIncludePersonalFinanceCategory(Boolean includePersonalFinanceCategory) { + this.includePersonalFinanceCategory = includePersonalFinanceCategory; + } + + + public TransactionsRecurringGetRequestOptions personalFinanceCategoryVersion(PersonalFinanceCategoryVersion personalFinanceCategoryVersion) { + + this.personalFinanceCategoryVersion = personalFinanceCategoryVersion; + return this; + } + + /** + * Get personalFinanceCategoryVersion + * @return personalFinanceCategoryVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PersonalFinanceCategoryVersion getPersonalFinanceCategoryVersion() { + return personalFinanceCategoryVersion; + } + + + public void setPersonalFinanceCategoryVersion(PersonalFinanceCategoryVersion personalFinanceCategoryVersion) { + this.personalFinanceCategoryVersion = personalFinanceCategoryVersion; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRecurringGetRequestOptions transactionsRecurringGetRequestOptions = (TransactionsRecurringGetRequestOptions) o; + return Objects.equals(this.includePersonalFinanceCategory, transactionsRecurringGetRequestOptions.includePersonalFinanceCategory) && + Objects.equals(this.personalFinanceCategoryVersion, transactionsRecurringGetRequestOptions.personalFinanceCategoryVersion); + } + + @Override + public int hashCode() { + return Objects.hash(includePersonalFinanceCategory, personalFinanceCategoryVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRecurringGetRequestOptions {\n"); + sb.append(" includePersonalFinanceCategory: ").append(toIndentedString(includePersonalFinanceCategory)).append("\n"); + sb.append(" personalFinanceCategoryVersion: ").append(toIndentedString(personalFinanceCategoryVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRecurringGetResponse.java b/src/main/java/com/plaid/client/model/TransactionsRecurringGetResponse.java new file mode 100644 index 0000000000..2fbe87a60a --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRecurringGetResponse.java @@ -0,0 +1,226 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PersonalFinanceCategoryVersion; +import com.plaid.client.model.TransactionStream; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsRecurringGetResponse defines the response schema for `/transactions/recurring/get` + */ +@ApiModel(description = "TransactionsRecurringGetResponse defines the response schema for `/transactions/recurring/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRecurringGetResponse { + public static final String SERIALIZED_NAME_INFLOW_STREAMS = "inflow_streams"; + @SerializedName(SERIALIZED_NAME_INFLOW_STREAMS) + private List inflowStreams = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OUTFLOW_STREAMS = "outflow_streams"; + @SerializedName(SERIALIZED_NAME_OUTFLOW_STREAMS) + private List outflowStreams = new ArrayList<>(); + + public static final String SERIALIZED_NAME_UPDATED_DATETIME = "updated_datetime"; + @SerializedName(SERIALIZED_NAME_UPDATED_DATETIME) + private OffsetDateTime updatedDatetime; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_VERSION = "personal_finance_category_version"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_VERSION) + private PersonalFinanceCategoryVersion personalFinanceCategoryVersion; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransactionsRecurringGetResponse inflowStreams(List inflowStreams) { + + this.inflowStreams = inflowStreams; + return this; + } + + public TransactionsRecurringGetResponse addInflowStreamsItem(TransactionStream inflowStreamsItem) { + this.inflowStreams.add(inflowStreamsItem); + return this; + } + + /** + * An array of inflow transaction streams. + * @return inflowStreams + **/ + @ApiModelProperty(required = true, value = "An array of inflow transaction streams.") + + public List getInflowStreams() { + return inflowStreams; + } + + + public void setInflowStreams(List inflowStreams) { + this.inflowStreams = inflowStreams; + } + + + public TransactionsRecurringGetResponse outflowStreams(List outflowStreams) { + + this.outflowStreams = outflowStreams; + return this; + } + + public TransactionsRecurringGetResponse addOutflowStreamsItem(TransactionStream outflowStreamsItem) { + this.outflowStreams.add(outflowStreamsItem); + return this; + } + + /** + * An array of expense transaction streams. + * @return outflowStreams + **/ + @ApiModelProperty(required = true, value = "An array of expense transaction streams.") + + public List getOutflowStreams() { + return outflowStreams; + } + + + public void setOutflowStreams(List outflowStreams) { + this.outflowStreams = outflowStreams; + } + + + public TransactionsRecurringGetResponse updatedDatetime(OffsetDateTime updatedDatetime) { + + this.updatedDatetime = updatedDatetime; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the last time transaction streams for the given account were updated on + * @return updatedDatetime + **/ + @ApiModelProperty(required = true, value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the last time transaction streams for the given account were updated on") + + public OffsetDateTime getUpdatedDatetime() { + return updatedDatetime; + } + + + public void setUpdatedDatetime(OffsetDateTime updatedDatetime) { + this.updatedDatetime = updatedDatetime; + } + + + public TransactionsRecurringGetResponse personalFinanceCategoryVersion(PersonalFinanceCategoryVersion personalFinanceCategoryVersion) { + + this.personalFinanceCategoryVersion = personalFinanceCategoryVersion; + return this; + } + + /** + * Get personalFinanceCategoryVersion + * @return personalFinanceCategoryVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PersonalFinanceCategoryVersion getPersonalFinanceCategoryVersion() { + return personalFinanceCategoryVersion; + } + + + public void setPersonalFinanceCategoryVersion(PersonalFinanceCategoryVersion personalFinanceCategoryVersion) { + this.personalFinanceCategoryVersion = personalFinanceCategoryVersion; + } + + + public TransactionsRecurringGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRecurringGetResponse transactionsRecurringGetResponse = (TransactionsRecurringGetResponse) o; + return Objects.equals(this.inflowStreams, transactionsRecurringGetResponse.inflowStreams) && + Objects.equals(this.outflowStreams, transactionsRecurringGetResponse.outflowStreams) && + Objects.equals(this.updatedDatetime, transactionsRecurringGetResponse.updatedDatetime) && + Objects.equals(this.personalFinanceCategoryVersion, transactionsRecurringGetResponse.personalFinanceCategoryVersion) && + Objects.equals(this.requestId, transactionsRecurringGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(inflowStreams, outflowStreams, updatedDatetime, personalFinanceCategoryVersion, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRecurringGetResponse {\n"); + sb.append(" inflowStreams: ").append(toIndentedString(inflowStreams)).append("\n"); + sb.append(" outflowStreams: ").append(toIndentedString(outflowStreams)).append("\n"); + sb.append(" updatedDatetime: ").append(toIndentedString(updatedDatetime)).append("\n"); + sb.append(" personalFinanceCategoryVersion: ").append(toIndentedString(personalFinanceCategoryVersion)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRecurringMergeInput.java b/src/main/java/com/plaid/client/model/TransactionsRecurringMergeInput.java new file mode 100644 index 0000000000..ccbe775c9b --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRecurringMergeInput.java @@ -0,0 +1,105 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsRecurringMergeInput defines a single input to the `/transactions/recurring/streams/merge` endpoint. + */ +@ApiModel(description = "TransactionsRecurringMergeInput defines a single input to the `/transactions/recurring/streams/merge` endpoint.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRecurringMergeInput { + public static final String SERIALIZED_NAME_STREAM_IDS = "stream_ids"; + @SerializedName(SERIALIZED_NAME_STREAM_IDS) + private List streamIds = new ArrayList<>(); + + + public TransactionsRecurringMergeInput streamIds(List streamIds) { + + this.streamIds = streamIds; + return this; + } + + public TransactionsRecurringMergeInput addStreamIdsItem(String streamIdsItem) { + this.streamIds.add(streamIdsItem); + return this; + } + + /** + * IDs of all the streams that will be merged into the first stream. This operation will retain the `stream_id` of the first stream. + * @return streamIds + **/ + @ApiModelProperty(required = true, value = "IDs of all the streams that will be merged into the first stream. This operation will retain the `stream_id` of the first stream.") + + public List getStreamIds() { + return streamIds; + } + + + public void setStreamIds(List streamIds) { + this.streamIds = streamIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRecurringMergeInput transactionsRecurringMergeInput = (TransactionsRecurringMergeInput) o; + return Objects.equals(this.streamIds, transactionsRecurringMergeInput.streamIds); + } + + @Override + public int hashCode() { + return Objects.hash(streamIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRecurringMergeInput {\n"); + sb.append(" streamIds: ").append(toIndentedString(streamIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRecurringMergeRequest.java b/src/main/java/com/plaid/client/model/TransactionsRecurringMergeRequest.java new file mode 100644 index 0000000000..d6fe68af49 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRecurringMergeRequest.java @@ -0,0 +1,192 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionsRecurringMergeInput; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsRecurringMergeRequest defines the request schema for `/transactions/recurring/streams/merge` endpoint. + */ +@ApiModel(description = "TransactionsRecurringMergeRequest defines the request schema for `/transactions/recurring/streams/merge` endpoint.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRecurringMergeRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_INPUTS = "inputs"; + @SerializedName(SERIALIZED_NAME_INPUTS) + private List inputs = new ArrayList<>(); + + + public TransactionsRecurringMergeRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransactionsRecurringMergeRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransactionsRecurringMergeRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransactionsRecurringMergeRequest inputs(List inputs) { + + this.inputs = inputs; + return this; + } + + public TransactionsRecurringMergeRequest addInputsItem(TransactionsRecurringMergeInput inputsItem) { + this.inputs.add(inputsItem); + return this; + } + + /** + * A list of all the operations to be performed. This will either all succeed or all fail. + * @return inputs + **/ + @ApiModelProperty(required = true, value = "A list of all the operations to be performed. This will either all succeed or all fail.") + + public List getInputs() { + return inputs; + } + + + public void setInputs(List inputs) { + this.inputs = inputs; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRecurringMergeRequest transactionsRecurringMergeRequest = (TransactionsRecurringMergeRequest) o; + return Objects.equals(this.clientId, transactionsRecurringMergeRequest.clientId) && + Objects.equals(this.accessToken, transactionsRecurringMergeRequest.accessToken) && + Objects.equals(this.secret, transactionsRecurringMergeRequest.secret) && + Objects.equals(this.inputs, transactionsRecurringMergeRequest.inputs); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, accessToken, secret, inputs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRecurringMergeRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRecurringMergeResponse.java b/src/main/java/com/plaid/client/model/TransactionsRecurringMergeResponse.java new file mode 100644 index 0000000000..5828e0fefe --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRecurringMergeResponse.java @@ -0,0 +1,143 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionStream; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsRecurringMergeResponse defines the response schema for the `/transactions/recurring/streams/merge` endpoint. + */ +@ApiModel(description = "TransactionsRecurringMergeResponse defines the response schema for the `/transactions/recurring/streams/merge` endpoint.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRecurringMergeResponse { + public static final String SERIALIZED_NAME_MODIFIED_STREAMS = "modified_streams"; + @SerializedName(SERIALIZED_NAME_MODIFIED_STREAMS) + private List modifiedStreams = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REMOVED_STREAM_IDS = "removed_stream_ids"; + @SerializedName(SERIALIZED_NAME_REMOVED_STREAM_IDS) + private List removedStreamIds = null; + + + public TransactionsRecurringMergeResponse modifiedStreams(List modifiedStreams) { + + this.modifiedStreams = modifiedStreams; + return this; + } + + public TransactionsRecurringMergeResponse addModifiedStreamsItem(TransactionStream modifiedStreamsItem) { + this.modifiedStreams.add(modifiedStreamsItem); + return this; + } + + /** + * Directly modified stream, along with other streams with transactions removed from them as a result of the operation (in no particular order). + * @return modifiedStreams + **/ + @ApiModelProperty(required = true, value = "Directly modified stream, along with other streams with transactions removed from them as a result of the operation (in no particular order).") + + public List getModifiedStreams() { + return modifiedStreams; + } + + + public void setModifiedStreams(List modifiedStreams) { + this.modifiedStreams = modifiedStreams; + } + + + public TransactionsRecurringMergeResponse removedStreamIds(List removedStreamIds) { + + this.removedStreamIds = removedStreamIds; + return this; + } + + public TransactionsRecurringMergeResponse addRemovedStreamIdsItem(String removedStreamIdsItem) { + if (this.removedStreamIds == null) { + this.removedStreamIds = new ArrayList<>(); + } + this.removedStreamIds.add(removedStreamIdsItem); + return this; + } + + /** + * The ids of streams that are no longer qualified as recurring transaction streams (in no particular order). + * @return removedStreamIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ids of streams that are no longer qualified as recurring transaction streams (in no particular order).") + + public List getRemovedStreamIds() { + return removedStreamIds; + } + + + public void setRemovedStreamIds(List removedStreamIds) { + this.removedStreamIds = removedStreamIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRecurringMergeResponse transactionsRecurringMergeResponse = (TransactionsRecurringMergeResponse) o; + return Objects.equals(this.modifiedStreams, transactionsRecurringMergeResponse.modifiedStreams) && + Objects.equals(this.removedStreamIds, transactionsRecurringMergeResponse.removedStreamIds); + } + + @Override + public int hashCode() { + return Objects.hash(modifiedStreams, removedStreamIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRecurringMergeResponse {\n"); + sb.append(" modifiedStreams: ").append(toIndentedString(modifiedStreams)).append("\n"); + sb.append(" removedStreamIds: ").append(toIndentedString(removedStreamIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRecurringUpdateInput.java b/src/main/java/com/plaid/client/model/TransactionsRecurringUpdateInput.java new file mode 100644 index 0000000000..ec943582d0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRecurringUpdateInput.java @@ -0,0 +1,133 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsRecurringUpdateInput defines a single operation to the `/transactions/recurring/streams/update` endpoint. + */ +@ApiModel(description = "TransactionsRecurringUpdateInput defines a single operation to the `/transactions/recurring/streams/update` endpoint.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRecurringUpdateInput { + public static final String SERIALIZED_NAME_STREAM_ID = "stream_id"; + @SerializedName(SERIALIZED_NAME_STREAM_ID) + private String streamId; + + public static final String SERIALIZED_NAME_TRANSACTION_IDS = "transaction_ids"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_IDS) + private List transactionIds = new ArrayList<>(); + + + public TransactionsRecurringUpdateInput streamId(String streamId) { + + this.streamId = streamId; + return this; + } + + /** + * ID of the stream that all the transactions will be added into. + * @return streamId + **/ + @ApiModelProperty(required = true, value = "ID of the stream that all the transactions will be added into.") + + public String getStreamId() { + return streamId; + } + + + public void setStreamId(String streamId) { + this.streamId = streamId; + } + + + public TransactionsRecurringUpdateInput transactionIds(List transactionIds) { + + this.transactionIds = transactionIds; + return this; + } + + public TransactionsRecurringUpdateInput addTransactionIdsItem(String transactionIdsItem) { + this.transactionIds.add(transactionIdsItem); + return this; + } + + /** + * IDs of all the transactions that will be added into the stream. If any transaction currently exists in another stream, it will be removed from the other stream. + * @return transactionIds + **/ + @ApiModelProperty(required = true, value = "IDs of all the transactions that will be added into the stream. If any transaction currently exists in another stream, it will be removed from the other stream.") + + public List getTransactionIds() { + return transactionIds; + } + + + public void setTransactionIds(List transactionIds) { + this.transactionIds = transactionIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRecurringUpdateInput transactionsRecurringUpdateInput = (TransactionsRecurringUpdateInput) o; + return Objects.equals(this.streamId, transactionsRecurringUpdateInput.streamId) && + Objects.equals(this.transactionIds, transactionsRecurringUpdateInput.transactionIds); + } + + @Override + public int hashCode() { + return Objects.hash(streamId, transactionIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRecurringUpdateInput {\n"); + sb.append(" streamId: ").append(toIndentedString(streamId)).append("\n"); + sb.append(" transactionIds: ").append(toIndentedString(transactionIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRecurringUpdateRequest.java b/src/main/java/com/plaid/client/model/TransactionsRecurringUpdateRequest.java new file mode 100644 index 0000000000..89fbf22039 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRecurringUpdateRequest.java @@ -0,0 +1,192 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionsRecurringUpdateInput; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsRecurringUpdateRequest defines the request schema for `/transactions/recurring/streams/update` endpoint. + */ +@ApiModel(description = "TransactionsRecurringUpdateRequest defines the request schema for `/transactions/recurring/streams/update` endpoint.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRecurringUpdateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_INPUTS = "inputs"; + @SerializedName(SERIALIZED_NAME_INPUTS) + private List inputs = new ArrayList<>(); + + + public TransactionsRecurringUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransactionsRecurringUpdateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransactionsRecurringUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransactionsRecurringUpdateRequest inputs(List inputs) { + + this.inputs = inputs; + return this; + } + + public TransactionsRecurringUpdateRequest addInputsItem(TransactionsRecurringUpdateInput inputsItem) { + this.inputs.add(inputsItem); + return this; + } + + /** + * A list of all the operations to be performed. This will either all succeed or all fail. + * @return inputs + **/ + @ApiModelProperty(required = true, value = "A list of all the operations to be performed. This will either all succeed or all fail.") + + public List getInputs() { + return inputs; + } + + + public void setInputs(List inputs) { + this.inputs = inputs; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRecurringUpdateRequest transactionsRecurringUpdateRequest = (TransactionsRecurringUpdateRequest) o; + return Objects.equals(this.clientId, transactionsRecurringUpdateRequest.clientId) && + Objects.equals(this.accessToken, transactionsRecurringUpdateRequest.accessToken) && + Objects.equals(this.secret, transactionsRecurringUpdateRequest.secret) && + Objects.equals(this.inputs, transactionsRecurringUpdateRequest.inputs); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, accessToken, secret, inputs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRecurringUpdateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRecurringUpdateResponse.java b/src/main/java/com/plaid/client/model/TransactionsRecurringUpdateResponse.java new file mode 100644 index 0000000000..7df20e3d65 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRecurringUpdateResponse.java @@ -0,0 +1,143 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionStream; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsRecurringUpdateResponse defines the response schema for the `/transactions/recurring/streams/update` endpoint. + */ +@ApiModel(description = "TransactionsRecurringUpdateResponse defines the response schema for the `/transactions/recurring/streams/update` endpoint.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRecurringUpdateResponse { + public static final String SERIALIZED_NAME_MODIFIED_STREAMS = "modified_streams"; + @SerializedName(SERIALIZED_NAME_MODIFIED_STREAMS) + private List modifiedStreams = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REMOVED_STREAM_IDS = "removed_stream_ids"; + @SerializedName(SERIALIZED_NAME_REMOVED_STREAM_IDS) + private List removedStreamIds = null; + + + public TransactionsRecurringUpdateResponse modifiedStreams(List modifiedStreams) { + + this.modifiedStreams = modifiedStreams; + return this; + } + + public TransactionsRecurringUpdateResponse addModifiedStreamsItem(TransactionStream modifiedStreamsItem) { + this.modifiedStreams.add(modifiedStreamsItem); + return this; + } + + /** + * Directly modified stream, along with other streams with transactions removed from them as a result of the operation (in no particular order). + * @return modifiedStreams + **/ + @ApiModelProperty(required = true, value = "Directly modified stream, along with other streams with transactions removed from them as a result of the operation (in no particular order).") + + public List getModifiedStreams() { + return modifiedStreams; + } + + + public void setModifiedStreams(List modifiedStreams) { + this.modifiedStreams = modifiedStreams; + } + + + public TransactionsRecurringUpdateResponse removedStreamIds(List removedStreamIds) { + + this.removedStreamIds = removedStreamIds; + return this; + } + + public TransactionsRecurringUpdateResponse addRemovedStreamIdsItem(String removedStreamIdsItem) { + if (this.removedStreamIds == null) { + this.removedStreamIds = new ArrayList<>(); + } + this.removedStreamIds.add(removedStreamIdsItem); + return this; + } + + /** + * The ids of streams that are no longer qualified as recurring transaction streams (in no particular order). + * @return removedStreamIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ids of streams that are no longer qualified as recurring transaction streams (in no particular order).") + + public List getRemovedStreamIds() { + return removedStreamIds; + } + + + public void setRemovedStreamIds(List removedStreamIds) { + this.removedStreamIds = removedStreamIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRecurringUpdateResponse transactionsRecurringUpdateResponse = (TransactionsRecurringUpdateResponse) o; + return Objects.equals(this.modifiedStreams, transactionsRecurringUpdateResponse.modifiedStreams) && + Objects.equals(this.removedStreamIds, transactionsRecurringUpdateResponse.removedStreamIds); + } + + @Override + public int hashCode() { + return Objects.hash(modifiedStreams, removedStreamIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRecurringUpdateResponse {\n"); + sb.append(" modifiedStreams: ").append(toIndentedString(modifiedStreams)).append("\n"); + sb.append(" removedStreamIds: ").append(toIndentedString(removedStreamIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRefreshRequest.java b/src/main/java/com/plaid/client/model/TransactionsRefreshRequest.java new file mode 100644 index 0000000000..27243177f4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRefreshRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * TransactionsRefreshRequest defines the request schema for `/transactions/refresh` + */ +@ApiModel(description = "TransactionsRefreshRequest defines the request schema for `/transactions/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRefreshRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public TransactionsRefreshRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransactionsRefreshRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransactionsRefreshRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRefreshRequest transactionsRefreshRequest = (TransactionsRefreshRequest) o; + return Objects.equals(this.clientId, transactionsRefreshRequest.clientId) && + Objects.equals(this.accessToken, transactionsRefreshRequest.accessToken) && + Objects.equals(this.secret, transactionsRefreshRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, accessToken, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRefreshRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRefreshResponse.java b/src/main/java/com/plaid/client/model/TransactionsRefreshResponse.java new file mode 100644 index 0000000000..71c23d7a63 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRefreshResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * TransactionsRefreshResponse defines the response schema for `/transactions/refresh` + */ +@ApiModel(description = "TransactionsRefreshResponse defines the response schema for `/transactions/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRefreshResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransactionsRefreshResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRefreshResponse transactionsRefreshResponse = (TransactionsRefreshResponse) o; + return Objects.equals(this.requestId, transactionsRefreshResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRefreshResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRemovedWebhook.java b/src/main/java/com/plaid/client/model/TransactionsRemovedWebhook.java new file mode 100644 index 0000000000..01751d9d68 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRemovedWebhook.java @@ -0,0 +1,248 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Fired when transaction(s) for an Item are deleted. The deleted transaction IDs are included in the webhook payload. Plaid will typically check for deleted transaction data several times a day. This webhook is intended for use with `/transactions/get`; if you are using the newer `/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead. + */ +@ApiModel(description = "Fired when transaction(s) for an Item are deleted. The deleted transaction IDs are included in the webhook payload. Plaid will typically check for deleted transaction data several times a day. This webhook is intended for use with `/transactions/get`; if you are using the newer `/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRemovedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_REMOVED_TRANSACTIONS = "removed_transactions"; + @SerializedName(SERIALIZED_NAME_REMOVED_TRANSACTIONS) + private List removedTransactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public TransactionsRemovedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSACTIONS` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public TransactionsRemovedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `TRANSACTIONS_REMOVED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`TRANSACTIONS_REMOVED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public TransactionsRemovedWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public TransactionsRemovedWebhook removedTransactions(List removedTransactions) { + + this.removedTransactions = removedTransactions; + return this; + } + + public TransactionsRemovedWebhook addRemovedTransactionsItem(String removedTransactionsItem) { + this.removedTransactions.add(removedTransactionsItem); + return this; + } + + /** + * An array of `transaction_ids` corresponding to the removed transactions + * @return removedTransactions + **/ + @ApiModelProperty(required = true, value = "An array of `transaction_ids` corresponding to the removed transactions") + + public List getRemovedTransactions() { + return removedTransactions; + } + + + public void setRemovedTransactions(List removedTransactions) { + this.removedTransactions = removedTransactions; + } + + + public TransactionsRemovedWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public TransactionsRemovedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRemovedWebhook transactionsRemovedWebhook = (TransactionsRemovedWebhook) o; + return Objects.equals(this.webhookType, transactionsRemovedWebhook.webhookType) && + Objects.equals(this.webhookCode, transactionsRemovedWebhook.webhookCode) && + Objects.equals(this.error, transactionsRemovedWebhook.error) && + Objects.equals(this.removedTransactions, transactionsRemovedWebhook.removedTransactions) && + Objects.equals(this.itemId, transactionsRemovedWebhook.itemId) && + Objects.equals(this.environment, transactionsRemovedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, error, removedTransactions, itemId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRemovedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" removedTransactions: ").append(toIndentedString(removedTransactions)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRuleDetails.java b/src/main/java/com/plaid/client/model/TransactionsRuleDetails.java new file mode 100644 index 0000000000..31424236fd --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRuleDetails.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionsRuleField; +import com.plaid.client.model.TransactionsRuleType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A representation of transactions rule details. + */ +@ApiModel(description = "A representation of transactions rule details.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRuleDetails { + public static final String SERIALIZED_NAME_FIELD = "field"; + @SerializedName(SERIALIZED_NAME_FIELD) + private TransactionsRuleField field; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TransactionsRuleType type; + + public static final String SERIALIZED_NAME_QUERY = "query"; + @SerializedName(SERIALIZED_NAME_QUERY) + private String query; + + + public TransactionsRuleDetails field(TransactionsRuleField field) { + + this.field = field; + return this; + } + + /** + * Get field + * @return field + **/ + @ApiModelProperty(required = true, value = "") + + public TransactionsRuleField getField() { + return field; + } + + + public void setField(TransactionsRuleField field) { + this.field = field; + } + + + public TransactionsRuleDetails type(TransactionsRuleType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public TransactionsRuleType getType() { + return type; + } + + + public void setType(TransactionsRuleType type) { + this.type = type; + } + + + public TransactionsRuleDetails query(String query) { + + this.query = query; + return this; + } + + /** + * For `TRANSACTION_ID` field, provide `transaction_id`. For `MERCHANT_NAME` field, provide a string pattern. + * @return query + **/ + @ApiModelProperty(required = true, value = "For `TRANSACTION_ID` field, provide `transaction_id`. For `MERCHANT_NAME` field, provide a string pattern. ") + + public String getQuery() { + return query; + } + + + public void setQuery(String query) { + this.query = query; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRuleDetails transactionsRuleDetails = (TransactionsRuleDetails) o; + return Objects.equals(this.field, transactionsRuleDetails.field) && + Objects.equals(this.type, transactionsRuleDetails.type) && + Objects.equals(this.query, transactionsRuleDetails.query); + } + + @Override + public int hashCode() { + return Objects.hash(field, type, query); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRuleDetails {\n"); + sb.append(" field: ").append(toIndentedString(field)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" query: ").append(toIndentedString(query)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRuleField.java b/src/main/java/com/plaid/client/model/TransactionsRuleField.java new file mode 100644 index 0000000000..7047f0fdb3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRuleField.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Transaction field for which the rule is defined. + */ +@JsonAdapter(TransactionsRuleField.Adapter.class) +public enum TransactionsRuleField { + + TRANSACTION_ID("TRANSACTION_ID"), + + MERCHANT_NAME("MERCHANT_NAME"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransactionsRuleField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransactionsRuleField fromValue(String value) { + for (TransactionsRuleField b : TransactionsRuleField.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransactionsRuleField.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransactionsRuleField enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransactionsRuleField read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransactionsRuleField.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRuleType.java b/src/main/java/com/plaid/client/model/TransactionsRuleType.java new file mode 100644 index 0000000000..cfae2071c3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRuleType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Transaction rule's match type. For `TRANSACTION_ID` field, `EXACT_MATCH` is available. Matches are case sensitive. + */ +@JsonAdapter(TransactionsRuleType.Adapter.class) +public enum TransactionsRuleType { + + EXACT_MATCH("EXACT_MATCH"), + + SUBSTRING_MATCH("SUBSTRING_MATCH"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransactionsRuleType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransactionsRuleType fromValue(String value) { + for (TransactionsRuleType b : TransactionsRuleType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransactionsRuleType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransactionsRuleType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransactionsRuleType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransactionsRuleType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRulesCreateRequest.java b/src/main/java/com/plaid/client/model/TransactionsRulesCreateRequest.java new file mode 100644 index 0000000000..4d6e004c54 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRulesCreateRequest.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionsRuleDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * TransactionsRulesCreateRequest defines the request schema for `/beta/transactions/rules/v1/create` + */ +@ApiModel(description = "TransactionsRulesCreateRequest defines the request schema for `/beta/transactions/rules/v1/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRulesCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_PFC_PRIMARY_CATEGORY = "pfc_primary_category"; + @SerializedName(SERIALIZED_NAME_PFC_PRIMARY_CATEGORY) + private String pfcPrimaryCategory; + + public static final String SERIALIZED_NAME_PFC_DETAILED_CATEGORY = "pfc_detailed_category"; + @SerializedName(SERIALIZED_NAME_PFC_DETAILED_CATEGORY) + private String pfcDetailedCategory; + + public static final String SERIALIZED_NAME_RULE_DETAILS = "rule_details"; + @SerializedName(SERIALIZED_NAME_RULE_DETAILS) + private TransactionsRuleDetails ruleDetails; + + + public TransactionsRulesCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransactionsRulesCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransactionsRulesCreateRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID representing the end user. This ID is used to associate rules with a specific user. + * @return clientUserId + **/ + @ApiModelProperty(required = true, value = "A unique ID representing the end user. This ID is used to associate rules with a specific user.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public TransactionsRulesCreateRequest pfcPrimaryCategory(String pfcPrimaryCategory) { + + this.pfcPrimaryCategory = pfcPrimaryCategory; + return this; + } + + /** + * A personal finance primary category. See the [taxonomy csv file](https://plaid.com/documents/pfc-taxonomy-all.csv) for a full list of personal finance categories. + * @return pfcPrimaryCategory + **/ + @ApiModelProperty(required = true, value = "A personal finance primary category. See the [taxonomy csv file](https://plaid.com/documents/pfc-taxonomy-all.csv) for a full list of personal finance categories. ") + + public String getPfcPrimaryCategory() { + return pfcPrimaryCategory; + } + + + public void setPfcPrimaryCategory(String pfcPrimaryCategory) { + this.pfcPrimaryCategory = pfcPrimaryCategory; + } + + + public TransactionsRulesCreateRequest pfcDetailedCategory(String pfcDetailedCategory) { + + this.pfcDetailedCategory = pfcDetailedCategory; + return this; + } + + /** + * A personal finance detailed category. See the [taxonomy csv file](https://plaid.com/documents/pfc-taxonomy-all.csv) for a full list of personal finance categories. + * @return pfcDetailedCategory + **/ + @ApiModelProperty(required = true, value = "A personal finance detailed category. See the [taxonomy csv file](https://plaid.com/documents/pfc-taxonomy-all.csv) for a full list of personal finance categories. ") + + public String getPfcDetailedCategory() { + return pfcDetailedCategory; + } + + + public void setPfcDetailedCategory(String pfcDetailedCategory) { + this.pfcDetailedCategory = pfcDetailedCategory; + } + + + public TransactionsRulesCreateRequest ruleDetails(TransactionsRuleDetails ruleDetails) { + + this.ruleDetails = ruleDetails; + return this; + } + + /** + * Get ruleDetails + * @return ruleDetails + **/ + @ApiModelProperty(required = true, value = "") + + public TransactionsRuleDetails getRuleDetails() { + return ruleDetails; + } + + + public void setRuleDetails(TransactionsRuleDetails ruleDetails) { + this.ruleDetails = ruleDetails; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRulesCreateRequest transactionsRulesCreateRequest = (TransactionsRulesCreateRequest) o; + return Objects.equals(this.clientId, transactionsRulesCreateRequest.clientId) && + Objects.equals(this.secret, transactionsRulesCreateRequest.secret) && + Objects.equals(this.clientUserId, transactionsRulesCreateRequest.clientUserId) && + Objects.equals(this.pfcPrimaryCategory, transactionsRulesCreateRequest.pfcPrimaryCategory) && + Objects.equals(this.pfcDetailedCategory, transactionsRulesCreateRequest.pfcDetailedCategory) && + Objects.equals(this.ruleDetails, transactionsRulesCreateRequest.ruleDetails); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, clientUserId, pfcPrimaryCategory, pfcDetailedCategory, ruleDetails); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRulesCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" pfcPrimaryCategory: ").append(toIndentedString(pfcPrimaryCategory)).append("\n"); + sb.append(" pfcDetailedCategory: ").append(toIndentedString(pfcDetailedCategory)).append("\n"); + sb.append(" ruleDetails: ").append(toIndentedString(ruleDetails)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRulesCreateResponse.java b/src/main/java/com/plaid/client/model/TransactionsRulesCreateResponse.java new file mode 100644 index 0000000000..743ef78f3d --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRulesCreateResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionsCategoryRule; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * TransactionsRulesCreateResponse defines the response schema for `/beta/transactions/rules/v1/create` + */ +@ApiModel(description = "TransactionsRulesCreateResponse defines the response schema for `/beta/transactions/rules/v1/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRulesCreateResponse { + public static final String SERIALIZED_NAME_RULE = "rule"; + @SerializedName(SERIALIZED_NAME_RULE) + private TransactionsCategoryRule rule; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransactionsRulesCreateResponse rule(TransactionsCategoryRule rule) { + + this.rule = rule; + return this; + } + + /** + * Get rule + * @return rule + **/ + @ApiModelProperty(required = true, value = "") + + public TransactionsCategoryRule getRule() { + return rule; + } + + + public void setRule(TransactionsCategoryRule rule) { + this.rule = rule; + } + + + public TransactionsRulesCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRulesCreateResponse transactionsRulesCreateResponse = (TransactionsRulesCreateResponse) o; + return Objects.equals(this.rule, transactionsRulesCreateResponse.rule) && + Objects.equals(this.requestId, transactionsRulesCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(rule, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRulesCreateResponse {\n"); + sb.append(" rule: ").append(toIndentedString(rule)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRulesListRequest.java b/src/main/java/com/plaid/client/model/TransactionsRulesListRequest.java new file mode 100644 index 0000000000..a3e477b87f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRulesListRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * TransactionsRulesListRequest defines the request schema for `/beta/transactions/rules/v1/list` + */ +@ApiModel(description = "TransactionsRulesListRequest defines the request schema for `/beta/transactions/rules/v1/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRulesListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + + public TransactionsRulesListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransactionsRulesListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransactionsRulesListRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID representing the end user whose rules should be listed. + * @return clientUserId + **/ + @ApiModelProperty(required = true, value = "A unique ID representing the end user whose rules should be listed.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRulesListRequest transactionsRulesListRequest = (TransactionsRulesListRequest) o; + return Objects.equals(this.clientId, transactionsRulesListRequest.clientId) && + Objects.equals(this.secret, transactionsRulesListRequest.secret) && + Objects.equals(this.clientUserId, transactionsRulesListRequest.clientUserId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, clientUserId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRulesListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRulesListResponse.java b/src/main/java/com/plaid/client/model/TransactionsRulesListResponse.java new file mode 100644 index 0000000000..0bfc8d59a9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRulesListResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionsCategoryRule; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsRulesListResponse defines the response schema for `/beta/transactions/rules/v1/list` + */ +@ApiModel(description = "TransactionsRulesListResponse defines the response schema for `/beta/transactions/rules/v1/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRulesListResponse { + public static final String SERIALIZED_NAME_RULES = "rules"; + @SerializedName(SERIALIZED_NAME_RULES) + private List rules = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransactionsRulesListResponse rules(List rules) { + + this.rules = rules; + return this; + } + + public TransactionsRulesListResponse addRulesItem(TransactionsCategoryRule rulesItem) { + this.rules.add(rulesItem); + return this; + } + + /** + * A list of the user's transaction rules + * @return rules + **/ + @ApiModelProperty(required = true, value = "A list of the user's transaction rules") + + public List getRules() { + return rules; + } + + + public void setRules(List rules) { + this.rules = rules; + } + + + public TransactionsRulesListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRulesListResponse transactionsRulesListResponse = (TransactionsRulesListResponse) o; + return Objects.equals(this.rules, transactionsRulesListResponse.rules) && + Objects.equals(this.requestId, transactionsRulesListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(rules, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRulesListResponse {\n"); + sb.append(" rules: ").append(toIndentedString(rules)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRulesRemoveRequest.java b/src/main/java/com/plaid/client/model/TransactionsRulesRemoveRequest.java new file mode 100644 index 0000000000..b143a10fbe --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRulesRemoveRequest.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * TransactionsRulesRemoveRequest defines the request schema for `/beta/transactions/rules/v1/remove` + */ +@ApiModel(description = "TransactionsRulesRemoveRequest defines the request schema for `/beta/transactions/rules/v1/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRulesRemoveRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_RULE_ID = "rule_id"; + @SerializedName(SERIALIZED_NAME_RULE_ID) + private String ruleId; + + + public TransactionsRulesRemoveRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransactionsRulesRemoveRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransactionsRulesRemoveRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID representing the end user the rule belongs to. + * @return clientUserId + **/ + @ApiModelProperty(required = true, value = "A unique ID representing the end user the rule belongs to.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public TransactionsRulesRemoveRequest ruleId(String ruleId) { + + this.ruleId = ruleId; + return this; + } + + /** + * A rule's unique identifier + * @return ruleId + **/ + @ApiModelProperty(required = true, value = "A rule's unique identifier") + + public String getRuleId() { + return ruleId; + } + + + public void setRuleId(String ruleId) { + this.ruleId = ruleId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRulesRemoveRequest transactionsRulesRemoveRequest = (TransactionsRulesRemoveRequest) o; + return Objects.equals(this.clientId, transactionsRulesRemoveRequest.clientId) && + Objects.equals(this.secret, transactionsRulesRemoveRequest.secret) && + Objects.equals(this.clientUserId, transactionsRulesRemoveRequest.clientUserId) && + Objects.equals(this.ruleId, transactionsRulesRemoveRequest.ruleId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, clientUserId, ruleId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRulesRemoveRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" ruleId: ").append(toIndentedString(ruleId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsRulesRemoveResponse.java b/src/main/java/com/plaid/client/model/TransactionsRulesRemoveResponse.java new file mode 100644 index 0000000000..03070327f4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsRulesRemoveResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * TransactionsRulesRemoveResponse defines the response schema for `/beta/transactions/rules/v1/remove` + */ +@ApiModel(description = "TransactionsRulesRemoveResponse defines the response schema for `/beta/transactions/rules/v1/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsRulesRemoveResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransactionsRulesRemoveResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsRulesRemoveResponse transactionsRulesRemoveResponse = (TransactionsRulesRemoveResponse) o; + return Objects.equals(this.requestId, transactionsRulesRemoveResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsRulesRemoveResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsSyncRequest.java b/src/main/java/com/plaid/client/model/TransactionsSyncRequest.java new file mode 100644 index 0000000000..866c2472b3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsSyncRequest.java @@ -0,0 +1,246 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransactionsSyncRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * TransactionsSyncRequest defines the request schema for `/transactions/sync` + */ +@ApiModel(description = "TransactionsSyncRequest defines the request schema for `/transactions/sync`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsSyncRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 100; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private TransactionsSyncRequestOptions options; + + + public TransactionsSyncRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransactionsSyncRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransactionsSyncRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransactionsSyncRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * The cursor value represents the last update requested. Providing it will cause the response to only return changes after this update. If omitted, the entire history of updates will be returned, starting with the first-added transactions on the Item. The cursor also accepts the special value of `\"now\"`, which can be used to fast-forward the cursor as part of migrating an existing Item from `/transactions/get` to `/transactions/sync`. For more information, see the [Transactions sync migration guide](https://plaid.com/docs/transactions/sync-migration/). Note that using the `\"now\"` value is not supported for any use case other than migrating existing Items from `/transactions/get`. The upper-bound length of this cursor is 256 characters of base64. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The cursor value represents the last update requested. Providing it will cause the response to only return changes after this update. If omitted, the entire history of updates will be returned, starting with the first-added transactions on the Item. The cursor also accepts the special value of `\"now\"`, which can be used to fast-forward the cursor as part of migrating an existing Item from `/transactions/get` to `/transactions/sync`. For more information, see the [Transactions sync migration guide](https://plaid.com/docs/transactions/sync-migration/). Note that using the `\"now\"` value is not supported for any use case other than migrating existing Items from `/transactions/get`. The upper-bound length of this cursor is 256 characters of base64.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + public TransactionsSyncRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The number of transaction updates to fetch. + * minimum: 1 + * maximum: 500 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of transaction updates to fetch.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public TransactionsSyncRequest options(TransactionsSyncRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransactionsSyncRequestOptions getOptions() { + return options; + } + + + public void setOptions(TransactionsSyncRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsSyncRequest transactionsSyncRequest = (TransactionsSyncRequest) o; + return Objects.equals(this.clientId, transactionsSyncRequest.clientId) && + Objects.equals(this.accessToken, transactionsSyncRequest.accessToken) && + Objects.equals(this.secret, transactionsSyncRequest.secret) && + Objects.equals(this.cursor, transactionsSyncRequest.cursor) && + Objects.equals(this.count, transactionsSyncRequest.count) && + Objects.equals(this.options, transactionsSyncRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, accessToken, secret, cursor, count, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsSyncRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsSyncRequestOptions.java b/src/main/java/com/plaid/client/model/TransactionsSyncRequestOptions.java new file mode 100644 index 0000000000..a6066a09e2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsSyncRequestOptions.java @@ -0,0 +1,247 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PersonalFinanceCategoryVersion; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An optional object to be used with the request. If specified, `options` must not be `null`. + */ +@ApiModel(description = "An optional object to be used with the request. If specified, `options` must not be `null`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsSyncRequestOptions { + public static final String SERIALIZED_NAME_INCLUDE_ORIGINAL_DESCRIPTION = "include_original_description"; + @SerializedName(SERIALIZED_NAME_INCLUDE_ORIGINAL_DESCRIPTION) + private Boolean includeOriginalDescription = false; + + public static final String SERIALIZED_NAME_INCLUDE_PERSONAL_FINANCE_CATEGORY = "include_personal_finance_category"; + @SerializedName(SERIALIZED_NAME_INCLUDE_PERSONAL_FINANCE_CATEGORY) + private Boolean includePersonalFinanceCategory = false; + + public static final String SERIALIZED_NAME_INCLUDE_LOGO_AND_COUNTERPARTY_BETA = "include_logo_and_counterparty_beta"; + @SerializedName(SERIALIZED_NAME_INCLUDE_LOGO_AND_COUNTERPARTY_BETA) + private Boolean includeLogoAndCounterpartyBeta = false; + + public static final String SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_VERSION = "personal_finance_category_version"; + @SerializedName(SERIALIZED_NAME_PERSONAL_FINANCE_CATEGORY_VERSION) + private PersonalFinanceCategoryVersion personalFinanceCategoryVersion; + + public static final String SERIALIZED_NAME_DAYS_REQUESTED = "days_requested"; + @SerializedName(SERIALIZED_NAME_DAYS_REQUESTED) + private Integer daysRequested = 90; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + + public TransactionsSyncRequestOptions includeOriginalDescription(Boolean includeOriginalDescription) { + + this.includeOriginalDescription = includeOriginalDescription; + return this; + } + + /** + * Include the raw unparsed transaction description from the financial institution. + * @return includeOriginalDescription + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Include the raw unparsed transaction description from the financial institution.") + + public Boolean getIncludeOriginalDescription() { + return includeOriginalDescription; + } + + + public void setIncludeOriginalDescription(Boolean includeOriginalDescription) { + this.includeOriginalDescription = includeOriginalDescription; + } + + + public TransactionsSyncRequestOptions includePersonalFinanceCategory(Boolean includePersonalFinanceCategory) { + + this.includePersonalFinanceCategory = includePersonalFinanceCategory; + return this; + } + + /** + * Personal finance categories are now returned by default. + * @return includePersonalFinanceCategory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Personal finance categories are now returned by default.") + + public Boolean getIncludePersonalFinanceCategory() { + return includePersonalFinanceCategory; + } + + + public void setIncludePersonalFinanceCategory(Boolean includePersonalFinanceCategory) { + this.includePersonalFinanceCategory = includePersonalFinanceCategory; + } + + + public TransactionsSyncRequestOptions includeLogoAndCounterpartyBeta(Boolean includeLogoAndCounterpartyBeta) { + + this.includeLogoAndCounterpartyBeta = includeLogoAndCounterpartyBeta; + return this; + } + + /** + * Counterparties and extra merchant fields are now returned by default. + * @return includeLogoAndCounterpartyBeta + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Counterparties and extra merchant fields are now returned by default.") + + public Boolean getIncludeLogoAndCounterpartyBeta() { + return includeLogoAndCounterpartyBeta; + } + + + public void setIncludeLogoAndCounterpartyBeta(Boolean includeLogoAndCounterpartyBeta) { + this.includeLogoAndCounterpartyBeta = includeLogoAndCounterpartyBeta; + } + + + public TransactionsSyncRequestOptions personalFinanceCategoryVersion(PersonalFinanceCategoryVersion personalFinanceCategoryVersion) { + + this.personalFinanceCategoryVersion = personalFinanceCategoryVersion; + return this; + } + + /** + * Get personalFinanceCategoryVersion + * @return personalFinanceCategoryVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PersonalFinanceCategoryVersion getPersonalFinanceCategoryVersion() { + return personalFinanceCategoryVersion; + } + + + public void setPersonalFinanceCategoryVersion(PersonalFinanceCategoryVersion personalFinanceCategoryVersion) { + this.personalFinanceCategoryVersion = personalFinanceCategoryVersion; + } + + + public TransactionsSyncRequestOptions daysRequested(Integer daysRequested) { + + this.daysRequested = daysRequested; + return this; + } + + /** + * This field only applies to calls for Items where the Transactions product has not already been initialized (i.e., by specifying `transactions` in the `products`, `required_if_supported_products`, or `optional_products` array when calling `/link/token/create` or by making a previous call to `/transactions/sync` or `/transactions/get`). In those cases, the field controls the maximum number of days of transaction history that Plaid will request from the financial institution. The more transaction history is requested, the longer the historical update poll will take. If no value is specified, 90 days of history will be requested by default. In Production, if a value less than 30 is provided, a minimum of 30 days of transaction history will be requested. If you are initializing your Items with transactions during the `/link/token/create` call (e.g. by including `transactions` in the `/link/token/create` `products` array), you must use the [`transactions.days_requested`](https://plaid.com/docs/api/link/#link-token-create-request-transactions-days-requested) field in the `/link/token/create` request instead of in the `/transactions/sync` request. If the Item has already been initialized with the Transactions product, this field will have no effect. The maximum amount of transaction history to request on an Item cannot be updated if Transactions has already been added to the Item. To request older transaction history on an Item where Transactions has already been added, you must delete the Item via `/item/remove` and send the user through Link to create a new Item. Customers using [Recurring Transactions](https://plaid.com/docs/api/products/transactions/#transactionsrecurringget) should request at least 180 days of history for optimal results. + * minimum: 1 + * maximum: 730 + * @return daysRequested + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "This field only applies to calls for Items where the Transactions product has not already been initialized (i.e., by specifying `transactions` in the `products`, `required_if_supported_products`, or `optional_products` array when calling `/link/token/create` or by making a previous call to `/transactions/sync` or `/transactions/get`). In those cases, the field controls the maximum number of days of transaction history that Plaid will request from the financial institution. The more transaction history is requested, the longer the historical update poll will take. If no value is specified, 90 days of history will be requested by default. In Production, if a value less than 30 is provided, a minimum of 30 days of transaction history will be requested. If you are initializing your Items with transactions during the `/link/token/create` call (e.g. by including `transactions` in the `/link/token/create` `products` array), you must use the [`transactions.days_requested`](https://plaid.com/docs/api/link/#link-token-create-request-transactions-days-requested) field in the `/link/token/create` request instead of in the `/transactions/sync` request. If the Item has already been initialized with the Transactions product, this field will have no effect. The maximum amount of transaction history to request on an Item cannot be updated if Transactions has already been added to the Item. To request older transaction history on an Item where Transactions has already been added, you must delete the Item via `/item/remove` and send the user through Link to create a new Item. Customers using [Recurring Transactions](https://plaid.com/docs/api/products/transactions/#transactionsrecurringget) should request at least 180 days of history for optimal results.") + + public Integer getDaysRequested() { + return daysRequested; + } + + + public void setDaysRequested(Integer daysRequested) { + this.daysRequested = daysRequested; + } + + + public TransactionsSyncRequestOptions accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * If provided, the returned updates and cursor will only reflect the specified account's transactions. Omitting `account_id` returns updates for all accounts under the Item. Note that specifying an `account_id` effectively creates a separate incremental update stream -- and therefore a separate cursor -- for that account. If multiple accounts are queried this way, you will maintain multiple cursors, one per `account_id`. If you decide to begin filtering by `account_id` after using no `account_id`, start fresh with a null cursor and maintain separate `(account_id, cursor)` pairs going forward. Do not reuse any previously saved cursors, as this can cause pagination errors or incomplete data. Note: An error will be returned if a provided `account_id` is not associated with the Item. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If provided, the returned updates and cursor will only reflect the specified account's transactions. Omitting `account_id` returns updates for all accounts under the Item. Note that specifying an `account_id` effectively creates a separate incremental update stream -- and therefore a separate cursor -- for that account. If multiple accounts are queried this way, you will maintain multiple cursors, one per `account_id`. If you decide to begin filtering by `account_id` after using no `account_id`, start fresh with a null cursor and maintain separate `(account_id, cursor)` pairs going forward. Do not reuse any previously saved cursors, as this can cause pagination errors or incomplete data. Note: An error will be returned if a provided `account_id` is not associated with the Item.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsSyncRequestOptions transactionsSyncRequestOptions = (TransactionsSyncRequestOptions) o; + return Objects.equals(this.includeOriginalDescription, transactionsSyncRequestOptions.includeOriginalDescription) && + Objects.equals(this.includePersonalFinanceCategory, transactionsSyncRequestOptions.includePersonalFinanceCategory) && + Objects.equals(this.includeLogoAndCounterpartyBeta, transactionsSyncRequestOptions.includeLogoAndCounterpartyBeta) && + Objects.equals(this.personalFinanceCategoryVersion, transactionsSyncRequestOptions.personalFinanceCategoryVersion) && + Objects.equals(this.daysRequested, transactionsSyncRequestOptions.daysRequested) && + Objects.equals(this.accountId, transactionsSyncRequestOptions.accountId); + } + + @Override + public int hashCode() { + return Objects.hash(includeOriginalDescription, includePersonalFinanceCategory, includeLogoAndCounterpartyBeta, personalFinanceCategoryVersion, daysRequested, accountId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsSyncRequestOptions {\n"); + sb.append(" includeOriginalDescription: ").append(toIndentedString(includeOriginalDescription)).append("\n"); + sb.append(" includePersonalFinanceCategory: ").append(toIndentedString(includePersonalFinanceCategory)).append("\n"); + sb.append(" includeLogoAndCounterpartyBeta: ").append(toIndentedString(includeLogoAndCounterpartyBeta)).append("\n"); + sb.append(" personalFinanceCategoryVersion: ").append(toIndentedString(personalFinanceCategoryVersion)).append("\n"); + sb.append(" daysRequested: ").append(toIndentedString(daysRequested)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsSyncResponse.java b/src/main/java/com/plaid/client/model/TransactionsSyncResponse.java new file mode 100644 index 0000000000..e40e5859a7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsSyncResponse.java @@ -0,0 +1,320 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.RemovedTransaction; +import com.plaid.client.model.Transaction; +import com.plaid.client.model.TransactionsUpdateStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * TransactionsSyncResponse defines the response schema for `/transactions/sync` + */ +@ApiModel(description = "TransactionsSyncResponse defines the response schema for `/transactions/sync`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsSyncResponse { + public static final String SERIALIZED_NAME_TRANSACTIONS_UPDATE_STATUS = "transactions_update_status"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS_UPDATE_STATUS) + private TransactionsUpdateStatus transactionsUpdateStatus; + + public static final String SERIALIZED_NAME_ACCOUNTS = "accounts"; + @SerializedName(SERIALIZED_NAME_ACCOUNTS) + private List accounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ADDED = "added"; + @SerializedName(SERIALIZED_NAME_ADDED) + private List added = new ArrayList<>(); + + public static final String SERIALIZED_NAME_MODIFIED = "modified"; + @SerializedName(SERIALIZED_NAME_MODIFIED) + private List modified = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REMOVED = "removed"; + @SerializedName(SERIALIZED_NAME_REMOVED) + private List removed = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_HAS_MORE = "has_more"; + @SerializedName(SERIALIZED_NAME_HAS_MORE) + private Boolean hasMore; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransactionsSyncResponse transactionsUpdateStatus(TransactionsUpdateStatus transactionsUpdateStatus) { + + this.transactionsUpdateStatus = transactionsUpdateStatus; + return this; + } + + /** + * Get transactionsUpdateStatus + * @return transactionsUpdateStatus + **/ + @ApiModelProperty(required = true, value = "") + + public TransactionsUpdateStatus getTransactionsUpdateStatus() { + return transactionsUpdateStatus; + } + + + public void setTransactionsUpdateStatus(TransactionsUpdateStatus transactionsUpdateStatus) { + this.transactionsUpdateStatus = transactionsUpdateStatus; + } + + + public TransactionsSyncResponse accounts(List accounts) { + + this.accounts = accounts; + return this; + } + + public TransactionsSyncResponse addAccountsItem(AccountBase accountsItem) { + this.accounts.add(accountsItem); + return this; + } + + /** + * An array of accounts at a financial institution associated with the transactions in this response. Only accounts that have associated transactions will be shown. For example, `investment`-type accounts will be omitted. + * @return accounts + **/ + @ApiModelProperty(required = true, value = "An array of accounts at a financial institution associated with the transactions in this response. Only accounts that have associated transactions will be shown. For example, `investment`-type accounts will be omitted.") + + public List getAccounts() { + return accounts; + } + + + public void setAccounts(List accounts) { + this.accounts = accounts; + } + + + public TransactionsSyncResponse added(List added) { + + this.added = added; + return this; + } + + public TransactionsSyncResponse addAddedItem(Transaction addedItem) { + this.added.add(addedItem); + return this; + } + + /** + * Transactions that have been added to the Item since `cursor` ordered by ascending last modified time. + * @return added + **/ + @ApiModelProperty(required = true, value = "Transactions that have been added to the Item since `cursor` ordered by ascending last modified time.") + + public List getAdded() { + return added; + } + + + public void setAdded(List added) { + this.added = added; + } + + + public TransactionsSyncResponse modified(List modified) { + + this.modified = modified; + return this; + } + + public TransactionsSyncResponse addModifiedItem(Transaction modifiedItem) { + this.modified.add(modifiedItem); + return this; + } + + /** + * Transactions that have been modified on the Item since `cursor` ordered by ascending last modified time. + * @return modified + **/ + @ApiModelProperty(required = true, value = "Transactions that have been modified on the Item since `cursor` ordered by ascending last modified time.") + + public List getModified() { + return modified; + } + + + public void setModified(List modified) { + this.modified = modified; + } + + + public TransactionsSyncResponse removed(List removed) { + + this.removed = removed; + return this; + } + + public TransactionsSyncResponse addRemovedItem(RemovedTransaction removedItem) { + this.removed.add(removedItem); + return this; + } + + /** + * Transactions that have been removed from the Item since `cursor` ordered by ascending last modified time. + * @return removed + **/ + @ApiModelProperty(required = true, value = "Transactions that have been removed from the Item since `cursor` ordered by ascending last modified time.") + + public List getRemoved() { + return removed; + } + + + public void setRemoved(List removed) { + this.removed = removed; + } + + + public TransactionsSyncResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * Cursor used for fetching any future updates after the latest update provided in this response. The cursor obtained after all pages have been pulled (indicated by `has_more` being `false`) will be valid for at least 1 year. This cursor should be persisted for later calls. If transactions are not yet available, this will be an empty string. If `account_id` is included in the request, the returned cursor will reflect updates for that specific account. + * @return nextCursor + **/ + @ApiModelProperty(required = true, value = "Cursor used for fetching any future updates after the latest update provided in this response. The cursor obtained after all pages have been pulled (indicated by `has_more` being `false`) will be valid for at least 1 year. This cursor should be persisted for later calls. If transactions are not yet available, this will be an empty string. If `account_id` is included in the request, the returned cursor will reflect updates for that specific account.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public TransactionsSyncResponse hasMore(Boolean hasMore) { + + this.hasMore = hasMore; + return this; + } + + /** + * Represents if more than requested count of transaction updates exist. If true, the additional updates can be fetched by making an additional request with `cursor` set to `next_cursor`. If `has_more` is true, it's important to pull all available pages, to make it less likely for underlying data changes to conflict with pagination. + * @return hasMore + **/ + @ApiModelProperty(required = true, value = "Represents if more than requested count of transaction updates exist. If true, the additional updates can be fetched by making an additional request with `cursor` set to `next_cursor`. If `has_more` is true, it's important to pull all available pages, to make it less likely for underlying data changes to conflict with pagination.") + + public Boolean getHasMore() { + return hasMore; + } + + + public void setHasMore(Boolean hasMore) { + this.hasMore = hasMore; + } + + + public TransactionsSyncResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsSyncResponse transactionsSyncResponse = (TransactionsSyncResponse) o; + return Objects.equals(this.transactionsUpdateStatus, transactionsSyncResponse.transactionsUpdateStatus) && + Objects.equals(this.accounts, transactionsSyncResponse.accounts) && + Objects.equals(this.added, transactionsSyncResponse.added) && + Objects.equals(this.modified, transactionsSyncResponse.modified) && + Objects.equals(this.removed, transactionsSyncResponse.removed) && + Objects.equals(this.nextCursor, transactionsSyncResponse.nextCursor) && + Objects.equals(this.hasMore, transactionsSyncResponse.hasMore) && + Objects.equals(this.requestId, transactionsSyncResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(transactionsUpdateStatus, accounts, added, modified, removed, nextCursor, hasMore, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsSyncResponse {\n"); + sb.append(" transactionsUpdateStatus: ").append(toIndentedString(transactionsUpdateStatus)).append("\n"); + sb.append(" accounts: ").append(toIndentedString(accounts)).append("\n"); + sb.append(" added: ").append(toIndentedString(added)).append("\n"); + sb.append(" modified: ").append(toIndentedString(modified)).append("\n"); + sb.append(" removed: ").append(toIndentedString(removed)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" hasMore: ").append(toIndentedString(hasMore)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsUpdateStatus.java b/src/main/java/com/plaid/client/model/TransactionsUpdateStatus.java new file mode 100644 index 0000000000..94f2715373 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsUpdateStatus.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A description of the update status for transaction pulls of an Item. This field contains the same information provided by transactions webhooks, and may be helpful for webhook troubleshooting or when recovering from missed webhooks. `TRANSACTIONS_UPDATE_STATUS_UNKNOWN`: Unable to fetch transactions update status for Item. `NOT_READY`: The Item is pending transaction pull. `INITIAL_UPDATE_COMPLETE`: Initial pull for the Item is complete, historical pull is pending. `HISTORICAL_UPDATE_COMPLETE`: Both initial and historical pull for Item are complete. + */ +@JsonAdapter(TransactionsUpdateStatus.Adapter.class) +public enum TransactionsUpdateStatus { + + TRANSACTIONS_UPDATE_STATUS_UNKNOWN("TRANSACTIONS_UPDATE_STATUS_UNKNOWN"), + + NOT_READY("NOT_READY"), + + INITIAL_UPDATE_COMPLETE("INITIAL_UPDATE_COMPLETE"), + + HISTORICAL_UPDATE_COMPLETE("HISTORICAL_UPDATE_COMPLETE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransactionsUpdateStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransactionsUpdateStatus fromValue(String value) { + for (TransactionsUpdateStatus b : TransactionsUpdateStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransactionsUpdateStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransactionsUpdateStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransactionsUpdateStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransactionsUpdateStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsUserInsightsGetRequest.java b/src/main/java/com/plaid/client/model/TransactionsUserInsightsGetRequest.java new file mode 100644 index 0000000000..10ef2d97d2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsUserInsightsGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * TransactionsUserInsightsGetRequest defines the request schema for `/beta/transactions/user_insights/v1/get`. + */ +@ApiModel(description = "TransactionsUserInsightsGetRequest defines the request schema for `/beta/transactions/user_insights/v1/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsUserInsightsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + + public TransactionsUserInsightsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransactionsUserInsightsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransactionsUserInsightsGetRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique client-provided `client_user_id` to retrieve insights for. + * @return clientUserId + **/ + @ApiModelProperty(required = true, value = "A unique client-provided `client_user_id` to retrieve insights for.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsUserInsightsGetRequest transactionsUserInsightsGetRequest = (TransactionsUserInsightsGetRequest) o; + return Objects.equals(this.clientId, transactionsUserInsightsGetRequest.clientId) && + Objects.equals(this.secret, transactionsUserInsightsGetRequest.secret) && + Objects.equals(this.clientUserId, transactionsUserInsightsGetRequest.clientUserId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, clientUserId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsUserInsightsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransactionsUserInsightsGetResponse.java b/src/main/java/com/plaid/client/model/TransactionsUserInsightsGetResponse.java new file mode 100644 index 0000000000..4a6c02a839 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransactionsUserInsightsGetResponse.java @@ -0,0 +1,189 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CategoryInsights; +import com.plaid.client.model.CounterpartyInsights; +import com.plaid.client.model.RecurringTransactions; +import com.plaid.client.model.UserDataOverview; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * TransactionsUserInsightsGetResponse defines the response schema for `/beta/transactions/user_insights/v1/get`. + */ +@ApiModel(description = "TransactionsUserInsightsGetResponse defines the response schema for `/beta/transactions/user_insights/v1/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransactionsUserInsightsGetResponse { + public static final String SERIALIZED_NAME_USER_DATA_OVERVIEW = "user_data_overview"; + @SerializedName(SERIALIZED_NAME_USER_DATA_OVERVIEW) + private UserDataOverview userDataOverview; + + public static final String SERIALIZED_NAME_COUNTERPARTY_INSIGHTS = "counterparty_insights"; + @SerializedName(SERIALIZED_NAME_COUNTERPARTY_INSIGHTS) + private CounterpartyInsights counterpartyInsights; + + public static final String SERIALIZED_NAME_CATEGORY_INSIGHTS = "category_insights"; + @SerializedName(SERIALIZED_NAME_CATEGORY_INSIGHTS) + private CategoryInsights categoryInsights; + + public static final String SERIALIZED_NAME_RECURRING_TRANSACTIONS = "recurring_transactions"; + @SerializedName(SERIALIZED_NAME_RECURRING_TRANSACTIONS) + private RecurringTransactions recurringTransactions; + + + public TransactionsUserInsightsGetResponse userDataOverview(UserDataOverview userDataOverview) { + + this.userDataOverview = userDataOverview; + return this; + } + + /** + * Get userDataOverview + * @return userDataOverview + **/ + @ApiModelProperty(required = true, value = "") + + public UserDataOverview getUserDataOverview() { + return userDataOverview; + } + + + public void setUserDataOverview(UserDataOverview userDataOverview) { + this.userDataOverview = userDataOverview; + } + + + public TransactionsUserInsightsGetResponse counterpartyInsights(CounterpartyInsights counterpartyInsights) { + + this.counterpartyInsights = counterpartyInsights; + return this; + } + + /** + * Get counterpartyInsights + * @return counterpartyInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CounterpartyInsights getCounterpartyInsights() { + return counterpartyInsights; + } + + + public void setCounterpartyInsights(CounterpartyInsights counterpartyInsights) { + this.counterpartyInsights = counterpartyInsights; + } + + + public TransactionsUserInsightsGetResponse categoryInsights(CategoryInsights categoryInsights) { + + this.categoryInsights = categoryInsights; + return this; + } + + /** + * Get categoryInsights + * @return categoryInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public CategoryInsights getCategoryInsights() { + return categoryInsights; + } + + + public void setCategoryInsights(CategoryInsights categoryInsights) { + this.categoryInsights = categoryInsights; + } + + + public TransactionsUserInsightsGetResponse recurringTransactions(RecurringTransactions recurringTransactions) { + + this.recurringTransactions = recurringTransactions; + return this; + } + + /** + * Get recurringTransactions + * @return recurringTransactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RecurringTransactions getRecurringTransactions() { + return recurringTransactions; + } + + + public void setRecurringTransactions(RecurringTransactions recurringTransactions) { + this.recurringTransactions = recurringTransactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionsUserInsightsGetResponse transactionsUserInsightsGetResponse = (TransactionsUserInsightsGetResponse) o; + return Objects.equals(this.userDataOverview, transactionsUserInsightsGetResponse.userDataOverview) && + Objects.equals(this.counterpartyInsights, transactionsUserInsightsGetResponse.counterpartyInsights) && + Objects.equals(this.categoryInsights, transactionsUserInsightsGetResponse.categoryInsights) && + Objects.equals(this.recurringTransactions, transactionsUserInsightsGetResponse.recurringTransactions); + } + + @Override + public int hashCode() { + return Objects.hash(userDataOverview, counterpartyInsights, categoryInsights, recurringTransactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransactionsUserInsightsGetResponse {\n"); + sb.append(" userDataOverview: ").append(toIndentedString(userDataOverview)).append("\n"); + sb.append(" counterpartyInsights: ").append(toIndentedString(counterpartyInsights)).append("\n"); + sb.append(" categoryInsights: ").append(toIndentedString(categoryInsights)).append("\n"); + sb.append(" recurringTransactions: ").append(toIndentedString(recurringTransactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Transfer.java b/src/main/java/com/plaid/client/model/Transfer.java new file mode 100644 index 0000000000..a576b2d843 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Transfer.java @@ -0,0 +1,1079 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.TransferAuthorizationGuaranteeDecision; +import com.plaid.client.model.TransferAuthorizationGuaranteeDecisionRationale; +import com.plaid.client.model.TransferCreditFundsSource; +import com.plaid.client.model.TransferExpectedSweepSettlementScheduleItem; +import com.plaid.client.model.TransferFailure; +import com.plaid.client.model.TransferGuaranteeDetails; +import com.plaid.client.model.TransferNetwork; +import com.plaid.client.model.TransferRefund; +import com.plaid.client.model.TransferStatus; +import com.plaid.client.model.TransferSweepStatus; +import com.plaid.client.model.TransferType; +import com.plaid.client.model.TransferUserInResponse; +import com.plaid.client.model.TransferWireDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Represents a transfer within the Transfers API. + */ +@ApiModel(description = "Represents a transfer within the Transfers API.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Transfer { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_AUTHORIZATION_ID = "authorization_id"; + @SerializedName(SERIALIZED_NAME_AUTHORIZATION_ID) + private String authorizationId; + + public static final String SERIALIZED_NAME_ACH_CLASS = "ach_class"; + @SerializedName(SERIALIZED_NAME_ACH_CLASS) + private ACHClass achClass; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TransferType type; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private TransferUserInResponse user; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private TransferStatus status; + + public static final String SERIALIZED_NAME_SWEEP_STATUS = "sweep_status"; + @SerializedName(SERIALIZED_NAME_SWEEP_STATUS) + private TransferSweepStatus sweepStatus; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private TransferNetwork network; + + public static final String SERIALIZED_NAME_WIRE_DETAILS = "wire_details"; + @SerializedName(SERIALIZED_NAME_WIRE_DETAILS) + private TransferWireDetails wireDetails; + + public static final String SERIALIZED_NAME_CANCELLABLE = "cancellable"; + @SerializedName(SERIALIZED_NAME_CANCELLABLE) + private Boolean cancellable; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private TransferFailure failureReason; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private Map metadata = new HashMap<>(); + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_GUARANTEE_DECISION = "guarantee_decision"; + @SerializedName(SERIALIZED_NAME_GUARANTEE_DECISION) + private TransferAuthorizationGuaranteeDecision guaranteeDecision; + + public static final String SERIALIZED_NAME_GUARANTEE_DECISION_RATIONALE = "guarantee_decision_rationale"; + @SerializedName(SERIALIZED_NAME_GUARANTEE_DECISION_RATIONALE) + private TransferAuthorizationGuaranteeDecisionRationale guaranteeDecisionRationale; + + public static final String SERIALIZED_NAME_GUARANTEE_DETAILS = "guarantee_details"; + @SerializedName(SERIALIZED_NAME_GUARANTEE_DETAILS) + private TransferGuaranteeDetails guaranteeDetails; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_STANDARD_RETURN_WINDOW = "standard_return_window"; + @SerializedName(SERIALIZED_NAME_STANDARD_RETURN_WINDOW) + private LocalDate standardReturnWindow; + + public static final String SERIALIZED_NAME_UNAUTHORIZED_RETURN_WINDOW = "unauthorized_return_window"; + @SerializedName(SERIALIZED_NAME_UNAUTHORIZED_RETURN_WINDOW) + private LocalDate unauthorizedReturnWindow; + + public static final String SERIALIZED_NAME_EXPECTED_SETTLEMENT_DATE = "expected_settlement_date"; + @SerializedName(SERIALIZED_NAME_EXPECTED_SETTLEMENT_DATE) + private LocalDate expectedSettlementDate; + + public static final String SERIALIZED_NAME_EXPECTED_FUNDS_AVAILABLE_DATE = "expected_funds_available_date"; + @SerializedName(SERIALIZED_NAME_EXPECTED_FUNDS_AVAILABLE_DATE) + private LocalDate expectedFundsAvailableDate; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_REFUNDS = "refunds"; + @SerializedName(SERIALIZED_NAME_REFUNDS) + private List refunds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_RECURRING_TRANSFER_ID = "recurring_transfer_id"; + @SerializedName(SERIALIZED_NAME_RECURRING_TRANSFER_ID) + private String recurringTransferId; + + public static final String SERIALIZED_NAME_EXPECTED_SWEEP_SETTLEMENT_SCHEDULE = "expected_sweep_settlement_schedule"; + @SerializedName(SERIALIZED_NAME_EXPECTED_SWEEP_SETTLEMENT_SCHEDULE) + private List expectedSweepSettlementSchedule = null; + + public static final String SERIALIZED_NAME_CREDIT_FUNDS_SOURCE = "credit_funds_source"; + @SerializedName(SERIALIZED_NAME_CREDIT_FUNDS_SOURCE) + private TransferCreditFundsSource creditFundsSource; + + public static final String SERIALIZED_NAME_FACILITATOR_FEE = "facilitator_fee"; + @SerializedName(SERIALIZED_NAME_FACILITATOR_FEE) + private String facilitatorFee; + + public static final String SERIALIZED_NAME_NETWORK_TRACE_ID = "network_trace_id"; + @SerializedName(SERIALIZED_NAME_NETWORK_TRACE_ID) + private String networkTraceId; + + + public Transfer id(String id) { + + this.id = id; + return this; + } + + /** + * Plaid's unique identifier for a transfer. + * @return id + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a transfer.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public Transfer authorizationId(String authorizationId) { + + this.authorizationId = authorizationId; + return this; + } + + /** + * Plaid's unique identifier for a transfer authorization. + * @return authorizationId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a transfer authorization.") + + public String getAuthorizationId() { + return authorizationId; + } + + + public void setAuthorizationId(String authorizationId) { + this.authorizationId = authorizationId; + } + + + public Transfer achClass(ACHClass achClass) { + + this.achClass = achClass; + return this; + } + + /** + * Get achClass + * @return achClass + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ACHClass getAchClass() { + return achClass; + } + + + public void setAchClass(ACHClass achClass) { + this.achClass = achClass; + } + + + public Transfer accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` corresponding to the end-user account that will be debited or credited. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `account_id` corresponding to the end-user account that will be debited or credited.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public Transfer fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * The id of the associated funding account, available in the Plaid Dashboard. If present, this indicates which of your business checking accounts will be credited or debited. + * @return fundingAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The id of the associated funding account, available in the Plaid Dashboard. If present, this indicates which of your business checking accounts will be credited or debited.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public Transfer ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * Plaid's unique identifier for a Plaid Ledger Balance. + * @return ledgerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a Plaid Ledger Balance.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public Transfer type(TransferType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public TransferType getType() { + return type; + } + + + public void setType(TransferType type) { + this.type = type; + } + + + public Transfer user(TransferUserInResponse user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public TransferUserInResponse getUser() { + return user; + } + + + public void setUser(TransferUserInResponse user) { + this.user = user; + } + + + public Transfer amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public Transfer description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the transfer. + * @return description + **/ + @ApiModelProperty(required = true, value = "The description of the transfer.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public Transfer created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The datetime when this transfer was created. This will be of the form `2006-01-02T15:04:05Z` + * @return created + **/ + @ApiModelProperty(required = true, value = "The datetime when this transfer was created. This will be of the form `2006-01-02T15:04:05Z`") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public Transfer status(TransferStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public TransferStatus getStatus() { + return status; + } + + + public void setStatus(TransferStatus status) { + this.status = status; + } + + + public Transfer sweepStatus(TransferSweepStatus sweepStatus) { + + this.sweepStatus = sweepStatus; + return this; + } + + /** + * Get sweepStatus + * @return sweepStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferSweepStatus getSweepStatus() { + return sweepStatus; + } + + + public void setSweepStatus(TransferSweepStatus sweepStatus) { + this.sweepStatus = sweepStatus; + } + + + public Transfer network(TransferNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @ApiModelProperty(required = true, value = "") + + public TransferNetwork getNetwork() { + return network; + } + + + public void setNetwork(TransferNetwork network) { + this.network = network; + } + + + public Transfer wireDetails(TransferWireDetails wireDetails) { + + this.wireDetails = wireDetails; + return this; + } + + /** + * Get wireDetails + * @return wireDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferWireDetails getWireDetails() { + return wireDetails; + } + + + public void setWireDetails(TransferWireDetails wireDetails) { + this.wireDetails = wireDetails; + } + + + public Transfer cancellable(Boolean cancellable) { + + this.cancellable = cancellable; + return this; + } + + /** + * When `true`, you can still cancel this transfer. + * @return cancellable + **/ + @ApiModelProperty(required = true, value = "When `true`, you can still cancel this transfer.") + + public Boolean getCancellable() { + return cancellable; + } + + + public void setCancellable(Boolean cancellable) { + this.cancellable = cancellable; + } + + + public Transfer failureReason(TransferFailure failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferFailure getFailureReason() { + return failureReason; + } + + + public void setFailureReason(TransferFailure failureReason) { + this.failureReason = failureReason; + } + + + public Transfer metadata(Map metadata) { + + this.metadata = metadata; + return this; + } + + public Transfer putMetadataItem(String key, String metadataItem) { + this.metadata.put(key, metadataItem); + return this; + } + + /** + * The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters ") + + public Map getMetadata() { + return metadata; + } + + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + + public Transfer originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Plaid's unique identifier for the origination account that was used for this transfer. + * @return originationAccountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the origination account that was used for this transfer.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public Transfer guaranteeDecision(TransferAuthorizationGuaranteeDecision guaranteeDecision) { + + this.guaranteeDecision = guaranteeDecision; + return this; + } + + /** + * Get guaranteeDecision + * @return guaranteeDecision + **/ + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationGuaranteeDecision getGuaranteeDecision() { + return guaranteeDecision; + } + + + public void setGuaranteeDecision(TransferAuthorizationGuaranteeDecision guaranteeDecision) { + this.guaranteeDecision = guaranteeDecision; + } + + + public Transfer guaranteeDecisionRationale(TransferAuthorizationGuaranteeDecisionRationale guaranteeDecisionRationale) { + + this.guaranteeDecisionRationale = guaranteeDecisionRationale; + return this; + } + + /** + * Get guaranteeDecisionRationale + * @return guaranteeDecisionRationale + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationGuaranteeDecisionRationale getGuaranteeDecisionRationale() { + return guaranteeDecisionRationale; + } + + + public void setGuaranteeDecisionRationale(TransferAuthorizationGuaranteeDecisionRationale guaranteeDecisionRationale) { + this.guaranteeDecisionRationale = guaranteeDecisionRationale; + } + + + public Transfer guaranteeDetails(TransferGuaranteeDetails guaranteeDetails) { + + this.guaranteeDetails = guaranteeDetails; + return this; + } + + /** + * Get guaranteeDetails + * @return guaranteeDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferGuaranteeDetails getGuaranteeDetails() { + return guaranteeDetails; + } + + + public void setGuaranteeDetails(TransferGuaranteeDetails guaranteeDetails) { + this.guaranteeDetails = guaranteeDetails; + } + + + public Transfer isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the transfer amount, e.g. \"USD\" + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the transfer amount, e.g. \"USD\"") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public Transfer standardReturnWindow(LocalDate standardReturnWindow) { + + this.standardReturnWindow = standardReturnWindow; + return this; + } + + /** + * The date 3 business days from settlement date indicating the following ACH returns can no longer happen: R01, R02, R03, R29. This will be of the form YYYY-MM-DD. + * @return standardReturnWindow + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date 3 business days from settlement date indicating the following ACH returns can no longer happen: R01, R02, R03, R29. This will be of the form YYYY-MM-DD.") + + public LocalDate getStandardReturnWindow() { + return standardReturnWindow; + } + + + public void setStandardReturnWindow(LocalDate standardReturnWindow) { + this.standardReturnWindow = standardReturnWindow; + } + + + public Transfer unauthorizedReturnWindow(LocalDate unauthorizedReturnWindow) { + + this.unauthorizedReturnWindow = unauthorizedReturnWindow; + return this; + } + + /** + * The date 61 business days from settlement date indicating the following ACH returns can no longer happen: R05, R07, R10, R11, R51, R33, R37, R38, R52, R53. This will be of the form YYYY-MM-DD. + * @return unauthorizedReturnWindow + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date 61 business days from settlement date indicating the following ACH returns can no longer happen: R05, R07, R10, R11, R51, R33, R37, R38, R52, R53. This will be of the form YYYY-MM-DD.") + + public LocalDate getUnauthorizedReturnWindow() { + return unauthorizedReturnWindow; + } + + + public void setUnauthorizedReturnWindow(LocalDate unauthorizedReturnWindow) { + this.unauthorizedReturnWindow = unauthorizedReturnWindow; + } + + + public Transfer expectedSettlementDate(LocalDate expectedSettlementDate) { + + this.expectedSettlementDate = expectedSettlementDate; + return this; + } + + /** + * Deprecated for Plaid Ledger clients, use `expected_funds_available_date` instead. + * @return expectedSettlementDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Deprecated for Plaid Ledger clients, use `expected_funds_available_date` instead.") + + public LocalDate getExpectedSettlementDate() { + return expectedSettlementDate; + } + + + public void setExpectedSettlementDate(LocalDate expectedSettlementDate) { + this.expectedSettlementDate = expectedSettlementDate; + } + + + public Transfer expectedFundsAvailableDate(LocalDate expectedFundsAvailableDate) { + + this.expectedFundsAvailableDate = expectedFundsAvailableDate; + return this; + } + + /** + * The expected date when funds from a transfer will be made available and can be withdrawn from the associated ledger balance, assuming the debit does not return before this date. If the transfer does return before this date, this field will be null. Only applies to debit transfers. This will be of the form YYYY-MM-DD. + * @return expectedFundsAvailableDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The expected date when funds from a transfer will be made available and can be withdrawn from the associated ledger balance, assuming the debit does not return before this date. If the transfer does return before this date, this field will be null. Only applies to debit transfers. This will be of the form YYYY-MM-DD.") + + public LocalDate getExpectedFundsAvailableDate() { + return expectedFundsAvailableDate; + } + + + public void setExpectedFundsAvailableDate(LocalDate expectedFundsAvailableDate) { + this.expectedFundsAvailableDate = expectedFundsAvailableDate; + } + + + public Transfer originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The Plaid client ID that is the originator of this transfer. Only present if created on behalf of another client as a [Platform customer](https://plaid.com/docs/transfer/application/#originators-vs-platforms). + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The Plaid client ID that is the originator of this transfer. Only present if created on behalf of another client as a [Platform customer](https://plaid.com/docs/transfer/application/#originators-vs-platforms).") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public Transfer refunds(List refunds) { + + this.refunds = refunds; + return this; + } + + public Transfer addRefundsItem(TransferRefund refundsItem) { + this.refunds.add(refundsItem); + return this; + } + + /** + * A list of refunds associated with this transfer. + * @return refunds + **/ + @ApiModelProperty(required = true, value = "A list of refunds associated with this transfer.") + + public List getRefunds() { + return refunds; + } + + + public void setRefunds(List refunds) { + this.refunds = refunds; + } + + + public Transfer recurringTransferId(String recurringTransferId) { + + this.recurringTransferId = recurringTransferId; + return this; + } + + /** + * The id of the recurring transfer if this transfer belongs to a recurring transfer. + * @return recurringTransferId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The id of the recurring transfer if this transfer belongs to a recurring transfer.") + + public String getRecurringTransferId() { + return recurringTransferId; + } + + + public void setRecurringTransferId(String recurringTransferId) { + this.recurringTransferId = recurringTransferId; + } + + + public Transfer expectedSweepSettlementSchedule(List expectedSweepSettlementSchedule) { + + this.expectedSweepSettlementSchedule = expectedSweepSettlementSchedule; + return this; + } + + public Transfer addExpectedSweepSettlementScheduleItem(TransferExpectedSweepSettlementScheduleItem expectedSweepSettlementScheduleItem) { + if (this.expectedSweepSettlementSchedule == null) { + this.expectedSweepSettlementSchedule = new ArrayList<>(); + } + this.expectedSweepSettlementSchedule.add(expectedSweepSettlementScheduleItem); + return this; + } + + /** + * The expected sweep settlement schedule of this transfer, assuming this transfer is not `returned`. Only applies to ACH debit transfers. + * @return expectedSweepSettlementSchedule + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The expected sweep settlement schedule of this transfer, assuming this transfer is not `returned`. Only applies to ACH debit transfers.") + + public List getExpectedSweepSettlementSchedule() { + return expectedSweepSettlementSchedule; + } + + + public void setExpectedSweepSettlementSchedule(List expectedSweepSettlementSchedule) { + this.expectedSweepSettlementSchedule = expectedSweepSettlementSchedule; + } + + + public Transfer creditFundsSource(TransferCreditFundsSource creditFundsSource) { + + this.creditFundsSource = creditFundsSource; + return this; + } + + /** + * Get creditFundsSource + * @return creditFundsSource + **/ + @ApiModelProperty(required = true, value = "") + + public TransferCreditFundsSource getCreditFundsSource() { + return creditFundsSource; + } + + + public void setCreditFundsSource(TransferCreditFundsSource creditFundsSource) { + this.creditFundsSource = creditFundsSource; + } + + + public Transfer facilitatorFee(String facilitatorFee) { + + this.facilitatorFee = facilitatorFee; + return this; + } + + /** + * The amount to deduct from `transfer.amount` and distribute to the platform's Ledger balance as a facilitator fee (decimal string with two digits of precision e.g. \"10.00\"). The remainder will go to the end-customer's Ledger balance. This must be value greater than 0 and less than or equal to the `transfer.amount`. + * @return facilitatorFee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount to deduct from `transfer.amount` and distribute to the platform's Ledger balance as a facilitator fee (decimal string with two digits of precision e.g. \"10.00\"). The remainder will go to the end-customer's Ledger balance. This must be value greater than 0 and less than or equal to the `transfer.amount`.") + + public String getFacilitatorFee() { + return facilitatorFee; + } + + + public void setFacilitatorFee(String facilitatorFee) { + this.facilitatorFee = facilitatorFee; + } + + + public Transfer networkTraceId(String networkTraceId) { + + this.networkTraceId = networkTraceId; + return this; + } + + /** + * The trace identifier for the transfer based on its network. This will only be set after the transfer has posted. For `ach` or `same-day-ach` transfers, this is the ACH trace number. For `rtp` transfers, this is the Transaction Identification number. For `wire` transfers, this is the IMAD (Input Message Accountability Data) number. + * @return networkTraceId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The trace identifier for the transfer based on its network. This will only be set after the transfer has posted. For `ach` or `same-day-ach` transfers, this is the ACH trace number. For `rtp` transfers, this is the Transaction Identification number. For `wire` transfers, this is the IMAD (Input Message Accountability Data) number.") + + public String getNetworkTraceId() { + return networkTraceId; + } + + + public void setNetworkTraceId(String networkTraceId) { + this.networkTraceId = networkTraceId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Transfer transfer = (Transfer) o; + return Objects.equals(this.id, transfer.id) && + Objects.equals(this.authorizationId, transfer.authorizationId) && + Objects.equals(this.achClass, transfer.achClass) && + Objects.equals(this.accountId, transfer.accountId) && + Objects.equals(this.fundingAccountId, transfer.fundingAccountId) && + Objects.equals(this.ledgerId, transfer.ledgerId) && + Objects.equals(this.type, transfer.type) && + Objects.equals(this.user, transfer.user) && + Objects.equals(this.amount, transfer.amount) && + Objects.equals(this.description, transfer.description) && + Objects.equals(this.created, transfer.created) && + Objects.equals(this.status, transfer.status) && + Objects.equals(this.sweepStatus, transfer.sweepStatus) && + Objects.equals(this.network, transfer.network) && + Objects.equals(this.wireDetails, transfer.wireDetails) && + Objects.equals(this.cancellable, transfer.cancellable) && + Objects.equals(this.failureReason, transfer.failureReason) && + Objects.equals(this.metadata, transfer.metadata) && + Objects.equals(this.originationAccountId, transfer.originationAccountId) && + Objects.equals(this.guaranteeDecision, transfer.guaranteeDecision) && + Objects.equals(this.guaranteeDecisionRationale, transfer.guaranteeDecisionRationale) && + Objects.equals(this.guaranteeDetails, transfer.guaranteeDetails) && + Objects.equals(this.isoCurrencyCode, transfer.isoCurrencyCode) && + Objects.equals(this.standardReturnWindow, transfer.standardReturnWindow) && + Objects.equals(this.unauthorizedReturnWindow, transfer.unauthorizedReturnWindow) && + Objects.equals(this.expectedSettlementDate, transfer.expectedSettlementDate) && + Objects.equals(this.expectedFundsAvailableDate, transfer.expectedFundsAvailableDate) && + Objects.equals(this.originatorClientId, transfer.originatorClientId) && + Objects.equals(this.refunds, transfer.refunds) && + Objects.equals(this.recurringTransferId, transfer.recurringTransferId) && + Objects.equals(this.expectedSweepSettlementSchedule, transfer.expectedSweepSettlementSchedule) && + Objects.equals(this.creditFundsSource, transfer.creditFundsSource) && + Objects.equals(this.facilitatorFee, transfer.facilitatorFee) && + Objects.equals(this.networkTraceId, transfer.networkTraceId); + } + + @Override + public int hashCode() { + return Objects.hash(id, authorizationId, achClass, accountId, fundingAccountId, ledgerId, type, user, amount, description, created, status, sweepStatus, network, wireDetails, cancellable, failureReason, metadata, originationAccountId, guaranteeDecision, guaranteeDecisionRationale, guaranteeDetails, isoCurrencyCode, standardReturnWindow, unauthorizedReturnWindow, expectedSettlementDate, expectedFundsAvailableDate, originatorClientId, refunds, recurringTransferId, expectedSweepSettlementSchedule, creditFundsSource, facilitatorFee, networkTraceId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Transfer {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" authorizationId: ").append(toIndentedString(authorizationId)).append("\n"); + sb.append(" achClass: ").append(toIndentedString(achClass)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" sweepStatus: ").append(toIndentedString(sweepStatus)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" wireDetails: ").append(toIndentedString(wireDetails)).append("\n"); + sb.append(" cancellable: ").append(toIndentedString(cancellable)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" guaranteeDecision: ").append(toIndentedString(guaranteeDecision)).append("\n"); + sb.append(" guaranteeDecisionRationale: ").append(toIndentedString(guaranteeDecisionRationale)).append("\n"); + sb.append(" guaranteeDetails: ").append(toIndentedString(guaranteeDetails)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" standardReturnWindow: ").append(toIndentedString(standardReturnWindow)).append("\n"); + sb.append(" unauthorizedReturnWindow: ").append(toIndentedString(unauthorizedReturnWindow)).append("\n"); + sb.append(" expectedSettlementDate: ").append(toIndentedString(expectedSettlementDate)).append("\n"); + sb.append(" expectedFundsAvailableDate: ").append(toIndentedString(expectedFundsAvailableDate)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" refunds: ").append(toIndentedString(refunds)).append("\n"); + sb.append(" recurringTransferId: ").append(toIndentedString(recurringTransferId)).append("\n"); + sb.append(" expectedSweepSettlementSchedule: ").append(toIndentedString(expectedSweepSettlementSchedule)).append("\n"); + sb.append(" creditFundsSource: ").append(toIndentedString(creditFundsSource)).append("\n"); + sb.append(" facilitatorFee: ").append(toIndentedString(facilitatorFee)).append("\n"); + sb.append(" networkTraceId: ").append(toIndentedString(networkTraceId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferACHNetwork.java b/src/main/java/com/plaid/client/model/TransferACHNetwork.java new file mode 100644 index 0000000000..1d5f8ca592 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferACHNetwork.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The ACH networks used for the funds flow. For requests submitted as either `ach` or `same-day-ach` the cutoff for Same Day ACH is 3:00 PM Eastern Time and the cutoff for Standard ACH transfers is 8:30 PM Eastern Time. It is recommended to submit a request at least 15 minutes before the cutoff time in order to ensure that it will be processed before the cutoff. Any request that is indicated as `same-day-ach` and that misses the Same Day ACH cutoff, but is submitted in time for the Standard ACH cutoff, will be sent over Standard ACH rails and will not incur same-day charges. + */ +@JsonAdapter(TransferACHNetwork.Adapter.class) +public enum TransferACHNetwork { + + ACH("ach"), + + SAME_DAY_ACH("same-day-ach"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferACHNetwork(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferACHNetwork fromValue(String value) { + for (TransferACHNetwork b : TransferACHNetwork.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferACHNetwork.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferACHNetwork enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferACHNetwork read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferACHNetwork.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorization.java b/src/main/java/com/plaid/client/model/TransferAuthorization.java new file mode 100644 index 0000000000..8f4b1925ae --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorization.java @@ -0,0 +1,334 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AuthorizationGuaranteeDetails; +import com.plaid.client.model.TransferAuthorizationDecision; +import com.plaid.client.model.TransferAuthorizationDecisionRationale; +import com.plaid.client.model.TransferAuthorizationGuaranteeDecision; +import com.plaid.client.model.TransferAuthorizationGuaranteeDecisionRationale; +import com.plaid.client.model.TransferAuthorizationPaymentRisk; +import com.plaid.client.model.TransferAuthorizationProposedTransfer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Contains the authorization decision for a proposed transfer. + */ +@ApiModel(description = "Contains the authorization decision for a proposed transfer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferAuthorization { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_DECISION = "decision"; + @SerializedName(SERIALIZED_NAME_DECISION) + private TransferAuthorizationDecision decision; + + public static final String SERIALIZED_NAME_DECISION_RATIONALE = "decision_rationale"; + @SerializedName(SERIALIZED_NAME_DECISION_RATIONALE) + private TransferAuthorizationDecisionRationale decisionRationale; + + public static final String SERIALIZED_NAME_GUARANTEE_DECISION = "guarantee_decision"; + @SerializedName(SERIALIZED_NAME_GUARANTEE_DECISION) + private TransferAuthorizationGuaranteeDecision guaranteeDecision; + + public static final String SERIALIZED_NAME_GUARANTEE_DECISION_RATIONALE = "guarantee_decision_rationale"; + @SerializedName(SERIALIZED_NAME_GUARANTEE_DECISION_RATIONALE) + private TransferAuthorizationGuaranteeDecisionRationale guaranteeDecisionRationale; + + public static final String SERIALIZED_NAME_GUARANTEE_DETAILS = "guarantee_details"; + @SerializedName(SERIALIZED_NAME_GUARANTEE_DETAILS) + private AuthorizationGuaranteeDetails guaranteeDetails; + + public static final String SERIALIZED_NAME_PAYMENT_RISK = "payment_risk"; + @SerializedName(SERIALIZED_NAME_PAYMENT_RISK) + private TransferAuthorizationPaymentRisk paymentRisk; + + public static final String SERIALIZED_NAME_PROPOSED_TRANSFER = "proposed_transfer"; + @SerializedName(SERIALIZED_NAME_PROPOSED_TRANSFER) + private TransferAuthorizationProposedTransfer proposedTransfer; + + + public TransferAuthorization id(String id) { + + this.id = id; + return this; + } + + /** + * Plaid's unique identifier for a transfer authorization. + * @return id + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a transfer authorization.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public TransferAuthorization created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The datetime representing when the authorization was created, in the format `2006-01-02T15:04:05Z`. + * @return created + **/ + @ApiModelProperty(required = true, value = "The datetime representing when the authorization was created, in the format `2006-01-02T15:04:05Z`.") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public TransferAuthorization decision(TransferAuthorizationDecision decision) { + + this.decision = decision; + return this; + } + + /** + * Get decision + * @return decision + **/ + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationDecision getDecision() { + return decision; + } + + + public void setDecision(TransferAuthorizationDecision decision) { + this.decision = decision; + } + + + public TransferAuthorization decisionRationale(TransferAuthorizationDecisionRationale decisionRationale) { + + this.decisionRationale = decisionRationale; + return this; + } + + /** + * Get decisionRationale + * @return decisionRationale + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationDecisionRationale getDecisionRationale() { + return decisionRationale; + } + + + public void setDecisionRationale(TransferAuthorizationDecisionRationale decisionRationale) { + this.decisionRationale = decisionRationale; + } + + + public TransferAuthorization guaranteeDecision(TransferAuthorizationGuaranteeDecision guaranteeDecision) { + + this.guaranteeDecision = guaranteeDecision; + return this; + } + + /** + * Get guaranteeDecision + * @return guaranteeDecision + **/ + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationGuaranteeDecision getGuaranteeDecision() { + return guaranteeDecision; + } + + + public void setGuaranteeDecision(TransferAuthorizationGuaranteeDecision guaranteeDecision) { + this.guaranteeDecision = guaranteeDecision; + } + + + public TransferAuthorization guaranteeDecisionRationale(TransferAuthorizationGuaranteeDecisionRationale guaranteeDecisionRationale) { + + this.guaranteeDecisionRationale = guaranteeDecisionRationale; + return this; + } + + /** + * Get guaranteeDecisionRationale + * @return guaranteeDecisionRationale + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationGuaranteeDecisionRationale getGuaranteeDecisionRationale() { + return guaranteeDecisionRationale; + } + + + public void setGuaranteeDecisionRationale(TransferAuthorizationGuaranteeDecisionRationale guaranteeDecisionRationale) { + this.guaranteeDecisionRationale = guaranteeDecisionRationale; + } + + + public TransferAuthorization guaranteeDetails(AuthorizationGuaranteeDetails guaranteeDetails) { + + this.guaranteeDetails = guaranteeDetails; + return this; + } + + /** + * Get guaranteeDetails + * @return guaranteeDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public AuthorizationGuaranteeDetails getGuaranteeDetails() { + return guaranteeDetails; + } + + + public void setGuaranteeDetails(AuthorizationGuaranteeDetails guaranteeDetails) { + this.guaranteeDetails = guaranteeDetails; + } + + + public TransferAuthorization paymentRisk(TransferAuthorizationPaymentRisk paymentRisk) { + + this.paymentRisk = paymentRisk; + return this; + } + + /** + * Get paymentRisk + * @return paymentRisk + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationPaymentRisk getPaymentRisk() { + return paymentRisk; + } + + + public void setPaymentRisk(TransferAuthorizationPaymentRisk paymentRisk) { + this.paymentRisk = paymentRisk; + } + + + public TransferAuthorization proposedTransfer(TransferAuthorizationProposedTransfer proposedTransfer) { + + this.proposedTransfer = proposedTransfer; + return this; + } + + /** + * Get proposedTransfer + * @return proposedTransfer + **/ + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationProposedTransfer getProposedTransfer() { + return proposedTransfer; + } + + + public void setProposedTransfer(TransferAuthorizationProposedTransfer proposedTransfer) { + this.proposedTransfer = proposedTransfer; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferAuthorization transferAuthorization = (TransferAuthorization) o; + return Objects.equals(this.id, transferAuthorization.id) && + Objects.equals(this.created, transferAuthorization.created) && + Objects.equals(this.decision, transferAuthorization.decision) && + Objects.equals(this.decisionRationale, transferAuthorization.decisionRationale) && + Objects.equals(this.guaranteeDecision, transferAuthorization.guaranteeDecision) && + Objects.equals(this.guaranteeDecisionRationale, transferAuthorization.guaranteeDecisionRationale) && + Objects.equals(this.guaranteeDetails, transferAuthorization.guaranteeDetails) && + Objects.equals(this.paymentRisk, transferAuthorization.paymentRisk) && + Objects.equals(this.proposedTransfer, transferAuthorization.proposedTransfer); + } + + @Override + public int hashCode() { + return Objects.hash(id, created, decision, decisionRationale, guaranteeDecision, guaranteeDecisionRationale, guaranteeDetails, paymentRisk, proposedTransfer); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferAuthorization {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" decision: ").append(toIndentedString(decision)).append("\n"); + sb.append(" decisionRationale: ").append(toIndentedString(decisionRationale)).append("\n"); + sb.append(" guaranteeDecision: ").append(toIndentedString(guaranteeDecision)).append("\n"); + sb.append(" guaranteeDecisionRationale: ").append(toIndentedString(guaranteeDecisionRationale)).append("\n"); + sb.append(" guaranteeDetails: ").append(toIndentedString(guaranteeDetails)).append("\n"); + sb.append(" paymentRisk: ").append(toIndentedString(paymentRisk)).append("\n"); + sb.append(" proposedTransfer: ").append(toIndentedString(proposedTransfer)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationCancelRequest.java b/src/main/java/com/plaid/client/model/TransferAuthorizationCancelRequest.java new file mode 100644 index 0000000000..3f481f5089 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationCancelRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/authorization/cancel` + */ +@ApiModel(description = "Defines the request schema for `/transfer/authorization/cancel`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferAuthorizationCancelRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_AUTHORIZATION_ID = "authorization_id"; + @SerializedName(SERIALIZED_NAME_AUTHORIZATION_ID) + private String authorizationId; + + + public TransferAuthorizationCancelRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferAuthorizationCancelRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferAuthorizationCancelRequest authorizationId(String authorizationId) { + + this.authorizationId = authorizationId; + return this; + } + + /** + * Plaid's unique identifier for a transfer authorization. + * @return authorizationId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a transfer authorization.") + + public String getAuthorizationId() { + return authorizationId; + } + + + public void setAuthorizationId(String authorizationId) { + this.authorizationId = authorizationId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferAuthorizationCancelRequest transferAuthorizationCancelRequest = (TransferAuthorizationCancelRequest) o; + return Objects.equals(this.clientId, transferAuthorizationCancelRequest.clientId) && + Objects.equals(this.secret, transferAuthorizationCancelRequest.secret) && + Objects.equals(this.authorizationId, transferAuthorizationCancelRequest.authorizationId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, authorizationId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferAuthorizationCancelRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" authorizationId: ").append(toIndentedString(authorizationId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationCancelResponse.java b/src/main/java/com/plaid/client/model/TransferAuthorizationCancelResponse.java new file mode 100644 index 0000000000..a2771a409e --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationCancelResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/authorization/cancel` + */ +@ApiModel(description = "Defines the response schema for `/transfer/authorization/cancel`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferAuthorizationCancelResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferAuthorizationCancelResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferAuthorizationCancelResponse transferAuthorizationCancelResponse = (TransferAuthorizationCancelResponse) o; + return Objects.equals(this.requestId, transferAuthorizationCancelResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferAuthorizationCancelResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationCreateRequest.java b/src/main/java/com/plaid/client/model/TransferAuthorizationCreateRequest.java new file mode 100644 index 0000000000..9bef0a66a2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationCreateRequest.java @@ -0,0 +1,836 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.TransferAuthorizationDevice; +import com.plaid.client.model.TransferAuthorizationUserInRequest; +import com.plaid.client.model.TransferCreditFundsSource; +import com.plaid.client.model.TransferNetwork; +import com.plaid.client.model.TransferType; +import com.plaid.client.model.TransferWireDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Defines the request schema for `/transfer/authorization/create` + */ +@ApiModel(description = "Defines the request schema for `/transfer/authorization/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferAuthorizationCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN = "payment_profile_token"; + @SerializedName(SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN) + private String paymentProfileToken; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TransferType type; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private TransferNetwork network; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_ACH_CLASS = "ach_class"; + @SerializedName(SERIALIZED_NAME_ACH_CLASS) + private ACHClass achClass; + + public static final String SERIALIZED_NAME_WIRE_DETAILS = "wire_details"; + @SerializedName(SERIALIZED_NAME_WIRE_DETAILS) + private TransferWireDetails wireDetails; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private TransferAuthorizationUserInRequest user; + + public static final String SERIALIZED_NAME_DEVICE = "device"; + @SerializedName(SERIALIZED_NAME_DEVICE) + private TransferAuthorizationDevice device; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_IDEMPOTENCY_KEY = "idempotency_key"; + @SerializedName(SERIALIZED_NAME_IDEMPOTENCY_KEY) + private String idempotencyKey; + + public static final String SERIALIZED_NAME_USER_PRESENT = "user_present"; + @SerializedName(SERIALIZED_NAME_USER_PRESENT) + private Boolean userPresent; + + public static final String SERIALIZED_NAME_WITH_GUARANTEE = "with_guarantee"; + @SerializedName(SERIALIZED_NAME_WITH_GUARANTEE) + private Boolean withGuarantee = true; + + public static final String SERIALIZED_NAME_REQUEST_GUARANTEE = "request_guarantee"; + @SerializedName(SERIALIZED_NAME_REQUEST_GUARANTEE) + private Boolean requestGuarantee; + + public static final String SERIALIZED_NAME_BEACON_SESSION_ID = "beacon_session_id"; + @SerializedName(SERIALIZED_NAME_BEACON_SESSION_ID) + private String beaconSessionId; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_CREDIT_FUNDS_SOURCE = "credit_funds_source"; + @SerializedName(SERIALIZED_NAME_CREDIT_FUNDS_SOURCE) + private TransferCreditFundsSource creditFundsSource; + + public static final String SERIALIZED_NAME_TEST_CLOCK_ID = "test_clock_id"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK_ID) + private String testClockId; + + public static final String SERIALIZED_NAME_RULESET_KEY = "ruleset_key"; + @SerializedName(SERIALIZED_NAME_RULESET_KEY) + private String rulesetKey; + + public static final String SERIALIZED_NAME_CUSTOM_ATTRIBUTES = "custom_attributes"; + @SerializedName(SERIALIZED_NAME_CUSTOM_ATTRIBUTES) + private Map customAttributes = null; + + + public TransferAuthorizationCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferAuthorizationCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferAuthorizationCreateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The Plaid `access_token` for the account that will be debited or credited. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The Plaid `access_token` for the account that will be debited or credited.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransferAuthorizationCreateRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` corresponding to the end-user account that will be debited or credited. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` corresponding to the end-user account that will be debited or credited.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransferAuthorizationCreateRequest fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * Specify the account used to fund the transfer. Should be specified if using legacy funding methods only. If using Plaid Ledger, leave this field blank. Customers can find a list of `funding_account_id`s in the Accounts page of your Plaid Dashboard, under the \"Account ID\" column. If this field is left blank and you are using legacy funding methods, this will default to the default `funding_account_id` specified during onboarding. Otherwise, Plaid Ledger will be used. + * @return fundingAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify the account used to fund the transfer. Should be specified if using legacy funding methods only. If using Plaid Ledger, leave this field blank. Customers can find a list of `funding_account_id`s in the Accounts page of your Plaid Dashboard, under the \"Account ID\" column. If this field is left blank and you are using legacy funding methods, this will default to the default `funding_account_id` specified during onboarding. Otherwise, Plaid Ledger will be used.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public TransferAuthorizationCreateRequest ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * Specify which ledger balance should be used to fund the transfer. You can find a list of `ledger_id`s in the Accounts page of your Plaid Dashboard. If this field is left blank, this will default to the id of the default ledger balance. + * @return ledgerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify which ledger balance should be used to fund the transfer. You can find a list of `ledger_id`s in the Accounts page of your Plaid Dashboard. If this field is left blank, this will default to the id of the default ledger balance.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public TransferAuthorizationCreateRequest paymentProfileToken(String paymentProfileToken) { + + this.paymentProfileToken = paymentProfileToken; + return this; + } + + /** + * The payment profile token associated with the Payment Profile that will be debited or credited. Required if not using `access_token`. + * @return paymentProfileToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The payment profile token associated with the Payment Profile that will be debited or credited. Required if not using `access_token`.") + + public String getPaymentProfileToken() { + return paymentProfileToken; + } + + + public void setPaymentProfileToken(String paymentProfileToken) { + this.paymentProfileToken = paymentProfileToken; + } + + + public TransferAuthorizationCreateRequest type(TransferType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public TransferType getType() { + return type; + } + + + public void setType(TransferType type) { + this.type = type; + } + + + public TransferAuthorizationCreateRequest network(TransferNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @ApiModelProperty(required = true, value = "") + + public TransferNetwork getNetwork() { + return network; + } + + + public void setNetwork(TransferNetwork network) { + this.network = network; + } + + + public TransferAuthorizationCreateRequest amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferAuthorizationCreateRequest achClass(ACHClass achClass) { + + this.achClass = achClass; + return this; + } + + /** + * Get achClass + * @return achClass + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ACHClass getAchClass() { + return achClass; + } + + + public void setAchClass(ACHClass achClass) { + this.achClass = achClass; + } + + + public TransferAuthorizationCreateRequest wireDetails(TransferWireDetails wireDetails) { + + this.wireDetails = wireDetails; + return this; + } + + /** + * Get wireDetails + * @return wireDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferWireDetails getWireDetails() { + return wireDetails; + } + + + public void setWireDetails(TransferWireDetails wireDetails) { + this.wireDetails = wireDetails; + } + + + public TransferAuthorizationCreateRequest user(TransferAuthorizationUserInRequest user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationUserInRequest getUser() { + return user; + } + + + public void setUser(TransferAuthorizationUserInRequest user) { + this.user = user; + } + + + public TransferAuthorizationCreateRequest device(TransferAuthorizationDevice device) { + + this.device = device; + return this; + } + + /** + * Get device + * @return device + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferAuthorizationDevice getDevice() { + return device; + } + + + public void setDevice(TransferAuthorizationDevice device) { + this.device = device; + } + + + public TransferAuthorizationCreateRequest originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Plaid's unique identifier for the origination account for this authorization. If not specified, the default account will be used. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for the origination account for this authorization. If not specified, the default account will be used.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public TransferAuthorizationCreateRequest isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the transfer amount. The default value is \"USD\". + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The currency of the transfer amount. The default value is \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TransferAuthorizationCreateRequest idempotencyKey(String idempotencyKey) { + + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * A random key provided by the client, per unique authorization, which expires after 48 hours. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create an authorization fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single authorization is created. Idempotency does not apply to authorizations whose decisions are `user_action_required`. Therefore you may re-attempt the authorization after completing the required user action without changing `idempotency_key`. This idempotency key expires after 48 hours, after which the same key can be reused. Failure to provide this key may result in duplicate charges. + * @return idempotencyKey + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A random key provided by the client, per unique authorization, which expires after 48 hours. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create an authorization fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single authorization is created. Idempotency does not apply to authorizations whose decisions are `user_action_required`. Therefore you may re-attempt the authorization after completing the required user action without changing `idempotency_key`. This idempotency key expires after 48 hours, after which the same key can be reused. Failure to provide this key may result in duplicate charges.") + + public String getIdempotencyKey() { + return idempotencyKey; + } + + + public void setIdempotencyKey(String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + } + + + public TransferAuthorizationCreateRequest userPresent(Boolean userPresent) { + + this.userPresent = userPresent; + return this; + } + + /** + * If the end user is initiating the specific transfer themselves via an interactive UI, this should be `true`; for automatic recurring payments where the end user is not actually initiating each individual transfer, it should be `false`. This field is not currently used and is present to support planned future functionality. + * @return userPresent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If the end user is initiating the specific transfer themselves via an interactive UI, this should be `true`; for automatic recurring payments where the end user is not actually initiating each individual transfer, it should be `false`. This field is not currently used and is present to support planned future functionality.") + + public Boolean getUserPresent() { + return userPresent; + } + + + public void setUserPresent(Boolean userPresent) { + this.userPresent = userPresent; + } + + + public TransferAuthorizationCreateRequest withGuarantee(Boolean withGuarantee) { + + this.withGuarantee = withGuarantee; + return this; + } + + /** + * If set to `false`, Plaid will not offer a `guarantee_decision` for this request (Guarantee customers only). This field is deprecated in favor of `guarantee`. + * @return withGuarantee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If set to `false`, Plaid will not offer a `guarantee_decision` for this request (Guarantee customers only). This field is deprecated in favor of `guarantee`.") + + public Boolean getWithGuarantee() { + return withGuarantee; + } + + + public void setWithGuarantee(Boolean withGuarantee) { + this.withGuarantee = withGuarantee; + } + + + public TransferAuthorizationCreateRequest requestGuarantee(Boolean requestGuarantee) { + + this.requestGuarantee = requestGuarantee; + return this; + } + + /** + * Indicates whether the transfer should be evaluated for guarantee coverage. When set to `true`, Plaid assesses the transfer for guarantee coverage and returns a decision in the authorization response. When omitted or set to `false`, the authorization is evaluated without guarantee coverage. + * @return requestGuarantee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates whether the transfer should be evaluated for guarantee coverage. When set to `true`, Plaid assesses the transfer for guarantee coverage and returns a decision in the authorization response. When omitted or set to `false`, the authorization is evaluated without guarantee coverage.") + + public Boolean getRequestGuarantee() { + return requestGuarantee; + } + + + public void setRequestGuarantee(Boolean requestGuarantee) { + this.requestGuarantee = requestGuarantee; + } + + + public TransferAuthorizationCreateRequest beaconSessionId(String beaconSessionId) { + + this.beaconSessionId = beaconSessionId; + return this; + } + + /** + * The unique identifier returned by Plaid's [beacon](https://plaid.com/docs/transfer/guarantee/#using-a-beacon) when it is run on your webpage. + * @return beaconSessionId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unique identifier returned by Plaid's [beacon](https://plaid.com/docs/transfer/guarantee/#using-a-beacon) when it is run on your webpage.") + + public String getBeaconSessionId() { + return beaconSessionId; + } + + + public void setBeaconSessionId(String beaconSessionId) { + this.beaconSessionId = beaconSessionId; + } + + + public TransferAuthorizationCreateRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The Plaid client ID that is the originator of this transfer. Only needed if creating transfers on behalf of another client as a [Platform customer](https://plaid.com/docs/transfer/application/#originators-vs-platforms). + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid client ID that is the originator of this transfer. Only needed if creating transfers on behalf of another client as a [Platform customer](https://plaid.com/docs/transfer/application/#originators-vs-platforms).") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferAuthorizationCreateRequest creditFundsSource(TransferCreditFundsSource creditFundsSource) { + + this.creditFundsSource = creditFundsSource; + return this; + } + + /** + * Get creditFundsSource + * @return creditFundsSource + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferCreditFundsSource getCreditFundsSource() { + return creditFundsSource; + } + + + public void setCreditFundsSource(TransferCreditFundsSource creditFundsSource) { + this.creditFundsSource = creditFundsSource; + } + + + public TransferAuthorizationCreateRequest testClockId(String testClockId) { + + this.testClockId = testClockId; + return this; + } + + /** + * Plaid's unique identifier for a test clock. This field may only be used when using `sandbox` environment. If provided, the `authorization` is created at the `virtual_time` on the provided test clock. + * @return testClockId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a test clock. This field may only be used when using `sandbox` environment. If provided, the `authorization` is created at the `virtual_time` on the provided test clock.") + + public String getTestClockId() { + return testClockId; + } + + + public void setTestClockId(String testClockId) { + this.testClockId = testClockId; + } + + + public TransferAuthorizationCreateRequest rulesetKey(String rulesetKey) { + + this.rulesetKey = rulesetKey; + return this; + } + + /** + * The key of the Ruleset for the transaction. If not provided, Signal will use the `default` ruleset. + * @return rulesetKey + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The key of the Ruleset for the transaction. If not provided, Signal will use the `default` ruleset.") + + public String getRulesetKey() { + return rulesetKey; + } + + + public void setRulesetKey(String rulesetKey) { + this.rulesetKey = rulesetKey; + } + + + public TransferAuthorizationCreateRequest customAttributes(Map customAttributes) { + + this.customAttributes = customAttributes; + return this; + } + + public TransferAuthorizationCreateRequest putCustomAttributesItem(String key, String customAttributesItem) { + if (this.customAttributes == null) { + this.customAttributes = new HashMap<>(); + } + this.customAttributes.put(key, customAttributesItem); + return this; + } + + /** + * A free-form map of client-supplied risk-relevant context for this authorization. Plaid may use these attributes to inform future versions of our risk models. The following limitations apply: Keys must match the regular expression `^[A-Za-z0-9_.-]{1,40}$` Values must be strings (no nested objects, arrays, numbers, or booleans allowed; stringify non-string values client-side) Maximum of 50 key/value pairs Maximum value length of 500 characters Do not include personally identifiable information or other sensitive data. + * @return customAttributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A free-form map of client-supplied risk-relevant context for this authorization. Plaid may use these attributes to inform future versions of our risk models. The following limitations apply: Keys must match the regular expression `^[A-Za-z0-9_.-]{1,40}$` Values must be strings (no nested objects, arrays, numbers, or booleans allowed; stringify non-string values client-side) Maximum of 50 key/value pairs Maximum value length of 500 characters Do not include personally identifiable information or other sensitive data. ") + + public Map getCustomAttributes() { + return customAttributes; + } + + + public void setCustomAttributes(Map customAttributes) { + this.customAttributes = customAttributes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferAuthorizationCreateRequest transferAuthorizationCreateRequest = (TransferAuthorizationCreateRequest) o; + return Objects.equals(this.clientId, transferAuthorizationCreateRequest.clientId) && + Objects.equals(this.secret, transferAuthorizationCreateRequest.secret) && + Objects.equals(this.accessToken, transferAuthorizationCreateRequest.accessToken) && + Objects.equals(this.accountId, transferAuthorizationCreateRequest.accountId) && + Objects.equals(this.fundingAccountId, transferAuthorizationCreateRequest.fundingAccountId) && + Objects.equals(this.ledgerId, transferAuthorizationCreateRequest.ledgerId) && + Objects.equals(this.paymentProfileToken, transferAuthorizationCreateRequest.paymentProfileToken) && + Objects.equals(this.type, transferAuthorizationCreateRequest.type) && + Objects.equals(this.network, transferAuthorizationCreateRequest.network) && + Objects.equals(this.amount, transferAuthorizationCreateRequest.amount) && + Objects.equals(this.achClass, transferAuthorizationCreateRequest.achClass) && + Objects.equals(this.wireDetails, transferAuthorizationCreateRequest.wireDetails) && + Objects.equals(this.user, transferAuthorizationCreateRequest.user) && + Objects.equals(this.device, transferAuthorizationCreateRequest.device) && + Objects.equals(this.originationAccountId, transferAuthorizationCreateRequest.originationAccountId) && + Objects.equals(this.isoCurrencyCode, transferAuthorizationCreateRequest.isoCurrencyCode) && + Objects.equals(this.idempotencyKey, transferAuthorizationCreateRequest.idempotencyKey) && + Objects.equals(this.userPresent, transferAuthorizationCreateRequest.userPresent) && + Objects.equals(this.withGuarantee, transferAuthorizationCreateRequest.withGuarantee) && + Objects.equals(this.requestGuarantee, transferAuthorizationCreateRequest.requestGuarantee) && + Objects.equals(this.beaconSessionId, transferAuthorizationCreateRequest.beaconSessionId) && + Objects.equals(this.originatorClientId, transferAuthorizationCreateRequest.originatorClientId) && + Objects.equals(this.creditFundsSource, transferAuthorizationCreateRequest.creditFundsSource) && + Objects.equals(this.testClockId, transferAuthorizationCreateRequest.testClockId) && + Objects.equals(this.rulesetKey, transferAuthorizationCreateRequest.rulesetKey) && + Objects.equals(this.customAttributes, transferAuthorizationCreateRequest.customAttributes); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, accountId, fundingAccountId, ledgerId, paymentProfileToken, type, network, amount, achClass, wireDetails, user, device, originationAccountId, isoCurrencyCode, idempotencyKey, userPresent, withGuarantee, requestGuarantee, beaconSessionId, originatorClientId, creditFundsSource, testClockId, rulesetKey, customAttributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferAuthorizationCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" paymentProfileToken: ").append(toIndentedString(paymentProfileToken)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" achClass: ").append(toIndentedString(achClass)).append("\n"); + sb.append(" wireDetails: ").append(toIndentedString(wireDetails)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" device: ").append(toIndentedString(device)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" idempotencyKey: ").append(toIndentedString(idempotencyKey)).append("\n"); + sb.append(" userPresent: ").append(toIndentedString(userPresent)).append("\n"); + sb.append(" withGuarantee: ").append(toIndentedString(withGuarantee)).append("\n"); + sb.append(" requestGuarantee: ").append(toIndentedString(requestGuarantee)).append("\n"); + sb.append(" beaconSessionId: ").append(toIndentedString(beaconSessionId)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" creditFundsSource: ").append(toIndentedString(creditFundsSource)).append("\n"); + sb.append(" testClockId: ").append(toIndentedString(testClockId)).append("\n"); + sb.append(" rulesetKey: ").append(toIndentedString(rulesetKey)).append("\n"); + sb.append(" customAttributes: ").append(toIndentedString(customAttributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationCreateResponse.java b/src/main/java/com/plaid/client/model/TransferAuthorizationCreateResponse.java new file mode 100644 index 0000000000..e61236dd7b --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationCreateResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferAuthorization; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/authorization/create` + */ +@ApiModel(description = "Defines the response schema for `/transfer/authorization/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferAuthorizationCreateResponse { + public static final String SERIALIZED_NAME_AUTHORIZATION = "authorization"; + @SerializedName(SERIALIZED_NAME_AUTHORIZATION) + private TransferAuthorization authorization; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferAuthorizationCreateResponse authorization(TransferAuthorization authorization) { + + this.authorization = authorization; + return this; + } + + /** + * Get authorization + * @return authorization + **/ + @ApiModelProperty(required = true, value = "") + + public TransferAuthorization getAuthorization() { + return authorization; + } + + + public void setAuthorization(TransferAuthorization authorization) { + this.authorization = authorization; + } + + + public TransferAuthorizationCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferAuthorizationCreateResponse transferAuthorizationCreateResponse = (TransferAuthorizationCreateResponse) o; + return Objects.equals(this.authorization, transferAuthorizationCreateResponse.authorization) && + Objects.equals(this.requestId, transferAuthorizationCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(authorization, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferAuthorizationCreateResponse {\n"); + sb.append(" authorization: ").append(toIndentedString(authorization)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationDecision.java b/src/main/java/com/plaid/client/model/TransferAuthorizationDecision.java new file mode 100644 index 0000000000..78b056b051 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationDecision.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A decision regarding the proposed transfer. `approved` - The proposed transfer has received the end user's consent and has been approved for processing by Plaid. The `decision_rationale` field is set if Plaid was unable to fetch the account information. You may proceed with the transfer, but further review is recommended. Refer to the `code` field in the `decision_rationale` object for details. `declined` - Plaid reviewed the proposed transfer and declined processing. Refer to the `code` field in the `decision_rationale` object for details. `user_action_required` - An action is required before Plaid can assess the transfer risk and make a decision. The most common scenario is to update authentication for an Item. To complete the required action, initialize Link by setting `transfer.authorization_id` in the request of `/link/token/create`. After Link flow is completed, you may re-attempt the authorization request. For `guarantee` requests, `approved` indicates the transfer is eligible for Plaid's guarantee, and `declined` indicates Plaid will not provide guarantee coverage for the transfer. `user_action_required` indicates you should follow the above guidance before re-attempting. + */ +@JsonAdapter(TransferAuthorizationDecision.Adapter.class) +public enum TransferAuthorizationDecision { + + APPROVED("approved"), + + DECLINED("declined"), + + USER_ACTION_REQUIRED("user_action_required"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferAuthorizationDecision(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferAuthorizationDecision fromValue(String value) { + for (TransferAuthorizationDecision b : TransferAuthorizationDecision.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferAuthorizationDecision.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferAuthorizationDecision enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferAuthorizationDecision read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferAuthorizationDecision.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationDecisionRationale.java b/src/main/java/com/plaid/client/model/TransferAuthorizationDecisionRationale.java new file mode 100644 index 0000000000..5fe0449633 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationDecisionRationale.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferAuthorizationDecisionRationaleCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The rationale for Plaid's decision regarding a proposed transfer. It is always set for `declined` decisions, and may or may not be null for `approved` decisions. + */ +@ApiModel(description = "The rationale for Plaid's decision regarding a proposed transfer. It is always set for `declined` decisions, and may or may not be null for `approved` decisions.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferAuthorizationDecisionRationale { + public static final String SERIALIZED_NAME_CODE = "code"; + @SerializedName(SERIALIZED_NAME_CODE) + private TransferAuthorizationDecisionRationaleCode code; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + + public TransferAuthorizationDecisionRationale code(TransferAuthorizationDecisionRationaleCode code) { + + this.code = code; + return this; + } + + /** + * Get code + * @return code + **/ + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationDecisionRationaleCode getCode() { + return code; + } + + + public void setCode(TransferAuthorizationDecisionRationaleCode code) { + this.code = code; + } + + + public TransferAuthorizationDecisionRationale description(String description) { + + this.description = description; + return this; + } + + /** + * A human-readable description of the code associated with a transfer approval or transfer decline. + * @return description + **/ + @ApiModelProperty(required = true, value = "A human-readable description of the code associated with a transfer approval or transfer decline.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferAuthorizationDecisionRationale transferAuthorizationDecisionRationale = (TransferAuthorizationDecisionRationale) o; + return Objects.equals(this.code, transferAuthorizationDecisionRationale.code) && + Objects.equals(this.description, transferAuthorizationDecisionRationale.description); + } + + @Override + public int hashCode() { + return Objects.hash(code, description); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferAuthorizationDecisionRationale {\n"); + sb.append(" code: ").append(toIndentedString(code)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationDecisionRationaleCode.java b/src/main/java/com/plaid/client/model/TransferAuthorizationDecisionRationaleCode.java new file mode 100644 index 0000000000..1e0ea7488c --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationDecisionRationaleCode.java @@ -0,0 +1,97 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A code representing the rationale for approving or declining the proposed transfer. If the `rationale_code` is `null`, the transfer passed the authorization check. Any non-`null` value for an `approved` transfer indicates that the authorization check could not be run and that you should perform your own risk assessment on the transfer. The code will indicate why the check could not be run. Possible values for an `approved` transfer are: `MANUALLY_VERIFIED_ITEM` - Item created via a manual entry flow (i.e. Same-Day Micro-deposit, Instant Micro-deposit, or database-based verification), limited information available. `ITEM_LOGIN_REQUIRED` - Unable to collect the account information due to Item staleness. Can be resolved by using Link and setting [`transfer.authorization_id`](https://plaid.com/docs/api/link/#link-token-create-request-transfer-authorization-id) in the request to `/link/token/create`. `PAYMENT_PROFILE_LOGIN_REQUIRED` - The Payment Profile associated with the call to `/transfer/authorization/create` is in a state that requires the end user to re-authenticate. Can be resolved by using Link to refresh the Payment Profile. `MIGRATED_ACCOUNT_ITEM` - Item created via `/transfer/migrate_account` endpoint, limited information available. `ERROR` - Unable to collect the account information due to an unspecified error. The following codes indicate that the authorization decision was `declined`: `NSF` - Transaction has an elevated probability of resulting in a return due to insufficient funds. `RISK` - Transaction is high-risk. `TRANSFER_LIMIT_REACHED` - One or several transfer limits are reached, e.g. monthly transfer limit. Check the accompanying `description` field to understand which limit has been reached. `ADMIN` - Transaction has an elevated probability of resulting in an administrative return (for example a closed, invalid, or unauthorized account). `FRAUD` - Transaction has an elevated probability of being fraudulent. + */ +@JsonAdapter(TransferAuthorizationDecisionRationaleCode.Adapter.class) +public enum TransferAuthorizationDecisionRationaleCode { + + NSF("NSF"), + + RISK("RISK"), + + TRANSFER_LIMIT_REACHED("TRANSFER_LIMIT_REACHED"), + + MANUALLY_VERIFIED_ITEM("MANUALLY_VERIFIED_ITEM"), + + ITEM_LOGIN_REQUIRED("ITEM_LOGIN_REQUIRED"), + + PAYMENT_PROFILE_LOGIN_REQUIRED("PAYMENT_PROFILE_LOGIN_REQUIRED"), + + ERROR("ERROR"), + + MIGRATED_ACCOUNT_ITEM("MIGRATED_ACCOUNT_ITEM"), + + ADMIN("ADMIN"), + + FRAUD("FRAUD"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferAuthorizationDecisionRationaleCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferAuthorizationDecisionRationaleCode fromValue(String value) { + for (TransferAuthorizationDecisionRationaleCode b : TransferAuthorizationDecisionRationaleCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferAuthorizationDecisionRationaleCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferAuthorizationDecisionRationaleCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferAuthorizationDecisionRationaleCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferAuthorizationDecisionRationaleCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationDevice.java b/src/main/java/com/plaid/client/model/TransferAuthorizationDevice.java new file mode 100644 index 0000000000..7b74d0c339 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationDevice.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the device being used to initiate the authorization. These fields are not currently incorporated into the risk check. + */ +@ApiModel(description = "Information about the device being used to initiate the authorization. These fields are not currently incorporated into the risk check.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferAuthorizationDevice { + public static final String SERIALIZED_NAME_IP_ADDRESS = "ip_address"; + @SerializedName(SERIALIZED_NAME_IP_ADDRESS) + private String ipAddress; + + public static final String SERIALIZED_NAME_USER_AGENT = "user_agent"; + @SerializedName(SERIALIZED_NAME_USER_AGENT) + private String userAgent; + + + public TransferAuthorizationDevice ipAddress(String ipAddress) { + + this.ipAddress = ipAddress; + return this; + } + + /** + * The IP address of the device being used to initiate the authorization. + * @return ipAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The IP address of the device being used to initiate the authorization.") + + public String getIpAddress() { + return ipAddress; + } + + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + + public TransferAuthorizationDevice userAgent(String userAgent) { + + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the device being used to initiate the authorization. + * @return userAgent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user agent of the device being used to initiate the authorization.") + + public String getUserAgent() { + return userAgent; + } + + + public void setUserAgent(String userAgent) { + this.userAgent = userAgent; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferAuthorizationDevice transferAuthorizationDevice = (TransferAuthorizationDevice) o; + return Objects.equals(this.ipAddress, transferAuthorizationDevice.ipAddress) && + Objects.equals(this.userAgent, transferAuthorizationDevice.userAgent); + } + + @Override + public int hashCode() { + return Objects.hash(ipAddress, userAgent); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferAuthorizationDevice {\n"); + sb.append(" ipAddress: ").append(toIndentedString(ipAddress)).append("\n"); + sb.append(" userAgent: ").append(toIndentedString(userAgent)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationGuaranteeDecision.java b/src/main/java/com/plaid/client/model/TransferAuthorizationGuaranteeDecision.java new file mode 100644 index 0000000000..c5f8f6e350 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationGuaranteeDecision.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Indicates whether the transfer is guaranteed by Plaid (Guarantee customers only). This field will contain either `GUARANTEED` or `NOT_GUARANTEED` indicating whether Plaid will guarantee the transfer. + */ +@JsonAdapter(TransferAuthorizationGuaranteeDecision.Adapter.class) +public enum TransferAuthorizationGuaranteeDecision { + + GUARANTEED("GUARANTEED"), + + NOT_GUARANTEED("NOT_GUARANTEED"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferAuthorizationGuaranteeDecision(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferAuthorizationGuaranteeDecision fromValue(String value) { + for (TransferAuthorizationGuaranteeDecision b : TransferAuthorizationGuaranteeDecision.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferAuthorizationGuaranteeDecision enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferAuthorizationGuaranteeDecision read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferAuthorizationGuaranteeDecision.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationGuaranteeDecisionRationale.java b/src/main/java/com/plaid/client/model/TransferAuthorizationGuaranteeDecisionRationale.java new file mode 100644 index 0000000000..6f35bede98 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationGuaranteeDecisionRationale.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferAuthorizationGuaranteeDecisionRationaleCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The rationale for Plaid's decision to not guarantee a transfer. Will be `null` unless `guarantee_decision` is `NOT_GUARANTEED`. + */ +@ApiModel(description = "The rationale for Plaid's decision to not guarantee a transfer. Will be `null` unless `guarantee_decision` is `NOT_GUARANTEED`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferAuthorizationGuaranteeDecisionRationale { + public static final String SERIALIZED_NAME_CODE = "code"; + @SerializedName(SERIALIZED_NAME_CODE) + private TransferAuthorizationGuaranteeDecisionRationaleCode code; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + + public TransferAuthorizationGuaranteeDecisionRationale code(TransferAuthorizationGuaranteeDecisionRationaleCode code) { + + this.code = code; + return this; + } + + /** + * Get code + * @return code + **/ + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationGuaranteeDecisionRationaleCode getCode() { + return code; + } + + + public void setCode(TransferAuthorizationGuaranteeDecisionRationaleCode code) { + this.code = code; + } + + + public TransferAuthorizationGuaranteeDecisionRationale description(String description) { + + this.description = description; + return this; + } + + /** + * A human-readable description of why the transfer cannot be guaranteed. + * @return description + **/ + @ApiModelProperty(required = true, value = "A human-readable description of why the transfer cannot be guaranteed.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferAuthorizationGuaranteeDecisionRationale transferAuthorizationGuaranteeDecisionRationale = (TransferAuthorizationGuaranteeDecisionRationale) o; + return Objects.equals(this.code, transferAuthorizationGuaranteeDecisionRationale.code) && + Objects.equals(this.description, transferAuthorizationGuaranteeDecisionRationale.description); + } + + @Override + public int hashCode() { + return Objects.hash(code, description); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferAuthorizationGuaranteeDecisionRationale {\n"); + sb.append(" code: ").append(toIndentedString(code)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationGuaranteeDecisionRationaleCode.java b/src/main/java/com/plaid/client/model/TransferAuthorizationGuaranteeDecisionRationaleCode.java new file mode 100644 index 0000000000..408e38cd07 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationGuaranteeDecisionRationaleCode.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A code representing the reason Plaid declined to guarantee this transfer: `RETURN_BANK`: The risk of a bank-initiated return (for example, an R01/NSF) is too high to guarantee this transfer. `RETURN_CUSTOMER`: The risk of a customer-initiated return (for example, a R10/Unauthorized) is too high to guarantee this transfer. `GUARANTEE_LIMIT_REACHED`: This transfer is low-risk, but Guarantee has exhausted an internal limit on the number or rate of guarantees that applies to this transfer. `RISK_ESTIMATE_UNAVAILABLE`: A risk estimate is unavailable for this Item. `REQUIRED_PARAM_MISSING`: Required fields are missing. + */ +@JsonAdapter(TransferAuthorizationGuaranteeDecisionRationaleCode.Adapter.class) +public enum TransferAuthorizationGuaranteeDecisionRationaleCode { + + RETURN_BANK("RETURN_BANK"), + + RETURN_CUSTOMER("RETURN_CUSTOMER"), + + GUARANTEE_LIMIT_REACHED("GUARANTEE_LIMIT_REACHED"), + + RISK_ESTIMATE_UNAVAILABLE("RISK_ESTIMATE_UNAVAILABLE"), + + REQUIRED_PARAM_MISSING("REQUIRED_PARAM_MISSING"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferAuthorizationGuaranteeDecisionRationaleCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferAuthorizationGuaranteeDecisionRationaleCode fromValue(String value) { + for (TransferAuthorizationGuaranteeDecisionRationaleCode b : TransferAuthorizationGuaranteeDecisionRationaleCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferAuthorizationGuaranteeDecisionRationaleCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferAuthorizationGuaranteeDecisionRationaleCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferAuthorizationGuaranteeDecisionRationaleCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferAuthorizationGuaranteeDecisionRationaleCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationPaymentRisk.java b/src/main/java/com/plaid/client/model/TransferAuthorizationPaymentRisk.java new file mode 100644 index 0000000000..8cd1da14ae --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationPaymentRisk.java @@ -0,0 +1,198 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SignalWarning; +import com.plaid.client.model.TransferAuthorizationRiskLevel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * This object includes the scores and risk level. This response is offered as an add-on to `/transfer/authorization/create`. To request access to these fields, please contact your Plaid account manager. + */ +@ApiModel(description = "This object includes the scores and risk level. This response is offered as an add-on to `/transfer/authorization/create`. To request access to these fields, please contact your Plaid account manager.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferAuthorizationPaymentRisk { + public static final String SERIALIZED_NAME_BANK_INITIATED_RETURN_SCORE = "bank_initiated_return_score"; + @SerializedName(SERIALIZED_NAME_BANK_INITIATED_RETURN_SCORE) + private Integer bankInitiatedReturnScore; + + public static final String SERIALIZED_NAME_CUSTOMER_INITIATED_RETURN_SCORE = "customer_initiated_return_score"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_INITIATED_RETURN_SCORE) + private Integer customerInitiatedReturnScore; + + public static final String SERIALIZED_NAME_RISK_LEVEL = "risk_level"; + @SerializedName(SERIALIZED_NAME_RISK_LEVEL) + private TransferAuthorizationRiskLevel riskLevel; + + public static final String SERIALIZED_NAME_WARNINGS = "warnings"; + @SerializedName(SERIALIZED_NAME_WARNINGS) + private List warnings = new ArrayList<>(); + + + public TransferAuthorizationPaymentRisk bankInitiatedReturnScore(Integer bankInitiatedReturnScore) { + + this.bankInitiatedReturnScore = bankInitiatedReturnScore; + return this; + } + + /** + * A score from 1-99 that indicates the transaction return risk: a higher risk score suggests a higher return likelihood. The score evaluates the transaction return risk because an account is overdrawn or because an ineligible account is used and covers return codes: \"R01\", \"R02\", \"R03\", \"R04\", \"R06\", \"R08\", \"R09\", \"R13\", \"R16\", \"R17\", \"R20\", \"R23\". These returns have a turnaround time of 2 banking days. + * minimum: 1 + * maximum: 99 + * @return bankInitiatedReturnScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A score from 1-99 that indicates the transaction return risk: a higher risk score suggests a higher return likelihood. The score evaluates the transaction return risk because an account is overdrawn or because an ineligible account is used and covers return codes: \"R01\", \"R02\", \"R03\", \"R04\", \"R06\", \"R08\", \"R09\", \"R13\", \"R16\", \"R17\", \"R20\", \"R23\". These returns have a turnaround time of 2 banking days.") + + public Integer getBankInitiatedReturnScore() { + return bankInitiatedReturnScore; + } + + + public void setBankInitiatedReturnScore(Integer bankInitiatedReturnScore) { + this.bankInitiatedReturnScore = bankInitiatedReturnScore; + } + + + public TransferAuthorizationPaymentRisk customerInitiatedReturnScore(Integer customerInitiatedReturnScore) { + + this.customerInitiatedReturnScore = customerInitiatedReturnScore; + return this; + } + + /** + * A score from 1-99 that indicates the transaction return risk: a higher risk score suggests a higher return likelihood. The score evaluates the transaction return risk of an unauthorized debit and covers return codes: \"R05\", \"R07\", \"R10\", \"R11\", \"R29\". These returns typically have a return time frame of up to 60 calendar days. During this period, customers of financial institutions can dispute a transaction as unauthorized. + * minimum: 1 + * maximum: 99 + * @return customerInitiatedReturnScore + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A score from 1-99 that indicates the transaction return risk: a higher risk score suggests a higher return likelihood. The score evaluates the transaction return risk of an unauthorized debit and covers return codes: \"R05\", \"R07\", \"R10\", \"R11\", \"R29\". These returns typically have a return time frame of up to 60 calendar days. During this period, customers of financial institutions can dispute a transaction as unauthorized.") + + public Integer getCustomerInitiatedReturnScore() { + return customerInitiatedReturnScore; + } + + + public void setCustomerInitiatedReturnScore(Integer customerInitiatedReturnScore) { + this.customerInitiatedReturnScore = customerInitiatedReturnScore; + } + + + public TransferAuthorizationPaymentRisk riskLevel(TransferAuthorizationRiskLevel riskLevel) { + + this.riskLevel = riskLevel; + return this; + } + + /** + * Get riskLevel + * @return riskLevel + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationRiskLevel getRiskLevel() { + return riskLevel; + } + + + public void setRiskLevel(TransferAuthorizationRiskLevel riskLevel) { + this.riskLevel = riskLevel; + } + + + public TransferAuthorizationPaymentRisk warnings(List warnings) { + + this.warnings = warnings; + return this; + } + + public TransferAuthorizationPaymentRisk addWarningsItem(SignalWarning warningsItem) { + this.warnings.add(warningsItem); + return this; + } + + /** + * If bank information was not available to be used, this array contains warnings describing why bank data is missing. If you want to receive an API error instead of scores in the case of missing bank data, file a support ticket or contact your Plaid account manager. + * @return warnings + **/ + @ApiModelProperty(required = true, value = "If bank information was not available to be used, this array contains warnings describing why bank data is missing. If you want to receive an API error instead of scores in the case of missing bank data, file a support ticket or contact your Plaid account manager.") + + public List getWarnings() { + return warnings; + } + + + public void setWarnings(List warnings) { + this.warnings = warnings; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferAuthorizationPaymentRisk transferAuthorizationPaymentRisk = (TransferAuthorizationPaymentRisk) o; + return Objects.equals(this.bankInitiatedReturnScore, transferAuthorizationPaymentRisk.bankInitiatedReturnScore) && + Objects.equals(this.customerInitiatedReturnScore, transferAuthorizationPaymentRisk.customerInitiatedReturnScore) && + Objects.equals(this.riskLevel, transferAuthorizationPaymentRisk.riskLevel) && + Objects.equals(this.warnings, transferAuthorizationPaymentRisk.warnings); + } + + @Override + public int hashCode() { + return Objects.hash(bankInitiatedReturnScore, customerInitiatedReturnScore, riskLevel, warnings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferAuthorizationPaymentRisk {\n"); + sb.append(" bankInitiatedReturnScore: ").append(toIndentedString(bankInitiatedReturnScore)).append("\n"); + sb.append(" customerInitiatedReturnScore: ").append(toIndentedString(customerInitiatedReturnScore)).append("\n"); + sb.append(" riskLevel: ").append(toIndentedString(riskLevel)).append("\n"); + sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationProposedTransfer.java b/src/main/java/com/plaid/client/model/TransferAuthorizationProposedTransfer.java new file mode 100644 index 0000000000..86b8be2cc4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationProposedTransfer.java @@ -0,0 +1,473 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.TransferCreditFundsSource; +import com.plaid.client.model.TransferType; +import com.plaid.client.model.TransferUserInResponse; +import com.plaid.client.model.TransferWireDetails; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details regarding the proposed transfer. + */ +@ApiModel(description = "Details regarding the proposed transfer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferAuthorizationProposedTransfer { + public static final String SERIALIZED_NAME_ACH_CLASS = "ach_class"; + @SerializedName(SERIALIZED_NAME_ACH_CLASS) + private ACHClass achClass; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TransferType type; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private TransferUserInResponse user; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_REQUESTED_AMOUNT = "requested_amount"; + @SerializedName(SERIALIZED_NAME_REQUESTED_AMOUNT) + private String requestedAmount; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private String network; + + public static final String SERIALIZED_NAME_WIRE_DETAILS = "wire_details"; + @SerializedName(SERIALIZED_NAME_WIRE_DETAILS) + private TransferWireDetails wireDetails; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_CREDIT_FUNDS_SOURCE = "credit_funds_source"; + @SerializedName(SERIALIZED_NAME_CREDIT_FUNDS_SOURCE) + private TransferCreditFundsSource creditFundsSource; + + + public TransferAuthorizationProposedTransfer achClass(ACHClass achClass) { + + this.achClass = achClass; + return this; + } + + /** + * Get achClass + * @return achClass + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ACHClass getAchClass() { + return achClass; + } + + + public void setAchClass(ACHClass achClass) { + this.achClass = achClass; + } + + + public TransferAuthorizationProposedTransfer accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` for the account that will be debited or credited. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `account_id` for the account that will be debited or credited.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransferAuthorizationProposedTransfer fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * The id of the associated funding account, available in the Plaid Dashboard. If present, this indicates which of your business checking accounts will be credited or debited. + * @return fundingAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The id of the associated funding account, available in the Plaid Dashboard. If present, this indicates which of your business checking accounts will be credited or debited.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public TransferAuthorizationProposedTransfer ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * Plaid's unique identifier for a Plaid Ledger Balance. + * @return ledgerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a Plaid Ledger Balance.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public TransferAuthorizationProposedTransfer type(TransferType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public TransferType getType() { + return type; + } + + + public void setType(TransferType type) { + this.type = type; + } + + + public TransferAuthorizationProposedTransfer user(TransferUserInResponse user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public TransferUserInResponse getUser() { + return user; + } + + + public void setUser(TransferUserInResponse user) { + this.user = user; + } + + + public TransferAuthorizationProposedTransfer amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferAuthorizationProposedTransfer requestedAmount(String requestedAmount) { + + this.requestedAmount = requestedAmount; + return this; + } + + /** + * The amount originally requested by the client when creating the authorization (decimal string with two digits of precision e.g. \"800.00\"). This may differ from `amount`, the amount Plaid proposes to transfer, when only a partial amount is offered as part of an Adaptive Guarantee. + * @return requestedAmount + **/ + @ApiModelProperty(required = true, value = "The amount originally requested by the client when creating the authorization (decimal string with two digits of precision e.g. \"800.00\"). This may differ from `amount`, the amount Plaid proposes to transfer, when only a partial amount is offered as part of an Adaptive Guarantee.") + + public String getRequestedAmount() { + return requestedAmount; + } + + + public void setRequestedAmount(String requestedAmount) { + this.requestedAmount = requestedAmount; + } + + + public TransferAuthorizationProposedTransfer network(String network) { + + this.network = network; + return this; + } + + /** + * The network or rails used for the transfer. + * @return network + **/ + @ApiModelProperty(required = true, value = "The network or rails used for the transfer.") + + public String getNetwork() { + return network; + } + + + public void setNetwork(String network) { + this.network = network; + } + + + public TransferAuthorizationProposedTransfer wireDetails(TransferWireDetails wireDetails) { + + this.wireDetails = wireDetails; + return this; + } + + /** + * Get wireDetails + * @return wireDetails + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferWireDetails getWireDetails() { + return wireDetails; + } + + + public void setWireDetails(TransferWireDetails wireDetails) { + this.wireDetails = wireDetails; + } + + + public TransferAuthorizationProposedTransfer originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Plaid's unique identifier for the origination account that was used for this transfer. + * @return originationAccountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the origination account that was used for this transfer.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public TransferAuthorizationProposedTransfer isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the transfer amount. The default value is \"USD\". + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the transfer amount. The default value is \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TransferAuthorizationProposedTransfer originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The Plaid client ID that is the originator of this transfer. Only present if created on behalf of another client as a [Platform customer](https://plaid.com/docs/transfer/application/#originators-vs-platforms). + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The Plaid client ID that is the originator of this transfer. Only present if created on behalf of another client as a [Platform customer](https://plaid.com/docs/transfer/application/#originators-vs-platforms).") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferAuthorizationProposedTransfer creditFundsSource(TransferCreditFundsSource creditFundsSource) { + + this.creditFundsSource = creditFundsSource; + return this; + } + + /** + * Get creditFundsSource + * @return creditFundsSource + **/ + @ApiModelProperty(required = true, value = "") + + public TransferCreditFundsSource getCreditFundsSource() { + return creditFundsSource; + } + + + public void setCreditFundsSource(TransferCreditFundsSource creditFundsSource) { + this.creditFundsSource = creditFundsSource; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferAuthorizationProposedTransfer transferAuthorizationProposedTransfer = (TransferAuthorizationProposedTransfer) o; + return Objects.equals(this.achClass, transferAuthorizationProposedTransfer.achClass) && + Objects.equals(this.accountId, transferAuthorizationProposedTransfer.accountId) && + Objects.equals(this.fundingAccountId, transferAuthorizationProposedTransfer.fundingAccountId) && + Objects.equals(this.ledgerId, transferAuthorizationProposedTransfer.ledgerId) && + Objects.equals(this.type, transferAuthorizationProposedTransfer.type) && + Objects.equals(this.user, transferAuthorizationProposedTransfer.user) && + Objects.equals(this.amount, transferAuthorizationProposedTransfer.amount) && + Objects.equals(this.requestedAmount, transferAuthorizationProposedTransfer.requestedAmount) && + Objects.equals(this.network, transferAuthorizationProposedTransfer.network) && + Objects.equals(this.wireDetails, transferAuthorizationProposedTransfer.wireDetails) && + Objects.equals(this.originationAccountId, transferAuthorizationProposedTransfer.originationAccountId) && + Objects.equals(this.isoCurrencyCode, transferAuthorizationProposedTransfer.isoCurrencyCode) && + Objects.equals(this.originatorClientId, transferAuthorizationProposedTransfer.originatorClientId) && + Objects.equals(this.creditFundsSource, transferAuthorizationProposedTransfer.creditFundsSource); + } + + @Override + public int hashCode() { + return Objects.hash(achClass, accountId, fundingAccountId, ledgerId, type, user, amount, requestedAmount, network, wireDetails, originationAccountId, isoCurrencyCode, originatorClientId, creditFundsSource); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferAuthorizationProposedTransfer {\n"); + sb.append(" achClass: ").append(toIndentedString(achClass)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" requestedAmount: ").append(toIndentedString(requestedAmount)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" wireDetails: ").append(toIndentedString(wireDetails)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" creditFundsSource: ").append(toIndentedString(creditFundsSource)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationRiskLevel.java b/src/main/java/com/plaid/client/model/TransferAuthorizationRiskLevel.java new file mode 100644 index 0000000000..e474f6ff21 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationRiskLevel.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Comprises five risk categories (high risk, medium-high risk, medium risk, medium-low risk, low risk) based on the probability of return + */ +@JsonAdapter(TransferAuthorizationRiskLevel.Adapter.class) +public enum TransferAuthorizationRiskLevel { + + HIGH_RISK("HIGH_RISK"), + + MEDIUM_HIGH_RISK("MEDIUM_HIGH_RISK"), + + MEDIUM_RISK("MEDIUM_RISK"), + + MEDIUM_LOW_RISK("MEDIUM_LOW_RISK"), + + LOW_RISK("LOW_RISK"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferAuthorizationRiskLevel(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferAuthorizationRiskLevel fromValue(String value) { + for (TransferAuthorizationRiskLevel b : TransferAuthorizationRiskLevel.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferAuthorizationRiskLevel enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferAuthorizationRiskLevel read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferAuthorizationRiskLevel.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferAuthorizationUserInRequest.java b/src/main/java/com/plaid/client/model/TransferAuthorizationUserInRequest.java new file mode 100644 index 0000000000..a187c6ff9b --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferAuthorizationUserInRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferUserAddressInRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The legal name and other information for the account holder. If the account has multiple account holders, provide the information for the account holder on whose behalf the authorization is being requested. The `user.legal_name` field is required. Other fields are not currently used and are present to support planned future functionality. + */ +@ApiModel(description = "The legal name and other information for the account holder. If the account has multiple account holders, provide the information for the account holder on whose behalf the authorization is being requested. The `user.legal_name` field is required. Other fields are not currently used and are present to support planned future functionality.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferAuthorizationUserInRequest { + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private TransferUserAddressInRequest address; + + + public TransferAuthorizationUserInRequest legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * The user's legal name. If the user is a business, provide the business name. + * @return legalName + **/ + @ApiModelProperty(required = true, value = "The user's legal name. If the user is a business, provide the business name.") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public TransferAuthorizationUserInRequest phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * The user's phone number. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's phone number.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public TransferAuthorizationUserInRequest emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * The user's email address. + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's email address.") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public TransferAuthorizationUserInRequest address(TransferUserAddressInRequest address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferUserAddressInRequest getAddress() { + return address; + } + + + public void setAddress(TransferUserAddressInRequest address) { + this.address = address; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferAuthorizationUserInRequest transferAuthorizationUserInRequest = (TransferAuthorizationUserInRequest) o; + return Objects.equals(this.legalName, transferAuthorizationUserInRequest.legalName) && + Objects.equals(this.phoneNumber, transferAuthorizationUserInRequest.phoneNumber) && + Objects.equals(this.emailAddress, transferAuthorizationUserInRequest.emailAddress) && + Objects.equals(this.address, transferAuthorizationUserInRequest.address); + } + + @Override + public int hashCode() { + return Objects.hash(legalName, phoneNumber, emailAddress, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferAuthorizationUserInRequest {\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferBalance.java b/src/main/java/com/plaid/client/model/TransferBalance.java new file mode 100644 index 0000000000..b2a61a50b8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferBalance.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferBalanceType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the balance held with Plaid. + */ +@ApiModel(description = "Information about the balance held with Plaid.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferBalance { + public static final String SERIALIZED_NAME_AVAILABLE = "available"; + @SerializedName(SERIALIZED_NAME_AVAILABLE) + private String available; + + public static final String SERIALIZED_NAME_CURRENT = "current"; + @SerializedName(SERIALIZED_NAME_CURRENT) + private String current; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TransferBalanceType type; + + + public TransferBalance available(String available) { + + this.available = available; + return this; + } + + /** + * The amount of this balance available for use (decimal string with two digits of precision e.g. \"10.00\"). + * @return available + **/ + @ApiModelProperty(required = true, value = "The amount of this balance available for use (decimal string with two digits of precision e.g. \"10.00\").") + + public String getAvailable() { + return available; + } + + + public void setAvailable(String available) { + this.available = available; + } + + + public TransferBalance current(String current) { + + this.current = current; + return this; + } + + /** + * The available balance, plus the amount of pending funds that are in processing (decimal string with two digits of precision e.g. \"10.00\"). + * @return current + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The available balance, plus the amount of pending funds that are in processing (decimal string with two digits of precision e.g. \"10.00\").") + + public String getCurrent() { + return current; + } + + + public void setCurrent(String current) { + this.current = current; + } + + + public TransferBalance type(TransferBalanceType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public TransferBalanceType getType() { + return type; + } + + + public void setType(TransferBalanceType type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferBalance transferBalance = (TransferBalance) o; + return Objects.equals(this.available, transferBalance.available) && + Objects.equals(this.current, transferBalance.current) && + Objects.equals(this.type, transferBalance.type); + } + + @Override + public int hashCode() { + return Objects.hash(available, current, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferBalance {\n"); + sb.append(" available: ").append(toIndentedString(available)).append("\n"); + sb.append(" current: ").append(toIndentedString(current)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferBalanceGetRequest.java b/src/main/java/com/plaid/client/model/TransferBalanceGetRequest.java new file mode 100644 index 0000000000..226c17b842 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferBalanceGetRequest.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferBalanceType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/balance/get` + */ +@ApiModel(description = "Defines the request schema for `/transfer/balance/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferBalanceGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TransferBalanceType type; + + + public TransferBalanceGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferBalanceGetRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * Client ID of the end customer. + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client ID of the end customer.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferBalanceGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferBalanceGetRequest type(TransferBalanceType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferBalanceType getType() { + return type; + } + + + public void setType(TransferBalanceType type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferBalanceGetRequest transferBalanceGetRequest = (TransferBalanceGetRequest) o; + return Objects.equals(this.clientId, transferBalanceGetRequest.clientId) && + Objects.equals(this.originatorClientId, transferBalanceGetRequest.originatorClientId) && + Objects.equals(this.secret, transferBalanceGetRequest.secret) && + Objects.equals(this.type, transferBalanceGetRequest.type); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, originatorClientId, secret, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferBalanceGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferBalanceGetResponse.java b/src/main/java/com/plaid/client/model/TransferBalanceGetResponse.java new file mode 100644 index 0000000000..b5643c805d --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferBalanceGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferBalance; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/balance/get` + */ +@ApiModel(description = "Defines the response schema for `/transfer/balance/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferBalanceGetResponse { + public static final String SERIALIZED_NAME_BALANCE = "balance"; + @SerializedName(SERIALIZED_NAME_BALANCE) + private TransferBalance balance; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferBalanceGetResponse balance(TransferBalance balance) { + + this.balance = balance; + return this; + } + + /** + * Get balance + * @return balance + **/ + @ApiModelProperty(required = true, value = "") + + public TransferBalance getBalance() { + return balance; + } + + + public void setBalance(TransferBalance balance) { + this.balance = balance; + } + + + public TransferBalanceGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferBalanceGetResponse transferBalanceGetResponse = (TransferBalanceGetResponse) o; + return Objects.equals(this.balance, transferBalanceGetResponse.balance) && + Objects.equals(this.requestId, transferBalanceGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(balance, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferBalanceGetResponse {\n"); + sb.append(" balance: ").append(toIndentedString(balance)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferBalanceType.java b/src/main/java/com/plaid/client/model/TransferBalanceType.java new file mode 100644 index 0000000000..8dbde2fcef --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferBalanceType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of balance. `prefunded_rtp_credits` - Your prefunded RTP credit balance with Plaid `prefunded_ach_credits` - Your prefunded ACH credit balance with Plaid + */ +@JsonAdapter(TransferBalanceType.Adapter.class) +public enum TransferBalanceType { + + RTP_CREDITS("prefunded_rtp_credits"), + + ACH_CREDITS("prefunded_ach_credits"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferBalanceType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferBalanceType fromValue(String value) { + for (TransferBalanceType b : TransferBalanceType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferBalanceType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferBalanceType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferBalanceType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferBalanceType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferCancelRequest.java b/src/main/java/com/plaid/client/model/TransferCancelRequest.java new file mode 100644 index 0000000000..b1d5f419b9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferCancelRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ReasonCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/cancel` + */ +@ApiModel(description = "Defines the request schema for `/transfer/cancel`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferCancelRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_REASON_CODE = "reason_code"; + @SerializedName(SERIALIZED_NAME_REASON_CODE) + private ReasonCode reasonCode; + + + public TransferCancelRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferCancelRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferCancelRequest transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * Plaid's unique identifier for a transfer. + * @return transferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a transfer.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public TransferCancelRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The Plaid client ID of the transfer originator. Should only be present if `client_id` is a third-party sender (TPS). + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid client ID of the transfer originator. Should only be present if `client_id` is a third-party sender (TPS).") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferCancelRequest reasonCode(ReasonCode reasonCode) { + + this.reasonCode = reasonCode; + return this; + } + + /** + * Get reasonCode + * @return reasonCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ReasonCode getReasonCode() { + return reasonCode; + } + + + public void setReasonCode(ReasonCode reasonCode) { + this.reasonCode = reasonCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferCancelRequest transferCancelRequest = (TransferCancelRequest) o; + return Objects.equals(this.clientId, transferCancelRequest.clientId) && + Objects.equals(this.secret, transferCancelRequest.secret) && + Objects.equals(this.transferId, transferCancelRequest.transferId) && + Objects.equals(this.originatorClientId, transferCancelRequest.originatorClientId) && + Objects.equals(this.reasonCode, transferCancelRequest.reasonCode); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, transferId, originatorClientId, reasonCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferCancelRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" reasonCode: ").append(toIndentedString(reasonCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferCancelResponse.java b/src/main/java/com/plaid/client/model/TransferCancelResponse.java new file mode 100644 index 0000000000..dfdb9c1fd7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferCancelResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/cancel` + */ +@ApiModel(description = "Defines the response schema for `/transfer/cancel`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferCancelResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferCancelResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferCancelResponse transferCancelResponse = (TransferCancelResponse) o; + return Objects.equals(this.requestId, transferCancelResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferCancelResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferCapabilitiesGetRTP.java b/src/main/java/com/plaid/client/model/TransferCapabilitiesGetRTP.java new file mode 100644 index 0000000000..608938e092 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferCapabilitiesGetRTP.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Contains the supported service types in RTP + */ +@ApiModel(description = "Contains the supported service types in RTP") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferCapabilitiesGetRTP { + public static final String SERIALIZED_NAME_CREDIT = "credit"; + @SerializedName(SERIALIZED_NAME_CREDIT) + private Boolean credit = false; + + + public TransferCapabilitiesGetRTP credit(Boolean credit) { + + this.credit = credit; + return this; + } + + /** + * When `true`, the linked Item's institution supports RTP credit transfer. + * @return credit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, the linked Item's institution supports RTP credit transfer.") + + public Boolean getCredit() { + return credit; + } + + + public void setCredit(Boolean credit) { + this.credit = credit; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferCapabilitiesGetRTP transferCapabilitiesGetRTP = (TransferCapabilitiesGetRTP) o; + return Objects.equals(this.credit, transferCapabilitiesGetRTP.credit); + } + + @Override + public int hashCode() { + return Objects.hash(credit); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferCapabilitiesGetRTP {\n"); + sb.append(" credit: ").append(toIndentedString(credit)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferCapabilitiesGetRequest.java b/src/main/java/com/plaid/client/model/TransferCapabilitiesGetRequest.java new file mode 100644 index 0000000000..3771197477 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferCapabilitiesGetRequest.java @@ -0,0 +1,213 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/capabilities/get` + */ +@ApiModel(description = "Defines the request schema for `/transfer/capabilities/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferCapabilitiesGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN = "payment_profile_token"; + @SerializedName(SERIALIZED_NAME_PAYMENT_PROFILE_TOKEN) + private String paymentProfileToken; + + + public TransferCapabilitiesGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferCapabilitiesGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferCapabilitiesGetRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The Plaid `access_token` for the account that will be debited or credited. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The Plaid `access_token` for the account that will be debited or credited.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransferCapabilitiesGetRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` corresponding to the end-user account that will be debited or credited. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` corresponding to the end-user account that will be debited or credited.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransferCapabilitiesGetRequest paymentProfileToken(String paymentProfileToken) { + + this.paymentProfileToken = paymentProfileToken; + return this; + } + + /** + * A payment profile token associated with the Payment Profile data that is being requested. + * @return paymentProfileToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A payment profile token associated with the Payment Profile data that is being requested.") + + public String getPaymentProfileToken() { + return paymentProfileToken; + } + + + public void setPaymentProfileToken(String paymentProfileToken) { + this.paymentProfileToken = paymentProfileToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferCapabilitiesGetRequest transferCapabilitiesGetRequest = (TransferCapabilitiesGetRequest) o; + return Objects.equals(this.clientId, transferCapabilitiesGetRequest.clientId) && + Objects.equals(this.secret, transferCapabilitiesGetRequest.secret) && + Objects.equals(this.accessToken, transferCapabilitiesGetRequest.accessToken) && + Objects.equals(this.accountId, transferCapabilitiesGetRequest.accountId) && + Objects.equals(this.paymentProfileToken, transferCapabilitiesGetRequest.paymentProfileToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, accountId, paymentProfileToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferCapabilitiesGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" paymentProfileToken: ").append(toIndentedString(paymentProfileToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferCapabilitiesGetResponse.java b/src/main/java/com/plaid/client/model/TransferCapabilitiesGetResponse.java new file mode 100644 index 0000000000..6b5e34372c --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferCapabilitiesGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.InstitutionSupportedNetworks; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/capabilities/get` + */ +@ApiModel(description = "Defines the response schema for `/transfer/capabilities/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferCapabilitiesGetResponse { + public static final String SERIALIZED_NAME_INSTITUTION_SUPPORTED_NETWORKS = "institution_supported_networks"; + @SerializedName(SERIALIZED_NAME_INSTITUTION_SUPPORTED_NETWORKS) + private InstitutionSupportedNetworks institutionSupportedNetworks; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferCapabilitiesGetResponse institutionSupportedNetworks(InstitutionSupportedNetworks institutionSupportedNetworks) { + + this.institutionSupportedNetworks = institutionSupportedNetworks; + return this; + } + + /** + * Get institutionSupportedNetworks + * @return institutionSupportedNetworks + **/ + @ApiModelProperty(required = true, value = "") + + public InstitutionSupportedNetworks getInstitutionSupportedNetworks() { + return institutionSupportedNetworks; + } + + + public void setInstitutionSupportedNetworks(InstitutionSupportedNetworks institutionSupportedNetworks) { + this.institutionSupportedNetworks = institutionSupportedNetworks; + } + + + public TransferCapabilitiesGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferCapabilitiesGetResponse transferCapabilitiesGetResponse = (TransferCapabilitiesGetResponse) o; + return Objects.equals(this.institutionSupportedNetworks, transferCapabilitiesGetResponse.institutionSupportedNetworks) && + Objects.equals(this.requestId, transferCapabilitiesGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(institutionSupportedNetworks, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferCapabilitiesGetResponse {\n"); + sb.append(" institutionSupportedNetworks: ").append(toIndentedString(institutionSupportedNetworks)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferCapabilitiesGetRfP.java b/src/main/java/com/plaid/client/model/TransferCapabilitiesGetRfP.java new file mode 100644 index 0000000000..1003827c7d --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferCapabilitiesGetRfP.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Contains the supported service types in RfP + */ +@ApiModel(description = "Contains the supported service types in RfP") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferCapabilitiesGetRfP { + public static final String SERIALIZED_NAME_DEBIT = "debit"; + @SerializedName(SERIALIZED_NAME_DEBIT) + private Boolean debit = false; + + public static final String SERIALIZED_NAME_MAX_AMOUNT = "max_amount"; + @SerializedName(SERIALIZED_NAME_MAX_AMOUNT) + private String maxAmount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + + public TransferCapabilitiesGetRfP debit(Boolean debit) { + + this.debit = debit; + return this; + } + + /** + * When `true`, the linked Item's institution supports RfP debit transfer. + * @return debit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, the linked Item's institution supports RfP debit transfer.") + + public Boolean getDebit() { + return debit; + } + + + public void setDebit(Boolean debit) { + this.debit = debit; + } + + + public TransferCapabilitiesGetRfP maxAmount(String maxAmount) { + + this.maxAmount = maxAmount; + return this; + } + + /** + * The maximum amount (decimal string with two digits of precision e.g. \"10.00\") for originating RfP transfers with the given institution. + * @return maxAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum amount (decimal string with two digits of precision e.g. \"10.00\") for originating RfP transfers with the given institution.") + + public String getMaxAmount() { + return maxAmount; + } + + + public void setMaxAmount(String maxAmount) { + this.maxAmount = maxAmount; + } + + + public TransferCapabilitiesGetRfP isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the `max_amount`, e.g. \"USD\". + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The currency of the `max_amount`, e.g. \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferCapabilitiesGetRfP transferCapabilitiesGetRfP = (TransferCapabilitiesGetRfP) o; + return Objects.equals(this.debit, transferCapabilitiesGetRfP.debit) && + Objects.equals(this.maxAmount, transferCapabilitiesGetRfP.maxAmount) && + Objects.equals(this.isoCurrencyCode, transferCapabilitiesGetRfP.isoCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(debit, maxAmount, isoCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferCapabilitiesGetRfP {\n"); + sb.append(" debit: ").append(toIndentedString(debit)).append("\n"); + sb.append(" maxAmount: ").append(toIndentedString(maxAmount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferConfigurationGetRequest.java b/src/main/java/com/plaid/client/model/TransferConfigurationGetRequest.java new file mode 100644 index 0000000000..8a1355ad61 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferConfigurationGetRequest.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/configuration/get` + */ +@ApiModel(description = "Defines the request schema for `/transfer/configuration/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferConfigurationGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + + public TransferConfigurationGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferConfigurationGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferConfigurationGetRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The Plaid client ID of the transfer originator. Should only be present if `client_id` is a [Platform customer](https://plaid.com/docs/transfer/application/#originators-vs-platforms). + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid client ID of the transfer originator. Should only be present if `client_id` is a [Platform customer](https://plaid.com/docs/transfer/application/#originators-vs-platforms).") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferConfigurationGetRequest transferConfigurationGetRequest = (TransferConfigurationGetRequest) o; + return Objects.equals(this.clientId, transferConfigurationGetRequest.clientId) && + Objects.equals(this.secret, transferConfigurationGetRequest.secret) && + Objects.equals(this.originatorClientId, transferConfigurationGetRequest.originatorClientId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originatorClientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferConfigurationGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferConfigurationGetResponse.java b/src/main/java/com/plaid/client/model/TransferConfigurationGetResponse.java new file mode 100644 index 0000000000..b6bb8aa428 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferConfigurationGetResponse.java @@ -0,0 +1,350 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/configuration/get` + */ +@ApiModel(description = "Defines the response schema for `/transfer/configuration/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferConfigurationGetResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_MAX_SINGLE_TRANSFER_AMOUNT = "max_single_transfer_amount"; + @SerializedName(SERIALIZED_NAME_MAX_SINGLE_TRANSFER_AMOUNT) + private String maxSingleTransferAmount; + + public static final String SERIALIZED_NAME_MAX_SINGLE_TRANSFER_CREDIT_AMOUNT = "max_single_transfer_credit_amount"; + @SerializedName(SERIALIZED_NAME_MAX_SINGLE_TRANSFER_CREDIT_AMOUNT) + private String maxSingleTransferCreditAmount; + + public static final String SERIALIZED_NAME_MAX_SINGLE_TRANSFER_DEBIT_AMOUNT = "max_single_transfer_debit_amount"; + @SerializedName(SERIALIZED_NAME_MAX_SINGLE_TRANSFER_DEBIT_AMOUNT) + private String maxSingleTransferDebitAmount; + + public static final String SERIALIZED_NAME_MAX_DAILY_CREDIT_AMOUNT = "max_daily_credit_amount"; + @SerializedName(SERIALIZED_NAME_MAX_DAILY_CREDIT_AMOUNT) + private String maxDailyCreditAmount; + + public static final String SERIALIZED_NAME_MAX_DAILY_DEBIT_AMOUNT = "max_daily_debit_amount"; + @SerializedName(SERIALIZED_NAME_MAX_DAILY_DEBIT_AMOUNT) + private String maxDailyDebitAmount; + + public static final String SERIALIZED_NAME_MAX_MONTHLY_AMOUNT = "max_monthly_amount"; + @SerializedName(SERIALIZED_NAME_MAX_MONTHLY_AMOUNT) + private String maxMonthlyAmount; + + public static final String SERIALIZED_NAME_MAX_MONTHLY_CREDIT_AMOUNT = "max_monthly_credit_amount"; + @SerializedName(SERIALIZED_NAME_MAX_MONTHLY_CREDIT_AMOUNT) + private String maxMonthlyCreditAmount; + + public static final String SERIALIZED_NAME_MAX_MONTHLY_DEBIT_AMOUNT = "max_monthly_debit_amount"; + @SerializedName(SERIALIZED_NAME_MAX_MONTHLY_DEBIT_AMOUNT) + private String maxMonthlyDebitAmount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + + public TransferConfigurationGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public TransferConfigurationGetResponse maxSingleTransferAmount(String maxSingleTransferAmount) { + + this.maxSingleTransferAmount = maxSingleTransferAmount; + return this; + } + + /** + * The max limit of dollar amount of a single transfer (decimal string with two digits of precision e.g. \"10.00\"). + * @return maxSingleTransferAmount + **/ + @ApiModelProperty(required = true, value = "The max limit of dollar amount of a single transfer (decimal string with two digits of precision e.g. \"10.00\").") + + public String getMaxSingleTransferAmount() { + return maxSingleTransferAmount; + } + + + public void setMaxSingleTransferAmount(String maxSingleTransferAmount) { + this.maxSingleTransferAmount = maxSingleTransferAmount; + } + + + public TransferConfigurationGetResponse maxSingleTransferCreditAmount(String maxSingleTransferCreditAmount) { + + this.maxSingleTransferCreditAmount = maxSingleTransferCreditAmount; + return this; + } + + /** + * The max limit of dollar amount of a single credit transfer (decimal string with two digits of precision e.g. \"10.00\"). + * @return maxSingleTransferCreditAmount + **/ + @ApiModelProperty(required = true, value = "The max limit of dollar amount of a single credit transfer (decimal string with two digits of precision e.g. \"10.00\").") + + public String getMaxSingleTransferCreditAmount() { + return maxSingleTransferCreditAmount; + } + + + public void setMaxSingleTransferCreditAmount(String maxSingleTransferCreditAmount) { + this.maxSingleTransferCreditAmount = maxSingleTransferCreditAmount; + } + + + public TransferConfigurationGetResponse maxSingleTransferDebitAmount(String maxSingleTransferDebitAmount) { + + this.maxSingleTransferDebitAmount = maxSingleTransferDebitAmount; + return this; + } + + /** + * The max limit of dollar amount of a single debit transfer (decimal string with two digits of precision e.g. \"10.00\"). + * @return maxSingleTransferDebitAmount + **/ + @ApiModelProperty(required = true, value = "The max limit of dollar amount of a single debit transfer (decimal string with two digits of precision e.g. \"10.00\").") + + public String getMaxSingleTransferDebitAmount() { + return maxSingleTransferDebitAmount; + } + + + public void setMaxSingleTransferDebitAmount(String maxSingleTransferDebitAmount) { + this.maxSingleTransferDebitAmount = maxSingleTransferDebitAmount; + } + + + public TransferConfigurationGetResponse maxDailyCreditAmount(String maxDailyCreditAmount) { + + this.maxDailyCreditAmount = maxDailyCreditAmount; + return this; + } + + /** + * The max limit of sum of dollar amount of credit transfers in last 24 hours (decimal string with two digits of precision e.g. \"10.00\"). + * @return maxDailyCreditAmount + **/ + @ApiModelProperty(required = true, value = "The max limit of sum of dollar amount of credit transfers in last 24 hours (decimal string with two digits of precision e.g. \"10.00\").") + + public String getMaxDailyCreditAmount() { + return maxDailyCreditAmount; + } + + + public void setMaxDailyCreditAmount(String maxDailyCreditAmount) { + this.maxDailyCreditAmount = maxDailyCreditAmount; + } + + + public TransferConfigurationGetResponse maxDailyDebitAmount(String maxDailyDebitAmount) { + + this.maxDailyDebitAmount = maxDailyDebitAmount; + return this; + } + + /** + * The max limit of sum of dollar amount of debit transfers in last 24 hours (decimal string with two digits of precision e.g. \"10.00\"). + * @return maxDailyDebitAmount + **/ + @ApiModelProperty(required = true, value = "The max limit of sum of dollar amount of debit transfers in last 24 hours (decimal string with two digits of precision e.g. \"10.00\").") + + public String getMaxDailyDebitAmount() { + return maxDailyDebitAmount; + } + + + public void setMaxDailyDebitAmount(String maxDailyDebitAmount) { + this.maxDailyDebitAmount = maxDailyDebitAmount; + } + + + public TransferConfigurationGetResponse maxMonthlyAmount(String maxMonthlyAmount) { + + this.maxMonthlyAmount = maxMonthlyAmount; + return this; + } + + /** + * The max limit of sum of dollar amount of credit and debit transfers in one calendar month (decimal string with two digits of precision e.g. \"10.00\"). + * @return maxMonthlyAmount + **/ + @ApiModelProperty(required = true, value = "The max limit of sum of dollar amount of credit and debit transfers in one calendar month (decimal string with two digits of precision e.g. \"10.00\").") + + public String getMaxMonthlyAmount() { + return maxMonthlyAmount; + } + + + public void setMaxMonthlyAmount(String maxMonthlyAmount) { + this.maxMonthlyAmount = maxMonthlyAmount; + } + + + public TransferConfigurationGetResponse maxMonthlyCreditAmount(String maxMonthlyCreditAmount) { + + this.maxMonthlyCreditAmount = maxMonthlyCreditAmount; + return this; + } + + /** + * The max limit of sum of dollar amount of credit transfers in one calendar month (decimal string with two digits of precision e.g. \"10.00\"). + * @return maxMonthlyCreditAmount + **/ + @ApiModelProperty(required = true, value = "The max limit of sum of dollar amount of credit transfers in one calendar month (decimal string with two digits of precision e.g. \"10.00\").") + + public String getMaxMonthlyCreditAmount() { + return maxMonthlyCreditAmount; + } + + + public void setMaxMonthlyCreditAmount(String maxMonthlyCreditAmount) { + this.maxMonthlyCreditAmount = maxMonthlyCreditAmount; + } + + + public TransferConfigurationGetResponse maxMonthlyDebitAmount(String maxMonthlyDebitAmount) { + + this.maxMonthlyDebitAmount = maxMonthlyDebitAmount; + return this; + } + + /** + * The max limit of sum of dollar amount of debit transfers in one calendar month (decimal string with two digits of precision e.g. \"10.00\"). + * @return maxMonthlyDebitAmount + **/ + @ApiModelProperty(required = true, value = "The max limit of sum of dollar amount of debit transfers in one calendar month (decimal string with two digits of precision e.g. \"10.00\").") + + public String getMaxMonthlyDebitAmount() { + return maxMonthlyDebitAmount; + } + + + public void setMaxMonthlyDebitAmount(String maxMonthlyDebitAmount) { + this.maxMonthlyDebitAmount = maxMonthlyDebitAmount; + } + + + public TransferConfigurationGetResponse isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the dollar amount, e.g. \"USD\". + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the dollar amount, e.g. \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferConfigurationGetResponse transferConfigurationGetResponse = (TransferConfigurationGetResponse) o; + return Objects.equals(this.requestId, transferConfigurationGetResponse.requestId) && + Objects.equals(this.maxSingleTransferAmount, transferConfigurationGetResponse.maxSingleTransferAmount) && + Objects.equals(this.maxSingleTransferCreditAmount, transferConfigurationGetResponse.maxSingleTransferCreditAmount) && + Objects.equals(this.maxSingleTransferDebitAmount, transferConfigurationGetResponse.maxSingleTransferDebitAmount) && + Objects.equals(this.maxDailyCreditAmount, transferConfigurationGetResponse.maxDailyCreditAmount) && + Objects.equals(this.maxDailyDebitAmount, transferConfigurationGetResponse.maxDailyDebitAmount) && + Objects.equals(this.maxMonthlyAmount, transferConfigurationGetResponse.maxMonthlyAmount) && + Objects.equals(this.maxMonthlyCreditAmount, transferConfigurationGetResponse.maxMonthlyCreditAmount) && + Objects.equals(this.maxMonthlyDebitAmount, transferConfigurationGetResponse.maxMonthlyDebitAmount) && + Objects.equals(this.isoCurrencyCode, transferConfigurationGetResponse.isoCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, maxSingleTransferAmount, maxSingleTransferCreditAmount, maxSingleTransferDebitAmount, maxDailyCreditAmount, maxDailyDebitAmount, maxMonthlyAmount, maxMonthlyCreditAmount, maxMonthlyDebitAmount, isoCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferConfigurationGetResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" maxSingleTransferAmount: ").append(toIndentedString(maxSingleTransferAmount)).append("\n"); + sb.append(" maxSingleTransferCreditAmount: ").append(toIndentedString(maxSingleTransferCreditAmount)).append("\n"); + sb.append(" maxSingleTransferDebitAmount: ").append(toIndentedString(maxSingleTransferDebitAmount)).append("\n"); + sb.append(" maxDailyCreditAmount: ").append(toIndentedString(maxDailyCreditAmount)).append("\n"); + sb.append(" maxDailyDebitAmount: ").append(toIndentedString(maxDailyDebitAmount)).append("\n"); + sb.append(" maxMonthlyAmount: ").append(toIndentedString(maxMonthlyAmount)).append("\n"); + sb.append(" maxMonthlyCreditAmount: ").append(toIndentedString(maxMonthlyCreditAmount)).append("\n"); + sb.append(" maxMonthlyDebitAmount: ").append(toIndentedString(maxMonthlyDebitAmount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferCreateRequest.java b/src/main/java/com/plaid/client/model/TransferCreateRequest.java new file mode 100644 index 0000000000..ea99d89795 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferCreateRequest.java @@ -0,0 +1,574 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.TransferNetwork; +import com.plaid.client.model.TransferType; +import com.plaid.client.model.TransferUserInRequestDeprecated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Defines the request schema for `/transfer/create` + */ +@ApiModel(description = "Defines the request schema for `/transfer/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_IDEMPOTENCY_KEY = "idempotency_key"; + @SerializedName(SERIALIZED_NAME_IDEMPOTENCY_KEY) + private String idempotencyKey; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_AUTHORIZATION_ID = "authorization_id"; + @SerializedName(SERIALIZED_NAME_AUTHORIZATION_ID) + private String authorizationId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TransferType type; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private TransferNetwork network; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_ACH_CLASS = "ach_class"; + @SerializedName(SERIALIZED_NAME_ACH_CLASS) + private ACHClass achClass; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private TransferUserInRequestDeprecated user; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private Map metadata = null; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_TEST_CLOCK_ID = "test_clock_id"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK_ID) + private String testClockId; + + public static final String SERIALIZED_NAME_FACILITATOR_FEE = "facilitator_fee"; + @SerializedName(SERIALIZED_NAME_FACILITATOR_FEE) + private String facilitatorFee; + + + public TransferCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferCreateRequest idempotencyKey(String idempotencyKey) { + + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * Deprecated. `authorization_id` is now used as idempotency instead. A random key provided by the client, per unique transfer. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single transfer is created. + * @return idempotencyKey + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Deprecated. `authorization_id` is now used as idempotency instead. A random key provided by the client, per unique transfer. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single transfer is created.") + + public String getIdempotencyKey() { + return idempotencyKey; + } + + + public void setIdempotencyKey(String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + } + + + public TransferCreateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The Plaid `access_token` for the account that will be debited or credited. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The Plaid `access_token` for the account that will be debited or credited.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransferCreateRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` corresponding to the end-user account that will be debited or credited. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` corresponding to the end-user account that will be debited or credited.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransferCreateRequest authorizationId(String authorizationId) { + + this.authorizationId = authorizationId; + return this; + } + + /** + * Plaid's unique identifier for a transfer authorization. This parameter also serves the purpose of acting as an idempotency identifier. + * @return authorizationId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a transfer authorization. This parameter also serves the purpose of acting as an idempotency identifier.") + + public String getAuthorizationId() { + return authorizationId; + } + + + public void setAuthorizationId(String authorizationId) { + this.authorizationId = authorizationId; + } + + + public TransferCreateRequest type(TransferType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferType getType() { + return type; + } + + + public void setType(TransferType type) { + this.type = type; + } + + + public TransferCreateRequest network(TransferNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferNetwork getNetwork() { + return network; + } + + + public void setNetwork(TransferNetwork network) { + this.network = network; + } + + + public TransferCreateRequest amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferCreateRequest description(String description) { + + this.description = description; + return this; + } + + /** + * The transfer description, maximum of 15 characters (RTP transactions) or 10 characters (ACH transactions). Should represent why the money is moving, not your company name. For recommendations on setting the `description` field to avoid ACH returns, see [Description field recommendations](https://www.plaid.com/docs/transfer/creating-transfers/#description-field-recommendations). If reprocessing a returned transfer, the `description` field must be `\"Retry 1\"` or `\"Retry 2\"`. You may retry a transfer up to 2 times, within 180 days of creating the original transfer. Only transfers that were returned with code `R01` or `R09` may be retried. + * @return description + **/ + @ApiModelProperty(required = true, value = "The transfer description, maximum of 15 characters (RTP transactions) or 10 characters (ACH transactions). Should represent why the money is moving, not your company name. For recommendations on setting the `description` field to avoid ACH returns, see [Description field recommendations](https://www.plaid.com/docs/transfer/creating-transfers/#description-field-recommendations). If reprocessing a returned transfer, the `description` field must be `\"Retry 1\"` or `\"Retry 2\"`. You may retry a transfer up to 2 times, within 180 days of creating the original transfer. Only transfers that were returned with code `R01` or `R09` may be retried.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public TransferCreateRequest achClass(ACHClass achClass) { + + this.achClass = achClass; + return this; + } + + /** + * Get achClass + * @return achClass + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ACHClass getAchClass() { + return achClass; + } + + + public void setAchClass(ACHClass achClass) { + this.achClass = achClass; + } + + + public TransferCreateRequest user(TransferUserInRequestDeprecated user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferUserInRequestDeprecated getUser() { + return user; + } + + + public void setUser(TransferUserInRequestDeprecated user) { + this.user = user; + } + + + public TransferCreateRequest metadata(Map metadata) { + + this.metadata = metadata; + return this; + } + + public TransferCreateRequest putMetadataItem(String key, String metadataItem) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, metadataItem); + return this; + } + + /** + * The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters ") + + public Map getMetadata() { + return metadata; + } + + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + + public TransferCreateRequest originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Plaid's unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified. Otherwise, this field should be left blank. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified. Otherwise, this field should be left blank.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public TransferCreateRequest isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the transfer amount. The default value is \"USD\". + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The currency of the transfer amount. The default value is \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TransferCreateRequest testClockId(String testClockId) { + + this.testClockId = testClockId; + return this; + } + + /** + * Plaid's unique identifier for a test clock. This field may only be used when using `sandbox` environment. If provided, the `transfer` is created at the `virtual_time` on the provided `test_clock`. + * @return testClockId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a test clock. This field may only be used when using `sandbox` environment. If provided, the `transfer` is created at the `virtual_time` on the provided `test_clock`.") + + public String getTestClockId() { + return testClockId; + } + + + public void setTestClockId(String testClockId) { + this.testClockId = testClockId; + } + + + public TransferCreateRequest facilitatorFee(String facilitatorFee) { + + this.facilitatorFee = facilitatorFee; + return this; + } + + /** + * The amount to deduct from `transfer.amount` and distribute to the platform's Ledger balance as a facilitator fee (decimal string with two digits of precision e.g. \"10.00\"). The remainder will go to the end-customer's Ledger balance. This must be value greater than 0 and less than or equal to the `transfer.amount`. + * @return facilitatorFee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount to deduct from `transfer.amount` and distribute to the platform's Ledger balance as a facilitator fee (decimal string with two digits of precision e.g. \"10.00\"). The remainder will go to the end-customer's Ledger balance. This must be value greater than 0 and less than or equal to the `transfer.amount`.") + + public String getFacilitatorFee() { + return facilitatorFee; + } + + + public void setFacilitatorFee(String facilitatorFee) { + this.facilitatorFee = facilitatorFee; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferCreateRequest transferCreateRequest = (TransferCreateRequest) o; + return Objects.equals(this.clientId, transferCreateRequest.clientId) && + Objects.equals(this.secret, transferCreateRequest.secret) && + Objects.equals(this.idempotencyKey, transferCreateRequest.idempotencyKey) && + Objects.equals(this.accessToken, transferCreateRequest.accessToken) && + Objects.equals(this.accountId, transferCreateRequest.accountId) && + Objects.equals(this.authorizationId, transferCreateRequest.authorizationId) && + Objects.equals(this.type, transferCreateRequest.type) && + Objects.equals(this.network, transferCreateRequest.network) && + Objects.equals(this.amount, transferCreateRequest.amount) && + Objects.equals(this.description, transferCreateRequest.description) && + Objects.equals(this.achClass, transferCreateRequest.achClass) && + Objects.equals(this.user, transferCreateRequest.user) && + Objects.equals(this.metadata, transferCreateRequest.metadata) && + Objects.equals(this.originationAccountId, transferCreateRequest.originationAccountId) && + Objects.equals(this.isoCurrencyCode, transferCreateRequest.isoCurrencyCode) && + Objects.equals(this.testClockId, transferCreateRequest.testClockId) && + Objects.equals(this.facilitatorFee, transferCreateRequest.facilitatorFee); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, idempotencyKey, accessToken, accountId, authorizationId, type, network, amount, description, achClass, user, metadata, originationAccountId, isoCurrencyCode, testClockId, facilitatorFee); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" idempotencyKey: ").append(toIndentedString(idempotencyKey)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" authorizationId: ").append(toIndentedString(authorizationId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" achClass: ").append(toIndentedString(achClass)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" testClockId: ").append(toIndentedString(testClockId)).append("\n"); + sb.append(" facilitatorFee: ").append(toIndentedString(facilitatorFee)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferCreateResponse.java b/src/main/java/com/plaid/client/model/TransferCreateResponse.java new file mode 100644 index 0000000000..04721ba6f5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferCreateResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Transfer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/create` + */ +@ApiModel(description = "Defines the response schema for `/transfer/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferCreateResponse { + public static final String SERIALIZED_NAME_TRANSFER = "transfer"; + @SerializedName(SERIALIZED_NAME_TRANSFER) + private Transfer transfer; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferCreateResponse transfer(Transfer transfer) { + + this.transfer = transfer; + return this; + } + + /** + * Get transfer + * @return transfer + **/ + @ApiModelProperty(required = true, value = "") + + public Transfer getTransfer() { + return transfer; + } + + + public void setTransfer(Transfer transfer) { + this.transfer = transfer; + } + + + public TransferCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferCreateResponse transferCreateResponse = (TransferCreateResponse) o; + return Objects.equals(this.transfer, transferCreateResponse.transfer) && + Objects.equals(this.requestId, transferCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(transfer, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferCreateResponse {\n"); + sb.append(" transfer: ").append(toIndentedString(transfer)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferCreditFundsSource.java b/src/main/java/com/plaid/client/model/TransferCreditFundsSource.java new file mode 100644 index 0000000000..80c924a29f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferCreditFundsSource.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * This field is now deprecated. You may ignore it for transfers created on and after 12/01/2023. Specifies the source of funds for the transfer. Only valid for `credit` transfers, and defaults to `sweep` if not specified. This field is not specified for `debit` transfers. `sweep` - Sweep funds from your funding account `prefunded_rtp_credits` - Use your prefunded RTP credit balance with Plaid `prefunded_ach_credits` - Use your prefunded ACH credit balance with Plaid + */ +@JsonAdapter(TransferCreditFundsSource.Adapter.class) +public enum TransferCreditFundsSource { + + SWEEP("sweep"), + + PREFUNDED_RTP_CREDITS("prefunded_rtp_credits"), + + PREFUNDED_ACH_CREDITS("prefunded_ach_credits"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferCreditFundsSource(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferCreditFundsSource fromValue(String value) { + for (TransferCreditFundsSource b : TransferCreditFundsSource.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferCreditFundsSource enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferCreditFundsSource read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferCreditFundsSource.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferCreditUsageConfiguration.java b/src/main/java/com/plaid/client/model/TransferCreditUsageConfiguration.java new file mode 100644 index 0000000000..ba584e23f5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferCreditUsageConfiguration.java @@ -0,0 +1,219 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.CreditACHClass; +import com.plaid.client.model.OriginatorExpectedTransferFrequency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Specifies the originator's expected usage of credits. For all dollar amounts, use a decimal string with two digits of precision e.g. \"10.00\". This field is required if the originator is expected to process credit transfers. + */ +@ApiModel(description = "Specifies the originator's expected usage of credits. For all dollar amounts, use a decimal string with two digits of precision e.g. \"10.00\". This field is required if the originator is expected to process credit transfers.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferCreditUsageConfiguration { + public static final String SERIALIZED_NAME_EXPECTED_FREQUENCY = "expected_frequency"; + @SerializedName(SERIALIZED_NAME_EXPECTED_FREQUENCY) + private OriginatorExpectedTransferFrequency expectedFrequency; + + public static final String SERIALIZED_NAME_EXPECTED_HIGHEST_AMOUNT = "expected_highest_amount"; + @SerializedName(SERIALIZED_NAME_EXPECTED_HIGHEST_AMOUNT) + private String expectedHighestAmount; + + public static final String SERIALIZED_NAME_EXPECTED_AVERAGE_AMOUNT = "expected_average_amount"; + @SerializedName(SERIALIZED_NAME_EXPECTED_AVERAGE_AMOUNT) + private String expectedAverageAmount; + + public static final String SERIALIZED_NAME_EXPECTED_MONTHLY_AMOUNT = "expected_monthly_amount"; + @SerializedName(SERIALIZED_NAME_EXPECTED_MONTHLY_AMOUNT) + private String expectedMonthlyAmount; + + public static final String SERIALIZED_NAME_SEC_CODES = "sec_codes"; + @SerializedName(SERIALIZED_NAME_SEC_CODES) + private List secCodes = new ArrayList<>(); + + + public TransferCreditUsageConfiguration expectedFrequency(OriginatorExpectedTransferFrequency expectedFrequency) { + + this.expectedFrequency = expectedFrequency; + return this; + } + + /** + * Get expectedFrequency + * @return expectedFrequency + **/ + @ApiModelProperty(required = true, value = "") + + public OriginatorExpectedTransferFrequency getExpectedFrequency() { + return expectedFrequency; + } + + + public void setExpectedFrequency(OriginatorExpectedTransferFrequency expectedFrequency) { + this.expectedFrequency = expectedFrequency; + } + + + public TransferCreditUsageConfiguration expectedHighestAmount(String expectedHighestAmount) { + + this.expectedHighestAmount = expectedHighestAmount; + return this; + } + + /** + * The originator's expected highest amount for a single credit transfer. + * @return expectedHighestAmount + **/ + @ApiModelProperty(required = true, value = "The originator's expected highest amount for a single credit transfer.") + + public String getExpectedHighestAmount() { + return expectedHighestAmount; + } + + + public void setExpectedHighestAmount(String expectedHighestAmount) { + this.expectedHighestAmount = expectedHighestAmount; + } + + + public TransferCreditUsageConfiguration expectedAverageAmount(String expectedAverageAmount) { + + this.expectedAverageAmount = expectedAverageAmount; + return this; + } + + /** + * The originator's expected average amount per credit. + * @return expectedAverageAmount + **/ + @ApiModelProperty(required = true, value = "The originator's expected average amount per credit.") + + public String getExpectedAverageAmount() { + return expectedAverageAmount; + } + + + public void setExpectedAverageAmount(String expectedAverageAmount) { + this.expectedAverageAmount = expectedAverageAmount; + } + + + public TransferCreditUsageConfiguration expectedMonthlyAmount(String expectedMonthlyAmount) { + + this.expectedMonthlyAmount = expectedMonthlyAmount; + return this; + } + + /** + * The originator's monthly expected ACH credit processing amount for the next 6-12 months. + * @return expectedMonthlyAmount + **/ + @ApiModelProperty(required = true, value = "The originator's monthly expected ACH credit processing amount for the next 6-12 months.") + + public String getExpectedMonthlyAmount() { + return expectedMonthlyAmount; + } + + + public void setExpectedMonthlyAmount(String expectedMonthlyAmount) { + this.expectedMonthlyAmount = expectedMonthlyAmount; + } + + + public TransferCreditUsageConfiguration secCodes(List secCodes) { + + this.secCodes = secCodes; + return this; + } + + public TransferCreditUsageConfiguration addSecCodesItem(CreditACHClass secCodesItem) { + this.secCodes.add(secCodesItem); + return this; + } + + /** + * Specifies the expected use cases for the originator's credit transfers. This should be a list that contains one or more of the following codes: `\"ccd\"` - Corporate Credit or Debit - fund transfer between two corporate bank accounts `\"ppd\"` - Prearranged Payment or Deposit. The transfer is part of a pre-existing relationship with a consumer. Authorization was obtained from the consumer in person via writing, or through online authorization, or via an electronic document signing, e.g. Docusign. For example language for online authorization, see the 2025 Nacha Operating Rules -- Section 2.3.2, Authorization of Entries via Electronic Means. Can be used for credits or debits. `\"web\"` - Internet-Initiated Entry. The transfer debits a consumer's bank account. Authorization from the consumer is obtained over the Internet (e.g. a web or mobile application). Can be used for single debits or recurring debits. + * @return secCodes + **/ + @ApiModelProperty(required = true, value = "Specifies the expected use cases for the originator's credit transfers. This should be a list that contains one or more of the following codes: `\"ccd\"` - Corporate Credit or Debit - fund transfer between two corporate bank accounts `\"ppd\"` - Prearranged Payment or Deposit. The transfer is part of a pre-existing relationship with a consumer. Authorization was obtained from the consumer in person via writing, or through online authorization, or via an electronic document signing, e.g. Docusign. For example language for online authorization, see the 2025 Nacha Operating Rules -- Section 2.3.2, Authorization of Entries via Electronic Means. Can be used for credits or debits. `\"web\"` - Internet-Initiated Entry. The transfer debits a consumer's bank account. Authorization from the consumer is obtained over the Internet (e.g. a web or mobile application). Can be used for single debits or recurring debits.") + + public List getSecCodes() { + return secCodes; + } + + + public void setSecCodes(List secCodes) { + this.secCodes = secCodes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferCreditUsageConfiguration transferCreditUsageConfiguration = (TransferCreditUsageConfiguration) o; + return Objects.equals(this.expectedFrequency, transferCreditUsageConfiguration.expectedFrequency) && + Objects.equals(this.expectedHighestAmount, transferCreditUsageConfiguration.expectedHighestAmount) && + Objects.equals(this.expectedAverageAmount, transferCreditUsageConfiguration.expectedAverageAmount) && + Objects.equals(this.expectedMonthlyAmount, transferCreditUsageConfiguration.expectedMonthlyAmount) && + Objects.equals(this.secCodes, transferCreditUsageConfiguration.secCodes); + } + + @Override + public int hashCode() { + return Objects.hash(expectedFrequency, expectedHighestAmount, expectedAverageAmount, expectedMonthlyAmount, secCodes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferCreditUsageConfiguration {\n"); + sb.append(" expectedFrequency: ").append(toIndentedString(expectedFrequency)).append("\n"); + sb.append(" expectedHighestAmount: ").append(toIndentedString(expectedHighestAmount)).append("\n"); + sb.append(" expectedAverageAmount: ").append(toIndentedString(expectedAverageAmount)).append("\n"); + sb.append(" expectedMonthlyAmount: ").append(toIndentedString(expectedMonthlyAmount)).append("\n"); + sb.append(" secCodes: ").append(toIndentedString(secCodes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferDebitUsageConfiguration.java b/src/main/java/com/plaid/client/model/TransferDebitUsageConfiguration.java new file mode 100644 index 0000000000..9277ab9493 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferDebitUsageConfiguration.java @@ -0,0 +1,219 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.OriginatorExpectedTransferFrequency; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Specifies the originator's expected usage of debits. For all dollar amounts, use a decimal string with two digits of precision e.g. \"10.00\". This field is required if the originator is expected to process debit transfers. + */ +@ApiModel(description = "Specifies the originator's expected usage of debits. For all dollar amounts, use a decimal string with two digits of precision e.g. \"10.00\". This field is required if the originator is expected to process debit transfers.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferDebitUsageConfiguration { + public static final String SERIALIZED_NAME_EXPECTED_FREQUENCY = "expected_frequency"; + @SerializedName(SERIALIZED_NAME_EXPECTED_FREQUENCY) + private OriginatorExpectedTransferFrequency expectedFrequency; + + public static final String SERIALIZED_NAME_EXPECTED_HIGHEST_AMOUNT = "expected_highest_amount"; + @SerializedName(SERIALIZED_NAME_EXPECTED_HIGHEST_AMOUNT) + private String expectedHighestAmount; + + public static final String SERIALIZED_NAME_EXPECTED_AVERAGE_AMOUNT = "expected_average_amount"; + @SerializedName(SERIALIZED_NAME_EXPECTED_AVERAGE_AMOUNT) + private String expectedAverageAmount; + + public static final String SERIALIZED_NAME_EXPECTED_MONTHLY_AMOUNT = "expected_monthly_amount"; + @SerializedName(SERIALIZED_NAME_EXPECTED_MONTHLY_AMOUNT) + private String expectedMonthlyAmount; + + public static final String SERIALIZED_NAME_SEC_CODES = "sec_codes"; + @SerializedName(SERIALIZED_NAME_SEC_CODES) + private List secCodes = new ArrayList<>(); + + + public TransferDebitUsageConfiguration expectedFrequency(OriginatorExpectedTransferFrequency expectedFrequency) { + + this.expectedFrequency = expectedFrequency; + return this; + } + + /** + * Get expectedFrequency + * @return expectedFrequency + **/ + @ApiModelProperty(required = true, value = "") + + public OriginatorExpectedTransferFrequency getExpectedFrequency() { + return expectedFrequency; + } + + + public void setExpectedFrequency(OriginatorExpectedTransferFrequency expectedFrequency) { + this.expectedFrequency = expectedFrequency; + } + + + public TransferDebitUsageConfiguration expectedHighestAmount(String expectedHighestAmount) { + + this.expectedHighestAmount = expectedHighestAmount; + return this; + } + + /** + * The originator's expected highest amount for a single debit transfer. + * @return expectedHighestAmount + **/ + @ApiModelProperty(required = true, value = "The originator's expected highest amount for a single debit transfer.") + + public String getExpectedHighestAmount() { + return expectedHighestAmount; + } + + + public void setExpectedHighestAmount(String expectedHighestAmount) { + this.expectedHighestAmount = expectedHighestAmount; + } + + + public TransferDebitUsageConfiguration expectedAverageAmount(String expectedAverageAmount) { + + this.expectedAverageAmount = expectedAverageAmount; + return this; + } + + /** + * The originator's expected average amount per debit. + * @return expectedAverageAmount + **/ + @ApiModelProperty(required = true, value = "The originator's expected average amount per debit.") + + public String getExpectedAverageAmount() { + return expectedAverageAmount; + } + + + public void setExpectedAverageAmount(String expectedAverageAmount) { + this.expectedAverageAmount = expectedAverageAmount; + } + + + public TransferDebitUsageConfiguration expectedMonthlyAmount(String expectedMonthlyAmount) { + + this.expectedMonthlyAmount = expectedMonthlyAmount; + return this; + } + + /** + * The originator's monthly expected ACH debit processing amount for the next 6-12 months. + * @return expectedMonthlyAmount + **/ + @ApiModelProperty(required = true, value = "The originator's monthly expected ACH debit processing amount for the next 6-12 months.") + + public String getExpectedMonthlyAmount() { + return expectedMonthlyAmount; + } + + + public void setExpectedMonthlyAmount(String expectedMonthlyAmount) { + this.expectedMonthlyAmount = expectedMonthlyAmount; + } + + + public TransferDebitUsageConfiguration secCodes(List secCodes) { + + this.secCodes = secCodes; + return this; + } + + public TransferDebitUsageConfiguration addSecCodesItem(ACHClass secCodesItem) { + this.secCodes.add(secCodesItem); + return this; + } + + /** + * Specifies the expected use cases for the originator's debit transfers. This should be a list that contains one or more of the following codes: `\"ccd\"` - Corporate Credit or Debit - fund transfer between two corporate bank accounts `\"ppd\"` - Prearranged Payment or Deposit - The transfer is part of a pre-existing relationship with a consumer. Authorization was obtained in writing either in person or via an electronic document signing, e.g. Docusign, by the consumer. Can be used for credits or debits. `\"web\"` - Internet-Initiated Entry. The transfer debits a consumer's bank account. Authorization from the consumer is obtained over the Internet (e.g. a web or mobile application). Can be used for single debits or recurring debits. `\"tel\"` - Telephone-Initiated Entry. The transfer debits a consumer. Debit authorization has been received orally over the telephone via a recorded call. + * @return secCodes + **/ + @ApiModelProperty(required = true, value = "Specifies the expected use cases for the originator's debit transfers. This should be a list that contains one or more of the following codes: `\"ccd\"` - Corporate Credit or Debit - fund transfer between two corporate bank accounts `\"ppd\"` - Prearranged Payment or Deposit - The transfer is part of a pre-existing relationship with a consumer. Authorization was obtained in writing either in person or via an electronic document signing, e.g. Docusign, by the consumer. Can be used for credits or debits. `\"web\"` - Internet-Initiated Entry. The transfer debits a consumer's bank account. Authorization from the consumer is obtained over the Internet (e.g. a web or mobile application). Can be used for single debits or recurring debits. `\"tel\"` - Telephone-Initiated Entry. The transfer debits a consumer. Debit authorization has been received orally over the telephone via a recorded call.") + + public List getSecCodes() { + return secCodes; + } + + + public void setSecCodes(List secCodes) { + this.secCodes = secCodes; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferDebitUsageConfiguration transferDebitUsageConfiguration = (TransferDebitUsageConfiguration) o; + return Objects.equals(this.expectedFrequency, transferDebitUsageConfiguration.expectedFrequency) && + Objects.equals(this.expectedHighestAmount, transferDebitUsageConfiguration.expectedHighestAmount) && + Objects.equals(this.expectedAverageAmount, transferDebitUsageConfiguration.expectedAverageAmount) && + Objects.equals(this.expectedMonthlyAmount, transferDebitUsageConfiguration.expectedMonthlyAmount) && + Objects.equals(this.secCodes, transferDebitUsageConfiguration.secCodes); + } + + @Override + public int hashCode() { + return Objects.hash(expectedFrequency, expectedHighestAmount, expectedAverageAmount, expectedMonthlyAmount, secCodes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferDebitUsageConfiguration {\n"); + sb.append(" expectedFrequency: ").append(toIndentedString(expectedFrequency)).append("\n"); + sb.append(" expectedHighestAmount: ").append(toIndentedString(expectedHighestAmount)).append("\n"); + sb.append(" expectedAverageAmount: ").append(toIndentedString(expectedAverageAmount)).append("\n"); + sb.append(" expectedMonthlyAmount: ").append(toIndentedString(expectedMonthlyAmount)).append("\n"); + sb.append(" secCodes: ").append(toIndentedString(secCodes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferDevice.java b/src/main/java/com/plaid/client/model/TransferDevice.java new file mode 100644 index 0000000000..df831faa4d --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferDevice.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the device being used to initiate the authorization. + */ +@ApiModel(description = "Information about the device being used to initiate the authorization.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferDevice { + public static final String SERIALIZED_NAME_IP_ADDRESS = "ip_address"; + @SerializedName(SERIALIZED_NAME_IP_ADDRESS) + private String ipAddress; + + public static final String SERIALIZED_NAME_USER_AGENT = "user_agent"; + @SerializedName(SERIALIZED_NAME_USER_AGENT) + private String userAgent; + + + public TransferDevice ipAddress(String ipAddress) { + + this.ipAddress = ipAddress; + return this; + } + + /** + * The IP address of the device being used to initiate the authorization. + * @return ipAddress + **/ + @ApiModelProperty(required = true, value = "The IP address of the device being used to initiate the authorization.") + + public String getIpAddress() { + return ipAddress; + } + + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + + public TransferDevice userAgent(String userAgent) { + + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the device being used to initiate the authorization. + * @return userAgent + **/ + @ApiModelProperty(required = true, value = "The user agent of the device being used to initiate the authorization.") + + public String getUserAgent() { + return userAgent; + } + + + public void setUserAgent(String userAgent) { + this.userAgent = userAgent; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferDevice transferDevice = (TransferDevice) o; + return Objects.equals(this.ipAddress, transferDevice.ipAddress) && + Objects.equals(this.userAgent, transferDevice.userAgent); + } + + @Override + public int hashCode() { + return Objects.hash(ipAddress, userAgent); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferDevice {\n"); + sb.append(" ipAddress: ").append(toIndentedString(ipAddress)).append("\n"); + sb.append(" userAgent: ").append(toIndentedString(userAgent)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferDiligenceDocumentUploadRequest.java b/src/main/java/com/plaid/client/model/TransferDiligenceDocumentUploadRequest.java new file mode 100644 index 0000000000..48b7d43ef2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferDiligenceDocumentUploadRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferDocumentPurpose; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.File; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/diligence/document/upload` + */ +@ApiModel(description = "Defines the request schema for `/transfer/diligence/document/upload`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferDiligenceDocumentUploadRequest { + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_FILE = "file"; + @SerializedName(SERIALIZED_NAME_FILE) + private File file; + + public static final String SERIALIZED_NAME_PURPOSE = "purpose"; + @SerializedName(SERIALIZED_NAME_PURPOSE) + private TransferDocumentPurpose purpose; + + + public TransferDiligenceDocumentUploadRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The Client ID of the originator whose document that you want to upload. + * @return originatorClientId + **/ + @ApiModelProperty(required = true, value = "The Client ID of the originator whose document that you want to upload.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferDiligenceDocumentUploadRequest file(File file) { + + this.file = file; + return this; + } + + /** + * A file to upload. The file size must be less than 20MB. Supported file extensions: .pdf. + * @return file + **/ + @ApiModelProperty(required = true, value = "A file to upload. The file size must be less than 20MB. Supported file extensions: .pdf.") + + public File getFile() { + return file; + } + + + public void setFile(File file) { + this.file = file; + } + + + public TransferDiligenceDocumentUploadRequest purpose(TransferDocumentPurpose purpose) { + + this.purpose = purpose; + return this; + } + + /** + * Get purpose + * @return purpose + **/ + @ApiModelProperty(required = true, value = "") + + public TransferDocumentPurpose getPurpose() { + return purpose; + } + + + public void setPurpose(TransferDocumentPurpose purpose) { + this.purpose = purpose; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferDiligenceDocumentUploadRequest transferDiligenceDocumentUploadRequest = (TransferDiligenceDocumentUploadRequest) o; + return Objects.equals(this.originatorClientId, transferDiligenceDocumentUploadRequest.originatorClientId) && + Objects.equals(this.file, transferDiligenceDocumentUploadRequest.file) && + Objects.equals(this.purpose, transferDiligenceDocumentUploadRequest.purpose); + } + + @Override + public int hashCode() { + return Objects.hash(originatorClientId, file, purpose); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferDiligenceDocumentUploadRequest {\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" file: ").append(toIndentedString(file)).append("\n"); + sb.append(" purpose: ").append(toIndentedString(purpose)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferDiligenceDocumentUploadResponse.java b/src/main/java/com/plaid/client/model/TransferDiligenceDocumentUploadResponse.java new file mode 100644 index 0000000000..1763c11a33 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferDiligenceDocumentUploadResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/diligence/document/upload` + */ +@ApiModel(description = "Defines the response schema for `/transfer/diligence/document/upload`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferDiligenceDocumentUploadResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferDiligenceDocumentUploadResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferDiligenceDocumentUploadResponse transferDiligenceDocumentUploadResponse = (TransferDiligenceDocumentUploadResponse) o; + return Objects.equals(this.requestId, transferDiligenceDocumentUploadResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferDiligenceDocumentUploadResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferDiligenceStatus.java b/src/main/java/com/plaid/client/model/TransferDiligenceStatus.java new file mode 100644 index 0000000000..af042c75a6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferDiligenceStatus.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Originator's diligence status. + */ +@JsonAdapter(TransferDiligenceStatus.Adapter.class) +public enum TransferDiligenceStatus { + + NOT_SUBMITTED("not_submitted"), + + SUBMITTED("submitted"), + + UNDER_REVIEW("under_review"), + + APPROVED("approved"), + + DENIED("denied"), + + MORE_INFORMATION_REQUIRED("more_information_required"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferDiligenceStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferDiligenceStatus fromValue(String value) { + for (TransferDiligenceStatus b : TransferDiligenceStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferDiligenceStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferDiligenceStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferDiligenceStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferDiligenceStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferDiligenceSubmitRequest.java b/src/main/java/com/plaid/client/model/TransferDiligenceSubmitRequest.java new file mode 100644 index 0000000000..e508d9ea82 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferDiligenceSubmitRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferOriginatorDiligence; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/diligence/submit` + */ +@ApiModel(description = "Defines the request schema for `/transfer/diligence/submit`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferDiligenceSubmitRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_ORIGINATOR_DILIGENCE = "originator_diligence"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_DILIGENCE) + private TransferOriginatorDiligence originatorDiligence; + + + public TransferDiligenceSubmitRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferDiligenceSubmitRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferDiligenceSubmitRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * Client ID of the originator whose diligence that you want to submit. + * @return originatorClientId + **/ + @ApiModelProperty(required = true, value = "Client ID of the originator whose diligence that you want to submit.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferDiligenceSubmitRequest originatorDiligence(TransferOriginatorDiligence originatorDiligence) { + + this.originatorDiligence = originatorDiligence; + return this; + } + + /** + * Get originatorDiligence + * @return originatorDiligence + **/ + @ApiModelProperty(required = true, value = "") + + public TransferOriginatorDiligence getOriginatorDiligence() { + return originatorDiligence; + } + + + public void setOriginatorDiligence(TransferOriginatorDiligence originatorDiligence) { + this.originatorDiligence = originatorDiligence; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferDiligenceSubmitRequest transferDiligenceSubmitRequest = (TransferDiligenceSubmitRequest) o; + return Objects.equals(this.clientId, transferDiligenceSubmitRequest.clientId) && + Objects.equals(this.secret, transferDiligenceSubmitRequest.secret) && + Objects.equals(this.originatorClientId, transferDiligenceSubmitRequest.originatorClientId) && + Objects.equals(this.originatorDiligence, transferDiligenceSubmitRequest.originatorDiligence); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originatorClientId, originatorDiligence); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferDiligenceSubmitRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" originatorDiligence: ").append(toIndentedString(originatorDiligence)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferDiligenceSubmitResponse.java b/src/main/java/com/plaid/client/model/TransferDiligenceSubmitResponse.java new file mode 100644 index 0000000000..069cf9758c --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferDiligenceSubmitResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/diligence/submit` + */ +@ApiModel(description = "Defines the response schema for `/transfer/diligence/submit`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferDiligenceSubmitResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferDiligenceSubmitResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferDiligenceSubmitResponse transferDiligenceSubmitResponse = (TransferDiligenceSubmitResponse) o; + return Objects.equals(this.requestId, transferDiligenceSubmitResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferDiligenceSubmitResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferDocumentPurpose.java b/src/main/java/com/plaid/client/model/TransferDocumentPurpose.java new file mode 100644 index 0000000000..b1ea9c3425 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferDocumentPurpose.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Specifies the purpose of the uploaded file. `\"DUE_DILIGENCE\"` - The transfer due diligence document of the originator. + */ +@JsonAdapter(TransferDocumentPurpose.Adapter.class) +public enum TransferDocumentPurpose { + + DUE_DILIGENCE("DUE_DILIGENCE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferDocumentPurpose(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferDocumentPurpose fromValue(String value) { + for (TransferDocumentPurpose b : TransferDocumentPurpose.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferDocumentPurpose.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferDocumentPurpose enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferDocumentPurpose read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferDocumentPurpose.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferEvent.java b/src/main/java/com/plaid/client/model/TransferEvent.java new file mode 100644 index 0000000000..1e04ef9f32 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferEvent.java @@ -0,0 +1,593 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.OmittableTransferType; +import com.plaid.client.model.TransferEventType; +import com.plaid.client.model.TransferFailure; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Represents an event in the Transfers API. + */ +@ApiModel(description = "Represents an event in the Transfers API.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferEvent { + public static final String SERIALIZED_NAME_EVENT_ID = "event_id"; + @SerializedName(SERIALIZED_NAME_EVENT_ID) + private Integer eventId; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + public static final String SERIALIZED_NAME_EVENT_TYPE = "event_type"; + @SerializedName(SERIALIZED_NAME_EVENT_TYPE) + private TransferEventType eventType; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_TRANSFER_TYPE = "transfer_type"; + @SerializedName(SERIALIZED_NAME_TRANSFER_TYPE) + private OmittableTransferType transferType; + + public static final String SERIALIZED_NAME_TRANSFER_AMOUNT = "transfer_amount"; + @SerializedName(SERIALIZED_NAME_TRANSFER_AMOUNT) + private String transferAmount; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private TransferFailure failureReason; + + public static final String SERIALIZED_NAME_SWEEP_ID = "sweep_id"; + @SerializedName(SERIALIZED_NAME_SWEEP_ID) + private String sweepId; + + public static final String SERIALIZED_NAME_SWEEP_AMOUNT = "sweep_amount"; + @SerializedName(SERIALIZED_NAME_SWEEP_AMOUNT) + private String sweepAmount; + + public static final String SERIALIZED_NAME_EVENT_AMOUNT = "event_amount"; + @SerializedName(SERIALIZED_NAME_EVENT_AMOUNT) + private String eventAmount; + + public static final String SERIALIZED_NAME_REFUND_ID = "refund_id"; + @SerializedName(SERIALIZED_NAME_REFUND_ID) + private String refundId; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_INTENT_ID = "intent_id"; + @SerializedName(SERIALIZED_NAME_INTENT_ID) + private String intentId; + + public static final String SERIALIZED_NAME_WIRE_RETURN_FEE = "wire_return_fee"; + @SerializedName(SERIALIZED_NAME_WIRE_RETURN_FEE) + private String wireReturnFee; + + + public TransferEvent eventId(Integer eventId) { + + this.eventId = eventId; + return this; + } + + /** + * Plaid's unique identifier for this event. IDs are sequential unsigned 64-bit integers. + * minimum: 0 + * @return eventId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for this event. IDs are sequential unsigned 64-bit integers.") + + public Integer getEventId() { + return eventId; + } + + + public void setEventId(Integer eventId) { + this.eventId = eventId; + } + + + public TransferEvent timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * The datetime when this event occurred. This will be of the form `2006-01-02T15:04:05Z`. + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "The datetime when this event occurred. This will be of the form `2006-01-02T15:04:05Z`.") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + public TransferEvent eventType(TransferEventType eventType) { + + this.eventType = eventType; + return this; + } + + /** + * Get eventType + * @return eventType + **/ + @ApiModelProperty(required = true, value = "") + + public TransferEventType getEventType() { + return eventType; + } + + + public void setEventType(TransferEventType eventType) { + this.eventType = eventType; + } + + + public TransferEvent accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The account ID associated with the transfer. This field is omitted for Plaid Ledger Sweep events. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account ID associated with the transfer. This field is omitted for Plaid Ledger Sweep events.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransferEvent fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * The id of the associated funding account, available in the Plaid Dashboard. If present, this indicates which of your business checking accounts will be credited or debited. + * @return fundingAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The id of the associated funding account, available in the Plaid Dashboard. If present, this indicates which of your business checking accounts will be credited or debited.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public TransferEvent ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * Plaid's unique identifier for a Plaid Ledger Balance. + * @return ledgerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a Plaid Ledger Balance.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public TransferEvent transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * Plaid's unique identifier for a transfer. This field is an empty string for Plaid Ledger Sweep events. + * @return transferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a transfer. This field is an empty string for Plaid Ledger Sweep events.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public TransferEvent originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * The ID of the origination account that this balance belongs to. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The ID of the origination account that this balance belongs to.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public TransferEvent transferType(OmittableTransferType transferType) { + + this.transferType = transferType; + return this; + } + + /** + * Get transferType + * @return transferType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public OmittableTransferType getTransferType() { + return transferType; + } + + + public void setTransferType(OmittableTransferType transferType) { + this.transferType = transferType; + } + + + public TransferEvent transferAmount(String transferAmount) { + + this.transferAmount = transferAmount; + return this; + } + + /** + * The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). This field is omitted for Plaid Ledger Sweep events. + * @return transferAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). This field is omitted for Plaid Ledger Sweep events.") + + public String getTransferAmount() { + return transferAmount; + } + + + public void setTransferAmount(String transferAmount) { + this.transferAmount = transferAmount; + } + + + public TransferEvent failureReason(TransferFailure failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferFailure getFailureReason() { + return failureReason; + } + + + public void setFailureReason(TransferFailure failureReason) { + this.failureReason = failureReason; + } + + + public TransferEvent sweepId(String sweepId) { + + this.sweepId = sweepId; + return this; + } + + /** + * Plaid's unique identifier for a sweep. + * @return sweepId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a sweep.") + + public String getSweepId() { + return sweepId; + } + + + public void setSweepId(String sweepId) { + this.sweepId = sweepId; + } + + + public TransferEvent sweepAmount(String sweepAmount) { + + this.sweepAmount = sweepAmount; + return this; + } + + /** + * A signed amount of how much was `swept` or `return_swept` for this transfer (decimal string with two digits of precision e.g. \"-5.50\"). + * @return sweepAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A signed amount of how much was `swept` or `return_swept` for this transfer (decimal string with two digits of precision e.g. \"-5.50\").") + + public String getSweepAmount() { + return sweepAmount; + } + + + public void setSweepAmount(String sweepAmount) { + this.sweepAmount = sweepAmount; + } + + + public TransferEvent eventAmount(String eventAmount) { + + this.eventAmount = eventAmount; + return this; + } + + /** + * A signed amount associated with this event (decimal string with two digits of precision e.g. \"10.00\" or \"-10.00\"). + * @return eventAmount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A signed amount associated with this event (decimal string with two digits of precision e.g. \"10.00\" or \"-10.00\").") + + public String getEventAmount() { + return eventAmount; + } + + + public void setEventAmount(String eventAmount) { + this.eventAmount = eventAmount; + } + + + public TransferEvent refundId(String refundId) { + + this.refundId = refundId; + return this; + } + + /** + * Plaid's unique identifier for a refund. A non-null value indicates the event is for the associated refund of the transfer. + * @return refundId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a refund. A non-null value indicates the event is for the associated refund of the transfer.") + + public String getRefundId() { + return refundId; + } + + + public void setRefundId(String refundId) { + this.refundId = refundId; + } + + + public TransferEvent originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The Plaid client ID that is the originator of the transfer that this event applies to. Only present if the transfer was created on behalf of another client as a third-party sender (TPS). + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The Plaid client ID that is the originator of the transfer that this event applies to. Only present if the transfer was created on behalf of another client as a third-party sender (TPS).") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferEvent intentId(String intentId) { + + this.intentId = intentId; + return this; + } + + /** + * The `id` returned by the `/transfer/intent/create` endpoint, for transfers created via Transfer UI. For transfers not created by Transfer UI, the value is `null`. This will currently only be populated for RfP transfers. + * @return intentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `id` returned by the `/transfer/intent/create` endpoint, for transfers created via Transfer UI. For transfers not created by Transfer UI, the value is `null`. This will currently only be populated for RfP transfers.") + + public String getIntentId() { + return intentId; + } + + + public void setIntentId(String intentId) { + this.intentId = intentId; + } + + + public TransferEvent wireReturnFee(String wireReturnFee) { + + this.wireReturnFee = wireReturnFee; + return this; + } + + /** + * The fee amount deducted from the original transfer during a wire return, if applicable. + * @return wireReturnFee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The fee amount deducted from the original transfer during a wire return, if applicable.") + + public String getWireReturnFee() { + return wireReturnFee; + } + + + public void setWireReturnFee(String wireReturnFee) { + this.wireReturnFee = wireReturnFee; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferEvent transferEvent = (TransferEvent) o; + return Objects.equals(this.eventId, transferEvent.eventId) && + Objects.equals(this.timestamp, transferEvent.timestamp) && + Objects.equals(this.eventType, transferEvent.eventType) && + Objects.equals(this.accountId, transferEvent.accountId) && + Objects.equals(this.fundingAccountId, transferEvent.fundingAccountId) && + Objects.equals(this.ledgerId, transferEvent.ledgerId) && + Objects.equals(this.transferId, transferEvent.transferId) && + Objects.equals(this.originationAccountId, transferEvent.originationAccountId) && + Objects.equals(this.transferType, transferEvent.transferType) && + Objects.equals(this.transferAmount, transferEvent.transferAmount) && + Objects.equals(this.failureReason, transferEvent.failureReason) && + Objects.equals(this.sweepId, transferEvent.sweepId) && + Objects.equals(this.sweepAmount, transferEvent.sweepAmount) && + Objects.equals(this.eventAmount, transferEvent.eventAmount) && + Objects.equals(this.refundId, transferEvent.refundId) && + Objects.equals(this.originatorClientId, transferEvent.originatorClientId) && + Objects.equals(this.intentId, transferEvent.intentId) && + Objects.equals(this.wireReturnFee, transferEvent.wireReturnFee); + } + + @Override + public int hashCode() { + return Objects.hash(eventId, timestamp, eventType, accountId, fundingAccountId, ledgerId, transferId, originationAccountId, transferType, transferAmount, failureReason, sweepId, sweepAmount, eventAmount, refundId, originatorClientId, intentId, wireReturnFee); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferEvent {\n"); + sb.append(" eventId: ").append(toIndentedString(eventId)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" transferType: ").append(toIndentedString(transferType)).append("\n"); + sb.append(" transferAmount: ").append(toIndentedString(transferAmount)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append(" sweepId: ").append(toIndentedString(sweepId)).append("\n"); + sb.append(" sweepAmount: ").append(toIndentedString(sweepAmount)).append("\n"); + sb.append(" eventAmount: ").append(toIndentedString(eventAmount)).append("\n"); + sb.append(" refundId: ").append(toIndentedString(refundId)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" intentId: ").append(toIndentedString(intentId)).append("\n"); + sb.append(" wireReturnFee: ").append(toIndentedString(wireReturnFee)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferEventListRequest.java b/src/main/java/com/plaid/client/model/TransferEventListRequest.java new file mode 100644 index 0000000000..fe337f4579 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferEventListRequest.java @@ -0,0 +1,492 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferEventListTransferType; +import com.plaid.client.model.TransferEventType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the request schema for `/transfer/event/list` + */ +@ApiModel(description = "Defines the request schema for `/transfer/event/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferEventListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private OffsetDateTime startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private OffsetDateTime endDate; + + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_TRANSFER_TYPE = "transfer_type"; + @SerializedName(SERIALIZED_NAME_TRANSFER_TYPE) + private TransferEventListTransferType transferType; + + public static final String SERIALIZED_NAME_EVENT_TYPES = "event_types"; + @SerializedName(SERIALIZED_NAME_EVENT_TYPES) + private List eventTypes = null; + + public static final String SERIALIZED_NAME_SWEEP_ID = "sweep_id"; + @SerializedName(SERIALIZED_NAME_SWEEP_ID) + private String sweepId; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 25; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + + public TransferEventListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferEventListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferEventListRequest startDate(OffsetDateTime startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start `created` datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start `created` datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)") + + public OffsetDateTime getStartDate() { + return startDate; + } + + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + + public TransferEventListRequest endDate(OffsetDateTime endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end `created` datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end `created` datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)") + + public OffsetDateTime getEndDate() { + return endDate; + } + + + public void setEndDate(OffsetDateTime endDate) { + this.endDate = endDate; + } + + + public TransferEventListRequest transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * Plaid's unique identifier for a transfer. + * @return transferId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a transfer.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public TransferEventListRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The account ID to get events for all transactions to/from an account. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account ID to get events for all transactions to/from an account.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransferEventListRequest transferType(TransferEventListTransferType transferType) { + + this.transferType = transferType; + return this; + } + + /** + * Get transferType + * @return transferType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferEventListTransferType getTransferType() { + return transferType; + } + + + public void setTransferType(TransferEventListTransferType transferType) { + this.transferType = transferType; + } + + + public TransferEventListRequest eventTypes(List eventTypes) { + + this.eventTypes = eventTypes; + return this; + } + + public TransferEventListRequest addEventTypesItem(TransferEventType eventTypesItem) { + if (this.eventTypes == null) { + this.eventTypes = new ArrayList<>(); + } + this.eventTypes.add(eventTypesItem); + return this; + } + + /** + * Filter events by event type. + * @return eventTypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter events by event type.") + + public List getEventTypes() { + return eventTypes; + } + + + public void setEventTypes(List eventTypes) { + this.eventTypes = eventTypes; + } + + + public TransferEventListRequest sweepId(String sweepId) { + + this.sweepId = sweepId; + return this; + } + + /** + * Plaid's unique identifier for a sweep. + * @return sweepId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a sweep.") + + public String getSweepId() { + return sweepId; + } + + + public void setSweepId(String sweepId) { + this.sweepId = sweepId; + } + + + public TransferEventListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of transfer events to return. If the number of events matching the above parameters is greater than `count`, the most recent events will be returned. + * minimum: 1 + * maximum: 25 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of transfer events to return. If the number of events matching the above parameters is greater than `count`, the most recent events will be returned.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public TransferEventListRequest offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The offset into the list of transfer events. When `count`=25 and `offset`=0, the first 25 events will be returned. When `count`=25 and `offset`=25, the next 25 events will be returned. + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The offset into the list of transfer events. When `count`=25 and `offset`=0, the first 25 events will be returned. When `count`=25 and `offset`=25, the next 25 events will be returned.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + public TransferEventListRequest originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * The origination account ID to get events for transfers from a specific origination account. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The origination account ID to get events for transfers from a specific origination account.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public TransferEventListRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * Filter transfer events to only those with the specified originator client. + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter transfer events to only those with the specified originator client.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferEventListRequest fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * Filter transfer events to only those with the specified `funding_account_id`. + * @return fundingAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter transfer events to only those with the specified `funding_account_id`.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferEventListRequest transferEventListRequest = (TransferEventListRequest) o; + return Objects.equals(this.clientId, transferEventListRequest.clientId) && + Objects.equals(this.secret, transferEventListRequest.secret) && + Objects.equals(this.startDate, transferEventListRequest.startDate) && + Objects.equals(this.endDate, transferEventListRequest.endDate) && + Objects.equals(this.transferId, transferEventListRequest.transferId) && + Objects.equals(this.accountId, transferEventListRequest.accountId) && + Objects.equals(this.transferType, transferEventListRequest.transferType) && + Objects.equals(this.eventTypes, transferEventListRequest.eventTypes) && + Objects.equals(this.sweepId, transferEventListRequest.sweepId) && + Objects.equals(this.count, transferEventListRequest.count) && + Objects.equals(this.offset, transferEventListRequest.offset) && + Objects.equals(this.originationAccountId, transferEventListRequest.originationAccountId) && + Objects.equals(this.originatorClientId, transferEventListRequest.originatorClientId) && + Objects.equals(this.fundingAccountId, transferEventListRequest.fundingAccountId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, startDate, endDate, transferId, accountId, transferType, eventTypes, sweepId, count, offset, originationAccountId, originatorClientId, fundingAccountId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferEventListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" transferType: ").append(toIndentedString(transferType)).append("\n"); + sb.append(" eventTypes: ").append(toIndentedString(eventTypes)).append("\n"); + sb.append(" sweepId: ").append(toIndentedString(sweepId)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferEventListResponse.java b/src/main/java/com/plaid/client/model/TransferEventListResponse.java new file mode 100644 index 0000000000..6e4e888838 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferEventListResponse.java @@ -0,0 +1,162 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferEvent; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response schema for `/transfer/event/list` + */ +@ApiModel(description = "Defines the response schema for `/transfer/event/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferEventListResponse { + public static final String SERIALIZED_NAME_TRANSFER_EVENTS = "transfer_events"; + @SerializedName(SERIALIZED_NAME_TRANSFER_EVENTS) + private List transferEvents = new ArrayList<>(); + + public static final String SERIALIZED_NAME_HAS_MORE = "has_more"; + @SerializedName(SERIALIZED_NAME_HAS_MORE) + private Boolean hasMore; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferEventListResponse transferEvents(List transferEvents) { + + this.transferEvents = transferEvents; + return this; + } + + public TransferEventListResponse addTransferEventsItem(TransferEvent transferEventsItem) { + this.transferEvents.add(transferEventsItem); + return this; + } + + /** + * Get transferEvents + * @return transferEvents + **/ + @ApiModelProperty(required = true, value = "") + + public List getTransferEvents() { + return transferEvents; + } + + + public void setTransferEvents(List transferEvents) { + this.transferEvents = transferEvents; + } + + + public TransferEventListResponse hasMore(Boolean hasMore) { + + this.hasMore = hasMore; + return this; + } + + /** + * Whether there are more events to be pulled from the endpoint that have not already been returned + * @return hasMore + **/ + @ApiModelProperty(required = true, value = "Whether there are more events to be pulled from the endpoint that have not already been returned") + + public Boolean getHasMore() { + return hasMore; + } + + + public void setHasMore(Boolean hasMore) { + this.hasMore = hasMore; + } + + + public TransferEventListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferEventListResponse transferEventListResponse = (TransferEventListResponse) o; + return Objects.equals(this.transferEvents, transferEventListResponse.transferEvents) && + Objects.equals(this.hasMore, transferEventListResponse.hasMore) && + Objects.equals(this.requestId, transferEventListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(transferEvents, hasMore, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferEventListResponse {\n"); + sb.append(" transferEvents: ").append(toIndentedString(transferEvents)).append("\n"); + sb.append(" hasMore: ").append(toIndentedString(hasMore)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferEventListTransferType.java b/src/main/java/com/plaid/client/model/TransferEventListTransferType.java new file mode 100644 index 0000000000..3e326136c9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferEventListTransferType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of transfer. This will be either `debit` or `credit`. A `debit` indicates a transfer of money into your origination account; a `credit` indicates a transfer of money out of your origination account. + */ +@JsonAdapter(TransferEventListTransferType.Adapter.class) +public enum TransferEventListTransferType { + + DEBIT("debit"), + + CREDIT("credit"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferEventListTransferType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferEventListTransferType fromValue(String value) { + for (TransferEventListTransferType b : TransferEventListTransferType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferEventListTransferType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferEventListTransferType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferEventListTransferType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferEventSyncRequest.java b/src/main/java/com/plaid/client/model/TransferEventSyncRequest.java new file mode 100644 index 0000000000..bd35328a32 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferEventSyncRequest.java @@ -0,0 +1,188 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/event/sync` + */ +@ApiModel(description = "Defines the request schema for `/transfer/event/sync`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferEventSyncRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_AFTER_ID = "after_id"; + @SerializedName(SERIALIZED_NAME_AFTER_ID) + private Integer afterId; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 100; + + + public TransferEventSyncRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferEventSyncRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferEventSyncRequest afterId(Integer afterId) { + + this.afterId = afterId; + return this; + } + + /** + * The latest (largest) `event_id` fetched via the sync endpoint, or 0 initially. + * minimum: 0 + * @return afterId + **/ + @ApiModelProperty(required = true, value = "The latest (largest) `event_id` fetched via the sync endpoint, or 0 initially.") + + public Integer getAfterId() { + return afterId; + } + + + public void setAfterId(Integer afterId) { + this.afterId = afterId; + } + + + public TransferEventSyncRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of transfer events to return. + * minimum: 1 + * maximum: 500 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of transfer events to return.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferEventSyncRequest transferEventSyncRequest = (TransferEventSyncRequest) o; + return Objects.equals(this.clientId, transferEventSyncRequest.clientId) && + Objects.equals(this.secret, transferEventSyncRequest.secret) && + Objects.equals(this.afterId, transferEventSyncRequest.afterId) && + Objects.equals(this.count, transferEventSyncRequest.count); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, afterId, count); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferEventSyncRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" afterId: ").append(toIndentedString(afterId)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferEventSyncResponse.java b/src/main/java/com/plaid/client/model/TransferEventSyncResponse.java new file mode 100644 index 0000000000..868d9c16f7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferEventSyncResponse.java @@ -0,0 +1,162 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferEvent; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response schema for `/transfer/event/sync` + */ +@ApiModel(description = "Defines the response schema for `/transfer/event/sync`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferEventSyncResponse { + public static final String SERIALIZED_NAME_TRANSFER_EVENTS = "transfer_events"; + @SerializedName(SERIALIZED_NAME_TRANSFER_EVENTS) + private List transferEvents = new ArrayList<>(); + + public static final String SERIALIZED_NAME_HAS_MORE = "has_more"; + @SerializedName(SERIALIZED_NAME_HAS_MORE) + private Boolean hasMore; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferEventSyncResponse transferEvents(List transferEvents) { + + this.transferEvents = transferEvents; + return this; + } + + public TransferEventSyncResponse addTransferEventsItem(TransferEvent transferEventsItem) { + this.transferEvents.add(transferEventsItem); + return this; + } + + /** + * Get transferEvents + * @return transferEvents + **/ + @ApiModelProperty(required = true, value = "") + + public List getTransferEvents() { + return transferEvents; + } + + + public void setTransferEvents(List transferEvents) { + this.transferEvents = transferEvents; + } + + + public TransferEventSyncResponse hasMore(Boolean hasMore) { + + this.hasMore = hasMore; + return this; + } + + /** + * Whether there are more events to be pulled from the endpoint that have not already been returned + * @return hasMore + **/ + @ApiModelProperty(required = true, value = "Whether there are more events to be pulled from the endpoint that have not already been returned") + + public Boolean getHasMore() { + return hasMore; + } + + + public void setHasMore(Boolean hasMore) { + this.hasMore = hasMore; + } + + + public TransferEventSyncResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferEventSyncResponse transferEventSyncResponse = (TransferEventSyncResponse) o; + return Objects.equals(this.transferEvents, transferEventSyncResponse.transferEvents) && + Objects.equals(this.hasMore, transferEventSyncResponse.hasMore) && + Objects.equals(this.requestId, transferEventSyncResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(transferEvents, hasMore, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferEventSyncResponse {\n"); + sb.append(" transferEvents: ").append(toIndentedString(transferEvents)).append("\n"); + sb.append(" hasMore: ").append(toIndentedString(hasMore)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferEventType.java b/src/main/java/com/plaid/client/model/TransferEventType.java new file mode 100644 index 0000000000..953b337281 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferEventType.java @@ -0,0 +1,131 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of event that this transfer represents. Event types with prefix `sweep` represent events for Plaid Ledger sweeps. `pending`: A new transfer was created; it is in the pending state. `cancelled`: The transfer was cancelled by the client. `failed`: The transfer failed, no funds were moved. `posted`: The transfer has been successfully submitted to the payment network. `settled`: The transfer has been successfully completed by the payment network. `funds_available`: Funds from the transfer have been released from hold and applied to the ledger's available balance. (Only applicable to ACH debits.) `guaranteed`: The transfer has been fully guaranteed by Plaid. `returned`: A posted transfer was returned. `guarantee_reimbursed`: Plaid reimbursed the client for the loss on a returned guaranteed transfer. The `event_amount` is the reimbursed amount. `client_return_recovered`: The client reported recovering the loss on a returned transfer via `/transfer/return/recover`, and Plaid debited the recovered amount from the client's ledger. The `event_amount` is the recovered amount. `plaid_return_recovered`: Plaid recovered the loss on a returned transfer by successfully reinitiating it. The `event_amount` is the recovered amount. Client should stop their return recovery effort. `swept`: The transfer was swept to / from the sweep account. `swept_settled`: Credits are available to be withdrawn or debits have been deducted from the customer's business checking account. `return_swept`: Due to the transfer being returned, funds were pulled from or pushed back to the sweep account. `sweep.pending`: A new ledger sweep was created; it is in the pending state. `sweep.posted`: The ledger sweep has been successfully submitted to the payment network. `sweep.settled`: The transaction has settled in the funding account. This means that funds withdrawn from Plaid Ledger balance have reached the funding account, or funds to be deposited into the Plaid Ledger Balance have been pulled, and the hold period has begun. `sweep.returned`: A posted ledger sweep was returned. `sweep.failed`: The ledger sweep failed, no funds were moved. `sweep.funds_available`: Funds from the ledger sweep have been released from hold and applied to the ledger's available balance. This is only applicable to debits. `refund.pending`: A new refund was created; it is in the pending state. `refund.cancelled`: The refund was cancelled. `refund.failed`: The refund failed, no funds were moved. `refund.posted`: The refund has been successfully submitted to the payment network. `refund.settled`: The refund transaction has settled in the Plaid linked account. `refund.returned`: A posted refund was returned. `refund.swept`: The refund was swept from the sweep account. `refund.return_swept`: Due to the refund being returned, funds were pushed back to the sweep account. + */ +@JsonAdapter(TransferEventType.Adapter.class) +public enum TransferEventType { + + PENDING("pending"), + + CANCELLED("cancelled"), + + FAILED("failed"), + + POSTED("posted"), + + SETTLED("settled"), + + FUNDS_AVAILABLE("funds_available"), + + GUARANTEED("guaranteed"), + + RETURNED("returned"), + + GUARANTEE_REIMBURSED("guarantee_reimbursed"), + + CLIENT_RETURN_RECOVERED("client_return_recovered"), + + PLAID_RETURN_RECOVERED("plaid_return_recovered"), + + SWEPT("swept"), + + SWEPT_SETTLED("swept_settled"), + + RETURN_SWEPT("return_swept"), + + SWEEP_PENDING("sweep.pending"), + + SWEEP_POSTED("sweep.posted"), + + SWEEP_SETTLED("sweep.settled"), + + SWEEP_RETURNED("sweep.returned"), + + SWEEP_FAILED("sweep.failed"), + + SWEEP_FUNDS_AVAILABLE("sweep.funds_available"), + + REFUND_PENDING("refund.pending"), + + REFUND_CANCELLED("refund.cancelled"), + + REFUND_FAILED("refund.failed"), + + REFUND_POSTED("refund.posted"), + + REFUND_SETTLED("refund.settled"), + + REFUND_RETURNED("refund.returned"), + + REFUND_SWEPT("refund.swept"), + + REFUND_RETURN_SWEPT("refund.return_swept"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferEventType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferEventType fromValue(String value) { + for (TransferEventType b : TransferEventType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferEventType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferEventType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferEventType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferEventType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferEventsUpdateWebhook.java b/src/main/java/com/plaid/client/model/TransferEventsUpdateWebhook.java new file mode 100644 index 0000000000..396f02a57c --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferEventsUpdateWebhook.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when new transfer events are available. Receiving this webhook indicates you should fetch the new events from `/transfer/event/sync`. If multiple transfer events occur within a single minute, only one webhook will be fired, so a single webhook instance may correspond to multiple transfer events. + */ +@ApiModel(description = "Fired when new transfer events are available. Receiving this webhook indicates you should fetch the new events from `/transfer/event/sync`. If multiple transfer events occur within a single minute, only one webhook will be fired, so a single webhook instance may correspond to multiple transfer events.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferEventsUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public TransferEventsUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `TRANSFER` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`TRANSFER`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public TransferEventsUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `TRANSFER_EVENTS_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`TRANSFER_EVENTS_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public TransferEventsUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferEventsUpdateWebhook transferEventsUpdateWebhook = (TransferEventsUpdateWebhook) o; + return Objects.equals(this.webhookType, transferEventsUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, transferEventsUpdateWebhook.webhookCode) && + Objects.equals(this.environment, transferEventsUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferEventsUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferExpectedSweepSettlementScheduleItem.java b/src/main/java/com/plaid/client/model/TransferExpectedSweepSettlementScheduleItem.java new file mode 100644 index 0000000000..368f51c60d --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferExpectedSweepSettlementScheduleItem.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Defines an expected sweep date and amount. + */ +@ApiModel(description = "Defines an expected sweep date and amount.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferExpectedSweepSettlementScheduleItem { + public static final String SERIALIZED_NAME_SWEEP_SETTLEMENT_DATE = "sweep_settlement_date"; + @SerializedName(SERIALIZED_NAME_SWEEP_SETTLEMENT_DATE) + private LocalDate sweepSettlementDate; + + public static final String SERIALIZED_NAME_SWEPT_SETTLED_AMOUNT = "swept_settled_amount"; + @SerializedName(SERIALIZED_NAME_SWEPT_SETTLED_AMOUNT) + private String sweptSettledAmount; + + + public TransferExpectedSweepSettlementScheduleItem sweepSettlementDate(LocalDate sweepSettlementDate) { + + this.sweepSettlementDate = sweepSettlementDate; + return this; + } + + /** + * The settlement date of a sweep for this transfer. + * @return sweepSettlementDate + **/ + @ApiModelProperty(required = true, value = "The settlement date of a sweep for this transfer.") + + public LocalDate getSweepSettlementDate() { + return sweepSettlementDate; + } + + + public void setSweepSettlementDate(LocalDate sweepSettlementDate) { + this.sweepSettlementDate = sweepSettlementDate; + } + + + public TransferExpectedSweepSettlementScheduleItem sweptSettledAmount(String sweptSettledAmount) { + + this.sweptSettledAmount = sweptSettledAmount; + return this; + } + + /** + * The accumulated amount that has been swept by `sweep_settlement_date`. + * @return sweptSettledAmount + **/ + @ApiModelProperty(required = true, value = "The accumulated amount that has been swept by `sweep_settlement_date`.") + + public String getSweptSettledAmount() { + return sweptSettledAmount; + } + + + public void setSweptSettledAmount(String sweptSettledAmount) { + this.sweptSettledAmount = sweptSettledAmount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferExpectedSweepSettlementScheduleItem transferExpectedSweepSettlementScheduleItem = (TransferExpectedSweepSettlementScheduleItem) o; + return Objects.equals(this.sweepSettlementDate, transferExpectedSweepSettlementScheduleItem.sweepSettlementDate) && + Objects.equals(this.sweptSettledAmount, transferExpectedSweepSettlementScheduleItem.sweptSettledAmount); + } + + @Override + public int hashCode() { + return Objects.hash(sweepSettlementDate, sweptSettledAmount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferExpectedSweepSettlementScheduleItem {\n"); + sb.append(" sweepSettlementDate: ").append(toIndentedString(sweepSettlementDate)).append("\n"); + sb.append(" sweptSettledAmount: ").append(toIndentedString(sweptSettledAmount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferFailure.java b/src/main/java/com/plaid/client/model/TransferFailure.java new file mode 100644 index 0000000000..94e203d50f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferFailure.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The failure reason if the event type for a transfer is `\"failed\"` or `\"returned\"`. Null value otherwise. + */ +@ApiModel(description = "The failure reason if the event type for a transfer is `\"failed\"` or `\"returned\"`. Null value otherwise.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferFailure { + public static final String SERIALIZED_NAME_FAILURE_CODE = "failure_code"; + @SerializedName(SERIALIZED_NAME_FAILURE_CODE) + private String failureCode; + + public static final String SERIALIZED_NAME_ACH_RETURN_CODE = "ach_return_code"; + @SerializedName(SERIALIZED_NAME_ACH_RETURN_CODE) + private String achReturnCode; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + + public TransferFailure failureCode(String failureCode) { + + this.failureCode = failureCode; + return this; + } + + /** + * The failure code, e.g. `R01`. A failure code will be provided if and only if the transfer status is `returned`. See [ACH return codes](https://plaid.com/docs/errors/transfer/#ach-return-codes) for a full listing of ACH return codes and [RTP/RfP error codes](https://plaid.com/docs/errors/transfer/#rtprfp-error-codes) for RTP error codes. + * @return failureCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The failure code, e.g. `R01`. A failure code will be provided if and only if the transfer status is `returned`. See [ACH return codes](https://plaid.com/docs/errors/transfer/#ach-return-codes) for a full listing of ACH return codes and [RTP/RfP error codes](https://plaid.com/docs/errors/transfer/#rtprfp-error-codes) for RTP error codes.") + + public String getFailureCode() { + return failureCode; + } + + + public void setFailureCode(String failureCode) { + this.failureCode = failureCode; + } + + + public TransferFailure achReturnCode(String achReturnCode) { + + this.achReturnCode = achReturnCode; + return this; + } + + /** + * The ACH return code, e.g. `R01`. A return code will be provided if and only if the transfer status is `returned`. For a full listing of ACH return codes, see [Transfer errors](https://plaid.com/docs/errors/transfer/#ach-return-codes). + * @return achReturnCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ACH return code, e.g. `R01`. A return code will be provided if and only if the transfer status is `returned`. For a full listing of ACH return codes, see [Transfer errors](https://plaid.com/docs/errors/transfer/#ach-return-codes).") + + public String getAchReturnCode() { + return achReturnCode; + } + + + public void setAchReturnCode(String achReturnCode) { + this.achReturnCode = achReturnCode; + } + + + public TransferFailure description(String description) { + + this.description = description; + return this; + } + + /** + * A human-readable description of the reason for the failure or reversal. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A human-readable description of the reason for the failure or reversal.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferFailure transferFailure = (TransferFailure) o; + return Objects.equals(this.failureCode, transferFailure.failureCode) && + Objects.equals(this.achReturnCode, transferFailure.achReturnCode) && + Objects.equals(this.description, transferFailure.description); + } + + @Override + public int hashCode() { + return Objects.hash(failureCode, achReturnCode, description); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferFailure {\n"); + sb.append(" failureCode: ").append(toIndentedString(failureCode)).append("\n"); + sb.append(" achReturnCode: ").append(toIndentedString(achReturnCode)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferFundingAccount.java b/src/main/java/com/plaid/client/model/TransferFundingAccount.java new file mode 100644 index 0000000000..5e65a3f14a --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferFundingAccount.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The originator's funding account, linked with Plaid Link or `/transfer/migrate_account`. + */ +@ApiModel(description = "The originator's funding account, linked with Plaid Link or `/transfer/migrate_account`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferFundingAccount { + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + + public TransferFundingAccount accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransferFundingAccount accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` for the newly created Item. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` for the newly created Item.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferFundingAccount transferFundingAccount = (TransferFundingAccount) o; + return Objects.equals(this.accessToken, transferFundingAccount.accessToken) && + Objects.equals(this.accountId, transferFundingAccount.accountId); + } + + @Override + public int hashCode() { + return Objects.hash(accessToken, accountId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferFundingAccount {\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferFundingAccountWithDisplayName.java b/src/main/java/com/plaid/client/model/TransferFundingAccountWithDisplayName.java new file mode 100644 index 0000000000..c59fa2ecc8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferFundingAccountWithDisplayName.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferFundingAccount; +import com.plaid.client.model.TransferFundingAccountWithDisplayNameAllOf; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The originator's funding account, linked with Plaid Link or `/transfer/migrate_account`. + */ +@ApiModel(description = "The originator's funding account, linked with Plaid Link or `/transfer/migrate_account`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferFundingAccountWithDisplayName { + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_DISPLAY_NAME = "display_name"; + @SerializedName(SERIALIZED_NAME_DISPLAY_NAME) + private String displayName; + + + public TransferFundingAccountWithDisplayName accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransferFundingAccountWithDisplayName accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` for the newly created Item. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` for the newly created Item.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransferFundingAccountWithDisplayName displayName(String displayName) { + + this.displayName = displayName; + return this; + } + + /** + * The name for the funding account that is displayed in the Plaid dashboard. + * @return displayName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name for the funding account that is displayed in the Plaid dashboard.") + + public String getDisplayName() { + return displayName; + } + + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferFundingAccountWithDisplayName transferFundingAccountWithDisplayName = (TransferFundingAccountWithDisplayName) o; + return Objects.equals(this.accessToken, transferFundingAccountWithDisplayName.accessToken) && + Objects.equals(this.accountId, transferFundingAccountWithDisplayName.accountId) && + Objects.equals(this.displayName, transferFundingAccountWithDisplayName.displayName); + } + + @Override + public int hashCode() { + return Objects.hash(accessToken, accountId, displayName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferFundingAccountWithDisplayName {\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferFundingAccountWithDisplayNameAllOf.java b/src/main/java/com/plaid/client/model/TransferFundingAccountWithDisplayNameAllOf.java new file mode 100644 index 0000000000..a8415c387a --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferFundingAccountWithDisplayNameAllOf.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * TransferFundingAccountWithDisplayNameAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferFundingAccountWithDisplayNameAllOf { + public static final String SERIALIZED_NAME_DISPLAY_NAME = "display_name"; + @SerializedName(SERIALIZED_NAME_DISPLAY_NAME) + private String displayName; + + + public TransferFundingAccountWithDisplayNameAllOf displayName(String displayName) { + + this.displayName = displayName; + return this; + } + + /** + * The name for the funding account that is displayed in the Plaid dashboard. + * @return displayName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The name for the funding account that is displayed in the Plaid dashboard.") + + public String getDisplayName() { + return displayName; + } + + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferFundingAccountWithDisplayNameAllOf transferFundingAccountWithDisplayNameAllOf = (TransferFundingAccountWithDisplayNameAllOf) o; + return Objects.equals(this.displayName, transferFundingAccountWithDisplayNameAllOf.displayName); + } + + @Override + public int hashCode() { + return Objects.hash(displayName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferFundingAccountWithDisplayNameAllOf {\n"); + sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferGetRequest.java b/src/main/java/com/plaid/client/model/TransferGetRequest.java new file mode 100644 index 0000000000..d7da25df16 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferGetRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/get` + */ +@ApiModel(description = "Defines the request schema for `/transfer/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_AUTHORIZATION_ID = "authorization_id"; + @SerializedName(SERIALIZED_NAME_AUTHORIZATION_ID) + private String authorizationId; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + + public TransferGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferGetRequest transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * Plaid's unique identifier for a transfer. + * @return transferId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a transfer.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public TransferGetRequest authorizationId(String authorizationId) { + + this.authorizationId = authorizationId; + return this; + } + + /** + * Plaid's unique identifier for a transfer authorization. + * @return authorizationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a transfer authorization.") + + public String getAuthorizationId() { + return authorizationId; + } + + + public void setAuthorizationId(String authorizationId) { + this.authorizationId = authorizationId; + } + + + public TransferGetRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The Plaid client ID of the transfer originator. Should only be present if `client_id` is a third-party sender (TPS). + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid client ID of the transfer originator. Should only be present if `client_id` is a third-party sender (TPS).") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferGetRequest transferGetRequest = (TransferGetRequest) o; + return Objects.equals(this.clientId, transferGetRequest.clientId) && + Objects.equals(this.secret, transferGetRequest.secret) && + Objects.equals(this.transferId, transferGetRequest.transferId) && + Objects.equals(this.authorizationId, transferGetRequest.authorizationId) && + Objects.equals(this.originatorClientId, transferGetRequest.originatorClientId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, transferId, authorizationId, originatorClientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" authorizationId: ").append(toIndentedString(authorizationId)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferGetResponse.java b/src/main/java/com/plaid/client/model/TransferGetResponse.java new file mode 100644 index 0000000000..5df0db64d2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Transfer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/get` + */ +@ApiModel(description = "Defines the response schema for `/transfer/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferGetResponse { + public static final String SERIALIZED_NAME_TRANSFER = "transfer"; + @SerializedName(SERIALIZED_NAME_TRANSFER) + private Transfer transfer; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferGetResponse transfer(Transfer transfer) { + + this.transfer = transfer; + return this; + } + + /** + * Get transfer + * @return transfer + **/ + @ApiModelProperty(required = true, value = "") + + public Transfer getTransfer() { + return transfer; + } + + + public void setTransfer(Transfer transfer) { + this.transfer = transfer; + } + + + public TransferGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferGetResponse transferGetResponse = (TransferGetResponse) o; + return Objects.equals(this.transfer, transferGetResponse.transfer) && + Objects.equals(this.requestId, transferGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(transfer, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferGetResponse {\n"); + sb.append(" transfer: ").append(toIndentedString(transfer)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferGuaranteeDetails.java b/src/main/java/com/plaid/client/model/TransferGuaranteeDetails.java new file mode 100644 index 0000000000..91661640f9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferGuaranteeDetails.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferGuaranteeScheduleItem; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Adaptive guarantee details for a transfer, including the guaranteed amount and settlement schedule. Omitted when no guarantee was attempted. + */ +@ApiModel(description = "Adaptive guarantee details for a transfer, including the guaranteed amount and settlement schedule. Omitted when no guarantee was attempted.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferGuaranteeDetails { + public static final String SERIALIZED_NAME_GUARANTEED_AMOUNT = "guaranteed_amount"; + @SerializedName(SERIALIZED_NAME_GUARANTEED_AMOUNT) + private String guaranteedAmount; + + public static final String SERIALIZED_NAME_SCHEDULE = "schedule"; + @SerializedName(SERIALIZED_NAME_SCHEDULE) + private List schedule = new ArrayList<>(); + + + public TransferGuaranteeDetails guaranteedAmount(String guaranteedAmount) { + + this.guaranteedAmount = guaranteedAmount; + return this; + } + + /** + * The amount currently covered by Plaid's guarantee (decimal string with two digits of precision e.g. \"10.00\"). This may change over time as scheduled tranches reach their observation window expiration and become guaranteed. + * @return guaranteedAmount + **/ + @ApiModelProperty(required = true, value = "The amount currently covered by Plaid's guarantee (decimal string with two digits of precision e.g. \"10.00\"). This may change over time as scheduled tranches reach their observation window expiration and become guaranteed.") + + public String getGuaranteedAmount() { + return guaranteedAmount; + } + + + public void setGuaranteedAmount(String guaranteedAmount) { + this.guaranteedAmount = guaranteedAmount; + } + + + public TransferGuaranteeDetails schedule(List schedule) { + + this.schedule = schedule; + return this; + } + + public TransferGuaranteeDetails addScheduleItem(TransferGuaranteeScheduleItem scheduleItem) { + this.schedule.add(scheduleItem); + return this; + } + + /** + * The adaptive guarantee settlement schedule for this transfer. + * @return schedule + **/ + @ApiModelProperty(required = true, value = "The adaptive guarantee settlement schedule for this transfer.") + + public List getSchedule() { + return schedule; + } + + + public void setSchedule(List schedule) { + this.schedule = schedule; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferGuaranteeDetails transferGuaranteeDetails = (TransferGuaranteeDetails) o; + return Objects.equals(this.guaranteedAmount, transferGuaranteeDetails.guaranteedAmount) && + Objects.equals(this.schedule, transferGuaranteeDetails.schedule); + } + + @Override + public int hashCode() { + return Objects.hash(guaranteedAmount, schedule); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferGuaranteeDetails {\n"); + sb.append(" guaranteedAmount: ").append(toIndentedString(guaranteedAmount)).append("\n"); + sb.append(" schedule: ").append(toIndentedString(schedule)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferGuaranteeOutcome.java b/src/main/java/com/plaid/client/model/TransferGuaranteeOutcome.java new file mode 100644 index 0000000000..57d72932f8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferGuaranteeOutcome.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The adaptive guarantee outcome for a transfer. `FULL_INSTANT`: The full transfer amount is guaranteed and funds are available instantly. `PARTIAL_INSTANT_ONLY`: A partial amount is guaranteed and available instantly; the remainder is not guaranteed. `PARTIAL_INSTANT_WITH_OBSERVATION_WINDOW`: A partial amount is guaranteed instantly; an additional amount is conditionally guaranteed subject to an observation window. `NOT_GUARANTEED`: Plaid did not provide a guarantee for this transfer. + */ +@JsonAdapter(TransferGuaranteeOutcome.Adapter.class) +public enum TransferGuaranteeOutcome { + + FULL_INSTANT("FULL_INSTANT"), + + PARTIAL_INSTANT_ONLY("PARTIAL_INSTANT_ONLY"), + + PARTIAL_INSTANT_WITH_OBSERVATION_WINDOW("PARTIAL_INSTANT_WITH_OBSERVATION_WINDOW"), + + NOT_GUARANTEED("NOT_GUARANTEED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferGuaranteeOutcome(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferGuaranteeOutcome fromValue(String value) { + for (TransferGuaranteeOutcome b : TransferGuaranteeOutcome.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferGuaranteeOutcome.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferGuaranteeOutcome enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferGuaranteeOutcome read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferGuaranteeOutcome.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferGuaranteeScheduleItem.java b/src/main/java/com/plaid/client/model/TransferGuaranteeScheduleItem.java new file mode 100644 index 0000000000..f7331baded --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferGuaranteeScheduleItem.java @@ -0,0 +1,158 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.AuthorizationGuaranteeScheduleItem; +import com.plaid.client.model.TransferGuaranteeScheduleItemAllOf; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * A single entry in the adaptive guarantee settlement schedule, describing one tranche of guaranteed funds. Adds `observation_window_expiration_time`, which is only known once a transfer is created. + */ +@ApiModel(description = "A single entry in the adaptive guarantee settlement schedule, describing one tranche of guaranteed funds. Adds `observation_window_expiration_time`, which is only known once a transfer is created.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferGuaranteeScheduleItem { + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_OBSERVATION_WINDOW_BUSINESS_DAYS = "observation_window_business_days"; + @SerializedName(SERIALIZED_NAME_OBSERVATION_WINDOW_BUSINESS_DAYS) + private Integer observationWindowBusinessDays; + + public static final String SERIALIZED_NAME_OBSERVATION_WINDOW_EXPIRATION_TIME = "observation_window_expiration_time"; + @SerializedName(SERIALIZED_NAME_OBSERVATION_WINDOW_EXPIRATION_TIME) + private OffsetDateTime observationWindowExpirationTime; + + + public TransferGuaranteeScheduleItem amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The guaranteed amount for this schedule entry (decimal string with two digits of precision e.g. \"10.00\"). + * @return amount + **/ + @ApiModelProperty(required = true, value = "The guaranteed amount for this schedule entry (decimal string with two digits of precision e.g. \"10.00\").") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferGuaranteeScheduleItem observationWindowBusinessDays(Integer observationWindowBusinessDays) { + + this.observationWindowBusinessDays = observationWindowBusinessDays; + return this; + } + + /** + * The number of business days in the observation window for this tranche. `0` when the tranche is not subject to an observation window. + * @return observationWindowBusinessDays + **/ + @ApiModelProperty(required = true, value = "The number of business days in the observation window for this tranche. `0` when the tranche is not subject to an observation window.") + + public Integer getObservationWindowBusinessDays() { + return observationWindowBusinessDays; + } + + + public void setObservationWindowBusinessDays(Integer observationWindowBusinessDays) { + this.observationWindowBusinessDays = observationWindowBusinessDays; + } + + + public TransferGuaranteeScheduleItem observationWindowExpirationTime(OffsetDateTime observationWindowExpirationTime) { + + this.observationWindowExpirationTime = observationWindowExpirationTime; + return this; + } + + /** + * The datetime when the observation window for this tranche expires. Present only when the tranche is subject to an observation window. This will be of the form `2006-01-02T15:04:05Z`. + * @return observationWindowExpirationTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The datetime when the observation window for this tranche expires. Present only when the tranche is subject to an observation window. This will be of the form `2006-01-02T15:04:05Z`.") + + public OffsetDateTime getObservationWindowExpirationTime() { + return observationWindowExpirationTime; + } + + + public void setObservationWindowExpirationTime(OffsetDateTime observationWindowExpirationTime) { + this.observationWindowExpirationTime = observationWindowExpirationTime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferGuaranteeScheduleItem transferGuaranteeScheduleItem = (TransferGuaranteeScheduleItem) o; + return Objects.equals(this.amount, transferGuaranteeScheduleItem.amount) && + Objects.equals(this.observationWindowBusinessDays, transferGuaranteeScheduleItem.observationWindowBusinessDays) && + Objects.equals(this.observationWindowExpirationTime, transferGuaranteeScheduleItem.observationWindowExpirationTime); + } + + @Override + public int hashCode() { + return Objects.hash(amount, observationWindowBusinessDays, observationWindowExpirationTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferGuaranteeScheduleItem {\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" observationWindowBusinessDays: ").append(toIndentedString(observationWindowBusinessDays)).append("\n"); + sb.append(" observationWindowExpirationTime: ").append(toIndentedString(observationWindowExpirationTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferGuaranteeScheduleItemAllOf.java b/src/main/java/com/plaid/client/model/TransferGuaranteeScheduleItemAllOf.java new file mode 100644 index 0000000000..34c7f69276 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferGuaranteeScheduleItemAllOf.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * TransferGuaranteeScheduleItemAllOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferGuaranteeScheduleItemAllOf { + public static final String SERIALIZED_NAME_OBSERVATION_WINDOW_EXPIRATION_TIME = "observation_window_expiration_time"; + @SerializedName(SERIALIZED_NAME_OBSERVATION_WINDOW_EXPIRATION_TIME) + private OffsetDateTime observationWindowExpirationTime; + + + public TransferGuaranteeScheduleItemAllOf observationWindowExpirationTime(OffsetDateTime observationWindowExpirationTime) { + + this.observationWindowExpirationTime = observationWindowExpirationTime; + return this; + } + + /** + * The datetime when the observation window for this tranche expires. Present only when the tranche is subject to an observation window. This will be of the form `2006-01-02T15:04:05Z`. + * @return observationWindowExpirationTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The datetime when the observation window for this tranche expires. Present only when the tranche is subject to an observation window. This will be of the form `2006-01-02T15:04:05Z`.") + + public OffsetDateTime getObservationWindowExpirationTime() { + return observationWindowExpirationTime; + } + + + public void setObservationWindowExpirationTime(OffsetDateTime observationWindowExpirationTime) { + this.observationWindowExpirationTime = observationWindowExpirationTime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferGuaranteeScheduleItemAllOf transferGuaranteeScheduleItemAllOf = (TransferGuaranteeScheduleItemAllOf) o; + return Objects.equals(this.observationWindowExpirationTime, transferGuaranteeScheduleItemAllOf.observationWindowExpirationTime); + } + + @Override + public int hashCode() { + return Objects.hash(observationWindowExpirationTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferGuaranteeScheduleItemAllOf {\n"); + sb.append(" observationWindowExpirationTime: ").append(toIndentedString(observationWindowExpirationTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferIntentAuthorizationDecision.java b/src/main/java/com/plaid/client/model/TransferIntentAuthorizationDecision.java new file mode 100644 index 0000000000..cc771336ac --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferIntentAuthorizationDecision.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A decision regarding the proposed transfer. `APPROVED` - The proposed transfer has received the end user's consent and has been approved for processing by Plaid. The `decision_rationale` field is set if Plaid was unable to fetch the account information. You may proceed with the transfer, but further review is recommended (i.e., use Link in update mode to re-authenticate your user when `decision_rationale.code` is `ITEM_LOGIN_REQUIRED`). Refer to the `code` field in the `decision_rationale` object for details. `DECLINED` - Plaid reviewed the proposed transfer and declined processing. Refer to the `code` field in the `decision_rationale` object for details. + */ +@JsonAdapter(TransferIntentAuthorizationDecision.Adapter.class) +public enum TransferIntentAuthorizationDecision { + + APPROVED("APPROVED"), + + DECLINED("DECLINED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferIntentAuthorizationDecision(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferIntentAuthorizationDecision fromValue(String value) { + for (TransferIntentAuthorizationDecision b : TransferIntentAuthorizationDecision.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferIntentAuthorizationDecision enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferIntentAuthorizationDecision read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferIntentAuthorizationDecision.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferIntentCreate.java b/src/main/java/com/plaid/client/model/TransferIntentCreate.java new file mode 100644 index 0000000000..3ea506aa21 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferIntentCreate.java @@ -0,0 +1,512 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.TransferIntentCreateMode; +import com.plaid.client.model.TransferIntentCreateNetwork; +import com.plaid.client.model.TransferIntentStatus; +import com.plaid.client.model.TransferUserInResponse; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Represents a transfer intent within Transfer UI. + */ +@ApiModel(description = "Represents a transfer intent within Transfer UI.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferIntentCreate { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private TransferIntentStatus status; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_MODE = "mode"; + @SerializedName(SERIALIZED_NAME_MODE) + private TransferIntentCreateMode mode; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private TransferIntentCreateNetwork network = TransferIntentCreateNetwork.SAME_DAY_ACH; + + public static final String SERIALIZED_NAME_ACH_CLASS = "ach_class"; + @SerializedName(SERIALIZED_NAME_ACH_CLASS) + private ACHClass achClass; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private TransferUserInResponse user; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private Map metadata = null; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_REQUIRE_GUARANTEE = "require_guarantee"; + @SerializedName(SERIALIZED_NAME_REQUIRE_GUARANTEE) + private Boolean requireGuarantee; + + + public TransferIntentCreate id(String id) { + + this.id = id; + return this; + } + + /** + * Plaid's unique identifier for the transfer intent object. + * @return id + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the transfer intent object.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public TransferIntentCreate created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The datetime the transfer was created. This will be of the form `2006-01-02T15:04:05Z`. + * @return created + **/ + @ApiModelProperty(required = true, value = "The datetime the transfer was created. This will be of the form `2006-01-02T15:04:05Z`.") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public TransferIntentCreate status(TransferIntentStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public TransferIntentStatus getStatus() { + return status; + } + + + public void setStatus(TransferIntentStatus status) { + this.status = status; + } + + + public TransferIntentCreate accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` corresponding to the end-user account that will be debited or credited. Returned only if `account_id` was set on intent creation. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `account_id` corresponding to the end-user account that will be debited or credited. Returned only if `account_id` was set on intent creation.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransferIntentCreate originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Plaid's unique identifier for the origination account for the intent. If not provided, the default account will be used. + * @return originationAccountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the origination account for the intent. If not provided, the default account will be used.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public TransferIntentCreate fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited. + * @return fundingAccountId + **/ + @ApiModelProperty(required = true, value = "The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public TransferIntentCreate amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferIntentCreate mode(TransferIntentCreateMode mode) { + + this.mode = mode; + return this; + } + + /** + * Get mode + * @return mode + **/ + @ApiModelProperty(required = true, value = "") + + public TransferIntentCreateMode getMode() { + return mode; + } + + + public void setMode(TransferIntentCreateMode mode) { + this.mode = mode; + } + + + public TransferIntentCreate network(TransferIntentCreateNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferIntentCreateNetwork getNetwork() { + return network; + } + + + public void setNetwork(TransferIntentCreateNetwork network) { + this.network = network; + } + + + public TransferIntentCreate achClass(ACHClass achClass) { + + this.achClass = achClass; + return this; + } + + /** + * Get achClass + * @return achClass + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ACHClass getAchClass() { + return achClass; + } + + + public void setAchClass(ACHClass achClass) { + this.achClass = achClass; + } + + + public TransferIntentCreate user(TransferUserInResponse user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public TransferUserInResponse getUser() { + return user; + } + + + public void setUser(TransferUserInResponse user) { + this.user = user; + } + + + public TransferIntentCreate description(String description) { + + this.description = description; + return this; + } + + /** + * A description for the underlying transfer. Maximum of 15 characters. + * @return description + **/ + @ApiModelProperty(required = true, value = "A description for the underlying transfer. Maximum of 15 characters.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public TransferIntentCreate metadata(Map metadata) { + + this.metadata = metadata; + return this; + } + + public TransferIntentCreate putMetadataItem(String key, String metadataItem) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, metadataItem); + return this; + } + + /** + * The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters ") + + public Map getMetadata() { + return metadata; + } + + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + + public TransferIntentCreate isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the transfer amount, e.g. \"USD\" + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the transfer amount, e.g. \"USD\"") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TransferIntentCreate requireGuarantee(Boolean requireGuarantee) { + + this.requireGuarantee = requireGuarantee; + return this; + } + + /** + * When `true`, the transfer requires a `GUARANTEED` decision by Plaid to proceed (Guarantee customers only). + * @return requireGuarantee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, the transfer requires a `GUARANTEED` decision by Plaid to proceed (Guarantee customers only).") + + public Boolean getRequireGuarantee() { + return requireGuarantee; + } + + + public void setRequireGuarantee(Boolean requireGuarantee) { + this.requireGuarantee = requireGuarantee; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferIntentCreate transferIntentCreate = (TransferIntentCreate) o; + return Objects.equals(this.id, transferIntentCreate.id) && + Objects.equals(this.created, transferIntentCreate.created) && + Objects.equals(this.status, transferIntentCreate.status) && + Objects.equals(this.accountId, transferIntentCreate.accountId) && + Objects.equals(this.originationAccountId, transferIntentCreate.originationAccountId) && + Objects.equals(this.fundingAccountId, transferIntentCreate.fundingAccountId) && + Objects.equals(this.amount, transferIntentCreate.amount) && + Objects.equals(this.mode, transferIntentCreate.mode) && + Objects.equals(this.network, transferIntentCreate.network) && + Objects.equals(this.achClass, transferIntentCreate.achClass) && + Objects.equals(this.user, transferIntentCreate.user) && + Objects.equals(this.description, transferIntentCreate.description) && + Objects.equals(this.metadata, transferIntentCreate.metadata) && + Objects.equals(this.isoCurrencyCode, transferIntentCreate.isoCurrencyCode) && + Objects.equals(this.requireGuarantee, transferIntentCreate.requireGuarantee); + } + + @Override + public int hashCode() { + return Objects.hash(id, created, status, accountId, originationAccountId, fundingAccountId, amount, mode, network, achClass, user, description, metadata, isoCurrencyCode, requireGuarantee); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferIntentCreate {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" mode: ").append(toIndentedString(mode)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" achClass: ").append(toIndentedString(achClass)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" requireGuarantee: ").append(toIndentedString(requireGuarantee)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferIntentCreateMode.java b/src/main/java/com/plaid/client/model/TransferIntentCreateMode.java new file mode 100644 index 0000000000..f0f054ae74 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferIntentCreateMode.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The direction of the flow of transfer funds. `PAYMENT`: Transfers funds from an end user's account to your business account. `DISBURSEMENT`: Transfers funds from your business account to an end user's account. + */ +@JsonAdapter(TransferIntentCreateMode.Adapter.class) +public enum TransferIntentCreateMode { + + PAYMENT("PAYMENT"), + + DISBURSEMENT("DISBURSEMENT"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferIntentCreateMode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferIntentCreateMode fromValue(String value) { + for (TransferIntentCreateMode b : TransferIntentCreateMode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferIntentCreateMode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferIntentCreateMode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferIntentCreateMode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferIntentCreateMode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferIntentCreateNetwork.java b/src/main/java/com/plaid/client/model/TransferIntentCreateNetwork.java new file mode 100644 index 0000000000..5e4a3261ad --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferIntentCreateNetwork.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The network or rails used for the transfer. Defaults to `same-day-ach`. For transfers submitted using `ach`, the Standard ACH cutoff is 8:30 PM Eastern Time. For transfers submitted using `same-day-ach`, the Same Day ACH cutoff is 3:00 PM Eastern Time. It is recommended to send the request 15 minutes prior to the cutoff to ensure that it will be processed in time for submission before the cutoff. If the transfer is processed after this cutoff but before the Standard ACH cutoff, it will be sent over Standard ACH rails and will not incur same-day charges. For transfers submitted using `rtp`, in the case that the account being credited does not support RTP, the transfer will be sent over ACH as long as an `ach_class` is provided in the request. If RTP isn't supported by the account and no `ach_class` is provided, the transfer will fail to be submitted. + */ +@JsonAdapter(TransferIntentCreateNetwork.Adapter.class) +public enum TransferIntentCreateNetwork { + + ACH("ach"), + + SAME_DAY_ACH("same-day-ach"), + + RTP("rtp"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferIntentCreateNetwork(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferIntentCreateNetwork fromValue(String value) { + for (TransferIntentCreateNetwork b : TransferIntentCreateNetwork.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferIntentCreateNetwork.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferIntentCreateNetwork enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferIntentCreateNetwork read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferIntentCreateNetwork.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferIntentCreateRequest.java b/src/main/java/com/plaid/client/model/TransferIntentCreateRequest.java new file mode 100644 index 0000000000..5c94badacf --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferIntentCreateRequest.java @@ -0,0 +1,487 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.TransferIntentCreateMode; +import com.plaid.client.model.TransferIntentCreateNetwork; +import com.plaid.client.model.TransferUserInRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Defines the request schema for `/transfer/intent/create` + */ +@ApiModel(description = "Defines the request schema for `/transfer/intent/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferIntentCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_MODE = "mode"; + @SerializedName(SERIALIZED_NAME_MODE) + private TransferIntentCreateMode mode; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private TransferIntentCreateNetwork network = TransferIntentCreateNetwork.SAME_DAY_ACH; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_ACH_CLASS = "ach_class"; + @SerializedName(SERIALIZED_NAME_ACH_CLASS) + private ACHClass achClass; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private TransferUserInRequest user; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private Map metadata = null; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_REQUIRE_GUARANTEE = "require_guarantee"; + @SerializedName(SERIALIZED_NAME_REQUIRE_GUARANTEE) + private Boolean requireGuarantee = false; + + + public TransferIntentCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferIntentCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferIntentCreateRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` corresponding to the end-user account that will be debited or credited. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `account_id` corresponding to the end-user account that will be debited or credited.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransferIntentCreateRequest fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * Specify the account used to fund the transfer. Should be specified if using legacy funding methods only. If using Plaid Ledger, leave this field blank. Customers can find a list of `funding_account_id`s in the Accounts page of your Plaid Dashboard, under the \"Account ID\" column. If this field is left blank and you are using legacy funding methods, this will default to the default `funding_account_id` specified during onboarding. Otherwise, Plaid Ledger will be used. + * @return fundingAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify the account used to fund the transfer. Should be specified if using legacy funding methods only. If using Plaid Ledger, leave this field blank. Customers can find a list of `funding_account_id`s in the Accounts page of your Plaid Dashboard, under the \"Account ID\" column. If this field is left blank and you are using legacy funding methods, this will default to the default `funding_account_id` specified during onboarding. Otherwise, Plaid Ledger will be used.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public TransferIntentCreateRequest mode(TransferIntentCreateMode mode) { + + this.mode = mode; + return this; + } + + /** + * Get mode + * @return mode + **/ + @ApiModelProperty(required = true, value = "") + + public TransferIntentCreateMode getMode() { + return mode; + } + + + public void setMode(TransferIntentCreateMode mode) { + this.mode = mode; + } + + + public TransferIntentCreateRequest network(TransferIntentCreateNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferIntentCreateNetwork getNetwork() { + return network; + } + + + public void setNetwork(TransferIntentCreateNetwork network) { + this.network = network; + } + + + public TransferIntentCreateRequest amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferIntentCreateRequest description(String description) { + + this.description = description; + return this; + } + + /** + * A description for the underlying transfer. Maximum of 15 characters. + * @return description + **/ + @ApiModelProperty(required = true, value = "A description for the underlying transfer. Maximum of 15 characters.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public TransferIntentCreateRequest achClass(ACHClass achClass) { + + this.achClass = achClass; + return this; + } + + /** + * Get achClass + * @return achClass + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ACHClass getAchClass() { + return achClass; + } + + + public void setAchClass(ACHClass achClass) { + this.achClass = achClass; + } + + + public TransferIntentCreateRequest originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Plaid's unique identifier for the origination account for the intent. If not provided, the default account will be used. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for the origination account for the intent. If not provided, the default account will be used.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public TransferIntentCreateRequest user(TransferUserInRequest user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public TransferUserInRequest getUser() { + return user; + } + + + public void setUser(TransferUserInRequest user) { + this.user = user; + } + + + public TransferIntentCreateRequest metadata(Map metadata) { + + this.metadata = metadata; + return this; + } + + public TransferIntentCreateRequest putMetadataItem(String key, String metadataItem) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, metadataItem); + return this; + } + + /** + * The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters ") + + public Map getMetadata() { + return metadata; + } + + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + + public TransferIntentCreateRequest isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the transfer amount, e.g. \"USD\" + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The currency of the transfer amount, e.g. \"USD\"") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TransferIntentCreateRequest requireGuarantee(Boolean requireGuarantee) { + + this.requireGuarantee = requireGuarantee; + return this; + } + + /** + * When `true`, the transfer requires a `GUARANTEED` decision by Plaid to proceed (Guarantee customers only). + * @return requireGuarantee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, the transfer requires a `GUARANTEED` decision by Plaid to proceed (Guarantee customers only).") + + public Boolean getRequireGuarantee() { + return requireGuarantee; + } + + + public void setRequireGuarantee(Boolean requireGuarantee) { + this.requireGuarantee = requireGuarantee; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferIntentCreateRequest transferIntentCreateRequest = (TransferIntentCreateRequest) o; + return Objects.equals(this.clientId, transferIntentCreateRequest.clientId) && + Objects.equals(this.secret, transferIntentCreateRequest.secret) && + Objects.equals(this.accountId, transferIntentCreateRequest.accountId) && + Objects.equals(this.fundingAccountId, transferIntentCreateRequest.fundingAccountId) && + Objects.equals(this.mode, transferIntentCreateRequest.mode) && + Objects.equals(this.network, transferIntentCreateRequest.network) && + Objects.equals(this.amount, transferIntentCreateRequest.amount) && + Objects.equals(this.description, transferIntentCreateRequest.description) && + Objects.equals(this.achClass, transferIntentCreateRequest.achClass) && + Objects.equals(this.originationAccountId, transferIntentCreateRequest.originationAccountId) && + Objects.equals(this.user, transferIntentCreateRequest.user) && + Objects.equals(this.metadata, transferIntentCreateRequest.metadata) && + Objects.equals(this.isoCurrencyCode, transferIntentCreateRequest.isoCurrencyCode) && + Objects.equals(this.requireGuarantee, transferIntentCreateRequest.requireGuarantee); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accountId, fundingAccountId, mode, network, amount, description, achClass, originationAccountId, user, metadata, isoCurrencyCode, requireGuarantee); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferIntentCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" mode: ").append(toIndentedString(mode)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" achClass: ").append(toIndentedString(achClass)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" requireGuarantee: ").append(toIndentedString(requireGuarantee)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferIntentCreateResponse.java b/src/main/java/com/plaid/client/model/TransferIntentCreateResponse.java new file mode 100644 index 0000000000..1e57e28a7b --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferIntentCreateResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferIntentCreate; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/intent/create` + */ +@ApiModel(description = "Defines the response schema for `/transfer/intent/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferIntentCreateResponse { + public static final String SERIALIZED_NAME_TRANSFER_INTENT = "transfer_intent"; + @SerializedName(SERIALIZED_NAME_TRANSFER_INTENT) + private TransferIntentCreate transferIntent; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferIntentCreateResponse transferIntent(TransferIntentCreate transferIntent) { + + this.transferIntent = transferIntent; + return this; + } + + /** + * Get transferIntent + * @return transferIntent + **/ + @ApiModelProperty(required = true, value = "") + + public TransferIntentCreate getTransferIntent() { + return transferIntent; + } + + + public void setTransferIntent(TransferIntentCreate transferIntent) { + this.transferIntent = transferIntent; + } + + + public TransferIntentCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferIntentCreateResponse transferIntentCreateResponse = (TransferIntentCreateResponse) o; + return Objects.equals(this.transferIntent, transferIntentCreateResponse.transferIntent) && + Objects.equals(this.requestId, transferIntentCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(transferIntent, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferIntentCreateResponse {\n"); + sb.append(" transferIntent: ").append(toIndentedString(transferIntent)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferIntentGet.java b/src/main/java/com/plaid/client/model/TransferIntentGet.java new file mode 100644 index 0000000000..3b68aead61 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferIntentGet.java @@ -0,0 +1,691 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.TransferAuthorizationDecisionRationale; +import com.plaid.client.model.TransferAuthorizationGuaranteeDecision; +import com.plaid.client.model.TransferAuthorizationGuaranteeDecisionRationale; +import com.plaid.client.model.TransferIntentAuthorizationDecision; +import com.plaid.client.model.TransferIntentCreateMode; +import com.plaid.client.model.TransferIntentCreateNetwork; +import com.plaid.client.model.TransferIntentGetFailureReason; +import com.plaid.client.model.TransferIntentStatus; +import com.plaid.client.model.TransferUserInResponse; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Represents a transfer intent within Transfer UI. + */ +@ApiModel(description = "Represents a transfer intent within Transfer UI.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferIntentGet { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private TransferIntentStatus status; + + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private TransferIntentGetFailureReason failureReason; + + public static final String SERIALIZED_NAME_AUTHORIZATION_DECISION = "authorization_decision"; + @SerializedName(SERIALIZED_NAME_AUTHORIZATION_DECISION) + private TransferIntentAuthorizationDecision authorizationDecision; + + public static final String SERIALIZED_NAME_AUTHORIZATION_DECISION_RATIONALE = "authorization_decision_rationale"; + @SerializedName(SERIALIZED_NAME_AUTHORIZATION_DECISION_RATIONALE) + private TransferAuthorizationDecisionRationale authorizationDecisionRationale; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_MODE = "mode"; + @SerializedName(SERIALIZED_NAME_MODE) + private TransferIntentCreateMode mode; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private TransferIntentCreateNetwork network = TransferIntentCreateNetwork.SAME_DAY_ACH; + + public static final String SERIALIZED_NAME_ACH_CLASS = "ach_class"; + @SerializedName(SERIALIZED_NAME_ACH_CLASS) + private ACHClass achClass; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private TransferUserInResponse user; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private Map metadata = null; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_REQUIRE_GUARANTEE = "require_guarantee"; + @SerializedName(SERIALIZED_NAME_REQUIRE_GUARANTEE) + private Boolean requireGuarantee; + + public static final String SERIALIZED_NAME_GUARANTEE_DECISION = "guarantee_decision"; + @SerializedName(SERIALIZED_NAME_GUARANTEE_DECISION) + private TransferAuthorizationGuaranteeDecision guaranteeDecision; + + public static final String SERIALIZED_NAME_GUARANTEE_DECISION_RATIONALE = "guarantee_decision_rationale"; + @SerializedName(SERIALIZED_NAME_GUARANTEE_DECISION_RATIONALE) + private TransferAuthorizationGuaranteeDecisionRationale guaranteeDecisionRationale; + + + public TransferIntentGet id(String id) { + + this.id = id; + return this; + } + + /** + * Plaid's unique identifier for a transfer intent object. + * @return id + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a transfer intent object.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public TransferIntentGet created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The datetime the transfer was created. This will be of the form `2006-01-02T15:04:05Z`. + * @return created + **/ + @ApiModelProperty(required = true, value = "The datetime the transfer was created. This will be of the form `2006-01-02T15:04:05Z`.") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public TransferIntentGet status(TransferIntentStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public TransferIntentStatus getStatus() { + return status; + } + + + public void setStatus(TransferIntentStatus status) { + this.status = status; + } + + + public TransferIntentGet transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * Plaid's unique identifier for the transfer created through the UI. Returned only if the transfer was successfully created. Null value otherwise. + * @return transferId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the transfer created through the UI. Returned only if the transfer was successfully created. Null value otherwise.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public TransferIntentGet failureReason(TransferIntentGetFailureReason failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferIntentGetFailureReason getFailureReason() { + return failureReason; + } + + + public void setFailureReason(TransferIntentGetFailureReason failureReason) { + this.failureReason = failureReason; + } + + + public TransferIntentGet authorizationDecision(TransferIntentAuthorizationDecision authorizationDecision) { + + this.authorizationDecision = authorizationDecision; + return this; + } + + /** + * Get authorizationDecision + * @return authorizationDecision + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferIntentAuthorizationDecision getAuthorizationDecision() { + return authorizationDecision; + } + + + public void setAuthorizationDecision(TransferIntentAuthorizationDecision authorizationDecision) { + this.authorizationDecision = authorizationDecision; + } + + + public TransferIntentGet authorizationDecisionRationale(TransferAuthorizationDecisionRationale authorizationDecisionRationale) { + + this.authorizationDecisionRationale = authorizationDecisionRationale; + return this; + } + + /** + * Get authorizationDecisionRationale + * @return authorizationDecisionRationale + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationDecisionRationale getAuthorizationDecisionRationale() { + return authorizationDecisionRationale; + } + + + public void setAuthorizationDecisionRationale(TransferAuthorizationDecisionRationale authorizationDecisionRationale) { + this.authorizationDecisionRationale = authorizationDecisionRationale; + } + + + public TransferIntentGet accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` for the account that will be debited or credited. Returned only if `account_id` was set on intent creation. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `account_id` for the account that will be debited or credited. Returned only if `account_id` was set on intent creation.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransferIntentGet originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Plaid's unique identifier for the origination account used for the transfer. + * @return originationAccountId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the origination account used for the transfer.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public TransferIntentGet fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited. + * @return fundingAccountId + **/ + @ApiModelProperty(required = true, value = "The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public TransferIntentGet amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferIntentGet mode(TransferIntentCreateMode mode) { + + this.mode = mode; + return this; + } + + /** + * Get mode + * @return mode + **/ + @ApiModelProperty(required = true, value = "") + + public TransferIntentCreateMode getMode() { + return mode; + } + + + public void setMode(TransferIntentCreateMode mode) { + this.mode = mode; + } + + + public TransferIntentGet network(TransferIntentCreateNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferIntentCreateNetwork getNetwork() { + return network; + } + + + public void setNetwork(TransferIntentCreateNetwork network) { + this.network = network; + } + + + public TransferIntentGet achClass(ACHClass achClass) { + + this.achClass = achClass; + return this; + } + + /** + * Get achClass + * @return achClass + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ACHClass getAchClass() { + return achClass; + } + + + public void setAchClass(ACHClass achClass) { + this.achClass = achClass; + } + + + public TransferIntentGet user(TransferUserInResponse user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public TransferUserInResponse getUser() { + return user; + } + + + public void setUser(TransferUserInResponse user) { + this.user = user; + } + + + public TransferIntentGet description(String description) { + + this.description = description; + return this; + } + + /** + * A description for the underlying transfer. Maximum of 15 characters. + * @return description + **/ + @ApiModelProperty(required = true, value = "A description for the underlying transfer. Maximum of 15 characters.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public TransferIntentGet metadata(Map metadata) { + + this.metadata = metadata; + return this; + } + + public TransferIntentGet putMetadataItem(String key, String metadataItem) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, metadataItem); + return this; + } + + /** + * The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters ") + + public Map getMetadata() { + return metadata; + } + + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + + public TransferIntentGet isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the transfer amount, e.g. \"USD\" + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the transfer amount, e.g. \"USD\"") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TransferIntentGet requireGuarantee(Boolean requireGuarantee) { + + this.requireGuarantee = requireGuarantee; + return this; + } + + /** + * When `true`, the transfer requires a `GUARANTEED` decision by Plaid to proceed (Guarantee customers only). + * @return requireGuarantee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "When `true`, the transfer requires a `GUARANTEED` decision by Plaid to proceed (Guarantee customers only).") + + public Boolean getRequireGuarantee() { + return requireGuarantee; + } + + + public void setRequireGuarantee(Boolean requireGuarantee) { + this.requireGuarantee = requireGuarantee; + } + + + public TransferIntentGet guaranteeDecision(TransferAuthorizationGuaranteeDecision guaranteeDecision) { + + this.guaranteeDecision = guaranteeDecision; + return this; + } + + /** + * Get guaranteeDecision + * @return guaranteeDecision + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationGuaranteeDecision getGuaranteeDecision() { + return guaranteeDecision; + } + + + public void setGuaranteeDecision(TransferAuthorizationGuaranteeDecision guaranteeDecision) { + this.guaranteeDecision = guaranteeDecision; + } + + + public TransferIntentGet guaranteeDecisionRationale(TransferAuthorizationGuaranteeDecisionRationale guaranteeDecisionRationale) { + + this.guaranteeDecisionRationale = guaranteeDecisionRationale; + return this; + } + + /** + * Get guaranteeDecisionRationale + * @return guaranteeDecisionRationale + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationGuaranteeDecisionRationale getGuaranteeDecisionRationale() { + return guaranteeDecisionRationale; + } + + + public void setGuaranteeDecisionRationale(TransferAuthorizationGuaranteeDecisionRationale guaranteeDecisionRationale) { + this.guaranteeDecisionRationale = guaranteeDecisionRationale; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferIntentGet transferIntentGet = (TransferIntentGet) o; + return Objects.equals(this.id, transferIntentGet.id) && + Objects.equals(this.created, transferIntentGet.created) && + Objects.equals(this.status, transferIntentGet.status) && + Objects.equals(this.transferId, transferIntentGet.transferId) && + Objects.equals(this.failureReason, transferIntentGet.failureReason) && + Objects.equals(this.authorizationDecision, transferIntentGet.authorizationDecision) && + Objects.equals(this.authorizationDecisionRationale, transferIntentGet.authorizationDecisionRationale) && + Objects.equals(this.accountId, transferIntentGet.accountId) && + Objects.equals(this.originationAccountId, transferIntentGet.originationAccountId) && + Objects.equals(this.fundingAccountId, transferIntentGet.fundingAccountId) && + Objects.equals(this.amount, transferIntentGet.amount) && + Objects.equals(this.mode, transferIntentGet.mode) && + Objects.equals(this.network, transferIntentGet.network) && + Objects.equals(this.achClass, transferIntentGet.achClass) && + Objects.equals(this.user, transferIntentGet.user) && + Objects.equals(this.description, transferIntentGet.description) && + Objects.equals(this.metadata, transferIntentGet.metadata) && + Objects.equals(this.isoCurrencyCode, transferIntentGet.isoCurrencyCode) && + Objects.equals(this.requireGuarantee, transferIntentGet.requireGuarantee) && + Objects.equals(this.guaranteeDecision, transferIntentGet.guaranteeDecision) && + Objects.equals(this.guaranteeDecisionRationale, transferIntentGet.guaranteeDecisionRationale); + } + + @Override + public int hashCode() { + return Objects.hash(id, created, status, transferId, failureReason, authorizationDecision, authorizationDecisionRationale, accountId, originationAccountId, fundingAccountId, amount, mode, network, achClass, user, description, metadata, isoCurrencyCode, requireGuarantee, guaranteeDecision, guaranteeDecisionRationale); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferIntentGet {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append(" authorizationDecision: ").append(toIndentedString(authorizationDecision)).append("\n"); + sb.append(" authorizationDecisionRationale: ").append(toIndentedString(authorizationDecisionRationale)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" mode: ").append(toIndentedString(mode)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" achClass: ").append(toIndentedString(achClass)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" requireGuarantee: ").append(toIndentedString(requireGuarantee)).append("\n"); + sb.append(" guaranteeDecision: ").append(toIndentedString(guaranteeDecision)).append("\n"); + sb.append(" guaranteeDecisionRationale: ").append(toIndentedString(guaranteeDecisionRationale)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferIntentGetFailureReason.java b/src/main/java/com/plaid/client/model/TransferIntentGetFailureReason.java new file mode 100644 index 0000000000..3f898e9ced --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferIntentGetFailureReason.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The reason for a failed transfer intent. Returned only if the transfer intent status is `failed`. Null otherwise. + */ +@ApiModel(description = "The reason for a failed transfer intent. Returned only if the transfer intent status is `failed`. Null otherwise.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferIntentGetFailureReason { + public static final String SERIALIZED_NAME_ERROR_TYPE = "error_type"; + @SerializedName(SERIALIZED_NAME_ERROR_TYPE) + private String errorType; + + public static final String SERIALIZED_NAME_ERROR_CODE = "error_code"; + @SerializedName(SERIALIZED_NAME_ERROR_CODE) + private String errorCode; + + public static final String SERIALIZED_NAME_ERROR_MESSAGE = "error_message"; + @SerializedName(SERIALIZED_NAME_ERROR_MESSAGE) + private String errorMessage; + + + public TransferIntentGetFailureReason errorType(String errorType) { + + this.errorType = errorType; + return this; + } + + /** + * A broad categorization of the error. + * @return errorType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A broad categorization of the error.") + + public String getErrorType() { + return errorType; + } + + + public void setErrorType(String errorType) { + this.errorType = errorType; + } + + + public TransferIntentGetFailureReason errorCode(String errorCode) { + + this.errorCode = errorCode; + return this; + } + + /** + * A code representing the reason for a failed transfer intent (i.e., an API error or the authorization being declined). + * @return errorCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A code representing the reason for a failed transfer intent (i.e., an API error or the authorization being declined).") + + public String getErrorCode() { + return errorCode; + } + + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + + public TransferIntentGetFailureReason errorMessage(String errorMessage) { + + this.errorMessage = errorMessage; + return this; + } + + /** + * A human-readable description of the code associated with a failed transfer intent. + * @return errorMessage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A human-readable description of the code associated with a failed transfer intent.") + + public String getErrorMessage() { + return errorMessage; + } + + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferIntentGetFailureReason transferIntentGetFailureReason = (TransferIntentGetFailureReason) o; + return Objects.equals(this.errorType, transferIntentGetFailureReason.errorType) && + Objects.equals(this.errorCode, transferIntentGetFailureReason.errorCode) && + Objects.equals(this.errorMessage, transferIntentGetFailureReason.errorMessage); + } + + @Override + public int hashCode() { + return Objects.hash(errorType, errorCode, errorMessage); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferIntentGetFailureReason {\n"); + sb.append(" errorType: ").append(toIndentedString(errorType)).append("\n"); + sb.append(" errorCode: ").append(toIndentedString(errorCode)).append("\n"); + sb.append(" errorMessage: ").append(toIndentedString(errorMessage)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferIntentGetRequest.java b/src/main/java/com/plaid/client/model/TransferIntentGetRequest.java new file mode 100644 index 0000000000..356374b160 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferIntentGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/intent/get` + */ +@ApiModel(description = "Defines the request schema for `/transfer/intent/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferIntentGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_TRANSFER_INTENT_ID = "transfer_intent_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_INTENT_ID) + private String transferIntentId; + + + public TransferIntentGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferIntentGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferIntentGetRequest transferIntentId(String transferIntentId) { + + this.transferIntentId = transferIntentId; + return this; + } + + /** + * Plaid's unique identifier for a transfer intent object. + * @return transferIntentId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a transfer intent object.") + + public String getTransferIntentId() { + return transferIntentId; + } + + + public void setTransferIntentId(String transferIntentId) { + this.transferIntentId = transferIntentId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferIntentGetRequest transferIntentGetRequest = (TransferIntentGetRequest) o; + return Objects.equals(this.clientId, transferIntentGetRequest.clientId) && + Objects.equals(this.secret, transferIntentGetRequest.secret) && + Objects.equals(this.transferIntentId, transferIntentGetRequest.transferIntentId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, transferIntentId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferIntentGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" transferIntentId: ").append(toIndentedString(transferIntentId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferIntentGetResponse.java b/src/main/java/com/plaid/client/model/TransferIntentGetResponse.java new file mode 100644 index 0000000000..f0f3d20401 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferIntentGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferIntentGet; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/intent/get` + */ +@ApiModel(description = "Defines the response schema for `/transfer/intent/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferIntentGetResponse { + public static final String SERIALIZED_NAME_TRANSFER_INTENT = "transfer_intent"; + @SerializedName(SERIALIZED_NAME_TRANSFER_INTENT) + private TransferIntentGet transferIntent; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferIntentGetResponse transferIntent(TransferIntentGet transferIntent) { + + this.transferIntent = transferIntent; + return this; + } + + /** + * Get transferIntent + * @return transferIntent + **/ + @ApiModelProperty(required = true, value = "") + + public TransferIntentGet getTransferIntent() { + return transferIntent; + } + + + public void setTransferIntent(TransferIntentGet transferIntent) { + this.transferIntent = transferIntent; + } + + + public TransferIntentGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferIntentGetResponse transferIntentGetResponse = (TransferIntentGetResponse) o; + return Objects.equals(this.transferIntent, transferIntentGetResponse.transferIntent) && + Objects.equals(this.requestId, transferIntentGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(transferIntent, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferIntentGetResponse {\n"); + sb.append(" transferIntent: ").append(toIndentedString(transferIntent)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferIntentStatus.java b/src/main/java/com/plaid/client/model/TransferIntentStatus.java new file mode 100644 index 0000000000..b1b09476b2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferIntentStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the transfer intent. `PENDING`: The transfer intent is pending. `SUCCEEDED`: The transfer intent was successfully created. `FAILED`: The transfer intent was unable to be created. + */ +@JsonAdapter(TransferIntentStatus.Adapter.class) +public enum TransferIntentStatus { + + PENDING("PENDING"), + + SUCCEEDED("SUCCEEDED"), + + FAILED("FAILED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferIntentStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferIntentStatus fromValue(String value) { + for (TransferIntentStatus b : TransferIntentStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferIntentStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferIntentStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferIntentStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferIntentStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferLedgerBalance.java b/src/main/java/com/plaid/client/model/TransferLedgerBalance.java new file mode 100644 index 0000000000..122184e10f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferLedgerBalance.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the balance of the ledger held with Plaid. + */ +@ApiModel(description = "Information about the balance of the ledger held with Plaid.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferLedgerBalance { + public static final String SERIALIZED_NAME_AVAILABLE = "available"; + @SerializedName(SERIALIZED_NAME_AVAILABLE) + private String available; + + public static final String SERIALIZED_NAME_PENDING = "pending"; + @SerializedName(SERIALIZED_NAME_PENDING) + private String pending; + + + public TransferLedgerBalance available(String available) { + + this.available = available; + return this; + } + + /** + * The amount of this balance available for use (decimal string with two digits of precision e.g. \"10.00\"). + * @return available + **/ + @ApiModelProperty(required = true, value = "The amount of this balance available for use (decimal string with two digits of precision e.g. \"10.00\").") + + public String getAvailable() { + return available; + } + + + public void setAvailable(String available) { + this.available = available; + } + + + public TransferLedgerBalance pending(String pending) { + + this.pending = pending; + return this; + } + + /** + * The amount of pending funds that are in processing (decimal string with two digits of precision e.g. \"10.00\"). + * @return pending + **/ + @ApiModelProperty(required = true, value = "The amount of pending funds that are in processing (decimal string with two digits of precision e.g. \"10.00\").") + + public String getPending() { + return pending; + } + + + public void setPending(String pending) { + this.pending = pending; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferLedgerBalance transferLedgerBalance = (TransferLedgerBalance) o; + return Objects.equals(this.available, transferLedgerBalance.available) && + Objects.equals(this.pending, transferLedgerBalance.pending); + } + + @Override + public int hashCode() { + return Objects.hash(available, pending); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferLedgerBalance {\n"); + sb.append(" available: ").append(toIndentedString(available)).append("\n"); + sb.append(" pending: ").append(toIndentedString(pending)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferLedgerDepositRequest.java b/src/main/java/com/plaid/client/model/TransferLedgerDepositRequest.java new file mode 100644 index 0000000000..d81f627487 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferLedgerDepositRequest.java @@ -0,0 +1,329 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferACHNetwork; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/ledger/deposit` + */ +@ApiModel(description = "Defines the request schema for `/transfer/ledger/deposit`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferLedgerDepositRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_IDEMPOTENCY_KEY = "idempotency_key"; + @SerializedName(SERIALIZED_NAME_IDEMPOTENCY_KEY) + private String idempotencyKey; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private TransferACHNetwork network; + + + public TransferLedgerDepositRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferLedgerDepositRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferLedgerDepositRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * Client ID of the customer that owns the Ledger balance. This is so Plaid knows which of your customers to pay out to or collect funds from. Only applicable for [Platform customers](https://plaid.com/docs/transfer/application/#originators-vs-platforms). Do not include if you're paying out to yourself. + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client ID of the customer that owns the Ledger balance. This is so Plaid knows which of your customers to pay out to or collect funds from. Only applicable for [Platform customers](https://plaid.com/docs/transfer/application/#originators-vs-platforms). Do not include if you're paying out to yourself.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferLedgerDepositRequest fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * Specify which funding account to use. Customers can find a list of `funding_account_id`s in the Accounts page of the Plaid Dashboard, under the \"Account ID\" column. If this field is left blank, the funding account associated with the specified Ledger will be used. If an `originator_client_id` is specified, the `funding_account_id` must belong to the specified originator. + * @return fundingAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify which funding account to use. Customers can find a list of `funding_account_id`s in the Accounts page of the Plaid Dashboard, under the \"Account ID\" column. If this field is left blank, the funding account associated with the specified Ledger will be used. If an `originator_client_id` is specified, the `funding_account_id` must belong to the specified originator.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public TransferLedgerDepositRequest ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * Specify which ledger balance to deposit to. Customers can find a list of `ledger_id`s in the Accounts page of your Plaid Dashboard. If this field is left blank, this will default to the id of the default ledger balance. + * @return ledgerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify which ledger balance to deposit to. Customers can find a list of `ledger_id`s in the Accounts page of your Plaid Dashboard. If this field is left blank, this will default to the id of the default ledger balance.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public TransferLedgerDepositRequest amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * A positive amount of how much will be deposited into ledger (decimal string with two digits of precision e.g. \"5.50\"). + * @return amount + **/ + @ApiModelProperty(required = true, value = "A positive amount of how much will be deposited into ledger (decimal string with two digits of precision e.g. \"5.50\").") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferLedgerDepositRequest description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the deposit that will be passed to the receiving bank (up to 10 characters). Note that banks utilize this field differently, and may or may not show it on the bank statement. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The description of the deposit that will be passed to the receiving bank (up to 10 characters). Note that banks utilize this field differently, and may or may not show it on the bank statement.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public TransferLedgerDepositRequest idempotencyKey(String idempotencyKey) { + + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * A unique key provided by the client, per unique ledger deposit. Maximum of 50 characters. The API supports idempotency for safely retrying the request without accidentally performing the same operation twice. For example, if a request to create a ledger deposit fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single deposit is created. + * @return idempotencyKey + **/ + @ApiModelProperty(required = true, value = "A unique key provided by the client, per unique ledger deposit. Maximum of 50 characters. The API supports idempotency for safely retrying the request without accidentally performing the same operation twice. For example, if a request to create a ledger deposit fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single deposit is created.") + + public String getIdempotencyKey() { + return idempotencyKey; + } + + + public void setIdempotencyKey(String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + } + + + public TransferLedgerDepositRequest network(TransferACHNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @ApiModelProperty(required = true, value = "") + + public TransferACHNetwork getNetwork() { + return network; + } + + + public void setNetwork(TransferACHNetwork network) { + this.network = network; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferLedgerDepositRequest transferLedgerDepositRequest = (TransferLedgerDepositRequest) o; + return Objects.equals(this.clientId, transferLedgerDepositRequest.clientId) && + Objects.equals(this.secret, transferLedgerDepositRequest.secret) && + Objects.equals(this.originatorClientId, transferLedgerDepositRequest.originatorClientId) && + Objects.equals(this.fundingAccountId, transferLedgerDepositRequest.fundingAccountId) && + Objects.equals(this.ledgerId, transferLedgerDepositRequest.ledgerId) && + Objects.equals(this.amount, transferLedgerDepositRequest.amount) && + Objects.equals(this.description, transferLedgerDepositRequest.description) && + Objects.equals(this.idempotencyKey, transferLedgerDepositRequest.idempotencyKey) && + Objects.equals(this.network, transferLedgerDepositRequest.network); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originatorClientId, fundingAccountId, ledgerId, amount, description, idempotencyKey, network); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferLedgerDepositRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" idempotencyKey: ").append(toIndentedString(idempotencyKey)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferLedgerDepositResponse.java b/src/main/java/com/plaid/client/model/TransferLedgerDepositResponse.java new file mode 100644 index 0000000000..591b7729bc --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferLedgerDepositResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferSweep; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/ledger/deposit` + */ +@ApiModel(description = "Defines the response schema for `/transfer/ledger/deposit`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferLedgerDepositResponse { + public static final String SERIALIZED_NAME_SWEEP = "sweep"; + @SerializedName(SERIALIZED_NAME_SWEEP) + private TransferSweep sweep; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferLedgerDepositResponse sweep(TransferSweep sweep) { + + this.sweep = sweep; + return this; + } + + /** + * Get sweep + * @return sweep + **/ + @ApiModelProperty(required = true, value = "") + + public TransferSweep getSweep() { + return sweep; + } + + + public void setSweep(TransferSweep sweep) { + this.sweep = sweep; + } + + + public TransferLedgerDepositResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferLedgerDepositResponse transferLedgerDepositResponse = (TransferLedgerDepositResponse) o; + return Objects.equals(this.sweep, transferLedgerDepositResponse.sweep) && + Objects.equals(this.requestId, transferLedgerDepositResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(sweep, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferLedgerDepositResponse {\n"); + sb.append(" sweep: ").append(toIndentedString(sweep)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferLedgerDistributeRequest.java b/src/main/java/com/plaid/client/model/TransferLedgerDistributeRequest.java new file mode 100644 index 0000000000..5ac7ec278a --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferLedgerDistributeRequest.java @@ -0,0 +1,269 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/ledger/distribute` + */ +@ApiModel(description = "Defines the request schema for `/transfer/ledger/distribute`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferLedgerDistributeRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_FROM_LEDGER_ID = "from_ledger_id"; + @SerializedName(SERIALIZED_NAME_FROM_LEDGER_ID) + private String fromLedgerId; + + public static final String SERIALIZED_NAME_TO_LEDGER_ID = "to_ledger_id"; + @SerializedName(SERIALIZED_NAME_TO_LEDGER_ID) + private String toLedgerId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_IDEMPOTENCY_KEY = "idempotency_key"; + @SerializedName(SERIALIZED_NAME_IDEMPOTENCY_KEY) + private String idempotencyKey; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + + public TransferLedgerDistributeRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferLedgerDistributeRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferLedgerDistributeRequest fromLedgerId(String fromLedgerId) { + + this.fromLedgerId = fromLedgerId; + return this; + } + + /** + * The Ledger to pull money from. + * @return fromLedgerId + **/ + @ApiModelProperty(required = true, value = "The Ledger to pull money from.") + + public String getFromLedgerId() { + return fromLedgerId; + } + + + public void setFromLedgerId(String fromLedgerId) { + this.fromLedgerId = fromLedgerId; + } + + + public TransferLedgerDistributeRequest toLedgerId(String toLedgerId) { + + this.toLedgerId = toLedgerId; + return this; + } + + /** + * The Ledger to credit money to. + * @return toLedgerId + **/ + @ApiModelProperty(required = true, value = "The Ledger to credit money to.") + + public String getToLedgerId() { + return toLedgerId; + } + + + public void setToLedgerId(String toLedgerId) { + this.toLedgerId = toLedgerId; + } + + + public TransferLedgerDistributeRequest amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount to move (decimal string with two digits of precision e.g. \"10.00\"). Amount must be positive. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount to move (decimal string with two digits of precision e.g. \"10.00\"). Amount must be positive.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferLedgerDistributeRequest idempotencyKey(String idempotencyKey) { + + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * A unique key provided by the client, per unique ledger distribute. Maximum of 50 characters. The API supports idempotency for safely retrying the request without accidentally performing the same operation twice. For example, if a request to create a ledger distribute fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single distribute is created. + * @return idempotencyKey + **/ + @ApiModelProperty(required = true, value = "A unique key provided by the client, per unique ledger distribute. Maximum of 50 characters. The API supports idempotency for safely retrying the request without accidentally performing the same operation twice. For example, if a request to create a ledger distribute fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single distribute is created.") + + public String getIdempotencyKey() { + return idempotencyKey; + } + + + public void setIdempotencyKey(String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + } + + + public TransferLedgerDistributeRequest description(String description) { + + this.description = description; + return this; + } + + /** + * An optional description for the ledger distribute operation. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An optional description for the ledger distribute operation.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferLedgerDistributeRequest transferLedgerDistributeRequest = (TransferLedgerDistributeRequest) o; + return Objects.equals(this.clientId, transferLedgerDistributeRequest.clientId) && + Objects.equals(this.secret, transferLedgerDistributeRequest.secret) && + Objects.equals(this.fromLedgerId, transferLedgerDistributeRequest.fromLedgerId) && + Objects.equals(this.toLedgerId, transferLedgerDistributeRequest.toLedgerId) && + Objects.equals(this.amount, transferLedgerDistributeRequest.amount) && + Objects.equals(this.idempotencyKey, transferLedgerDistributeRequest.idempotencyKey) && + Objects.equals(this.description, transferLedgerDistributeRequest.description); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, fromLedgerId, toLedgerId, amount, idempotencyKey, description); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferLedgerDistributeRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" fromLedgerId: ").append(toIndentedString(fromLedgerId)).append("\n"); + sb.append(" toLedgerId: ").append(toIndentedString(toLedgerId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" idempotencyKey: ").append(toIndentedString(idempotencyKey)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferLedgerDistributeResponse.java b/src/main/java/com/plaid/client/model/TransferLedgerDistributeResponse.java new file mode 100644 index 0000000000..ea1d48f2d4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferLedgerDistributeResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/ledger/distribute` + */ +@ApiModel(description = "Defines the response schema for `/transfer/ledger/distribute`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferLedgerDistributeResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferLedgerDistributeResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferLedgerDistributeResponse transferLedgerDistributeResponse = (TransferLedgerDistributeResponse) o; + return Objects.equals(this.requestId, transferLedgerDistributeResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferLedgerDistributeResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferLedgerEvent.java b/src/main/java/com/plaid/client/model/TransferLedgerEvent.java new file mode 100644 index 0000000000..f821d46c28 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferLedgerEvent.java @@ -0,0 +1,382 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Represents a ledger event in the Transfers API. + */ +@ApiModel(description = "Represents a ledger event in the Transfers API.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferLedgerEvent { + public static final String SERIALIZED_NAME_LEDGER_EVENT_ID = "ledger_event_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_EVENT_ID) + private String ledgerEventId; + + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_REFUND_ID = "refund_id"; + @SerializedName(SERIALIZED_NAME_REFUND_ID) + private String refundId; + + public static final String SERIALIZED_NAME_SWEEP_ID = "sweep_id"; + @SerializedName(SERIALIZED_NAME_SWEEP_ID) + private String sweepId; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_PENDING_BALANCE = "pending_balance"; + @SerializedName(SERIALIZED_NAME_PENDING_BALANCE) + private String pendingBalance; + + public static final String SERIALIZED_NAME_AVAILABLE_BALANCE = "available_balance"; + @SerializedName(SERIALIZED_NAME_AVAILABLE_BALANCE) + private String availableBalance; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + + public TransferLedgerEvent ledgerEventId(String ledgerEventId) { + + this.ledgerEventId = ledgerEventId; + return this; + } + + /** + * Plaid's unique identifier for this ledger event. + * @return ledgerEventId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for this ledger event.") + + public String getLedgerEventId() { + return ledgerEventId; + } + + + public void setLedgerEventId(String ledgerEventId) { + this.ledgerEventId = ledgerEventId; + } + + + public TransferLedgerEvent ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * The ID of the ledger this event belongs to. + * @return ledgerId + **/ + @ApiModelProperty(required = true, value = "The ID of the ledger this event belongs to.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public TransferLedgerEvent amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the ledger event as a decimal string. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the ledger event as a decimal string.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferLedgerEvent transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * The ID of the transfer source that triggered this ledger event. + * @return transferId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the transfer source that triggered this ledger event.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public TransferLedgerEvent refundId(String refundId) { + + this.refundId = refundId; + return this; + } + + /** + * The ID of the refund source that triggered this ledger event. + * @return refundId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the refund source that triggered this ledger event.") + + public String getRefundId() { + return refundId; + } + + + public void setRefundId(String refundId) { + this.refundId = refundId; + } + + + public TransferLedgerEvent sweepId(String sweepId) { + + this.sweepId = sweepId; + return this; + } + + /** + * The ID of the sweep source that triggered this ledger event. + * @return sweepId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the sweep source that triggered this ledger event.") + + public String getSweepId() { + return sweepId; + } + + + public void setSweepId(String sweepId) { + this.sweepId = sweepId; + } + + + public TransferLedgerEvent description(String description) { + + this.description = description; + return this; + } + + /** + * A description of the ledger event. + * @return description + **/ + @ApiModelProperty(required = true, value = "A description of the ledger event.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public TransferLedgerEvent pendingBalance(String pendingBalance) { + + this.pendingBalance = pendingBalance; + return this; + } + + /** + * The new pending balance after this event. + * @return pendingBalance + **/ + @ApiModelProperty(required = true, value = "The new pending balance after this event.") + + public String getPendingBalance() { + return pendingBalance; + } + + + public void setPendingBalance(String pendingBalance) { + this.pendingBalance = pendingBalance; + } + + + public TransferLedgerEvent availableBalance(String availableBalance) { + + this.availableBalance = availableBalance; + return this; + } + + /** + * The new available balance after this event. + * @return availableBalance + **/ + @ApiModelProperty(required = true, value = "The new available balance after this event.") + + public String getAvailableBalance() { + return availableBalance; + } + + + public void setAvailableBalance(String availableBalance) { + this.availableBalance = availableBalance; + } + + + public TransferLedgerEvent type(String type) { + + this.type = type; + return this; + } + + /** + * The type of balance that was impacted by this event. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of balance that was impacted by this event.") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public TransferLedgerEvent timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * The datetime when this ledger event occurred. + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "The datetime when this ledger event occurred.") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferLedgerEvent transferLedgerEvent = (TransferLedgerEvent) o; + return Objects.equals(this.ledgerEventId, transferLedgerEvent.ledgerEventId) && + Objects.equals(this.ledgerId, transferLedgerEvent.ledgerId) && + Objects.equals(this.amount, transferLedgerEvent.amount) && + Objects.equals(this.transferId, transferLedgerEvent.transferId) && + Objects.equals(this.refundId, transferLedgerEvent.refundId) && + Objects.equals(this.sweepId, transferLedgerEvent.sweepId) && + Objects.equals(this.description, transferLedgerEvent.description) && + Objects.equals(this.pendingBalance, transferLedgerEvent.pendingBalance) && + Objects.equals(this.availableBalance, transferLedgerEvent.availableBalance) && + Objects.equals(this.type, transferLedgerEvent.type) && + Objects.equals(this.timestamp, transferLedgerEvent.timestamp); + } + + @Override + public int hashCode() { + return Objects.hash(ledgerEventId, ledgerId, amount, transferId, refundId, sweepId, description, pendingBalance, availableBalance, type, timestamp); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferLedgerEvent {\n"); + sb.append(" ledgerEventId: ").append(toIndentedString(ledgerEventId)).append("\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" refundId: ").append(toIndentedString(refundId)).append("\n"); + sb.append(" sweepId: ").append(toIndentedString(sweepId)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" pendingBalance: ").append(toIndentedString(pendingBalance)).append("\n"); + sb.append(" availableBalance: ").append(toIndentedString(availableBalance)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferLedgerEventListRequest.java b/src/main/java/com/plaid/client/model/TransferLedgerEventListRequest.java new file mode 100644 index 0000000000..ea5b6a0d4b --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferLedgerEventListRequest.java @@ -0,0 +1,394 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.LedgerEventSourceType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Defines the request schema for `/transfer/ledger/event/list` + */ +@ApiModel(description = "Defines the request schema for `/transfer/ledger/event/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferLedgerEventListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private OffsetDateTime startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private OffsetDateTime endDate; + + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_LEDGER_EVENT_ID = "ledger_event_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_EVENT_ID) + private String ledgerEventId; + + public static final String SERIALIZED_NAME_SOURCE_TYPE = "source_type"; + @SerializedName(SERIALIZED_NAME_SOURCE_TYPE) + private LedgerEventSourceType sourceType; + + public static final String SERIALIZED_NAME_SOURCE_ID = "source_id"; + @SerializedName(SERIALIZED_NAME_SOURCE_ID) + private String sourceId; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 25; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + + public TransferLedgerEventListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferLedgerEventListRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * Filter transfer events to only those with the specified originator client. (This field is specifically for resellers. Caller's client ID will be used if this field is not specified.) + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter transfer events to only those with the specified originator client. (This field is specifically for resellers. Caller's client ID will be used if this field is not specified.)") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferLedgerEventListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferLedgerEventListRequest startDate(OffsetDateTime startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start created datetime of transfers to list. This should be in RFC 3339 format (i.e. 2019-12-06T22:35:49Z) + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start created datetime of transfers to list. This should be in RFC 3339 format (i.e. 2019-12-06T22:35:49Z)") + + public OffsetDateTime getStartDate() { + return startDate; + } + + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + + public TransferLedgerEventListRequest endDate(OffsetDateTime endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end created datetime of transfers to list. This should be in RFC 3339 format (i.e. 2019-12-06T22:35:49Z) + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end created datetime of transfers to list. This should be in RFC 3339 format (i.e. 2019-12-06T22:35:49Z)") + + public OffsetDateTime getEndDate() { + return endDate; + } + + + public void setEndDate(OffsetDateTime endDate) { + this.endDate = endDate; + } + + + public TransferLedgerEventListRequest ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * Plaid's unique identifier for a Plaid Ledger Balance. + * @return ledgerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a Plaid Ledger Balance.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public TransferLedgerEventListRequest ledgerEventId(String ledgerEventId) { + + this.ledgerEventId = ledgerEventId; + return this; + } + + /** + * Plaid's unique identifier for the ledger event. + * @return ledgerEventId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for the ledger event.") + + public String getLedgerEventId() { + return ledgerEventId; + } + + + public void setLedgerEventId(String ledgerEventId) { + this.ledgerEventId = ledgerEventId; + } + + + public TransferLedgerEventListRequest sourceType(LedgerEventSourceType sourceType) { + + this.sourceType = sourceType; + return this; + } + + /** + * Get sourceType + * @return sourceType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public LedgerEventSourceType getSourceType() { + return sourceType; + } + + + public void setSourceType(LedgerEventSourceType sourceType) { + this.sourceType = sourceType; + } + + + public TransferLedgerEventListRequest sourceId(String sourceId) { + + this.sourceId = sourceId; + return this; + } + + /** + * Plaid's unique identifier for a transfer, sweep, or refund. + * @return sourceId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a transfer, sweep, or refund.") + + public String getSourceId() { + return sourceId; + } + + + public void setSourceId(String sourceId) { + this.sourceId = sourceId; + } + + + public TransferLedgerEventListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of transfer events to return. If the number of events matching the above parameters is greater than `count`, the most recent events will be returned. + * minimum: 1 + * maximum: 25 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of transfer events to return. If the number of events matching the above parameters is greater than `count`, the most recent events will be returned.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public TransferLedgerEventListRequest offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The offset into the list of transfer events. When `count`=25 and `offset`=0, the first 25 events will be returned. When `count`=25 and `offset`=25, the next 25 events will be returned. + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The offset into the list of transfer events. When `count`=25 and `offset`=0, the first 25 events will be returned. When `count`=25 and `offset`=25, the next 25 events will be returned.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferLedgerEventListRequest transferLedgerEventListRequest = (TransferLedgerEventListRequest) o; + return Objects.equals(this.clientId, transferLedgerEventListRequest.clientId) && + Objects.equals(this.originatorClientId, transferLedgerEventListRequest.originatorClientId) && + Objects.equals(this.secret, transferLedgerEventListRequest.secret) && + Objects.equals(this.startDate, transferLedgerEventListRequest.startDate) && + Objects.equals(this.endDate, transferLedgerEventListRequest.endDate) && + Objects.equals(this.ledgerId, transferLedgerEventListRequest.ledgerId) && + Objects.equals(this.ledgerEventId, transferLedgerEventListRequest.ledgerEventId) && + Objects.equals(this.sourceType, transferLedgerEventListRequest.sourceType) && + Objects.equals(this.sourceId, transferLedgerEventListRequest.sourceId) && + Objects.equals(this.count, transferLedgerEventListRequest.count) && + Objects.equals(this.offset, transferLedgerEventListRequest.offset); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, originatorClientId, secret, startDate, endDate, ledgerId, ledgerEventId, sourceType, sourceId, count, offset); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferLedgerEventListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" ledgerEventId: ").append(toIndentedString(ledgerEventId)).append("\n"); + sb.append(" sourceType: ").append(toIndentedString(sourceType)).append("\n"); + sb.append(" sourceId: ").append(toIndentedString(sourceId)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferLedgerEventListResponse.java b/src/main/java/com/plaid/client/model/TransferLedgerEventListResponse.java new file mode 100644 index 0000000000..a324b6393d --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferLedgerEventListResponse.java @@ -0,0 +1,162 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferLedgerEvent; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response schema for `/transfer/ledger/event/list` + */ +@ApiModel(description = "Defines the response schema for `/transfer/ledger/event/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferLedgerEventListResponse { + public static final String SERIALIZED_NAME_LEDGER_EVENTS = "ledger_events"; + @SerializedName(SERIALIZED_NAME_LEDGER_EVENTS) + private List ledgerEvents = new ArrayList<>(); + + public static final String SERIALIZED_NAME_HAS_MORE = "has_more"; + @SerializedName(SERIALIZED_NAME_HAS_MORE) + private Boolean hasMore; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferLedgerEventListResponse ledgerEvents(List ledgerEvents) { + + this.ledgerEvents = ledgerEvents; + return this; + } + + public TransferLedgerEventListResponse addLedgerEventsItem(TransferLedgerEvent ledgerEventsItem) { + this.ledgerEvents.add(ledgerEventsItem); + return this; + } + + /** + * Get ledgerEvents + * @return ledgerEvents + **/ + @ApiModelProperty(required = true, value = "") + + public List getLedgerEvents() { + return ledgerEvents; + } + + + public void setLedgerEvents(List ledgerEvents) { + this.ledgerEvents = ledgerEvents; + } + + + public TransferLedgerEventListResponse hasMore(Boolean hasMore) { + + this.hasMore = hasMore; + return this; + } + + /** + * Whether there are more events to be pulled from the endpoint that have not already been returned + * @return hasMore + **/ + @ApiModelProperty(required = true, value = "Whether there are more events to be pulled from the endpoint that have not already been returned") + + public Boolean getHasMore() { + return hasMore; + } + + + public void setHasMore(Boolean hasMore) { + this.hasMore = hasMore; + } + + + public TransferLedgerEventListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferLedgerEventListResponse transferLedgerEventListResponse = (TransferLedgerEventListResponse) o; + return Objects.equals(this.ledgerEvents, transferLedgerEventListResponse.ledgerEvents) && + Objects.equals(this.hasMore, transferLedgerEventListResponse.hasMore) && + Objects.equals(this.requestId, transferLedgerEventListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(ledgerEvents, hasMore, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferLedgerEventListResponse {\n"); + sb.append(" ledgerEvents: ").append(toIndentedString(ledgerEvents)).append("\n"); + sb.append(" hasMore: ").append(toIndentedString(hasMore)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferLedgerGetRequest.java b/src/main/java/com/plaid/client/model/TransferLedgerGetRequest.java new file mode 100644 index 0000000000..0677f4ac0a --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferLedgerGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/ledger/get` + */ +@ApiModel(description = "Defines the request schema for `/transfer/ledger/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferLedgerGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + + public TransferLedgerGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferLedgerGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferLedgerGetRequest ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * Specify which ledger balance to get. Customers can find a list of `ledger_id`s in the Accounts page of your Plaid Dashboard. If this field is left blank, this will default to the id of the default ledger balance. + * @return ledgerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify which ledger balance to get. Customers can find a list of `ledger_id`s in the Accounts page of your Plaid Dashboard. If this field is left blank, this will default to the id of the default ledger balance.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public TransferLedgerGetRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * Client ID of the end customer. + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client ID of the end customer.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferLedgerGetRequest transferLedgerGetRequest = (TransferLedgerGetRequest) o; + return Objects.equals(this.clientId, transferLedgerGetRequest.clientId) && + Objects.equals(this.secret, transferLedgerGetRequest.secret) && + Objects.equals(this.ledgerId, transferLedgerGetRequest.ledgerId) && + Objects.equals(this.originatorClientId, transferLedgerGetRequest.originatorClientId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, ledgerId, originatorClientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferLedgerGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferLedgerGetResponse.java b/src/main/java/com/plaid/client/model/TransferLedgerGetResponse.java new file mode 100644 index 0000000000..d61b5e0124 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferLedgerGetResponse.java @@ -0,0 +1,211 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferLedgerBalance; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/ledger/get` + */ +@ApiModel(description = "Defines the response schema for `/transfer/ledger/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferLedgerGetResponse { + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_BALANCE = "balance"; + @SerializedName(SERIALIZED_NAME_BALANCE) + private TransferLedgerBalance balance; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_IS_DEFAULT = "is_default"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferLedgerGetResponse ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * The unique identifier of the Ledger that was returned. + * @return ledgerId + **/ + @ApiModelProperty(required = true, value = "The unique identifier of the Ledger that was returned.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public TransferLedgerGetResponse balance(TransferLedgerBalance balance) { + + this.balance = balance; + return this; + } + + /** + * Get balance + * @return balance + **/ + @ApiModelProperty(required = true, value = "") + + public TransferLedgerBalance getBalance() { + return balance; + } + + + public void setBalance(TransferLedgerBalance balance) { + this.balance = balance; + } + + + public TransferLedgerGetResponse name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the Ledger + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the Ledger") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public TransferLedgerGetResponse isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Whether this Ledger is the client's default ledger. + * @return isDefault + **/ + @ApiModelProperty(required = true, value = "Whether this Ledger is the client's default ledger.") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public TransferLedgerGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferLedgerGetResponse transferLedgerGetResponse = (TransferLedgerGetResponse) o; + return Objects.equals(this.ledgerId, transferLedgerGetResponse.ledgerId) && + Objects.equals(this.balance, transferLedgerGetResponse.balance) && + Objects.equals(this.name, transferLedgerGetResponse.name) && + Objects.equals(this.isDefault, transferLedgerGetResponse.isDefault) && + Objects.equals(this.requestId, transferLedgerGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(ledgerId, balance, name, isDefault, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferLedgerGetResponse {\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" balance: ").append(toIndentedString(balance)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferLedgerSweepSimulateEventType.java b/src/main/java/com/plaid/client/model/TransferLedgerSweepSimulateEventType.java new file mode 100644 index 0000000000..c07045ec17 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferLedgerSweepSimulateEventType.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The asynchronous event to be simulated. May be: `posted`, `settled`, `failed`, or `returned`. An error will be returned if the event type is incompatible with the current ledger sweep status. Compatible status --> event type transitions include: `sweep.pending` --> `sweep.posted` `sweep.pending` --> `sweep.failed` `sweep.posted` --> `sweep.settled` `sweep.posted` --> `sweep.returned` `sweep.settled` --> `sweep.returned` + */ +@JsonAdapter(TransferLedgerSweepSimulateEventType.Adapter.class) +public enum TransferLedgerSweepSimulateEventType { + + POSTED("sweep.posted"), + + SETTLED("sweep.settled"), + + RETURNED("sweep.returned"), + + FAILED("sweep.failed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferLedgerSweepSimulateEventType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferLedgerSweepSimulateEventType fromValue(String value) { + for (TransferLedgerSweepSimulateEventType b : TransferLedgerSweepSimulateEventType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferLedgerSweepSimulateEventType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferLedgerSweepSimulateEventType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferLedgerSweepSimulateEventType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferLedgerSweepSimulateEventType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferLedgerWithdrawRequest.java b/src/main/java/com/plaid/client/model/TransferLedgerWithdrawRequest.java new file mode 100644 index 0000000000..2f644c7b2f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferLedgerWithdrawRequest.java @@ -0,0 +1,329 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferNetwork; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/ledger/withdraw` + */ +@ApiModel(description = "Defines the request schema for `/transfer/ledger/withdraw`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferLedgerWithdrawRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_IDEMPOTENCY_KEY = "idempotency_key"; + @SerializedName(SERIALIZED_NAME_IDEMPOTENCY_KEY) + private String idempotencyKey; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private TransferNetwork network; + + + public TransferLedgerWithdrawRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferLedgerWithdrawRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferLedgerWithdrawRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * Client ID of the customer that owns the Ledger balance. This is so Plaid knows which of your customers to pay out to or collect funds from. Only applicable for [Platform customers](https://plaid.com/docs/transfer/application/#originators-vs-platforms). Do not include if you're paying out to yourself. + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Client ID of the customer that owns the Ledger balance. This is so Plaid knows which of your customers to pay out to or collect funds from. Only applicable for [Platform customers](https://plaid.com/docs/transfer/application/#originators-vs-platforms). Do not include if you're paying out to yourself.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferLedgerWithdrawRequest fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * Specify which funding account to use. Customers can find a list of `funding_account_id`s in the Accounts page of the Plaid Dashboard, under the \"Account ID\" column. If this field is left blank, the funding account associated with the specified Ledger will be used. If an `originator_client_id` is specified, the `funding_account_id` must belong to the specified originator. + * @return fundingAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify which funding account to use. Customers can find a list of `funding_account_id`s in the Accounts page of the Plaid Dashboard, under the \"Account ID\" column. If this field is left blank, the funding account associated with the specified Ledger will be used. If an `originator_client_id` is specified, the `funding_account_id` must belong to the specified originator.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public TransferLedgerWithdrawRequest ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * Specify which ledger balance to withdraw from. Customers can find a list of `ledger_id`s in the Accounts page of your Plaid Dashboard. If this field is left blank, this will default to the id of the default ledger balance. + * @return ledgerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify which ledger balance to withdraw from. Customers can find a list of `ledger_id`s in the Accounts page of your Plaid Dashboard. If this field is left blank, this will default to the id of the default ledger balance.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public TransferLedgerWithdrawRequest amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * A positive amount of how much will be withdrawn from the ledger balance (decimal string with two digits of precision e.g. \"5.50\"). + * @return amount + **/ + @ApiModelProperty(required = true, value = "A positive amount of how much will be withdrawn from the ledger balance (decimal string with two digits of precision e.g. \"5.50\").") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferLedgerWithdrawRequest description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the deposit that will be passed to the receiving bank (up to 10 characters). Note that banks utilize this field differently, and may or may not show it on the bank statement. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The description of the deposit that will be passed to the receiving bank (up to 10 characters). Note that banks utilize this field differently, and may or may not show it on the bank statement.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public TransferLedgerWithdrawRequest idempotencyKey(String idempotencyKey) { + + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * A unique key provided by the client, per unique ledger withdraw. Maximum of 50 characters. The API supports idempotency for safely retrying the request without accidentally performing the same operation twice. For example, if a request to create a ledger withdraw fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single withdraw is created. + * @return idempotencyKey + **/ + @ApiModelProperty(required = true, value = "A unique key provided by the client, per unique ledger withdraw. Maximum of 50 characters. The API supports idempotency for safely retrying the request without accidentally performing the same operation twice. For example, if a request to create a ledger withdraw fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single withdraw is created.") + + public String getIdempotencyKey() { + return idempotencyKey; + } + + + public void setIdempotencyKey(String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + } + + + public TransferLedgerWithdrawRequest network(TransferNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @ApiModelProperty(required = true, value = "") + + public TransferNetwork getNetwork() { + return network; + } + + + public void setNetwork(TransferNetwork network) { + this.network = network; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferLedgerWithdrawRequest transferLedgerWithdrawRequest = (TransferLedgerWithdrawRequest) o; + return Objects.equals(this.clientId, transferLedgerWithdrawRequest.clientId) && + Objects.equals(this.secret, transferLedgerWithdrawRequest.secret) && + Objects.equals(this.originatorClientId, transferLedgerWithdrawRequest.originatorClientId) && + Objects.equals(this.fundingAccountId, transferLedgerWithdrawRequest.fundingAccountId) && + Objects.equals(this.ledgerId, transferLedgerWithdrawRequest.ledgerId) && + Objects.equals(this.amount, transferLedgerWithdrawRequest.amount) && + Objects.equals(this.description, transferLedgerWithdrawRequest.description) && + Objects.equals(this.idempotencyKey, transferLedgerWithdrawRequest.idempotencyKey) && + Objects.equals(this.network, transferLedgerWithdrawRequest.network); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originatorClientId, fundingAccountId, ledgerId, amount, description, idempotencyKey, network); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferLedgerWithdrawRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" idempotencyKey: ").append(toIndentedString(idempotencyKey)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferLedgerWithdrawResponse.java b/src/main/java/com/plaid/client/model/TransferLedgerWithdrawResponse.java new file mode 100644 index 0000000000..519459f360 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferLedgerWithdrawResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferSweep; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/ledger/withdraw` + */ +@ApiModel(description = "Defines the response schema for `/transfer/ledger/withdraw`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferLedgerWithdrawResponse { + public static final String SERIALIZED_NAME_SWEEP = "sweep"; + @SerializedName(SERIALIZED_NAME_SWEEP) + private TransferSweep sweep; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferLedgerWithdrawResponse sweep(TransferSweep sweep) { + + this.sweep = sweep; + return this; + } + + /** + * Get sweep + * @return sweep + **/ + @ApiModelProperty(required = true, value = "") + + public TransferSweep getSweep() { + return sweep; + } + + + public void setSweep(TransferSweep sweep) { + this.sweep = sweep; + } + + + public TransferLedgerWithdrawResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferLedgerWithdrawResponse transferLedgerWithdrawResponse = (TransferLedgerWithdrawResponse) o; + return Objects.equals(this.sweep, transferLedgerWithdrawResponse.sweep) && + Objects.equals(this.requestId, transferLedgerWithdrawResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(sweep, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferLedgerWithdrawResponse {\n"); + sb.append(" sweep: ").append(toIndentedString(sweep)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferListRequest.java b/src/main/java/com/plaid/client/model/TransferListRequest.java new file mode 100644 index 0000000000..d2c2ae63f8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferListRequest.java @@ -0,0 +1,335 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Defines the request schema for `/transfer/list` + */ +@ApiModel(description = "Defines the request schema for `/transfer/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private OffsetDateTime startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private OffsetDateTime endDate; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 25; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + public static final String SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID = "origination_account_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATION_ACCOUNT_ID) + private String originationAccountId; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + + public TransferListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferListRequest startDate(OffsetDateTime startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start `created` datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start `created` datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)") + + public OffsetDateTime getStartDate() { + return startDate; + } + + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + + public TransferListRequest endDate(OffsetDateTime endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end `created` datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end `created` datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)") + + public OffsetDateTime getEndDate() { + return endDate; + } + + + public void setEndDate(OffsetDateTime endDate) { + this.endDate = endDate; + } + + + public TransferListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of transfers to return. + * minimum: 1 + * maximum: 25 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of transfers to return.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public TransferListRequest offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The number of transfers to skip before returning results. + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of transfers to skip before returning results.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + public TransferListRequest originationAccountId(String originationAccountId) { + + this.originationAccountId = originationAccountId; + return this; + } + + /** + * Filter transfers to only those originated through the specified origination account. + * @return originationAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter transfers to only those originated through the specified origination account.") + + public String getOriginationAccountId() { + return originationAccountId; + } + + + public void setOriginationAccountId(String originationAccountId) { + this.originationAccountId = originationAccountId; + } + + + public TransferListRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * Filter transfers to only those with the specified originator client. + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter transfers to only those with the specified originator client.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferListRequest fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * Filter transfers to only those with the specified `funding_account_id`. + * @return fundingAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter transfers to only those with the specified `funding_account_id`.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferListRequest transferListRequest = (TransferListRequest) o; + return Objects.equals(this.clientId, transferListRequest.clientId) && + Objects.equals(this.secret, transferListRequest.secret) && + Objects.equals(this.startDate, transferListRequest.startDate) && + Objects.equals(this.endDate, transferListRequest.endDate) && + Objects.equals(this.count, transferListRequest.count) && + Objects.equals(this.offset, transferListRequest.offset) && + Objects.equals(this.originationAccountId, transferListRequest.originationAccountId) && + Objects.equals(this.originatorClientId, transferListRequest.originatorClientId) && + Objects.equals(this.fundingAccountId, transferListRequest.fundingAccountId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, startDate, endDate, count, offset, originationAccountId, originatorClientId, fundingAccountId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append(" originationAccountId: ").append(toIndentedString(originationAccountId)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferListResponse.java b/src/main/java/com/plaid/client/model/TransferListResponse.java new file mode 100644 index 0000000000..d40cf11e8d --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferListResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Transfer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response schema for `/transfer/list` + */ +@ApiModel(description = "Defines the response schema for `/transfer/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferListResponse { + public static final String SERIALIZED_NAME_TRANSFERS = "transfers"; + @SerializedName(SERIALIZED_NAME_TRANSFERS) + private List transfers = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferListResponse transfers(List transfers) { + + this.transfers = transfers; + return this; + } + + public TransferListResponse addTransfersItem(Transfer transfersItem) { + this.transfers.add(transfersItem); + return this; + } + + /** + * Get transfers + * @return transfers + **/ + @ApiModelProperty(required = true, value = "") + + public List getTransfers() { + return transfers; + } + + + public void setTransfers(List transfers) { + this.transfers = transfers; + } + + + public TransferListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferListResponse transferListResponse = (TransferListResponse) o; + return Objects.equals(this.transfers, transferListResponse.transfers) && + Objects.equals(this.requestId, transferListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(transfers, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferListResponse {\n"); + sb.append(" transfers: ").append(toIndentedString(transfers)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferMetricsGetAuthorizationUsage.java b/src/main/java/com/plaid/client/model/TransferMetricsGetAuthorizationUsage.java new file mode 100644 index 0000000000..86ad3419e8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferMetricsGetAuthorizationUsage.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details regarding authorization usage. + */ +@ApiModel(description = "Details regarding authorization usage.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferMetricsGetAuthorizationUsage { + public static final String SERIALIZED_NAME_DAILY_CREDIT_UTILIZATION = "daily_credit_utilization"; + @SerializedName(SERIALIZED_NAME_DAILY_CREDIT_UTILIZATION) + private String dailyCreditUtilization; + + public static final String SERIALIZED_NAME_DAILY_DEBIT_UTILIZATION = "daily_debit_utilization"; + @SerializedName(SERIALIZED_NAME_DAILY_DEBIT_UTILIZATION) + private String dailyDebitUtilization; + + public static final String SERIALIZED_NAME_MONTHLY_CREDIT_UTILIZATION = "monthly_credit_utilization"; + @SerializedName(SERIALIZED_NAME_MONTHLY_CREDIT_UTILIZATION) + private String monthlyCreditUtilization; + + public static final String SERIALIZED_NAME_MONTHLY_DEBIT_UTILIZATION = "monthly_debit_utilization"; + @SerializedName(SERIALIZED_NAME_MONTHLY_DEBIT_UTILIZATION) + private String monthlyDebitUtilization; + + + public TransferMetricsGetAuthorizationUsage dailyCreditUtilization(String dailyCreditUtilization) { + + this.dailyCreditUtilization = dailyCreditUtilization; + return this; + } + + /** + * The daily credit utilization formatted as a decimal. + * @return dailyCreditUtilization + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The daily credit utilization formatted as a decimal.") + + public String getDailyCreditUtilization() { + return dailyCreditUtilization; + } + + + public void setDailyCreditUtilization(String dailyCreditUtilization) { + this.dailyCreditUtilization = dailyCreditUtilization; + } + + + public TransferMetricsGetAuthorizationUsage dailyDebitUtilization(String dailyDebitUtilization) { + + this.dailyDebitUtilization = dailyDebitUtilization; + return this; + } + + /** + * The daily debit utilization formatted as a decimal. + * @return dailyDebitUtilization + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The daily debit utilization formatted as a decimal.") + + public String getDailyDebitUtilization() { + return dailyDebitUtilization; + } + + + public void setDailyDebitUtilization(String dailyDebitUtilization) { + this.dailyDebitUtilization = dailyDebitUtilization; + } + + + public TransferMetricsGetAuthorizationUsage monthlyCreditUtilization(String monthlyCreditUtilization) { + + this.monthlyCreditUtilization = monthlyCreditUtilization; + return this; + } + + /** + * The monthly credit utilization formatted as a decimal. + * @return monthlyCreditUtilization + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The monthly credit utilization formatted as a decimal.") + + public String getMonthlyCreditUtilization() { + return monthlyCreditUtilization; + } + + + public void setMonthlyCreditUtilization(String monthlyCreditUtilization) { + this.monthlyCreditUtilization = monthlyCreditUtilization; + } + + + public TransferMetricsGetAuthorizationUsage monthlyDebitUtilization(String monthlyDebitUtilization) { + + this.monthlyDebitUtilization = monthlyDebitUtilization; + return this; + } + + /** + * The monthly debit utilization formatted as a decimal. + * @return monthlyDebitUtilization + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The monthly debit utilization formatted as a decimal.") + + public String getMonthlyDebitUtilization() { + return monthlyDebitUtilization; + } + + + public void setMonthlyDebitUtilization(String monthlyDebitUtilization) { + this.monthlyDebitUtilization = monthlyDebitUtilization; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferMetricsGetAuthorizationUsage transferMetricsGetAuthorizationUsage = (TransferMetricsGetAuthorizationUsage) o; + return Objects.equals(this.dailyCreditUtilization, transferMetricsGetAuthorizationUsage.dailyCreditUtilization) && + Objects.equals(this.dailyDebitUtilization, transferMetricsGetAuthorizationUsage.dailyDebitUtilization) && + Objects.equals(this.monthlyCreditUtilization, transferMetricsGetAuthorizationUsage.monthlyCreditUtilization) && + Objects.equals(this.monthlyDebitUtilization, transferMetricsGetAuthorizationUsage.monthlyDebitUtilization); + } + + @Override + public int hashCode() { + return Objects.hash(dailyCreditUtilization, dailyDebitUtilization, monthlyCreditUtilization, monthlyDebitUtilization); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferMetricsGetAuthorizationUsage {\n"); + sb.append(" dailyCreditUtilization: ").append(toIndentedString(dailyCreditUtilization)).append("\n"); + sb.append(" dailyDebitUtilization: ").append(toIndentedString(dailyDebitUtilization)).append("\n"); + sb.append(" monthlyCreditUtilization: ").append(toIndentedString(monthlyCreditUtilization)).append("\n"); + sb.append(" monthlyDebitUtilization: ").append(toIndentedString(monthlyDebitUtilization)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferMetricsGetRequest.java b/src/main/java/com/plaid/client/model/TransferMetricsGetRequest.java new file mode 100644 index 0000000000..e4a278c625 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferMetricsGetRequest.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/metrics/get` + */ +@ApiModel(description = "Defines the request schema for `/transfer/metrics/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferMetricsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + + public TransferMetricsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferMetricsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferMetricsGetRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The Plaid client ID of the transfer originator. Should only be present if `client_id` is a [Platform customer](https://plaid.com/docs/transfer/application/#originators-vs-platforms). + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid client ID of the transfer originator. Should only be present if `client_id` is a [Platform customer](https://plaid.com/docs/transfer/application/#originators-vs-platforms).") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferMetricsGetRequest transferMetricsGetRequest = (TransferMetricsGetRequest) o; + return Objects.equals(this.clientId, transferMetricsGetRequest.clientId) && + Objects.equals(this.secret, transferMetricsGetRequest.secret) && + Objects.equals(this.originatorClientId, transferMetricsGetRequest.originatorClientId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originatorClientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferMetricsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferMetricsGetResponse.java b/src/main/java/com/plaid/client/model/TransferMetricsGetResponse.java new file mode 100644 index 0000000000..c00bd06dac --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferMetricsGetResponse.java @@ -0,0 +1,326 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferMetricsGetAuthorizationUsage; +import com.plaid.client.model.TransferMetricsGetReturnRates; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/metrics/get` + */ +@ApiModel(description = "Defines the response schema for `/transfer/metrics/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferMetricsGetResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_DAILY_DEBIT_TRANSFER_VOLUME = "daily_debit_transfer_volume"; + @SerializedName(SERIALIZED_NAME_DAILY_DEBIT_TRANSFER_VOLUME) + private String dailyDebitTransferVolume; + + public static final String SERIALIZED_NAME_DAILY_CREDIT_TRANSFER_VOLUME = "daily_credit_transfer_volume"; + @SerializedName(SERIALIZED_NAME_DAILY_CREDIT_TRANSFER_VOLUME) + private String dailyCreditTransferVolume; + + public static final String SERIALIZED_NAME_MONTHLY_TRANSFER_VOLUME = "monthly_transfer_volume"; + @SerializedName(SERIALIZED_NAME_MONTHLY_TRANSFER_VOLUME) + private String monthlyTransferVolume; + + public static final String SERIALIZED_NAME_MONTHLY_DEBIT_TRANSFER_VOLUME = "monthly_debit_transfer_volume"; + @SerializedName(SERIALIZED_NAME_MONTHLY_DEBIT_TRANSFER_VOLUME) + private String monthlyDebitTransferVolume; + + public static final String SERIALIZED_NAME_MONTHLY_CREDIT_TRANSFER_VOLUME = "monthly_credit_transfer_volume"; + @SerializedName(SERIALIZED_NAME_MONTHLY_CREDIT_TRANSFER_VOLUME) + private String monthlyCreditTransferVolume; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_RETURN_RATES = "return_rates"; + @SerializedName(SERIALIZED_NAME_RETURN_RATES) + private TransferMetricsGetReturnRates returnRates; + + public static final String SERIALIZED_NAME_AUTHORIZATION_USAGE = "authorization_usage"; + @SerializedName(SERIALIZED_NAME_AUTHORIZATION_USAGE) + private TransferMetricsGetAuthorizationUsage authorizationUsage; + + + public TransferMetricsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public TransferMetricsGetResponse dailyDebitTransferVolume(String dailyDebitTransferVolume) { + + this.dailyDebitTransferVolume = dailyDebitTransferVolume; + return this; + } + + /** + * Sum of dollar amount of debit transfers in last 24 hours (decimal string with two digits of precision e.g. \"10.00\"). + * @return dailyDebitTransferVolume + **/ + @ApiModelProperty(required = true, value = "Sum of dollar amount of debit transfers in last 24 hours (decimal string with two digits of precision e.g. \"10.00\").") + + public String getDailyDebitTransferVolume() { + return dailyDebitTransferVolume; + } + + + public void setDailyDebitTransferVolume(String dailyDebitTransferVolume) { + this.dailyDebitTransferVolume = dailyDebitTransferVolume; + } + + + public TransferMetricsGetResponse dailyCreditTransferVolume(String dailyCreditTransferVolume) { + + this.dailyCreditTransferVolume = dailyCreditTransferVolume; + return this; + } + + /** + * Sum of dollar amount of credit transfers in last 24 hours (decimal string with two digits of precision e.g. \"10.00\"). + * @return dailyCreditTransferVolume + **/ + @ApiModelProperty(required = true, value = "Sum of dollar amount of credit transfers in last 24 hours (decimal string with two digits of precision e.g. \"10.00\").") + + public String getDailyCreditTransferVolume() { + return dailyCreditTransferVolume; + } + + + public void setDailyCreditTransferVolume(String dailyCreditTransferVolume) { + this.dailyCreditTransferVolume = dailyCreditTransferVolume; + } + + + public TransferMetricsGetResponse monthlyTransferVolume(String monthlyTransferVolume) { + + this.monthlyTransferVolume = monthlyTransferVolume; + return this; + } + + /** + * Sum of dollar amount of credit and debit transfers in current calendar month (decimal string with two digits of precision e.g. \"10.00\"). + * @return monthlyTransferVolume + **/ + @ApiModelProperty(required = true, value = "Sum of dollar amount of credit and debit transfers in current calendar month (decimal string with two digits of precision e.g. \"10.00\").") + + public String getMonthlyTransferVolume() { + return monthlyTransferVolume; + } + + + public void setMonthlyTransferVolume(String monthlyTransferVolume) { + this.monthlyTransferVolume = monthlyTransferVolume; + } + + + public TransferMetricsGetResponse monthlyDebitTransferVolume(String monthlyDebitTransferVolume) { + + this.monthlyDebitTransferVolume = monthlyDebitTransferVolume; + return this; + } + + /** + * Sum of dollar amount of debit transfers in current calendar month (decimal string with two digits of precision e.g. \"10.00\"). + * @return monthlyDebitTransferVolume + **/ + @ApiModelProperty(required = true, value = "Sum of dollar amount of debit transfers in current calendar month (decimal string with two digits of precision e.g. \"10.00\").") + + public String getMonthlyDebitTransferVolume() { + return monthlyDebitTransferVolume; + } + + + public void setMonthlyDebitTransferVolume(String monthlyDebitTransferVolume) { + this.monthlyDebitTransferVolume = monthlyDebitTransferVolume; + } + + + public TransferMetricsGetResponse monthlyCreditTransferVolume(String monthlyCreditTransferVolume) { + + this.monthlyCreditTransferVolume = monthlyCreditTransferVolume; + return this; + } + + /** + * Sum of dollar amount of credit transfers in current calendar month (decimal string with two digits of precision e.g. \"10.00\"). + * @return monthlyCreditTransferVolume + **/ + @ApiModelProperty(required = true, value = "Sum of dollar amount of credit transfers in current calendar month (decimal string with two digits of precision e.g. \"10.00\").") + + public String getMonthlyCreditTransferVolume() { + return monthlyCreditTransferVolume; + } + + + public void setMonthlyCreditTransferVolume(String monthlyCreditTransferVolume) { + this.monthlyCreditTransferVolume = monthlyCreditTransferVolume; + } + + + public TransferMetricsGetResponse isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the dollar amount, e.g. \"USD\". + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the dollar amount, e.g. \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TransferMetricsGetResponse returnRates(TransferMetricsGetReturnRates returnRates) { + + this.returnRates = returnRates; + return this; + } + + /** + * Get returnRates + * @return returnRates + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferMetricsGetReturnRates getReturnRates() { + return returnRates; + } + + + public void setReturnRates(TransferMetricsGetReturnRates returnRates) { + this.returnRates = returnRates; + } + + + public TransferMetricsGetResponse authorizationUsage(TransferMetricsGetAuthorizationUsage authorizationUsage) { + + this.authorizationUsage = authorizationUsage; + return this; + } + + /** + * Get authorizationUsage + * @return authorizationUsage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferMetricsGetAuthorizationUsage getAuthorizationUsage() { + return authorizationUsage; + } + + + public void setAuthorizationUsage(TransferMetricsGetAuthorizationUsage authorizationUsage) { + this.authorizationUsage = authorizationUsage; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferMetricsGetResponse transferMetricsGetResponse = (TransferMetricsGetResponse) o; + return Objects.equals(this.requestId, transferMetricsGetResponse.requestId) && + Objects.equals(this.dailyDebitTransferVolume, transferMetricsGetResponse.dailyDebitTransferVolume) && + Objects.equals(this.dailyCreditTransferVolume, transferMetricsGetResponse.dailyCreditTransferVolume) && + Objects.equals(this.monthlyTransferVolume, transferMetricsGetResponse.monthlyTransferVolume) && + Objects.equals(this.monthlyDebitTransferVolume, transferMetricsGetResponse.monthlyDebitTransferVolume) && + Objects.equals(this.monthlyCreditTransferVolume, transferMetricsGetResponse.monthlyCreditTransferVolume) && + Objects.equals(this.isoCurrencyCode, transferMetricsGetResponse.isoCurrencyCode) && + Objects.equals(this.returnRates, transferMetricsGetResponse.returnRates) && + Objects.equals(this.authorizationUsage, transferMetricsGetResponse.authorizationUsage); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, dailyDebitTransferVolume, dailyCreditTransferVolume, monthlyTransferVolume, monthlyDebitTransferVolume, monthlyCreditTransferVolume, isoCurrencyCode, returnRates, authorizationUsage); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferMetricsGetResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" dailyDebitTransferVolume: ").append(toIndentedString(dailyDebitTransferVolume)).append("\n"); + sb.append(" dailyCreditTransferVolume: ").append(toIndentedString(dailyCreditTransferVolume)).append("\n"); + sb.append(" monthlyTransferVolume: ").append(toIndentedString(monthlyTransferVolume)).append("\n"); + sb.append(" monthlyDebitTransferVolume: ").append(toIndentedString(monthlyDebitTransferVolume)).append("\n"); + sb.append(" monthlyCreditTransferVolume: ").append(toIndentedString(monthlyCreditTransferVolume)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" returnRates: ").append(toIndentedString(returnRates)).append("\n"); + sb.append(" authorizationUsage: ").append(toIndentedString(authorizationUsage)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferMetricsGetReturnRates.java b/src/main/java/com/plaid/client/model/TransferMetricsGetReturnRates.java new file mode 100644 index 0000000000..ed5a332936 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferMetricsGetReturnRates.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferMetricsGetReturnRatesOverInterval; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details regarding return rates. + */ +@ApiModel(description = "Details regarding return rates.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferMetricsGetReturnRates { + public static final String SERIALIZED_NAME_LAST60D = "last_60d"; + @SerializedName(SERIALIZED_NAME_LAST60D) + private TransferMetricsGetReturnRatesOverInterval last60d; + + + public TransferMetricsGetReturnRates last60d(TransferMetricsGetReturnRatesOverInterval last60d) { + + this.last60d = last60d; + return this; + } + + /** + * Get last60d + * @return last60d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferMetricsGetReturnRatesOverInterval getLast60d() { + return last60d; + } + + + public void setLast60d(TransferMetricsGetReturnRatesOverInterval last60d) { + this.last60d = last60d; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferMetricsGetReturnRates transferMetricsGetReturnRates = (TransferMetricsGetReturnRates) o; + return Objects.equals(this.last60d, transferMetricsGetReturnRates.last60d); + } + + @Override + public int hashCode() { + return Objects.hash(last60d); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferMetricsGetReturnRates {\n"); + sb.append(" last60d: ").append(toIndentedString(last60d)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferMetricsGetReturnRatesOverInterval.java b/src/main/java/com/plaid/client/model/TransferMetricsGetReturnRatesOverInterval.java new file mode 100644 index 0000000000..1b6dd1c98f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferMetricsGetReturnRatesOverInterval.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details regarding return rates. + */ +@ApiModel(description = "Details regarding return rates.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferMetricsGetReturnRatesOverInterval { + public static final String SERIALIZED_NAME_OVERALL_RETURN_RATE = "overall_return_rate"; + @SerializedName(SERIALIZED_NAME_OVERALL_RETURN_RATE) + private String overallReturnRate; + + public static final String SERIALIZED_NAME_UNAUTHORIZED_RETURN_RATE = "unauthorized_return_rate"; + @SerializedName(SERIALIZED_NAME_UNAUTHORIZED_RETURN_RATE) + private String unauthorizedReturnRate; + + public static final String SERIALIZED_NAME_ADMINISTRATIVE_RETURN_RATE = "administrative_return_rate"; + @SerializedName(SERIALIZED_NAME_ADMINISTRATIVE_RETURN_RATE) + private String administrativeReturnRate; + + + public TransferMetricsGetReturnRatesOverInterval overallReturnRate(String overallReturnRate) { + + this.overallReturnRate = overallReturnRate; + return this; + } + + /** + * The overall return rate. + * @return overallReturnRate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The overall return rate.") + + public String getOverallReturnRate() { + return overallReturnRate; + } + + + public void setOverallReturnRate(String overallReturnRate) { + this.overallReturnRate = overallReturnRate; + } + + + public TransferMetricsGetReturnRatesOverInterval unauthorizedReturnRate(String unauthorizedReturnRate) { + + this.unauthorizedReturnRate = unauthorizedReturnRate; + return this; + } + + /** + * The unauthorized return rate. + * @return unauthorizedReturnRate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The unauthorized return rate.") + + public String getUnauthorizedReturnRate() { + return unauthorizedReturnRate; + } + + + public void setUnauthorizedReturnRate(String unauthorizedReturnRate) { + this.unauthorizedReturnRate = unauthorizedReturnRate; + } + + + public TransferMetricsGetReturnRatesOverInterval administrativeReturnRate(String administrativeReturnRate) { + + this.administrativeReturnRate = administrativeReturnRate; + return this; + } + + /** + * The administrative return rate. + * @return administrativeReturnRate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The administrative return rate.") + + public String getAdministrativeReturnRate() { + return administrativeReturnRate; + } + + + public void setAdministrativeReturnRate(String administrativeReturnRate) { + this.administrativeReturnRate = administrativeReturnRate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferMetricsGetReturnRatesOverInterval transferMetricsGetReturnRatesOverInterval = (TransferMetricsGetReturnRatesOverInterval) o; + return Objects.equals(this.overallReturnRate, transferMetricsGetReturnRatesOverInterval.overallReturnRate) && + Objects.equals(this.unauthorizedReturnRate, transferMetricsGetReturnRatesOverInterval.unauthorizedReturnRate) && + Objects.equals(this.administrativeReturnRate, transferMetricsGetReturnRatesOverInterval.administrativeReturnRate); + } + + @Override + public int hashCode() { + return Objects.hash(overallReturnRate, unauthorizedReturnRate, administrativeReturnRate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferMetricsGetReturnRatesOverInterval {\n"); + sb.append(" overallReturnRate: ").append(toIndentedString(overallReturnRate)).append("\n"); + sb.append(" unauthorizedReturnRate: ").append(toIndentedString(unauthorizedReturnRate)).append("\n"); + sb.append(" administrativeReturnRate: ").append(toIndentedString(administrativeReturnRate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferMigrateAccountRequest.java b/src/main/java/com/plaid/client/model/TransferMigrateAccountRequest.java new file mode 100644 index 0000000000..af97602c8f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferMigrateAccountRequest.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/migrate_account` + */ +@ApiModel(description = "Defines the request schema for `/transfer/migrate_account`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferMigrateAccountRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCOUNT_NUMBER = "account_number"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_NUMBER) + private String accountNumber; + + public static final String SERIALIZED_NAME_ROUTING_NUMBER = "routing_number"; + @SerializedName(SERIALIZED_NAME_ROUTING_NUMBER) + private String routingNumber; + + public static final String SERIALIZED_NAME_WIRE_ROUTING_NUMBER = "wire_routing_number"; + @SerializedName(SERIALIZED_NAME_WIRE_ROUTING_NUMBER) + private String wireRoutingNumber; + + public static final String SERIALIZED_NAME_ACCOUNT_TYPE = "account_type"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_TYPE) + private String accountType; + + + public TransferMigrateAccountRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferMigrateAccountRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferMigrateAccountRequest accountNumber(String accountNumber) { + + this.accountNumber = accountNumber; + return this; + } + + /** + * The user's account number. + * @return accountNumber + **/ + @ApiModelProperty(required = true, value = "The user's account number.") + + public String getAccountNumber() { + return accountNumber; + } + + + public void setAccountNumber(String accountNumber) { + this.accountNumber = accountNumber; + } + + + public TransferMigrateAccountRequest routingNumber(String routingNumber) { + + this.routingNumber = routingNumber; + return this; + } + + /** + * The user's routing number. + * @return routingNumber + **/ + @ApiModelProperty(required = true, value = "The user's routing number.") + + public String getRoutingNumber() { + return routingNumber; + } + + + public void setRoutingNumber(String routingNumber) { + this.routingNumber = routingNumber; + } + + + public TransferMigrateAccountRequest wireRoutingNumber(String wireRoutingNumber) { + + this.wireRoutingNumber = wireRoutingNumber; + return this; + } + + /** + * The user's wire transfer routing number. This is the ABA number; for some institutions, this may differ from the ACH number used in `routing_number`. This field must be set for the created item to be eligible for wire transfers. + * @return wireRoutingNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's wire transfer routing number. This is the ABA number; for some institutions, this may differ from the ACH number used in `routing_number`. This field must be set for the created item to be eligible for wire transfers.") + + public String getWireRoutingNumber() { + return wireRoutingNumber; + } + + + public void setWireRoutingNumber(String wireRoutingNumber) { + this.wireRoutingNumber = wireRoutingNumber; + } + + + public TransferMigrateAccountRequest accountType(String accountType) { + + this.accountType = accountType; + return this; + } + + /** + * The type of the bank account (`checking` or `savings`). + * @return accountType + **/ + @ApiModelProperty(required = true, value = "The type of the bank account (`checking` or `savings`).") + + public String getAccountType() { + return accountType; + } + + + public void setAccountType(String accountType) { + this.accountType = accountType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferMigrateAccountRequest transferMigrateAccountRequest = (TransferMigrateAccountRequest) o; + return Objects.equals(this.clientId, transferMigrateAccountRequest.clientId) && + Objects.equals(this.secret, transferMigrateAccountRequest.secret) && + Objects.equals(this.accountNumber, transferMigrateAccountRequest.accountNumber) && + Objects.equals(this.routingNumber, transferMigrateAccountRequest.routingNumber) && + Objects.equals(this.wireRoutingNumber, transferMigrateAccountRequest.wireRoutingNumber) && + Objects.equals(this.accountType, transferMigrateAccountRequest.accountType); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accountNumber, routingNumber, wireRoutingNumber, accountType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferMigrateAccountRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).append("\n"); + sb.append(" routingNumber: ").append(toIndentedString(routingNumber)).append("\n"); + sb.append(" wireRoutingNumber: ").append(toIndentedString(wireRoutingNumber)).append("\n"); + sb.append(" accountType: ").append(toIndentedString(accountType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferMigrateAccountResponse.java b/src/main/java/com/plaid/client/model/TransferMigrateAccountResponse.java new file mode 100644 index 0000000000..4e99073dea --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferMigrateAccountResponse.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/migrate_account` + */ +@ApiModel(description = "Defines the response schema for `/transfer/migrate_account`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferMigrateAccountResponse { + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferMigrateAccountResponse accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The Plaid `access_token` for the newly created Item. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The Plaid `access_token` for the newly created Item.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransferMigrateAccountResponse accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` for the newly created Item. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` for the newly created Item.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransferMigrateAccountResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferMigrateAccountResponse transferMigrateAccountResponse = (TransferMigrateAccountResponse) o; + return Objects.equals(this.accessToken, transferMigrateAccountResponse.accessToken) && + Objects.equals(this.accountId, transferMigrateAccountResponse.accountId) && + Objects.equals(this.requestId, transferMigrateAccountResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(accessToken, accountId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferMigrateAccountResponse {\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferNetwork.java b/src/main/java/com/plaid/client/model/TransferNetwork.java new file mode 100644 index 0000000000..df236bf72a --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferNetwork.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The network or rails used for the transfer. For transfers submitted as `ach` or `same-day-ach`, the Standard ACH cutoff is 8:30 PM Eastern Time. For transfers submitted as `same-day-ach`, the Same Day ACH cutoff is 3:00 PM Eastern Time. It is recommended to send the request 15 minutes prior to the cutoff to ensure that it will be processed in time for submission before the cutoff. If the transfer is processed after this cutoff but before the Standard ACH cutoff, it will be sent over Standard ACH rails and will not incur same-day charges; this will apply to both legs of the transfer if applicable. The transaction limit for a Same Day ACH transfer is $1,000,000. Authorization requests sent with an amount greater than $1,000,000 will fail. For transfers submitted as `rtp`, Plaid will automatically route between the Real-Time Payments (RTP) rail by TCH or FedNow rails as necessary. If a transfer is submitted as `rtp` and the counterparty account is not eligible for RTP, the `/transfer/authorization/create` request will fail with an `INVALID_FIELD` error code. To pre-check to determine whether a counterparty account can support RTP, call `/transfer/capabilities/get` before calling `/transfer/authorization/create`. Wire transfers are currently in early availability. To request access to `wire` as a payment network, contact your account manager. For transfers submitted as `wire`, the `type` must be `credit`; wire debits are not supported. The cutoff to submit a wire payment is 6:30 PM Eastern Time on a business day; wires submitted after that time will be processed on the next business day. The transaction limit for a wire is $999,999.99. Authorization requests sent with an amount greater than $999,999.99 will fail. Support for `rfp` (request for payment) is currently in closed beta. To learn more, contact your Plaid account manager. For transfers submitted as `rfp`, the `type` must be `debit`. + */ +@JsonAdapter(TransferNetwork.Adapter.class) +public enum TransferNetwork { + + ACH("ach"), + + SAME_DAY_ACH("same-day-ach"), + + RTP("rtp"), + + WIRE("wire"), + + RFP("rfp"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferNetwork(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferNetwork fromValue(String value) { + for (TransferNetwork b : TransferNetwork.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferNetwork.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferNetwork enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferNetwork read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferNetwork.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferOriginatorAddress.java b/src/main/java/com/plaid/client/model/TransferOriginatorAddress.java new file mode 100644 index 0000000000..a7e1d10a05 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferOriginatorAddress.java @@ -0,0 +1,210 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The originator's address. + */ +@ApiModel(description = "The originator's address.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferOriginatorAddress { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY_CODE = "country_code"; + @SerializedName(SERIALIZED_NAME_COUNTRY_CODE) + private String countryCode; + + + public TransferOriginatorAddress city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name. + * @return city + **/ + @ApiModelProperty(required = true, value = "The full city name.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public TransferOriginatorAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address. + * @return street + **/ + @ApiModelProperty(required = true, value = "The full street address.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public TransferOriginatorAddress region(String region) { + + this.region = region; + return this; + } + + /** + * The two-letter code for the state or province (e.g., \"CA\"). + * @return region + **/ + @ApiModelProperty(required = true, value = "The two-letter code for the state or province (e.g., \"CA\").") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public TransferOriginatorAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code (e.g., \"94103\"). + * @return postalCode + **/ + @ApiModelProperty(required = true, value = "The postal code (e.g., \"94103\").") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public TransferOriginatorAddress countryCode(String countryCode) { + + this.countryCode = countryCode; + return this; + } + + /** + * ISO-3166-1 alpha-2 country code standard. + * @return countryCode + **/ + @ApiModelProperty(required = true, value = "ISO-3166-1 alpha-2 country code standard.") + + public String getCountryCode() { + return countryCode; + } + + + public void setCountryCode(String countryCode) { + this.countryCode = countryCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferOriginatorAddress transferOriginatorAddress = (TransferOriginatorAddress) o; + return Objects.equals(this.city, transferOriginatorAddress.city) && + Objects.equals(this.street, transferOriginatorAddress.street) && + Objects.equals(this.region, transferOriginatorAddress.region) && + Objects.equals(this.postalCode, transferOriginatorAddress.postalCode) && + Objects.equals(this.countryCode, transferOriginatorAddress.countryCode); + } + + @Override + public int hashCode() { + return Objects.hash(city, street, region, postalCode, countryCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferOriginatorAddress {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" countryCode: ").append(toIndentedString(countryCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferOriginatorCreateRequest.java b/src/main/java/com/plaid/client/model/TransferOriginatorCreateRequest.java new file mode 100644 index 0000000000..713828edde --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferOriginatorCreateRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/originator/create` + */ +@ApiModel(description = "Defines the request schema for `/transfer/originator/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferOriginatorCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_COMPANY_NAME = "company_name"; + @SerializedName(SERIALIZED_NAME_COMPANY_NAME) + private String companyName; + + + public TransferOriginatorCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferOriginatorCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferOriginatorCreateRequest companyName(String companyName) { + + this.companyName = companyName; + return this; + } + + /** + * The company name of the end customer being created. This will be displayed in public-facing surfaces, e.g. Plaid Dashboard. + * @return companyName + **/ + @ApiModelProperty(required = true, value = "The company name of the end customer being created. This will be displayed in public-facing surfaces, e.g. Plaid Dashboard.") + + public String getCompanyName() { + return companyName; + } + + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferOriginatorCreateRequest transferOriginatorCreateRequest = (TransferOriginatorCreateRequest) o; + return Objects.equals(this.clientId, transferOriginatorCreateRequest.clientId) && + Objects.equals(this.secret, transferOriginatorCreateRequest.secret) && + Objects.equals(this.companyName, transferOriginatorCreateRequest.companyName); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, companyName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferOriginatorCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" companyName: ").append(toIndentedString(companyName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferOriginatorCreateResponse.java b/src/main/java/com/plaid/client/model/TransferOriginatorCreateResponse.java new file mode 100644 index 0000000000..4a333e9f3c --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferOriginatorCreateResponse.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/originator/create` + */ +@ApiModel(description = "Defines the response schema for `/transfer/originator/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferOriginatorCreateResponse { + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_COMPANY_NAME = "company_name"; + @SerializedName(SERIALIZED_NAME_COMPANY_NAME) + private String companyName; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferOriginatorCreateResponse originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * Client ID of the originator. This identifier will be used when creating transfers and should be stored associated with end user information. + * @return originatorClientId + **/ + @ApiModelProperty(required = true, value = "Client ID of the originator. This identifier will be used when creating transfers and should be stored associated with end user information.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferOriginatorCreateResponse companyName(String companyName) { + + this.companyName = companyName; + return this; + } + + /** + * The company name of the end customer. + * @return companyName + **/ + @ApiModelProperty(required = true, value = "The company name of the end customer.") + + public String getCompanyName() { + return companyName; + } + + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + + public TransferOriginatorCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferOriginatorCreateResponse transferOriginatorCreateResponse = (TransferOriginatorCreateResponse) o; + return Objects.equals(this.originatorClientId, transferOriginatorCreateResponse.originatorClientId) && + Objects.equals(this.companyName, transferOriginatorCreateResponse.companyName) && + Objects.equals(this.requestId, transferOriginatorCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(originatorClientId, companyName, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferOriginatorCreateResponse {\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" companyName: ").append(toIndentedString(companyName)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferOriginatorDiligence.java b/src/main/java/com/plaid/client/model/TransferOriginatorDiligence.java new file mode 100644 index 0000000000..a77e91b716 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferOriginatorDiligence.java @@ -0,0 +1,300 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferCreditUsageConfiguration; +import com.plaid.client.model.TransferDebitUsageConfiguration; +import com.plaid.client.model.TransferFundingAccount; +import com.plaid.client.model.TransferOriginatorAddress; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The diligence information for the originator. + */ +@ApiModel(description = "The diligence information for the originator.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferOriginatorDiligence { + public static final String SERIALIZED_NAME_DBA = "dba"; + @SerializedName(SERIALIZED_NAME_DBA) + private String dba; + + public static final String SERIALIZED_NAME_TAX_ID = "tax_id"; + @SerializedName(SERIALIZED_NAME_TAX_ID) + private String taxId; + + public static final String SERIALIZED_NAME_CREDIT_USAGE_CONFIGURATION = "credit_usage_configuration"; + @SerializedName(SERIALIZED_NAME_CREDIT_USAGE_CONFIGURATION) + private TransferCreditUsageConfiguration creditUsageConfiguration; + + public static final String SERIALIZED_NAME_DEBIT_USAGE_CONFIGURATION = "debit_usage_configuration"; + @SerializedName(SERIALIZED_NAME_DEBIT_USAGE_CONFIGURATION) + private TransferDebitUsageConfiguration debitUsageConfiguration; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private TransferOriginatorAddress address; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private String website; + + public static final String SERIALIZED_NAME_NAICS_CODE = "naics_code"; + @SerializedName(SERIALIZED_NAME_NAICS_CODE) + private String naicsCode; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT = "funding_account"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT) + private TransferFundingAccount fundingAccount; + + + public TransferOriginatorDiligence dba(String dba) { + + this.dba = dba; + return this; + } + + /** + * The business name of the originator. + * @return dba + **/ + @ApiModelProperty(required = true, value = "The business name of the originator.") + + public String getDba() { + return dba; + } + + + public void setDba(String dba) { + this.dba = dba; + } + + + public TransferOriginatorDiligence taxId(String taxId) { + + this.taxId = taxId; + return this; + } + + /** + * The tax ID of the originator. + * @return taxId + **/ + @ApiModelProperty(required = true, value = "The tax ID of the originator.") + + public String getTaxId() { + return taxId; + } + + + public void setTaxId(String taxId) { + this.taxId = taxId; + } + + + public TransferOriginatorDiligence creditUsageConfiguration(TransferCreditUsageConfiguration creditUsageConfiguration) { + + this.creditUsageConfiguration = creditUsageConfiguration; + return this; + } + + /** + * Get creditUsageConfiguration + * @return creditUsageConfiguration + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferCreditUsageConfiguration getCreditUsageConfiguration() { + return creditUsageConfiguration; + } + + + public void setCreditUsageConfiguration(TransferCreditUsageConfiguration creditUsageConfiguration) { + this.creditUsageConfiguration = creditUsageConfiguration; + } + + + public TransferOriginatorDiligence debitUsageConfiguration(TransferDebitUsageConfiguration debitUsageConfiguration) { + + this.debitUsageConfiguration = debitUsageConfiguration; + return this; + } + + /** + * Get debitUsageConfiguration + * @return debitUsageConfiguration + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferDebitUsageConfiguration getDebitUsageConfiguration() { + return debitUsageConfiguration; + } + + + public void setDebitUsageConfiguration(TransferDebitUsageConfiguration debitUsageConfiguration) { + this.debitUsageConfiguration = debitUsageConfiguration; + } + + + public TransferOriginatorDiligence address(TransferOriginatorAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @ApiModelProperty(required = true, value = "") + + public TransferOriginatorAddress getAddress() { + return address; + } + + + public void setAddress(TransferOriginatorAddress address) { + this.address = address; + } + + + public TransferOriginatorDiligence website(String website) { + + this.website = website; + return this; + } + + /** + * The website of the originator. + * @return website + **/ + @ApiModelProperty(required = true, value = "The website of the originator.") + + public String getWebsite() { + return website; + } + + + public void setWebsite(String website) { + this.website = website; + } + + + public TransferOriginatorDiligence naicsCode(String naicsCode) { + + this.naicsCode = naicsCode; + return this; + } + + /** + * The NAICS code of the originator. + * @return naicsCode + **/ + @ApiModelProperty(required = true, value = "The NAICS code of the originator.") + + public String getNaicsCode() { + return naicsCode; + } + + + public void setNaicsCode(String naicsCode) { + this.naicsCode = naicsCode; + } + + + public TransferOriginatorDiligence fundingAccount(TransferFundingAccount fundingAccount) { + + this.fundingAccount = fundingAccount; + return this; + } + + /** + * Get fundingAccount + * @return fundingAccount + **/ + @ApiModelProperty(required = true, value = "") + + public TransferFundingAccount getFundingAccount() { + return fundingAccount; + } + + + public void setFundingAccount(TransferFundingAccount fundingAccount) { + this.fundingAccount = fundingAccount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferOriginatorDiligence transferOriginatorDiligence = (TransferOriginatorDiligence) o; + return Objects.equals(this.dba, transferOriginatorDiligence.dba) && + Objects.equals(this.taxId, transferOriginatorDiligence.taxId) && + Objects.equals(this.creditUsageConfiguration, transferOriginatorDiligence.creditUsageConfiguration) && + Objects.equals(this.debitUsageConfiguration, transferOriginatorDiligence.debitUsageConfiguration) && + Objects.equals(this.address, transferOriginatorDiligence.address) && + Objects.equals(this.website, transferOriginatorDiligence.website) && + Objects.equals(this.naicsCode, transferOriginatorDiligence.naicsCode) && + Objects.equals(this.fundingAccount, transferOriginatorDiligence.fundingAccount); + } + + @Override + public int hashCode() { + return Objects.hash(dba, taxId, creditUsageConfiguration, debitUsageConfiguration, address, website, naicsCode, fundingAccount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferOriginatorDiligence {\n"); + sb.append(" dba: ").append(toIndentedString(dba)).append("\n"); + sb.append(" taxId: ").append(toIndentedString(taxId)).append("\n"); + sb.append(" creditUsageConfiguration: ").append(toIndentedString(creditUsageConfiguration)).append("\n"); + sb.append(" debitUsageConfiguration: ").append(toIndentedString(debitUsageConfiguration)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append(" naicsCode: ").append(toIndentedString(naicsCode)).append("\n"); + sb.append(" fundingAccount: ").append(toIndentedString(fundingAccount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferOriginatorFundingAccountCreateRequest.java b/src/main/java/com/plaid/client/model/TransferOriginatorFundingAccountCreateRequest.java new file mode 100644 index 0000000000..24cc10bf15 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferOriginatorFundingAccountCreateRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferFundingAccountWithDisplayName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/originator/funding_account/create` + */ +@ApiModel(description = "Defines the request schema for `/transfer/originator/funding_account/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferOriginatorFundingAccountCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT = "funding_account"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT) + private TransferFundingAccountWithDisplayName fundingAccount; + + + public TransferOriginatorFundingAccountCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferOriginatorFundingAccountCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferOriginatorFundingAccountCreateRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The Plaid client ID of the transfer originator. + * @return originatorClientId + **/ + @ApiModelProperty(required = true, value = "The Plaid client ID of the transfer originator.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferOriginatorFundingAccountCreateRequest fundingAccount(TransferFundingAccountWithDisplayName fundingAccount) { + + this.fundingAccount = fundingAccount; + return this; + } + + /** + * Get fundingAccount + * @return fundingAccount + **/ + @ApiModelProperty(required = true, value = "") + + public TransferFundingAccountWithDisplayName getFundingAccount() { + return fundingAccount; + } + + + public void setFundingAccount(TransferFundingAccountWithDisplayName fundingAccount) { + this.fundingAccount = fundingAccount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferOriginatorFundingAccountCreateRequest transferOriginatorFundingAccountCreateRequest = (TransferOriginatorFundingAccountCreateRequest) o; + return Objects.equals(this.clientId, transferOriginatorFundingAccountCreateRequest.clientId) && + Objects.equals(this.secret, transferOriginatorFundingAccountCreateRequest.secret) && + Objects.equals(this.originatorClientId, transferOriginatorFundingAccountCreateRequest.originatorClientId) && + Objects.equals(this.fundingAccount, transferOriginatorFundingAccountCreateRequest.fundingAccount); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originatorClientId, fundingAccount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferOriginatorFundingAccountCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" fundingAccount: ").append(toIndentedString(fundingAccount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferOriginatorFundingAccountCreateResponse.java b/src/main/java/com/plaid/client/model/TransferOriginatorFundingAccountCreateResponse.java new file mode 100644 index 0000000000..6d62283e07 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferOriginatorFundingAccountCreateResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/originator/funding_account/create` + */ +@ApiModel(description = "Defines the response schema for `/transfer/originator/funding_account/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferOriginatorFundingAccountCreateResponse { + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferOriginatorFundingAccountCreateResponse fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited. + * @return fundingAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public TransferOriginatorFundingAccountCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferOriginatorFundingAccountCreateResponse transferOriginatorFundingAccountCreateResponse = (TransferOriginatorFundingAccountCreateResponse) o; + return Objects.equals(this.fundingAccountId, transferOriginatorFundingAccountCreateResponse.fundingAccountId) && + Objects.equals(this.requestId, transferOriginatorFundingAccountCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(fundingAccountId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferOriginatorFundingAccountCreateResponse {\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferOriginatorFundingAccountUpdateRequest.java b/src/main/java/com/plaid/client/model/TransferOriginatorFundingAccountUpdateRequest.java new file mode 100644 index 0000000000..b2c060d16d --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferOriginatorFundingAccountUpdateRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferFundingAccount; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/originator/funding_account/update` + */ +@ApiModel(description = "Defines the request schema for `/transfer/originator/funding_account/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferOriginatorFundingAccountUpdateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT = "funding_account"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT) + private TransferFundingAccount fundingAccount; + + + public TransferOriginatorFundingAccountUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferOriginatorFundingAccountUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferOriginatorFundingAccountUpdateRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The Plaid client ID of the transfer originator. + * @return originatorClientId + **/ + @ApiModelProperty(required = true, value = "The Plaid client ID of the transfer originator.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferOriginatorFundingAccountUpdateRequest fundingAccount(TransferFundingAccount fundingAccount) { + + this.fundingAccount = fundingAccount; + return this; + } + + /** + * Get fundingAccount + * @return fundingAccount + **/ + @ApiModelProperty(required = true, value = "") + + public TransferFundingAccount getFundingAccount() { + return fundingAccount; + } + + + public void setFundingAccount(TransferFundingAccount fundingAccount) { + this.fundingAccount = fundingAccount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferOriginatorFundingAccountUpdateRequest transferOriginatorFundingAccountUpdateRequest = (TransferOriginatorFundingAccountUpdateRequest) o; + return Objects.equals(this.clientId, transferOriginatorFundingAccountUpdateRequest.clientId) && + Objects.equals(this.secret, transferOriginatorFundingAccountUpdateRequest.secret) && + Objects.equals(this.originatorClientId, transferOriginatorFundingAccountUpdateRequest.originatorClientId) && + Objects.equals(this.fundingAccount, transferOriginatorFundingAccountUpdateRequest.fundingAccount); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originatorClientId, fundingAccount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferOriginatorFundingAccountUpdateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" fundingAccount: ").append(toIndentedString(fundingAccount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferOriginatorFundingAccountUpdateResponse.java b/src/main/java/com/plaid/client/model/TransferOriginatorFundingAccountUpdateResponse.java new file mode 100644 index 0000000000..236a87cb57 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferOriginatorFundingAccountUpdateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/originator/funding_account/update` + */ +@ApiModel(description = "Defines the response schema for `/transfer/originator/funding_account/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferOriginatorFundingAccountUpdateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferOriginatorFundingAccountUpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferOriginatorFundingAccountUpdateResponse transferOriginatorFundingAccountUpdateResponse = (TransferOriginatorFundingAccountUpdateResponse) o; + return Objects.equals(this.requestId, transferOriginatorFundingAccountUpdateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferOriginatorFundingAccountUpdateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferOriginatorGetRequest.java b/src/main/java/com/plaid/client/model/TransferOriginatorGetRequest.java new file mode 100644 index 0000000000..c3af383aeb --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferOriginatorGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/originator/get` + */ +@ApiModel(description = "Defines the request schema for `/transfer/originator/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferOriginatorGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + + public TransferOriginatorGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferOriginatorGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferOriginatorGetRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * Client ID of the end customer (i.e. the originator). + * @return originatorClientId + **/ + @ApiModelProperty(required = true, value = "Client ID of the end customer (i.e. the originator).") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferOriginatorGetRequest transferOriginatorGetRequest = (TransferOriginatorGetRequest) o; + return Objects.equals(this.clientId, transferOriginatorGetRequest.clientId) && + Objects.equals(this.secret, transferOriginatorGetRequest.secret) && + Objects.equals(this.originatorClientId, transferOriginatorGetRequest.originatorClientId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originatorClientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferOriginatorGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferOriginatorGetResponse.java b/src/main/java/com/plaid/client/model/TransferOriginatorGetResponse.java new file mode 100644 index 0000000000..e3de5ca193 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferOriginatorGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DetailedOriginator; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/originator/get` + */ +@ApiModel(description = "Defines the response schema for `/transfer/originator/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferOriginatorGetResponse { + public static final String SERIALIZED_NAME_ORIGINATOR = "originator"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR) + private DetailedOriginator originator; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferOriginatorGetResponse originator(DetailedOriginator originator) { + + this.originator = originator; + return this; + } + + /** + * Get originator + * @return originator + **/ + @ApiModelProperty(required = true, value = "") + + public DetailedOriginator getOriginator() { + return originator; + } + + + public void setOriginator(DetailedOriginator originator) { + this.originator = originator; + } + + + public TransferOriginatorGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferOriginatorGetResponse transferOriginatorGetResponse = (TransferOriginatorGetResponse) o; + return Objects.equals(this.originator, transferOriginatorGetResponse.originator) && + Objects.equals(this.requestId, transferOriginatorGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(originator, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferOriginatorGetResponse {\n"); + sb.append(" originator: ").append(toIndentedString(originator)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferOriginatorListRequest.java b/src/main/java/com/plaid/client/model/TransferOriginatorListRequest.java new file mode 100644 index 0000000000..b203a7da0c --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferOriginatorListRequest.java @@ -0,0 +1,189 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/originator/list` + */ +@ApiModel(description = "Defines the request schema for `/transfer/originator/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferOriginatorListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 25; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + + public TransferOriginatorListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferOriginatorListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferOriginatorListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of originators to return. + * minimum: 1 + * maximum: 25 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of originators to return.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public TransferOriginatorListRequest offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The number of originators to skip before returning results. + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of originators to skip before returning results.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferOriginatorListRequest transferOriginatorListRequest = (TransferOriginatorListRequest) o; + return Objects.equals(this.clientId, transferOriginatorListRequest.clientId) && + Objects.equals(this.secret, transferOriginatorListRequest.secret) && + Objects.equals(this.count, transferOriginatorListRequest.count) && + Objects.equals(this.offset, transferOriginatorListRequest.offset); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, count, offset); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferOriginatorListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferOriginatorListResponse.java b/src/main/java/com/plaid/client/model/TransferOriginatorListResponse.java new file mode 100644 index 0000000000..df10d6b3c5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferOriginatorListResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Originator; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response schema for `/transfer/originator/list` + */ +@ApiModel(description = "Defines the response schema for `/transfer/originator/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferOriginatorListResponse { + public static final String SERIALIZED_NAME_ORIGINATORS = "originators"; + @SerializedName(SERIALIZED_NAME_ORIGINATORS) + private List originators = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferOriginatorListResponse originators(List originators) { + + this.originators = originators; + return this; + } + + public TransferOriginatorListResponse addOriginatorsItem(Originator originatorsItem) { + this.originators.add(originatorsItem); + return this; + } + + /** + * Get originators + * @return originators + **/ + @ApiModelProperty(required = true, value = "") + + public List getOriginators() { + return originators; + } + + + public void setOriginators(List originators) { + this.originators = originators; + } + + + public TransferOriginatorListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferOriginatorListResponse transferOriginatorListResponse = (TransferOriginatorListResponse) o; + return Objects.equals(this.originators, transferOriginatorListResponse.originators) && + Objects.equals(this.requestId, transferOriginatorListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(originators, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferOriginatorListResponse {\n"); + sb.append(" originators: ").append(toIndentedString(originators)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferPlatformOnboardingUpdateWebhook.java b/src/main/java/com/plaid/client/model/TransferPlatformOnboardingUpdateWebhook.java new file mode 100644 index 0000000000..da46691f7a --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferPlatformOnboardingUpdateWebhook.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when the status of an onboarding originator has been updated. Call `/transfer/originator/get` to check the latest status + */ +@ApiModel(description = "Fired when the status of an onboarding originator has been updated. Call `/transfer/originator/get` to check the latest status") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferPlatformOnboardingUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public TransferPlatformOnboardingUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `\"TRANSFER\"` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`\"TRANSFER\"`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public TransferPlatformOnboardingUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `\"PLATFORM_ONBOARDING_UPDATE\"` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`\"PLATFORM_ONBOARDING_UPDATE\"`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public TransferPlatformOnboardingUpdateWebhook originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The client ID of the originator + * @return originatorClientId + **/ + @ApiModelProperty(required = true, value = "The client ID of the originator") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferPlatformOnboardingUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferPlatformOnboardingUpdateWebhook transferPlatformOnboardingUpdateWebhook = (TransferPlatformOnboardingUpdateWebhook) o; + return Objects.equals(this.webhookType, transferPlatformOnboardingUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, transferPlatformOnboardingUpdateWebhook.webhookCode) && + Objects.equals(this.originatorClientId, transferPlatformOnboardingUpdateWebhook.originatorClientId) && + Objects.equals(this.environment, transferPlatformOnboardingUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, originatorClientId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferPlatformOnboardingUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferPlatformOriginatorCreateRequest.java b/src/main/java/com/plaid/client/model/TransferPlatformOriginatorCreateRequest.java new file mode 100644 index 0000000000..0abed5c41f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferPlatformOriginatorCreateRequest.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferPlatformTOSAcceptanceMetadata; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Defines the request schema for `/transfer/platform/originator/create` + */ +@ApiModel(description = "Defines the request schema for `/transfer/platform/originator/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferPlatformOriginatorCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_TOS_ACCEPTANCE_METADATA = "tos_acceptance_metadata"; + @SerializedName(SERIALIZED_NAME_TOS_ACCEPTANCE_METADATA) + private TransferPlatformTOSAcceptanceMetadata tosAcceptanceMetadata; + + public static final String SERIALIZED_NAME_ORIGINATOR_REVIEWED_AT = "originator_reviewed_at"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_REVIEWED_AT) + private OffsetDateTime originatorReviewedAt; + + public static final String SERIALIZED_NAME_WEBHOOK = "webhook"; + @SerializedName(SERIALIZED_NAME_WEBHOOK) + private String webhook; + + + public TransferPlatformOriginatorCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferPlatformOriginatorCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferPlatformOriginatorCreateRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The client ID of the originator + * @return originatorClientId + **/ + @ApiModelProperty(required = true, value = "The client ID of the originator") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferPlatformOriginatorCreateRequest tosAcceptanceMetadata(TransferPlatformTOSAcceptanceMetadata tosAcceptanceMetadata) { + + this.tosAcceptanceMetadata = tosAcceptanceMetadata; + return this; + } + + /** + * Get tosAcceptanceMetadata + * @return tosAcceptanceMetadata + **/ + @ApiModelProperty(required = true, value = "") + + public TransferPlatformTOSAcceptanceMetadata getTosAcceptanceMetadata() { + return tosAcceptanceMetadata; + } + + + public void setTosAcceptanceMetadata(TransferPlatformTOSAcceptanceMetadata tosAcceptanceMetadata) { + this.tosAcceptanceMetadata = tosAcceptanceMetadata; + } + + + public TransferPlatformOriginatorCreateRequest originatorReviewedAt(OffsetDateTime originatorReviewedAt) { + + this.originatorReviewedAt = originatorReviewedAt; + return this; + } + + /** + * ISO8601 timestamp indicating the most recent time the platform collected onboarding data from the originator + * @return originatorReviewedAt + **/ + @ApiModelProperty(required = true, value = "ISO8601 timestamp indicating the most recent time the platform collected onboarding data from the originator") + + public OffsetDateTime getOriginatorReviewedAt() { + return originatorReviewedAt; + } + + + public void setOriginatorReviewedAt(OffsetDateTime originatorReviewedAt) { + this.originatorReviewedAt = originatorReviewedAt; + } + + + public TransferPlatformOriginatorCreateRequest webhook(String webhook) { + + this.webhook = webhook; + return this; + } + + /** + * The webhook URL to which a `PLATFORM_ONBOARDING_UPDATE` webhook should be sent. + * @return webhook + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The webhook URL to which a `PLATFORM_ONBOARDING_UPDATE` webhook should be sent.") + + public String getWebhook() { + return webhook; + } + + + public void setWebhook(String webhook) { + this.webhook = webhook; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferPlatformOriginatorCreateRequest transferPlatformOriginatorCreateRequest = (TransferPlatformOriginatorCreateRequest) o; + return Objects.equals(this.clientId, transferPlatformOriginatorCreateRequest.clientId) && + Objects.equals(this.secret, transferPlatformOriginatorCreateRequest.secret) && + Objects.equals(this.originatorClientId, transferPlatformOriginatorCreateRequest.originatorClientId) && + Objects.equals(this.tosAcceptanceMetadata, transferPlatformOriginatorCreateRequest.tosAcceptanceMetadata) && + Objects.equals(this.originatorReviewedAt, transferPlatformOriginatorCreateRequest.originatorReviewedAt) && + Objects.equals(this.webhook, transferPlatformOriginatorCreateRequest.webhook); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originatorClientId, tosAcceptanceMetadata, originatorReviewedAt, webhook); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferPlatformOriginatorCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" tosAcceptanceMetadata: ").append(toIndentedString(tosAcceptanceMetadata)).append("\n"); + sb.append(" originatorReviewedAt: ").append(toIndentedString(originatorReviewedAt)).append("\n"); + sb.append(" webhook: ").append(toIndentedString(webhook)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferPlatformOriginatorCreateResponse.java b/src/main/java/com/plaid/client/model/TransferPlatformOriginatorCreateResponse.java new file mode 100644 index 0000000000..257b1bc36c --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferPlatformOriginatorCreateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/platform/originator/create` + */ +@ApiModel(description = "Defines the response schema for `/transfer/platform/originator/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferPlatformOriginatorCreateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferPlatformOriginatorCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferPlatformOriginatorCreateResponse transferPlatformOriginatorCreateResponse = (TransferPlatformOriginatorCreateResponse) o; + return Objects.equals(this.requestId, transferPlatformOriginatorCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferPlatformOriginatorCreateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferPlatformPersonAddress.java b/src/main/java/com/plaid/client/model/TransferPlatformPersonAddress.java new file mode 100644 index 0000000000..c4b0c4db54 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferPlatformPersonAddress.java @@ -0,0 +1,239 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Home address of a person + */ +@ApiModel(description = "Home address of a person") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferPlatformPersonAddress { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_STREET2 = "street2"; + @SerializedName(SERIALIZED_NAME_STREET2) + private String street2; + + + public TransferPlatformPersonAddress city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name. + * @return city + **/ + @ApiModelProperty(required = true, value = "The full city name.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public TransferPlatformPersonAddress country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @ApiModelProperty(required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public TransferPlatformPersonAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code of the address. + * @return postalCode + **/ + @ApiModelProperty(required = true, value = "The postal code of the address.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public TransferPlatformPersonAddress region(String region) { + + this.region = region; + return this; + } + + /** + * An ISO 3166-2 subdivision code. Related terms would be \"state\", \"province\", \"prefecture\", \"zone\", \"subdivision\", etc. + * @return region + **/ + @ApiModelProperty(required = true, value = "An ISO 3166-2 subdivision code. Related terms would be \"state\", \"province\", \"prefecture\", \"zone\", \"subdivision\", etc.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public TransferPlatformPersonAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The primary street portion of an address. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters. + * @return street + **/ + @ApiModelProperty(required = true, value = "The primary street portion of an address. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public TransferPlatformPersonAddress street2(String street2) { + + this.street2 = street2; + return this; + } + + /** + * Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters. + * @return street2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters.") + + public String getStreet2() { + return street2; + } + + + public void setStreet2(String street2) { + this.street2 = street2; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferPlatformPersonAddress transferPlatformPersonAddress = (TransferPlatformPersonAddress) o; + return Objects.equals(this.city, transferPlatformPersonAddress.city) && + Objects.equals(this.country, transferPlatformPersonAddress.country) && + Objects.equals(this.postalCode, transferPlatformPersonAddress.postalCode) && + Objects.equals(this.region, transferPlatformPersonAddress.region) && + Objects.equals(this.street, transferPlatformPersonAddress.street) && + Objects.equals(this.street2, transferPlatformPersonAddress.street2); + } + + @Override + public int hashCode() { + return Objects.hash(city, country, postalCode, region, street, street2); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferPlatformPersonAddress {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" street2: ").append(toIndentedString(street2)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferPlatformPersonCreateRequest.java b/src/main/java/com/plaid/client/model/TransferPlatformPersonCreateRequest.java new file mode 100644 index 0000000000..82cf8c35e6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferPlatformPersonCreateRequest.java @@ -0,0 +1,423 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferPlatformPersonAddress; +import com.plaid.client.model.TransferPlatformPersonIDNumber; +import com.plaid.client.model.TransferPlatformPersonName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Defines the request schema for `/transfer/platform/person/create` + */ +@ApiModel(description = "Defines the request schema for `/transfer/platform/person/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferPlatformPersonCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private TransferPlatformPersonName name; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private TransferPlatformPersonAddress address; + + public static final String SERIALIZED_NAME_ID_NUMBER = "id_number"; + @SerializedName(SERIALIZED_NAME_ID_NUMBER) + private TransferPlatformPersonIDNumber idNumber; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_RELATIONSHIP_TO_ORIGINATOR = "relationship_to_originator"; + @SerializedName(SERIALIZED_NAME_RELATIONSHIP_TO_ORIGINATOR) + private String relationshipToOriginator; + + public static final String SERIALIZED_NAME_OWNERSHIP_PERCENTAGE = "ownership_percentage"; + @SerializedName(SERIALIZED_NAME_OWNERSHIP_PERCENTAGE) + private Integer ownershipPercentage; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + private String title; + + + public TransferPlatformPersonCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferPlatformPersonCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferPlatformPersonCreateRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The client ID of the originator + * @return originatorClientId + **/ + @ApiModelProperty(required = true, value = "The client ID of the originator") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferPlatformPersonCreateRequest name(TransferPlatformPersonName name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferPlatformPersonName getName() { + return name; + } + + + public void setName(TransferPlatformPersonName name) { + this.name = name; + } + + + public TransferPlatformPersonCreateRequest emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces. + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user@example.com", value = "A valid email address. Must not have leading or trailing spaces.") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public TransferPlatformPersonCreateRequest phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A valid phone number in E.164 format. Phone number input may be validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+12345678909", value = "A valid phone number in E.164 format. Phone number input may be validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public TransferPlatformPersonCreateRequest address(TransferPlatformPersonAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferPlatformPersonAddress getAddress() { + return address; + } + + + public void setAddress(TransferPlatformPersonAddress address) { + this.address = address; + } + + + public TransferPlatformPersonCreateRequest idNumber(TransferPlatformPersonIDNumber idNumber) { + + this.idNumber = idNumber; + return this; + } + + /** + * Get idNumber + * @return idNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferPlatformPersonIDNumber getIdNumber() { + return idNumber; + } + + + public void setIdNumber(TransferPlatformPersonIDNumber idNumber) { + this.idNumber = idNumber; + } + + + public TransferPlatformPersonCreateRequest dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * The date of birth of the person. Formatted as YYYY-MM-DD. + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date of birth of the person. Formatted as YYYY-MM-DD.") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public TransferPlatformPersonCreateRequest relationshipToOriginator(String relationshipToOriginator) { + + this.relationshipToOriginator = relationshipToOriginator; + return this; + } + + /** + * The relationship between this person and the originator they are related to. + * @return relationshipToOriginator + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The relationship between this person and the originator they are related to.") + + public String getRelationshipToOriginator() { + return relationshipToOriginator; + } + + + public void setRelationshipToOriginator(String relationshipToOriginator) { + this.relationshipToOriginator = relationshipToOriginator; + } + + + public TransferPlatformPersonCreateRequest ownershipPercentage(Integer ownershipPercentage) { + + this.ownershipPercentage = ownershipPercentage; + return this; + } + + /** + * The percentage of ownership this person has in the onboarding business. Only applicable to beneficial owners with 25% or more ownership. + * minimum: 25 + * maximum: 100 + * @return ownershipPercentage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The percentage of ownership this person has in the onboarding business. Only applicable to beneficial owners with 25% or more ownership.") + + public Integer getOwnershipPercentage() { + return ownershipPercentage; + } + + + public void setOwnershipPercentage(Integer ownershipPercentage) { + this.ownershipPercentage = ownershipPercentage; + } + + + public TransferPlatformPersonCreateRequest title(String title) { + + this.title = title; + return this; + } + + /** + * The title of the person at the business. Only applicable to control persons - for example, \"CEO\", \"President\", \"Owner\", etc. + * @return title + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The title of the person at the business. Only applicable to control persons - for example, \"CEO\", \"President\", \"Owner\", etc.") + + public String getTitle() { + return title; + } + + + public void setTitle(String title) { + this.title = title; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferPlatformPersonCreateRequest transferPlatformPersonCreateRequest = (TransferPlatformPersonCreateRequest) o; + return Objects.equals(this.clientId, transferPlatformPersonCreateRequest.clientId) && + Objects.equals(this.secret, transferPlatformPersonCreateRequest.secret) && + Objects.equals(this.originatorClientId, transferPlatformPersonCreateRequest.originatorClientId) && + Objects.equals(this.name, transferPlatformPersonCreateRequest.name) && + Objects.equals(this.emailAddress, transferPlatformPersonCreateRequest.emailAddress) && + Objects.equals(this.phoneNumber, transferPlatformPersonCreateRequest.phoneNumber) && + Objects.equals(this.address, transferPlatformPersonCreateRequest.address) && + Objects.equals(this.idNumber, transferPlatformPersonCreateRequest.idNumber) && + Objects.equals(this.dateOfBirth, transferPlatformPersonCreateRequest.dateOfBirth) && + Objects.equals(this.relationshipToOriginator, transferPlatformPersonCreateRequest.relationshipToOriginator) && + Objects.equals(this.ownershipPercentage, transferPlatformPersonCreateRequest.ownershipPercentage) && + Objects.equals(this.title, transferPlatformPersonCreateRequest.title); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originatorClientId, name, emailAddress, phoneNumber, address, idNumber, dateOfBirth, relationshipToOriginator, ownershipPercentage, title); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferPlatformPersonCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" idNumber: ").append(toIndentedString(idNumber)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" relationshipToOriginator: ").append(toIndentedString(relationshipToOriginator)).append("\n"); + sb.append(" ownershipPercentage: ").append(toIndentedString(ownershipPercentage)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferPlatformPersonCreateResponse.java b/src/main/java/com/plaid/client/model/TransferPlatformPersonCreateResponse.java new file mode 100644 index 0000000000..7fb5e1523f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferPlatformPersonCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/platform/person/create` + */ +@ApiModel(description = "Defines the response schema for `/transfer/platform/person/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferPlatformPersonCreateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_PERSON_ID = "person_id"; + @SerializedName(SERIALIZED_NAME_PERSON_ID) + private String personId; + + + public TransferPlatformPersonCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public TransferPlatformPersonCreateResponse personId(String personId) { + + this.personId = personId; + return this; + } + + /** + * An ID that should be used when submitting additional requirements that are associated with this person. + * @return personId + **/ + @ApiModelProperty(required = true, value = "An ID that should be used when submitting additional requirements that are associated with this person.") + + public String getPersonId() { + return personId; + } + + + public void setPersonId(String personId) { + this.personId = personId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferPlatformPersonCreateResponse transferPlatformPersonCreateResponse = (TransferPlatformPersonCreateResponse) o; + return Objects.equals(this.requestId, transferPlatformPersonCreateResponse.requestId) && + Objects.equals(this.personId, transferPlatformPersonCreateResponse.personId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, personId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferPlatformPersonCreateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" personId: ").append(toIndentedString(personId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferPlatformPersonIDNumber.java b/src/main/java/com/plaid/client/model/TransferPlatformPersonIDNumber.java new file mode 100644 index 0000000000..6044e608ef --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferPlatformPersonIDNumber.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IDNumberType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ID number of the person + */ +@ApiModel(description = "ID number of the person") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferPlatformPersonIDNumber { + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private IDNumberType type; + + + public TransferPlatformPersonIDNumber value(String value) { + + this.value = value; + return this; + } + + /** + * Value of the person's ID Number. Alpha-numeric, with all formatting characters stripped. + * @return value + **/ + @ApiModelProperty(example = "123456789", required = true, value = "Value of the person's ID Number. Alpha-numeric, with all formatting characters stripped.") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + public TransferPlatformPersonIDNumber type(IDNumberType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public IDNumberType getType() { + return type; + } + + + public void setType(IDNumberType type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferPlatformPersonIDNumber transferPlatformPersonIDNumber = (TransferPlatformPersonIDNumber) o; + return Objects.equals(this.value, transferPlatformPersonIDNumber.value) && + Objects.equals(this.type, transferPlatformPersonIDNumber.type); + } + + @Override + public int hashCode() { + return Objects.hash(value, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferPlatformPersonIDNumber {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferPlatformPersonName.java b/src/main/java/com/plaid/client/model/TransferPlatformPersonName.java new file mode 100644 index 0000000000..c2ca18dc77 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferPlatformPersonName.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The person's legal name + */ +@ApiModel(description = "The person's legal name") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferPlatformPersonName { + public static final String SERIALIZED_NAME_GIVEN_NAME = "given_name"; + @SerializedName(SERIALIZED_NAME_GIVEN_NAME) + private String givenName; + + public static final String SERIALIZED_NAME_FAMILY_NAME = "family_name"; + @SerializedName(SERIALIZED_NAME_FAMILY_NAME) + private String familyName; + + + public TransferPlatformPersonName givenName(String givenName) { + + this.givenName = givenName; + return this; + } + + /** + * A string with at least one non-whitespace character, with a max length of 100 characters. + * @return givenName + **/ + @ApiModelProperty(example = "Leslie", required = true, value = "A string with at least one non-whitespace character, with a max length of 100 characters.") + + public String getGivenName() { + return givenName; + } + + + public void setGivenName(String givenName) { + this.givenName = givenName; + } + + + public TransferPlatformPersonName familyName(String familyName) { + + this.familyName = familyName; + return this; + } + + /** + * A string with at least one non-whitespace character, with a max length of 100 characters. + * @return familyName + **/ + @ApiModelProperty(example = "Knope", required = true, value = "A string with at least one non-whitespace character, with a max length of 100 characters.") + + public String getFamilyName() { + return familyName; + } + + + public void setFamilyName(String familyName) { + this.familyName = familyName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferPlatformPersonName transferPlatformPersonName = (TransferPlatformPersonName) o; + return Objects.equals(this.givenName, transferPlatformPersonName.givenName) && + Objects.equals(this.familyName, transferPlatformPersonName.familyName); + } + + @Override + public int hashCode() { + return Objects.hash(givenName, familyName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferPlatformPersonName {\n"); + sb.append(" givenName: ").append(toIndentedString(givenName)).append("\n"); + sb.append(" familyName: ").append(toIndentedString(familyName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferPlatformRequirement.java b/src/main/java/com/plaid/client/model/TransferPlatformRequirement.java new file mode 100644 index 0000000000..1a26be91b6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferPlatformRequirement.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * A piece of information that is required for originator onboarding. + */ +@ApiModel(description = "A piece of information that is required for originator onboarding.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferPlatformRequirement { + public static final String SERIALIZED_NAME_REQUIREMENT_TYPE = "requirement_type"; + @SerializedName(SERIALIZED_NAME_REQUIREMENT_TYPE) + private String requirementType; + + public static final String SERIALIZED_NAME_PERSON_ID = "person_id"; + @SerializedName(SERIALIZED_NAME_PERSON_ID) + private String personId; + + + public TransferPlatformRequirement requirementType(String requirementType) { + + this.requirementType = requirementType; + return this; + } + + /** + * The type of requirement. + * @return requirementType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The type of requirement.") + + public String getRequirementType() { + return requirementType; + } + + + public void setRequirementType(String requirementType) { + this.requirementType = requirementType; + } + + + public TransferPlatformRequirement personId(String personId) { + + this.personId = personId; + return this; + } + + /** + * UUID of the person associated with the requirement. Only present for individual-scoped requirements. + * @return personId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "UUID of the person associated with the requirement. Only present for individual-scoped requirements.") + + public String getPersonId() { + return personId; + } + + + public void setPersonId(String personId) { + this.personId = personId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferPlatformRequirement transferPlatformRequirement = (TransferPlatformRequirement) o; + return Objects.equals(this.requirementType, transferPlatformRequirement.requirementType) && + Objects.equals(this.personId, transferPlatformRequirement.personId); + } + + @Override + public int hashCode() { + return Objects.hash(requirementType, personId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferPlatformRequirement {\n"); + sb.append(" requirementType: ").append(toIndentedString(requirementType)).append("\n"); + sb.append(" personId: ").append(toIndentedString(personId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferPlatformRequirementSubmission.java b/src/main/java/com/plaid/client/model/TransferPlatformRequirementSubmission.java new file mode 100644 index 0000000000..3f7f488014 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferPlatformRequirementSubmission.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.UUID; + +/** + * A single requirement submission + */ +@ApiModel(description = "A single requirement submission") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferPlatformRequirementSubmission { + public static final String SERIALIZED_NAME_REQUIREMENT_TYPE = "requirement_type"; + @SerializedName(SERIALIZED_NAME_REQUIREMENT_TYPE) + private String requirementType; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + public static final String SERIALIZED_NAME_PERSON_ID = "person_id"; + @SerializedName(SERIALIZED_NAME_PERSON_ID) + private UUID personId; + + + public TransferPlatformRequirementSubmission requirementType(String requirementType) { + + this.requirementType = requirementType; + return this; + } + + /** + * The type of requirement being submitted. See [Requirement type schema documentation](https://docs.google.com/document/d/1NEQkTD0sVK50iAQi6xHigrexDUxZ4QxXqSEfV_FFTiU/) for a list of requirement types and possible values. + * @return requirementType + **/ + @ApiModelProperty(required = true, value = "The type of requirement being submitted. See [Requirement type schema documentation](https://docs.google.com/document/d/1NEQkTD0sVK50iAQi6xHigrexDUxZ4QxXqSEfV_FFTiU/) for a list of requirement types and possible values.") + + public String getRequirementType() { + return requirementType; + } + + + public void setRequirementType(String requirementType) { + this.requirementType = requirementType; + } + + + public TransferPlatformRequirementSubmission value(String value) { + + this.value = value; + return this; + } + + /** + * The value of the requirement, which can be a string or an object depending on the `requirement_type`. If it is an object, the object should be JSON marshaled into a string. See [Requirement type schema documentation](https://docs.google.com/document/d/1NEQkTD0sVK50iAQi6xHigrexDUxZ4QxXqSEfV_FFTiU/) for a list of requirement types and possible values. + * @return value + **/ + @ApiModelProperty(required = true, value = "The value of the requirement, which can be a string or an object depending on the `requirement_type`. If it is an object, the object should be JSON marshaled into a string. See [Requirement type schema documentation](https://docs.google.com/document/d/1NEQkTD0sVK50iAQi6xHigrexDUxZ4QxXqSEfV_FFTiU/) for a list of requirement types and possible values.") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + public TransferPlatformRequirementSubmission personId(UUID personId) { + + this.personId = personId; + return this; + } + + /** + * The `person_id` of the person the requirement submission is related to. A `person_id` is returned by `/transfer/platform/person/create`. This field should not be included for requirements that are not related to a person. + * @return personId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `person_id` of the person the requirement submission is related to. A `person_id` is returned by `/transfer/platform/person/create`. This field should not be included for requirements that are not related to a person.") + + public UUID getPersonId() { + return personId; + } + + + public void setPersonId(UUID personId) { + this.personId = personId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferPlatformRequirementSubmission transferPlatformRequirementSubmission = (TransferPlatformRequirementSubmission) o; + return Objects.equals(this.requirementType, transferPlatformRequirementSubmission.requirementType) && + Objects.equals(this.value, transferPlatformRequirementSubmission.value) && + Objects.equals(this.personId, transferPlatformRequirementSubmission.personId); + } + + @Override + public int hashCode() { + return Objects.hash(requirementType, value, personId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferPlatformRequirementSubmission {\n"); + sb.append(" requirementType: ").append(toIndentedString(requirementType)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" personId: ").append(toIndentedString(personId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferPlatformRequirementSubmitRequest.java b/src/main/java/com/plaid/client/model/TransferPlatformRequirementSubmitRequest.java new file mode 100644 index 0000000000..61fc8d6048 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferPlatformRequirementSubmitRequest.java @@ -0,0 +1,192 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferPlatformRequirementSubmission; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the request schema for `/transfer/platform/requirement/submit` + */ +@ApiModel(description = "Defines the request schema for `/transfer/platform/requirement/submit`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferPlatformRequirementSubmitRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_REQUIREMENT_SUBMISSIONS = "requirement_submissions"; + @SerializedName(SERIALIZED_NAME_REQUIREMENT_SUBMISSIONS) + private List requirementSubmissions = new ArrayList<>(); + + + public TransferPlatformRequirementSubmitRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferPlatformRequirementSubmitRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferPlatformRequirementSubmitRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * The client ID of the originator + * @return originatorClientId + **/ + @ApiModelProperty(required = true, value = "The client ID of the originator") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferPlatformRequirementSubmitRequest requirementSubmissions(List requirementSubmissions) { + + this.requirementSubmissions = requirementSubmissions; + return this; + } + + public TransferPlatformRequirementSubmitRequest addRequirementSubmissionsItem(TransferPlatformRequirementSubmission requirementSubmissionsItem) { + this.requirementSubmissions.add(requirementSubmissionsItem); + return this; + } + + /** + * Use the `/transfer/platform/requirement/submit` endpoint to submit a list of requirement submissions that all relate to the originator. Must contain between 1 and 50 requirement submissions. See [Requirement type schema documentation](https://docs.google.com/document/d/1NEQkTD0sVK50iAQi6xHigrexDUxZ4QxXqSEfV_FFTiU/) for a list of requirements and possible values. + * @return requirementSubmissions + **/ + @ApiModelProperty(required = true, value = "Use the `/transfer/platform/requirement/submit` endpoint to submit a list of requirement submissions that all relate to the originator. Must contain between 1 and 50 requirement submissions. See [Requirement type schema documentation](https://docs.google.com/document/d/1NEQkTD0sVK50iAQi6xHigrexDUxZ4QxXqSEfV_FFTiU/) for a list of requirements and possible values.") + + public List getRequirementSubmissions() { + return requirementSubmissions; + } + + + public void setRequirementSubmissions(List requirementSubmissions) { + this.requirementSubmissions = requirementSubmissions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferPlatformRequirementSubmitRequest transferPlatformRequirementSubmitRequest = (TransferPlatformRequirementSubmitRequest) o; + return Objects.equals(this.clientId, transferPlatformRequirementSubmitRequest.clientId) && + Objects.equals(this.secret, transferPlatformRequirementSubmitRequest.secret) && + Objects.equals(this.originatorClientId, transferPlatformRequirementSubmitRequest.originatorClientId) && + Objects.equals(this.requirementSubmissions, transferPlatformRequirementSubmitRequest.requirementSubmissions); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originatorClientId, requirementSubmissions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferPlatformRequirementSubmitRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" requirementSubmissions: ").append(toIndentedString(requirementSubmissions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferPlatformRequirementSubmitResponse.java b/src/main/java/com/plaid/client/model/TransferPlatformRequirementSubmitResponse.java new file mode 100644 index 0000000000..a59047876a --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferPlatformRequirementSubmitResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/platform/requirement/submit` + */ +@ApiModel(description = "Defines the response schema for `/transfer/platform/requirement/submit`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferPlatformRequirementSubmitResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferPlatformRequirementSubmitResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferPlatformRequirementSubmitResponse transferPlatformRequirementSubmitResponse = (TransferPlatformRequirementSubmitResponse) o; + return Objects.equals(this.requestId, transferPlatformRequirementSubmitResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferPlatformRequirementSubmitResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferPlatformTOSAcceptanceMetadata.java b/src/main/java/com/plaid/client/model/TransferPlatformTOSAcceptanceMetadata.java new file mode 100644 index 0000000000..17355a38a6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferPlatformTOSAcceptanceMetadata.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Metadata related to the acceptance of Terms of Service + */ +@ApiModel(description = "Metadata related to the acceptance of Terms of Service") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferPlatformTOSAcceptanceMetadata { + public static final String SERIALIZED_NAME_AGREEMENT_ACCEPTED = "agreement_accepted"; + @SerializedName(SERIALIZED_NAME_AGREEMENT_ACCEPTED) + private Boolean agreementAccepted; + + public static final String SERIALIZED_NAME_ORIGINATOR_IP_ADDRESS = "originator_ip_address"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_IP_ADDRESS) + private String originatorIpAddress; + + public static final String SERIALIZED_NAME_AGREEMENT_ACCEPTED_AT = "agreement_accepted_at"; + @SerializedName(SERIALIZED_NAME_AGREEMENT_ACCEPTED_AT) + private OffsetDateTime agreementAcceptedAt; + + + public TransferPlatformTOSAcceptanceMetadata agreementAccepted(Boolean agreementAccepted) { + + this.agreementAccepted = agreementAccepted; + return this; + } + + /** + * Indicates whether the TOS agreement was accepted + * @return agreementAccepted + **/ + @ApiModelProperty(required = true, value = "Indicates whether the TOS agreement was accepted") + + public Boolean getAgreementAccepted() { + return agreementAccepted; + } + + + public void setAgreementAccepted(Boolean agreementAccepted) { + this.agreementAccepted = agreementAccepted; + } + + + public TransferPlatformTOSAcceptanceMetadata originatorIpAddress(String originatorIpAddress) { + + this.originatorIpAddress = originatorIpAddress; + return this; + } + + /** + * The IP address of the originator when they accepted the TOS. Formatted as an IPv4 or IPv6 IP address + * @return originatorIpAddress + **/ + @ApiModelProperty(required = true, value = "The IP address of the originator when they accepted the TOS. Formatted as an IPv4 or IPv6 IP address") + + public String getOriginatorIpAddress() { + return originatorIpAddress; + } + + + public void setOriginatorIpAddress(String originatorIpAddress) { + this.originatorIpAddress = originatorIpAddress; + } + + + public TransferPlatformTOSAcceptanceMetadata agreementAcceptedAt(OffsetDateTime agreementAcceptedAt) { + + this.agreementAcceptedAt = agreementAcceptedAt; + return this; + } + + /** + * ISO8601 timestamp indicating when the originator accepted the TOS + * @return agreementAcceptedAt + **/ + @ApiModelProperty(required = true, value = "ISO8601 timestamp indicating when the originator accepted the TOS") + + public OffsetDateTime getAgreementAcceptedAt() { + return agreementAcceptedAt; + } + + + public void setAgreementAcceptedAt(OffsetDateTime agreementAcceptedAt) { + this.agreementAcceptedAt = agreementAcceptedAt; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferPlatformTOSAcceptanceMetadata transferPlatformTOSAcceptanceMetadata = (TransferPlatformTOSAcceptanceMetadata) o; + return Objects.equals(this.agreementAccepted, transferPlatformTOSAcceptanceMetadata.agreementAccepted) && + Objects.equals(this.originatorIpAddress, transferPlatformTOSAcceptanceMetadata.originatorIpAddress) && + Objects.equals(this.agreementAcceptedAt, transferPlatformTOSAcceptanceMetadata.agreementAcceptedAt); + } + + @Override + public int hashCode() { + return Objects.hash(agreementAccepted, originatorIpAddress, agreementAcceptedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferPlatformTOSAcceptanceMetadata {\n"); + sb.append(" agreementAccepted: ").append(toIndentedString(agreementAccepted)).append("\n"); + sb.append(" originatorIpAddress: ").append(toIndentedString(originatorIpAddress)).append("\n"); + sb.append(" agreementAcceptedAt: ").append(toIndentedString(agreementAcceptedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferQuestionnaireCreateRequest.java b/src/main/java/com/plaid/client/model/TransferQuestionnaireCreateRequest.java new file mode 100644 index 0000000000..60646796e0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferQuestionnaireCreateRequest.java @@ -0,0 +1,184 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/questionnaire/create` + */ +@ApiModel(description = "Defines the request schema for `/transfer/questionnaire/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferQuestionnaireCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_REDIRECT_URI = "redirect_uri"; + @SerializedName(SERIALIZED_NAME_REDIRECT_URI) + private String redirectUri; + + + public TransferQuestionnaireCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferQuestionnaireCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferQuestionnaireCreateRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * Client ID of the end customer. + * @return originatorClientId + **/ + @ApiModelProperty(required = true, value = "Client ID of the end customer.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferQuestionnaireCreateRequest redirectUri(String redirectUri) { + + this.redirectUri = redirectUri; + return this; + } + + /** + * URL the end customer will be redirected to after completing questions in Plaid-hosted onboarding flow. + * @return redirectUri + **/ + @ApiModelProperty(required = true, value = "URL the end customer will be redirected to after completing questions in Plaid-hosted onboarding flow.") + + public String getRedirectUri() { + return redirectUri; + } + + + public void setRedirectUri(String redirectUri) { + this.redirectUri = redirectUri; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferQuestionnaireCreateRequest transferQuestionnaireCreateRequest = (TransferQuestionnaireCreateRequest) o; + return Objects.equals(this.clientId, transferQuestionnaireCreateRequest.clientId) && + Objects.equals(this.secret, transferQuestionnaireCreateRequest.secret) && + Objects.equals(this.originatorClientId, transferQuestionnaireCreateRequest.originatorClientId) && + Objects.equals(this.redirectUri, transferQuestionnaireCreateRequest.redirectUri); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, originatorClientId, redirectUri); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferQuestionnaireCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" redirectUri: ").append(toIndentedString(redirectUri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferQuestionnaireCreateResponse.java b/src/main/java/com/plaid/client/model/TransferQuestionnaireCreateResponse.java new file mode 100644 index 0000000000..78e3e7d8aa --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferQuestionnaireCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/questionnaire/create` + */ +@ApiModel(description = "Defines the response schema for `/transfer/questionnaire/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferQuestionnaireCreateResponse { + public static final String SERIALIZED_NAME_ONBOARDING_URL = "onboarding_url"; + @SerializedName(SERIALIZED_NAME_ONBOARDING_URL) + private String onboardingUrl; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferQuestionnaireCreateResponse onboardingUrl(String onboardingUrl) { + + this.onboardingUrl = onboardingUrl; + return this; + } + + /** + * Plaid-hosted onboarding URL that you will redirect the end customer to. + * @return onboardingUrl + **/ + @ApiModelProperty(required = true, value = "Plaid-hosted onboarding URL that you will redirect the end customer to.") + + public String getOnboardingUrl() { + return onboardingUrl; + } + + + public void setOnboardingUrl(String onboardingUrl) { + this.onboardingUrl = onboardingUrl; + } + + + public TransferQuestionnaireCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferQuestionnaireCreateResponse transferQuestionnaireCreateResponse = (TransferQuestionnaireCreateResponse) o; + return Objects.equals(this.onboardingUrl, transferQuestionnaireCreateResponse.onboardingUrl) && + Objects.equals(this.requestId, transferQuestionnaireCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(onboardingUrl, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferQuestionnaireCreateResponse {\n"); + sb.append(" onboardingUrl: ").append(toIndentedString(onboardingUrl)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRecurringCancelRequest.java b/src/main/java/com/plaid/client/model/TransferRecurringCancelRequest.java new file mode 100644 index 0000000000..b799e89595 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRecurringCancelRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/recurring/cancel` + */ +@ApiModel(description = "Defines the request schema for `/transfer/recurring/cancel`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRecurringCancelRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_RECURRING_TRANSFER_ID = "recurring_transfer_id"; + @SerializedName(SERIALIZED_NAME_RECURRING_TRANSFER_ID) + private String recurringTransferId; + + + public TransferRecurringCancelRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferRecurringCancelRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferRecurringCancelRequest recurringTransferId(String recurringTransferId) { + + this.recurringTransferId = recurringTransferId; + return this; + } + + /** + * Plaid's unique identifier for a recurring transfer. + * @return recurringTransferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a recurring transfer.") + + public String getRecurringTransferId() { + return recurringTransferId; + } + + + public void setRecurringTransferId(String recurringTransferId) { + this.recurringTransferId = recurringTransferId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRecurringCancelRequest transferRecurringCancelRequest = (TransferRecurringCancelRequest) o; + return Objects.equals(this.clientId, transferRecurringCancelRequest.clientId) && + Objects.equals(this.secret, transferRecurringCancelRequest.secret) && + Objects.equals(this.recurringTransferId, transferRecurringCancelRequest.recurringTransferId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, recurringTransferId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRecurringCancelRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" recurringTransferId: ").append(toIndentedString(recurringTransferId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRecurringCancelResponse.java b/src/main/java/com/plaid/client/model/TransferRecurringCancelResponse.java new file mode 100644 index 0000000000..15aa14d96a --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRecurringCancelResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/recurring/cancel` + */ +@ApiModel(description = "Defines the response schema for `/transfer/recurring/cancel`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRecurringCancelResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferRecurringCancelResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRecurringCancelResponse transferRecurringCancelResponse = (TransferRecurringCancelResponse) o; + return Objects.equals(this.requestId, transferRecurringCancelResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRecurringCancelResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRecurringCreateRequest.java b/src/main/java/com/plaid/client/model/TransferRecurringCreateRequest.java new file mode 100644 index 0000000000..8297ff3ea8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRecurringCreateRequest.java @@ -0,0 +1,560 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.TransferDevice; +import com.plaid.client.model.TransferRecurringNetwork; +import com.plaid.client.model.TransferRecurringSchedule; +import com.plaid.client.model.TransferType; +import com.plaid.client.model.TransferUserInRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/recurring/create` + */ +@ApiModel(description = "Defines the request schema for `/transfer/recurring/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRecurringCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + public static final String SERIALIZED_NAME_IDEMPOTENCY_KEY = "idempotency_key"; + @SerializedName(SERIALIZED_NAME_IDEMPOTENCY_KEY) + private String idempotencyKey; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TransferType type; + + public static final String SERIALIZED_NAME_NETWORK = "network"; + @SerializedName(SERIALIZED_NAME_NETWORK) + private TransferRecurringNetwork network; + + public static final String SERIALIZED_NAME_ACH_CLASS = "ach_class"; + @SerializedName(SERIALIZED_NAME_ACH_CLASS) + private ACHClass achClass; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_USER_PRESENT = "user_present"; + @SerializedName(SERIALIZED_NAME_USER_PRESENT) + private Boolean userPresent; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_TEST_CLOCK_ID = "test_clock_id"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK_ID) + private String testClockId; + + public static final String SERIALIZED_NAME_SCHEDULE = "schedule"; + @SerializedName(SERIALIZED_NAME_SCHEDULE) + private TransferRecurringSchedule schedule; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + private TransferUserInRequest user; + + public static final String SERIALIZED_NAME_DEVICE = "device"; + @SerializedName(SERIALIZED_NAME_DEVICE) + private TransferDevice device; + + + public TransferRecurringCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferRecurringCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferRecurringCreateRequest accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The Plaid `access_token` for the account that will be debited or credited. + * @return accessToken + **/ + @ApiModelProperty(required = true, value = "The Plaid `access_token` for the account that will be debited or credited.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + public TransferRecurringCreateRequest idempotencyKey(String idempotencyKey) { + + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * A random key provided by the client, per unique recurring transfer. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a recurring transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single recurring transfer is created. + * @return idempotencyKey + **/ + @ApiModelProperty(required = true, value = "A random key provided by the client, per unique recurring transfer. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a recurring transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single recurring transfer is created.") + + public String getIdempotencyKey() { + return idempotencyKey; + } + + + public void setIdempotencyKey(String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + } + + + public TransferRecurringCreateRequest accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The Plaid `account_id` corresponding to the end-user account that will be debited or credited. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The Plaid `account_id` corresponding to the end-user account that will be debited or credited.") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public TransferRecurringCreateRequest fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * Specify the account used to fund the transfer. Customers can find a list of `funding_account_id`s in the Accounts page of your Plaid Dashboard, under the \"Account ID\" column. If this field is left blank, it will default to the default `funding_account_id` specified during onboarding. + * @return fundingAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify the account used to fund the transfer. Customers can find a list of `funding_account_id`s in the Accounts page of your Plaid Dashboard, under the \"Account ID\" column. If this field is left blank, it will default to the default `funding_account_id` specified during onboarding.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public TransferRecurringCreateRequest type(TransferType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public TransferType getType() { + return type; + } + + + public void setType(TransferType type) { + this.type = type; + } + + + public TransferRecurringCreateRequest network(TransferRecurringNetwork network) { + + this.network = network; + return this; + } + + /** + * Get network + * @return network + **/ + @ApiModelProperty(required = true, value = "") + + public TransferRecurringNetwork getNetwork() { + return network; + } + + + public void setNetwork(TransferRecurringNetwork network) { + this.network = network; + } + + + public TransferRecurringCreateRequest achClass(ACHClass achClass) { + + this.achClass = achClass; + return this; + } + + /** + * Get achClass + * @return achClass + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ACHClass getAchClass() { + return achClass; + } + + + public void setAchClass(ACHClass achClass) { + this.achClass = achClass; + } + + + public TransferRecurringCreateRequest amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\"). When calling `/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferRecurringCreateRequest userPresent(Boolean userPresent) { + + this.userPresent = userPresent; + return this; + } + + /** + * If the end user is initiating the specific transfer themselves via an interactive UI, this should be `true`; for automatic recurring payments where the end user is not actually initiating each individual transfer, it should be `false`. + * @return userPresent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If the end user is initiating the specific transfer themselves via an interactive UI, this should be `true`; for automatic recurring payments where the end user is not actually initiating each individual transfer, it should be `false`.") + + public Boolean getUserPresent() { + return userPresent; + } + + + public void setUserPresent(Boolean userPresent) { + this.userPresent = userPresent; + } + + + public TransferRecurringCreateRequest isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the transfer amount. The default value is \"USD\". + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The currency of the transfer amount. The default value is \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TransferRecurringCreateRequest description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the recurring transfer. + * @return description + **/ + @ApiModelProperty(required = true, value = "The description of the recurring transfer.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public TransferRecurringCreateRequest testClockId(String testClockId) { + + this.testClockId = testClockId; + return this; + } + + /** + * Plaid's unique identifier for a test clock. This field may only be used when using the `sandbox` environment. If provided, the created `recurring_transfer` is associated with the `test_clock`. New originations are automatically generated when the associated `test_clock` advances. For more details, see [Simulating recurring transfers](https://plaid.com/docs/transfer/sandbox/#simulating-recurring-transfers). + * @return testClockId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a test clock. This field may only be used when using the `sandbox` environment. If provided, the created `recurring_transfer` is associated with the `test_clock`. New originations are automatically generated when the associated `test_clock` advances. For more details, see [Simulating recurring transfers](https://plaid.com/docs/transfer/sandbox/#simulating-recurring-transfers).") + + public String getTestClockId() { + return testClockId; + } + + + public void setTestClockId(String testClockId) { + this.testClockId = testClockId; + } + + + public TransferRecurringCreateRequest schedule(TransferRecurringSchedule schedule) { + + this.schedule = schedule; + return this; + } + + /** + * Get schedule + * @return schedule + **/ + @ApiModelProperty(required = true, value = "") + + public TransferRecurringSchedule getSchedule() { + return schedule; + } + + + public void setSchedule(TransferRecurringSchedule schedule) { + this.schedule = schedule; + } + + + public TransferRecurringCreateRequest user(TransferUserInRequest user) { + + this.user = user; + return this; + } + + /** + * Get user + * @return user + **/ + @ApiModelProperty(required = true, value = "") + + public TransferUserInRequest getUser() { + return user; + } + + + public void setUser(TransferUserInRequest user) { + this.user = user; + } + + + public TransferRecurringCreateRequest device(TransferDevice device) { + + this.device = device; + return this; + } + + /** + * Get device + * @return device + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferDevice getDevice() { + return device; + } + + + public void setDevice(TransferDevice device) { + this.device = device; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRecurringCreateRequest transferRecurringCreateRequest = (TransferRecurringCreateRequest) o; + return Objects.equals(this.clientId, transferRecurringCreateRequest.clientId) && + Objects.equals(this.secret, transferRecurringCreateRequest.secret) && + Objects.equals(this.accessToken, transferRecurringCreateRequest.accessToken) && + Objects.equals(this.idempotencyKey, transferRecurringCreateRequest.idempotencyKey) && + Objects.equals(this.accountId, transferRecurringCreateRequest.accountId) && + Objects.equals(this.fundingAccountId, transferRecurringCreateRequest.fundingAccountId) && + Objects.equals(this.type, transferRecurringCreateRequest.type) && + Objects.equals(this.network, transferRecurringCreateRequest.network) && + Objects.equals(this.achClass, transferRecurringCreateRequest.achClass) && + Objects.equals(this.amount, transferRecurringCreateRequest.amount) && + Objects.equals(this.userPresent, transferRecurringCreateRequest.userPresent) && + Objects.equals(this.isoCurrencyCode, transferRecurringCreateRequest.isoCurrencyCode) && + Objects.equals(this.description, transferRecurringCreateRequest.description) && + Objects.equals(this.testClockId, transferRecurringCreateRequest.testClockId) && + Objects.equals(this.schedule, transferRecurringCreateRequest.schedule) && + Objects.equals(this.user, transferRecurringCreateRequest.user) && + Objects.equals(this.device, transferRecurringCreateRequest.device); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, accessToken, idempotencyKey, accountId, fundingAccountId, type, network, achClass, amount, userPresent, isoCurrencyCode, description, testClockId, schedule, user, device); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRecurringCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" idempotencyKey: ").append(toIndentedString(idempotencyKey)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" achClass: ").append(toIndentedString(achClass)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" userPresent: ").append(toIndentedString(userPresent)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" testClockId: ").append(toIndentedString(testClockId)).append("\n"); + sb.append(" schedule: ").append(toIndentedString(schedule)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" device: ").append(toIndentedString(device)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRecurringCreateResponse.java b/src/main/java/com/plaid/client/model/TransferRecurringCreateResponse.java new file mode 100644 index 0000000000..f359f0a167 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRecurringCreateResponse.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RecurringTransferNullable; +import com.plaid.client.model.TransferAuthorizationDecision; +import com.plaid.client.model.TransferAuthorizationDecisionRationale; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/recurring/create` + */ +@ApiModel(description = "Defines the response schema for `/transfer/recurring/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRecurringCreateResponse { + public static final String SERIALIZED_NAME_RECURRING_TRANSFER = "recurring_transfer"; + @SerializedName(SERIALIZED_NAME_RECURRING_TRANSFER) + private RecurringTransferNullable recurringTransfer; + + public static final String SERIALIZED_NAME_DECISION = "decision"; + @SerializedName(SERIALIZED_NAME_DECISION) + private TransferAuthorizationDecision decision; + + public static final String SERIALIZED_NAME_DECISION_RATIONALE = "decision_rationale"; + @SerializedName(SERIALIZED_NAME_DECISION_RATIONALE) + private TransferAuthorizationDecisionRationale decisionRationale; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferRecurringCreateResponse recurringTransfer(RecurringTransferNullable recurringTransfer) { + + this.recurringTransfer = recurringTransfer; + return this; + } + + /** + * Get recurringTransfer + * @return recurringTransfer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RecurringTransferNullable getRecurringTransfer() { + return recurringTransfer; + } + + + public void setRecurringTransfer(RecurringTransferNullable recurringTransfer) { + this.recurringTransfer = recurringTransfer; + } + + + public TransferRecurringCreateResponse decision(TransferAuthorizationDecision decision) { + + this.decision = decision; + return this; + } + + /** + * Get decision + * @return decision + **/ + @ApiModelProperty(required = true, value = "") + + public TransferAuthorizationDecision getDecision() { + return decision; + } + + + public void setDecision(TransferAuthorizationDecision decision) { + this.decision = decision; + } + + + public TransferRecurringCreateResponse decisionRationale(TransferAuthorizationDecisionRationale decisionRationale) { + + this.decisionRationale = decisionRationale; + return this; + } + + /** + * Get decisionRationale + * @return decisionRationale + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferAuthorizationDecisionRationale getDecisionRationale() { + return decisionRationale; + } + + + public void setDecisionRationale(TransferAuthorizationDecisionRationale decisionRationale) { + this.decisionRationale = decisionRationale; + } + + + public TransferRecurringCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRecurringCreateResponse transferRecurringCreateResponse = (TransferRecurringCreateResponse) o; + return Objects.equals(this.recurringTransfer, transferRecurringCreateResponse.recurringTransfer) && + Objects.equals(this.decision, transferRecurringCreateResponse.decision) && + Objects.equals(this.decisionRationale, transferRecurringCreateResponse.decisionRationale) && + Objects.equals(this.requestId, transferRecurringCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(recurringTransfer, decision, decisionRationale, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRecurringCreateResponse {\n"); + sb.append(" recurringTransfer: ").append(toIndentedString(recurringTransfer)).append("\n"); + sb.append(" decision: ").append(toIndentedString(decision)).append("\n"); + sb.append(" decisionRationale: ").append(toIndentedString(decisionRationale)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRecurringGetRequest.java b/src/main/java/com/plaid/client/model/TransferRecurringGetRequest.java new file mode 100644 index 0000000000..f0dcc51861 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRecurringGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/recurring/get` + */ +@ApiModel(description = "Defines the request schema for `/transfer/recurring/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRecurringGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_RECURRING_TRANSFER_ID = "recurring_transfer_id"; + @SerializedName(SERIALIZED_NAME_RECURRING_TRANSFER_ID) + private String recurringTransferId; + + + public TransferRecurringGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferRecurringGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferRecurringGetRequest recurringTransferId(String recurringTransferId) { + + this.recurringTransferId = recurringTransferId; + return this; + } + + /** + * Plaid's unique identifier for a recurring transfer. + * @return recurringTransferId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a recurring transfer.") + + public String getRecurringTransferId() { + return recurringTransferId; + } + + + public void setRecurringTransferId(String recurringTransferId) { + this.recurringTransferId = recurringTransferId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRecurringGetRequest transferRecurringGetRequest = (TransferRecurringGetRequest) o; + return Objects.equals(this.clientId, transferRecurringGetRequest.clientId) && + Objects.equals(this.secret, transferRecurringGetRequest.secret) && + Objects.equals(this.recurringTransferId, transferRecurringGetRequest.recurringTransferId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, recurringTransferId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRecurringGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" recurringTransferId: ").append(toIndentedString(recurringTransferId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRecurringGetResponse.java b/src/main/java/com/plaid/client/model/TransferRecurringGetResponse.java new file mode 100644 index 0000000000..9df2f36f29 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRecurringGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RecurringTransfer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/recurring/get` + */ +@ApiModel(description = "Defines the response schema for `/transfer/recurring/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRecurringGetResponse { + public static final String SERIALIZED_NAME_RECURRING_TRANSFER = "recurring_transfer"; + @SerializedName(SERIALIZED_NAME_RECURRING_TRANSFER) + private RecurringTransfer recurringTransfer; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferRecurringGetResponse recurringTransfer(RecurringTransfer recurringTransfer) { + + this.recurringTransfer = recurringTransfer; + return this; + } + + /** + * Get recurringTransfer + * @return recurringTransfer + **/ + @ApiModelProperty(required = true, value = "") + + public RecurringTransfer getRecurringTransfer() { + return recurringTransfer; + } + + + public void setRecurringTransfer(RecurringTransfer recurringTransfer) { + this.recurringTransfer = recurringTransfer; + } + + + public TransferRecurringGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRecurringGetResponse transferRecurringGetResponse = (TransferRecurringGetResponse) o; + return Objects.equals(this.recurringTransfer, transferRecurringGetResponse.recurringTransfer) && + Objects.equals(this.requestId, transferRecurringGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(recurringTransfer, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRecurringGetResponse {\n"); + sb.append(" recurringTransfer: ").append(toIndentedString(recurringTransfer)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRecurringListRequest.java b/src/main/java/com/plaid/client/model/TransferRecurringListRequest.java new file mode 100644 index 0000000000..45333be6e6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRecurringListRequest.java @@ -0,0 +1,277 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Defines the request schema for `/transfer/recurring/list` + */ +@ApiModel(description = "Defines the request schema for `/transfer/recurring/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRecurringListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + private OffsetDateTime startTime; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + private OffsetDateTime endTime; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 25; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + + public TransferRecurringListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferRecurringListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferRecurringListRequest startTime(OffsetDateTime startTime) { + + this.startTime = startTime; + return this; + } + + /** + * The start `created` datetime of recurring transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) + * @return startTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start `created` datetime of recurring transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)") + + public OffsetDateTime getStartTime() { + return startTime; + } + + + public void setStartTime(OffsetDateTime startTime) { + this.startTime = startTime; + } + + + public TransferRecurringListRequest endTime(OffsetDateTime endTime) { + + this.endTime = endTime; + return this; + } + + /** + * The end `created` datetime of recurring transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) + * @return endTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end `created` datetime of recurring transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)") + + public OffsetDateTime getEndTime() { + return endTime; + } + + + public void setEndTime(OffsetDateTime endTime) { + this.endTime = endTime; + } + + + public TransferRecurringListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of recurring transfers to return. + * minimum: 1 + * maximum: 25 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of recurring transfers to return.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public TransferRecurringListRequest offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The number of recurring transfers to skip before returning results. + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of recurring transfers to skip before returning results.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + public TransferRecurringListRequest fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * Filter recurring transfers to only those with the specified `funding_account_id`. + * @return fundingAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter recurring transfers to only those with the specified `funding_account_id`.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRecurringListRequest transferRecurringListRequest = (TransferRecurringListRequest) o; + return Objects.equals(this.clientId, transferRecurringListRequest.clientId) && + Objects.equals(this.secret, transferRecurringListRequest.secret) && + Objects.equals(this.startTime, transferRecurringListRequest.startTime) && + Objects.equals(this.endTime, transferRecurringListRequest.endTime) && + Objects.equals(this.count, transferRecurringListRequest.count) && + Objects.equals(this.offset, transferRecurringListRequest.offset) && + Objects.equals(this.fundingAccountId, transferRecurringListRequest.fundingAccountId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, startTime, endTime, count, offset, fundingAccountId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRecurringListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); + sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRecurringListResponse.java b/src/main/java/com/plaid/client/model/TransferRecurringListResponse.java new file mode 100644 index 0000000000..0c1ee46362 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRecurringListResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RecurringTransfer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response schema for `/transfer/recurring/list` + */ +@ApiModel(description = "Defines the response schema for `/transfer/recurring/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRecurringListResponse { + public static final String SERIALIZED_NAME_RECURRING_TRANSFERS = "recurring_transfers"; + @SerializedName(SERIALIZED_NAME_RECURRING_TRANSFERS) + private List recurringTransfers = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferRecurringListResponse recurringTransfers(List recurringTransfers) { + + this.recurringTransfers = recurringTransfers; + return this; + } + + public TransferRecurringListResponse addRecurringTransfersItem(RecurringTransfer recurringTransfersItem) { + this.recurringTransfers.add(recurringTransfersItem); + return this; + } + + /** + * Get recurringTransfers + * @return recurringTransfers + **/ + @ApiModelProperty(required = true, value = "") + + public List getRecurringTransfers() { + return recurringTransfers; + } + + + public void setRecurringTransfers(List recurringTransfers) { + this.recurringTransfers = recurringTransfers; + } + + + public TransferRecurringListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRecurringListResponse transferRecurringListResponse = (TransferRecurringListResponse) o; + return Objects.equals(this.recurringTransfers, transferRecurringListResponse.recurringTransfers) && + Objects.equals(this.requestId, transferRecurringListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(recurringTransfers, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRecurringListResponse {\n"); + sb.append(" recurringTransfers: ").append(toIndentedString(recurringTransfers)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRecurringNetwork.java b/src/main/java/com/plaid/client/model/TransferRecurringNetwork.java new file mode 100644 index 0000000000..dfba64ad61 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRecurringNetwork.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Networks eligible for recurring transfers. + */ +@JsonAdapter(TransferRecurringNetwork.Adapter.class) +public enum TransferRecurringNetwork { + + ACH("ach"), + + SAME_DAY_ACH("same-day-ach"), + + RTP("rtp"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferRecurringNetwork(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferRecurringNetwork fromValue(String value) { + for (TransferRecurringNetwork b : TransferRecurringNetwork.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferRecurringNetwork.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferRecurringNetwork enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferRecurringNetwork read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferRecurringNetwork.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferRecurringSchedule.java b/src/main/java/com/plaid/client/model/TransferRecurringSchedule.java new file mode 100644 index 0000000000..102d19e470 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRecurringSchedule.java @@ -0,0 +1,213 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferScheduleIntervalUnit; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * The schedule that the recurring transfer will be executed on. + */ +@ApiModel(description = "The schedule that the recurring transfer will be executed on.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRecurringSchedule { + public static final String SERIALIZED_NAME_INTERVAL_UNIT = "interval_unit"; + @SerializedName(SERIALIZED_NAME_INTERVAL_UNIT) + private TransferScheduleIntervalUnit intervalUnit; + + public static final String SERIALIZED_NAME_INTERVAL_COUNT = "interval_count"; + @SerializedName(SERIALIZED_NAME_INTERVAL_COUNT) + private Integer intervalCount; + + public static final String SERIALIZED_NAME_INTERVAL_EXECUTION_DAY = "interval_execution_day"; + @SerializedName(SERIALIZED_NAME_INTERVAL_EXECUTION_DAY) + private Integer intervalExecutionDay; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private LocalDate endDate; + + + public TransferRecurringSchedule intervalUnit(TransferScheduleIntervalUnit intervalUnit) { + + this.intervalUnit = intervalUnit; + return this; + } + + /** + * Get intervalUnit + * @return intervalUnit + **/ + @ApiModelProperty(required = true, value = "") + + public TransferScheduleIntervalUnit getIntervalUnit() { + return intervalUnit; + } + + + public void setIntervalUnit(TransferScheduleIntervalUnit intervalUnit) { + this.intervalUnit = intervalUnit; + } + + + public TransferRecurringSchedule intervalCount(Integer intervalCount) { + + this.intervalCount = intervalCount; + return this; + } + + /** + * The number of recurring `interval_units` between originations. The recurring interval (before holiday adjustment) is calculated by multiplying `interval_unit` and `interval_count`. For example, to schedule a recurring transfer which originates once every two weeks, set `interval_unit` = `week` and `interval_count` = 2. + * @return intervalCount + **/ + @ApiModelProperty(required = true, value = "The number of recurring `interval_units` between originations. The recurring interval (before holiday adjustment) is calculated by multiplying `interval_unit` and `interval_count`. For example, to schedule a recurring transfer which originates once every two weeks, set `interval_unit` = `week` and `interval_count` = 2.") + + public Integer getIntervalCount() { + return intervalCount; + } + + + public void setIntervalCount(Integer intervalCount) { + this.intervalCount = intervalCount; + } + + + public TransferRecurringSchedule intervalExecutionDay(Integer intervalExecutionDay) { + + this.intervalExecutionDay = intervalExecutionDay; + return this; + } + + /** + * The day of the interval on which to schedule the transfer. If the `interval_unit` is `week`, `interval_execution_day` should be an integer from 1 (Monday) to 5 (Friday). If the `interval_unit` is `month`, `interval_execution_day` should be an integer indicating which day of the month to make the transfer on. Integers from 1 to 28 can be used to make a transfer on that day of the month. Negative integers from -1 to -5 can be used to make a transfer relative to the end of the month. To make a transfer on the last day of the month, use -1; to make the transfer on the second-to-last day, use -2, and so on. The transfer will be originated on the next available banking day if the designated day is a non banking day. + * @return intervalExecutionDay + **/ + @ApiModelProperty(required = true, value = "The day of the interval on which to schedule the transfer. If the `interval_unit` is `week`, `interval_execution_day` should be an integer from 1 (Monday) to 5 (Friday). If the `interval_unit` is `month`, `interval_execution_day` should be an integer indicating which day of the month to make the transfer on. Integers from 1 to 28 can be used to make a transfer on that day of the month. Negative integers from -1 to -5 can be used to make a transfer relative to the end of the month. To make a transfer on the last day of the month, use -1; to make the transfer on the second-to-last day, use -2, and so on. The transfer will be originated on the next available banking day if the designated day is a non banking day.") + + public Integer getIntervalExecutionDay() { + return intervalExecutionDay; + } + + + public void setIntervalExecutionDay(Integer intervalExecutionDay) { + this.intervalExecutionDay = intervalExecutionDay; + } + + + public TransferRecurringSchedule startDate(LocalDate startDate) { + + this.startDate = startDate; + return this; + } + + /** + * A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). The recurring transfer will begin on the first `interval_execution_day` on or after the `start_date`. For `rtp` recurring transfers, `start_date` must be in the future. Otherwise, if the first `interval_execution_day` on or after the start date is also the same day that `/transfer/recurring/create` was called, the bank *may* make the first payment on that day, but it is not guaranteed to do so. + * @return startDate + **/ + @ApiModelProperty(required = true, value = "A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). The recurring transfer will begin on the first `interval_execution_day` on or after the `start_date`. For `rtp` recurring transfers, `start_date` must be in the future. Otherwise, if the first `interval_execution_day` on or after the start date is also the same day that `/transfer/recurring/create` was called, the bank *may* make the first payment on that day, but it is not guaranteed to do so.") + + public LocalDate getStartDate() { + return startDate; + } + + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + + public TransferRecurringSchedule endDate(LocalDate endDate) { + + this.endDate = endDate; + return this; + } + + /** + * A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). The recurring transfer will end on the last `interval_execution_day` on or before the `end_date`. If the `interval_execution_day` between the start date and the end date (inclusive) is also the same day that `/transfer/recurring/create` was called, the bank *may* make a payment on that day, but it is not guaranteed to do so. + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). The recurring transfer will end on the last `interval_execution_day` on or before the `end_date`. If the `interval_execution_day` between the start date and the end date (inclusive) is also the same day that `/transfer/recurring/create` was called, the bank *may* make a payment on that day, but it is not guaranteed to do so.") + + public LocalDate getEndDate() { + return endDate; + } + + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRecurringSchedule transferRecurringSchedule = (TransferRecurringSchedule) o; + return Objects.equals(this.intervalUnit, transferRecurringSchedule.intervalUnit) && + Objects.equals(this.intervalCount, transferRecurringSchedule.intervalCount) && + Objects.equals(this.intervalExecutionDay, transferRecurringSchedule.intervalExecutionDay) && + Objects.equals(this.startDate, transferRecurringSchedule.startDate) && + Objects.equals(this.endDate, transferRecurringSchedule.endDate); + } + + @Override + public int hashCode() { + return Objects.hash(intervalUnit, intervalCount, intervalExecutionDay, startDate, endDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRecurringSchedule {\n"); + sb.append(" intervalUnit: ").append(toIndentedString(intervalUnit)).append("\n"); + sb.append(" intervalCount: ").append(toIndentedString(intervalCount)).append("\n"); + sb.append(" intervalExecutionDay: ").append(toIndentedString(intervalExecutionDay)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRecurringStatus.java b/src/main/java/com/plaid/client/model/TransferRecurringStatus.java new file mode 100644 index 0000000000..c6957c333f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRecurringStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the recurring transfer. `active`: The recurring transfer is currently active. `cancelled`: The recurring transfer was cancelled by the client or Plaid. `expired`: The recurring transfer has completed all originations according to its recurring schedule. + */ +@JsonAdapter(TransferRecurringStatus.Adapter.class) +public enum TransferRecurringStatus { + + ACTIVE("active"), + + CANCELLED("cancelled"), + + EXPIRED("expired"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferRecurringStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferRecurringStatus fromValue(String value) { + for (TransferRecurringStatus b : TransferRecurringStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferRecurringStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferRecurringStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferRecurringStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferRecurringStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferRefund.java b/src/main/java/com/plaid/client/model/TransferRefund.java new file mode 100644 index 0000000000..76c60d3698 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRefund.java @@ -0,0 +1,300 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferRefundFailure; +import com.plaid.client.model.TransferRefundStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Represents a refund within the Transfers API. + */ +@ApiModel(description = "Represents a refund within the Transfers API.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRefund { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private TransferRefundStatus status; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private TransferRefundFailure failureReason; + + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_NETWORK_TRACE_ID = "network_trace_id"; + @SerializedName(SERIALIZED_NAME_NETWORK_TRACE_ID) + private String networkTraceId; + + + public TransferRefund id(String id) { + + this.id = id; + return this; + } + + /** + * Plaid's unique identifier for a refund. + * @return id + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a refund.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public TransferRefund transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * The ID of the transfer to refund. + * @return transferId + **/ + @ApiModelProperty(required = true, value = "The ID of the transfer to refund.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public TransferRefund amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the refund (decimal string with two digits of precision e.g. \"10.00\"). + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the refund (decimal string with two digits of precision e.g. \"10.00\").") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferRefund status(TransferRefundStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public TransferRefundStatus getStatus() { + return status; + } + + + public void setStatus(TransferRefundStatus status) { + this.status = status; + } + + + public TransferRefund failureReason(TransferRefundFailure failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferRefundFailure getFailureReason() { + return failureReason; + } + + + public void setFailureReason(TransferRefundFailure failureReason) { + this.failureReason = failureReason; + } + + + public TransferRefund ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * Plaid's unique identifier for a Plaid Ledger Balance. + * @return ledgerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a Plaid Ledger Balance.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public TransferRefund created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The datetime when this refund was created. This will be of the form `2006-01-02T15:04:05Z` + * @return created + **/ + @ApiModelProperty(required = true, value = "The datetime when this refund was created. This will be of the form `2006-01-02T15:04:05Z`") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public TransferRefund networkTraceId(String networkTraceId) { + + this.networkTraceId = networkTraceId; + return this; + } + + /** + * The trace identifier for the transfer based on its network. This will only be set after the transfer has posted. For `ach` or `same-day-ach` transfers, this is the ACH trace number. For `rtp` transfers, this is the Transaction Identification number. For `wire` transfers, this is the IMAD (Input Message Accountability Data) number. + * @return networkTraceId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The trace identifier for the transfer based on its network. This will only be set after the transfer has posted. For `ach` or `same-day-ach` transfers, this is the ACH trace number. For `rtp` transfers, this is the Transaction Identification number. For `wire` transfers, this is the IMAD (Input Message Accountability Data) number.") + + public String getNetworkTraceId() { + return networkTraceId; + } + + + public void setNetworkTraceId(String networkTraceId) { + this.networkTraceId = networkTraceId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRefund transferRefund = (TransferRefund) o; + return Objects.equals(this.id, transferRefund.id) && + Objects.equals(this.transferId, transferRefund.transferId) && + Objects.equals(this.amount, transferRefund.amount) && + Objects.equals(this.status, transferRefund.status) && + Objects.equals(this.failureReason, transferRefund.failureReason) && + Objects.equals(this.ledgerId, transferRefund.ledgerId) && + Objects.equals(this.created, transferRefund.created) && + Objects.equals(this.networkTraceId, transferRefund.networkTraceId); + } + + @Override + public int hashCode() { + return Objects.hash(id, transferId, amount, status, failureReason, ledgerId, created, networkTraceId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRefund {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" networkTraceId: ").append(toIndentedString(networkTraceId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRefundCancelRequest.java b/src/main/java/com/plaid/client/model/TransferRefundCancelRequest.java new file mode 100644 index 0000000000..1edada6c73 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRefundCancelRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/refund/cancel` + */ +@ApiModel(description = "Defines the request schema for `/transfer/refund/cancel`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRefundCancelRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_REFUND_ID = "refund_id"; + @SerializedName(SERIALIZED_NAME_REFUND_ID) + private String refundId; + + + public TransferRefundCancelRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferRefundCancelRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferRefundCancelRequest refundId(String refundId) { + + this.refundId = refundId; + return this; + } + + /** + * Plaid's unique identifier for a refund. + * @return refundId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a refund.") + + public String getRefundId() { + return refundId; + } + + + public void setRefundId(String refundId) { + this.refundId = refundId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRefundCancelRequest transferRefundCancelRequest = (TransferRefundCancelRequest) o; + return Objects.equals(this.clientId, transferRefundCancelRequest.clientId) && + Objects.equals(this.secret, transferRefundCancelRequest.secret) && + Objects.equals(this.refundId, transferRefundCancelRequest.refundId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, refundId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRefundCancelRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" refundId: ").append(toIndentedString(refundId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRefundCancelResponse.java b/src/main/java/com/plaid/client/model/TransferRefundCancelResponse.java new file mode 100644 index 0000000000..a63687b2bc --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRefundCancelResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/refund/cancel` + */ +@ApiModel(description = "Defines the response schema for `/transfer/refund/cancel`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRefundCancelResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferRefundCancelResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRefundCancelResponse transferRefundCancelResponse = (TransferRefundCancelResponse) o; + return Objects.equals(this.requestId, transferRefundCancelResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRefundCancelResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRefundCreateRequest.java b/src/main/java/com/plaid/client/model/TransferRefundCreateRequest.java new file mode 100644 index 0000000000..b99a596ad8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRefundCreateRequest.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/refund/create` + */ +@ApiModel(description = "Defines the request schema for `/transfer/refund/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRefundCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_IDEMPOTENCY_KEY = "idempotency_key"; + @SerializedName(SERIALIZED_NAME_IDEMPOTENCY_KEY) + private String idempotencyKey; + + + public TransferRefundCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferRefundCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferRefundCreateRequest transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * The ID of the transfer to refund. + * @return transferId + **/ + @ApiModelProperty(required = true, value = "The ID of the transfer to refund.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public TransferRefundCreateRequest amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of the refund (decimal string with two digits of precision e.g. \"10.00\"). + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount of the refund (decimal string with two digits of precision e.g. \"10.00\").") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferRefundCreateRequest idempotencyKey(String idempotencyKey) { + + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * A random key provided by the client, per unique refund. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a refund fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single refund is created. + * @return idempotencyKey + **/ + @ApiModelProperty(required = true, value = "A random key provided by the client, per unique refund. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a refund fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single refund is created.") + + public String getIdempotencyKey() { + return idempotencyKey; + } + + + public void setIdempotencyKey(String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRefundCreateRequest transferRefundCreateRequest = (TransferRefundCreateRequest) o; + return Objects.equals(this.clientId, transferRefundCreateRequest.clientId) && + Objects.equals(this.secret, transferRefundCreateRequest.secret) && + Objects.equals(this.transferId, transferRefundCreateRequest.transferId) && + Objects.equals(this.amount, transferRefundCreateRequest.amount) && + Objects.equals(this.idempotencyKey, transferRefundCreateRequest.idempotencyKey); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, transferId, amount, idempotencyKey); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRefundCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" idempotencyKey: ").append(toIndentedString(idempotencyKey)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRefundCreateResponse.java b/src/main/java/com/plaid/client/model/TransferRefundCreateResponse.java new file mode 100644 index 0000000000..f7663c601c --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRefundCreateResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferRefund; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/refund/create` + */ +@ApiModel(description = "Defines the response schema for `/transfer/refund/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRefundCreateResponse { + public static final String SERIALIZED_NAME_REFUND = "refund"; + @SerializedName(SERIALIZED_NAME_REFUND) + private TransferRefund refund; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferRefundCreateResponse refund(TransferRefund refund) { + + this.refund = refund; + return this; + } + + /** + * Get refund + * @return refund + **/ + @ApiModelProperty(required = true, value = "") + + public TransferRefund getRefund() { + return refund; + } + + + public void setRefund(TransferRefund refund) { + this.refund = refund; + } + + + public TransferRefundCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRefundCreateResponse transferRefundCreateResponse = (TransferRefundCreateResponse) o; + return Objects.equals(this.refund, transferRefundCreateResponse.refund) && + Objects.equals(this.requestId, transferRefundCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(refund, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRefundCreateResponse {\n"); + sb.append(" refund: ").append(toIndentedString(refund)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRefundFailure.java b/src/main/java/com/plaid/client/model/TransferRefundFailure.java new file mode 100644 index 0000000000..0f6eca728a --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRefundFailure.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The failure reason if the status for a refund is `\"failed\"` or `\"returned\"`. Null value otherwise. + */ +@ApiModel(description = "The failure reason if the status for a refund is `\"failed\"` or `\"returned\"`. Null value otherwise.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRefundFailure { + public static final String SERIALIZED_NAME_FAILURE_CODE = "failure_code"; + @SerializedName(SERIALIZED_NAME_FAILURE_CODE) + private String failureCode; + + public static final String SERIALIZED_NAME_ACH_RETURN_CODE = "ach_return_code"; + @SerializedName(SERIALIZED_NAME_ACH_RETURN_CODE) + private String achReturnCode; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + + public TransferRefundFailure failureCode(String failureCode) { + + this.failureCode = failureCode; + return this; + } + + /** + * The failure code, e.g. `R01`. A failure code will be provided if and only if the refund status is `returned`. See [ACH return codes](https://plaid.com/docs/errors/transfer/#ach-return-codes) for a full listing of ACH return codes and [RTP/RfP error codes](https://plaid.com/docs/errors/transfer/#rtprfp-error-codes) for RTP error codes. + * @return failureCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The failure code, e.g. `R01`. A failure code will be provided if and only if the refund status is `returned`. See [ACH return codes](https://plaid.com/docs/errors/transfer/#ach-return-codes) for a full listing of ACH return codes and [RTP/RfP error codes](https://plaid.com/docs/errors/transfer/#rtprfp-error-codes) for RTP error codes.") + + public String getFailureCode() { + return failureCode; + } + + + public void setFailureCode(String failureCode) { + this.failureCode = failureCode; + } + + + public TransferRefundFailure achReturnCode(String achReturnCode) { + + this.achReturnCode = achReturnCode; + return this; + } + + /** + * The ACH return code, e.g. `R01`. A return code will be provided if and only if the refund status is `returned`. For a full listing of ACH return codes, see [Transfer errors](https://plaid.com/docs/errors/transfer/#ach-return-codes). This field is deprecated in favor of the more versatile `failure_code`, which encompasses non-ACH failure codes as well. + * @return achReturnCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ACH return code, e.g. `R01`. A return code will be provided if and only if the refund status is `returned`. For a full listing of ACH return codes, see [Transfer errors](https://plaid.com/docs/errors/transfer/#ach-return-codes). This field is deprecated in favor of the more versatile `failure_code`, which encompasses non-ACH failure codes as well.") + + public String getAchReturnCode() { + return achReturnCode; + } + + + public void setAchReturnCode(String achReturnCode) { + this.achReturnCode = achReturnCode; + } + + + public TransferRefundFailure description(String description) { + + this.description = description; + return this; + } + + /** + * A human-readable description of the reason for the failure or reversal. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A human-readable description of the reason for the failure or reversal.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRefundFailure transferRefundFailure = (TransferRefundFailure) o; + return Objects.equals(this.failureCode, transferRefundFailure.failureCode) && + Objects.equals(this.achReturnCode, transferRefundFailure.achReturnCode) && + Objects.equals(this.description, transferRefundFailure.description); + } + + @Override + public int hashCode() { + return Objects.hash(failureCode, achReturnCode, description); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRefundFailure {\n"); + sb.append(" failureCode: ").append(toIndentedString(failureCode)).append("\n"); + sb.append(" achReturnCode: ").append(toIndentedString(achReturnCode)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRefundGetRequest.java b/src/main/java/com/plaid/client/model/TransferRefundGetRequest.java new file mode 100644 index 0000000000..8997e383ea --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRefundGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/refund/get` + */ +@ApiModel(description = "Defines the request schema for `/transfer/refund/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRefundGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_REFUND_ID = "refund_id"; + @SerializedName(SERIALIZED_NAME_REFUND_ID) + private String refundId; + + + public TransferRefundGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferRefundGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferRefundGetRequest refundId(String refundId) { + + this.refundId = refundId; + return this; + } + + /** + * Plaid's unique identifier for a refund. + * @return refundId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a refund.") + + public String getRefundId() { + return refundId; + } + + + public void setRefundId(String refundId) { + this.refundId = refundId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRefundGetRequest transferRefundGetRequest = (TransferRefundGetRequest) o; + return Objects.equals(this.clientId, transferRefundGetRequest.clientId) && + Objects.equals(this.secret, transferRefundGetRequest.secret) && + Objects.equals(this.refundId, transferRefundGetRequest.refundId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, refundId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRefundGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" refundId: ").append(toIndentedString(refundId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRefundGetResponse.java b/src/main/java/com/plaid/client/model/TransferRefundGetResponse.java new file mode 100644 index 0000000000..0de77568ba --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRefundGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferRefund; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/refund/get` + */ +@ApiModel(description = "Defines the response schema for `/transfer/refund/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRefundGetResponse { + public static final String SERIALIZED_NAME_REFUND = "refund"; + @SerializedName(SERIALIZED_NAME_REFUND) + private TransferRefund refund; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferRefundGetResponse refund(TransferRefund refund) { + + this.refund = refund; + return this; + } + + /** + * Get refund + * @return refund + **/ + @ApiModelProperty(required = true, value = "") + + public TransferRefund getRefund() { + return refund; + } + + + public void setRefund(TransferRefund refund) { + this.refund = refund; + } + + + public TransferRefundGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRefundGetResponse transferRefundGetResponse = (TransferRefundGetResponse) o; + return Objects.equals(this.refund, transferRefundGetResponse.refund) && + Objects.equals(this.requestId, transferRefundGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(refund, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRefundGetResponse {\n"); + sb.append(" refund: ").append(toIndentedString(refund)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRefundStatus.java b/src/main/java/com/plaid/client/model/TransferRefundStatus.java new file mode 100644 index 0000000000..67e81dd1ad --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRefundStatus.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the refund. `pending`: A new refund was created; it is in the pending state. `posted`: The refund has been successfully submitted to the payment network. `settled`: Credits have been refunded to the Plaid linked account. `cancelled`: The refund was cancelled by the client. `failed`: The refund has failed. `returned`: The refund was returned. + */ +@JsonAdapter(TransferRefundStatus.Adapter.class) +public enum TransferRefundStatus { + + PENDING("pending"), + + POSTED("posted"), + + CANCELLED("cancelled"), + + FAILED("failed"), + + SETTLED("settled"), + + RETURNED("returned"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferRefundStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferRefundStatus fromValue(String value) { + for (TransferRefundStatus b : TransferRefundStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferRefundStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferRefundStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferRefundStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferRefundStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferRepayment.java b/src/main/java/com/plaid/client/model/TransferRepayment.java new file mode 100644 index 0000000000..b9bbaedb8e --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRepayment.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * A repayment is created automatically after one or more guaranteed transactions receive a return. If there are multiple eligible returns in a day, they are batched together into a single repayment. Repayments are sent over ACH, with funds typically available on the next banking day. + */ +@ApiModel(description = "A repayment is created automatically after one or more guaranteed transactions receive a return. If there are multiple eligible returns in a day, they are batched together into a single repayment. Repayments are sent over ACH, with funds typically available on the next banking day.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRepayment { + public static final String SERIALIZED_NAME_REPAYMENT_ID = "repayment_id"; + @SerializedName(SERIALIZED_NAME_REPAYMENT_ID) + private String repaymentId; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + + public TransferRepayment repaymentId(String repaymentId) { + + this.repaymentId = repaymentId; + return this; + } + + /** + * Identifier of the repayment. + * @return repaymentId + **/ + @ApiModelProperty(required = true, value = "Identifier of the repayment.") + + public String getRepaymentId() { + return repaymentId; + } + + + public void setRepaymentId(String repaymentId) { + this.repaymentId = repaymentId; + } + + + public TransferRepayment created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The datetime when the repayment occurred, in RFC 3339 format. + * @return created + **/ + @ApiModelProperty(required = true, value = "The datetime when the repayment occurred, in RFC 3339 format.") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public TransferRepayment amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * Decimal amount of the repayment as it appears on your account ledger. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Decimal amount of the repayment as it appears on your account ledger.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferRepayment isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the repayment, e.g. \"USD\". + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the repayment, e.g. \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRepayment transferRepayment = (TransferRepayment) o; + return Objects.equals(this.repaymentId, transferRepayment.repaymentId) && + Objects.equals(this.created, transferRepayment.created) && + Objects.equals(this.amount, transferRepayment.amount) && + Objects.equals(this.isoCurrencyCode, transferRepayment.isoCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(repaymentId, created, amount, isoCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRepayment {\n"); + sb.append(" repaymentId: ").append(toIndentedString(repaymentId)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRepaymentListRequest.java b/src/main/java/com/plaid/client/model/TransferRepaymentListRequest.java new file mode 100644 index 0000000000..3e09b0092a --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRepaymentListRequest.java @@ -0,0 +1,248 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Defines the request schema for `/transfer/repayment/list` + */ +@ApiModel(description = "Defines the request schema for `/transfer/repayment/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRepaymentListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private OffsetDateTime startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private OffsetDateTime endDate; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 25; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + + public TransferRepaymentListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferRepaymentListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferRepaymentListRequest startDate(OffsetDateTime startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start `created` datetime of repayments to return (RFC 3339 format). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start `created` datetime of repayments to return (RFC 3339 format).") + + public OffsetDateTime getStartDate() { + return startDate; + } + + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + + public TransferRepaymentListRequest endDate(OffsetDateTime endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end `created` datetime of repayments to return (RFC 3339 format). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end `created` datetime of repayments to return (RFC 3339 format).") + + public OffsetDateTime getEndDate() { + return endDate; + } + + + public void setEndDate(OffsetDateTime endDate) { + this.endDate = endDate; + } + + + public TransferRepaymentListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of repayments to return. + * minimum: 1 + * maximum: 25 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of repayments to return.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public TransferRepaymentListRequest offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The number of repayments to skip before returning results. + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of repayments to skip before returning results.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRepaymentListRequest transferRepaymentListRequest = (TransferRepaymentListRequest) o; + return Objects.equals(this.clientId, transferRepaymentListRequest.clientId) && + Objects.equals(this.secret, transferRepaymentListRequest.secret) && + Objects.equals(this.startDate, transferRepaymentListRequest.startDate) && + Objects.equals(this.endDate, transferRepaymentListRequest.endDate) && + Objects.equals(this.count, transferRepaymentListRequest.count) && + Objects.equals(this.offset, transferRepaymentListRequest.offset); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, startDate, endDate, count, offset); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRepaymentListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRepaymentListResponse.java b/src/main/java/com/plaid/client/model/TransferRepaymentListResponse.java new file mode 100644 index 0000000000..680027960f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRepaymentListResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferRepayment; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response schema for `/transfer/repayment/list` + */ +@ApiModel(description = "Defines the response schema for `/transfer/repayment/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRepaymentListResponse { + public static final String SERIALIZED_NAME_REPAYMENTS = "repayments"; + @SerializedName(SERIALIZED_NAME_REPAYMENTS) + private List repayments = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferRepaymentListResponse repayments(List repayments) { + + this.repayments = repayments; + return this; + } + + public TransferRepaymentListResponse addRepaymentsItem(TransferRepayment repaymentsItem) { + this.repayments.add(repaymentsItem); + return this; + } + + /** + * Get repayments + * @return repayments + **/ + @ApiModelProperty(required = true, value = "") + + public List getRepayments() { + return repayments; + } + + + public void setRepayments(List repayments) { + this.repayments = repayments; + } + + + public TransferRepaymentListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRepaymentListResponse transferRepaymentListResponse = (TransferRepaymentListResponse) o; + return Objects.equals(this.repayments, transferRepaymentListResponse.repayments) && + Objects.equals(this.requestId, transferRepaymentListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(repayments, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRepaymentListResponse {\n"); + sb.append(" repayments: ").append(toIndentedString(repayments)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRepaymentReturn.java b/src/main/java/com/plaid/client/model/TransferRepaymentReturn.java new file mode 100644 index 0000000000..8e8f0c49d1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRepaymentReturn.java @@ -0,0 +1,183 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Represents a return on a Guaranteed ACH transfer that is included in the specified repayment. + */ +@ApiModel(description = "Represents a return on a Guaranteed ACH transfer that is included in the specified repayment.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRepaymentReturn { + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_EVENT_ID = "event_id"; + @SerializedName(SERIALIZED_NAME_EVENT_ID) + private Integer eventId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + + public TransferRepaymentReturn transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * The unique identifier of the guaranteed transfer that was returned. + * @return transferId + **/ + @ApiModelProperty(required = true, value = "The unique identifier of the guaranteed transfer that was returned.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public TransferRepaymentReturn eventId(Integer eventId) { + + this.eventId = eventId; + return this; + } + + /** + * The unique identifier of the corresponding `returned` transfer event. + * minimum: 0 + * @return eventId + **/ + @ApiModelProperty(required = true, value = "The unique identifier of the corresponding `returned` transfer event.") + + public Integer getEventId() { + return eventId; + } + + + public void setEventId(Integer eventId) { + this.eventId = eventId; + } + + + public TransferRepaymentReturn amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The value of the returned transfer. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The value of the returned transfer.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferRepaymentReturn isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the repayment, e.g. \"USD\". + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the repayment, e.g. \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRepaymentReturn transferRepaymentReturn = (TransferRepaymentReturn) o; + return Objects.equals(this.transferId, transferRepaymentReturn.transferId) && + Objects.equals(this.eventId, transferRepaymentReturn.eventId) && + Objects.equals(this.amount, transferRepaymentReturn.amount) && + Objects.equals(this.isoCurrencyCode, transferRepaymentReturn.isoCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(transferId, eventId, amount, isoCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRepaymentReturn {\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" eventId: ").append(toIndentedString(eventId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRepaymentReturnListRequest.java b/src/main/java/com/plaid/client/model/TransferRepaymentReturnListRequest.java new file mode 100644 index 0000000000..95556a68c6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRepaymentReturnListRequest.java @@ -0,0 +1,217 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/repayment/return/list` + */ +@ApiModel(description = "Defines the request schema for `/transfer/repayment/return/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRepaymentReturnListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_REPAYMENT_ID = "repayment_id"; + @SerializedName(SERIALIZED_NAME_REPAYMENT_ID) + private String repaymentId; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 25; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + + public TransferRepaymentReturnListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferRepaymentReturnListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferRepaymentReturnListRequest repaymentId(String repaymentId) { + + this.repaymentId = repaymentId; + return this; + } + + /** + * Identifier of the repayment to query. + * @return repaymentId + **/ + @ApiModelProperty(required = true, value = "Identifier of the repayment to query.") + + public String getRepaymentId() { + return repaymentId; + } + + + public void setRepaymentId(String repaymentId) { + this.repaymentId = repaymentId; + } + + + public TransferRepaymentReturnListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of repayments to return. + * minimum: 1 + * maximum: 25 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of repayments to return.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public TransferRepaymentReturnListRequest offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The number of repayments to skip before returning results. + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of repayments to skip before returning results.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRepaymentReturnListRequest transferRepaymentReturnListRequest = (TransferRepaymentReturnListRequest) o; + return Objects.equals(this.clientId, transferRepaymentReturnListRequest.clientId) && + Objects.equals(this.secret, transferRepaymentReturnListRequest.secret) && + Objects.equals(this.repaymentId, transferRepaymentReturnListRequest.repaymentId) && + Objects.equals(this.count, transferRepaymentReturnListRequest.count) && + Objects.equals(this.offset, transferRepaymentReturnListRequest.offset); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, repaymentId, count, offset); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRepaymentReturnListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" repaymentId: ").append(toIndentedString(repaymentId)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferRepaymentReturnListResponse.java b/src/main/java/com/plaid/client/model/TransferRepaymentReturnListResponse.java new file mode 100644 index 0000000000..2f539fced1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferRepaymentReturnListResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferRepaymentReturn; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response schema for `/transfer/repayment/return/list` + */ +@ApiModel(description = "Defines the response schema for `/transfer/repayment/return/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferRepaymentReturnListResponse { + public static final String SERIALIZED_NAME_REPAYMENT_RETURNS = "repayment_returns"; + @SerializedName(SERIALIZED_NAME_REPAYMENT_RETURNS) + private List repaymentReturns = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferRepaymentReturnListResponse repaymentReturns(List repaymentReturns) { + + this.repaymentReturns = repaymentReturns; + return this; + } + + public TransferRepaymentReturnListResponse addRepaymentReturnsItem(TransferRepaymentReturn repaymentReturnsItem) { + this.repaymentReturns.add(repaymentReturnsItem); + return this; + } + + /** + * Get repaymentReturns + * @return repaymentReturns + **/ + @ApiModelProperty(required = true, value = "") + + public List getRepaymentReturns() { + return repaymentReturns; + } + + + public void setRepaymentReturns(List repaymentReturns) { + this.repaymentReturns = repaymentReturns; + } + + + public TransferRepaymentReturnListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferRepaymentReturnListResponse transferRepaymentReturnListResponse = (TransferRepaymentReturnListResponse) o; + return Objects.equals(this.repaymentReturns, transferRepaymentReturnListResponse.repaymentReturns) && + Objects.equals(this.requestId, transferRepaymentReturnListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(repaymentReturns, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferRepaymentReturnListResponse {\n"); + sb.append(" repaymentReturns: ").append(toIndentedString(repaymentReturns)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferReturnRecoverRequest.java b/src/main/java/com/plaid/client/model/TransferReturnRecoverRequest.java new file mode 100644 index 0000000000..5075a6c10f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferReturnRecoverRequest.java @@ -0,0 +1,212 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/return/recover` + */ +@ApiModel(description = "Defines the request schema for `/transfer/return/recover`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferReturnRecoverRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_IDEMPOTENCY_KEY = "idempotency_key"; + @SerializedName(SERIALIZED_NAME_IDEMPOTENCY_KEY) + private String idempotencyKey; + + + public TransferReturnRecoverRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferReturnRecoverRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferReturnRecoverRequest transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * The ID of the returned transfer that was recovered. + * @return transferId + **/ + @ApiModelProperty(required = true, value = "The ID of the returned transfer that was recovered.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public TransferReturnRecoverRequest amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * The amount being recovered (decimal string with two digits of precision e.g. \"10.00\"). The sum of recovered amounts across calls cannot exceed the original transfer's amount. + * @return amount + **/ + @ApiModelProperty(required = true, value = "The amount being recovered (decimal string with two digits of precision e.g. \"10.00\"). The sum of recovered amounts across calls cannot exceed the original transfer's amount.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferReturnRecoverRequest idempotencyKey(String idempotencyKey) { + + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * A random key provided by the client, per unique recovery. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to report a recovery fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single recovery is recorded. + * @return idempotencyKey + **/ + @ApiModelProperty(required = true, value = "A random key provided by the client, per unique recovery. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to report a recovery fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single recovery is recorded.") + + public String getIdempotencyKey() { + return idempotencyKey; + } + + + public void setIdempotencyKey(String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferReturnRecoverRequest transferReturnRecoverRequest = (TransferReturnRecoverRequest) o; + return Objects.equals(this.clientId, transferReturnRecoverRequest.clientId) && + Objects.equals(this.secret, transferReturnRecoverRequest.secret) && + Objects.equals(this.transferId, transferReturnRecoverRequest.transferId) && + Objects.equals(this.amount, transferReturnRecoverRequest.amount) && + Objects.equals(this.idempotencyKey, transferReturnRecoverRequest.idempotencyKey); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, transferId, amount, idempotencyKey); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferReturnRecoverRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" idempotencyKey: ").append(toIndentedString(idempotencyKey)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferReturnRecoverResponse.java b/src/main/java/com/plaid/client/model/TransferReturnRecoverResponse.java new file mode 100644 index 0000000000..551d4b5e6e --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferReturnRecoverResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/return/recover` + */ +@ApiModel(description = "Defines the response schema for `/transfer/return/recover`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferReturnRecoverResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferReturnRecoverResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferReturnRecoverResponse transferReturnRecoverResponse = (TransferReturnRecoverResponse) o; + return Objects.equals(this.requestId, transferReturnRecoverResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferReturnRecoverResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferScheduleIntervalUnit.java b/src/main/java/com/plaid/client/model/TransferScheduleIntervalUnit.java new file mode 100644 index 0000000000..e654453612 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferScheduleIntervalUnit.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The unit of the recurring interval. + */ +@JsonAdapter(TransferScheduleIntervalUnit.Adapter.class) +public enum TransferScheduleIntervalUnit { + + WEEK("week"), + + MONTH("month"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferScheduleIntervalUnit(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferScheduleIntervalUnit fromValue(String value) { + for (TransferScheduleIntervalUnit b : TransferScheduleIntervalUnit.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferScheduleIntervalUnit.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferScheduleIntervalUnit enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferScheduleIntervalUnit read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferScheduleIntervalUnit.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferStatus.java b/src/main/java/com/plaid/client/model/TransferStatus.java new file mode 100644 index 0000000000..6c8d16b43f --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferStatus.java @@ -0,0 +1,89 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the transfer. `pending`: A new transfer was created; it is in the pending state. `posted`: The transfer has been successfully submitted to the payment network. `settled`: The transfer was successfully completed by the payment network. Note that funds from received debits are not available to be moved out of the Ledger until the transfer reaches `funds_available` status. For credit transactions, `settled` means the funds have been delivered to the receiving bank account. This is the terminal state of a successful credit transfer. `funds_available`: Funds from the transfer have been released from hold and applied to the ledger's available balance. (Only applicable to ACH debits.) This is the terminal state of a successful debit transfer. `cancelled`: The transfer was cancelled by the client. This is the terminal state of a cancelled transfer. `failed`: The transfer failed, no funds were moved. This is the terminal state of a failed transfer. `returned`: A posted transfer was returned. This is the terminal state of a returned transfer. + */ +@JsonAdapter(TransferStatus.Adapter.class) +public enum TransferStatus { + + PENDING("pending"), + + POSTED("posted"), + + SETTLED("settled"), + + FUNDS_AVAILABLE("funds_available"), + + CANCELLED("cancelled"), + + FAILED("failed"), + + RETURNED("returned"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferStatus fromValue(String value) { + for (TransferStatus b : TransferStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferSweep.java b/src/main/java/com/plaid/client/model/TransferSweep.java new file mode 100644 index 0000000000..01427500a1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferSweep.java @@ -0,0 +1,447 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SweepFailure; +import com.plaid.client.model.SweepStatus; +import com.plaid.client.model.SweepTrigger; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; + +/** + * Describes a sweep of funds to / from the sweep account. A sweep is associated with many sweep events (events of type `swept` or `return_swept`) which can be retrieved by invoking the `/transfer/event/list` endpoint with the corresponding `sweep_id`. `swept` events occur when the transfer amount is credited or debited from your sweep account, depending on the `type` of the transfer. `return_swept` events occur when a transfer is returned and Plaid undoes the credit or debit. The total sum of the `swept` and `return_swept` events is equal to the `amount` of the sweep Plaid creates and matches the amount of the entry on your sweep account ledger. + */ +@ApiModel(description = "Describes a sweep of funds to / from the sweep account. A sweep is associated with many sweep events (events of type `swept` or `return_swept`) which can be retrieved by invoking the `/transfer/event/list` endpoint with the corresponding `sweep_id`. `swept` events occur when the transfer amount is credited or debited from your sweep account, depending on the `type` of the transfer. `return_swept` events occur when a transfer is returned and Plaid undoes the credit or debit. The total sum of the `swept` and `return_swept` events is equal to the `amount` of the sweep Plaid creates and matches the amount of the entry on your sweep account ledger.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferSweep { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_LEDGER_ID = "ledger_id"; + @SerializedName(SERIALIZED_NAME_LEDGER_ID) + private String ledgerId; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_SETTLED = "settled"; + @SerializedName(SERIALIZED_NAME_SETTLED) + private LocalDate settled; + + public static final String SERIALIZED_NAME_EXPECTED_FUNDS_AVAILABLE_DATE = "expected_funds_available_date"; + @SerializedName(SERIALIZED_NAME_EXPECTED_FUNDS_AVAILABLE_DATE) + private LocalDate expectedFundsAvailableDate; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private SweepStatus status; + + public static final String SERIALIZED_NAME_TRIGGER = "trigger"; + @SerializedName(SERIALIZED_NAME_TRIGGER) + private SweepTrigger trigger; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_NETWORK_TRACE_ID = "network_trace_id"; + @SerializedName(SERIALIZED_NAME_NETWORK_TRACE_ID) + private String networkTraceId; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private SweepFailure failureReason; + + + public TransferSweep id(String id) { + + this.id = id; + return this; + } + + /** + * Identifier of the sweep. + * @return id + **/ + @ApiModelProperty(required = true, value = "Identifier of the sweep.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public TransferSweep fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited. + * @return fundingAccountId + **/ + @ApiModelProperty(required = true, value = "The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public TransferSweep ledgerId(String ledgerId) { + + this.ledgerId = ledgerId; + return this; + } + + /** + * Plaid's unique identifier for a Plaid Ledger Balance. + * @return ledgerId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Plaid's unique identifier for a Plaid Ledger Balance.") + + public String getLedgerId() { + return ledgerId; + } + + + public void setLedgerId(String ledgerId) { + this.ledgerId = ledgerId; + } + + + public TransferSweep created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The datetime when the sweep occurred, in RFC 3339 format. + * @return created + **/ + @ApiModelProperty(required = true, value = "The datetime when the sweep occurred, in RFC 3339 format.") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public TransferSweep amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * Signed decimal amount of the sweep as it appears on your sweep account ledger (e.g. \"-10.00\") If amount is not present, the sweep was net-settled to zero and outstanding debits and credits between the sweep account and Plaid are balanced. + * @return amount + **/ + @ApiModelProperty(required = true, value = "Signed decimal amount of the sweep as it appears on your sweep account ledger (e.g. \"-10.00\") If amount is not present, the sweep was net-settled to zero and outstanding debits and credits between the sweep account and Plaid are balanced.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferSweep isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The currency of the sweep, e.g. \"USD\". + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the sweep, e.g. \"USD\".") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public TransferSweep settled(LocalDate settled) { + + this.settled = settled; + return this; + } + + /** + * The date when the sweep settled, in the YYYY-MM-DD format. + * @return settled + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The date when the sweep settled, in the YYYY-MM-DD format.") + + public LocalDate getSettled() { + return settled; + } + + + public void setSettled(LocalDate settled) { + this.settled = settled; + } + + + public TransferSweep expectedFundsAvailableDate(LocalDate expectedFundsAvailableDate) { + + this.expectedFundsAvailableDate = expectedFundsAvailableDate; + return this; + } + + /** + * The expected date when funds from a ledger deposit will be made available and can be withdrawn from the associated ledger balance. Only applies to deposits. This will be of the form YYYY-MM-DD. + * @return expectedFundsAvailableDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The expected date when funds from a ledger deposit will be made available and can be withdrawn from the associated ledger balance. Only applies to deposits. This will be of the form YYYY-MM-DD.") + + public LocalDate getExpectedFundsAvailableDate() { + return expectedFundsAvailableDate; + } + + + public void setExpectedFundsAvailableDate(LocalDate expectedFundsAvailableDate) { + this.expectedFundsAvailableDate = expectedFundsAvailableDate; + } + + + public TransferSweep status(SweepStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SweepStatus getStatus() { + return status; + } + + + public void setStatus(SweepStatus status) { + this.status = status; + } + + + public TransferSweep trigger(SweepTrigger trigger) { + + this.trigger = trigger; + return this; + } + + /** + * Get trigger + * @return trigger + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SweepTrigger getTrigger() { + return trigger; + } + + + public void setTrigger(SweepTrigger trigger) { + this.trigger = trigger; + } + + + public TransferSweep description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the deposit that will be passed to the receiving bank (up to 10 characters). Note that banks utilize this field differently, and may or may not show it on the bank statement. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The description of the deposit that will be passed to the receiving bank (up to 10 characters). Note that banks utilize this field differently, and may or may not show it on the bank statement.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public TransferSweep networkTraceId(String networkTraceId) { + + this.networkTraceId = networkTraceId; + return this; + } + + /** + * The trace identifier for the transfer based on its network. This will only be set after the transfer has posted. For `ach` or `same-day-ach` transfers, this is the ACH trace number. For `rtp` transfers, this is the Transaction Identification number. For `wire` transfers, this is the IMAD (Input Message Accountability Data) number. + * @return networkTraceId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The trace identifier for the transfer based on its network. This will only be set after the transfer has posted. For `ach` or `same-day-ach` transfers, this is the ACH trace number. For `rtp` transfers, this is the Transaction Identification number. For `wire` transfers, this is the IMAD (Input Message Accountability Data) number.") + + public String getNetworkTraceId() { + return networkTraceId; + } + + + public void setNetworkTraceId(String networkTraceId) { + this.networkTraceId = networkTraceId; + } + + + public TransferSweep failureReason(SweepFailure failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SweepFailure getFailureReason() { + return failureReason; + } + + + public void setFailureReason(SweepFailure failureReason) { + this.failureReason = failureReason; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferSweep transferSweep = (TransferSweep) o; + return Objects.equals(this.id, transferSweep.id) && + Objects.equals(this.fundingAccountId, transferSweep.fundingAccountId) && + Objects.equals(this.ledgerId, transferSweep.ledgerId) && + Objects.equals(this.created, transferSweep.created) && + Objects.equals(this.amount, transferSweep.amount) && + Objects.equals(this.isoCurrencyCode, transferSweep.isoCurrencyCode) && + Objects.equals(this.settled, transferSweep.settled) && + Objects.equals(this.expectedFundsAvailableDate, transferSweep.expectedFundsAvailableDate) && + Objects.equals(this.status, transferSweep.status) && + Objects.equals(this.trigger, transferSweep.trigger) && + Objects.equals(this.description, transferSweep.description) && + Objects.equals(this.networkTraceId, transferSweep.networkTraceId) && + Objects.equals(this.failureReason, transferSweep.failureReason); + } + + @Override + public int hashCode() { + return Objects.hash(id, fundingAccountId, ledgerId, created, amount, isoCurrencyCode, settled, expectedFundsAvailableDate, status, trigger, description, networkTraceId, failureReason); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferSweep {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" ledgerId: ").append(toIndentedString(ledgerId)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" settled: ").append(toIndentedString(settled)).append("\n"); + sb.append(" expectedFundsAvailableDate: ").append(toIndentedString(expectedFundsAvailableDate)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" trigger: ").append(toIndentedString(trigger)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" networkTraceId: ").append(toIndentedString(networkTraceId)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferSweepGetRequest.java b/src/main/java/com/plaid/client/model/TransferSweepGetRequest.java new file mode 100644 index 0000000000..d32021c9a3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferSweepGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the request schema for `/transfer/sweep/get` + */ +@ApiModel(description = "Defines the request schema for `/transfer/sweep/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferSweepGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_SWEEP_ID = "sweep_id"; + @SerializedName(SERIALIZED_NAME_SWEEP_ID) + private String sweepId; + + + public TransferSweepGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferSweepGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferSweepGetRequest sweepId(String sweepId) { + + this.sweepId = sweepId; + return this; + } + + /** + * Plaid's unique identifier for the sweep (UUID) or a shortened form consisting of the first 8 characters of the identifier (8-digit hexadecimal string). + * @return sweepId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for the sweep (UUID) or a shortened form consisting of the first 8 characters of the identifier (8-digit hexadecimal string).") + + public String getSweepId() { + return sweepId; + } + + + public void setSweepId(String sweepId) { + this.sweepId = sweepId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferSweepGetRequest transferSweepGetRequest = (TransferSweepGetRequest) o; + return Objects.equals(this.clientId, transferSweepGetRequest.clientId) && + Objects.equals(this.secret, transferSweepGetRequest.secret) && + Objects.equals(this.sweepId, transferSweepGetRequest.sweepId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, sweepId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferSweepGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" sweepId: ").append(toIndentedString(sweepId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferSweepGetResponse.java b/src/main/java/com/plaid/client/model/TransferSweepGetResponse.java new file mode 100644 index 0000000000..2546c05e83 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferSweepGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferSweep; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the response schema for `/transfer/sweep/get` + */ +@ApiModel(description = "Defines the response schema for `/transfer/sweep/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferSweepGetResponse { + public static final String SERIALIZED_NAME_SWEEP = "sweep"; + @SerializedName(SERIALIZED_NAME_SWEEP) + private TransferSweep sweep; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferSweepGetResponse sweep(TransferSweep sweep) { + + this.sweep = sweep; + return this; + } + + /** + * Get sweep + * @return sweep + **/ + @ApiModelProperty(required = true, value = "") + + public TransferSweep getSweep() { + return sweep; + } + + + public void setSweep(TransferSweep sweep) { + this.sweep = sweep; + } + + + public TransferSweepGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferSweepGetResponse transferSweepGetResponse = (TransferSweepGetResponse) o; + return Objects.equals(this.sweep, transferSweepGetResponse.sweep) && + Objects.equals(this.requestId, transferSweepGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(sweep, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferSweepGetResponse {\n"); + sb.append(" sweep: ").append(toIndentedString(sweep)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferSweepListRequest.java b/src/main/java/com/plaid/client/model/TransferSweepListRequest.java new file mode 100644 index 0000000000..69bef495ed --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferSweepListRequest.java @@ -0,0 +1,424 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SweepStatus; +import com.plaid.client.model.SweepTrigger; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Defines the request schema for `/transfer/sweep/list` + */ +@ApiModel(description = "Defines the request schema for `/transfer/sweep/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferSweepListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private OffsetDateTime startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + private OffsetDateTime endDate; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 25; + + public static final String SERIALIZED_NAME_OFFSET = "offset"; + @SerializedName(SERIALIZED_NAME_OFFSET) + private Integer offset = 0; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private SweepStatus status; + + public static final String SERIALIZED_NAME_ORIGINATOR_CLIENT_ID = "originator_client_id"; + @SerializedName(SERIALIZED_NAME_ORIGINATOR_CLIENT_ID) + private String originatorClientId; + + public static final String SERIALIZED_NAME_FUNDING_ACCOUNT_ID = "funding_account_id"; + @SerializedName(SERIALIZED_NAME_FUNDING_ACCOUNT_ID) + private String fundingAccountId; + + public static final String SERIALIZED_NAME_TRANSFER_ID = "transfer_id"; + @SerializedName(SERIALIZED_NAME_TRANSFER_ID) + private String transferId; + + public static final String SERIALIZED_NAME_TRIGGER = "trigger"; + @SerializedName(SERIALIZED_NAME_TRIGGER) + private SweepTrigger trigger; + + + public TransferSweepListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public TransferSweepListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public TransferSweepListRequest startDate(OffsetDateTime startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start `created` datetime of sweeps to return (RFC 3339 format). + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The start `created` datetime of sweeps to return (RFC 3339 format).") + + public OffsetDateTime getStartDate() { + return startDate; + } + + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + + public TransferSweepListRequest endDate(OffsetDateTime endDate) { + + this.endDate = endDate; + return this; + } + + /** + * The end `created` datetime of sweeps to return (RFC 3339 format). + * @return endDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The end `created` datetime of sweeps to return (RFC 3339 format).") + + public OffsetDateTime getEndDate() { + return endDate; + } + + + public void setEndDate(OffsetDateTime endDate) { + this.endDate = endDate; + } + + + public TransferSweepListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The maximum number of sweeps to return. + * minimum: 1 + * maximum: 25 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The maximum number of sweeps to return.") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public TransferSweepListRequest offset(Integer offset) { + + this.offset = offset; + return this; + } + + /** + * The number of sweeps to skip before returning results. + * minimum: 0 + * @return offset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of sweeps to skip before returning results.") + + public Integer getOffset() { + return offset; + } + + + public void setOffset(Integer offset) { + this.offset = offset; + } + + + public TransferSweepListRequest amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * Filter sweeps to only those with the specified amount. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter sweeps to only those with the specified amount.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + public TransferSweepListRequest status(SweepStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SweepStatus getStatus() { + return status; + } + + + public void setStatus(SweepStatus status) { + this.status = status; + } + + + public TransferSweepListRequest originatorClientId(String originatorClientId) { + + this.originatorClientId = originatorClientId; + return this; + } + + /** + * Filter sweeps to only those with the specified originator client. + * @return originatorClientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter sweeps to only those with the specified originator client.") + + public String getOriginatorClientId() { + return originatorClientId; + } + + + public void setOriginatorClientId(String originatorClientId) { + this.originatorClientId = originatorClientId; + } + + + public TransferSweepListRequest fundingAccountId(String fundingAccountId) { + + this.fundingAccountId = fundingAccountId; + return this; + } + + /** + * Filter sweeps to only those with the specified `funding_account_id`. + * @return fundingAccountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter sweeps to only those with the specified `funding_account_id`.") + + public String getFundingAccountId() { + return fundingAccountId; + } + + + public void setFundingAccountId(String fundingAccountId) { + this.fundingAccountId = fundingAccountId; + } + + + public TransferSweepListRequest transferId(String transferId) { + + this.transferId = transferId; + return this; + } + + /** + * Filter sweeps to only those with the included `transfer_id`. + * @return transferId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Filter sweeps to only those with the included `transfer_id`.") + + public String getTransferId() { + return transferId; + } + + + public void setTransferId(String transferId) { + this.transferId = transferId; + } + + + public TransferSweepListRequest trigger(SweepTrigger trigger) { + + this.trigger = trigger; + return this; + } + + /** + * Get trigger + * @return trigger + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SweepTrigger getTrigger() { + return trigger; + } + + + public void setTrigger(SweepTrigger trigger) { + this.trigger = trigger; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferSweepListRequest transferSweepListRequest = (TransferSweepListRequest) o; + return Objects.equals(this.clientId, transferSweepListRequest.clientId) && + Objects.equals(this.secret, transferSweepListRequest.secret) && + Objects.equals(this.startDate, transferSweepListRequest.startDate) && + Objects.equals(this.endDate, transferSweepListRequest.endDate) && + Objects.equals(this.count, transferSweepListRequest.count) && + Objects.equals(this.offset, transferSweepListRequest.offset) && + Objects.equals(this.amount, transferSweepListRequest.amount) && + Objects.equals(this.status, transferSweepListRequest.status) && + Objects.equals(this.originatorClientId, transferSweepListRequest.originatorClientId) && + Objects.equals(this.fundingAccountId, transferSweepListRequest.fundingAccountId) && + Objects.equals(this.transferId, transferSweepListRequest.transferId) && + Objects.equals(this.trigger, transferSweepListRequest.trigger); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, startDate, endDate, count, offset, amount, status, originatorClientId, fundingAccountId, transferId, trigger); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferSweepListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" originatorClientId: ").append(toIndentedString(originatorClientId)).append("\n"); + sb.append(" fundingAccountId: ").append(toIndentedString(fundingAccountId)).append("\n"); + sb.append(" transferId: ").append(toIndentedString(transferId)).append("\n"); + sb.append(" trigger: ").append(toIndentedString(trigger)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferSweepListResponse.java b/src/main/java/com/plaid/client/model/TransferSweepListResponse.java new file mode 100644 index 0000000000..8d1040321c --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferSweepListResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferSweep; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Defines the response schema for `/transfer/sweep/list` + */ +@ApiModel(description = "Defines the response schema for `/transfer/sweep/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferSweepListResponse { + public static final String SERIALIZED_NAME_SWEEPS = "sweeps"; + @SerializedName(SERIALIZED_NAME_SWEEPS) + private List sweeps = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public TransferSweepListResponse sweeps(List sweeps) { + + this.sweeps = sweeps; + return this; + } + + public TransferSweepListResponse addSweepsItem(TransferSweep sweepsItem) { + this.sweeps.add(sweepsItem); + return this; + } + + /** + * Get sweeps + * @return sweeps + **/ + @ApiModelProperty(required = true, value = "") + + public List getSweeps() { + return sweeps; + } + + + public void setSweeps(List sweeps) { + this.sweeps = sweeps; + } + + + public TransferSweepListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferSweepListResponse transferSweepListResponse = (TransferSweepListResponse) o; + return Objects.equals(this.sweeps, transferSweepListResponse.sweeps) && + Objects.equals(this.requestId, transferSweepListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(sweeps, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferSweepListResponse {\n"); + sb.append(" sweeps: ").append(toIndentedString(sweeps)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferSweepStatus.java b/src/main/java/com/plaid/client/model/TransferSweepStatus.java new file mode 100644 index 0000000000..22d3cc7bf0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferSweepStatus.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the sweep for the transfer. `unswept`: The transfer hasn't been swept yet. `swept`: The transfer was swept to the sweep account. `swept_settled`: Credits are available to be withdrawn or debits have been deducted from the customer's business checking account. `return_swept`: The transfer was returned, funds were pulled back or pushed back to the sweep account. `null`: The transfer will never be swept (e.g. if the transfer is cancelled or returned before being swept) + */ +@JsonAdapter(TransferSweepStatus.Adapter.class) +public enum TransferSweepStatus { + + NULL("null"), + + UNSWEPT("unswept"), + + SWEPT("swept"), + + SWEPT_SETTLED("swept_settled"), + + RETURN_SWEPT("return_swept"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferSweepStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferSweepStatus fromValue(String value) { + for (TransferSweepStatus b : TransferSweepStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferSweepStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferSweepStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferSweepStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferTestClock.java b/src/main/java/com/plaid/client/model/TransferTestClock.java new file mode 100644 index 0000000000..94da68ebd7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferTestClock.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Defines the test clock for a transfer. + */ +@ApiModel(description = "Defines the test clock for a transfer.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferTestClock { + public static final String SERIALIZED_NAME_TEST_CLOCK_ID = "test_clock_id"; + @SerializedName(SERIALIZED_NAME_TEST_CLOCK_ID) + private String testClockId; + + public static final String SERIALIZED_NAME_VIRTUAL_TIME = "virtual_time"; + @SerializedName(SERIALIZED_NAME_VIRTUAL_TIME) + private OffsetDateTime virtualTime; + + + public TransferTestClock testClockId(String testClockId) { + + this.testClockId = testClockId; + return this; + } + + /** + * Plaid's unique identifier for a test clock. This field is only populated in the Sandbox environment, and only if a `test_clock_id` was included in the `/transfer/recurring/create` request. For more details, see [Simulating recurring transfers](https://plaid.com/docs/transfer/sandbox/#simulating-recurring-transfers). + * @return testClockId + **/ + @ApiModelProperty(required = true, value = "Plaid's unique identifier for a test clock. This field is only populated in the Sandbox environment, and only if a `test_clock_id` was included in the `/transfer/recurring/create` request. For more details, see [Simulating recurring transfers](https://plaid.com/docs/transfer/sandbox/#simulating-recurring-transfers).") + + public String getTestClockId() { + return testClockId; + } + + + public void setTestClockId(String testClockId) { + this.testClockId = testClockId; + } + + + public TransferTestClock virtualTime(OffsetDateTime virtualTime) { + + this.virtualTime = virtualTime; + return this; + } + + /** + * The virtual timestamp on the test clock. This will be of the form `2006-01-02T15:04:05Z`. + * @return virtualTime + **/ + @ApiModelProperty(required = true, value = "The virtual timestamp on the test clock. This will be of the form `2006-01-02T15:04:05Z`.") + + public OffsetDateTime getVirtualTime() { + return virtualTime; + } + + + public void setVirtualTime(OffsetDateTime virtualTime) { + this.virtualTime = virtualTime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferTestClock transferTestClock = (TransferTestClock) o; + return Objects.equals(this.testClockId, transferTestClock.testClockId) && + Objects.equals(this.virtualTime, transferTestClock.virtualTime); + } + + @Override + public int hashCode() { + return Objects.hash(testClockId, virtualTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferTestClock {\n"); + sb.append(" testClockId: ").append(toIndentedString(testClockId)).append("\n"); + sb.append(" virtualTime: ").append(toIndentedString(virtualTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferType.java b/src/main/java/com/plaid/client/model/TransferType.java new file mode 100644 index 0000000000..fcd56c02cc --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferType.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of transfer. This will be either `debit` or `credit`. A `debit` indicates a transfer of money into the origination account; a `credit` indicates a transfer of money out of the origination account. + */ +@JsonAdapter(TransferType.Adapter.class) +public enum TransferType { + + DEBIT("debit"), + + CREDIT("credit"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + TransferType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TransferType fromValue(String value) { + for (TransferType b : TransferType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return TransferType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TransferType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TransferType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TransferType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/TransferUserAddressInRequest.java b/src/main/java/com/plaid/client/model/TransferUserAddressInRequest.java new file mode 100644 index 0000000000..cad35d15e2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferUserAddressInRequest.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The address associated with the account holder. + */ +@ApiModel(description = "The address associated with the account holder.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferUserAddressInRequest { + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public TransferUserAddressInRequest street(String street) { + + this.street = street; + return this; + } + + /** + * The street number and name (i.e., \"100 Market St.\"). + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The street number and name (i.e., \"100 Market St.\").") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public TransferUserAddressInRequest city(String city) { + + this.city = city; + return this; + } + + /** + * Ex. \"San Francisco\" + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Ex. \"San Francisco\"") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public TransferUserAddressInRequest region(String region) { + + this.region = region; + return this; + } + + /** + * The state or province (e.g., \"CA\"). + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The state or province (e.g., \"CA\").") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public TransferUserAddressInRequest postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code (e.g., \"94103\"). + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The postal code (e.g., \"94103\").") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public TransferUserAddressInRequest country(String country) { + + this.country = country; + return this; + } + + /** + * A two-letter country code (e.g., \"US\"). + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A two-letter country code (e.g., \"US\").") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferUserAddressInRequest transferUserAddressInRequest = (TransferUserAddressInRequest) o; + return Objects.equals(this.street, transferUserAddressInRequest.street) && + Objects.equals(this.city, transferUserAddressInRequest.city) && + Objects.equals(this.region, transferUserAddressInRequest.region) && + Objects.equals(this.postalCode, transferUserAddressInRequest.postalCode) && + Objects.equals(this.country, transferUserAddressInRequest.country); + } + + @Override + public int hashCode() { + return Objects.hash(street, city, region, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferUserAddressInRequest {\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferUserAddressInResponse.java b/src/main/java/com/plaid/client/model/TransferUserAddressInResponse.java new file mode 100644 index 0000000000..f53f4ae9d2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferUserAddressInResponse.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The address associated with the account holder. + */ +@ApiModel(description = "The address associated with the account holder.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferUserAddressInResponse { + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public TransferUserAddressInResponse street(String street) { + + this.street = street; + return this; + } + + /** + * The street number and name (i.e., \"100 Market St.\"). + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The street number and name (i.e., \"100 Market St.\").") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public TransferUserAddressInResponse city(String city) { + + this.city = city; + return this; + } + + /** + * Ex. \"San Francisco\" + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Ex. \"San Francisco\"") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public TransferUserAddressInResponse region(String region) { + + this.region = region; + return this; + } + + /** + * The state or province (e.g., \"CA\"). + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The state or province (e.g., \"CA\").") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public TransferUserAddressInResponse postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code (e.g., \"94103\"). + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The postal code (e.g., \"94103\").") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public TransferUserAddressInResponse country(String country) { + + this.country = country; + return this; + } + + /** + * A two-letter country code (e.g., \"US\"). + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "A two-letter country code (e.g., \"US\").") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferUserAddressInResponse transferUserAddressInResponse = (TransferUserAddressInResponse) o; + return Objects.equals(this.street, transferUserAddressInResponse.street) && + Objects.equals(this.city, transferUserAddressInResponse.city) && + Objects.equals(this.region, transferUserAddressInResponse.region) && + Objects.equals(this.postalCode, transferUserAddressInResponse.postalCode) && + Objects.equals(this.country, transferUserAddressInResponse.country); + } + + @Override + public int hashCode() { + return Objects.hash(street, city, region, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferUserAddressInResponse {\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferUserInRequest.java b/src/main/java/com/plaid/client/model/TransferUserInRequest.java new file mode 100644 index 0000000000..d4044543de --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferUserInRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferUserAddressInRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The legal name and other information for the account holder. + */ +@ApiModel(description = "The legal name and other information for the account holder.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferUserInRequest { + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private TransferUserAddressInRequest address; + + + public TransferUserInRequest legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * The user's legal name. + * @return legalName + **/ + @ApiModelProperty(required = true, value = "The user's legal name.") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public TransferUserInRequest phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * The user's phone number. Phone number input may be validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's phone number. Phone number input may be validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public TransferUserInRequest emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * The user's email address. + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's email address.") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public TransferUserInRequest address(TransferUserAddressInRequest address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferUserAddressInRequest getAddress() { + return address; + } + + + public void setAddress(TransferUserAddressInRequest address) { + this.address = address; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferUserInRequest transferUserInRequest = (TransferUserInRequest) o; + return Objects.equals(this.legalName, transferUserInRequest.legalName) && + Objects.equals(this.phoneNumber, transferUserInRequest.phoneNumber) && + Objects.equals(this.emailAddress, transferUserInRequest.emailAddress) && + Objects.equals(this.address, transferUserInRequest.address); + } + + @Override + public int hashCode() { + return Objects.hash(legalName, phoneNumber, emailAddress, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferUserInRequest {\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferUserInRequestDeprecated.java b/src/main/java/com/plaid/client/model/TransferUserInRequestDeprecated.java new file mode 100644 index 0000000000..77ecb80c16 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferUserInRequestDeprecated.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferUserAddressInRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The legal name and other information for the account holder. + */ +@ApiModel(description = "The legal name and other information for the account holder.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferUserInRequestDeprecated { + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private TransferUserAddressInRequest address; + + + public TransferUserInRequestDeprecated legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * The user's legal name. + * @return legalName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's legal name.") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public TransferUserInRequestDeprecated phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * The user's phone number. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's phone number.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public TransferUserInRequestDeprecated emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * The user's email address. + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's email address.") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public TransferUserInRequestDeprecated address(TransferUserAddressInRequest address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TransferUserAddressInRequest getAddress() { + return address; + } + + + public void setAddress(TransferUserAddressInRequest address) { + this.address = address; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferUserInRequestDeprecated transferUserInRequestDeprecated = (TransferUserInRequestDeprecated) o; + return Objects.equals(this.legalName, transferUserInRequestDeprecated.legalName) && + Objects.equals(this.phoneNumber, transferUserInRequestDeprecated.phoneNumber) && + Objects.equals(this.emailAddress, transferUserInRequestDeprecated.emailAddress) && + Objects.equals(this.address, transferUserInRequestDeprecated.address); + } + + @Override + public int hashCode() { + return Objects.hash(legalName, phoneNumber, emailAddress, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferUserInRequestDeprecated {\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferUserInResponse.java b/src/main/java/com/plaid/client/model/TransferUserInResponse.java new file mode 100644 index 0000000000..62d7b6bcbb --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferUserInResponse.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TransferUserAddressInResponse; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The legal name and other information for the account holder. + */ +@ApiModel(description = "The legal name and other information for the account holder.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferUserInResponse { + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private TransferUserAddressInResponse address; + + + public TransferUserInResponse legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * The user's legal name. + * @return legalName + **/ + @ApiModelProperty(required = true, value = "The user's legal name.") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public TransferUserInResponse phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * The user's phone number. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The user's phone number.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public TransferUserInResponse emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * The user's email address. + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "The user's email address.") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public TransferUserInResponse address(TransferUserAddressInResponse address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TransferUserAddressInResponse getAddress() { + return address; + } + + + public void setAddress(TransferUserAddressInResponse address) { + this.address = address; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferUserInResponse transferUserInResponse = (TransferUserInResponse) o; + return Objects.equals(this.legalName, transferUserInResponse.legalName) && + Objects.equals(this.phoneNumber, transferUserInResponse.phoneNumber) && + Objects.equals(this.emailAddress, transferUserInResponse.emailAddress) && + Objects.equals(this.address, transferUserInResponse.address); + } + + @Override + public int hashCode() { + return Objects.hash(legalName, phoneNumber, emailAddress, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferUserInResponse {\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TransferWireDetails.java b/src/main/java/com/plaid/client/model/TransferWireDetails.java new file mode 100644 index 0000000000..4b9b2f47d1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TransferWireDetails.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information specific to wire transfers. + */ +@ApiModel(description = "Information specific to wire transfers.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TransferWireDetails { + public static final String SERIALIZED_NAME_MESSAGE_TO_BENEFICIARY = "message_to_beneficiary"; + @SerializedName(SERIALIZED_NAME_MESSAGE_TO_BENEFICIARY) + private String messageToBeneficiary; + + public static final String SERIALIZED_NAME_WIRE_RETURN_FEE = "wire_return_fee"; + @SerializedName(SERIALIZED_NAME_WIRE_RETURN_FEE) + private String wireReturnFee; + + + public TransferWireDetails messageToBeneficiary(String messageToBeneficiary) { + + this.messageToBeneficiary = messageToBeneficiary; + return this; + } + + /** + * Additional information from the wire originator to the beneficiary. Max 140 characters. + * @return messageToBeneficiary + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Additional information from the wire originator to the beneficiary. Max 140 characters.") + + public String getMessageToBeneficiary() { + return messageToBeneficiary; + } + + + public void setMessageToBeneficiary(String messageToBeneficiary) { + this.messageToBeneficiary = messageToBeneficiary; + } + + + public TransferWireDetails wireReturnFee(String wireReturnFee) { + + this.wireReturnFee = wireReturnFee; + return this; + } + + /** + * The fee amount deducted from the original transfer during a wire return, if applicable. + * @return wireReturnFee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The fee amount deducted from the original transfer during a wire return, if applicable.") + + public String getWireReturnFee() { + return wireReturnFee; + } + + + public void setWireReturnFee(String wireReturnFee) { + this.wireReturnFee = wireReturnFee; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransferWireDetails transferWireDetails = (TransferWireDetails) o; + return Objects.equals(this.messageToBeneficiary, transferWireDetails.messageToBeneficiary) && + Objects.equals(this.wireReturnFee, transferWireDetails.wireReturnFee); + } + + @Override + public int hashCode() { + return Objects.hash(messageToBeneficiary, wireReturnFee); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TransferWireDetails {\n"); + sb.append(" messageToBeneficiary: ").append(toIndentedString(messageToBeneficiary)).append("\n"); + sb.append(" wireReturnFee: ").append(toIndentedString(wireReturnFee)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TrustIndex.java b/src/main/java/com/plaid/client/model/TrustIndex.java new file mode 100644 index 0000000000..df4a69bdd8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TrustIndex.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TrustIndexSubscores; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Represents a calculated Trust Index Score. + */ +@ApiModel(description = "Represents a calculated Trust Index Score.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TrustIndex { + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + public static final String SERIALIZED_NAME_MODEL = "model"; + @SerializedName(SERIALIZED_NAME_MODEL) + private String model; + + public static final String SERIALIZED_NAME_SUBSCORES = "subscores"; + @SerializedName(SERIALIZED_NAME_SUBSCORES) + private TrustIndexSubscores subscores; + + + public TrustIndex score(Integer score) { + + this.score = score; + return this; + } + + /** + * The overall trust index score. + * @return score + **/ + @ApiModelProperty(required = true, value = "The overall trust index score.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + public TrustIndex model(String model) { + + this.model = model; + return this; + } + + /** + * The versioned name of the Trust Index model used for scoring. + * @return model + **/ + @ApiModelProperty(required = true, value = "The versioned name of the Trust Index model used for scoring.") + + public String getModel() { + return model; + } + + + public void setModel(String model) { + this.model = model; + } + + + public TrustIndex subscores(TrustIndexSubscores subscores) { + + this.subscores = subscores; + return this; + } + + /** + * Get subscores + * @return subscores + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public TrustIndexSubscores getSubscores() { + return subscores; + } + + + public void setSubscores(TrustIndexSubscores subscores) { + this.subscores = subscores; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TrustIndex trustIndex = (TrustIndex) o; + return Objects.equals(this.score, trustIndex.score) && + Objects.equals(this.model, trustIndex.model) && + Objects.equals(this.subscores, trustIndex.subscores); + } + + @Override + public int hashCode() { + return Objects.hash(score, model, subscores); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TrustIndex {\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append(" model: ").append(toIndentedString(model)).append("\n"); + sb.append(" subscores: ").append(toIndentedString(subscores)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TrustIndexSubscore.java b/src/main/java/com/plaid/client/model/TrustIndexSubscore.java new file mode 100644 index 0000000000..df2aac9387 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TrustIndexSubscore.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Represents Trust Index Subscore. + */ +@ApiModel(description = "Represents Trust Index Subscore.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TrustIndexSubscore { + public static final String SERIALIZED_NAME_SCORE = "score"; + @SerializedName(SERIALIZED_NAME_SCORE) + private Integer score; + + + public TrustIndexSubscore score(Integer score) { + + this.score = score; + return this; + } + + /** + * The subscore score. + * @return score + **/ + @ApiModelProperty(required = true, value = "The subscore score.") + + public Integer getScore() { + return score; + } + + + public void setScore(Integer score) { + this.score = score; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TrustIndexSubscore trustIndexSubscore = (TrustIndexSubscore) o; + return Objects.equals(this.score, trustIndexSubscore.score); + } + + @Override + public int hashCode() { + return Objects.hash(score); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TrustIndexSubscore {\n"); + sb.append(" score: ").append(toIndentedString(score)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TrustIndexSubscores.java b/src/main/java/com/plaid/client/model/TrustIndexSubscores.java new file mode 100644 index 0000000000..f2a29e34be --- /dev/null +++ b/src/main/java/com/plaid/client/model/TrustIndexSubscores.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.TrustIndexSubscore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Contains sub-score metadata. + */ +@ApiModel(description = "Contains sub-score metadata.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TrustIndexSubscores { + public static final String SERIALIZED_NAME_DEVICE_AND_CONNECTION = "device_and_connection"; + @SerializedName(SERIALIZED_NAME_DEVICE_AND_CONNECTION) + private TrustIndexSubscore deviceAndConnection; + + public static final String SERIALIZED_NAME_BANK_ACCOUNT_INSIGHTS = "bank_account_insights"; + @SerializedName(SERIALIZED_NAME_BANK_ACCOUNT_INSIGHTS) + private TrustIndexSubscore bankAccountInsights; + + + public TrustIndexSubscores deviceAndConnection(TrustIndexSubscore deviceAndConnection) { + + this.deviceAndConnection = deviceAndConnection; + return this; + } + + /** + * Get deviceAndConnection + * @return deviceAndConnection + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TrustIndexSubscore getDeviceAndConnection() { + return deviceAndConnection; + } + + + public void setDeviceAndConnection(TrustIndexSubscore deviceAndConnection) { + this.deviceAndConnection = deviceAndConnection; + } + + + public TrustIndexSubscores bankAccountInsights(TrustIndexSubscore bankAccountInsights) { + + this.bankAccountInsights = bankAccountInsights; + return this; + } + + /** + * Get bankAccountInsights + * @return bankAccountInsights + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public TrustIndexSubscore getBankAccountInsights() { + return bankAccountInsights; + } + + + public void setBankAccountInsights(TrustIndexSubscore bankAccountInsights) { + this.bankAccountInsights = bankAccountInsights; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TrustIndexSubscores trustIndexSubscores = (TrustIndexSubscores) o; + return Objects.equals(this.deviceAndConnection, trustIndexSubscores.deviceAndConnection) && + Objects.equals(this.bankAccountInsights, trustIndexSubscores.bankAccountInsights); + } + + @Override + public int hashCode() { + return Objects.hash(deviceAndConnection, bankAccountInsights); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TrustIndexSubscores {\n"); + sb.append(" deviceAndConnection: ").append(toIndentedString(deviceAndConnection)).append("\n"); + sb.append(" bankAccountInsights: ").append(toIndentedString(bankAccountInsights)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/TrustedDeviceData.java b/src/main/java/com/plaid/client/model/TrustedDeviceData.java new file mode 100644 index 0000000000..7454514ae7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/TrustedDeviceData.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.DeviceId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Trusted Device data associated with the previous Link session. + */ +@ApiModel(description = "Trusted Device data associated with the previous Link session.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class TrustedDeviceData { + public static final String SERIALIZED_NAME_TRUST_LEVEL = "trust_level"; + @SerializedName(SERIALIZED_NAME_TRUST_LEVEL) + private Integer trustLevel; + + public static final String SERIALIZED_NAME_DEVICE_ID = "device_id"; + @SerializedName(SERIALIZED_NAME_DEVICE_ID) + private DeviceId deviceId; + + + public TrustedDeviceData trustLevel(Integer trustLevel) { + + this.trustLevel = trustLevel; + return this; + } + + /** + * Get trustLevel + * @return trustLevel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Integer getTrustLevel() { + return trustLevel; + } + + + public void setTrustLevel(Integer trustLevel) { + this.trustLevel = trustLevel; + } + + + public TrustedDeviceData deviceId(DeviceId deviceId) { + + this.deviceId = deviceId; + return this; + } + + /** + * Get deviceId + * @return deviceId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public DeviceId getDeviceId() { + return deviceId; + } + + + public void setDeviceId(DeviceId deviceId) { + this.deviceId = deviceId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TrustedDeviceData trustedDeviceData = (TrustedDeviceData) o; + return Objects.equals(this.trustLevel, trustedDeviceData.trustLevel) && + Objects.equals(this.deviceId, trustedDeviceData.deviceId); + } + + @Override + public int hashCode() { + return Objects.hash(trustLevel, deviceId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TrustedDeviceData {\n"); + sb.append(" trustLevel: ").append(toIndentedString(trustLevel)).append("\n"); + sb.append(" deviceId: ").append(toIndentedString(deviceId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UpdateEntityScreeningRequestSearchTerms.java b/src/main/java/com/plaid/client/model/UpdateEntityScreeningRequestSearchTerms.java new file mode 100644 index 0000000000..001c7e930d --- /dev/null +++ b/src/main/java/com/plaid/client/model/UpdateEntityScreeningRequestSearchTerms.java @@ -0,0 +1,273 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.net.URI; + +/** + * Search terms for editing an entity watchlist screening + */ +@ApiModel(description = "Search terms for editing an entity watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UpdateEntityScreeningRequestSearchTerms { + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_PROGRAM_ID = "entity_watchlist_program_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_PROGRAM_ID) + private String entityWatchlistProgramId; + + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_DOCUMENT_NUMBER = "document_number"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_NUMBER) + private String documentNumber; + + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + private String emailAddress; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_URL = "url"; + @SerializedName(SERIALIZED_NAME_URL) + private URI url; + + + public UpdateEntityScreeningRequestSearchTerms entityWatchlistProgramId(String entityWatchlistProgramId) { + + this.entityWatchlistProgramId = entityWatchlistProgramId; + return this; + } + + /** + * ID of the associated entity program. + * @return entityWatchlistProgramId + **/ + @ApiModelProperty(example = "entprg_2eRPsDnL66rZ7H", required = true, value = "ID of the associated entity program.") + + public String getEntityWatchlistProgramId() { + return entityWatchlistProgramId; + } + + + public void setEntityWatchlistProgramId(String entityWatchlistProgramId) { + this.entityWatchlistProgramId = entityWatchlistProgramId; + } + + + public UpdateEntityScreeningRequestSearchTerms legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * The name of the organization being screened. Must have at least one alphabetical character, have a maximum length of 100 characters, and not include leading or trailing spaces. + * @return legalName + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Al-Qaida", value = "The name of the organization being screened. Must have at least one alphabetical character, have a maximum length of 100 characters, and not include leading or trailing spaces.") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public UpdateEntityScreeningRequestSearchTerms documentNumber(String documentNumber) { + + this.documentNumber = documentNumber; + return this; + } + + /** + * The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces. + * @return documentNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "C31195855", value = "The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces.") + + public String getDocumentNumber() { + return documentNumber; + } + + + public void setDocumentNumber(String documentNumber) { + this.documentNumber = documentNumber; + } + + + public UpdateEntityScreeningRequestSearchTerms emailAddress(String emailAddress) { + + this.emailAddress = emailAddress; + return this; + } + + /** + * A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696). + * @return emailAddress + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "user@example.com", value = "A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see [RFC 3696](https://datatracker.ietf.org/doc/html/rfc3696).") + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + + public UpdateEntityScreeningRequestSearchTerms country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "US", value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public UpdateEntityScreeningRequestSearchTerms phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * A phone number in E.164 format. + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "+14025671234", value = "A phone number in E.164 format.") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public UpdateEntityScreeningRequestSearchTerms url(URI url) { + + this.url = url; + return this; + } + + /** + * An 'http' or 'https' URL (must begin with either of those). + * @return url + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "https://example.com", value = "An 'http' or 'https' URL (must begin with either of those).") + + public URI getUrl() { + return url; + } + + + public void setUrl(URI url) { + this.url = url; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateEntityScreeningRequestSearchTerms updateEntityScreeningRequestSearchTerms = (UpdateEntityScreeningRequestSearchTerms) o; + return Objects.equals(this.entityWatchlistProgramId, updateEntityScreeningRequestSearchTerms.entityWatchlistProgramId) && + Objects.equals(this.legalName, updateEntityScreeningRequestSearchTerms.legalName) && + Objects.equals(this.documentNumber, updateEntityScreeningRequestSearchTerms.documentNumber) && + Objects.equals(this.emailAddress, updateEntityScreeningRequestSearchTerms.emailAddress) && + Objects.equals(this.country, updateEntityScreeningRequestSearchTerms.country) && + Objects.equals(this.phoneNumber, updateEntityScreeningRequestSearchTerms.phoneNumber) && + Objects.equals(this.url, updateEntityScreeningRequestSearchTerms.url); + } + + @Override + public int hashCode() { + return Objects.hash(entityWatchlistProgramId, legalName, documentNumber, emailAddress, country, phoneNumber, url); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateEntityScreeningRequestSearchTerms {\n"); + sb.append(" entityWatchlistProgramId: ").append(toIndentedString(entityWatchlistProgramId)).append("\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" documentNumber: ").append(toIndentedString(documentNumber)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UpdateIndividualScreeningRequestSearchTerms.java b/src/main/java/com/plaid/client/model/UpdateIndividualScreeningRequestSearchTerms.java new file mode 100644 index 0000000000..84f1f48a35 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UpdateIndividualScreeningRequestSearchTerms.java @@ -0,0 +1,216 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Search terms for editing an individual watchlist screening + */ +@ApiModel(description = "Search terms for editing an individual watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UpdateIndividualScreeningRequestSearchTerms { + public static final String SERIALIZED_NAME_WATCHLIST_PROGRAM_ID = "watchlist_program_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_PROGRAM_ID) + private String watchlistProgramId; + + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_DOCUMENT_NUMBER = "document_number"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_NUMBER) + private String documentNumber; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public UpdateIndividualScreeningRequestSearchTerms watchlistProgramId(String watchlistProgramId) { + + this.watchlistProgramId = watchlistProgramId; + return this; + } + + /** + * ID of the associated program. + * @return watchlistProgramId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "prg_2eRPsDnL66rZ7H", value = "ID of the associated program.") + + public String getWatchlistProgramId() { + return watchlistProgramId; + } + + + public void setWatchlistProgramId(String watchlistProgramId) { + this.watchlistProgramId = watchlistProgramId; + } + + + public UpdateIndividualScreeningRequestSearchTerms legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * The legal name of the individual being screened. Must have at least one alphabetical character, have a maximum length of 100 characters, and not include leading or trailing spaces. + * @return legalName + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Aleksey Potemkin", value = "The legal name of the individual being screened. Must have at least one alphabetical character, have a maximum length of 100 characters, and not include leading or trailing spaces.") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public UpdateIndividualScreeningRequestSearchTerms dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public UpdateIndividualScreeningRequestSearchTerms documentNumber(String documentNumber) { + + this.documentNumber = documentNumber; + return this; + } + + /** + * The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces. + * @return documentNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "C31195855", value = "The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces.") + + public String getDocumentNumber() { + return documentNumber; + } + + + public void setDocumentNumber(String documentNumber) { + this.documentNumber = documentNumber; + } + + + public UpdateIndividualScreeningRequestSearchTerms country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "US", value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateIndividualScreeningRequestSearchTerms updateIndividualScreeningRequestSearchTerms = (UpdateIndividualScreeningRequestSearchTerms) o; + return Objects.equals(this.watchlistProgramId, updateIndividualScreeningRequestSearchTerms.watchlistProgramId) && + Objects.equals(this.legalName, updateIndividualScreeningRequestSearchTerms.legalName) && + Objects.equals(this.dateOfBirth, updateIndividualScreeningRequestSearchTerms.dateOfBirth) && + Objects.equals(this.documentNumber, updateIndividualScreeningRequestSearchTerms.documentNumber) && + Objects.equals(this.country, updateIndividualScreeningRequestSearchTerms.country); + } + + @Override + public int hashCode() { + return Objects.hash(watchlistProgramId, legalName, dateOfBirth, documentNumber, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateIndividualScreeningRequestSearchTerms {\n"); + sb.append(" watchlistProgramId: ").append(toIndentedString(watchlistProgramId)).append("\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" documentNumber: ").append(toIndentedString(documentNumber)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAccountIdentity.java b/src/main/java/com/plaid/client/model/UserAccountIdentity.java new file mode 100644 index 0000000000..3b11a34dbf --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAccountIdentity.java @@ -0,0 +1,275 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.UserAccountIdentityAddress; +import com.plaid.client.model.UserAccountIdentityName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The identity data permissioned by the end user during the authorization flow. + */ +@ApiModel(description = "The identity data permissioned by the end user during the authorization flow.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAccountIdentity { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private UserAccountIdentityName name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private UserAccountIdentityAddress address; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + private String phoneNumber; + + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + private String email; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private String dateOfBirth; + + public static final String SERIALIZED_NAME_SSN = "ssn"; + @SerializedName(SERIALIZED_NAME_SSN) + private String ssn; + + public static final String SERIALIZED_NAME_SSN_LAST4 = "ssn_last_4"; + @SerializedName(SERIALIZED_NAME_SSN_LAST4) + private String ssnLast4; + + + public UserAccountIdentity name(UserAccountIdentityName name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserAccountIdentityName getName() { + return name; + } + + + public void setName(UserAccountIdentityName name) { + this.name = name; + } + + + public UserAccountIdentity address(UserAccountIdentityAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserAccountIdentityAddress getAddress() { + return address; + } + + + public void setAddress(UserAccountIdentityAddress address) { + this.address = address; + } + + + public UserAccountIdentity phoneNumber(String phoneNumber) { + + this.phoneNumber = phoneNumber; + return this; + } + + /** + * The user's phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format + * @return phoneNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format") + + public String getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public UserAccountIdentity email(String email) { + + this.email = email; + return this; + } + + /** + * The user's email address. Note: email is currently not returned. + * @return email + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's email address. Note: email is currently not returned.") + + public String getEmail() { + return email; + } + + + public void setEmail(String email) { + this.email = email; + } + + + public UserAccountIdentity dateOfBirth(String dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * The user's date of birth. + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's date of birth.") + + public String getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(String dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public UserAccountIdentity ssn(String ssn) { + + this.ssn = ssn; + return this; + } + + /** + * The user's Social Security number. + * @return ssn + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user's Social Security number.") + + public String getSsn() { + return ssn; + } + + + public void setSsn(String ssn) { + this.ssn = ssn; + } + + + public UserAccountIdentity ssnLast4(String ssnLast4) { + + this.ssnLast4 = ssnLast4; + return this; + } + + /** + * The last 4 digits of the user's Social Security number. + * @return ssnLast4 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The last 4 digits of the user's Social Security number.") + + public String getSsnLast4() { + return ssnLast4; + } + + + public void setSsnLast4(String ssnLast4) { + this.ssnLast4 = ssnLast4; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAccountIdentity userAccountIdentity = (UserAccountIdentity) o; + return Objects.equals(this.name, userAccountIdentity.name) && + Objects.equals(this.address, userAccountIdentity.address) && + Objects.equals(this.phoneNumber, userAccountIdentity.phoneNumber) && + Objects.equals(this.email, userAccountIdentity.email) && + Objects.equals(this.dateOfBirth, userAccountIdentity.dateOfBirth) && + Objects.equals(this.ssn, userAccountIdentity.ssn) && + Objects.equals(this.ssnLast4, userAccountIdentity.ssnLast4); + } + + @Override + public int hashCode() { + return Objects.hash(name, address, phoneNumber, email, dateOfBirth, ssn, ssnLast4); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAccountIdentity {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" ssn: ").append(toIndentedString(ssn)).append("\n"); + sb.append(" ssnLast4: ").append(toIndentedString(ssnLast4)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAccountIdentityAddress.java b/src/main/java/com/plaid/client/model/UserAccountIdentityAddress.java new file mode 100644 index 0000000000..08a321dc12 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAccountIdentityAddress.java @@ -0,0 +1,244 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The user's address. + */ +@ApiModel(description = "The user's address.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAccountIdentityAddress { + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_STREET2 = "street2"; + @SerializedName(SERIALIZED_NAME_STREET2) + private String street2; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public UserAccountIdentityAddress city(String city) { + + this.city = city; + return this; + } + + /** + * The full city name + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full city name") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public UserAccountIdentityAddress region(String region) { + + this.region = region; + return this; + } + + /** + * The region or state. Example: `\"NC\"` + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The region or state. Example: `\"NC\"`") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public UserAccountIdentityAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The full street address Example: `\"564 Main Street, APT 15\"` + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The full street address Example: `\"564 Main Street, APT 15\"`") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public UserAccountIdentityAddress street2(String street2) { + + this.street2 = street2; + return this; + } + + /** + * The second line street address + * @return street2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The second line street address") + + public String getStreet2() { + return street2; + } + + + public void setStreet2(String street2) { + this.street2 = street2; + } + + + public UserAccountIdentityAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public UserAccountIdentityAddress country(String country) { + + this.country = country; + return this; + } + + /** + * The ISO 3166-1 alpha-2 country code + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ISO 3166-1 alpha-2 country code") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAccountIdentityAddress userAccountIdentityAddress = (UserAccountIdentityAddress) o; + return Objects.equals(this.city, userAccountIdentityAddress.city) && + Objects.equals(this.region, userAccountIdentityAddress.region) && + Objects.equals(this.street, userAccountIdentityAddress.street) && + Objects.equals(this.street2, userAccountIdentityAddress.street2) && + Objects.equals(this.postalCode, userAccountIdentityAddress.postalCode) && + Objects.equals(this.country, userAccountIdentityAddress.country); + } + + @Override + public int hashCode() { + return Objects.hash(city, region, street, street2, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAccountIdentityAddress {\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" street2: ").append(toIndentedString(street2)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAccountIdentityEditCounts.java b/src/main/java/com/plaid/client/model/UserAccountIdentityEditCounts.java new file mode 100644 index 0000000000..3c14f55058 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAccountIdentityEditCounts.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Edit counts over various time periods. + */ +@ApiModel(description = "Edit counts over various time periods.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAccountIdentityEditCounts { + public static final String SERIALIZED_NAME_EDITS_CURRENT = "edits_current"; + @SerializedName(SERIALIZED_NAME_EDITS_CURRENT) + private Integer editsCurrent; + + public static final String SERIALIZED_NAME_EDITS1D = "edits_1d"; + @SerializedName(SERIALIZED_NAME_EDITS1D) + private Integer edits1d; + + public static final String SERIALIZED_NAME_EDITS30D = "edits_30d"; + @SerializedName(SERIALIZED_NAME_EDITS30D) + private Integer edits30d; + + public static final String SERIALIZED_NAME_EDITS365D = "edits_365d"; + @SerializedName(SERIALIZED_NAME_EDITS365D) + private Integer edits365d; + + public static final String SERIALIZED_NAME_EDITS_ALL_TIME = "edits_all_time"; + @SerializedName(SERIALIZED_NAME_EDITS_ALL_TIME) + private Integer editsAllTime; + + + public UserAccountIdentityEditCounts editsCurrent(Integer editsCurrent) { + + this.editsCurrent = editsCurrent; + return this; + } + + /** + * Number of edits in the current session + * @return editsCurrent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of edits in the current session") + + public Integer getEditsCurrent() { + return editsCurrent; + } + + + public void setEditsCurrent(Integer editsCurrent) { + this.editsCurrent = editsCurrent; + } + + + public UserAccountIdentityEditCounts edits1d(Integer edits1d) { + + this.edits1d = edits1d; + return this; + } + + /** + * Number of edits in the last 1 day + * @return edits1d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of edits in the last 1 day") + + public Integer getEdits1d() { + return edits1d; + } + + + public void setEdits1d(Integer edits1d) { + this.edits1d = edits1d; + } + + + public UserAccountIdentityEditCounts edits30d(Integer edits30d) { + + this.edits30d = edits30d; + return this; + } + + /** + * Number of edits in the last 30 days + * @return edits30d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of edits in the last 30 days") + + public Integer getEdits30d() { + return edits30d; + } + + + public void setEdits30d(Integer edits30d) { + this.edits30d = edits30d; + } + + + public UserAccountIdentityEditCounts edits365d(Integer edits365d) { + + this.edits365d = edits365d; + return this; + } + + /** + * Number of edits in the last 365 days + * @return edits365d + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of edits in the last 365 days") + + public Integer getEdits365d() { + return edits365d; + } + + + public void setEdits365d(Integer edits365d) { + this.edits365d = edits365d; + } + + + public UserAccountIdentityEditCounts editsAllTime(Integer editsAllTime) { + + this.editsAllTime = editsAllTime; + return this; + } + + /** + * Total number of edits + * @return editsAllTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Total number of edits") + + public Integer getEditsAllTime() { + return editsAllTime; + } + + + public void setEditsAllTime(Integer editsAllTime) { + this.editsAllTime = editsAllTime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAccountIdentityEditCounts userAccountIdentityEditCounts = (UserAccountIdentityEditCounts) o; + return Objects.equals(this.editsCurrent, userAccountIdentityEditCounts.editsCurrent) && + Objects.equals(this.edits1d, userAccountIdentityEditCounts.edits1d) && + Objects.equals(this.edits30d, userAccountIdentityEditCounts.edits30d) && + Objects.equals(this.edits365d, userAccountIdentityEditCounts.edits365d) && + Objects.equals(this.editsAllTime, userAccountIdentityEditCounts.editsAllTime); + } + + @Override + public int hashCode() { + return Objects.hash(editsCurrent, edits1d, edits30d, edits365d, editsAllTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAccountIdentityEditCounts {\n"); + sb.append(" editsCurrent: ").append(toIndentedString(editsCurrent)).append("\n"); + sb.append(" edits1d: ").append(toIndentedString(edits1d)).append("\n"); + sb.append(" edits30d: ").append(toIndentedString(edits30d)).append("\n"); + sb.append(" edits365d: ").append(toIndentedString(edits365d)).append("\n"); + sb.append(" editsAllTime: ").append(toIndentedString(editsAllTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAccountIdentityEditHistory.java b/src/main/java/com/plaid/client/model/UserAccountIdentityEditHistory.java new file mode 100644 index 0000000000..7f32154529 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAccountIdentityEditHistory.java @@ -0,0 +1,217 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.UserAccountIdentityEditCounts; +import com.plaid.client.model.UserAccountIdentityOfficialDocument; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Statistics tracking the number of edits made to identity fields over various time periods. + */ +@ApiModel(description = "Statistics tracking the number of edits made to identity fields over various time periods.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAccountIdentityEditHistory { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private UserAccountIdentityEditCounts name; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private UserAccountIdentityEditCounts address; + + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + private UserAccountIdentityEditCounts email; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private UserAccountIdentityEditCounts dateOfBirth; + + public static final String SERIALIZED_NAME_OFFICIAL_DOCUMENT = "official_document"; + @SerializedName(SERIALIZED_NAME_OFFICIAL_DOCUMENT) + private UserAccountIdentityOfficialDocument officialDocument; + + + public UserAccountIdentityEditHistory name(UserAccountIdentityEditCounts name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserAccountIdentityEditCounts getName() { + return name; + } + + + public void setName(UserAccountIdentityEditCounts name) { + this.name = name; + } + + + public UserAccountIdentityEditHistory address(UserAccountIdentityEditCounts address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserAccountIdentityEditCounts getAddress() { + return address; + } + + + public void setAddress(UserAccountIdentityEditCounts address) { + this.address = address; + } + + + public UserAccountIdentityEditHistory email(UserAccountIdentityEditCounts email) { + + this.email = email; + return this; + } + + /** + * Get email + * @return email + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserAccountIdentityEditCounts getEmail() { + return email; + } + + + public void setEmail(UserAccountIdentityEditCounts email) { + this.email = email; + } + + + public UserAccountIdentityEditHistory dateOfBirth(UserAccountIdentityEditCounts dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * Get dateOfBirth + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserAccountIdentityEditCounts getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(UserAccountIdentityEditCounts dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public UserAccountIdentityEditHistory officialDocument(UserAccountIdentityOfficialDocument officialDocument) { + + this.officialDocument = officialDocument; + return this; + } + + /** + * Get officialDocument + * @return officialDocument + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserAccountIdentityOfficialDocument getOfficialDocument() { + return officialDocument; + } + + + public void setOfficialDocument(UserAccountIdentityOfficialDocument officialDocument) { + this.officialDocument = officialDocument; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAccountIdentityEditHistory userAccountIdentityEditHistory = (UserAccountIdentityEditHistory) o; + return Objects.equals(this.name, userAccountIdentityEditHistory.name) && + Objects.equals(this.address, userAccountIdentityEditHistory.address) && + Objects.equals(this.email, userAccountIdentityEditHistory.email) && + Objects.equals(this.dateOfBirth, userAccountIdentityEditHistory.dateOfBirth) && + Objects.equals(this.officialDocument, userAccountIdentityEditHistory.officialDocument); + } + + @Override + public int hashCode() { + return Objects.hash(name, address, email, dateOfBirth, officialDocument); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAccountIdentityEditHistory {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" officialDocument: ").append(toIndentedString(officialDocument)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAccountIdentityName.java b/src/main/java/com/plaid/client/model/UserAccountIdentityName.java new file mode 100644 index 0000000000..feb25b60b7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAccountIdentityName.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The user's first name and last name. + */ +@ApiModel(description = "The user's first name and last name.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAccountIdentityName { + public static final String SERIALIZED_NAME_FIRST_NAME = "first_name"; + @SerializedName(SERIALIZED_NAME_FIRST_NAME) + private String firstName; + + public static final String SERIALIZED_NAME_LAST_NAME = "last_name"; + @SerializedName(SERIALIZED_NAME_LAST_NAME) + private String lastName; + + + public UserAccountIdentityName firstName(String firstName) { + + this.firstName = firstName; + return this; + } + + /** + * Get firstName + * @return firstName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getFirstName() { + return firstName; + } + + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + + public UserAccountIdentityName lastName(String lastName) { + + this.lastName = lastName; + return this; + } + + /** + * Get lastName + * @return lastName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getLastName() { + return lastName; + } + + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAccountIdentityName userAccountIdentityName = (UserAccountIdentityName) o; + return Objects.equals(this.firstName, userAccountIdentityName.firstName) && + Objects.equals(this.lastName, userAccountIdentityName.lastName); + } + + @Override + public int hashCode() { + return Objects.hash(firstName, lastName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAccountIdentityName {\n"); + sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); + sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAccountIdentityOfficialDocument.java b/src/main/java/com/plaid/client/model/UserAccountIdentityOfficialDocument.java new file mode 100644 index 0000000000..b2ec3b577f --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAccountIdentityOfficialDocument.java @@ -0,0 +1,100 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.UserAccountIdentityEditCounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Official identity document edit statistics. + */ +@ApiModel(description = "Official identity document edit statistics.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAccountIdentityOfficialDocument { + public static final String SERIALIZED_NAME_SSN = "ssn"; + @SerializedName(SERIALIZED_NAME_SSN) + private UserAccountIdentityEditCounts ssn; + + + public UserAccountIdentityOfficialDocument ssn(UserAccountIdentityEditCounts ssn) { + + this.ssn = ssn; + return this; + } + + /** + * Get ssn + * @return ssn + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserAccountIdentityEditCounts getSsn() { + return ssn; + } + + + public void setSsn(UserAccountIdentityEditCounts ssn) { + this.ssn = ssn; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAccountIdentityOfficialDocument userAccountIdentityOfficialDocument = (UserAccountIdentityOfficialDocument) o; + return Objects.equals(this.ssn, userAccountIdentityOfficialDocument.ssn); + } + + @Override + public int hashCode() { + return Objects.hash(ssn); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAccountIdentityOfficialDocument {\n"); + sb.append(" ssn: ").append(toIndentedString(ssn)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAccountItem.java b/src/main/java/com/plaid/client/model/UserAccountItem.java new file mode 100644 index 0000000000..0063f95501 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAccountItem.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An Item created during a Layer authorization session. + */ +@ApiModel(description = "An Item created during a Layer authorization session.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAccountItem { + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + private String accessToken; + + + public UserAccountItem itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive. + * @return itemId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public UserAccountItem accessToken(String accessToken) { + + this.accessToken = accessToken; + return this; + } + + /** + * The access token associated with the Item for which data is being requested. + * @return accessToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The access token associated with the Item for which data is being requested.") + + public String getAccessToken() { + return accessToken; + } + + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAccountItem userAccountItem = (UserAccountItem) o; + return Objects.equals(this.itemId, userAccountItem.itemId) && + Objects.equals(this.accessToken, userAccountItem.accessToken); + } + + @Override + public int hashCode() { + return Objects.hash(itemId, accessToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAccountItem {\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAccountRevokedWebhook.java b/src/main/java/com/plaid/client/model/UserAccountRevokedWebhook.java new file mode 100644 index 0000000000..07634fa83b --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAccountRevokedWebhook.java @@ -0,0 +1,240 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The `USER_ACCOUNT_REVOKED` webhook is fired when an end user has revoked access to their account on the Data Provider's portal. This webhook is currently sent only for PNC Items, but may be sent in the future for other financial institutions that allow account-level permissions revocation through their portals. Upon receiving this webhook, it is recommended to delete any Plaid-derived data you have stored that is associated with the revoked account. If you are using Auth and receive this webhook, this webhook indicates that the TAN associated with the revoked account is no longer valid and cannot be used to create new transfers. You should not create new ACH transfers for the account that was revoked until access has been re-granted. You can request the user to re-grant access to their account by sending them through [update mode](https://plaid.com/docs/link/update-mode). Alternatively, they may re-grant access directly through the Data Provider's portal. After the user has re-granted access, Auth customers should call the auth endpoint again to obtain the new TAN. + */ +@ApiModel(description = "The `USER_ACCOUNT_REVOKED` webhook is fired when an end user has revoked access to their account on the Data Provider's portal. This webhook is currently sent only for PNC Items, but may be sent in the future for other financial institutions that allow account-level permissions revocation through their portals. Upon receiving this webhook, it is recommended to delete any Plaid-derived data you have stored that is associated with the revoked account. If you are using Auth and receive this webhook, this webhook indicates that the TAN associated with the revoked account is no longer valid and cannot be used to create new transfers. You should not create new ACH transfers for the account that was revoked until access has been re-granted. You can request the user to re-grant access to their account by sending them through [update mode](https://plaid.com/docs/link/update-mode). Alternatively, they may re-grant access directly through the Data Provider's portal. After the user has re-granted access, Auth customers should call the auth endpoint again to obtain the new TAN.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAccountRevokedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public UserAccountRevokedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `ITEM` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`ITEM`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public UserAccountRevokedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `USER_ACCOUNT_REVOKED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`USER_ACCOUNT_REVOKED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public UserAccountRevokedWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public UserAccountRevokedWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public UserAccountRevokedWebhook accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The external account ID of the affected account + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The external account ID of the affected account") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public UserAccountRevokedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAccountRevokedWebhook userAccountRevokedWebhook = (UserAccountRevokedWebhook) o; + return Objects.equals(this.webhookType, userAccountRevokedWebhook.webhookType) && + Objects.equals(this.webhookCode, userAccountRevokedWebhook.webhookCode) && + Objects.equals(this.itemId, userAccountRevokedWebhook.itemId) && + Objects.equals(this.userId, userAccountRevokedWebhook.userId) && + Objects.equals(this.accountId, userAccountRevokedWebhook.accountId) && + Objects.equals(this.environment, userAccountRevokedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, accountId, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAccountRevokedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAccountSessionEvent.java b/src/main/java/com/plaid/client/model/UserAccountSessionEvent.java new file mode 100644 index 0000000000..ac5e0fec03 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAccountSessionEvent.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Event data for user account session tracking + */ +@ApiModel(description = "Event data for user account session tracking") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAccountSessionEvent { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + public static final String SERIALIZED_NAME_OUTCOME = "outcome"; + @SerializedName(SERIALIZED_NAME_OUTCOME) + private String outcome; + + + public UserAccountSessionEvent name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the event. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the event.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public UserAccountSessionEvent timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * The timestamp when the event occurred in ISO 8601 format. + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "The timestamp when the event occurred in ISO 8601 format.") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + public UserAccountSessionEvent outcome(String outcome) { + + this.outcome = outcome; + return this; + } + + /** + * Optional outcome of the event. + * @return outcome + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional outcome of the event.") + + public String getOutcome() { + return outcome; + } + + + public void setOutcome(String outcome) { + this.outcome = outcome; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAccountSessionEvent userAccountSessionEvent = (UserAccountSessionEvent) o; + return Objects.equals(this.name, userAccountSessionEvent.name) && + Objects.equals(this.timestamp, userAccountSessionEvent.timestamp) && + Objects.equals(this.outcome, userAccountSessionEvent.outcome); + } + + @Override + public int hashCode() { + return Objects.hash(name, timestamp, outcome); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAccountSessionEvent {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" outcome: ").append(toIndentedString(outcome)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAccountSessionEventSendRequest.java b/src/main/java/com/plaid/client/model/UserAccountSessionEventSendRequest.java new file mode 100644 index 0000000000..9fb4e3ab24 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAccountSessionEventSendRequest.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.UserAccountSessionEvent; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserAccountSessionEventSendRequest defines the request schema for `/user_account/session/event/send` + */ +@ApiModel(description = "UserAccountSessionEventSendRequest defines the request schema for `/user_account/session/event/send`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAccountSessionEventSendRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_COHORT_ID = "cohort_id"; + @SerializedName(SERIALIZED_NAME_COHORT_ID) + private String cohortId; + + public static final String SERIALIZED_NAME_LINK_SESSION_ID = "link_session_id"; + @SerializedName(SERIALIZED_NAME_LINK_SESSION_ID) + private String linkSessionId; + + public static final String SERIALIZED_NAME_EVENT = "event"; + @SerializedName(SERIALIZED_NAME_EVENT) + private UserAccountSessionEvent event; + + + public UserAccountSessionEventSendRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserAccountSessionEventSendRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public UserAccountSessionEventSendRequest cohortId(String cohortId) { + + this.cohortId = cohortId; + return this; + } + + /** + * Optional cohort identifier for the user session. + * @return cohortId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional cohort identifier for the user session.") + + public String getCohortId() { + return cohortId; + } + + + public void setCohortId(String cohortId) { + this.cohortId = cohortId; + } + + + public UserAccountSessionEventSendRequest linkSessionId(String linkSessionId) { + + this.linkSessionId = linkSessionId; + return this; + } + + /** + * The Link session identifier. + * @return linkSessionId + **/ + @ApiModelProperty(required = true, value = "The Link session identifier.") + + public String getLinkSessionId() { + return linkSessionId; + } + + + public void setLinkSessionId(String linkSessionId) { + this.linkSessionId = linkSessionId; + } + + + public UserAccountSessionEventSendRequest event(UserAccountSessionEvent event) { + + this.event = event; + return this; + } + + /** + * Get event + * @return event + **/ + @ApiModelProperty(required = true, value = "") + + public UserAccountSessionEvent getEvent() { + return event; + } + + + public void setEvent(UserAccountSessionEvent event) { + this.event = event; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAccountSessionEventSendRequest userAccountSessionEventSendRequest = (UserAccountSessionEventSendRequest) o; + return Objects.equals(this.clientId, userAccountSessionEventSendRequest.clientId) && + Objects.equals(this.secret, userAccountSessionEventSendRequest.secret) && + Objects.equals(this.cohortId, userAccountSessionEventSendRequest.cohortId) && + Objects.equals(this.linkSessionId, userAccountSessionEventSendRequest.linkSessionId) && + Objects.equals(this.event, userAccountSessionEventSendRequest.event); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, cohortId, linkSessionId, event); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAccountSessionEventSendRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" cohortId: ").append(toIndentedString(cohortId)).append("\n"); + sb.append(" linkSessionId: ").append(toIndentedString(linkSessionId)).append("\n"); + sb.append(" event: ").append(toIndentedString(event)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAccountSessionEventSendResponse.java b/src/main/java/com/plaid/client/model/UserAccountSessionEventSendResponse.java new file mode 100644 index 0000000000..f80e18c5f2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAccountSessionEventSendResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserAccountSessionEventSendResponse defines the response schema for `/user_account/session/event/send` + */ +@ApiModel(description = "UserAccountSessionEventSendResponse defines the response schema for `/user_account/session/event/send`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAccountSessionEventSendResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public UserAccountSessionEventSendResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAccountSessionEventSendResponse userAccountSessionEventSendResponse = (UserAccountSessionEventSendResponse) o; + return Objects.equals(this.requestId, userAccountSessionEventSendResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAccountSessionEventSendResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAccountSessionGetRequest.java b/src/main/java/com/plaid/client/model/UserAccountSessionGetRequest.java new file mode 100644 index 0000000000..8b125e732f --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAccountSessionGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserAccountSessionGetRequest defines the request schema for `/user_account/session/get` + */ +@ApiModel(description = "UserAccountSessionGetRequest defines the request schema for `/user_account/session/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAccountSessionGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_PUBLIC_TOKEN = "public_token"; + @SerializedName(SERIALIZED_NAME_PUBLIC_TOKEN) + private String publicToken; + + + public UserAccountSessionGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserAccountSessionGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public UserAccountSessionGetRequest publicToken(String publicToken) { + + this.publicToken = publicToken; + return this; + } + + /** + * The public token generated by the end user Layer session. + * @return publicToken + **/ + @ApiModelProperty(required = true, value = "The public token generated by the end user Layer session.") + + public String getPublicToken() { + return publicToken; + } + + + public void setPublicToken(String publicToken) { + this.publicToken = publicToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAccountSessionGetRequest userAccountSessionGetRequest = (UserAccountSessionGetRequest) o; + return Objects.equals(this.clientId, userAccountSessionGetRequest.clientId) && + Objects.equals(this.secret, userAccountSessionGetRequest.secret) && + Objects.equals(this.publicToken, userAccountSessionGetRequest.publicToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, publicToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAccountSessionGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" publicToken: ").append(toIndentedString(publicToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAccountSessionGetResponse.java b/src/main/java/com/plaid/client/model/UserAccountSessionGetResponse.java new file mode 100644 index 0000000000..98b4e355c7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAccountSessionGetResponse.java @@ -0,0 +1,194 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.UserAccountIdentity; +import com.plaid.client.model.UserAccountIdentityEditHistory; +import com.plaid.client.model.UserAccountItem; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * UserAccountSessionGetResponse defines the response schema for `/user_account/session/get` + */ +@ApiModel(description = "UserAccountSessionGetResponse defines the response schema for `/user_account/session/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAccountSessionGetResponse { + public static final String SERIALIZED_NAME_IDENTITY = "identity"; + @SerializedName(SERIALIZED_NAME_IDENTITY) + private UserAccountIdentity identity; + + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + public static final String SERIALIZED_NAME_IDENTITY_EDIT_HISTORY = "identity_edit_history"; + @SerializedName(SERIALIZED_NAME_IDENTITY_EDIT_HISTORY) + private UserAccountIdentityEditHistory identityEditHistory; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public UserAccountSessionGetResponse identity(UserAccountIdentity identity) { + + this.identity = identity; + return this; + } + + /** + * Get identity + * @return identity + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public UserAccountIdentity getIdentity() { + return identity; + } + + + public void setIdentity(UserAccountIdentity identity) { + this.identity = identity; + } + + + public UserAccountSessionGetResponse items(List items) { + + this.items = items; + return this; + } + + public UserAccountSessionGetResponse addItemsItem(UserAccountItem itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * Get items + * @return items + **/ + @ApiModelProperty(required = true, value = "") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + public UserAccountSessionGetResponse identityEditHistory(UserAccountIdentityEditHistory identityEditHistory) { + + this.identityEditHistory = identityEditHistory; + return this; + } + + /** + * Get identityEditHistory + * @return identityEditHistory + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UserAccountIdentityEditHistory getIdentityEditHistory() { + return identityEditHistory; + } + + + public void setIdentityEditHistory(UserAccountIdentityEditHistory identityEditHistory) { + this.identityEditHistory = identityEditHistory; + } + + + public UserAccountSessionGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAccountSessionGetResponse userAccountSessionGetResponse = (UserAccountSessionGetResponse) o; + return Objects.equals(this.identity, userAccountSessionGetResponse.identity) && + Objects.equals(this.items, userAccountSessionGetResponse.items) && + Objects.equals(this.identityEditHistory, userAccountSessionGetResponse.identityEditHistory) && + Objects.equals(this.requestId, userAccountSessionGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(identity, items, identityEditHistory, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAccountSessionGetResponse {\n"); + sb.append(" identity: ").append(toIndentedString(identity)).append("\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append(" identityEditHistory: ").append(toIndentedString(identityEditHistory)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserAddress.java b/src/main/java/com/plaid/client/model/UserAddress.java new file mode 100644 index 0000000000..173589762b --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserAddress.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Home address for the user. Supported values are: not provided, address with only country code or full address. For more context on this field, see [Input Validation by Country](https://plaid.com/docs/identity-verification/hybrid-input-validation/#input-validation-by-country). + */ +@ApiModel(description = "Home address for the user. Supported values are: not provided, address with only country code or full address. For more context on this field, see [Input Validation by Country](https://plaid.com/docs/identity-verification/hybrid-input-validation/#input-validation-by-country).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserAddress { + public static final String SERIALIZED_NAME_STREET = "street"; + @SerializedName(SERIALIZED_NAME_STREET) + private String street; + + public static final String SERIALIZED_NAME_STREET2 = "street2"; + @SerializedName(SERIALIZED_NAME_STREET2) + private String street2; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + private String city; + + public static final String SERIALIZED_NAME_REGION = "region"; + @SerializedName(SERIALIZED_NAME_REGION) + private String region; + + public static final String SERIALIZED_NAME_POSTAL_CODE = "postal_code"; + @SerializedName(SERIALIZED_NAME_POSTAL_CODE) + private String postalCode; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public UserAddress street(String street) { + + this.street = street; + return this; + } + + /** + * The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters. + * @return street + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "123 Main St.", value = "The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters.") + + public String getStreet() { + return street; + } + + + public void setStreet(String street) { + this.street = street; + } + + + public UserAddress street2(String street2) { + + this.street2 = street2; + return this; + } + + /** + * Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters. + * @return street2 + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Unit 42", value = "Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters.") + + public String getStreet2() { + return street2; + } + + + public void setStreet2(String street2) { + this.street2 = street2; + } + + + public UserAddress city(String city) { + + this.city = city; + return this; + } + + /** + * City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters. + * @return city + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Pawnee", value = "City from the address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters.") + + public String getCity() { + return city; + } + + + public void setCity(String city) { + this.city = city; + } + + + public UserAddress region(String region) { + + this.region = region; + return this; + } + + /** + * A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field. + * @return region + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "IN", value = "A subdivision code. \"Subdivision\" is a generic term for \"state\", \"province\", \"prefecture\", \"zone\", etc. For the list of valid codes, see [country subdivision codes](https://plaid.com/documents/country_subdivision_codes.json). Country prefixes are omitted, since they are inferred from the `country` field.") + + public String getRegion() { + return region; + } + + + public void setRegion(String region) { + this.region = region; + } + + + public UserAddress postalCode(String postalCode) { + + this.postalCode = postalCode; + return this; + } + + /** + * The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits. + * @return postalCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "46001", value = "The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.") + + public String getPostalCode() { + return postalCode; + } + + + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } + + + public UserAddress country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserAddress userAddress = (UserAddress) o; + return Objects.equals(this.street, userAddress.street) && + Objects.equals(this.street2, userAddress.street2) && + Objects.equals(this.city, userAddress.city) && + Objects.equals(this.region, userAddress.region) && + Objects.equals(this.postalCode, userAddress.postalCode) && + Objects.equals(this.country, userAddress.country); + } + + @Override + public int hashCode() { + return Objects.hash(street, street2, city, region, postalCode, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserAddress {\n"); + sb.append(" street: ").append(toIndentedString(street)).append("\n"); + sb.append(" street2: ").append(toIndentedString(street2)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" region: ").append(toIndentedString(region)).append("\n"); + sb.append(" postalCode: ").append(toIndentedString(postalCode)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserBasedProducts.java b/src/main/java/com/plaid/client/model/UserBasedProducts.java new file mode 100644 index 0000000000..50bfe2f0ab --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserBasedProducts.java @@ -0,0 +1,101 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A list of user-based products. User-based products include Financial Management products, Protect products, CRA products, and subscription products. + */ +@JsonAdapter(UserBasedProducts.Adapter.class) +public enum UserBasedProducts { + + CRA_BASE_REPORT("cra_base_report"), + + CRA_INCOME_INSIGHTS("cra_income_insights"), + + CRA_PARTNER_INSIGHTS("cra_partner_insights"), + + CRA_NETWORK_INSIGHTS("cra_network_insights"), + + CRA_CASHFLOW_INSIGHTS("cra_cashflow_insights"), + + CRA_MONITORING("cra_monitoring"), + + CRA_LEND_SCORE("cra_lend_score"), + + CRA_PLAID_CREDIT_SCORE("cra_plaid_credit_score"), + + INVESTMENTS("investments"), + + LIABILITIES("liabilities"), + + PROTECT_LINKED_BANK("protect_linked_bank"), + + PROTECT_TRANSACTIONS("protect_transactions"), + + TRANSACTIONS("transactions"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + UserBasedProducts(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static UserBasedProducts fromValue(String value) { + for (UserBasedProducts b : UserBasedProducts.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return UserBasedProducts.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final UserBasedProducts enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public UserBasedProducts read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return UserBasedProducts.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/UserCreateRequest.java b/src/main/java/com/plaid/client/model/UserCreateRequest.java new file mode 100644 index 0000000000..e6f5d66134 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserCreateRequest.java @@ -0,0 +1,274 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ClientUserIdentity; +import com.plaid.client.model.ConsumerReportUserIdentity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserCreateRequest defines the request schema for `/user/create` + */ +@ApiModel(description = "UserCreateRequest defines the request schema for `/user/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_IDENTITY = "identity"; + @SerializedName(SERIALIZED_NAME_IDENTITY) + private ClientUserIdentity identity; + + public static final String SERIALIZED_NAME_END_CUSTOMER = "end_customer"; + @SerializedName(SERIALIZED_NAME_END_CUSTOMER) + private String endCustomer; + + public static final String SERIALIZED_NAME_CONSUMER_REPORT_USER_IDENTITY = "consumer_report_user_identity"; + @SerializedName(SERIALIZED_NAME_CONSUMER_REPORT_USER_IDENTITY) + private ConsumerReportUserIdentity consumerReportUserIdentity; + + public static final String SERIALIZED_NAME_WITH_UPGRADED_USER = "with_upgraded_user"; + @SerializedName(SERIALIZED_NAME_WITH_UPGRADED_USER) + private Boolean withUpgradedUser; + + + public UserCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public UserCreateRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID representing the end user. Maximum of 128 characters. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @ApiModelProperty(required = true, value = "A unique ID representing the end user. Maximum of 128 characters. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public UserCreateRequest identity(ClientUserIdentity identity) { + + this.identity = identity; + return this; + } + + /** + * Get identity + * @return identity + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ClientUserIdentity getIdentity() { + return identity; + } + + + public void setIdentity(ClientUserIdentity identity) { + this.identity = identity; + } + + + public UserCreateRequest endCustomer(String endCustomer) { + + this.endCustomer = endCustomer; + return this; + } + + /** + * A unique ID representing a CRA reseller's end customer. Maximum of 128 characters. + * @return endCustomer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique ID representing a CRA reseller's end customer. Maximum of 128 characters.") + + public String getEndCustomer() { + return endCustomer; + } + + + public void setEndCustomer(String endCustomer) { + this.endCustomer = endCustomer; + } + + + public UserCreateRequest consumerReportUserIdentity(ConsumerReportUserIdentity consumerReportUserIdentity) { + + this.consumerReportUserIdentity = consumerReportUserIdentity; + return this; + } + + /** + * Get consumerReportUserIdentity + * @return consumerReportUserIdentity + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ConsumerReportUserIdentity getConsumerReportUserIdentity() { + return consumerReportUserIdentity; + } + + + public void setConsumerReportUserIdentity(ConsumerReportUserIdentity consumerReportUserIdentity) { + this.consumerReportUserIdentity = consumerReportUserIdentity; + } + + + public UserCreateRequest withUpgradedUser(Boolean withUpgradedUser) { + + this.withUpgradedUser = withUpgradedUser; + return this; + } + + /** + * If your integration with the User API predates December 10, 2025, set this field to `true` to opt into the [New User APIs](https://plaid.com/docs/api/users/user-apis/). When enabled, you can use the `identity` field instead of `consumer_report_user_identity`. + * @return withUpgradedUser + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If your integration with the User API predates December 10, 2025, set this field to `true` to opt into the [New User APIs](https://plaid.com/docs/api/users/user-apis/). When enabled, you can use the `identity` field instead of `consumer_report_user_identity`.") + + public Boolean getWithUpgradedUser() { + return withUpgradedUser; + } + + + public void setWithUpgradedUser(Boolean withUpgradedUser) { + this.withUpgradedUser = withUpgradedUser; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserCreateRequest userCreateRequest = (UserCreateRequest) o; + return Objects.equals(this.clientId, userCreateRequest.clientId) && + Objects.equals(this.secret, userCreateRequest.secret) && + Objects.equals(this.clientUserId, userCreateRequest.clientUserId) && + Objects.equals(this.identity, userCreateRequest.identity) && + Objects.equals(this.endCustomer, userCreateRequest.endCustomer) && + Objects.equals(this.consumerReportUserIdentity, userCreateRequest.consumerReportUserIdentity) && + Objects.equals(this.withUpgradedUser, userCreateRequest.withUpgradedUser); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, clientUserId, identity, endCustomer, consumerReportUserIdentity, withUpgradedUser); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" identity: ").append(toIndentedString(identity)).append("\n"); + sb.append(" endCustomer: ").append(toIndentedString(endCustomer)).append("\n"); + sb.append(" consumerReportUserIdentity: ").append(toIndentedString(consumerReportUserIdentity)).append("\n"); + sb.append(" withUpgradedUser: ").append(toIndentedString(withUpgradedUser)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserCreateResponse.java b/src/main/java/com/plaid/client/model/UserCreateResponse.java new file mode 100644 index 0000000000..4961622800 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserCreateResponse.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserCreateResponse defines the response schema for `/user/create` + */ +@ApiModel(description = "UserCreateResponse defines the response schema for `/user/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserCreateResponse { + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public UserCreateResponse userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public UserCreateResponse userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @ApiModelProperty(required = true, value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public UserCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserCreateResponse userCreateResponse = (UserCreateResponse) o; + return Objects.equals(this.userToken, userCreateResponse.userToken) && + Objects.equals(this.userId, userCreateResponse.userId) && + Objects.equals(this.requestId, userCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(userToken, userId, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserCreateResponse {\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserCustomPassword.java b/src/main/java/com/plaid/client/model/UserCustomPassword.java new file mode 100644 index 0000000000..23813f29f8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserCustomPassword.java @@ -0,0 +1,248 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.MFA; +import com.plaid.client.model.OverrideAccounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Custom test accounts are configured with a JSON configuration object formulated according to the schema below. All top level fields are optional. Sending an empty object as a configuration will result in an account configured with random balances and transaction history. + */ +@ApiModel(description = "Custom test accounts are configured with a JSON configuration object formulated according to the schema below. All top level fields are optional. Sending an empty object as a configuration will result in an account configured with random balances and transaction history.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserCustomPassword { + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private String version; + + public static final String SERIALIZED_NAME_SEED = "seed"; + @SerializedName(SERIALIZED_NAME_SEED) + private String seed; + + public static final String SERIALIZED_NAME_OVERRIDE_ACCOUNTS = "override_accounts"; + @SerializedName(SERIALIZED_NAME_OVERRIDE_ACCOUNTS) + private List overrideAccounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_MFA = "mfa"; + @SerializedName(SERIALIZED_NAME_MFA) + private MFA mfa; + + public static final String SERIALIZED_NAME_RECAPTCHA = "recaptcha"; + @SerializedName(SERIALIZED_NAME_RECAPTCHA) + private String recaptcha; + + public static final String SERIALIZED_NAME_FORCE_ERROR = "force_error"; + @SerializedName(SERIALIZED_NAME_FORCE_ERROR) + private String forceError; + + + public UserCustomPassword version(String version) { + + this.version = version; + return this; + } + + /** + * The version of the password schema to use, possible values are 1 or 2. The default value is 2. You should only specify 1 if you know it is necessary for your test suite. + * @return version + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The version of the password schema to use, possible values are 1 or 2. The default value is 2. You should only specify 1 if you know it is necessary for your test suite.") + + public String getVersion() { + return version; + } + + + public void setVersion(String version) { + this.version = version; + } + + + public UserCustomPassword seed(String seed) { + + this.seed = seed; + return this; + } + + /** + * A seed, in the form of a string, that will be used to randomly generate account and transaction data, if this data is not specified using the `override_accounts` argument. If no seed is specified, the randomly generated data will be different each time. Note that transactions data is generated relative to the Item's creation date. Different Items created on different dates with the same seed for transactions data will have different dates for the transactions. The number of days between each transaction and the Item creation will remain constant. For example, an Item created on December 15 might show a transaction on December 14. An Item created on December 20, using the same seed, would show that same transaction occurring on December 19. + * @return seed + **/ + @ApiModelProperty(required = true, value = "A seed, in the form of a string, that will be used to randomly generate account and transaction data, if this data is not specified using the `override_accounts` argument. If no seed is specified, the randomly generated data will be different each time. Note that transactions data is generated relative to the Item's creation date. Different Items created on different dates with the same seed for transactions data will have different dates for the transactions. The number of days between each transaction and the Item creation will remain constant. For example, an Item created on December 15 might show a transaction on December 14. An Item created on December 20, using the same seed, would show that same transaction occurring on December 19.") + + public String getSeed() { + return seed; + } + + + public void setSeed(String seed) { + this.seed = seed; + } + + + public UserCustomPassword overrideAccounts(List overrideAccounts) { + + this.overrideAccounts = overrideAccounts; + return this; + } + + public UserCustomPassword addOverrideAccountsItem(OverrideAccounts overrideAccountsItem) { + this.overrideAccounts.add(overrideAccountsItem); + return this; + } + + /** + * An array of account overrides to configure the accounts for the Item. By default, if no override is specified, transactions and account data will be randomly generated based on the account type and subtype, and other products will have fixed or empty data. + * @return overrideAccounts + **/ + @ApiModelProperty(required = true, value = "An array of account overrides to configure the accounts for the Item. By default, if no override is specified, transactions and account data will be randomly generated based on the account type and subtype, and other products will have fixed or empty data.") + + public List getOverrideAccounts() { + return overrideAccounts; + } + + + public void setOverrideAccounts(List overrideAccounts) { + this.overrideAccounts = overrideAccounts; + } + + + public UserCustomPassword mfa(MFA mfa) { + + this.mfa = mfa; + return this; + } + + /** + * Get mfa + * @return mfa + **/ + @ApiModelProperty(required = true, value = "") + + public MFA getMfa() { + return mfa; + } + + + public void setMfa(MFA mfa) { + this.mfa = mfa; + } + + + public UserCustomPassword recaptcha(String recaptcha) { + + this.recaptcha = recaptcha; + return this; + } + + /** + * You may trigger a reCAPTCHA in Plaid Link in the Sandbox environment by using the recaptcha field. Possible values are `good` or `bad`. A value of `good` will result in successful Item creation and `bad` will result in a `RECAPTCHA_BAD` error to simulate a failed reCAPTCHA. Both values require the reCAPTCHA to be manually solved within Plaid Link. + * @return recaptcha + **/ + @ApiModelProperty(required = true, value = "You may trigger a reCAPTCHA in Plaid Link in the Sandbox environment by using the recaptcha field. Possible values are `good` or `bad`. A value of `good` will result in successful Item creation and `bad` will result in a `RECAPTCHA_BAD` error to simulate a failed reCAPTCHA. Both values require the reCAPTCHA to be manually solved within Plaid Link.") + + public String getRecaptcha() { + return recaptcha; + } + + + public void setRecaptcha(String recaptcha) { + this.recaptcha = recaptcha; + } + + + public UserCustomPassword forceError(String forceError) { + + this.forceError = forceError; + return this; + } + + /** + * An error code to force on Item creation. Possible values are: `\"INSTITUTION_NOT_RESPONDING\"` `\"INSTITUTION_NO_LONGER_SUPPORTED\"` `\"INVALID_CREDENTIALS\"` `\"INVALID_MFA\"` `\"ITEM_LOCKED\"` `\"ITEM_LOGIN_REQUIRED\"` `\"ITEM_NOT_SUPPORTED\"` `\"INVALID_LINK_TOKEN\"` `\"MFA_NOT_SUPPORTED\"` `\"NO_ACCOUNTS\"` `\"PLAID_ERROR\"` `\"USER_INPUT_TIMEOUT\"` `\"USER_SETUP_REQUIRED\"` + * @return forceError + **/ + @ApiModelProperty(required = true, value = "An error code to force on Item creation. Possible values are: `\"INSTITUTION_NOT_RESPONDING\"` `\"INSTITUTION_NO_LONGER_SUPPORTED\"` `\"INVALID_CREDENTIALS\"` `\"INVALID_MFA\"` `\"ITEM_LOCKED\"` `\"ITEM_LOGIN_REQUIRED\"` `\"ITEM_NOT_SUPPORTED\"` `\"INVALID_LINK_TOKEN\"` `\"MFA_NOT_SUPPORTED\"` `\"NO_ACCOUNTS\"` `\"PLAID_ERROR\"` `\"USER_INPUT_TIMEOUT\"` `\"USER_SETUP_REQUIRED\"`") + + public String getForceError() { + return forceError; + } + + + public void setForceError(String forceError) { + this.forceError = forceError; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserCustomPassword userCustomPassword = (UserCustomPassword) o; + return Objects.equals(this.version, userCustomPassword.version) && + Objects.equals(this.seed, userCustomPassword.seed) && + Objects.equals(this.overrideAccounts, userCustomPassword.overrideAccounts) && + Objects.equals(this.mfa, userCustomPassword.mfa) && + Objects.equals(this.recaptcha, userCustomPassword.recaptcha) && + Objects.equals(this.forceError, userCustomPassword.forceError); + } + + @Override + public int hashCode() { + return Objects.hash(version, seed, overrideAccounts, mfa, recaptcha, forceError); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserCustomPassword {\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" seed: ").append(toIndentedString(seed)).append("\n"); + sb.append(" overrideAccounts: ").append(toIndentedString(overrideAccounts)).append("\n"); + sb.append(" mfa: ").append(toIndentedString(mfa)).append("\n"); + sb.append(" recaptcha: ").append(toIndentedString(recaptcha)).append("\n"); + sb.append(" forceError: ").append(toIndentedString(forceError)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserDataOverview.java b/src/main/java/com/plaid/client/model/UserDataOverview.java new file mode 100644 index 0000000000..9e0ab98195 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserDataOverview.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * metadata for the set of insights provided in `TransactionsUserInsightsGetResponse` + */ +@ApiModel(description = "metadata for the set of insights provided in `TransactionsUserInsightsGetResponse`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserDataOverview { + public static final String SERIALIZED_NAME_TRANSACTION_COUNT = "transaction_count"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_COUNT) + private Integer transactionCount; + + public static final String SERIALIZED_NAME_OLDEST_TRANSACTION_DATE = "oldest_transaction_date"; + @SerializedName(SERIALIZED_NAME_OLDEST_TRANSACTION_DATE) + private LocalDate oldestTransactionDate; + + public static final String SERIALIZED_NAME_NEWEST_TRANSACTION_DATE = "newest_transaction_date"; + @SerializedName(SERIALIZED_NAME_NEWEST_TRANSACTION_DATE) + private LocalDate newestTransactionDate; + + public static final String SERIALIZED_NAME_DAYS_AVAILABLE = "days_available"; + @SerializedName(SERIALIZED_NAME_DAYS_AVAILABLE) + private Integer daysAvailable; + + public static final String SERIALIZED_NAME_TOTAL_OUTFLOWS = "total_outflows"; + @SerializedName(SERIALIZED_NAME_TOTAL_OUTFLOWS) + private Double totalOutflows; + + public static final String SERIALIZED_NAME_TOTAL_INFLOWS = "total_inflows"; + @SerializedName(SERIALIZED_NAME_TOTAL_INFLOWS) + private Double totalInflows; + + + public UserDataOverview transactionCount(Integer transactionCount) { + + this.transactionCount = transactionCount; + return this; + } + + /** + * The total number of transactions. + * @return transactionCount + **/ + @ApiModelProperty(required = true, value = "The total number of transactions.") + + public Integer getTransactionCount() { + return transactionCount; + } + + + public void setTransactionCount(Integer transactionCount) { + this.transactionCount = transactionCount; + } + + + public UserDataOverview oldestTransactionDate(LocalDate oldestTransactionDate) { + + this.oldestTransactionDate = oldestTransactionDate; + return this; + } + + /** + * The date of the oldest transaction processed to generate insights. + * @return oldestTransactionDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date of the oldest transaction processed to generate insights.") + + public LocalDate getOldestTransactionDate() { + return oldestTransactionDate; + } + + + public void setOldestTransactionDate(LocalDate oldestTransactionDate) { + this.oldestTransactionDate = oldestTransactionDate; + } + + + public UserDataOverview newestTransactionDate(LocalDate newestTransactionDate) { + + this.newestTransactionDate = newestTransactionDate; + return this; + } + + /** + * The date of the newest transaction processed to generate insights. + * @return newestTransactionDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date of the newest transaction processed to generate insights.") + + public LocalDate getNewestTransactionDate() { + return newestTransactionDate; + } + + + public void setNewestTransactionDate(LocalDate newestTransactionDate) { + this.newestTransactionDate = newestTransactionDate; + } + + + public UserDataOverview daysAvailable(Integer daysAvailable) { + + this.daysAvailable = daysAvailable; + return this; + } + + /** + * The range of days of transactions available. + * @return daysAvailable + **/ + @ApiModelProperty(required = true, value = "The range of days of transactions available.") + + public Integer getDaysAvailable() { + return daysAvailable; + } + + + public void setDaysAvailable(Integer daysAvailable) { + this.daysAvailable = daysAvailable; + } + + + public UserDataOverview totalOutflows(Double totalOutflows) { + + this.totalOutflows = totalOutflows; + return this; + } + + /** + * Sum of outflow amounts. + * @return totalOutflows + **/ + @ApiModelProperty(required = true, value = "Sum of outflow amounts.") + + public Double getTotalOutflows() { + return totalOutflows; + } + + + public void setTotalOutflows(Double totalOutflows) { + this.totalOutflows = totalOutflows; + } + + + public UserDataOverview totalInflows(Double totalInflows) { + + this.totalInflows = totalInflows; + return this; + } + + /** + * Sum of inflow amounts. + * @return totalInflows + **/ + @ApiModelProperty(required = true, value = "Sum of inflow amounts.") + + public Double getTotalInflows() { + return totalInflows; + } + + + public void setTotalInflows(Double totalInflows) { + this.totalInflows = totalInflows; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserDataOverview userDataOverview = (UserDataOverview) o; + return Objects.equals(this.transactionCount, userDataOverview.transactionCount) && + Objects.equals(this.oldestTransactionDate, userDataOverview.oldestTransactionDate) && + Objects.equals(this.newestTransactionDate, userDataOverview.newestTransactionDate) && + Objects.equals(this.daysAvailable, userDataOverview.daysAvailable) && + Objects.equals(this.totalOutflows, userDataOverview.totalOutflows) && + Objects.equals(this.totalInflows, userDataOverview.totalInflows); + } + + @Override + public int hashCode() { + return Objects.hash(transactionCount, oldestTransactionDate, newestTransactionDate, daysAvailable, totalOutflows, totalInflows); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserDataOverview {\n"); + sb.append(" transactionCount: ").append(toIndentedString(transactionCount)).append("\n"); + sb.append(" oldestTransactionDate: ").append(toIndentedString(oldestTransactionDate)).append("\n"); + sb.append(" newestTransactionDate: ").append(toIndentedString(newestTransactionDate)).append("\n"); + sb.append(" daysAvailable: ").append(toIndentedString(daysAvailable)).append("\n"); + sb.append(" totalOutflows: ").append(toIndentedString(totalOutflows)).append("\n"); + sb.append(" totalInflows: ").append(toIndentedString(totalInflows)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserFinancialDataRefreshRequest.java b/src/main/java/com/plaid/client/model/UserFinancialDataRefreshRequest.java new file mode 100644 index 0000000000..cb5d8c9deb --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserFinancialDataRefreshRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserFinancialDataRefreshRequest defines the request schema for `/user/financial_data/refresh` + */ +@ApiModel(description = "UserFinancialDataRefreshRequest defines the request schema for `/user/financial_data/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserFinancialDataRefreshRequest { + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public UserFinancialDataRefreshRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A Plaid-generated ID that identifies the end user. + * @return userId + **/ + @ApiModelProperty(required = true, value = "A Plaid-generated ID that identifies the end user.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public UserFinancialDataRefreshRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserFinancialDataRefreshRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserFinancialDataRefreshRequest userFinancialDataRefreshRequest = (UserFinancialDataRefreshRequest) o; + return Objects.equals(this.userId, userFinancialDataRefreshRequest.userId) && + Objects.equals(this.clientId, userFinancialDataRefreshRequest.clientId) && + Objects.equals(this.secret, userFinancialDataRefreshRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(userId, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserFinancialDataRefreshRequest {\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserFinancialDataRefreshResponse.java b/src/main/java/com/plaid/client/model/UserFinancialDataRefreshResponse.java new file mode 100644 index 0000000000..a0d14bc131 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserFinancialDataRefreshResponse.java @@ -0,0 +1,168 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RefreshResult; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * UserFinancialDataRefreshResponse defines the response schema for `/user/financial_data/refresh` + */ +@ApiModel(description = "UserFinancialDataRefreshResponse defines the response schema for `/user/financial_data/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserFinancialDataRefreshResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_RESULTS = "results"; + @SerializedName(SERIALIZED_NAME_RESULTS) + private List results = null; + + + public UserFinancialDataRefreshResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public UserFinancialDataRefreshResponse userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The user ID associated with the refresh request. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user ID associated with the refresh request.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public UserFinancialDataRefreshResponse results(List results) { + + this.results = results; + return this; + } + + public UserFinancialDataRefreshResponse addResultsItem(RefreshResult resultsItem) { + if (this.results == null) { + this.results = new ArrayList<>(); + } + this.results.add(resultsItem); + return this; + } + + /** + * Get results + * @return results + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getResults() { + return results; + } + + + public void setResults(List results) { + this.results = results; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserFinancialDataRefreshResponse userFinancialDataRefreshResponse = (UserFinancialDataRefreshResponse) o; + return Objects.equals(this.requestId, userFinancialDataRefreshResponse.requestId) && + Objects.equals(this.userId, userFinancialDataRefreshResponse.userId) && + Objects.equals(this.results, userFinancialDataRefreshResponse.results); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, userId, results); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserFinancialDataRefreshResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" results: ").append(toIndentedString(results)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserGetRequest.java b/src/main/java/com/plaid/client/model/UserGetRequest.java new file mode 100644 index 0000000000..985ee07c70 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserGetRequest defines the request schema for `/user/get`. + */ +@ApiModel(description = "UserGetRequest defines the request schema for `/user/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public UserGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public UserGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @ApiModelProperty(required = true, value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserGetRequest userGetRequest = (UserGetRequest) o; + return Objects.equals(this.clientId, userGetRequest.clientId) && + Objects.equals(this.secret, userGetRequest.secret) && + Objects.equals(this.userId, userGetRequest.userId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserGetResponse.java b/src/main/java/com/plaid/client/model/UserGetResponse.java new file mode 100644 index 0000000000..ae3d33f2e0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserGetResponse.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ClientUserIdentity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * UserGetResponse defines the response schema for `/user/get`. + */ +@ApiModel(description = "UserGetResponse defines the response schema for `/user/get`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserGetResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + private OffsetDateTime updatedAt; + + public static final String SERIALIZED_NAME_IDENTITY = "identity"; + @SerializedName(SERIALIZED_NAME_IDENTITY) + private ClientUserIdentity identity; + + + public UserGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public UserGetResponse userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @ApiModelProperty(required = true, value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public UserGetResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * Client provided user ID. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Client provided user ID.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public UserGetResponse createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Timestamp of user creation. + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "Timestamp of user creation.") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public UserGetResponse updatedAt(OffsetDateTime updatedAt) { + + this.updatedAt = updatedAt; + return this; + } + + /** + * Timestamp of last user update. + * @return updatedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp of last user update.") + + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + + public void setUpdatedAt(OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + public UserGetResponse identity(ClientUserIdentity identity) { + + this.identity = identity; + return this; + } + + /** + * Get identity + * @return identity + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ClientUserIdentity getIdentity() { + return identity; + } + + + public void setIdentity(ClientUserIdentity identity) { + this.identity = identity; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserGetResponse userGetResponse = (UserGetResponse) o; + return Objects.equals(this.requestId, userGetResponse.requestId) && + Objects.equals(this.userId, userGetResponse.userId) && + Objects.equals(this.clientUserId, userGetResponse.clientUserId) && + Objects.equals(this.createdAt, userGetResponse.createdAt) && + Objects.equals(this.updatedAt, userGetResponse.updatedAt) && + Objects.equals(this.identity, userGetResponse.identity); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, userId, clientUserId, createdAt, updatedAt, identity); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserGetResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" identity: ").append(toIndentedString(identity)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserIDNumber.java b/src/main/java/com/plaid/client/model/UserIDNumber.java new file mode 100644 index 0000000000..7297524a58 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserIDNumber.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IDNumberType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * ID number submitted by the user, currently used only for the Identity Verification product. If the user has not submitted this data yet, this field will be `null`. Otherwise, both fields are guaranteed to be filled. + */ +@ApiModel(description = "ID number submitted by the user, currently used only for the Identity Verification product. If the user has not submitted this data yet, this field will be `null`. Otherwise, both fields are guaranteed to be filled.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserIDNumber { + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private IDNumberType type; + + + public UserIDNumber value(String value) { + + this.value = value; + return this; + } + + /** + * Value of the identity document typed in by the user. Alpha-numeric, with all formatting characters stripped. For specific format requirements by ID type, see [Input Validation Rules](https://plaid.com/docs/identity-verification/hybrid-input-validation/#id-numbers). + * @return value + **/ + @ApiModelProperty(example = "123456789", required = true, value = "Value of the identity document typed in by the user. Alpha-numeric, with all formatting characters stripped. For specific format requirements by ID type, see [Input Validation Rules](https://plaid.com/docs/identity-verification/hybrid-input-validation/#id-numbers).") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + public UserIDNumber type(IDNumberType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public IDNumberType getType() { + return type; + } + + + public void setType(IDNumberType type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserIDNumber userIDNumber = (UserIDNumber) o; + return Objects.equals(this.value, userIDNumber.value) && + Objects.equals(this.type, userIDNumber.type); + } + + @Override + public int hashCode() { + return Objects.hash(value, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserIDNumber {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserIdentityRemoveRequest.java b/src/main/java/com/plaid/client/model/UserIdentityRemoveRequest.java new file mode 100644 index 0000000000..8906a40d23 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserIdentityRemoveRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserIdentityRemoveRequest defines the request schema for `/user/identity/remove` + */ +@ApiModel(description = "UserIdentityRemoveRequest defines the request schema for `/user/identity/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserIdentityRemoveRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public UserIdentityRemoveRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserIdentityRemoveRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public UserIdentityRemoveRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @ApiModelProperty(required = true, value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserIdentityRemoveRequest userIdentityRemoveRequest = (UserIdentityRemoveRequest) o; + return Objects.equals(this.clientId, userIdentityRemoveRequest.clientId) && + Objects.equals(this.secret, userIdentityRemoveRequest.secret) && + Objects.equals(this.userId, userIdentityRemoveRequest.userId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserIdentityRemoveRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserIdentityRemoveResponse.java b/src/main/java/com/plaid/client/model/UserIdentityRemoveResponse.java new file mode 100644 index 0000000000..94f7537423 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserIdentityRemoveResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserIdentityRemoveResponse defines the response schema for `/user/identity/remove` + */ +@ApiModel(description = "UserIdentityRemoveResponse defines the response schema for `/user/identity/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserIdentityRemoveResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public UserIdentityRemoveResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserIdentityRemoveResponse userIdentityRemoveResponse = (UserIdentityRemoveResponse) o; + return Objects.equals(this.requestId, userIdentityRemoveResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserIdentityRemoveResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserItemsAssociateRequest.java b/src/main/java/com/plaid/client/model/UserItemsAssociateRequest.java new file mode 100644 index 0000000000..e1845217ed --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserItemsAssociateRequest.java @@ -0,0 +1,191 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * UserItemsAssociateRequest defines the request schema for `/user/items/associate` + */ +@ApiModel(description = "UserItemsAssociateRequest defines the request schema for `/user/items/associate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserItemsAssociateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = new ArrayList<>(); + + + public UserItemsAssociateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserItemsAssociateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public UserItemsAssociateRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @ApiModelProperty(required = true, value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public UserItemsAssociateRequest itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public UserItemsAssociateRequest addItemIdsItem(String itemIdsItem) { + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * An array of `item_id`s to be associated with the `user_id`. + * @return itemIds + **/ + @ApiModelProperty(required = true, value = "An array of `item_id`s to be associated with the `user_id`.") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserItemsAssociateRequest userItemsAssociateRequest = (UserItemsAssociateRequest) o; + return Objects.equals(this.clientId, userItemsAssociateRequest.clientId) && + Objects.equals(this.secret, userItemsAssociateRequest.secret) && + Objects.equals(this.userId, userItemsAssociateRequest.userId) && + Objects.equals(this.itemIds, userItemsAssociateRequest.itemIds); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, itemIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserItemsAssociateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserItemsAssociateResponse.java b/src/main/java/com/plaid/client/model/UserItemsAssociateResponse.java new file mode 100644 index 0000000000..f6dd2b6159 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserItemsAssociateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserItemsAssociateResponse defines the response schema for `/user/items/associate` + */ +@ApiModel(description = "UserItemsAssociateResponse defines the response schema for `/user/items/associate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserItemsAssociateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public UserItemsAssociateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserItemsAssociateResponse userItemsAssociateResponse = (UserItemsAssociateResponse) o; + return Objects.equals(this.requestId, userItemsAssociateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserItemsAssociateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserItemsGetRequest.java b/src/main/java/com/plaid/client/model/UserItemsGetRequest.java new file mode 100644 index 0000000000..d492426d5a --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserItemsGetRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserItemsGetRequest defines the request schema for `/user/items/get` + */ +@ApiModel(description = "UserItemsGetRequest defines the request schema for `/user/items/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserItemsGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public UserItemsGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserItemsGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public UserItemsGetRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public UserItemsGetRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserItemsGetRequest userItemsGetRequest = (UserItemsGetRequest) o; + return Objects.equals(this.clientId, userItemsGetRequest.clientId) && + Objects.equals(this.secret, userItemsGetRequest.secret) && + Objects.equals(this.userToken, userItemsGetRequest.userToken) && + Objects.equals(this.userId, userItemsGetRequest.userId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserItemsGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserItemsGetResponse.java b/src/main/java/com/plaid/client/model/UserItemsGetResponse.java new file mode 100644 index 0000000000..9bcea5fad5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserItemsGetResponse.java @@ -0,0 +1,134 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Item; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * UserItemsGetResponse defines the response schema for `/user/items/get` + */ +@ApiModel(description = "UserItemsGetResponse defines the response schema for `/user/items/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserItemsGetResponse { + public static final String SERIALIZED_NAME_ITEMS = "items"; + @SerializedName(SERIALIZED_NAME_ITEMS) + private List items = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public UserItemsGetResponse items(List items) { + + this.items = items; + return this; + } + + public UserItemsGetResponse addItemsItem(Item itemsItem) { + this.items.add(itemsItem); + return this; + } + + /** + * Get items + * @return items + **/ + @ApiModelProperty(required = true, value = "") + + public List getItems() { + return items; + } + + + public void setItems(List items) { + this.items = items; + } + + + public UserItemsGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserItemsGetResponse userItemsGetResponse = (UserItemsGetResponse) o; + return Objects.equals(this.items, userItemsGetResponse.items) && + Objects.equals(this.requestId, userItemsGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(items, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserItemsGetResponse {\n"); + sb.append(" items: ").append(toIndentedString(items)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserItemsRemoveRequest.java b/src/main/java/com/plaid/client/model/UserItemsRemoveRequest.java new file mode 100644 index 0000000000..ad78cdfe5b --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserItemsRemoveRequest.java @@ -0,0 +1,221 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * UserItemsRemoveRequest defines the request schema for `/user/items/remove` + */ +@ApiModel(description = "UserItemsRemoveRequest defines the request schema for `/user/items/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserItemsRemoveRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ITEM_IDS = "item_ids"; + @SerializedName(SERIALIZED_NAME_ITEM_IDS) + private List itemIds = new ArrayList<>(); + + + public UserItemsRemoveRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserItemsRemoveRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public UserItemsRemoveRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public UserItemsRemoveRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public UserItemsRemoveRequest itemIds(List itemIds) { + + this.itemIds = itemIds; + return this; + } + + public UserItemsRemoveRequest addItemIdsItem(String itemIdsItem) { + this.itemIds.add(itemIdsItem); + return this; + } + + /** + * An array of `item_id`s to be deleted. All Items for removal must be currently associated with the provided `user_id` or `user_token`. Otherwise, the entire operation will error and no Items will be deleted. + * @return itemIds + **/ + @ApiModelProperty(required = true, value = "An array of `item_id`s to be deleted. All Items for removal must be currently associated with the provided `user_id` or `user_token`. Otherwise, the entire operation will error and no Items will be deleted.") + + public List getItemIds() { + return itemIds; + } + + + public void setItemIds(List itemIds) { + this.itemIds = itemIds; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserItemsRemoveRequest userItemsRemoveRequest = (UserItemsRemoveRequest) o; + return Objects.equals(this.clientId, userItemsRemoveRequest.clientId) && + Objects.equals(this.secret, userItemsRemoveRequest.secret) && + Objects.equals(this.userToken, userItemsRemoveRequest.userToken) && + Objects.equals(this.userId, userItemsRemoveRequest.userId) && + Objects.equals(this.itemIds, userItemsRemoveRequest.itemIds); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, userId, itemIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserItemsRemoveRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" itemIds: ").append(toIndentedString(itemIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserItemsRemoveResponse.java b/src/main/java/com/plaid/client/model/UserItemsRemoveResponse.java new file mode 100644 index 0000000000..eaff433ec0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserItemsRemoveResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserItemsRemoveResponse defines the response schema for `/user/items/remove` + */ +@ApiModel(description = "UserItemsRemoveResponse defines the response schema for `/user/items/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserItemsRemoveResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public UserItemsRemoveResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserItemsRemoveResponse userItemsRemoveResponse = (UserItemsRemoveResponse) o; + return Objects.equals(this.requestId, userItemsRemoveResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserItemsRemoveResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserPermissionRevokedWebhook.java b/src/main/java/com/plaid/client/model/UserPermissionRevokedWebhook.java new file mode 100644 index 0000000000..5e83687f17 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserPermissionRevokedWebhook.java @@ -0,0 +1,242 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The `USER_PERMISSION_REVOKED` webhook may be fired when an end user has revoked the permission that they previously granted to access an Item. If the end user revoked their permissions through Plaid (such as via the Plaid Portal or by contacting Plaid support), the webhook will fire. If the end user revoked their permissions directly through the institution, this webhook may not always fire, since some institutions' consent portals do not trigger this webhook. To attempt to restore the Item, it can be sent through [update mode](https://plaid.com/docs/link/update-mode). Depending on the exact process the end user used to revoke permissions, it may not be possible to launch update mode for the Item. If you encounter an error when attempting to create a Link token for update mode on an Item with revoked permissions, create a fresh Link token for the user. Note that when working with tokenized account numbers with Auth or Transfer, the account number provided by Plaid will no longer work for creating transfers once user permission has been revoked, except for US Bank Items. + */ +@ApiModel(description = "The `USER_PERMISSION_REVOKED` webhook may be fired when an end user has revoked the permission that they previously granted to access an Item. If the end user revoked their permissions through Plaid (such as via the Plaid Portal or by contacting Plaid support), the webhook will fire. If the end user revoked their permissions directly through the institution, this webhook may not always fire, since some institutions' consent portals do not trigger this webhook. To attempt to restore the Item, it can be sent through [update mode](https://plaid.com/docs/link/update-mode). Depending on the exact process the end user used to revoke permissions, it may not be possible to launch update mode for the Item. If you encounter an error when attempting to create a Link token for update mode on an Item with revoked permissions, create a fresh Link token for the user. Note that when working with tokenized account numbers with Auth or Transfer, the account number provided by Plaid will no longer work for creating transfers once user permission has been revoked, except for US Bank Items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserPermissionRevokedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public UserPermissionRevokedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `ITEM` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`ITEM`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public UserPermissionRevokedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `USER_PERMISSION_REVOKED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`USER_PERMISSION_REVOKED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public UserPermissionRevokedWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public UserPermissionRevokedWebhook userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The Plaid `user_id` of the User associated with this webhook, warning, or error. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The Plaid `user_id` of the User associated with this webhook, warning, or error.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public UserPermissionRevokedWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public UserPermissionRevokedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserPermissionRevokedWebhook userPermissionRevokedWebhook = (UserPermissionRevokedWebhook) o; + return Objects.equals(this.webhookType, userPermissionRevokedWebhook.webhookType) && + Objects.equals(this.webhookCode, userPermissionRevokedWebhook.webhookCode) && + Objects.equals(this.itemId, userPermissionRevokedWebhook.itemId) && + Objects.equals(this.userId, userPermissionRevokedWebhook.userId) && + Objects.equals(this.error, userPermissionRevokedWebhook.error) && + Objects.equals(this.environment, userPermissionRevokedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, userId, error, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserPermissionRevokedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserProductsTerminateRequest.java b/src/main/java/com/plaid/client/model/UserProductsTerminateRequest.java new file mode 100644 index 0000000000..1609f5fd81 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserProductsTerminateRequest.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ProductsTerminateReasonCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserProductsTerminateRequest defines the request schema for `/user/products/terminate` + */ +@ApiModel(description = "UserProductsTerminateRequest defines the request schema for `/user/products/terminate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserProductsTerminateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_REASON_CODE = "reason_code"; + @SerializedName(SERIALIZED_NAME_REASON_CODE) + private ProductsTerminateReasonCode reasonCode; + + public static final String SERIALIZED_NAME_REASON_NOTE = "reason_note"; + @SerializedName(SERIALIZED_NAME_REASON_NOTE) + private String reasonNote; + + + public UserProductsTerminateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserProductsTerminateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public UserProductsTerminateRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @ApiModelProperty(required = true, value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public UserProductsTerminateRequest reasonCode(ProductsTerminateReasonCode reasonCode) { + + this.reasonCode = reasonCode; + return this; + } + + /** + * Get reasonCode + * @return reasonCode + **/ + @ApiModelProperty(required = true, value = "") + + public ProductsTerminateReasonCode getReasonCode() { + return reasonCode; + } + + + public void setReasonCode(ProductsTerminateReasonCode reasonCode) { + this.reasonCode = reasonCode; + } + + + public UserProductsTerminateRequest reasonNote(String reasonNote) { + + this.reasonNote = reasonNote; + return this; + } + + /** + * Additional context or details about the reason for terminating user-based products. Personally identifiable information, such as an email address or phone number, should not be included in the `reason_note`. + * @return reasonNote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Additional context or details about the reason for terminating user-based products. Personally identifiable information, such as an email address or phone number, should not be included in the `reason_note`.") + + public String getReasonNote() { + return reasonNote; + } + + + public void setReasonNote(String reasonNote) { + this.reasonNote = reasonNote; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserProductsTerminateRequest userProductsTerminateRequest = (UserProductsTerminateRequest) o; + return Objects.equals(this.clientId, userProductsTerminateRequest.clientId) && + Objects.equals(this.secret, userProductsTerminateRequest.secret) && + Objects.equals(this.userId, userProductsTerminateRequest.userId) && + Objects.equals(this.reasonCode, userProductsTerminateRequest.reasonCode) && + Objects.equals(this.reasonNote, userProductsTerminateRequest.reasonNote); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, reasonCode, reasonNote); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserProductsTerminateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" reasonCode: ").append(toIndentedString(reasonCode)).append("\n"); + sb.append(" reasonNote: ").append(toIndentedString(reasonNote)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserProductsTerminateResponse.java b/src/main/java/com/plaid/client/model/UserProductsTerminateResponse.java new file mode 100644 index 0000000000..0531cdf943 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserProductsTerminateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserProductsTerminateResponse defines the response schema for `/user/products/terminate` + */ +@ApiModel(description = "UserProductsTerminateResponse defines the response schema for `/user/products/terminate`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserProductsTerminateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public UserProductsTerminateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserProductsTerminateResponse userProductsTerminateResponse = (UserProductsTerminateResponse) o; + return Objects.equals(this.requestId, userProductsTerminateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserProductsTerminateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserRemoveRequest.java b/src/main/java/com/plaid/client/model/UserRemoveRequest.java new file mode 100644 index 0000000000..1ebcdb6646 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserRemoveRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserRemoveRequest defines the request schema for `/user/remove` + */ +@ApiModel(description = "UserRemoveRequest defines the request schema for `/user/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserRemoveRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + + public UserRemoveRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserRemoveRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public UserRemoveRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public UserRemoveRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserRemoveRequest userRemoveRequest = (UserRemoveRequest) o; + return Objects.equals(this.clientId, userRemoveRequest.clientId) && + Objects.equals(this.secret, userRemoveRequest.secret) && + Objects.equals(this.userId, userRemoveRequest.userId) && + Objects.equals(this.userToken, userRemoveRequest.userToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, userToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserRemoveRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserRemoveResponse.java b/src/main/java/com/plaid/client/model/UserRemoveResponse.java new file mode 100644 index 0000000000..9237a0281b --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserRemoveResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserRemoveResponse defines the response schema for `/user/remove` + */ +@ApiModel(description = "UserRemoveResponse defines the response schema for `/user/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserRemoveResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public UserRemoveResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserRemoveResponse userRemoveResponse = (UserRemoveResponse) o; + return Objects.equals(this.requestId, userRemoveResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserRemoveResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserStatedIncomeSourceCategory.java b/src/main/java/com/plaid/client/model/UserStatedIncomeSourceCategory.java new file mode 100644 index 0000000000..b125683835 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserStatedIncomeSourceCategory.java @@ -0,0 +1,97 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The income category for a specified income source + */ +@JsonAdapter(UserStatedIncomeSourceCategory.Adapter.class) +public enum UserStatedIncomeSourceCategory { + + OTHER("OTHER"), + + SALARY("SALARY"), + + UNEMPLOYMENT("UNEMPLOYMENT"), + + CASH("CASH"), + + GIG_ECONOMY("GIG_ECONOMY"), + + RENTAL("RENTAL"), + + CHILD_SUPPORT("CHILD_SUPPORT"), + + MILITARY("MILITARY"), + + RETIREMENT("RETIREMENT"), + + LONG_TERM_DISABILITY("LONG_TERM_DISABILITY"), + + BANK_INTEREST("BANK_INTEREST"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + UserStatedIncomeSourceCategory(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static UserStatedIncomeSourceCategory fromValue(String value) { + for (UserStatedIncomeSourceCategory b : UserStatedIncomeSourceCategory.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return UserStatedIncomeSourceCategory.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final UserStatedIncomeSourceCategory enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public UserStatedIncomeSourceCategory read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return UserStatedIncomeSourceCategory.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/UserStatedIncomeSourceFrequency.java b/src/main/java/com/plaid/client/model/UserStatedIncomeSourceFrequency.java new file mode 100644 index 0000000000..f33e84e191 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserStatedIncomeSourceFrequency.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The pay frequency of a specified income source + */ +@JsonAdapter(UserStatedIncomeSourceFrequency.Adapter.class) +public enum UserStatedIncomeSourceFrequency { + + UNKNOWN("UNKNOWN"), + + WEEKLY("WEEKLY"), + + BIWEEKLY("BIWEEKLY"), + + SEMI_MONTHLY("SEMI_MONTHLY"), + + MONTHLY("MONTHLY"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + UserStatedIncomeSourceFrequency(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static UserStatedIncomeSourceFrequency fromValue(String value) { + for (UserStatedIncomeSourceFrequency b : UserStatedIncomeSourceFrequency.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return UserStatedIncomeSourceFrequency.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final UserStatedIncomeSourceFrequency enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public UserStatedIncomeSourceFrequency read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return UserStatedIncomeSourceFrequency.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/UserStatedIncomeSourcePayType.java b/src/main/java/com/plaid/client/model/UserStatedIncomeSourcePayType.java new file mode 100644 index 0000000000..58d610cd85 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserStatedIncomeSourcePayType.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The pay type - `GROSS`, `NET`, or `UNKNOWN` for a specified income source + */ +@JsonAdapter(UserStatedIncomeSourcePayType.Adapter.class) +public enum UserStatedIncomeSourcePayType { + + UNKNOWN("UNKNOWN"), + + GROSS("GROSS"), + + NET("NET"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + UserStatedIncomeSourcePayType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static UserStatedIncomeSourcePayType fromValue(String value) { + for (UserStatedIncomeSourcePayType b : UserStatedIncomeSourcePayType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return UserStatedIncomeSourcePayType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final UserStatedIncomeSourcePayType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public UserStatedIncomeSourcePayType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return UserStatedIncomeSourcePayType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/UserThirdPartyTokenCreateRequest.java b/src/main/java/com/plaid/client/model/UserThirdPartyTokenCreateRequest.java new file mode 100644 index 0000000000..d8e3cc8d8a --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserThirdPartyTokenCreateRequest.java @@ -0,0 +1,244 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * UserThirdPartyTokenCreateRequest defines the request schema for `/user/third_party_token/create` + */ +@ApiModel(description = "UserThirdPartyTokenCreateRequest defines the request schema for `/user/third_party_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserThirdPartyTokenCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_THIRD_PARTY_CLIENT_ID = "third_party_client_id"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_CLIENT_ID) + private String thirdPartyClientId; + + public static final String SERIALIZED_NAME_EXPIRATION_TIME = "expiration_time"; + @SerializedName(SERIALIZED_NAME_EXPIRATION_TIME) + private OffsetDateTime expirationTime; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + + public UserThirdPartyTokenCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserThirdPartyTokenCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public UserThirdPartyTokenCreateRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public UserThirdPartyTokenCreateRequest thirdPartyClientId(String thirdPartyClientId) { + + this.thirdPartyClientId = thirdPartyClientId; + return this; + } + + /** + * The Plaid API `client_id` of the third-party client the token will be shared with. The token will only be valid for the specified client. + * @return thirdPartyClientId + **/ + @ApiModelProperty(required = true, value = "The Plaid API `client_id` of the third-party client the token will be shared with. The token will only be valid for the specified client.") + + public String getThirdPartyClientId() { + return thirdPartyClientId; + } + + + public void setThirdPartyClientId(String thirdPartyClientId) { + this.thirdPartyClientId = thirdPartyClientId; + } + + + public UserThirdPartyTokenCreateRequest expirationTime(OffsetDateTime expirationTime) { + + this.expirationTime = expirationTime; + return this; + } + + /** + * The expiration date and time for the third-party user token in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDThh:mm:ssZ`). The expiration is restricted to a maximum of 24 hours from the token's creation time. If not provided, the token will automatically expire after 24 hours. + * @return expirationTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The expiration date and time for the third-party user token in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDThh:mm:ssZ`). The expiration is restricted to a maximum of 24 hours from the token's creation time. If not provided, the token will automatically expire after 24 hours.") + + public OffsetDateTime getExpirationTime() { + return expirationTime; + } + + + public void setExpirationTime(OffsetDateTime expirationTime) { + this.expirationTime = expirationTime; + } + + + public UserThirdPartyTokenCreateRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserThirdPartyTokenCreateRequest userThirdPartyTokenCreateRequest = (UserThirdPartyTokenCreateRequest) o; + return Objects.equals(this.clientId, userThirdPartyTokenCreateRequest.clientId) && + Objects.equals(this.secret, userThirdPartyTokenCreateRequest.secret) && + Objects.equals(this.userToken, userThirdPartyTokenCreateRequest.userToken) && + Objects.equals(this.thirdPartyClientId, userThirdPartyTokenCreateRequest.thirdPartyClientId) && + Objects.equals(this.expirationTime, userThirdPartyTokenCreateRequest.expirationTime) && + Objects.equals(this.userId, userThirdPartyTokenCreateRequest.userId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userToken, thirdPartyClientId, expirationTime, userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserThirdPartyTokenCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" thirdPartyClientId: ").append(toIndentedString(thirdPartyClientId)).append("\n"); + sb.append(" expirationTime: ").append(toIndentedString(expirationTime)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserThirdPartyTokenCreateResponse.java b/src/main/java/com/plaid/client/model/UserThirdPartyTokenCreateResponse.java new file mode 100644 index 0000000000..f56ed11208 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserThirdPartyTokenCreateResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserThirdPartyTokenCreateResponse defines the response schema for `/user/third_party_token/create` + */ +@ApiModel(description = "UserThirdPartyTokenCreateResponse defines the response schema for `/user/third_party_token/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserThirdPartyTokenCreateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN = "third_party_user_token"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN) + private String thirdPartyUserToken; + + + public UserThirdPartyTokenCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public UserThirdPartyTokenCreateResponse thirdPartyUserToken(String thirdPartyUserToken) { + + this.thirdPartyUserToken = thirdPartyUserToken; + return this; + } + + /** + * The third-party user token associated with the requested User data. + * @return thirdPartyUserToken + **/ + @ApiModelProperty(required = true, value = "The third-party user token associated with the requested User data.") + + public String getThirdPartyUserToken() { + return thirdPartyUserToken; + } + + + public void setThirdPartyUserToken(String thirdPartyUserToken) { + this.thirdPartyUserToken = thirdPartyUserToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserThirdPartyTokenCreateResponse userThirdPartyTokenCreateResponse = (UserThirdPartyTokenCreateResponse) o; + return Objects.equals(this.requestId, userThirdPartyTokenCreateResponse.requestId) && + Objects.equals(this.thirdPartyUserToken, userThirdPartyTokenCreateResponse.thirdPartyUserToken); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, thirdPartyUserToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserThirdPartyTokenCreateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" thirdPartyUserToken: ").append(toIndentedString(thirdPartyUserToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserThirdPartyTokenRemoveRequest.java b/src/main/java/com/plaid/client/model/UserThirdPartyTokenRemoveRequest.java new file mode 100644 index 0000000000..49c223114a --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserThirdPartyTokenRemoveRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserThirdPartyTokenRemoveRequest defines the request schema for `/user/third_party_token/remove` + */ +@ApiModel(description = "UserThirdPartyTokenRemoveRequest defines the request schema for `/user/third_party_token/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserThirdPartyTokenRemoveRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN = "third_party_user_token"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_USER_TOKEN) + private String thirdPartyUserToken; + + + public UserThirdPartyTokenRemoveRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserThirdPartyTokenRemoveRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public UserThirdPartyTokenRemoveRequest thirdPartyUserToken(String thirdPartyUserToken) { + + this.thirdPartyUserToken = thirdPartyUserToken; + return this; + } + + /** + * The third-party user token associated with the requested User data. + * @return thirdPartyUserToken + **/ + @ApiModelProperty(required = true, value = "The third-party user token associated with the requested User data.") + + public String getThirdPartyUserToken() { + return thirdPartyUserToken; + } + + + public void setThirdPartyUserToken(String thirdPartyUserToken) { + this.thirdPartyUserToken = thirdPartyUserToken; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserThirdPartyTokenRemoveRequest userThirdPartyTokenRemoveRequest = (UserThirdPartyTokenRemoveRequest) o; + return Objects.equals(this.clientId, userThirdPartyTokenRemoveRequest.clientId) && + Objects.equals(this.secret, userThirdPartyTokenRemoveRequest.secret) && + Objects.equals(this.thirdPartyUserToken, userThirdPartyTokenRemoveRequest.thirdPartyUserToken); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, thirdPartyUserToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserThirdPartyTokenRemoveRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" thirdPartyUserToken: ").append(toIndentedString(thirdPartyUserToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserThirdPartyTokenRemoveResponse.java b/src/main/java/com/plaid/client/model/UserThirdPartyTokenRemoveResponse.java new file mode 100644 index 0000000000..4de74241ba --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserThirdPartyTokenRemoveResponse.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserThirdPartyTokenRemoveResponse defines the response schema for `/user/third_party_token/remove` + */ +@ApiModel(description = "UserThirdPartyTokenRemoveResponse defines the response schema for `/user/third_party_token/remove`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserThirdPartyTokenRemoveResponse { + public static final String SERIALIZED_NAME_REMOVED = "removed"; + @SerializedName(SERIALIZED_NAME_REMOVED) + private Boolean removed; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public UserThirdPartyTokenRemoveResponse removed(Boolean removed) { + + this.removed = removed; + return this; + } + + /** + * `true` if the third-party user token was successfully removed. + * @return removed + **/ + @ApiModelProperty(required = true, value = "`true` if the third-party user token was successfully removed.") + + public Boolean getRemoved() { + return removed; + } + + + public void setRemoved(Boolean removed) { + this.removed = removed; + } + + + public UserThirdPartyTokenRemoveResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserThirdPartyTokenRemoveResponse userThirdPartyTokenRemoveResponse = (UserThirdPartyTokenRemoveResponse) o; + return Objects.equals(this.removed, userThirdPartyTokenRemoveResponse.removed) && + Objects.equals(this.requestId, userThirdPartyTokenRemoveResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(removed, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserThirdPartyTokenRemoveResponse {\n"); + sb.append(" removed: ").append(toIndentedString(removed)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserTransactionsRefreshRequest.java b/src/main/java/com/plaid/client/model/UserTransactionsRefreshRequest.java new file mode 100644 index 0000000000..742a35514b --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserTransactionsRefreshRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserTransactionsRefreshRequest defines the request schema for `/user/transactions/refresh` + */ +@ApiModel(description = "UserTransactionsRefreshRequest defines the request schema for `/user/transactions/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserTransactionsRefreshRequest { + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public UserTransactionsRefreshRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A Plaid-generated ID that identifies the end user. + * @return userId + **/ + @ApiModelProperty(required = true, value = "A Plaid-generated ID that identifies the end user.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public UserTransactionsRefreshRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserTransactionsRefreshRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserTransactionsRefreshRequest userTransactionsRefreshRequest = (UserTransactionsRefreshRequest) o; + return Objects.equals(this.userId, userTransactionsRefreshRequest.userId) && + Objects.equals(this.clientId, userTransactionsRefreshRequest.clientId) && + Objects.equals(this.secret, userTransactionsRefreshRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(userId, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserTransactionsRefreshRequest {\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserTransactionsRefreshResponse.java b/src/main/java/com/plaid/client/model/UserTransactionsRefreshResponse.java new file mode 100644 index 0000000000..ada6006683 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserTransactionsRefreshResponse.java @@ -0,0 +1,168 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RefreshResult; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * UserTransactionsRefreshResponse defines the response schema for `/user/transactions/refresh` + */ +@ApiModel(description = "UserTransactionsRefreshResponse defines the response schema for `/user/transactions/refresh`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserTransactionsRefreshResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_RESULTS = "results"; + @SerializedName(SERIALIZED_NAME_RESULTS) + private List results = null; + + + public UserTransactionsRefreshResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + public UserTransactionsRefreshResponse userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * The user ID associated with the refresh request. + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user ID associated with the refresh request.") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public UserTransactionsRefreshResponse results(List results) { + + this.results = results; + return this; + } + + public UserTransactionsRefreshResponse addResultsItem(RefreshResult resultsItem) { + if (this.results == null) { + this.results = new ArrayList<>(); + } + this.results.add(resultsItem); + return this; + } + + /** + * Get results + * @return results + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getResults() { + return results; + } + + + public void setResults(List results) { + this.results = results; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserTransactionsRefreshResponse userTransactionsRefreshResponse = (UserTransactionsRefreshResponse) o; + return Objects.equals(this.requestId, userTransactionsRefreshResponse.requestId) && + Objects.equals(this.userId, userTransactionsRefreshResponse.userId) && + Objects.equals(this.results, userTransactionsRefreshResponse.results); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, userId, results); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserTransactionsRefreshResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" results: ").append(toIndentedString(results)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserUpdateRequest.java b/src/main/java/com/plaid/client/model/UserUpdateRequest.java new file mode 100644 index 0000000000..4a644a9415 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserUpdateRequest.java @@ -0,0 +1,246 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ClientUserIdentity; +import com.plaid.client.model.ConsumerReportUserIdentity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserUpdateRequest defines the request schema for `/user/update` + */ +@ApiModel(description = "UserUpdateRequest defines the request schema for `/user/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserUpdateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private String userId; + + public static final String SERIALIZED_NAME_IDENTITY = "identity"; + @SerializedName(SERIALIZED_NAME_IDENTITY) + private ClientUserIdentity identity; + + public static final String SERIALIZED_NAME_USER_TOKEN = "user_token"; + @SerializedName(SERIALIZED_NAME_USER_TOKEN) + private String userToken; + + public static final String SERIALIZED_NAME_CONSUMER_REPORT_USER_IDENTITY = "consumer_report_user_identity"; + @SerializedName(SERIALIZED_NAME_CONSUMER_REPORT_USER_IDENTITY) + private ConsumerReportUserIdentity consumerReportUserIdentity; + + + public UserUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public UserUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public UserUpdateRequest userId(String userId) { + + this.userId = userId; + return this; + } + + /** + * A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserId() { + return userId; + } + + + public void setUserId(String userId) { + this.userId = userId; + } + + + public UserUpdateRequest identity(ClientUserIdentity identity) { + + this.identity = identity; + return this; + } + + /** + * Get identity + * @return identity + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ClientUserIdentity getIdentity() { + return identity; + } + + + public void setIdentity(ClientUserIdentity identity) { + this.identity = identity; + } + + + public UserUpdateRequest userToken(String userToken) { + + this.userToken = userToken; + return this; + } + + /** + * The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @return userToken + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).") + + public String getUserToken() { + return userToken; + } + + + public void setUserToken(String userToken) { + this.userToken = userToken; + } + + + public UserUpdateRequest consumerReportUserIdentity(ConsumerReportUserIdentity consumerReportUserIdentity) { + + this.consumerReportUserIdentity = consumerReportUserIdentity; + return this; + } + + /** + * Get consumerReportUserIdentity + * @return consumerReportUserIdentity + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ConsumerReportUserIdentity getConsumerReportUserIdentity() { + return consumerReportUserIdentity; + } + + + public void setConsumerReportUserIdentity(ConsumerReportUserIdentity consumerReportUserIdentity) { + this.consumerReportUserIdentity = consumerReportUserIdentity; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserUpdateRequest userUpdateRequest = (UserUpdateRequest) o; + return Objects.equals(this.clientId, userUpdateRequest.clientId) && + Objects.equals(this.secret, userUpdateRequest.secret) && + Objects.equals(this.userId, userUpdateRequest.userId) && + Objects.equals(this.identity, userUpdateRequest.identity) && + Objects.equals(this.userToken, userUpdateRequest.userToken) && + Objects.equals(this.consumerReportUserIdentity, userUpdateRequest.consumerReportUserIdentity); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, userId, identity, userToken, consumerReportUserIdentity); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserUpdateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" identity: ").append(toIndentedString(identity)).append("\n"); + sb.append(" userToken: ").append(toIndentedString(userToken)).append("\n"); + sb.append(" consumerReportUserIdentity: ").append(toIndentedString(consumerReportUserIdentity)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/UserUpdateResponse.java b/src/main/java/com/plaid/client/model/UserUpdateResponse.java new file mode 100644 index 0000000000..c764872f96 --- /dev/null +++ b/src/main/java/com/plaid/client/model/UserUpdateResponse.java @@ -0,0 +1,98 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UserUpdateResponse defines the response schema for `/user/update` + */ +@ApiModel(description = "UserUpdateResponse defines the response schema for `/user/update`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class UserUpdateResponse { + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public UserUpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserUpdateResponse userUpdateResponse = (UserUpdateResponse) o; + return Objects.equals(this.requestId, userUpdateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserUpdateResponse {\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ValidationSource.java b/src/main/java/com/plaid/client/model/ValidationSource.java new file mode 100644 index 0000000000..41b2d2f5da --- /dev/null +++ b/src/main/java/com/plaid/client/model/ValidationSource.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ValidationSource { + public static final String SERIALIZED_NAME_VALIDATION_SOURCE_NAME = "ValidationSourceName"; + @SerializedName(SERIALIZED_NAME_VALIDATION_SOURCE_NAME) + private String validationSourceName; + + public static final String SERIALIZED_NAME_VALIDATION_SOURCE_REFERENCE_IDENTIFIER = "ValidationSourceReferenceIdentifier"; + @SerializedName(SERIALIZED_NAME_VALIDATION_SOURCE_REFERENCE_IDENTIFIER) + private String validationSourceReferenceIdentifier; + + + public ValidationSource validationSourceName(String validationSourceName) { + + this.validationSourceName = validationSourceName; + return this; + } + + /** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + * @return validationSourceName + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") + + public String getValidationSourceName() { + return validationSourceName; + } + + + public void setValidationSourceName(String validationSourceName) { + this.validationSourceName = validationSourceName; + } + + + public ValidationSource validationSourceReferenceIdentifier(String validationSourceReferenceIdentifier) { + + this.validationSourceReferenceIdentifier = validationSourceReferenceIdentifier; + return this; + } + + /** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + * @return validationSourceReferenceIdentifier + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") + + public String getValidationSourceReferenceIdentifier() { + return validationSourceReferenceIdentifier; + } + + + public void setValidationSourceReferenceIdentifier(String validationSourceReferenceIdentifier) { + this.validationSourceReferenceIdentifier = validationSourceReferenceIdentifier; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ValidationSource validationSource = (ValidationSource) o; + return Objects.equals(this.validationSourceName, validationSource.validationSourceName) && + Objects.equals(this.validationSourceReferenceIdentifier, validationSource.validationSourceReferenceIdentifier); + } + + @Override + public int hashCode() { + return Objects.hash(validationSourceName, validationSourceReferenceIdentifier); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ValidationSource {\n"); + sb.append(" validationSourceName: ").append(toIndentedString(validationSourceName)).append("\n"); + sb.append(" validationSourceReferenceIdentifier: ").append(toIndentedString(validationSourceReferenceIdentifier)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/ValidationSources.java b/src/main/java/com/plaid/client/model/ValidationSources.java new file mode 100644 index 0000000000..c9ad63ec57 --- /dev/null +++ b/src/main/java/com/plaid/client/model/ValidationSources.java @@ -0,0 +1,106 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ValidationSource; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class ValidationSources { + public static final String SERIALIZED_NAME_V_A_L_I_D_A_T_I_O_N_S_O_U_R_C_E = "VALIDATION_SOURCE"; + @SerializedName(SERIALIZED_NAME_V_A_L_I_D_A_T_I_O_N_S_O_U_R_C_E) + private List VALIDATION_SOURCE = new ArrayList<>(); + + + public ValidationSources VALIDATION_SOURCE(List VALIDATION_SOURCE) { + + this.VALIDATION_SOURCE = VALIDATION_SOURCE; + return this; + } + + public ValidationSources addVALIDATIONSOURCEItem(ValidationSource VALIDATION_SOURCEItem) { + this.VALIDATION_SOURCE.add(VALIDATION_SOURCEItem); + return this; + } + + /** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + * @return VALIDATION_SOURCE + **/ + @ApiModelProperty(required = true, value = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") + + public List getVALIDATIONSOURCE() { + return VALIDATION_SOURCE; + } + + + public void setVALIDATIONSOURCE(List VALIDATION_SOURCE) { + this.VALIDATION_SOURCE = VALIDATION_SOURCE; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ValidationSources validationSources = (ValidationSources) o; + return Objects.equals(this.VALIDATION_SOURCE, validationSources.VALIDATION_SOURCE); + } + + @Override + public int hashCode() { + return Objects.hash(VALIDATION_SOURCE); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ValidationSources {\n"); + sb.append(" VALIDATION_SOURCE: ").append(toIndentedString(VALIDATION_SOURCE)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/VerificationExpiredWebhook.java b/src/main/java/com/plaid/client/model/VerificationExpiredWebhook.java new file mode 100644 index 0000000000..d20a1cd420 --- /dev/null +++ b/src/main/java/com/plaid/client/model/VerificationExpiredWebhook.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when an Item was not verified via automated micro-deposits after seven days since the automated micro-deposit was made. + */ +@ApiModel(description = "Fired when an Item was not verified via automated micro-deposits after seven days since the automated micro-deposit was made.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class VerificationExpiredWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private String accountId; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + + public VerificationExpiredWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `AUTH` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`AUTH`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public VerificationExpiredWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `VERIFICATION_EXPIRED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`VERIFICATION_EXPIRED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public VerificationExpiredWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public VerificationExpiredWebhook accountId(String accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The `account_id` of the account associated with the webhook + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The `account_id` of the account associated with the webhook") + + public String getAccountId() { + return accountId; + } + + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + + public VerificationExpiredWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + public VerificationExpiredWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VerificationExpiredWebhook verificationExpiredWebhook = (VerificationExpiredWebhook) o; + return Objects.equals(this.webhookType, verificationExpiredWebhook.webhookType) && + Objects.equals(this.webhookCode, verificationExpiredWebhook.webhookCode) && + Objects.equals(this.itemId, verificationExpiredWebhook.itemId) && + Objects.equals(this.accountId, verificationExpiredWebhook.accountId) && + Objects.equals(this.environment, verificationExpiredWebhook.environment) && + Objects.equals(this.error, verificationExpiredWebhook.error); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, accountId, environment, error); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VerificationExpiredWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/VerificationOfAsset.java b/src/main/java/com/plaid/client/model/VerificationOfAsset.java new file mode 100644 index 0000000000..661ee7cce2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/VerificationOfAsset.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.ReportingInformation; +import com.plaid.client.model.ServiceProductFulfillment; +import com.plaid.client.model.VerificationOfAssetResponse; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class VerificationOfAsset { + public static final String SERIALIZED_NAME_R_E_P_O_R_T_I_N_G_I_N_F_O_R_M_A_T_I_O_N = "REPORTING_INFORMATION"; + @SerializedName(SERIALIZED_NAME_R_E_P_O_R_T_I_N_G_I_N_F_O_R_M_A_T_I_O_N) + private ReportingInformation REPORTING_INFORMATION; + + public static final String SERIALIZED_NAME_S_E_R_V_I_C_E_P_R_O_D_U_C_T_F_U_L_F_I_L_L_M_E_N_T = "SERVICE_PRODUCT_FULFILLMENT"; + @SerializedName(SERIALIZED_NAME_S_E_R_V_I_C_E_P_R_O_D_U_C_T_F_U_L_F_I_L_L_M_E_N_T) + private ServiceProductFulfillment SERVICE_PRODUCT_FULFILLMENT; + + public static final String SERIALIZED_NAME_V_E_R_I_F_I_C_A_T_I_O_N_O_F_A_S_S_E_T_R_E_S_P_O_N_S_E = "VERIFICATION_OF_ASSET_RESPONSE"; + @SerializedName(SERIALIZED_NAME_V_E_R_I_F_I_C_A_T_I_O_N_O_F_A_S_S_E_T_R_E_S_P_O_N_S_E) + private VerificationOfAssetResponse VERIFICATION_OF_ASSET_RESPONSE; + + + public VerificationOfAsset REPORTING_INFORMATION(ReportingInformation REPORTING_INFORMATION) { + + this.REPORTING_INFORMATION = REPORTING_INFORMATION; + return this; + } + + /** + * Get REPORTING_INFORMATION + * @return REPORTING_INFORMATION + **/ + @ApiModelProperty(required = true, value = "") + + public ReportingInformation getREPORTINGINFORMATION() { + return REPORTING_INFORMATION; + } + + + public void setREPORTINGINFORMATION(ReportingInformation REPORTING_INFORMATION) { + this.REPORTING_INFORMATION = REPORTING_INFORMATION; + } + + + public VerificationOfAsset SERVICE_PRODUCT_FULFILLMENT(ServiceProductFulfillment SERVICE_PRODUCT_FULFILLMENT) { + + this.SERVICE_PRODUCT_FULFILLMENT = SERVICE_PRODUCT_FULFILLMENT; + return this; + } + + /** + * Get SERVICE_PRODUCT_FULFILLMENT + * @return SERVICE_PRODUCT_FULFILLMENT + **/ + @ApiModelProperty(required = true, value = "") + + public ServiceProductFulfillment getSERVICEPRODUCTFULFILLMENT() { + return SERVICE_PRODUCT_FULFILLMENT; + } + + + public void setSERVICEPRODUCTFULFILLMENT(ServiceProductFulfillment SERVICE_PRODUCT_FULFILLMENT) { + this.SERVICE_PRODUCT_FULFILLMENT = SERVICE_PRODUCT_FULFILLMENT; + } + + + public VerificationOfAsset VERIFICATION_OF_ASSET_RESPONSE(VerificationOfAssetResponse VERIFICATION_OF_ASSET_RESPONSE) { + + this.VERIFICATION_OF_ASSET_RESPONSE = VERIFICATION_OF_ASSET_RESPONSE; + return this; + } + + /** + * Get VERIFICATION_OF_ASSET_RESPONSE + * @return VERIFICATION_OF_ASSET_RESPONSE + **/ + @ApiModelProperty(required = true, value = "") + + public VerificationOfAssetResponse getVERIFICATIONOFASSETRESPONSE() { + return VERIFICATION_OF_ASSET_RESPONSE; + } + + + public void setVERIFICATIONOFASSETRESPONSE(VerificationOfAssetResponse VERIFICATION_OF_ASSET_RESPONSE) { + this.VERIFICATION_OF_ASSET_RESPONSE = VERIFICATION_OF_ASSET_RESPONSE; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VerificationOfAsset verificationOfAsset = (VerificationOfAsset) o; + return Objects.equals(this.REPORTING_INFORMATION, verificationOfAsset.REPORTING_INFORMATION) && + Objects.equals(this.SERVICE_PRODUCT_FULFILLMENT, verificationOfAsset.SERVICE_PRODUCT_FULFILLMENT) && + Objects.equals(this.VERIFICATION_OF_ASSET_RESPONSE, verificationOfAsset.VERIFICATION_OF_ASSET_RESPONSE); + } + + @Override + public int hashCode() { + return Objects.hash(REPORTING_INFORMATION, SERVICE_PRODUCT_FULFILLMENT, VERIFICATION_OF_ASSET_RESPONSE); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VerificationOfAsset {\n"); + sb.append(" REPORTING_INFORMATION: ").append(toIndentedString(REPORTING_INFORMATION)).append("\n"); + sb.append(" SERVICE_PRODUCT_FULFILLMENT: ").append(toIndentedString(SERVICE_PRODUCT_FULFILLMENT)).append("\n"); + sb.append(" VERIFICATION_OF_ASSET_RESPONSE: ").append(toIndentedString(VERIFICATION_OF_ASSET_RESPONSE)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/VerificationOfAssetResponse.java b/src/main/java/com/plaid/client/model/VerificationOfAssetResponse.java new file mode 100644 index 0000000000..7db1a23b3f --- /dev/null +++ b/src/main/java/com/plaid/client/model/VerificationOfAssetResponse.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Assets; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Documentation not found in the MISMO model viewer and not provided by Freddie Mac. + */ +@ApiModel(description = "Documentation not found in the MISMO model viewer and not provided by Freddie Mac.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class VerificationOfAssetResponse { + public static final String SERIALIZED_NAME_A_S_S_E_T_S = "ASSETS"; + @SerializedName(SERIALIZED_NAME_A_S_S_E_T_S) + private Assets ASSETS; + + + public VerificationOfAssetResponse ASSETS(Assets ASSETS) { + + this.ASSETS = ASSETS; + return this; + } + + /** + * Get ASSETS + * @return ASSETS + **/ + @ApiModelProperty(required = true, value = "") + + public Assets getASSETS() { + return ASSETS; + } + + + public void setASSETS(Assets ASSETS) { + this.ASSETS = ASSETS; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VerificationOfAssetResponse verificationOfAssetResponse = (VerificationOfAssetResponse) o; + return Objects.equals(this.ASSETS, verificationOfAssetResponse.ASSETS); + } + + @Override + public int hashCode() { + return Objects.hash(ASSETS); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VerificationOfAssetResponse {\n"); + sb.append(" ASSETS: ").append(toIndentedString(ASSETS)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/VerificationRefreshStatus.java b/src/main/java/com/plaid/client/model/VerificationRefreshStatus.java new file mode 100644 index 0000000000..17444bbee2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/VerificationRefreshStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The verification refresh status. One of the following: `\"VERIFICATION_REFRESH_STATUS_USER_PRESENCE_REQUIRED\"` User presence is required to refresh an income verification. `\"VERIFICATION_REFRESH_SUCCESSFUL\"` The income verification refresh was successful. `\"VERIFICATION_REFRESH_NOT_FOUND\"` No new data was found after the income verification refresh. + */ +@JsonAdapter(VerificationRefreshStatus.Adapter.class) +public enum VerificationRefreshStatus { + + STATUS_USER_PRESENCE_REQUIRED("VERIFICATION_REFRESH_STATUS_USER_PRESENCE_REQUIRED"), + + SUCCESSFUL("VERIFICATION_REFRESH_SUCCESSFUL"), + + NOT_FOUND("VERIFICATION_REFRESH_NOT_FOUND"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + VerificationRefreshStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static VerificationRefreshStatus fromValue(String value) { + for (VerificationRefreshStatus b : VerificationRefreshStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return VerificationRefreshStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final VerificationRefreshStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public VerificationRefreshStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return VerificationRefreshStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/VerificationStatus.java b/src/main/java/com/plaid/client/model/VerificationStatus.java new file mode 100644 index 0000000000..c9b3ee2cd0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/VerificationStatus.java @@ -0,0 +1,85 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The verification status. One of the following: `\"VERIFIED\"`: The information was successfully verified. `\"UNVERIFIED\"`: The verification has not yet been performed. `\"NEEDS_INFO\"`: The verification was attempted but could not be completed due to missing information. \"`UNABLE_TO_VERIFY`\": The verification was performed and the information could not be verified. `\"UNKNOWN\"`: The verification status is unknown. + */ +@JsonAdapter(VerificationStatus.Adapter.class) +public enum VerificationStatus { + + VERIFIED("VERIFIED"), + + UNVERIFIED("UNVERIFIED"), + + NEEDS_INFO("NEEDS_INFO"), + + UNABLE_TO_VERIFY("UNABLE_TO_VERIFY"), + + UNKNOWN("UNKNOWN"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + VerificationStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static VerificationStatus fromValue(String value) { + for (VerificationStatus b : VerificationStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return VerificationStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final VerificationStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public VerificationStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return VerificationStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/VerifySMSDetails.java b/src/main/java/com/plaid/client/model/VerifySMSDetails.java new file mode 100644 index 0000000000..8b7c54b1d2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/VerifySMSDetails.java @@ -0,0 +1,135 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.SMSVerification; +import com.plaid.client.model.VerifySMSDetailsStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Additional information for the `verify_sms` step. + */ +@ApiModel(description = "Additional information for the `verify_sms` step.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class VerifySMSDetails { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private VerifySMSDetailsStatus status; + + public static final String SERIALIZED_NAME_VERIFICATIONS = "verifications"; + @SerializedName(SERIALIZED_NAME_VERIFICATIONS) + private List verifications = new ArrayList<>(); + + + public VerifySMSDetails status(VerifySMSDetailsStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public VerifySMSDetailsStatus getStatus() { + return status; + } + + + public void setStatus(VerifySMSDetailsStatus status) { + this.status = status; + } + + + public VerifySMSDetails verifications(List verifications) { + + this.verifications = verifications; + return this; + } + + public VerifySMSDetails addVerificationsItem(SMSVerification verificationsItem) { + this.verifications.add(verificationsItem); + return this; + } + + /** + * An array where each entry represents a verification attempt for the `verify_sms` step. Each entry represents one user-submitted phone number. Phone number edits, and in some cases error handling due to edge cases like rate limiting, may generate additional verifications. + * @return verifications + **/ + @ApiModelProperty(required = true, value = "An array where each entry represents a verification attempt for the `verify_sms` step. Each entry represents one user-submitted phone number. Phone number edits, and in some cases error handling due to edge cases like rate limiting, may generate additional verifications.") + + public List getVerifications() { + return verifications; + } + + + public void setVerifications(List verifications) { + this.verifications = verifications; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VerifySMSDetails verifySMSDetails = (VerifySMSDetails) o; + return Objects.equals(this.status, verifySMSDetails.status) && + Objects.equals(this.verifications, verifySMSDetails.verifications); + } + + @Override + public int hashCode() { + return Objects.hash(status, verifications); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VerifySMSDetails {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" verifications: ").append(toIndentedString(verifications)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/VerifySMSDetailsStatus.java b/src/main/java/com/plaid/client/model/VerifySMSDetailsStatus.java new file mode 100644 index 0000000000..8a5361ca01 --- /dev/null +++ b/src/main/java/com/plaid/client/model/VerifySMSDetailsStatus.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The outcome status for the associated Identity Verification attempt's `verify_sms` step. This field will always have the same value as `steps.verify_sms`. + */ +@JsonAdapter(VerifySMSDetailsStatus.Adapter.class) +public enum VerifySMSDetailsStatus { + + SUCCESS("success"), + + FAILED("failed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + VerifySMSDetailsStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static VerifySMSDetailsStatus fromValue(String value) { + for (VerifySMSDetailsStatus b : VerifySMSDetailsStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return VerifySMSDetailsStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final VerifySMSDetailsStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public VerifySMSDetailsStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return VerifySMSDetailsStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/W2.java b/src/main/java/com/plaid/client/model/W2.java new file mode 100644 index 0000000000..1298f09113 --- /dev/null +++ b/src/main/java/com/plaid/client/model/W2.java @@ -0,0 +1,701 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Employee; +import com.plaid.client.model.PaystubEmployer; +import com.plaid.client.model.W2Box12; +import com.plaid.client.model.W2StateAndLocalWages; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * W2 is an object that represents income data taken from a W2 tax document. + */ +@ApiModel(description = "W2 is an object that represents income data taken from a W2 tax document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class W2 { + public static final String SERIALIZED_NAME_EMPLOYER = "employer"; + @SerializedName(SERIALIZED_NAME_EMPLOYER) + private PaystubEmployer employer; + + public static final String SERIALIZED_NAME_EMPLOYEE = "employee"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE) + private Employee employee; + + public static final String SERIALIZED_NAME_TAX_YEAR = "tax_year"; + @SerializedName(SERIALIZED_NAME_TAX_YEAR) + private String taxYear; + + public static final String SERIALIZED_NAME_EMPLOYER_ID_NUMBER = "employer_id_number"; + @SerializedName(SERIALIZED_NAME_EMPLOYER_ID_NUMBER) + private String employerIdNumber; + + public static final String SERIALIZED_NAME_WAGES_TIPS_OTHER_COMP = "wages_tips_other_comp"; + @SerializedName(SERIALIZED_NAME_WAGES_TIPS_OTHER_COMP) + private String wagesTipsOtherComp; + + public static final String SERIALIZED_NAME_FEDERAL_INCOME_TAX_WITHHELD = "federal_income_tax_withheld"; + @SerializedName(SERIALIZED_NAME_FEDERAL_INCOME_TAX_WITHHELD) + private String federalIncomeTaxWithheld; + + public static final String SERIALIZED_NAME_SOCIAL_SECURITY_WAGES = "social_security_wages"; + @SerializedName(SERIALIZED_NAME_SOCIAL_SECURITY_WAGES) + private String socialSecurityWages; + + public static final String SERIALIZED_NAME_SOCIAL_SECURITY_TAX_WITHHELD = "social_security_tax_withheld"; + @SerializedName(SERIALIZED_NAME_SOCIAL_SECURITY_TAX_WITHHELD) + private String socialSecurityTaxWithheld; + + public static final String SERIALIZED_NAME_MEDICARE_WAGES_AND_TIPS = "medicare_wages_and_tips"; + @SerializedName(SERIALIZED_NAME_MEDICARE_WAGES_AND_TIPS) + private String medicareWagesAndTips; + + public static final String SERIALIZED_NAME_MEDICARE_TAX_WITHHELD = "medicare_tax_withheld"; + @SerializedName(SERIALIZED_NAME_MEDICARE_TAX_WITHHELD) + private String medicareTaxWithheld; + + public static final String SERIALIZED_NAME_SOCIAL_SECURITY_TIPS = "social_security_tips"; + @SerializedName(SERIALIZED_NAME_SOCIAL_SECURITY_TIPS) + private String socialSecurityTips; + + public static final String SERIALIZED_NAME_ALLOCATED_TIPS = "allocated_tips"; + @SerializedName(SERIALIZED_NAME_ALLOCATED_TIPS) + private String allocatedTips; + + public static final String SERIALIZED_NAME_BOX9 = "box_9"; + @SerializedName(SERIALIZED_NAME_BOX9) + private String box9; + + public static final String SERIALIZED_NAME_DEPENDENT_CARE_BENEFITS = "dependent_care_benefits"; + @SerializedName(SERIALIZED_NAME_DEPENDENT_CARE_BENEFITS) + private String dependentCareBenefits; + + public static final String SERIALIZED_NAME_NONQUALIFIED_PLANS = "nonqualified_plans"; + @SerializedName(SERIALIZED_NAME_NONQUALIFIED_PLANS) + private String nonqualifiedPlans; + + public static final String SERIALIZED_NAME_BOX12 = "box_12"; + @SerializedName(SERIALIZED_NAME_BOX12) + private List box12 = null; + + public static final String SERIALIZED_NAME_STATUTORY_EMPLOYEE = "statutory_employee"; + @SerializedName(SERIALIZED_NAME_STATUTORY_EMPLOYEE) + private String statutoryEmployee; + + public static final String SERIALIZED_NAME_RETIREMENT_PLAN = "retirement_plan"; + @SerializedName(SERIALIZED_NAME_RETIREMENT_PLAN) + private String retirementPlan; + + public static final String SERIALIZED_NAME_THIRD_PARTY_SICK_PAY = "third_party_sick_pay"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_SICK_PAY) + private String thirdPartySickPay; + + public static final String SERIALIZED_NAME_OTHER = "other"; + @SerializedName(SERIALIZED_NAME_OTHER) + private String other; + + public static final String SERIALIZED_NAME_STATE_AND_LOCAL_WAGES = "state_and_local_wages"; + @SerializedName(SERIALIZED_NAME_STATE_AND_LOCAL_WAGES) + private List stateAndLocalWages = null; + + + public W2 employer(PaystubEmployer employer) { + + this.employer = employer; + return this; + } + + /** + * Get employer + * @return employer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubEmployer getEmployer() { + return employer; + } + + + public void setEmployer(PaystubEmployer employer) { + this.employer = employer; + } + + + public W2 employee(Employee employee) { + + this.employee = employee; + return this; + } + + /** + * Get employee + * @return employee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Employee getEmployee() { + return employee; + } + + + public void setEmployee(Employee employee) { + this.employee = employee; + } + + + public W2 taxYear(String taxYear) { + + this.taxYear = taxYear; + return this; + } + + /** + * The tax year of the W2 document. + * @return taxYear + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The tax year of the W2 document.") + + public String getTaxYear() { + return taxYear; + } + + + public void setTaxYear(String taxYear) { + this.taxYear = taxYear; + } + + + public W2 employerIdNumber(String employerIdNumber) { + + this.employerIdNumber = employerIdNumber; + return this; + } + + /** + * An employer identification number or EIN. + * @return employerIdNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An employer identification number or EIN.") + + public String getEmployerIdNumber() { + return employerIdNumber; + } + + + public void setEmployerIdNumber(String employerIdNumber) { + this.employerIdNumber = employerIdNumber; + } + + + public W2 wagesTipsOtherComp(String wagesTipsOtherComp) { + + this.wagesTipsOtherComp = wagesTipsOtherComp; + return this; + } + + /** + * Wages from tips and other compensation. + * @return wagesTipsOtherComp + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Wages from tips and other compensation.") + + public String getWagesTipsOtherComp() { + return wagesTipsOtherComp; + } + + + public void setWagesTipsOtherComp(String wagesTipsOtherComp) { + this.wagesTipsOtherComp = wagesTipsOtherComp; + } + + + public W2 federalIncomeTaxWithheld(String federalIncomeTaxWithheld) { + + this.federalIncomeTaxWithheld = federalIncomeTaxWithheld; + return this; + } + + /** + * Federal income tax withheld for the tax year. + * @return federalIncomeTaxWithheld + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Federal income tax withheld for the tax year.") + + public String getFederalIncomeTaxWithheld() { + return federalIncomeTaxWithheld; + } + + + public void setFederalIncomeTaxWithheld(String federalIncomeTaxWithheld) { + this.federalIncomeTaxWithheld = federalIncomeTaxWithheld; + } + + + public W2 socialSecurityWages(String socialSecurityWages) { + + this.socialSecurityWages = socialSecurityWages; + return this; + } + + /** + * Wages from Social Security. + * @return socialSecurityWages + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Wages from Social Security.") + + public String getSocialSecurityWages() { + return socialSecurityWages; + } + + + public void setSocialSecurityWages(String socialSecurityWages) { + this.socialSecurityWages = socialSecurityWages; + } + + + public W2 socialSecurityTaxWithheld(String socialSecurityTaxWithheld) { + + this.socialSecurityTaxWithheld = socialSecurityTaxWithheld; + return this; + } + + /** + * Social Security tax withheld for the tax year. + * @return socialSecurityTaxWithheld + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Social Security tax withheld for the tax year.") + + public String getSocialSecurityTaxWithheld() { + return socialSecurityTaxWithheld; + } + + + public void setSocialSecurityTaxWithheld(String socialSecurityTaxWithheld) { + this.socialSecurityTaxWithheld = socialSecurityTaxWithheld; + } + + + public W2 medicareWagesAndTips(String medicareWagesAndTips) { + + this.medicareWagesAndTips = medicareWagesAndTips; + return this; + } + + /** + * Wages and tips from medicare. + * @return medicareWagesAndTips + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Wages and tips from medicare.") + + public String getMedicareWagesAndTips() { + return medicareWagesAndTips; + } + + + public void setMedicareWagesAndTips(String medicareWagesAndTips) { + this.medicareWagesAndTips = medicareWagesAndTips; + } + + + public W2 medicareTaxWithheld(String medicareTaxWithheld) { + + this.medicareTaxWithheld = medicareTaxWithheld; + return this; + } + + /** + * Medicare tax withheld for the tax year. + * @return medicareTaxWithheld + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Medicare tax withheld for the tax year.") + + public String getMedicareTaxWithheld() { + return medicareTaxWithheld; + } + + + public void setMedicareTaxWithheld(String medicareTaxWithheld) { + this.medicareTaxWithheld = medicareTaxWithheld; + } + + + public W2 socialSecurityTips(String socialSecurityTips) { + + this.socialSecurityTips = socialSecurityTips; + return this; + } + + /** + * Tips from Social Security. + * @return socialSecurityTips + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Tips from Social Security.") + + public String getSocialSecurityTips() { + return socialSecurityTips; + } + + + public void setSocialSecurityTips(String socialSecurityTips) { + this.socialSecurityTips = socialSecurityTips; + } + + + public W2 allocatedTips(String allocatedTips) { + + this.allocatedTips = allocatedTips; + return this; + } + + /** + * Allocated tips. + * @return allocatedTips + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allocated tips.") + + public String getAllocatedTips() { + return allocatedTips; + } + + + public void setAllocatedTips(String allocatedTips) { + this.allocatedTips = allocatedTips; + } + + + public W2 box9(String box9) { + + this.box9 = box9; + return this; + } + + /** + * Contents from box 9 on the W2. + * @return box9 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Contents from box 9 on the W2.") + + public String getBox9() { + return box9; + } + + + public void setBox9(String box9) { + this.box9 = box9; + } + + + public W2 dependentCareBenefits(String dependentCareBenefits) { + + this.dependentCareBenefits = dependentCareBenefits; + return this; + } + + /** + * Dependent care benefits. + * @return dependentCareBenefits + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Dependent care benefits.") + + public String getDependentCareBenefits() { + return dependentCareBenefits; + } + + + public void setDependentCareBenefits(String dependentCareBenefits) { + this.dependentCareBenefits = dependentCareBenefits; + } + + + public W2 nonqualifiedPlans(String nonqualifiedPlans) { + + this.nonqualifiedPlans = nonqualifiedPlans; + return this; + } + + /** + * Nonqualified plans. + * @return nonqualifiedPlans + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Nonqualified plans.") + + public String getNonqualifiedPlans() { + return nonqualifiedPlans; + } + + + public void setNonqualifiedPlans(String nonqualifiedPlans) { + this.nonqualifiedPlans = nonqualifiedPlans; + } + + + public W2 box12(List box12) { + + this.box12 = box12; + return this; + } + + public W2 addBox12Item(W2Box12 box12Item) { + if (this.box12 == null) { + this.box12 = new ArrayList<>(); + } + this.box12.add(box12Item); + return this; + } + + /** + * Get box12 + * @return box12 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getBox12() { + return box12; + } + + + public void setBox12(List box12) { + this.box12 = box12; + } + + + public W2 statutoryEmployee(String statutoryEmployee) { + + this.statutoryEmployee = statutoryEmployee; + return this; + } + + /** + * Statutory employee. + * @return statutoryEmployee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Statutory employee.") + + public String getStatutoryEmployee() { + return statutoryEmployee; + } + + + public void setStatutoryEmployee(String statutoryEmployee) { + this.statutoryEmployee = statutoryEmployee; + } + + + public W2 retirementPlan(String retirementPlan) { + + this.retirementPlan = retirementPlan; + return this; + } + + /** + * Retirement plan. + * @return retirementPlan + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Retirement plan.") + + public String getRetirementPlan() { + return retirementPlan; + } + + + public void setRetirementPlan(String retirementPlan) { + this.retirementPlan = retirementPlan; + } + + + public W2 thirdPartySickPay(String thirdPartySickPay) { + + this.thirdPartySickPay = thirdPartySickPay; + return this; + } + + /** + * Third party sick pay. + * @return thirdPartySickPay + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Third party sick pay.") + + public String getThirdPartySickPay() { + return thirdPartySickPay; + } + + + public void setThirdPartySickPay(String thirdPartySickPay) { + this.thirdPartySickPay = thirdPartySickPay; + } + + + public W2 other(String other) { + + this.other = other; + return this; + } + + /** + * Other. + * @return other + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Other.") + + public String getOther() { + return other; + } + + + public void setOther(String other) { + this.other = other; + } + + + public W2 stateAndLocalWages(List stateAndLocalWages) { + + this.stateAndLocalWages = stateAndLocalWages; + return this; + } + + public W2 addStateAndLocalWagesItem(W2StateAndLocalWages stateAndLocalWagesItem) { + if (this.stateAndLocalWages == null) { + this.stateAndLocalWages = new ArrayList<>(); + } + this.stateAndLocalWages.add(stateAndLocalWagesItem); + return this; + } + + /** + * Get stateAndLocalWages + * @return stateAndLocalWages + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getStateAndLocalWages() { + return stateAndLocalWages; + } + + + public void setStateAndLocalWages(List stateAndLocalWages) { + this.stateAndLocalWages = stateAndLocalWages; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + W2 W2 = (W2) o; + return Objects.equals(this.employer, W2.employer) && + Objects.equals(this.employee, W2.employee) && + Objects.equals(this.taxYear, W2.taxYear) && + Objects.equals(this.employerIdNumber, W2.employerIdNumber) && + Objects.equals(this.wagesTipsOtherComp, W2.wagesTipsOtherComp) && + Objects.equals(this.federalIncomeTaxWithheld, W2.federalIncomeTaxWithheld) && + Objects.equals(this.socialSecurityWages, W2.socialSecurityWages) && + Objects.equals(this.socialSecurityTaxWithheld, W2.socialSecurityTaxWithheld) && + Objects.equals(this.medicareWagesAndTips, W2.medicareWagesAndTips) && + Objects.equals(this.medicareTaxWithheld, W2.medicareTaxWithheld) && + Objects.equals(this.socialSecurityTips, W2.socialSecurityTips) && + Objects.equals(this.allocatedTips, W2.allocatedTips) && + Objects.equals(this.box9, W2.box9) && + Objects.equals(this.dependentCareBenefits, W2.dependentCareBenefits) && + Objects.equals(this.nonqualifiedPlans, W2.nonqualifiedPlans) && + Objects.equals(this.box12, W2.box12) && + Objects.equals(this.statutoryEmployee, W2.statutoryEmployee) && + Objects.equals(this.retirementPlan, W2.retirementPlan) && + Objects.equals(this.thirdPartySickPay, W2.thirdPartySickPay) && + Objects.equals(this.other, W2.other) && + Objects.equals(this.stateAndLocalWages, W2.stateAndLocalWages); + } + + @Override + public int hashCode() { + return Objects.hash(employer, employee, taxYear, employerIdNumber, wagesTipsOtherComp, federalIncomeTaxWithheld, socialSecurityWages, socialSecurityTaxWithheld, medicareWagesAndTips, medicareTaxWithheld, socialSecurityTips, allocatedTips, box9, dependentCareBenefits, nonqualifiedPlans, box12, statutoryEmployee, retirementPlan, thirdPartySickPay, other, stateAndLocalWages); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class W2 {\n"); + sb.append(" employer: ").append(toIndentedString(employer)).append("\n"); + sb.append(" employee: ").append(toIndentedString(employee)).append("\n"); + sb.append(" taxYear: ").append(toIndentedString(taxYear)).append("\n"); + sb.append(" employerIdNumber: ").append(toIndentedString(employerIdNumber)).append("\n"); + sb.append(" wagesTipsOtherComp: ").append(toIndentedString(wagesTipsOtherComp)).append("\n"); + sb.append(" federalIncomeTaxWithheld: ").append(toIndentedString(federalIncomeTaxWithheld)).append("\n"); + sb.append(" socialSecurityWages: ").append(toIndentedString(socialSecurityWages)).append("\n"); + sb.append(" socialSecurityTaxWithheld: ").append(toIndentedString(socialSecurityTaxWithheld)).append("\n"); + sb.append(" medicareWagesAndTips: ").append(toIndentedString(medicareWagesAndTips)).append("\n"); + sb.append(" medicareTaxWithheld: ").append(toIndentedString(medicareTaxWithheld)).append("\n"); + sb.append(" socialSecurityTips: ").append(toIndentedString(socialSecurityTips)).append("\n"); + sb.append(" allocatedTips: ").append(toIndentedString(allocatedTips)).append("\n"); + sb.append(" box9: ").append(toIndentedString(box9)).append("\n"); + sb.append(" dependentCareBenefits: ").append(toIndentedString(dependentCareBenefits)).append("\n"); + sb.append(" nonqualifiedPlans: ").append(toIndentedString(nonqualifiedPlans)).append("\n"); + sb.append(" box12: ").append(toIndentedString(box12)).append("\n"); + sb.append(" statutoryEmployee: ").append(toIndentedString(statutoryEmployee)).append("\n"); + sb.append(" retirementPlan: ").append(toIndentedString(retirementPlan)).append("\n"); + sb.append(" thirdPartySickPay: ").append(toIndentedString(thirdPartySickPay)).append("\n"); + sb.append(" other: ").append(toIndentedString(other)).append("\n"); + sb.append(" stateAndLocalWages: ").append(toIndentedString(stateAndLocalWages)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/W2Box12.java b/src/main/java/com/plaid/client/model/W2Box12.java new file mode 100644 index 0000000000..543fb1c003 --- /dev/null +++ b/src/main/java/com/plaid/client/model/W2Box12.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data on the W2 Box 12 + */ +@ApiModel(description = "Data on the W2 Box 12") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class W2Box12 { + public static final String SERIALIZED_NAME_CODE = "code"; + @SerializedName(SERIALIZED_NAME_CODE) + private String code; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + + public W2Box12 code(String code) { + + this.code = code; + return this; + } + + /** + * W2 Box 12 code. + * @return code + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "W2 Box 12 code.") + + public String getCode() { + return code; + } + + + public void setCode(String code) { + this.code = code; + } + + + public W2Box12 amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * W2 Box 12 amount. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "W2 Box 12 amount.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + W2Box12 w2Box12 = (W2Box12) o; + return Objects.equals(this.code, w2Box12.code) && + Objects.equals(this.amount, w2Box12.amount); + } + + @Override + public int hashCode() { + return Objects.hash(code, amount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class W2Box12 {\n"); + sb.append(" code: ").append(toIndentedString(code)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/W2Box12Override.java b/src/main/java/com/plaid/client/model/W2Box12Override.java new file mode 100644 index 0000000000..aa6b4dc805 --- /dev/null +++ b/src/main/java/com/plaid/client/model/W2Box12Override.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Data on the W2 Box 12 + */ +@ApiModel(description = "Data on the W2 Box 12") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class W2Box12Override { + public static final String SERIALIZED_NAME_CODE = "code"; + @SerializedName(SERIALIZED_NAME_CODE) + private String code; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private String amount; + + + public W2Box12Override code(String code) { + + this.code = code; + return this; + } + + /** + * W2 Box 12 code. + * @return code + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "W2 Box 12 code.") + + public String getCode() { + return code; + } + + + public void setCode(String code) { + this.code = code; + } + + + public W2Box12Override amount(String amount) { + + this.amount = amount; + return this; + } + + /** + * W2 Box 12 amount. + * @return amount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "W2 Box 12 amount.") + + public String getAmount() { + return amount; + } + + + public void setAmount(String amount) { + this.amount = amount; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + W2Box12Override w2Box12Override = (W2Box12Override) o; + return Objects.equals(this.code, w2Box12Override.code) && + Objects.equals(this.amount, w2Box12Override.amount); + } + + @Override + public int hashCode() { + return Objects.hash(code, amount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class W2Box12Override {\n"); + sb.append(" code: ").append(toIndentedString(code)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/W2Override.java b/src/main/java/com/plaid/client/model/W2Override.java new file mode 100644 index 0000000000..1832c193d6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/W2Override.java @@ -0,0 +1,701 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaystubOverrideEmployee; +import com.plaid.client.model.PaystubOverrideEmployer; +import com.plaid.client.model.W2Box12Override; +import com.plaid.client.model.W2StateAndLocalWagesOverride; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * W2 is an object that represents income data taken from a W2 tax document. + */ +@ApiModel(description = "W2 is an object that represents income data taken from a W2 tax document.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class W2Override { + public static final String SERIALIZED_NAME_EMPLOYER = "employer"; + @SerializedName(SERIALIZED_NAME_EMPLOYER) + private PaystubOverrideEmployer employer; + + public static final String SERIALIZED_NAME_EMPLOYEE = "employee"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE) + private PaystubOverrideEmployee employee; + + public static final String SERIALIZED_NAME_TAX_YEAR = "tax_year"; + @SerializedName(SERIALIZED_NAME_TAX_YEAR) + private String taxYear; + + public static final String SERIALIZED_NAME_EMPLOYER_ID_NUMBER = "employer_id_number"; + @SerializedName(SERIALIZED_NAME_EMPLOYER_ID_NUMBER) + private String employerIdNumber; + + public static final String SERIALIZED_NAME_WAGES_TIPS_OTHER_COMP = "wages_tips_other_comp"; + @SerializedName(SERIALIZED_NAME_WAGES_TIPS_OTHER_COMP) + private String wagesTipsOtherComp; + + public static final String SERIALIZED_NAME_FEDERAL_INCOME_TAX_WITHHELD = "federal_income_tax_withheld"; + @SerializedName(SERIALIZED_NAME_FEDERAL_INCOME_TAX_WITHHELD) + private String federalIncomeTaxWithheld; + + public static final String SERIALIZED_NAME_SOCIAL_SECURITY_WAGES = "social_security_wages"; + @SerializedName(SERIALIZED_NAME_SOCIAL_SECURITY_WAGES) + private String socialSecurityWages; + + public static final String SERIALIZED_NAME_SOCIAL_SECURITY_TAX_WITHHELD = "social_security_tax_withheld"; + @SerializedName(SERIALIZED_NAME_SOCIAL_SECURITY_TAX_WITHHELD) + private String socialSecurityTaxWithheld; + + public static final String SERIALIZED_NAME_MEDICARE_WAGES_AND_TIPS = "medicare_wages_and_tips"; + @SerializedName(SERIALIZED_NAME_MEDICARE_WAGES_AND_TIPS) + private String medicareWagesAndTips; + + public static final String SERIALIZED_NAME_MEDICARE_TAX_WITHHELD = "medicare_tax_withheld"; + @SerializedName(SERIALIZED_NAME_MEDICARE_TAX_WITHHELD) + private String medicareTaxWithheld; + + public static final String SERIALIZED_NAME_SOCIAL_SECURITY_TIPS = "social_security_tips"; + @SerializedName(SERIALIZED_NAME_SOCIAL_SECURITY_TIPS) + private String socialSecurityTips; + + public static final String SERIALIZED_NAME_ALLOCATED_TIPS = "allocated_tips"; + @SerializedName(SERIALIZED_NAME_ALLOCATED_TIPS) + private String allocatedTips; + + public static final String SERIALIZED_NAME_BOX9 = "box_9"; + @SerializedName(SERIALIZED_NAME_BOX9) + private String box9; + + public static final String SERIALIZED_NAME_DEPENDENT_CARE_BENEFITS = "dependent_care_benefits"; + @SerializedName(SERIALIZED_NAME_DEPENDENT_CARE_BENEFITS) + private String dependentCareBenefits; + + public static final String SERIALIZED_NAME_NONQUALIFIED_PLANS = "nonqualified_plans"; + @SerializedName(SERIALIZED_NAME_NONQUALIFIED_PLANS) + private String nonqualifiedPlans; + + public static final String SERIALIZED_NAME_BOX12 = "box_12"; + @SerializedName(SERIALIZED_NAME_BOX12) + private List box12 = null; + + public static final String SERIALIZED_NAME_STATUTORY_EMPLOYEE = "statutory_employee"; + @SerializedName(SERIALIZED_NAME_STATUTORY_EMPLOYEE) + private String statutoryEmployee; + + public static final String SERIALIZED_NAME_RETIREMENT_PLAN = "retirement_plan"; + @SerializedName(SERIALIZED_NAME_RETIREMENT_PLAN) + private String retirementPlan; + + public static final String SERIALIZED_NAME_THIRD_PARTY_SICK_PAY = "third_party_sick_pay"; + @SerializedName(SERIALIZED_NAME_THIRD_PARTY_SICK_PAY) + private String thirdPartySickPay; + + public static final String SERIALIZED_NAME_OTHER = "other"; + @SerializedName(SERIALIZED_NAME_OTHER) + private String other; + + public static final String SERIALIZED_NAME_STATE_AND_LOCAL_WAGES = "state_and_local_wages"; + @SerializedName(SERIALIZED_NAME_STATE_AND_LOCAL_WAGES) + private List stateAndLocalWages = null; + + + public W2Override employer(PaystubOverrideEmployer employer) { + + this.employer = employer; + return this; + } + + /** + * Get employer + * @return employer + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubOverrideEmployer getEmployer() { + return employer; + } + + + public void setEmployer(PaystubOverrideEmployer employer) { + this.employer = employer; + } + + + public W2Override employee(PaystubOverrideEmployee employee) { + + this.employee = employee; + return this; + } + + /** + * Get employee + * @return employee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaystubOverrideEmployee getEmployee() { + return employee; + } + + + public void setEmployee(PaystubOverrideEmployee employee) { + this.employee = employee; + } + + + public W2Override taxYear(String taxYear) { + + this.taxYear = taxYear; + return this; + } + + /** + * The tax year of the W2 document. + * @return taxYear + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The tax year of the W2 document.") + + public String getTaxYear() { + return taxYear; + } + + + public void setTaxYear(String taxYear) { + this.taxYear = taxYear; + } + + + public W2Override employerIdNumber(String employerIdNumber) { + + this.employerIdNumber = employerIdNumber; + return this; + } + + /** + * An employer identification number or EIN. + * @return employerIdNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An employer identification number or EIN.") + + public String getEmployerIdNumber() { + return employerIdNumber; + } + + + public void setEmployerIdNumber(String employerIdNumber) { + this.employerIdNumber = employerIdNumber; + } + + + public W2Override wagesTipsOtherComp(String wagesTipsOtherComp) { + + this.wagesTipsOtherComp = wagesTipsOtherComp; + return this; + } + + /** + * Wages from tips and other compensation. + * @return wagesTipsOtherComp + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Wages from tips and other compensation.") + + public String getWagesTipsOtherComp() { + return wagesTipsOtherComp; + } + + + public void setWagesTipsOtherComp(String wagesTipsOtherComp) { + this.wagesTipsOtherComp = wagesTipsOtherComp; + } + + + public W2Override federalIncomeTaxWithheld(String federalIncomeTaxWithheld) { + + this.federalIncomeTaxWithheld = federalIncomeTaxWithheld; + return this; + } + + /** + * Federal income tax withheld for the tax year. + * @return federalIncomeTaxWithheld + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Federal income tax withheld for the tax year.") + + public String getFederalIncomeTaxWithheld() { + return federalIncomeTaxWithheld; + } + + + public void setFederalIncomeTaxWithheld(String federalIncomeTaxWithheld) { + this.federalIncomeTaxWithheld = federalIncomeTaxWithheld; + } + + + public W2Override socialSecurityWages(String socialSecurityWages) { + + this.socialSecurityWages = socialSecurityWages; + return this; + } + + /** + * Wages from Social Security. + * @return socialSecurityWages + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Wages from Social Security.") + + public String getSocialSecurityWages() { + return socialSecurityWages; + } + + + public void setSocialSecurityWages(String socialSecurityWages) { + this.socialSecurityWages = socialSecurityWages; + } + + + public W2Override socialSecurityTaxWithheld(String socialSecurityTaxWithheld) { + + this.socialSecurityTaxWithheld = socialSecurityTaxWithheld; + return this; + } + + /** + * Social Security tax withheld for the tax year. + * @return socialSecurityTaxWithheld + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Social Security tax withheld for the tax year.") + + public String getSocialSecurityTaxWithheld() { + return socialSecurityTaxWithheld; + } + + + public void setSocialSecurityTaxWithheld(String socialSecurityTaxWithheld) { + this.socialSecurityTaxWithheld = socialSecurityTaxWithheld; + } + + + public W2Override medicareWagesAndTips(String medicareWagesAndTips) { + + this.medicareWagesAndTips = medicareWagesAndTips; + return this; + } + + /** + * Wages and tips from medicare. + * @return medicareWagesAndTips + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Wages and tips from medicare.") + + public String getMedicareWagesAndTips() { + return medicareWagesAndTips; + } + + + public void setMedicareWagesAndTips(String medicareWagesAndTips) { + this.medicareWagesAndTips = medicareWagesAndTips; + } + + + public W2Override medicareTaxWithheld(String medicareTaxWithheld) { + + this.medicareTaxWithheld = medicareTaxWithheld; + return this; + } + + /** + * Medicare tax withheld for the tax year. + * @return medicareTaxWithheld + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Medicare tax withheld for the tax year.") + + public String getMedicareTaxWithheld() { + return medicareTaxWithheld; + } + + + public void setMedicareTaxWithheld(String medicareTaxWithheld) { + this.medicareTaxWithheld = medicareTaxWithheld; + } + + + public W2Override socialSecurityTips(String socialSecurityTips) { + + this.socialSecurityTips = socialSecurityTips; + return this; + } + + /** + * Tips from Social Security. + * @return socialSecurityTips + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Tips from Social Security.") + + public String getSocialSecurityTips() { + return socialSecurityTips; + } + + + public void setSocialSecurityTips(String socialSecurityTips) { + this.socialSecurityTips = socialSecurityTips; + } + + + public W2Override allocatedTips(String allocatedTips) { + + this.allocatedTips = allocatedTips; + return this; + } + + /** + * Allocated tips. + * @return allocatedTips + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Allocated tips.") + + public String getAllocatedTips() { + return allocatedTips; + } + + + public void setAllocatedTips(String allocatedTips) { + this.allocatedTips = allocatedTips; + } + + + public W2Override box9(String box9) { + + this.box9 = box9; + return this; + } + + /** + * Contents from box 9 on the W2. + * @return box9 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Contents from box 9 on the W2.") + + public String getBox9() { + return box9; + } + + + public void setBox9(String box9) { + this.box9 = box9; + } + + + public W2Override dependentCareBenefits(String dependentCareBenefits) { + + this.dependentCareBenefits = dependentCareBenefits; + return this; + } + + /** + * Dependent care benefits. + * @return dependentCareBenefits + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Dependent care benefits.") + + public String getDependentCareBenefits() { + return dependentCareBenefits; + } + + + public void setDependentCareBenefits(String dependentCareBenefits) { + this.dependentCareBenefits = dependentCareBenefits; + } + + + public W2Override nonqualifiedPlans(String nonqualifiedPlans) { + + this.nonqualifiedPlans = nonqualifiedPlans; + return this; + } + + /** + * Nonqualified plans. + * @return nonqualifiedPlans + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Nonqualified plans.") + + public String getNonqualifiedPlans() { + return nonqualifiedPlans; + } + + + public void setNonqualifiedPlans(String nonqualifiedPlans) { + this.nonqualifiedPlans = nonqualifiedPlans; + } + + + public W2Override box12(List box12) { + + this.box12 = box12; + return this; + } + + public W2Override addBox12Item(W2Box12Override box12Item) { + if (this.box12 == null) { + this.box12 = new ArrayList<>(); + } + this.box12.add(box12Item); + return this; + } + + /** + * Get box12 + * @return box12 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getBox12() { + return box12; + } + + + public void setBox12(List box12) { + this.box12 = box12; + } + + + public W2Override statutoryEmployee(String statutoryEmployee) { + + this.statutoryEmployee = statutoryEmployee; + return this; + } + + /** + * Statutory employee. + * @return statutoryEmployee + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Statutory employee.") + + public String getStatutoryEmployee() { + return statutoryEmployee; + } + + + public void setStatutoryEmployee(String statutoryEmployee) { + this.statutoryEmployee = statutoryEmployee; + } + + + public W2Override retirementPlan(String retirementPlan) { + + this.retirementPlan = retirementPlan; + return this; + } + + /** + * Retirement plan. + * @return retirementPlan + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Retirement plan.") + + public String getRetirementPlan() { + return retirementPlan; + } + + + public void setRetirementPlan(String retirementPlan) { + this.retirementPlan = retirementPlan; + } + + + public W2Override thirdPartySickPay(String thirdPartySickPay) { + + this.thirdPartySickPay = thirdPartySickPay; + return this; + } + + /** + * Third party sick pay. + * @return thirdPartySickPay + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Third party sick pay.") + + public String getThirdPartySickPay() { + return thirdPartySickPay; + } + + + public void setThirdPartySickPay(String thirdPartySickPay) { + this.thirdPartySickPay = thirdPartySickPay; + } + + + public W2Override other(String other) { + + this.other = other; + return this; + } + + /** + * Other. + * @return other + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Other.") + + public String getOther() { + return other; + } + + + public void setOther(String other) { + this.other = other; + } + + + public W2Override stateAndLocalWages(List stateAndLocalWages) { + + this.stateAndLocalWages = stateAndLocalWages; + return this; + } + + public W2Override addStateAndLocalWagesItem(W2StateAndLocalWagesOverride stateAndLocalWagesItem) { + if (this.stateAndLocalWages == null) { + this.stateAndLocalWages = new ArrayList<>(); + } + this.stateAndLocalWages.add(stateAndLocalWagesItem); + return this; + } + + /** + * Get stateAndLocalWages + * @return stateAndLocalWages + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getStateAndLocalWages() { + return stateAndLocalWages; + } + + + public void setStateAndLocalWages(List stateAndLocalWages) { + this.stateAndLocalWages = stateAndLocalWages; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + W2Override w2Override = (W2Override) o; + return Objects.equals(this.employer, w2Override.employer) && + Objects.equals(this.employee, w2Override.employee) && + Objects.equals(this.taxYear, w2Override.taxYear) && + Objects.equals(this.employerIdNumber, w2Override.employerIdNumber) && + Objects.equals(this.wagesTipsOtherComp, w2Override.wagesTipsOtherComp) && + Objects.equals(this.federalIncomeTaxWithheld, w2Override.federalIncomeTaxWithheld) && + Objects.equals(this.socialSecurityWages, w2Override.socialSecurityWages) && + Objects.equals(this.socialSecurityTaxWithheld, w2Override.socialSecurityTaxWithheld) && + Objects.equals(this.medicareWagesAndTips, w2Override.medicareWagesAndTips) && + Objects.equals(this.medicareTaxWithheld, w2Override.medicareTaxWithheld) && + Objects.equals(this.socialSecurityTips, w2Override.socialSecurityTips) && + Objects.equals(this.allocatedTips, w2Override.allocatedTips) && + Objects.equals(this.box9, w2Override.box9) && + Objects.equals(this.dependentCareBenefits, w2Override.dependentCareBenefits) && + Objects.equals(this.nonqualifiedPlans, w2Override.nonqualifiedPlans) && + Objects.equals(this.box12, w2Override.box12) && + Objects.equals(this.statutoryEmployee, w2Override.statutoryEmployee) && + Objects.equals(this.retirementPlan, w2Override.retirementPlan) && + Objects.equals(this.thirdPartySickPay, w2Override.thirdPartySickPay) && + Objects.equals(this.other, w2Override.other) && + Objects.equals(this.stateAndLocalWages, w2Override.stateAndLocalWages); + } + + @Override + public int hashCode() { + return Objects.hash(employer, employee, taxYear, employerIdNumber, wagesTipsOtherComp, federalIncomeTaxWithheld, socialSecurityWages, socialSecurityTaxWithheld, medicareWagesAndTips, medicareTaxWithheld, socialSecurityTips, allocatedTips, box9, dependentCareBenefits, nonqualifiedPlans, box12, statutoryEmployee, retirementPlan, thirdPartySickPay, other, stateAndLocalWages); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class W2Override {\n"); + sb.append(" employer: ").append(toIndentedString(employer)).append("\n"); + sb.append(" employee: ").append(toIndentedString(employee)).append("\n"); + sb.append(" taxYear: ").append(toIndentedString(taxYear)).append("\n"); + sb.append(" employerIdNumber: ").append(toIndentedString(employerIdNumber)).append("\n"); + sb.append(" wagesTipsOtherComp: ").append(toIndentedString(wagesTipsOtherComp)).append("\n"); + sb.append(" federalIncomeTaxWithheld: ").append(toIndentedString(federalIncomeTaxWithheld)).append("\n"); + sb.append(" socialSecurityWages: ").append(toIndentedString(socialSecurityWages)).append("\n"); + sb.append(" socialSecurityTaxWithheld: ").append(toIndentedString(socialSecurityTaxWithheld)).append("\n"); + sb.append(" medicareWagesAndTips: ").append(toIndentedString(medicareWagesAndTips)).append("\n"); + sb.append(" medicareTaxWithheld: ").append(toIndentedString(medicareTaxWithheld)).append("\n"); + sb.append(" socialSecurityTips: ").append(toIndentedString(socialSecurityTips)).append("\n"); + sb.append(" allocatedTips: ").append(toIndentedString(allocatedTips)).append("\n"); + sb.append(" box9: ").append(toIndentedString(box9)).append("\n"); + sb.append(" dependentCareBenefits: ").append(toIndentedString(dependentCareBenefits)).append("\n"); + sb.append(" nonqualifiedPlans: ").append(toIndentedString(nonqualifiedPlans)).append("\n"); + sb.append(" box12: ").append(toIndentedString(box12)).append("\n"); + sb.append(" statutoryEmployee: ").append(toIndentedString(statutoryEmployee)).append("\n"); + sb.append(" retirementPlan: ").append(toIndentedString(retirementPlan)).append("\n"); + sb.append(" thirdPartySickPay: ").append(toIndentedString(thirdPartySickPay)).append("\n"); + sb.append(" other: ").append(toIndentedString(other)).append("\n"); + sb.append(" stateAndLocalWages: ").append(toIndentedString(stateAndLocalWages)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/W2StateAndLocalWages.java b/src/main/java/com/plaid/client/model/W2StateAndLocalWages.java new file mode 100644 index 0000000000..124d531b8f --- /dev/null +++ b/src/main/java/com/plaid/client/model/W2StateAndLocalWages.java @@ -0,0 +1,273 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * W2 state and local wages + */ +@ApiModel(description = "W2 state and local wages") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class W2StateAndLocalWages { + public static final String SERIALIZED_NAME_STATE = "state"; + @SerializedName(SERIALIZED_NAME_STATE) + private String state; + + public static final String SERIALIZED_NAME_EMPLOYER_STATE_ID_NUMBER = "employer_state_id_number"; + @SerializedName(SERIALIZED_NAME_EMPLOYER_STATE_ID_NUMBER) + private String employerStateIdNumber; + + public static final String SERIALIZED_NAME_STATE_WAGES_TIPS = "state_wages_tips"; + @SerializedName(SERIALIZED_NAME_STATE_WAGES_TIPS) + private String stateWagesTips; + + public static final String SERIALIZED_NAME_STATE_INCOME_TAX = "state_income_tax"; + @SerializedName(SERIALIZED_NAME_STATE_INCOME_TAX) + private String stateIncomeTax; + + public static final String SERIALIZED_NAME_LOCAL_WAGES_TIPS = "local_wages_tips"; + @SerializedName(SERIALIZED_NAME_LOCAL_WAGES_TIPS) + private String localWagesTips; + + public static final String SERIALIZED_NAME_LOCAL_INCOME_TAX = "local_income_tax"; + @SerializedName(SERIALIZED_NAME_LOCAL_INCOME_TAX) + private String localIncomeTax; + + public static final String SERIALIZED_NAME_LOCALITY_NAME = "locality_name"; + @SerializedName(SERIALIZED_NAME_LOCALITY_NAME) + private String localityName; + + + public W2StateAndLocalWages state(String state) { + + this.state = state; + return this; + } + + /** + * State associated with the wage. + * @return state + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "State associated with the wage.") + + public String getState() { + return state; + } + + + public void setState(String state) { + this.state = state; + } + + + public W2StateAndLocalWages employerStateIdNumber(String employerStateIdNumber) { + + this.employerStateIdNumber = employerStateIdNumber; + return this; + } + + /** + * State identification number of the employer. + * @return employerStateIdNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "State identification number of the employer.") + + public String getEmployerStateIdNumber() { + return employerStateIdNumber; + } + + + public void setEmployerStateIdNumber(String employerStateIdNumber) { + this.employerStateIdNumber = employerStateIdNumber; + } + + + public W2StateAndLocalWages stateWagesTips(String stateWagesTips) { + + this.stateWagesTips = stateWagesTips; + return this; + } + + /** + * Wages and tips from the specified state. + * @return stateWagesTips + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Wages and tips from the specified state.") + + public String getStateWagesTips() { + return stateWagesTips; + } + + + public void setStateWagesTips(String stateWagesTips) { + this.stateWagesTips = stateWagesTips; + } + + + public W2StateAndLocalWages stateIncomeTax(String stateIncomeTax) { + + this.stateIncomeTax = stateIncomeTax; + return this; + } + + /** + * Income tax from the specified state. + * @return stateIncomeTax + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Income tax from the specified state.") + + public String getStateIncomeTax() { + return stateIncomeTax; + } + + + public void setStateIncomeTax(String stateIncomeTax) { + this.stateIncomeTax = stateIncomeTax; + } + + + public W2StateAndLocalWages localWagesTips(String localWagesTips) { + + this.localWagesTips = localWagesTips; + return this; + } + + /** + * Wages and tips from the locality. + * @return localWagesTips + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Wages and tips from the locality.") + + public String getLocalWagesTips() { + return localWagesTips; + } + + + public void setLocalWagesTips(String localWagesTips) { + this.localWagesTips = localWagesTips; + } + + + public W2StateAndLocalWages localIncomeTax(String localIncomeTax) { + + this.localIncomeTax = localIncomeTax; + return this; + } + + /** + * Income tax from the locality. + * @return localIncomeTax + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Income tax from the locality.") + + public String getLocalIncomeTax() { + return localIncomeTax; + } + + + public void setLocalIncomeTax(String localIncomeTax) { + this.localIncomeTax = localIncomeTax; + } + + + public W2StateAndLocalWages localityName(String localityName) { + + this.localityName = localityName; + return this; + } + + /** + * Name of the locality. + * @return localityName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the locality.") + + public String getLocalityName() { + return localityName; + } + + + public void setLocalityName(String localityName) { + this.localityName = localityName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + W2StateAndLocalWages w2StateAndLocalWages = (W2StateAndLocalWages) o; + return Objects.equals(this.state, w2StateAndLocalWages.state) && + Objects.equals(this.employerStateIdNumber, w2StateAndLocalWages.employerStateIdNumber) && + Objects.equals(this.stateWagesTips, w2StateAndLocalWages.stateWagesTips) && + Objects.equals(this.stateIncomeTax, w2StateAndLocalWages.stateIncomeTax) && + Objects.equals(this.localWagesTips, w2StateAndLocalWages.localWagesTips) && + Objects.equals(this.localIncomeTax, w2StateAndLocalWages.localIncomeTax) && + Objects.equals(this.localityName, w2StateAndLocalWages.localityName); + } + + @Override + public int hashCode() { + return Objects.hash(state, employerStateIdNumber, stateWagesTips, stateIncomeTax, localWagesTips, localIncomeTax, localityName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class W2StateAndLocalWages {\n"); + sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append(" employerStateIdNumber: ").append(toIndentedString(employerStateIdNumber)).append("\n"); + sb.append(" stateWagesTips: ").append(toIndentedString(stateWagesTips)).append("\n"); + sb.append(" stateIncomeTax: ").append(toIndentedString(stateIncomeTax)).append("\n"); + sb.append(" localWagesTips: ").append(toIndentedString(localWagesTips)).append("\n"); + sb.append(" localIncomeTax: ").append(toIndentedString(localIncomeTax)).append("\n"); + sb.append(" localityName: ").append(toIndentedString(localityName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/W2StateAndLocalWagesOverride.java b/src/main/java/com/plaid/client/model/W2StateAndLocalWagesOverride.java new file mode 100644 index 0000000000..4669797a95 --- /dev/null +++ b/src/main/java/com/plaid/client/model/W2StateAndLocalWagesOverride.java @@ -0,0 +1,273 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * W2 state and local wages + */ +@ApiModel(description = "W2 state and local wages") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class W2StateAndLocalWagesOverride { + public static final String SERIALIZED_NAME_STATE = "state"; + @SerializedName(SERIALIZED_NAME_STATE) + private String state; + + public static final String SERIALIZED_NAME_EMPLOYER_STATE_ID_NUMBER = "employer_state_id_number"; + @SerializedName(SERIALIZED_NAME_EMPLOYER_STATE_ID_NUMBER) + private String employerStateIdNumber; + + public static final String SERIALIZED_NAME_STATE_WAGES_TIPS = "state_wages_tips"; + @SerializedName(SERIALIZED_NAME_STATE_WAGES_TIPS) + private String stateWagesTips; + + public static final String SERIALIZED_NAME_STATE_INCOME_TAX = "state_income_tax"; + @SerializedName(SERIALIZED_NAME_STATE_INCOME_TAX) + private String stateIncomeTax; + + public static final String SERIALIZED_NAME_LOCAL_WAGES_TIPS = "local_wages_tips"; + @SerializedName(SERIALIZED_NAME_LOCAL_WAGES_TIPS) + private String localWagesTips; + + public static final String SERIALIZED_NAME_LOCAL_INCOME_TAX = "local_income_tax"; + @SerializedName(SERIALIZED_NAME_LOCAL_INCOME_TAX) + private String localIncomeTax; + + public static final String SERIALIZED_NAME_LOCALITY_NAME = "locality_name"; + @SerializedName(SERIALIZED_NAME_LOCALITY_NAME) + private String localityName; + + + public W2StateAndLocalWagesOverride state(String state) { + + this.state = state; + return this; + } + + /** + * State associated with the wage. + * @return state + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "State associated with the wage.") + + public String getState() { + return state; + } + + + public void setState(String state) { + this.state = state; + } + + + public W2StateAndLocalWagesOverride employerStateIdNumber(String employerStateIdNumber) { + + this.employerStateIdNumber = employerStateIdNumber; + return this; + } + + /** + * State identification number of the employer. + * @return employerStateIdNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "State identification number of the employer.") + + public String getEmployerStateIdNumber() { + return employerStateIdNumber; + } + + + public void setEmployerStateIdNumber(String employerStateIdNumber) { + this.employerStateIdNumber = employerStateIdNumber; + } + + + public W2StateAndLocalWagesOverride stateWagesTips(String stateWagesTips) { + + this.stateWagesTips = stateWagesTips; + return this; + } + + /** + * Wages and tips from the specified state. + * @return stateWagesTips + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Wages and tips from the specified state.") + + public String getStateWagesTips() { + return stateWagesTips; + } + + + public void setStateWagesTips(String stateWagesTips) { + this.stateWagesTips = stateWagesTips; + } + + + public W2StateAndLocalWagesOverride stateIncomeTax(String stateIncomeTax) { + + this.stateIncomeTax = stateIncomeTax; + return this; + } + + /** + * Income tax from the specified state. + * @return stateIncomeTax + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Income tax from the specified state.") + + public String getStateIncomeTax() { + return stateIncomeTax; + } + + + public void setStateIncomeTax(String stateIncomeTax) { + this.stateIncomeTax = stateIncomeTax; + } + + + public W2StateAndLocalWagesOverride localWagesTips(String localWagesTips) { + + this.localWagesTips = localWagesTips; + return this; + } + + /** + * Wages and tips from the locality. + * @return localWagesTips + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Wages and tips from the locality.") + + public String getLocalWagesTips() { + return localWagesTips; + } + + + public void setLocalWagesTips(String localWagesTips) { + this.localWagesTips = localWagesTips; + } + + + public W2StateAndLocalWagesOverride localIncomeTax(String localIncomeTax) { + + this.localIncomeTax = localIncomeTax; + return this; + } + + /** + * Income tax from the locality. + * @return localIncomeTax + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Income tax from the locality.") + + public String getLocalIncomeTax() { + return localIncomeTax; + } + + + public void setLocalIncomeTax(String localIncomeTax) { + this.localIncomeTax = localIncomeTax; + } + + + public W2StateAndLocalWagesOverride localityName(String localityName) { + + this.localityName = localityName; + return this; + } + + /** + * Name of the locality. + * @return localityName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the locality.") + + public String getLocalityName() { + return localityName; + } + + + public void setLocalityName(String localityName) { + this.localityName = localityName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + W2StateAndLocalWagesOverride w2StateAndLocalWagesOverride = (W2StateAndLocalWagesOverride) o; + return Objects.equals(this.state, w2StateAndLocalWagesOverride.state) && + Objects.equals(this.employerStateIdNumber, w2StateAndLocalWagesOverride.employerStateIdNumber) && + Objects.equals(this.stateWagesTips, w2StateAndLocalWagesOverride.stateWagesTips) && + Objects.equals(this.stateIncomeTax, w2StateAndLocalWagesOverride.stateIncomeTax) && + Objects.equals(this.localWagesTips, w2StateAndLocalWagesOverride.localWagesTips) && + Objects.equals(this.localIncomeTax, w2StateAndLocalWagesOverride.localIncomeTax) && + Objects.equals(this.localityName, w2StateAndLocalWagesOverride.localityName); + } + + @Override + public int hashCode() { + return Objects.hash(state, employerStateIdNumber, stateWagesTips, stateIncomeTax, localWagesTips, localIncomeTax, localityName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class W2StateAndLocalWagesOverride {\n"); + sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append(" employerStateIdNumber: ").append(toIndentedString(employerStateIdNumber)).append("\n"); + sb.append(" stateWagesTips: ").append(toIndentedString(stateWagesTips)).append("\n"); + sb.append(" stateIncomeTax: ").append(toIndentedString(stateIncomeTax)).append("\n"); + sb.append(" localWagesTips: ").append(toIndentedString(localWagesTips)).append("\n"); + sb.append(" localIncomeTax: ").append(toIndentedString(localIncomeTax)).append("\n"); + sb.append(" localityName: ").append(toIndentedString(localityName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Wallet.java b/src/main/java/com/plaid/client/model/Wallet.java new file mode 100644 index 0000000000..46b6472ce9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Wallet.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WalletBalance; +import com.plaid.client.model.WalletNumbers; +import com.plaid.client.model.WalletStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing the e-wallet + */ +@ApiModel(description = "An object representing the e-wallet") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Wallet { + public static final String SERIALIZED_NAME_WALLET_ID = "wallet_id"; + @SerializedName(SERIALIZED_NAME_WALLET_ID) + private String walletId; + + public static final String SERIALIZED_NAME_BALANCE = "balance"; + @SerializedName(SERIALIZED_NAME_BALANCE) + private WalletBalance balance; + + public static final String SERIALIZED_NAME_NUMBERS = "numbers"; + @SerializedName(SERIALIZED_NAME_NUMBERS) + private WalletNumbers numbers; + + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WalletStatus status; + + + public Wallet walletId(String walletId) { + + this.walletId = walletId; + return this; + } + + /** + * A unique ID identifying the e-wallet + * @return walletId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying the e-wallet") + + public String getWalletId() { + return walletId; + } + + + public void setWalletId(String walletId) { + this.walletId = walletId; + } + + + public Wallet balance(WalletBalance balance) { + + this.balance = balance; + return this; + } + + /** + * Get balance + * @return balance + **/ + @ApiModelProperty(required = true, value = "") + + public WalletBalance getBalance() { + return balance; + } + + + public void setBalance(WalletBalance balance) { + this.balance = balance; + } + + + public Wallet numbers(WalletNumbers numbers) { + + this.numbers = numbers; + return this; + } + + /** + * Get numbers + * @return numbers + **/ + @ApiModelProperty(required = true, value = "") + + public WalletNumbers getNumbers() { + return numbers; + } + + + public void setNumbers(WalletNumbers numbers) { + this.numbers = numbers; + } + + + public Wallet recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The ID of the recipient that corresponds to the e-wallet account numbers + * @return recipientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the recipient that corresponds to the e-wallet account numbers") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public Wallet status(WalletStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WalletStatus getStatus() { + return status; + } + + + public void setStatus(WalletStatus status) { + this.status = status; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Wallet wallet = (Wallet) o; + return Objects.equals(this.walletId, wallet.walletId) && + Objects.equals(this.balance, wallet.balance) && + Objects.equals(this.numbers, wallet.numbers) && + Objects.equals(this.recipientId, wallet.recipientId) && + Objects.equals(this.status, wallet.status); + } + + @Override + public int hashCode() { + return Objects.hash(walletId, balance, numbers, recipientId, status); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Wallet {\n"); + sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append(" balance: ").append(toIndentedString(balance)).append("\n"); + sb.append(" numbers: ").append(toIndentedString(numbers)).append("\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletBalance.java b/src/main/java/com/plaid/client/model/WalletBalance.java new file mode 100644 index 0000000000..2af30c8f2f --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletBalance.java @@ -0,0 +1,154 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing the e-wallet balance + */ +@ApiModel(description = "An object representing the e-wallet balance") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletBalance { + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private String isoCurrencyCode; + + public static final String SERIALIZED_NAME_CURRENT = "current"; + @SerializedName(SERIALIZED_NAME_CURRENT) + private Double current; + + public static final String SERIALIZED_NAME_AVAILABLE = "available"; + @SerializedName(SERIALIZED_NAME_AVAILABLE) + private Double available; + + + public WalletBalance isoCurrencyCode(String isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * The ISO-4217 currency code of the balance + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "The ISO-4217 currency code of the balance") + + public String getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(String isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public WalletBalance current(Double current) { + + this.current = current; + return this; + } + + /** + * The total amount of funds in the account + * @return current + **/ + @ApiModelProperty(required = true, value = "The total amount of funds in the account") + + public Double getCurrent() { + return current; + } + + + public void setCurrent(Double current) { + this.current = current; + } + + + public WalletBalance available(Double available) { + + this.available = available; + return this; + } + + /** + * The total amount of funds in the account after subtracting pending debit transaction amounts + * @return available + **/ + @ApiModelProperty(required = true, value = "The total amount of funds in the account after subtracting pending debit transaction amounts") + + public Double getAvailable() { + return available; + } + + + public void setAvailable(Double available) { + this.available = available; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletBalance walletBalance = (WalletBalance) o; + return Objects.equals(this.isoCurrencyCode, walletBalance.isoCurrencyCode) && + Objects.equals(this.current, walletBalance.current) && + Objects.equals(this.available, walletBalance.available); + } + + @Override + public int hashCode() { + return Objects.hash(isoCurrencyCode, current, available); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletBalance {\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" current: ").append(toIndentedString(current)).append("\n"); + sb.append(" available: ").append(toIndentedString(available)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletCreateRequest.java b/src/main/java/com/plaid/client/model/WalletCreateRequest.java new file mode 100644 index 0000000000..4c91bc3c32 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletCreateRequest.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WalletISOCurrencyCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WalletCreateRequest defines the request schema for `/wallet/create` + */ +@ApiModel(description = "WalletCreateRequest defines the request schema for `/wallet/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletCreateRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private WalletISOCurrencyCode isoCurrencyCode; + + + public WalletCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WalletCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WalletCreateRequest isoCurrencyCode(WalletISOCurrencyCode isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * Get isoCurrencyCode + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "") + + public WalletISOCurrencyCode getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(WalletISOCurrencyCode isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletCreateRequest walletCreateRequest = (WalletCreateRequest) o; + return Objects.equals(this.clientId, walletCreateRequest.clientId) && + Objects.equals(this.secret, walletCreateRequest.secret) && + Objects.equals(this.isoCurrencyCode, walletCreateRequest.isoCurrencyCode); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, isoCurrencyCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletCreateRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletCreateResponse.java b/src/main/java/com/plaid/client/model/WalletCreateResponse.java new file mode 100644 index 0000000000..6f1d1b64c9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletCreateResponse.java @@ -0,0 +1,244 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationRecipientGetResponseAllOf; +import com.plaid.client.model.Wallet; +import com.plaid.client.model.WalletBalance; +import com.plaid.client.model.WalletNumbers; +import com.plaid.client.model.WalletStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WalletCreateResponse defines the response schema for `/wallet/create` + */ +@ApiModel(description = "WalletCreateResponse defines the response schema for `/wallet/create`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletCreateResponse { + public static final String SERIALIZED_NAME_WALLET_ID = "wallet_id"; + @SerializedName(SERIALIZED_NAME_WALLET_ID) + private String walletId; + + public static final String SERIALIZED_NAME_BALANCE = "balance"; + @SerializedName(SERIALIZED_NAME_BALANCE) + private WalletBalance balance; + + public static final String SERIALIZED_NAME_NUMBERS = "numbers"; + @SerializedName(SERIALIZED_NAME_NUMBERS) + private WalletNumbers numbers; + + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WalletStatus status; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WalletCreateResponse walletId(String walletId) { + + this.walletId = walletId; + return this; + } + + /** + * A unique ID identifying the e-wallet + * @return walletId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying the e-wallet") + + public String getWalletId() { + return walletId; + } + + + public void setWalletId(String walletId) { + this.walletId = walletId; + } + + + public WalletCreateResponse balance(WalletBalance balance) { + + this.balance = balance; + return this; + } + + /** + * Get balance + * @return balance + **/ + @ApiModelProperty(required = true, value = "") + + public WalletBalance getBalance() { + return balance; + } + + + public void setBalance(WalletBalance balance) { + this.balance = balance; + } + + + public WalletCreateResponse numbers(WalletNumbers numbers) { + + this.numbers = numbers; + return this; + } + + /** + * Get numbers + * @return numbers + **/ + @ApiModelProperty(required = true, value = "") + + public WalletNumbers getNumbers() { + return numbers; + } + + + public void setNumbers(WalletNumbers numbers) { + this.numbers = numbers; + } + + + public WalletCreateResponse recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The ID of the recipient that corresponds to the e-wallet account numbers + * @return recipientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the recipient that corresponds to the e-wallet account numbers") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public WalletCreateResponse status(WalletStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WalletStatus getStatus() { + return status; + } + + + public void setStatus(WalletStatus status) { + this.status = status; + } + + + public WalletCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletCreateResponse walletCreateResponse = (WalletCreateResponse) o; + return Objects.equals(this.walletId, walletCreateResponse.walletId) && + Objects.equals(this.balance, walletCreateResponse.balance) && + Objects.equals(this.numbers, walletCreateResponse.numbers) && + Objects.equals(this.recipientId, walletCreateResponse.recipientId) && + Objects.equals(this.status, walletCreateResponse.status) && + Objects.equals(this.requestId, walletCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(walletId, balance, numbers, recipientId, status, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletCreateResponse {\n"); + sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append(" balance: ").append(toIndentedString(balance)).append("\n"); + sb.append(" numbers: ").append(toIndentedString(numbers)).append("\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletGetRequest.java b/src/main/java/com/plaid/client/model/WalletGetRequest.java new file mode 100644 index 0000000000..7eb1c679f9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WalletGetRequest defines the request schema for `/wallet/get` + */ +@ApiModel(description = "WalletGetRequest defines the request schema for `/wallet/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_WALLET_ID = "wallet_id"; + @SerializedName(SERIALIZED_NAME_WALLET_ID) + private String walletId; + + + public WalletGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WalletGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WalletGetRequest walletId(String walletId) { + + this.walletId = walletId; + return this; + } + + /** + * The ID of the e-wallet + * @return walletId + **/ + @ApiModelProperty(required = true, value = "The ID of the e-wallet") + + public String getWalletId() { + return walletId; + } + + + public void setWalletId(String walletId) { + this.walletId = walletId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletGetRequest walletGetRequest = (WalletGetRequest) o; + return Objects.equals(this.clientId, walletGetRequest.clientId) && + Objects.equals(this.secret, walletGetRequest.secret) && + Objects.equals(this.walletId, walletGetRequest.walletId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, walletId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletGetResponse.java b/src/main/java/com/plaid/client/model/WalletGetResponse.java new file mode 100644 index 0000000000..64b6a482b9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletGetResponse.java @@ -0,0 +1,244 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationRecipientGetResponseAllOf; +import com.plaid.client.model.Wallet; +import com.plaid.client.model.WalletBalance; +import com.plaid.client.model.WalletNumbers; +import com.plaid.client.model.WalletStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WalletGetResponse defines the response schema for `/wallet/get` + */ +@ApiModel(description = "WalletGetResponse defines the response schema for `/wallet/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletGetResponse { + public static final String SERIALIZED_NAME_WALLET_ID = "wallet_id"; + @SerializedName(SERIALIZED_NAME_WALLET_ID) + private String walletId; + + public static final String SERIALIZED_NAME_BALANCE = "balance"; + @SerializedName(SERIALIZED_NAME_BALANCE) + private WalletBalance balance; + + public static final String SERIALIZED_NAME_NUMBERS = "numbers"; + @SerializedName(SERIALIZED_NAME_NUMBERS) + private WalletNumbers numbers; + + public static final String SERIALIZED_NAME_RECIPIENT_ID = "recipient_id"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_ID) + private String recipientId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WalletStatus status; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WalletGetResponse walletId(String walletId) { + + this.walletId = walletId; + return this; + } + + /** + * A unique ID identifying the e-wallet + * @return walletId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying the e-wallet") + + public String getWalletId() { + return walletId; + } + + + public void setWalletId(String walletId) { + this.walletId = walletId; + } + + + public WalletGetResponse balance(WalletBalance balance) { + + this.balance = balance; + return this; + } + + /** + * Get balance + * @return balance + **/ + @ApiModelProperty(required = true, value = "") + + public WalletBalance getBalance() { + return balance; + } + + + public void setBalance(WalletBalance balance) { + this.balance = balance; + } + + + public WalletGetResponse numbers(WalletNumbers numbers) { + + this.numbers = numbers; + return this; + } + + /** + * Get numbers + * @return numbers + **/ + @ApiModelProperty(required = true, value = "") + + public WalletNumbers getNumbers() { + return numbers; + } + + + public void setNumbers(WalletNumbers numbers) { + this.numbers = numbers; + } + + + public WalletGetResponse recipientId(String recipientId) { + + this.recipientId = recipientId; + return this; + } + + /** + * The ID of the recipient that corresponds to the e-wallet account numbers + * @return recipientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the recipient that corresponds to the e-wallet account numbers") + + public String getRecipientId() { + return recipientId; + } + + + public void setRecipientId(String recipientId) { + this.recipientId = recipientId; + } + + + public WalletGetResponse status(WalletStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WalletStatus getStatus() { + return status; + } + + + public void setStatus(WalletStatus status) { + this.status = status; + } + + + public WalletGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletGetResponse walletGetResponse = (WalletGetResponse) o; + return Objects.equals(this.walletId, walletGetResponse.walletId) && + Objects.equals(this.balance, walletGetResponse.balance) && + Objects.equals(this.numbers, walletGetResponse.numbers) && + Objects.equals(this.recipientId, walletGetResponse.recipientId) && + Objects.equals(this.status, walletGetResponse.status) && + Objects.equals(this.requestId, walletGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(walletId, balance, numbers, recipientId, status, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletGetResponse {\n"); + sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append(" balance: ").append(toIndentedString(balance)).append("\n"); + sb.append(" numbers: ").append(toIndentedString(numbers)).append("\n"); + sb.append(" recipientId: ").append(toIndentedString(recipientId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletISOCurrencyCode.java b/src/main/java/com/plaid/client/model/WalletISOCurrencyCode.java new file mode 100644 index 0000000000..d3529035ea --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletISOCurrencyCode.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * An ISO-4217 currency code, used with e-wallets and transactions. + */ +@JsonAdapter(WalletISOCurrencyCode.Adapter.class) +public enum WalletISOCurrencyCode { + + GBP("GBP"), + + EUR("EUR"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WalletISOCurrencyCode(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WalletISOCurrencyCode fromValue(String value) { + for (WalletISOCurrencyCode b : WalletISOCurrencyCode.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return WalletISOCurrencyCode.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WalletISOCurrencyCode enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WalletISOCurrencyCode read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WalletISOCurrencyCode.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WalletListRequest.java b/src/main/java/com/plaid/client/model/WalletListRequest.java new file mode 100644 index 0000000000..3d16bb97f4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletListRequest.java @@ -0,0 +1,218 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WalletISOCurrencyCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WalletListRequest defines the request schema for `/wallet/list` + */ +@ApiModel(description = "WalletListRequest defines the request schema for `/wallet/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private WalletISOCurrencyCode isoCurrencyCode; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 10; + + + public WalletListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WalletListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WalletListRequest isoCurrencyCode(WalletISOCurrencyCode isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * Get isoCurrencyCode + * @return isoCurrencyCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WalletISOCurrencyCode getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(WalletISOCurrencyCode isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public WalletListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * A base64 value representing the latest e-wallet that has already been requested. Set this to `next_cursor` received from the previous `/wallet/list` request. If provided, the response will only contain e-wallets created before that e-wallet. If omitted, the response will contain e-wallets starting from the most recent, and in descending order. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A base64 value representing the latest e-wallet that has already been requested. Set this to `next_cursor` received from the previous `/wallet/list` request. If provided, the response will only contain e-wallets created before that e-wallet. If omitted, the response will contain e-wallets starting from the most recent, and in descending order.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + public WalletListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The number of e-wallets to fetch + * minimum: 1 + * maximum: 20 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of e-wallets to fetch") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletListRequest walletListRequest = (WalletListRequest) o; + return Objects.equals(this.clientId, walletListRequest.clientId) && + Objects.equals(this.secret, walletListRequest.secret) && + Objects.equals(this.isoCurrencyCode, walletListRequest.isoCurrencyCode) && + Objects.equals(this.cursor, walletListRequest.cursor) && + Objects.equals(this.count, walletListRequest.count); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, isoCurrencyCode, cursor, count); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletListResponse.java b/src/main/java/com/plaid/client/model/WalletListResponse.java new file mode 100644 index 0000000000..3668642d50 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Wallet; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * WalletListResponse defines the response schema for `/wallet/list` + */ +@ApiModel(description = "WalletListResponse defines the response schema for `/wallet/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletListResponse { + public static final String SERIALIZED_NAME_WALLETS = "wallets"; + @SerializedName(SERIALIZED_NAME_WALLETS) + private List wallets = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WalletListResponse wallets(List wallets) { + + this.wallets = wallets; + return this; + } + + public WalletListResponse addWalletsItem(Wallet walletsItem) { + this.wallets.add(walletsItem); + return this; + } + + /** + * An array of e-wallets + * @return wallets + **/ + @ApiModelProperty(required = true, value = "An array of e-wallets") + + public List getWallets() { + return wallets; + } + + + public void setWallets(List wallets) { + this.wallets = wallets; + } + + + public WalletListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * Cursor used for fetching e-wallets created before the latest e-wallet provided in this response + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Cursor used for fetching e-wallets created before the latest e-wallet provided in this response") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public WalletListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletListResponse walletListResponse = (WalletListResponse) o; + return Objects.equals(this.wallets, walletListResponse.wallets) && + Objects.equals(this.nextCursor, walletListResponse.nextCursor) && + Objects.equals(this.requestId, walletListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(wallets, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletListResponse {\n"); + sb.append(" wallets: ").append(toIndentedString(wallets)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletNumbers.java b/src/main/java/com/plaid/client/model/WalletNumbers.java new file mode 100644 index 0000000000..5ef483f656 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletNumbers.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.NumbersInternationalIBAN; +import com.plaid.client.model.RecipientBACS; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An object representing the e-wallet account numbers + */ +@ApiModel(description = "An object representing the e-wallet account numbers") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletNumbers { + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private RecipientBACS bacs; + + public static final String SERIALIZED_NAME_INTERNATIONAL = "international"; + @SerializedName(SERIALIZED_NAME_INTERNATIONAL) + private NumbersInternationalIBAN international; + + + public WalletNumbers bacs(RecipientBACS bacs) { + + this.bacs = bacs; + return this; + } + + /** + * Get bacs + * @return bacs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public RecipientBACS getBacs() { + return bacs; + } + + + public void setBacs(RecipientBACS bacs) { + this.bacs = bacs; + } + + + public WalletNumbers international(NumbersInternationalIBAN international) { + + this.international = international; + return this; + } + + /** + * Get international + * @return international + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public NumbersInternationalIBAN getInternational() { + return international; + } + + + public void setInternational(NumbersInternationalIBAN international) { + this.international = international; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletNumbers walletNumbers = (WalletNumbers) o; + return Objects.equals(this.bacs, walletNumbers.bacs) && + Objects.equals(this.international, walletNumbers.international); + } + + @Override + public int hashCode() { + return Objects.hash(bacs, international); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletNumbers {\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append(" international: ").append(toIndentedString(international)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletPaymentScheme.java b/src/main/java/com/plaid/client/model/WalletPaymentScheme.java new file mode 100644 index 0000000000..5306e54792 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletPaymentScheme.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The payment scheme used to execute this transaction. This is present only for transaction types `PAYOUT` and `REFUND`. `FASTER_PAYMENTS`: The standard payment scheme within the UK. `SEPA_CREDIT_TRANSFER`: The standard payment to a beneficiary within the SEPA area. `SEPA_CREDIT_TRANSFER_INSTANT`: Instant payment to a beneficiary within the SEPA area. + */ +@JsonAdapter(WalletPaymentScheme.Adapter.class) +public enum WalletPaymentScheme { + + NULL("null"), + + FASTER_PAYMENTS("FASTER_PAYMENTS"), + + SEPA_CREDIT_TRANSFER("SEPA_CREDIT_TRANSFER"), + + SEPA_CREDIT_TRANSFER_INSTANT("SEPA_CREDIT_TRANSFER_INSTANT"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WalletPaymentScheme(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WalletPaymentScheme fromValue(String value) { + for (WalletPaymentScheme b : WalletPaymentScheme.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WalletPaymentScheme enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WalletPaymentScheme read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WalletPaymentScheme.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WalletStatus.java b/src/main/java/com/plaid/client/model/WalletStatus.java new file mode 100644 index 0000000000..2fe91e2ced --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the wallet. `UNKNOWN`: The wallet status is unknown. `ACTIVE`: The wallet is active and ready to send money to and receive money from. `CLOSED`: The wallet is closed. Any transactions made to or from this wallet will error. + */ +@JsonAdapter(WalletStatus.Adapter.class) +public enum WalletStatus { + + UNKNOWN("UNKNOWN"), + + ACTIVE("ACTIVE"), + + CLOSED("CLOSED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WalletStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WalletStatus fromValue(String value) { + for (WalletStatus b : WalletStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return WalletStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WalletStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WalletStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WalletStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransaction.java b/src/main/java/com/plaid/client/model/WalletTransaction.java new file mode 100644 index 0000000000..90b27ca070 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransaction.java @@ -0,0 +1,576 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WalletPaymentScheme; +import com.plaid.client.model.WalletTransactionAmount; +import com.plaid.client.model.WalletTransactionCounterparty; +import com.plaid.client.model.WalletTransactionFailureReason; +import com.plaid.client.model.WalletTransactionPayeeVerificationStatus; +import com.plaid.client.model.WalletTransactionRelation; +import com.plaid.client.model.WalletTransactionStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * The transaction details + */ +@ApiModel(description = "The transaction details") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransaction { + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_WALLET_ID = "wallet_id"; + @SerializedName(SERIALIZED_NAME_WALLET_ID) + private String walletId; + + public static final String SERIALIZED_NAME_REFERENCE = "reference"; + @SerializedName(SERIALIZED_NAME_REFERENCE) + private String reference; + + /** + * The type of the transaction. The supported transaction types that are returned are: `BANK_TRANSFER:` a transaction which credits an e-wallet through an external bank transfer. `PAYOUT:` a transaction which debits an e-wallet by disbursing funds to a counterparty. `PIS_PAY_IN:` a payment which credits an e-wallet through Plaid's Payment Initiation Services (PIS) APIs. For more information see the [Payment Initiation endpoints](https://plaid.com/docs/api/products/payment-initiation/). `REFUND:` a transaction which debits an e-wallet by refunding a previously initiated payment made through Plaid's [PIS APIs](https://plaid.com/docs/api/products/payment-initiation/). `FUNDS_SWEEP`: an automated transaction which debits funds from an e-wallet to a designated client-owned account. `RETURN`: an automated transaction where a debit transaction was reversed and money moved back to originating account. `RECALL`: a transaction where the sending bank has requested the return of funds due to a fraud claim, technical error, or other issue associated with the payment. `ACCOUNT_FUNDING`: an incoming transfer from an allowlisted account. Not automatically refunded. `AUTO_REFUND`: an outgoing refund automatically initiated by Plaid in response to an unexpected `BANK_TRANSFER`. + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + BANK_TRANSFER("BANK_TRANSFER"), + + PAYOUT("PAYOUT"), + + PIS_PAY_IN("PIS_PAY_IN"), + + REFUND("REFUND"), + + FUNDS_SWEEP("FUNDS_SWEEP"), + + RETURN("RETURN"), + + RECALL("RECALL"), + + ACCOUNT_FUNDING("ACCOUNT_FUNDING"), + + AUTO_REFUND("AUTO_REFUND"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + public static final String SERIALIZED_NAME_SCHEME = "scheme"; + @SerializedName(SERIALIZED_NAME_SCHEME) + private WalletPaymentScheme scheme; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private WalletTransactionAmount amount; + + public static final String SERIALIZED_NAME_COUNTERPARTY = "counterparty"; + @SerializedName(SERIALIZED_NAME_COUNTERPARTY) + private WalletTransactionCounterparty counterparty; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WalletTransactionStatus status; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_LAST_STATUS_UPDATE = "last_status_update"; + @SerializedName(SERIALIZED_NAME_LAST_STATUS_UPDATE) + private OffsetDateTime lastStatusUpdate; + + public static final String SERIALIZED_NAME_PAYEE_VERIFICATION_STATUS = "payee_verification_status"; + @SerializedName(SERIALIZED_NAME_PAYEE_VERIFICATION_STATUS) + private WalletTransactionPayeeVerificationStatus payeeVerificationStatus; + + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private WalletTransactionFailureReason failureReason; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_RELATED_TRANSACTIONS = "related_transactions"; + @SerializedName(SERIALIZED_NAME_RELATED_TRANSACTIONS) + private List relatedTransactions = null; + + + public WalletTransaction transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * A unique ID identifying the transaction + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying the transaction") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public WalletTransaction walletId(String walletId) { + + this.walletId = walletId; + return this; + } + + /** + * The ID of the e-wallet that this transaction is associated with. + * @return walletId + **/ + @ApiModelProperty(required = true, value = "The ID of the e-wallet that this transaction is associated with.") + + public String getWalletId() { + return walletId; + } + + + public void setWalletId(String walletId) { + this.walletId = walletId; + } + + + public WalletTransaction reference(String reference) { + + this.reference = reference; + return this; + } + + /** + * A reference for the transaction + * @return reference + **/ + @ApiModelProperty(required = true, value = "A reference for the transaction") + + public String getReference() { + return reference; + } + + + public void setReference(String reference) { + this.reference = reference; + } + + + public WalletTransaction type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * The type of the transaction. The supported transaction types that are returned are: `BANK_TRANSFER:` a transaction which credits an e-wallet through an external bank transfer. `PAYOUT:` a transaction which debits an e-wallet by disbursing funds to a counterparty. `PIS_PAY_IN:` a payment which credits an e-wallet through Plaid's Payment Initiation Services (PIS) APIs. For more information see the [Payment Initiation endpoints](https://plaid.com/docs/api/products/payment-initiation/). `REFUND:` a transaction which debits an e-wallet by refunding a previously initiated payment made through Plaid's [PIS APIs](https://plaid.com/docs/api/products/payment-initiation/). `FUNDS_SWEEP`: an automated transaction which debits funds from an e-wallet to a designated client-owned account. `RETURN`: an automated transaction where a debit transaction was reversed and money moved back to originating account. `RECALL`: a transaction where the sending bank has requested the return of funds due to a fraud claim, technical error, or other issue associated with the payment. `ACCOUNT_FUNDING`: an incoming transfer from an allowlisted account. Not automatically refunded. `AUTO_REFUND`: an outgoing refund automatically initiated by Plaid in response to an unexpected `BANK_TRANSFER`. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of the transaction. The supported transaction types that are returned are: `BANK_TRANSFER:` a transaction which credits an e-wallet through an external bank transfer. `PAYOUT:` a transaction which debits an e-wallet by disbursing funds to a counterparty. `PIS_PAY_IN:` a payment which credits an e-wallet through Plaid's Payment Initiation Services (PIS) APIs. For more information see the [Payment Initiation endpoints](https://plaid.com/docs/api/products/payment-initiation/). `REFUND:` a transaction which debits an e-wallet by refunding a previously initiated payment made through Plaid's [PIS APIs](https://plaid.com/docs/api/products/payment-initiation/). `FUNDS_SWEEP`: an automated transaction which debits funds from an e-wallet to a designated client-owned account. `RETURN`: an automated transaction where a debit transaction was reversed and money moved back to originating account. `RECALL`: a transaction where the sending bank has requested the return of funds due to a fraud claim, technical error, or other issue associated with the payment. `ACCOUNT_FUNDING`: an incoming transfer from an allowlisted account. Not automatically refunded. `AUTO_REFUND`: an outgoing refund automatically initiated by Plaid in response to an unexpected `BANK_TRANSFER`.") + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + public WalletTransaction scheme(WalletPaymentScheme scheme) { + + this.scheme = scheme; + return this; + } + + /** + * Get scheme + * @return scheme + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WalletPaymentScheme getScheme() { + return scheme; + } + + + public void setScheme(WalletPaymentScheme scheme) { + this.scheme = scheme; + } + + + public WalletTransaction amount(WalletTransactionAmount amount) { + + this.amount = amount; + return this; + } + + /** + * Get amount + * @return amount + **/ + @ApiModelProperty(required = true, value = "") + + public WalletTransactionAmount getAmount() { + return amount; + } + + + public void setAmount(WalletTransactionAmount amount) { + this.amount = amount; + } + + + public WalletTransaction counterparty(WalletTransactionCounterparty counterparty) { + + this.counterparty = counterparty; + return this; + } + + /** + * Get counterparty + * @return counterparty + **/ + @ApiModelProperty(required = true, value = "") + + public WalletTransactionCounterparty getCounterparty() { + return counterparty; + } + + + public void setCounterparty(WalletTransactionCounterparty counterparty) { + this.counterparty = counterparty; + } + + + public WalletTransaction status(WalletTransactionStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WalletTransactionStatus getStatus() { + return status; + } + + + public void setStatus(WalletTransactionStatus status) { + this.status = status; + } + + + public WalletTransaction createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Timestamp when the transaction was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "Timestamp when the transaction was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public WalletTransaction lastStatusUpdate(OffsetDateTime lastStatusUpdate) { + + this.lastStatusUpdate = lastStatusUpdate; + return this; + } + + /** + * The date and time of the last time the `status` was updated, in ISO 8601 format + * @return lastStatusUpdate + **/ + @ApiModelProperty(required = true, value = "The date and time of the last time the `status` was updated, in ISO 8601 format") + + public OffsetDateTime getLastStatusUpdate() { + return lastStatusUpdate; + } + + + public void setLastStatusUpdate(OffsetDateTime lastStatusUpdate) { + this.lastStatusUpdate = lastStatusUpdate; + } + + + public WalletTransaction payeeVerificationStatus(WalletTransactionPayeeVerificationStatus payeeVerificationStatus) { + + this.payeeVerificationStatus = payeeVerificationStatus; + return this; + } + + /** + * Get payeeVerificationStatus + * @return payeeVerificationStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WalletTransactionPayeeVerificationStatus getPayeeVerificationStatus() { + return payeeVerificationStatus; + } + + + public void setPayeeVerificationStatus(WalletTransactionPayeeVerificationStatus payeeVerificationStatus) { + this.payeeVerificationStatus = payeeVerificationStatus; + } + + + public WalletTransaction paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * The payment id that this transaction is associated with, if any. This is present only for transaction types `PIS_PAY_IN` and `REFUND`. + * @return paymentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The payment id that this transaction is associated with, if any. This is present only for transaction types `PIS_PAY_IN` and `REFUND`.") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + public WalletTransaction failureReason(WalletTransactionFailureReason failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WalletTransactionFailureReason getFailureReason() { + return failureReason; + } + + + public void setFailureReason(WalletTransactionFailureReason failureReason) { + this.failureReason = failureReason; + } + + + public WalletTransaction error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public WalletTransaction relatedTransactions(List relatedTransactions) { + + this.relatedTransactions = relatedTransactions; + return this; + } + + public WalletTransaction addRelatedTransactionsItem(WalletTransactionRelation relatedTransactionsItem) { + if (this.relatedTransactions == null) { + this.relatedTransactions = new ArrayList<>(); + } + this.relatedTransactions.add(relatedTransactionsItem); + return this; + } + + /** + * A list of wallet transactions that this transaction is associated with, if any. + * @return relatedTransactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of wallet transactions that this transaction is associated with, if any.") + + public List getRelatedTransactions() { + return relatedTransactions; + } + + + public void setRelatedTransactions(List relatedTransactions) { + this.relatedTransactions = relatedTransactions; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransaction walletTransaction = (WalletTransaction) o; + return Objects.equals(this.transactionId, walletTransaction.transactionId) && + Objects.equals(this.walletId, walletTransaction.walletId) && + Objects.equals(this.reference, walletTransaction.reference) && + Objects.equals(this.type, walletTransaction.type) && + Objects.equals(this.scheme, walletTransaction.scheme) && + Objects.equals(this.amount, walletTransaction.amount) && + Objects.equals(this.counterparty, walletTransaction.counterparty) && + Objects.equals(this.status, walletTransaction.status) && + Objects.equals(this.createdAt, walletTransaction.createdAt) && + Objects.equals(this.lastStatusUpdate, walletTransaction.lastStatusUpdate) && + Objects.equals(this.payeeVerificationStatus, walletTransaction.payeeVerificationStatus) && + Objects.equals(this.paymentId, walletTransaction.paymentId) && + Objects.equals(this.failureReason, walletTransaction.failureReason) && + Objects.equals(this.error, walletTransaction.error) && + Objects.equals(this.relatedTransactions, walletTransaction.relatedTransactions); + } + + @Override + public int hashCode() { + return Objects.hash(transactionId, walletId, reference, type, scheme, amount, counterparty, status, createdAt, lastStatusUpdate, payeeVerificationStatus, paymentId, failureReason, error, relatedTransactions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransaction {\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" scheme: ").append(toIndentedString(scheme)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" counterparty: ").append(toIndentedString(counterparty)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" lastStatusUpdate: ").append(toIndentedString(lastStatusUpdate)).append("\n"); + sb.append(" payeeVerificationStatus: ").append(toIndentedString(payeeVerificationStatus)).append("\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" relatedTransactions: ").append(toIndentedString(relatedTransactions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionAmount.java b/src/main/java/com/plaid/client/model/WalletTransactionAmount.java new file mode 100644 index 0000000000..e36446db17 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionAmount.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WalletISOCurrencyCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The amount and currency of a transaction + */ +@ApiModel(description = "The amount and currency of a transaction") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionAmount { + public static final String SERIALIZED_NAME_ISO_CURRENCY_CODE = "iso_currency_code"; + @SerializedName(SERIALIZED_NAME_ISO_CURRENCY_CODE) + private WalletISOCurrencyCode isoCurrencyCode; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Double value; + + + public WalletTransactionAmount isoCurrencyCode(WalletISOCurrencyCode isoCurrencyCode) { + + this.isoCurrencyCode = isoCurrencyCode; + return this; + } + + /** + * Get isoCurrencyCode + * @return isoCurrencyCode + **/ + @ApiModelProperty(required = true, value = "") + + public WalletISOCurrencyCode getIsoCurrencyCode() { + return isoCurrencyCode; + } + + + public void setIsoCurrencyCode(WalletISOCurrencyCode isoCurrencyCode) { + this.isoCurrencyCode = isoCurrencyCode; + } + + + public WalletTransactionAmount value(Double value) { + + this.value = value; + return this; + } + + /** + * The amount of the transaction. Must contain at most two digits of precision e.g. `1.23`. + * minimum: 0.01 + * @return value + **/ + @ApiModelProperty(required = true, value = "The amount of the transaction. Must contain at most two digits of precision e.g. `1.23`.") + + public Double getValue() { + return value; + } + + + public void setValue(Double value) { + this.value = value; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionAmount walletTransactionAmount = (WalletTransactionAmount) o; + return Objects.equals(this.isoCurrencyCode, walletTransactionAmount.isoCurrencyCode) && + Objects.equals(this.value, walletTransactionAmount.value); + } + + @Override + public int hashCode() { + return Objects.hash(isoCurrencyCode, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionAmount {\n"); + sb.append(" isoCurrencyCode: ").append(toIndentedString(isoCurrencyCode)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionCounterparty.java b/src/main/java/com/plaid/client/model/WalletTransactionCounterparty.java new file mode 100644 index 0000000000..49dffaa2be --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionCounterparty.java @@ -0,0 +1,187 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationAddress; +import com.plaid.client.model.WalletTransactionCounterpartyNumbers; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * An object representing the e-wallet transaction's counterparty + */ +@ApiModel(description = "An object representing the e-wallet transaction's counterparty") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionCounterparty { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NUMBERS = "numbers"; + @SerializedName(SERIALIZED_NAME_NUMBERS) + private WalletTransactionCounterpartyNumbers numbers; + + public static final String SERIALIZED_NAME_ADDRESS = "address"; + @SerializedName(SERIALIZED_NAME_ADDRESS) + private PaymentInitiationAddress address; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + + public WalletTransactionCounterparty name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the counterparty + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the counterparty") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public WalletTransactionCounterparty numbers(WalletTransactionCounterpartyNumbers numbers) { + + this.numbers = numbers; + return this; + } + + /** + * Get numbers + * @return numbers + **/ + @ApiModelProperty(required = true, value = "") + + public WalletTransactionCounterpartyNumbers getNumbers() { + return numbers; + } + + + public void setNumbers(WalletTransactionCounterpartyNumbers numbers) { + this.numbers = numbers; + } + + + public WalletTransactionCounterparty address(PaymentInitiationAddress address) { + + this.address = address; + return this; + } + + /** + * Get address + * @return address + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PaymentInitiationAddress getAddress() { + return address; + } + + + public void setAddress(PaymentInitiationAddress address) { + this.address = address; + } + + + public WalletTransactionCounterparty dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * The counterparty's birthdate, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The counterparty's birthdate, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format.") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionCounterparty walletTransactionCounterparty = (WalletTransactionCounterparty) o; + return Objects.equals(this.name, walletTransactionCounterparty.name) && + Objects.equals(this.numbers, walletTransactionCounterparty.numbers) && + Objects.equals(this.address, walletTransactionCounterparty.address) && + Objects.equals(this.dateOfBirth, walletTransactionCounterparty.dateOfBirth); + } + + @Override + public int hashCode() { + return Objects.hash(name, numbers, address, dateOfBirth); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionCounterparty {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" numbers: ").append(toIndentedString(numbers)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionCounterpartyBACS.java b/src/main/java/com/plaid/client/model/WalletTransactionCounterpartyBACS.java new file mode 100644 index 0000000000..71681452b0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionCounterpartyBACS.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.RecipientBACS; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The account number and sort code of the counterparty's account + */ +@ApiModel(description = "The account number and sort code of the counterparty's account") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionCounterpartyBACS { + public static final String SERIALIZED_NAME_ACCOUNT = "account"; + @SerializedName(SERIALIZED_NAME_ACCOUNT) + private String account; + + public static final String SERIALIZED_NAME_SORT_CODE = "sort_code"; + @SerializedName(SERIALIZED_NAME_SORT_CODE) + private String sortCode; + + + public WalletTransactionCounterpartyBACS account(String account) { + + this.account = account; + return this; + } + + /** + * The account number of the account. Maximum of 10 characters. + * @return account + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The account number of the account. Maximum of 10 characters.") + + public String getAccount() { + return account; + } + + + public void setAccount(String account) { + this.account = account; + } + + + public WalletTransactionCounterpartyBACS sortCode(String sortCode) { + + this.sortCode = sortCode; + return this; + } + + /** + * The 6-character sort code of the account. + * @return sortCode + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The 6-character sort code of the account.") + + public String getSortCode() { + return sortCode; + } + + + public void setSortCode(String sortCode) { + this.sortCode = sortCode; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionCounterpartyBACS walletTransactionCounterpartyBACS = (WalletTransactionCounterpartyBACS) o; + return Objects.equals(this.account, walletTransactionCounterpartyBACS.account) && + Objects.equals(this.sortCode, walletTransactionCounterpartyBACS.sortCode); + } + + @Override + public int hashCode() { + return Objects.hash(account, sortCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionCounterpartyBACS {\n"); + sb.append(" account: ").append(toIndentedString(account)).append("\n"); + sb.append(" sortCode: ").append(toIndentedString(sortCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionCounterpartyInternational.java b/src/main/java/com/plaid/client/model/WalletTransactionCounterpartyInternational.java new file mode 100644 index 0000000000..65a0e2665e --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionCounterpartyInternational.java @@ -0,0 +1,99 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * International Bank Account Number for a Wallet Transaction + */ +@ApiModel(description = "International Bank Account Number for a Wallet Transaction") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionCounterpartyInternational { + public static final String SERIALIZED_NAME_IBAN = "iban"; + @SerializedName(SERIALIZED_NAME_IBAN) + private String iban; + + + public WalletTransactionCounterpartyInternational iban(String iban) { + + this.iban = iban; + return this; + } + + /** + * International Bank Account Number (IBAN). + * @return iban + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "International Bank Account Number (IBAN).") + + public String getIban() { + return iban; + } + + + public void setIban(String iban) { + this.iban = iban; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionCounterpartyInternational walletTransactionCounterpartyInternational = (WalletTransactionCounterpartyInternational) o; + return Objects.equals(this.iban, walletTransactionCounterpartyInternational.iban); + } + + @Override + public int hashCode() { + return Objects.hash(iban); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionCounterpartyInternational {\n"); + sb.append(" iban: ").append(toIndentedString(iban)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionCounterpartyNumbers.java b/src/main/java/com/plaid/client/model/WalletTransactionCounterpartyNumbers.java new file mode 100644 index 0000000000..5e61711974 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionCounterpartyNumbers.java @@ -0,0 +1,130 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WalletTransactionCounterpartyBACS; +import com.plaid.client.model.WalletTransactionCounterpartyInternational; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The counterparty's bank account numbers. Exactly one of IBAN or Bacs data is required. + */ +@ApiModel(description = "The counterparty's bank account numbers. Exactly one of IBAN or Bacs data is required.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionCounterpartyNumbers { + public static final String SERIALIZED_NAME_BACS = "bacs"; + @SerializedName(SERIALIZED_NAME_BACS) + private WalletTransactionCounterpartyBACS bacs; + + public static final String SERIALIZED_NAME_INTERNATIONAL = "international"; + @SerializedName(SERIALIZED_NAME_INTERNATIONAL) + private WalletTransactionCounterpartyInternational international; + + + public WalletTransactionCounterpartyNumbers bacs(WalletTransactionCounterpartyBACS bacs) { + + this.bacs = bacs; + return this; + } + + /** + * Get bacs + * @return bacs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WalletTransactionCounterpartyBACS getBacs() { + return bacs; + } + + + public void setBacs(WalletTransactionCounterpartyBACS bacs) { + this.bacs = bacs; + } + + + public WalletTransactionCounterpartyNumbers international(WalletTransactionCounterpartyInternational international) { + + this.international = international; + return this; + } + + /** + * Get international + * @return international + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WalletTransactionCounterpartyInternational getInternational() { + return international; + } + + + public void setInternational(WalletTransactionCounterpartyInternational international) { + this.international = international; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionCounterpartyNumbers walletTransactionCounterpartyNumbers = (WalletTransactionCounterpartyNumbers) o; + return Objects.equals(this.bacs, walletTransactionCounterpartyNumbers.bacs) && + Objects.equals(this.international, walletTransactionCounterpartyNumbers.international); + } + + @Override + public int hashCode() { + return Objects.hash(bacs, international); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionCounterpartyNumbers {\n"); + sb.append(" bacs: ").append(toIndentedString(bacs)).append("\n"); + sb.append(" international: ").append(toIndentedString(international)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionExecuteRequest.java b/src/main/java/com/plaid/client/model/WalletTransactionExecuteRequest.java new file mode 100644 index 0000000000..3f7d67dc0c --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionExecuteRequest.java @@ -0,0 +1,300 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.OriginatingFundSource; +import com.plaid.client.model.WalletTransactionAmount; +import com.plaid.client.model.WalletTransactionCounterparty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WalletTransactionExecuteRequest defines the request schema for `/wallet/transaction/execute` + */ +@ApiModel(description = "WalletTransactionExecuteRequest defines the request schema for `/wallet/transaction/execute`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionExecuteRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_IDEMPOTENCY_KEY = "idempotency_key"; + @SerializedName(SERIALIZED_NAME_IDEMPOTENCY_KEY) + private String idempotencyKey; + + public static final String SERIALIZED_NAME_WALLET_ID = "wallet_id"; + @SerializedName(SERIALIZED_NAME_WALLET_ID) + private String walletId; + + public static final String SERIALIZED_NAME_COUNTERPARTY = "counterparty"; + @SerializedName(SERIALIZED_NAME_COUNTERPARTY) + private WalletTransactionCounterparty counterparty; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private WalletTransactionAmount amount; + + public static final String SERIALIZED_NAME_REFERENCE = "reference"; + @SerializedName(SERIALIZED_NAME_REFERENCE) + private String reference; + + public static final String SERIALIZED_NAME_ORIGINATING_FUND_SOURCE = "originating_fund_source"; + @SerializedName(SERIALIZED_NAME_ORIGINATING_FUND_SOURCE) + private OriginatingFundSource originatingFundSource; + + + public WalletTransactionExecuteRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WalletTransactionExecuteRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WalletTransactionExecuteRequest idempotencyKey(String idempotencyKey) { + + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * A random key provided by the client, per unique wallet transaction. Maximum of 128 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. If a request to execute a wallet transaction fails due to a network connection error, then after a minimum delay of one minute, you can retry the request with the same idempotency key to guarantee that only a single wallet transaction is created. If the request was successfully processed, it will prevent any transaction that uses the same idempotency key, and was received within 24 hours of the first request, from being processed. + * @return idempotencyKey + **/ + @ApiModelProperty(required = true, value = "A random key provided by the client, per unique wallet transaction. Maximum of 128 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. If a request to execute a wallet transaction fails due to a network connection error, then after a minimum delay of one minute, you can retry the request with the same idempotency key to guarantee that only a single wallet transaction is created. If the request was successfully processed, it will prevent any transaction that uses the same idempotency key, and was received within 24 hours of the first request, from being processed.") + + public String getIdempotencyKey() { + return idempotencyKey; + } + + + public void setIdempotencyKey(String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + } + + + public WalletTransactionExecuteRequest walletId(String walletId) { + + this.walletId = walletId; + return this; + } + + /** + * The ID of the e-wallet to debit from + * @return walletId + **/ + @ApiModelProperty(required = true, value = "The ID of the e-wallet to debit from") + + public String getWalletId() { + return walletId; + } + + + public void setWalletId(String walletId) { + this.walletId = walletId; + } + + + public WalletTransactionExecuteRequest counterparty(WalletTransactionCounterparty counterparty) { + + this.counterparty = counterparty; + return this; + } + + /** + * Get counterparty + * @return counterparty + **/ + @ApiModelProperty(required = true, value = "") + + public WalletTransactionCounterparty getCounterparty() { + return counterparty; + } + + + public void setCounterparty(WalletTransactionCounterparty counterparty) { + this.counterparty = counterparty; + } + + + public WalletTransactionExecuteRequest amount(WalletTransactionAmount amount) { + + this.amount = amount; + return this; + } + + /** + * Get amount + * @return amount + **/ + @ApiModelProperty(required = true, value = "") + + public WalletTransactionAmount getAmount() { + return amount; + } + + + public void setAmount(WalletTransactionAmount amount) { + this.amount = amount; + } + + + public WalletTransactionExecuteRequest reference(String reference) { + + this.reference = reference; + return this; + } + + /** + * A reference for the transaction. This must be an alphanumeric string with 6 to 18 characters and must not contain any special characters or spaces. Ensure that the `reference` field is unique for each transaction. + * @return reference + **/ + @ApiModelProperty(required = true, value = "A reference for the transaction. This must be an alphanumeric string with 6 to 18 characters and must not contain any special characters or spaces. Ensure that the `reference` field is unique for each transaction.") + + public String getReference() { + return reference; + } + + + public void setReference(String reference) { + this.reference = reference; + } + + + public WalletTransactionExecuteRequest originatingFundSource(OriginatingFundSource originatingFundSource) { + + this.originatingFundSource = originatingFundSource; + return this; + } + + /** + * Get originatingFundSource + * @return originatingFundSource + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public OriginatingFundSource getOriginatingFundSource() { + return originatingFundSource; + } + + + public void setOriginatingFundSource(OriginatingFundSource originatingFundSource) { + this.originatingFundSource = originatingFundSource; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionExecuteRequest walletTransactionExecuteRequest = (WalletTransactionExecuteRequest) o; + return Objects.equals(this.clientId, walletTransactionExecuteRequest.clientId) && + Objects.equals(this.secret, walletTransactionExecuteRequest.secret) && + Objects.equals(this.idempotencyKey, walletTransactionExecuteRequest.idempotencyKey) && + Objects.equals(this.walletId, walletTransactionExecuteRequest.walletId) && + Objects.equals(this.counterparty, walletTransactionExecuteRequest.counterparty) && + Objects.equals(this.amount, walletTransactionExecuteRequest.amount) && + Objects.equals(this.reference, walletTransactionExecuteRequest.reference) && + Objects.equals(this.originatingFundSource, walletTransactionExecuteRequest.originatingFundSource); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, idempotencyKey, walletId, counterparty, amount, reference, originatingFundSource); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionExecuteRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" idempotencyKey: ").append(toIndentedString(idempotencyKey)).append("\n"); + sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append(" counterparty: ").append(toIndentedString(counterparty)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); + sb.append(" originatingFundSource: ").append(toIndentedString(originatingFundSource)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionExecuteResponse.java b/src/main/java/com/plaid/client/model/WalletTransactionExecuteResponse.java new file mode 100644 index 0000000000..0e2a3ed64c --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionExecuteResponse.java @@ -0,0 +1,155 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WalletTransactionStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WalletTransactionExecuteResponse defines the response schema for `/wallet/transaction/execute` + */ +@ApiModel(description = "WalletTransactionExecuteResponse defines the response schema for `/wallet/transaction/execute`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionExecuteResponse { + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WalletTransactionStatus status; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WalletTransactionExecuteResponse transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * A unique ID identifying the transaction + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying the transaction") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public WalletTransactionExecuteResponse status(WalletTransactionStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WalletTransactionStatus getStatus() { + return status; + } + + + public void setStatus(WalletTransactionStatus status) { + this.status = status; + } + + + public WalletTransactionExecuteResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionExecuteResponse walletTransactionExecuteResponse = (WalletTransactionExecuteResponse) o; + return Objects.equals(this.transactionId, walletTransactionExecuteResponse.transactionId) && + Objects.equals(this.status, walletTransactionExecuteResponse.status) && + Objects.equals(this.requestId, walletTransactionExecuteResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(transactionId, status, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionExecuteResponse {\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionFailureReason.java b/src/main/java/com/plaid/client/model/WalletTransactionFailureReason.java new file mode 100644 index 0000000000..16e20743e3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionFailureReason.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The error code of a failed transaction. Error codes include: `EXTERNAL_SYSTEM`: The transaction was declined by an external system. `EXPIRED`: The transaction request has expired. `CANCELLED`: The transaction request was rescinded. `INVALID`: The transaction did not meet certain criteria, such as an inactive account or no valid counterparty, etc. `ACCOUNT_INVALID`: The transaction could not be processed because the wallet account is invalid or inactive. `AUTHENTICATION_FAILED`: The transaction could not be processed because authentication with the wallet provider failed. `UNKNOWN`: The transaction was unsuccessful, but the exact cause is unknown. + */ +@JsonAdapter(WalletTransactionFailureReason.Adapter.class) +public enum WalletTransactionFailureReason { + + EXTERNAL_SYSTEM("EXTERNAL_SYSTEM"), + + EXPIRED("EXPIRED"), + + CANCELLED("CANCELLED"), + + INVALID("INVALID"), + + ACCOUNT_INVALID("ACCOUNT_INVALID"), + + AUTHENTICATION_FAILED("AUTHENTICATION_FAILED"), + + UNKNOWN("UNKNOWN"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WalletTransactionFailureReason(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WalletTransactionFailureReason fromValue(String value) { + for (WalletTransactionFailureReason b : WalletTransactionFailureReason.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WalletTransactionFailureReason enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WalletTransactionFailureReason read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WalletTransactionFailureReason.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionGetRequest.java b/src/main/java/com/plaid/client/model/WalletTransactionGetRequest.java new file mode 100644 index 0000000000..46600d8cca --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WalletTransactionGetRequest defines the request schema for `/wallet/transaction/get` + */ +@ApiModel(description = "WalletTransactionGetRequest defines the request schema for `/wallet/transaction/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + + public WalletTransactionGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WalletTransactionGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WalletTransactionGetRequest transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The ID of the transaction to fetch + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "The ID of the transaction to fetch") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionGetRequest walletTransactionGetRequest = (WalletTransactionGetRequest) o; + return Objects.equals(this.clientId, walletTransactionGetRequest.clientId) && + Objects.equals(this.secret, walletTransactionGetRequest.secret) && + Objects.equals(this.transactionId, walletTransactionGetRequest.transactionId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, transactionId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionGetResponse.java b/src/main/java/com/plaid/client/model/WalletTransactionGetResponse.java new file mode 100644 index 0000000000..b1c8a30cfa --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionGetResponse.java @@ -0,0 +1,606 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PaymentInitiationRecipientGetResponseAllOf; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WalletPaymentScheme; +import com.plaid.client.model.WalletTransaction; +import com.plaid.client.model.WalletTransactionAmount; +import com.plaid.client.model.WalletTransactionCounterparty; +import com.plaid.client.model.WalletTransactionFailureReason; +import com.plaid.client.model.WalletTransactionPayeeVerificationStatus; +import com.plaid.client.model.WalletTransactionRelation; +import com.plaid.client.model.WalletTransactionStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * WalletTransactionGetResponse defines the response schema for `/wallet/transaction/get` + */ +@ApiModel(description = "WalletTransactionGetResponse defines the response schema for `/wallet/transaction/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionGetResponse { + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_WALLET_ID = "wallet_id"; + @SerializedName(SERIALIZED_NAME_WALLET_ID) + private String walletId; + + public static final String SERIALIZED_NAME_REFERENCE = "reference"; + @SerializedName(SERIALIZED_NAME_REFERENCE) + private String reference; + + /** + * The type of the transaction. The supported transaction types that are returned are: `BANK_TRANSFER:` a transaction which credits an e-wallet through an external bank transfer. `PAYOUT:` a transaction which debits an e-wallet by disbursing funds to a counterparty. `PIS_PAY_IN:` a payment which credits an e-wallet through Plaid's Payment Initiation Services (PIS) APIs. For more information see the [Payment Initiation endpoints](https://plaid.com/docs/api/products/payment-initiation/). `REFUND:` a transaction which debits an e-wallet by refunding a previously initiated payment made through Plaid's [PIS APIs](https://plaid.com/docs/api/products/payment-initiation/). `FUNDS_SWEEP`: an automated transaction which debits funds from an e-wallet to a designated client-owned account. `RETURN`: an automated transaction where a debit transaction was reversed and money moved back to originating account. `RECALL`: a transaction where the sending bank has requested the return of funds due to a fraud claim, technical error, or other issue associated with the payment. `ACCOUNT_FUNDING`: an incoming transfer from an allowlisted account. Not automatically refunded. `AUTO_REFUND`: an outgoing refund automatically initiated by Plaid in response to an unexpected `BANK_TRANSFER`. + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + BANK_TRANSFER("BANK_TRANSFER"), + + PAYOUT("PAYOUT"), + + PIS_PAY_IN("PIS_PAY_IN"), + + REFUND("REFUND"), + + FUNDS_SWEEP("FUNDS_SWEEP"), + + RETURN("RETURN"), + + RECALL("RECALL"), + + ACCOUNT_FUNDING("ACCOUNT_FUNDING"), + + AUTO_REFUND("AUTO_REFUND"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + public static final String SERIALIZED_NAME_SCHEME = "scheme"; + @SerializedName(SERIALIZED_NAME_SCHEME) + private WalletPaymentScheme scheme; + + public static final String SERIALIZED_NAME_AMOUNT = "amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private WalletTransactionAmount amount; + + public static final String SERIALIZED_NAME_COUNTERPARTY = "counterparty"; + @SerializedName(SERIALIZED_NAME_COUNTERPARTY) + private WalletTransactionCounterparty counterparty; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WalletTransactionStatus status; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_LAST_STATUS_UPDATE = "last_status_update"; + @SerializedName(SERIALIZED_NAME_LAST_STATUS_UPDATE) + private OffsetDateTime lastStatusUpdate; + + public static final String SERIALIZED_NAME_PAYEE_VERIFICATION_STATUS = "payee_verification_status"; + @SerializedName(SERIALIZED_NAME_PAYEE_VERIFICATION_STATUS) + private WalletTransactionPayeeVerificationStatus payeeVerificationStatus; + + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private WalletTransactionFailureReason failureReason; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_RELATED_TRANSACTIONS = "related_transactions"; + @SerializedName(SERIALIZED_NAME_RELATED_TRANSACTIONS) + private List relatedTransactions = null; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WalletTransactionGetResponse transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * A unique ID identifying the transaction + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "A unique ID identifying the transaction") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public WalletTransactionGetResponse walletId(String walletId) { + + this.walletId = walletId; + return this; + } + + /** + * The ID of the e-wallet that this transaction is associated with. + * @return walletId + **/ + @ApiModelProperty(required = true, value = "The ID of the e-wallet that this transaction is associated with.") + + public String getWalletId() { + return walletId; + } + + + public void setWalletId(String walletId) { + this.walletId = walletId; + } + + + public WalletTransactionGetResponse reference(String reference) { + + this.reference = reference; + return this; + } + + /** + * A reference for the transaction + * @return reference + **/ + @ApiModelProperty(required = true, value = "A reference for the transaction") + + public String getReference() { + return reference; + } + + + public void setReference(String reference) { + this.reference = reference; + } + + + public WalletTransactionGetResponse type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * The type of the transaction. The supported transaction types that are returned are: `BANK_TRANSFER:` a transaction which credits an e-wallet through an external bank transfer. `PAYOUT:` a transaction which debits an e-wallet by disbursing funds to a counterparty. `PIS_PAY_IN:` a payment which credits an e-wallet through Plaid's Payment Initiation Services (PIS) APIs. For more information see the [Payment Initiation endpoints](https://plaid.com/docs/api/products/payment-initiation/). `REFUND:` a transaction which debits an e-wallet by refunding a previously initiated payment made through Plaid's [PIS APIs](https://plaid.com/docs/api/products/payment-initiation/). `FUNDS_SWEEP`: an automated transaction which debits funds from an e-wallet to a designated client-owned account. `RETURN`: an automated transaction where a debit transaction was reversed and money moved back to originating account. `RECALL`: a transaction where the sending bank has requested the return of funds due to a fraud claim, technical error, or other issue associated with the payment. `ACCOUNT_FUNDING`: an incoming transfer from an allowlisted account. Not automatically refunded. `AUTO_REFUND`: an outgoing refund automatically initiated by Plaid in response to an unexpected `BANK_TRANSFER`. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of the transaction. The supported transaction types that are returned are: `BANK_TRANSFER:` a transaction which credits an e-wallet through an external bank transfer. `PAYOUT:` a transaction which debits an e-wallet by disbursing funds to a counterparty. `PIS_PAY_IN:` a payment which credits an e-wallet through Plaid's Payment Initiation Services (PIS) APIs. For more information see the [Payment Initiation endpoints](https://plaid.com/docs/api/products/payment-initiation/). `REFUND:` a transaction which debits an e-wallet by refunding a previously initiated payment made through Plaid's [PIS APIs](https://plaid.com/docs/api/products/payment-initiation/). `FUNDS_SWEEP`: an automated transaction which debits funds from an e-wallet to a designated client-owned account. `RETURN`: an automated transaction where a debit transaction was reversed and money moved back to originating account. `RECALL`: a transaction where the sending bank has requested the return of funds due to a fraud claim, technical error, or other issue associated with the payment. `ACCOUNT_FUNDING`: an incoming transfer from an allowlisted account. Not automatically refunded. `AUTO_REFUND`: an outgoing refund automatically initiated by Plaid in response to an unexpected `BANK_TRANSFER`.") + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + public WalletTransactionGetResponse scheme(WalletPaymentScheme scheme) { + + this.scheme = scheme; + return this; + } + + /** + * Get scheme + * @return scheme + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WalletPaymentScheme getScheme() { + return scheme; + } + + + public void setScheme(WalletPaymentScheme scheme) { + this.scheme = scheme; + } + + + public WalletTransactionGetResponse amount(WalletTransactionAmount amount) { + + this.amount = amount; + return this; + } + + /** + * Get amount + * @return amount + **/ + @ApiModelProperty(required = true, value = "") + + public WalletTransactionAmount getAmount() { + return amount; + } + + + public void setAmount(WalletTransactionAmount amount) { + this.amount = amount; + } + + + public WalletTransactionGetResponse counterparty(WalletTransactionCounterparty counterparty) { + + this.counterparty = counterparty; + return this; + } + + /** + * Get counterparty + * @return counterparty + **/ + @ApiModelProperty(required = true, value = "") + + public WalletTransactionCounterparty getCounterparty() { + return counterparty; + } + + + public void setCounterparty(WalletTransactionCounterparty counterparty) { + this.counterparty = counterparty; + } + + + public WalletTransactionGetResponse status(WalletTransactionStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WalletTransactionStatus getStatus() { + return status; + } + + + public void setStatus(WalletTransactionStatus status) { + this.status = status; + } + + + public WalletTransactionGetResponse createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Timestamp when the transaction was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "Timestamp when the transaction was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public WalletTransactionGetResponse lastStatusUpdate(OffsetDateTime lastStatusUpdate) { + + this.lastStatusUpdate = lastStatusUpdate; + return this; + } + + /** + * The date and time of the last time the `status` was updated, in ISO 8601 format + * @return lastStatusUpdate + **/ + @ApiModelProperty(required = true, value = "The date and time of the last time the `status` was updated, in ISO 8601 format") + + public OffsetDateTime getLastStatusUpdate() { + return lastStatusUpdate; + } + + + public void setLastStatusUpdate(OffsetDateTime lastStatusUpdate) { + this.lastStatusUpdate = lastStatusUpdate; + } + + + public WalletTransactionGetResponse payeeVerificationStatus(WalletTransactionPayeeVerificationStatus payeeVerificationStatus) { + + this.payeeVerificationStatus = payeeVerificationStatus; + return this; + } + + /** + * Get payeeVerificationStatus + * @return payeeVerificationStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WalletTransactionPayeeVerificationStatus getPayeeVerificationStatus() { + return payeeVerificationStatus; + } + + + public void setPayeeVerificationStatus(WalletTransactionPayeeVerificationStatus payeeVerificationStatus) { + this.payeeVerificationStatus = payeeVerificationStatus; + } + + + public WalletTransactionGetResponse paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * The payment id that this transaction is associated with, if any. This is present only for transaction types `PIS_PAY_IN` and `REFUND`. + * @return paymentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The payment id that this transaction is associated with, if any. This is present only for transaction types `PIS_PAY_IN` and `REFUND`.") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + public WalletTransactionGetResponse failureReason(WalletTransactionFailureReason failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WalletTransactionFailureReason getFailureReason() { + return failureReason; + } + + + public void setFailureReason(WalletTransactionFailureReason failureReason) { + this.failureReason = failureReason; + } + + + public WalletTransactionGetResponse error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public WalletTransactionGetResponse relatedTransactions(List relatedTransactions) { + + this.relatedTransactions = relatedTransactions; + return this; + } + + public WalletTransactionGetResponse addRelatedTransactionsItem(WalletTransactionRelation relatedTransactionsItem) { + if (this.relatedTransactions == null) { + this.relatedTransactions = new ArrayList<>(); + } + this.relatedTransactions.add(relatedTransactionsItem); + return this; + } + + /** + * A list of wallet transactions that this transaction is associated with, if any. + * @return relatedTransactions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of wallet transactions that this transaction is associated with, if any.") + + public List getRelatedTransactions() { + return relatedTransactions; + } + + + public void setRelatedTransactions(List relatedTransactions) { + this.relatedTransactions = relatedTransactions; + } + + + public WalletTransactionGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionGetResponse walletTransactionGetResponse = (WalletTransactionGetResponse) o; + return Objects.equals(this.transactionId, walletTransactionGetResponse.transactionId) && + Objects.equals(this.walletId, walletTransactionGetResponse.walletId) && + Objects.equals(this.reference, walletTransactionGetResponse.reference) && + Objects.equals(this.type, walletTransactionGetResponse.type) && + Objects.equals(this.scheme, walletTransactionGetResponse.scheme) && + Objects.equals(this.amount, walletTransactionGetResponse.amount) && + Objects.equals(this.counterparty, walletTransactionGetResponse.counterparty) && + Objects.equals(this.status, walletTransactionGetResponse.status) && + Objects.equals(this.createdAt, walletTransactionGetResponse.createdAt) && + Objects.equals(this.lastStatusUpdate, walletTransactionGetResponse.lastStatusUpdate) && + Objects.equals(this.payeeVerificationStatus, walletTransactionGetResponse.payeeVerificationStatus) && + Objects.equals(this.paymentId, walletTransactionGetResponse.paymentId) && + Objects.equals(this.failureReason, walletTransactionGetResponse.failureReason) && + Objects.equals(this.error, walletTransactionGetResponse.error) && + Objects.equals(this.relatedTransactions, walletTransactionGetResponse.relatedTransactions) && + Objects.equals(this.requestId, walletTransactionGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(transactionId, walletId, reference, type, scheme, amount, counterparty, status, createdAt, lastStatusUpdate, payeeVerificationStatus, paymentId, failureReason, error, relatedTransactions, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionGetResponse {\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" scheme: ").append(toIndentedString(scheme)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" counterparty: ").append(toIndentedString(counterparty)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" lastStatusUpdate: ").append(toIndentedString(lastStatusUpdate)).append("\n"); + sb.append(" payeeVerificationStatus: ").append(toIndentedString(payeeVerificationStatus)).append("\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" relatedTransactions: ").append(toIndentedString(relatedTransactions)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionListRequest.java b/src/main/java/com/plaid/client/model/WalletTransactionListRequest.java new file mode 100644 index 0000000000..420cf421a3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionListRequest.java @@ -0,0 +1,246 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WalletTransactionListRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WalletTransactionListRequest defines the request schema for `/wallet/transaction/list` + */ +@ApiModel(description = "WalletTransactionListRequest defines the request schema for `/wallet/transaction/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_WALLET_ID = "wallet_id"; + @SerializedName(SERIALIZED_NAME_WALLET_ID) + private String walletId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 10; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private WalletTransactionListRequestOptions options; + + + public WalletTransactionListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WalletTransactionListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WalletTransactionListRequest walletId(String walletId) { + + this.walletId = walletId; + return this; + } + + /** + * The ID of the e-wallet to fetch transactions from + * @return walletId + **/ + @ApiModelProperty(required = true, value = "The ID of the e-wallet to fetch transactions from") + + public String getWalletId() { + return walletId; + } + + + public void setWalletId(String walletId) { + this.walletId = walletId; + } + + + public WalletTransactionListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * A value representing the latest transaction to be included in the response. Set this from `next_cursor` received in the previous `/wallet/transaction/list` request. If provided, the response will only contain that transaction and transactions created before it. If omitted, the response will contain transactions starting from the most recent, and in descending order by the `created_at` time. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A value representing the latest transaction to be included in the response. Set this from `next_cursor` received in the previous `/wallet/transaction/list` request. If provided, the response will only contain that transaction and transactions created before it. If omitted, the response will contain transactions starting from the most recent, and in descending order by the `created_at` time.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + public WalletTransactionListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The number of transactions to fetch + * minimum: 1 + * maximum: 200 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of transactions to fetch") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public WalletTransactionListRequest options(WalletTransactionListRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WalletTransactionListRequestOptions getOptions() { + return options; + } + + + public void setOptions(WalletTransactionListRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionListRequest walletTransactionListRequest = (WalletTransactionListRequest) o; + return Objects.equals(this.clientId, walletTransactionListRequest.clientId) && + Objects.equals(this.secret, walletTransactionListRequest.secret) && + Objects.equals(this.walletId, walletTransactionListRequest.walletId) && + Objects.equals(this.cursor, walletTransactionListRequest.cursor) && + Objects.equals(this.count, walletTransactionListRequest.count) && + Objects.equals(this.options, walletTransactionListRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, walletId, cursor, count, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionListRequestOptions.java b/src/main/java/com/plaid/client/model/WalletTransactionListRequestOptions.java new file mode 100644 index 0000000000..17b45a6008 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionListRequestOptions.java @@ -0,0 +1,129 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Additional wallet transaction options + */ +@ApiModel(description = "Additional wallet transaction options") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionListRequestOptions { + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + private OffsetDateTime startTime; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + private OffsetDateTime endTime; + + + public WalletTransactionListRequestOptions startTime(OffsetDateTime startTime) { + + this.startTime = startTime; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDThh:mm:ssZ) for filtering transactions, inclusive of the provided date. + * @return startTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDThh:mm:ssZ) for filtering transactions, inclusive of the provided date.") + + public OffsetDateTime getStartTime() { + return startTime; + } + + + public void setStartTime(OffsetDateTime startTime) { + this.startTime = startTime; + } + + + public WalletTransactionListRequestOptions endTime(OffsetDateTime endTime) { + + this.endTime = endTime; + return this; + } + + /** + * Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDThh:mm:ssZ) for filtering transactions, inclusive of the provided date. + * @return endTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDThh:mm:ssZ) for filtering transactions, inclusive of the provided date.") + + public OffsetDateTime getEndTime() { + return endTime; + } + + + public void setEndTime(OffsetDateTime endTime) { + this.endTime = endTime; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionListRequestOptions walletTransactionListRequestOptions = (WalletTransactionListRequestOptions) o; + return Objects.equals(this.startTime, walletTransactionListRequestOptions.startTime) && + Objects.equals(this.endTime, walletTransactionListRequestOptions.endTime); + } + + @Override + public int hashCode() { + return Objects.hash(startTime, endTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionListRequestOptions {\n"); + sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); + sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionListResponse.java b/src/main/java/com/plaid/client/model/WalletTransactionListResponse.java new file mode 100644 index 0000000000..171cab33de --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WalletTransaction; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * WalletTransactionListResponse defines the response schema for `/wallet/transaction/list` + */ +@ApiModel(description = "WalletTransactionListResponse defines the response schema for `/wallet/transaction/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionListResponse { + public static final String SERIALIZED_NAME_TRANSACTIONS = "transactions"; + @SerializedName(SERIALIZED_NAME_TRANSACTIONS) + private List transactions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WalletTransactionListResponse transactions(List transactions) { + + this.transactions = transactions; + return this; + } + + public WalletTransactionListResponse addTransactionsItem(WalletTransaction transactionsItem) { + this.transactions.add(transactionsItem); + return this; + } + + /** + * An array of transactions of an e-wallet, associated with the given `wallet_id` + * @return transactions + **/ + @ApiModelProperty(required = true, value = "An array of transactions of an e-wallet, associated with the given `wallet_id`") + + public List getTransactions() { + return transactions; + } + + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + + public WalletTransactionListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * The value that, when used as the optional `cursor` parameter to `/wallet/transaction/list`, will return the corresponding transaction as its first entry. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The value that, when used as the optional `cursor` parameter to `/wallet/transaction/list`, will return the corresponding transaction as its first entry.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public WalletTransactionListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionListResponse walletTransactionListResponse = (WalletTransactionListResponse) o; + return Objects.equals(this.transactions, walletTransactionListResponse.transactions) && + Objects.equals(this.nextCursor, walletTransactionListResponse.nextCursor) && + Objects.equals(this.requestId, walletTransactionListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(transactions, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionListResponse {\n"); + sb.append(" transactions: ").append(toIndentedString(transactions)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionPayeeVerificationStatus.java b/src/main/java/com/plaid/client/model/WalletTransactionPayeeVerificationStatus.java new file mode 100644 index 0000000000..d8abe0d65e --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionPayeeVerificationStatus.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Result of payee verification check for EUR payouts. Payee verification checks whether the payee name provided matches the account holder name at the destination institution. `FULL_MATCH`: The payee name fully matches the account holder. `PARTIAL_MATCH`: The payee name partially matches the account holder. `NO_MATCH`: The payee name does not match the account holder. `ERROR`: An error occurred during payee verification. `CHECK_NOT_POSSIBLE`: Payee verification could not be performed. This field is only populated for applicable EUR payout transactions and will be `null` for other transaction types. + */ +@JsonAdapter(WalletTransactionPayeeVerificationStatus.Adapter.class) +public enum WalletTransactionPayeeVerificationStatus { + + FULL_MATCH("FULL_MATCH"), + + PARTIAL_MATCH("PARTIAL_MATCH"), + + NO_MATCH("NO_MATCH"), + + ERROR("ERROR"), + + CHECK_NOT_POSSIBLE("CHECK_NOT_POSSIBLE"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WalletTransactionPayeeVerificationStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WalletTransactionPayeeVerificationStatus fromValue(String value) { + for (WalletTransactionPayeeVerificationStatus b : WalletTransactionPayeeVerificationStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WalletTransactionPayeeVerificationStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WalletTransactionPayeeVerificationStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WalletTransactionPayeeVerificationStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionRelation.java b/src/main/java/com/plaid/client/model/WalletTransactionRelation.java new file mode 100644 index 0000000000..32966105a4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionRelation.java @@ -0,0 +1,179 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Transactions are related when they have a logical connection. For example, a `PAYOUT` transaction can be returned by the sender, creating a `RETURN` transaction. Each `PAYOUT` transaction can have at most one corresponding `RETURN` transaction in case of reversal. These relationships are bi-directional, meaning that both entities have references to each other. For instance, when a transaction of type RETURN occurs, it is linked to the original transaction being returned. Likewise, the original transaction has a reference back to the RETURN transaction that represents the return. This field is only populated for transactions of type `RETURN`, `FUNDS_SWEEP`, `REFUND` and `PAYOUT`. The relationship between a `PIS_PAY_IN` payment and its corresponding `REFUND` transactions is only available through the `refund_ids` property in the payment object. See [`/payment_initiation/payment/get`](https://plaid.com/docs/api/products/payment-initiation/#payment_initiation-payment-get-response-refund-ids). + */ +@ApiModel(description = "Transactions are related when they have a logical connection. For example, a `PAYOUT` transaction can be returned by the sender, creating a `RETURN` transaction. Each `PAYOUT` transaction can have at most one corresponding `RETURN` transaction in case of reversal. These relationships are bi-directional, meaning that both entities have references to each other. For instance, when a transaction of type RETURN occurs, it is linked to the original transaction being returned. Likewise, the original transaction has a reference back to the RETURN transaction that represents the return. This field is only populated for transactions of type `RETURN`, `FUNDS_SWEEP`, `REFUND` and `PAYOUT`. The relationship between a `PIS_PAY_IN` payment and its corresponding `REFUND` transactions is only available through the `refund_ids` property in the payment object. See [`/payment_initiation/payment/get`](https://plaid.com/docs/api/products/payment-initiation/#payment_initiation-payment-get-response-refund-ids).") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionRelation { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + /** + * The type of the transaction. + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + PAYOUT("PAYOUT"), + + RETURN("RETURN"), + + REFUND("REFUND"), + + FUNDS_SWEEP("FUNDS_SWEEP"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + + public WalletTransactionRelation id(String id) { + + this.id = id; + return this; + } + + /** + * The ID of the related transaction. + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The ID of the related transaction.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WalletTransactionRelation type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * The type of the transaction. + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The type of the transaction.") + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionRelation walletTransactionRelation = (WalletTransactionRelation) o; + return Objects.equals(this.id, walletTransactionRelation.id) && + Objects.equals(this.type, walletTransactionRelation.type); + } + + @Override + public int hashCode() { + return Objects.hash(id, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionRelation {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionStatus.java b/src/main/java/com/plaid/client/model/WalletTransactionStatus.java new file mode 100644 index 0000000000..c4b50454bb --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionStatus.java @@ -0,0 +1,87 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The status of the transaction. `AUTHORISING`: The transaction is being processed for validation and compliance. `INITIATED`: The transaction has been initiated and is currently being processed. `EXECUTED`: The transaction has been successfully executed and is considered complete. This is only applicable for debit transactions. `SETTLED`: The transaction has settled and funds are available for use. This is only applicable for credit transactions. A transaction will typically settle within seconds to several days, depending on which payment rail is used. `FAILED`: The transaction failed to process successfully. This is a terminal status. `BLOCKED`: The transaction has been blocked for violating compliance rules. This is a terminal status. + */ +@JsonAdapter(WalletTransactionStatus.Adapter.class) +public enum WalletTransactionStatus { + + AUTHORISING("AUTHORISING"), + + INITIATED("INITIATED"), + + EXECUTED("EXECUTED"), + + SETTLED("SETTLED"), + + BLOCKED("BLOCKED"), + + FAILED("FAILED"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WalletTransactionStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WalletTransactionStatus fromValue(String value) { + for (WalletTransactionStatus b : WalletTransactionStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return WalletTransactionStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WalletTransactionStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WalletTransactionStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WalletTransactionStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionStatusUpdateWebhook.java b/src/main/java/com/plaid/client/model/WalletTransactionStatusUpdateWebhook.java new file mode 100644 index 0000000000..33a6e5e04c --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionStatusUpdateWebhook.java @@ -0,0 +1,387 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WalletTransactionFailureReason; +import com.plaid.client.model.WalletTransactionStatus; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Fired when the status of a wallet transaction has changed. + */ +@ApiModel(description = "Fired when the status of a wallet transaction has changed.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionStatusUpdateWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_TRANSACTION_ID = "transaction_id"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_ID) + private String transactionId; + + public static final String SERIALIZED_NAME_PAYMENT_ID = "payment_id"; + @SerializedName(SERIALIZED_NAME_PAYMENT_ID) + private String paymentId; + + public static final String SERIALIZED_NAME_WALLET_ID = "wallet_id"; + @SerializedName(SERIALIZED_NAME_WALLET_ID) + private String walletId; + + public static final String SERIALIZED_NAME_NEW_STATUS = "new_status"; + @SerializedName(SERIALIZED_NAME_NEW_STATUS) + private WalletTransactionStatus newStatus; + + public static final String SERIALIZED_NAME_OLD_STATUS = "old_status"; + @SerializedName(SERIALIZED_NAME_OLD_STATUS) + private WalletTransactionStatus oldStatus; + + public static final String SERIALIZED_NAME_FAILURE_REASON = "failure_reason"; + @SerializedName(SERIALIZED_NAME_FAILURE_REASON) + private WalletTransactionFailureReason failureReason; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private OffsetDateTime timestamp; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public WalletTransactionStatusUpdateWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `WALLET` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`WALLET`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public WalletTransactionStatusUpdateWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `WALLET_TRANSACTION_STATUS_UPDATE` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`WALLET_TRANSACTION_STATUS_UPDATE`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public WalletTransactionStatusUpdateWebhook transactionId(String transactionId) { + + this.transactionId = transactionId; + return this; + } + + /** + * The `transaction_id` for the wallet transaction being updated + * @return transactionId + **/ + @ApiModelProperty(required = true, value = "The `transaction_id` for the wallet transaction being updated") + + public String getTransactionId() { + return transactionId; + } + + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + + public WalletTransactionStatusUpdateWebhook paymentId(String paymentId) { + + this.paymentId = paymentId; + return this; + } + + /** + * The `payment_id` associated with the transaction. This will be present in case of `REFUND` and `PIS_PAY_IN`. + * @return paymentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The `payment_id` associated with the transaction. This will be present in case of `REFUND` and `PIS_PAY_IN`.") + + public String getPaymentId() { + return paymentId; + } + + + public void setPaymentId(String paymentId) { + this.paymentId = paymentId; + } + + + public WalletTransactionStatusUpdateWebhook walletId(String walletId) { + + this.walletId = walletId; + return this; + } + + /** + * The EMI (E-Money Institution) wallet that this payment is associated with. This wallet is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests. + * @return walletId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The EMI (E-Money Institution) wallet that this payment is associated with. This wallet is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests.") + + public String getWalletId() { + return walletId; + } + + + public void setWalletId(String walletId) { + this.walletId = walletId; + } + + + public WalletTransactionStatusUpdateWebhook newStatus(WalletTransactionStatus newStatus) { + + this.newStatus = newStatus; + return this; + } + + /** + * Get newStatus + * @return newStatus + **/ + @ApiModelProperty(required = true, value = "") + + public WalletTransactionStatus getNewStatus() { + return newStatus; + } + + + public void setNewStatus(WalletTransactionStatus newStatus) { + this.newStatus = newStatus; + } + + + public WalletTransactionStatusUpdateWebhook oldStatus(WalletTransactionStatus oldStatus) { + + this.oldStatus = oldStatus; + return this; + } + + /** + * Get oldStatus + * @return oldStatus + **/ + @ApiModelProperty(required = true, value = "") + + public WalletTransactionStatus getOldStatus() { + return oldStatus; + } + + + public void setOldStatus(WalletTransactionStatus oldStatus) { + this.oldStatus = oldStatus; + } + + + public WalletTransactionStatusUpdateWebhook failureReason(WalletTransactionFailureReason failureReason) { + + this.failureReason = failureReason; + return this; + } + + /** + * Get failureReason + * @return failureReason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WalletTransactionFailureReason getFailureReason() { + return failureReason; + } + + + public void setFailureReason(WalletTransactionFailureReason failureReason) { + this.failureReason = failureReason; + } + + + public WalletTransactionStatusUpdateWebhook timestamp(OffsetDateTime timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * The timestamp of the update, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"` + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "The timestamp of the update, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"`") + + public OffsetDateTime getTimestamp() { + return timestamp; + } + + + public void setTimestamp(OffsetDateTime timestamp) { + this.timestamp = timestamp; + } + + + public WalletTransactionStatusUpdateWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public WalletTransactionStatusUpdateWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionStatusUpdateWebhook walletTransactionStatusUpdateWebhook = (WalletTransactionStatusUpdateWebhook) o; + return Objects.equals(this.webhookType, walletTransactionStatusUpdateWebhook.webhookType) && + Objects.equals(this.webhookCode, walletTransactionStatusUpdateWebhook.webhookCode) && + Objects.equals(this.transactionId, walletTransactionStatusUpdateWebhook.transactionId) && + Objects.equals(this.paymentId, walletTransactionStatusUpdateWebhook.paymentId) && + Objects.equals(this.walletId, walletTransactionStatusUpdateWebhook.walletId) && + Objects.equals(this.newStatus, walletTransactionStatusUpdateWebhook.newStatus) && + Objects.equals(this.oldStatus, walletTransactionStatusUpdateWebhook.oldStatus) && + Objects.equals(this.failureReason, walletTransactionStatusUpdateWebhook.failureReason) && + Objects.equals(this.timestamp, walletTransactionStatusUpdateWebhook.timestamp) && + Objects.equals(this.error, walletTransactionStatusUpdateWebhook.error) && + Objects.equals(this.environment, walletTransactionStatusUpdateWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, transactionId, paymentId, walletId, newStatus, oldStatus, failureReason, timestamp, error, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionStatusUpdateWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); + sb.append(" paymentId: ").append(toIndentedString(paymentId)).append("\n"); + sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append(" newStatus: ").append(toIndentedString(newStatus)).append("\n"); + sb.append(" oldStatus: ").append(toIndentedString(oldStatus)).append("\n"); + sb.append(" failureReason: ").append(toIndentedString(failureReason)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WalletTransactionsListRequest.java b/src/main/java/com/plaid/client/model/WalletTransactionsListRequest.java new file mode 100644 index 0000000000..365a46fa29 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WalletTransactionsListRequest.java @@ -0,0 +1,246 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WalletTransactionListRequestOptions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WalletTransactionListRequest defines the request schema for `/wallet/transaction/list` + */ +@ApiModel(description = "WalletTransactionListRequest defines the request schema for `/wallet/transaction/list`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WalletTransactionsListRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_WALLET_ID = "wallet_id"; + @SerializedName(SERIALIZED_NAME_WALLET_ID) + private String walletId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + public static final String SERIALIZED_NAME_COUNT = "count"; + @SerializedName(SERIALIZED_NAME_COUNT) + private Integer count = 10; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + private WalletTransactionListRequestOptions options; + + + public WalletTransactionsListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WalletTransactionsListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WalletTransactionsListRequest walletId(String walletId) { + + this.walletId = walletId; + return this; + } + + /** + * The ID of the e-wallet to fetch transactions from + * @return walletId + **/ + @ApiModelProperty(required = true, value = "The ID of the e-wallet to fetch transactions from") + + public String getWalletId() { + return walletId; + } + + + public void setWalletId(String walletId) { + this.walletId = walletId; + } + + + public WalletTransactionsListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * A base64 value representing the latest transaction that has already been requested. Set this to `next_cursor` received from the previous `/wallet/transaction/list` request. If provided, the response will only contain transactions created before that transaction. If omitted, the response will contain transactions starting from the most recent, and in descending order by the `created_at` time. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A base64 value representing the latest transaction that has already been requested. Set this to `next_cursor` received from the previous `/wallet/transaction/list` request. If provided, the response will only contain transactions created before that transaction. If omitted, the response will contain transactions starting from the most recent, and in descending order by the `created_at` time.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + public WalletTransactionsListRequest count(Integer count) { + + this.count = count; + return this; + } + + /** + * The number of transactions to fetch + * minimum: 1 + * maximum: 200 + * @return count + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The number of transactions to fetch") + + public Integer getCount() { + return count; + } + + + public void setCount(Integer count) { + this.count = count; + } + + + public WalletTransactionsListRequest options(WalletTransactionListRequestOptions options) { + + this.options = options; + return this; + } + + /** + * Get options + * @return options + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WalletTransactionListRequestOptions getOptions() { + return options; + } + + + public void setOptions(WalletTransactionListRequestOptions options) { + this.options = options; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WalletTransactionsListRequest walletTransactionsListRequest = (WalletTransactionsListRequest) o; + return Objects.equals(this.clientId, walletTransactionsListRequest.clientId) && + Objects.equals(this.secret, walletTransactionsListRequest.secret) && + Objects.equals(this.walletId, walletTransactionsListRequest.walletId) && + Objects.equals(this.cursor, walletTransactionsListRequest.cursor) && + Objects.equals(this.count, walletTransactionsListRequest.count) && + Objects.equals(this.options, walletTransactionsListRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, walletId, cursor, count, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WalletTransactionsListRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" walletId: ").append(toIndentedString(walletId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/Warning.java b/src/main/java/com/plaid/client/model/Warning.java new file mode 100644 index 0000000000..4e0445b141 --- /dev/null +++ b/src/main/java/com/plaid/client/model/Warning.java @@ -0,0 +1,215 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Cause; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * It is possible for an Asset Report to be returned with missing account owner information. In such cases, the Asset Report will contain warning data in the response, indicating why obtaining the owner information failed. + */ +@ApiModel(description = "It is possible for an Asset Report to be returned with missing account owner information. In such cases, the Asset Report will contain warning data in the response, indicating why obtaining the owner information failed.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class Warning { + public static final String SERIALIZED_NAME_WARNING_TYPE = "warning_type"; + @SerializedName(SERIALIZED_NAME_WARNING_TYPE) + private String warningType; + + /** + * The warning code identifies a specific kind of warning. `OWNERS_UNAVAILABLE` indicates that account-owner information is not available. `INVESTMENTS_UNAVAILABLE` indicates that Investments specific information is not available. `TRANSACTIONS_UNAVAILABLE` indicates that transactions information associated with Credit and Depository accounts are unavailable. The `BANK_INCOME_INSIGHTS_*` codes apply to the Bank Income add-on: `BANK_INCOME_INSIGHTS_INSUFFICIENT_DATA` indicates there was not enough data to compute Bank Income Insights; `BANK_INCOME_INSIGHTS_INCOMPLETE` indicates the Bank Income Insights flow was not completed; `BANK_INCOME_INSIGHTS_STATUS_IN_PROGRESS` indicates Bank Income Insights are still being computed; `BANK_INCOME_INSIGHTS_INTERNAL_ERROR` indicates an internal error occurred while computing Bank Income Insights; `BANK_INCOME_INSIGHTS_MISMATCHED_DAYS_REQUESTED` indicates the days requested for Bank Income Insights did not match that of the Asset Report. + */ + @JsonAdapter(WarningCodeEnum.Adapter.class) + public enum WarningCodeEnum { + OWNERS_UNAVAILABLE("OWNERS_UNAVAILABLE"), + + INVESTMENTS_UNAVAILABLE("INVESTMENTS_UNAVAILABLE"), + + TRANSACTIONS_UNAVAILABLE("TRANSACTIONS_UNAVAILABLE"), + + BANK_INCOME_INSIGHTS_INSUFFICIENT_DATA("BANK_INCOME_INSIGHTS_INSUFFICIENT_DATA"), + + BANK_INCOME_INSIGHTS_INCOMPLETE("BANK_INCOME_INSIGHTS_INCOMPLETE"), + + BANK_INCOME_INSIGHTS_STATUS_IN_PROGRESS("BANK_INCOME_INSIGHTS_STATUS_IN_PROGRESS"), + + BANK_INCOME_INSIGHTS_INTERNAL_ERROR("BANK_INCOME_INSIGHTS_INTERNAL_ERROR"), + + BANK_INCOME_INSIGHTS_MISMATCHED_DAYS_REQUESTED("BANK_INCOME_INSIGHTS_MISMATCHED_DAYS_REQUESTED"); + + private String value; + + WarningCodeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WarningCodeEnum fromValue(String value) { + for (WarningCodeEnum b : WarningCodeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WarningCodeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WarningCodeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WarningCodeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_WARNING_CODE = "warning_code"; + @SerializedName(SERIALIZED_NAME_WARNING_CODE) + private WarningCodeEnum warningCode; + + public static final String SERIALIZED_NAME_CAUSE = "cause"; + @SerializedName(SERIALIZED_NAME_CAUSE) + private Cause cause; + + + public Warning warningType(String warningType) { + + this.warningType = warningType; + return this; + } + + /** + * The warning type, which will always be `ASSET_REPORT_WARNING` + * @return warningType + **/ + @ApiModelProperty(required = true, value = "The warning type, which will always be `ASSET_REPORT_WARNING`") + + public String getWarningType() { + return warningType; + } + + + public void setWarningType(String warningType) { + this.warningType = warningType; + } + + + public Warning warningCode(WarningCodeEnum warningCode) { + + this.warningCode = warningCode; + return this; + } + + /** + * The warning code identifies a specific kind of warning. `OWNERS_UNAVAILABLE` indicates that account-owner information is not available. `INVESTMENTS_UNAVAILABLE` indicates that Investments specific information is not available. `TRANSACTIONS_UNAVAILABLE` indicates that transactions information associated with Credit and Depository accounts are unavailable. The `BANK_INCOME_INSIGHTS_*` codes apply to the Bank Income add-on: `BANK_INCOME_INSIGHTS_INSUFFICIENT_DATA` indicates there was not enough data to compute Bank Income Insights; `BANK_INCOME_INSIGHTS_INCOMPLETE` indicates the Bank Income Insights flow was not completed; `BANK_INCOME_INSIGHTS_STATUS_IN_PROGRESS` indicates Bank Income Insights are still being computed; `BANK_INCOME_INSIGHTS_INTERNAL_ERROR` indicates an internal error occurred while computing Bank Income Insights; `BANK_INCOME_INSIGHTS_MISMATCHED_DAYS_REQUESTED` indicates the days requested for Bank Income Insights did not match that of the Asset Report. + * @return warningCode + **/ + @ApiModelProperty(required = true, value = "The warning code identifies a specific kind of warning. `OWNERS_UNAVAILABLE` indicates that account-owner information is not available. `INVESTMENTS_UNAVAILABLE` indicates that Investments specific information is not available. `TRANSACTIONS_UNAVAILABLE` indicates that transactions information associated with Credit and Depository accounts are unavailable. The `BANK_INCOME_INSIGHTS_*` codes apply to the Bank Income add-on: `BANK_INCOME_INSIGHTS_INSUFFICIENT_DATA` indicates there was not enough data to compute Bank Income Insights; `BANK_INCOME_INSIGHTS_INCOMPLETE` indicates the Bank Income Insights flow was not completed; `BANK_INCOME_INSIGHTS_STATUS_IN_PROGRESS` indicates Bank Income Insights are still being computed; `BANK_INCOME_INSIGHTS_INTERNAL_ERROR` indicates an internal error occurred while computing Bank Income Insights; `BANK_INCOME_INSIGHTS_MISMATCHED_DAYS_REQUESTED` indicates the days requested for Bank Income Insights did not match that of the Asset Report.") + + public WarningCodeEnum getWarningCode() { + return warningCode; + } + + + public void setWarningCode(WarningCodeEnum warningCode) { + this.warningCode = warningCode; + } + + + public Warning cause(Cause cause) { + + this.cause = cause; + return this; + } + + /** + * Get cause + * @return cause + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public Cause getCause() { + return cause; + } + + + public void setCause(Cause cause) { + this.cause = cause; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Warning warning = (Warning) o; + return Objects.equals(this.warningType, warning.warningType) && + Objects.equals(this.warningCode, warning.warningCode) && + Objects.equals(this.cause, warning.cause); + } + + @Override + public int hashCode() { + return Objects.hash(warningType, warningCode, cause); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Warning {\n"); + sb.append(" warningType: ").append(toIndentedString(warningType)).append("\n"); + sb.append(" warningCode: ").append(toIndentedString(warningCode)).append("\n"); + sb.append(" cause: ").append(toIndentedString(cause)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningAuditTrail.java b/src/main/java/com/plaid/client/model/WatchlistScreeningAuditTrail.java new file mode 100644 index 0000000000..655d46cb46 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningAuditTrail.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.Source; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Information about the last change made to the parent object specifying what caused the change as well as when it occurred. + */ +@ApiModel(description = "Information about the last change made to the parent object specifying what caused the change as well as when it occurred.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningAuditTrail { + public static final String SERIALIZED_NAME_SOURCE = "source"; + @SerializedName(SERIALIZED_NAME_SOURCE) + private Source source; + + public static final String SERIALIZED_NAME_DASHBOARD_USER_ID = "dashboard_user_id"; + @SerializedName(SERIALIZED_NAME_DASHBOARD_USER_ID) + private String dashboardUserId; + + public static final String SERIALIZED_NAME_TIMESTAMP = "timestamp"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP) + private java.sql.Timestamp timestamp; + + + public WatchlistScreeningAuditTrail source(Source source) { + + this.source = source; + return this; + } + + /** + * Get source + * @return source + **/ + @ApiModelProperty(required = true, value = "") + + public Source getSource() { + return source; + } + + + public void setSource(Source source) { + this.source = source; + } + + + public WatchlistScreeningAuditTrail dashboardUserId(String dashboardUserId) { + + this.dashboardUserId = dashboardUserId; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return dashboardUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", required = true, value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getDashboardUserId() { + return dashboardUserId; + } + + + public void setDashboardUserId(String dashboardUserId) { + this.dashboardUserId = dashboardUserId; + } + + + public WatchlistScreeningAuditTrail timestamp(java.sql.Timestamp timestamp) { + + this.timestamp = timestamp; + return this; + } + + /** + * Get timestamp + * @return timestamp + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getTimestamp() { + return timestamp; + } + + + public void setTimestamp(java.sql.Timestamp timestamp) { + this.timestamp = timestamp; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningAuditTrail watchlistScreeningAuditTrail = (WatchlistScreeningAuditTrail) o; + return Objects.equals(this.source, watchlistScreeningAuditTrail.source) && + Objects.equals(this.dashboardUserId, watchlistScreeningAuditTrail.dashboardUserId) && + Objects.equals(this.timestamp, watchlistScreeningAuditTrail.timestamp); + } + + @Override + public int hashCode() { + return Objects.hash(source, dashboardUserId, timestamp); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningAuditTrail {\n"); + sb.append(" source: ").append(toIndentedString(source)).append("\n"); + sb.append(" dashboardUserId: ").append(toIndentedString(dashboardUserId)).append("\n"); + sb.append(" timestamp: ").append(toIndentedString(timestamp)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningDocument.java b/src/main/java/com/plaid/client/model/WatchlistScreeningDocument.java new file mode 100644 index 0000000000..7c222205f3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningDocument.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningDocumentType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * An official document, usually issued by a governing body or institution, with an associated identifier. + */ +@ApiModel(description = "An official document, usually issued by a governing body or institution, with an associated identifier.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningDocument { + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private WatchlistScreeningDocumentType type; + + public static final String SERIALIZED_NAME_NUMBER = "number"; + @SerializedName(SERIALIZED_NAME_NUMBER) + private String number; + + + public WatchlistScreeningDocument type(WatchlistScreeningDocumentType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningDocumentType getType() { + return type; + } + + + public void setType(WatchlistScreeningDocumentType type) { + this.type = type; + } + + + public WatchlistScreeningDocument number(String number) { + + this.number = number; + return this; + } + + /** + * The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces. + * @return number + **/ + @ApiModelProperty(example = "C31195855", required = true, value = "The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces.") + + public String getNumber() { + return number; + } + + + public void setNumber(String number) { + this.number = number; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningDocument watchlistScreeningDocument = (WatchlistScreeningDocument) o; + return Objects.equals(this.type, watchlistScreeningDocument.type) && + Objects.equals(this.number, watchlistScreeningDocument.number); + } + + @Override + public int hashCode() { + return Objects.hash(type, number); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningDocument {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" number: ").append(toIndentedString(number)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningDocumentType.java b/src/main/java/com/plaid/client/model/WatchlistScreeningDocumentType.java new file mode 100644 index 0000000000..f528d7e869 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningDocumentType.java @@ -0,0 +1,101 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The kind of official document represented by this object. `birth_certificate` - A certificate of birth `drivers_license` - A license to operate a motor vehicle `immigration_number` - Immigration or residence documents `military_id` - Identification issued by a military group `other` - Any document not covered by other categories `passport` - An official passport issued by a government `personal_identification` - Any generic personal identification that is not covered by other categories `ration_card` - Identification that entitles the holder to rations `ssn` - United States Social Security Number `student_id` - Identification issued by an educational institution `tax_id` - Identification issued for the purpose of collecting taxes `travel_document` - Visas, entry permits, refugee documents, etc. `voter_id` - Identification issued for the purpose of voting + */ +@JsonAdapter(WatchlistScreeningDocumentType.Adapter.class) +public enum WatchlistScreeningDocumentType { + + BIRTH_CERTIFICATE("birth_certificate"), + + DRIVERS_LICENSE("drivers_license"), + + IMMIGRATION_NUMBER("immigration_number"), + + MILITARY_ID("military_id"), + + OTHER("other"), + + PASSPORT("passport"), + + PERSONAL_IDENTIFICATION("personal_identification"), + + RATION_CARD("ration_card"), + + SSN("ssn"), + + STUDENT_ID("student_id"), + + TAX_ID("tax_id"), + + TRAVEL_DOCUMENT("travel_document"), + + VOTER_ID("voter_id"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WatchlistScreeningDocumentType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WatchlistScreeningDocumentType fromValue(String value) { + for (WatchlistScreeningDocumentType b : WatchlistScreeningDocumentType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return WatchlistScreeningDocumentType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WatchlistScreeningDocumentType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WatchlistScreeningDocumentType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WatchlistScreeningDocumentType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityCreateRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityCreateRequest.java new file mode 100644 index 0000000000..7f650d2f7d --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityCreateRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityWatchlistSearchTerms; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for creating an entity watchlist screening + */ +@ApiModel(description = "Request input for creating an entity watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityCreateRequest { + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private EntityWatchlistSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public WatchlistScreeningEntityCreateRequest searchTerms(EntityWatchlistSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @ApiModelProperty(required = true, value = "") + + public EntityWatchlistSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(EntityWatchlistSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public WatchlistScreeningEntityCreateRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public WatchlistScreeningEntityCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningEntityCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityCreateRequest watchlistScreeningEntityCreateRequest = (WatchlistScreeningEntityCreateRequest) o; + return Objects.equals(this.searchTerms, watchlistScreeningEntityCreateRequest.searchTerms) && + Objects.equals(this.clientUserId, watchlistScreeningEntityCreateRequest.clientUserId) && + Objects.equals(this.clientId, watchlistScreeningEntityCreateRequest.clientId) && + Objects.equals(this.secret, watchlistScreeningEntityCreateRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(searchTerms, clientUserId, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityCreateRequest {\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityCreateResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityCreateResponse.java new file mode 100644 index 0000000000..3c4bfab186 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityCreateResponse.java @@ -0,0 +1,271 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityWatchlistScreeningSearchTerms; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import com.plaid.client.model.WatchlistScreeningStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The entity screening object allows you to represent an entity in your system, update its profile, and search for it on various watchlists. Note: Rejected entity screenings will not receive new hits, regardless of entity program configuration. + */ +@ApiModel(description = "The entity screening object allows you to represent an entity in your system, update its profile, and search for it on various watchlists. Note: Rejected entity screenings will not receive new hits, regardless of entity program configuration.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityCreateResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private EntityWatchlistScreeningSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_ASSIGNEE = "assignee"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE) + private String assignee; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WatchlistScreeningStatus status; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningEntityCreateResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated entity screening. + * @return id + **/ + @ApiModelProperty(example = "entscr_52xR9LKo77r1Np", required = true, value = "ID of the associated entity screening.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WatchlistScreeningEntityCreateResponse searchTerms(EntityWatchlistScreeningSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @ApiModelProperty(required = true, value = "") + + public EntityWatchlistScreeningSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(EntityWatchlistScreeningSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public WatchlistScreeningEntityCreateResponse assignee(String assignee) { + + this.assignee = assignee; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return assignee + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", required = true, value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getAssignee() { + return assignee; + } + + + public void setAssignee(String assignee) { + this.assignee = assignee; + } + + + public WatchlistScreeningEntityCreateResponse status(WatchlistScreeningStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningStatus getStatus() { + return status; + } + + + public void setStatus(WatchlistScreeningStatus status) { + this.status = status; + } + + + public WatchlistScreeningEntityCreateResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public WatchlistScreeningEntityCreateResponse auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public WatchlistScreeningEntityCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityCreateResponse watchlistScreeningEntityCreateResponse = (WatchlistScreeningEntityCreateResponse) o; + return Objects.equals(this.id, watchlistScreeningEntityCreateResponse.id) && + Objects.equals(this.searchTerms, watchlistScreeningEntityCreateResponse.searchTerms) && + Objects.equals(this.assignee, watchlistScreeningEntityCreateResponse.assignee) && + Objects.equals(this.status, watchlistScreeningEntityCreateResponse.status) && + Objects.equals(this.clientUserId, watchlistScreeningEntityCreateResponse.clientUserId) && + Objects.equals(this.auditTrail, watchlistScreeningEntityCreateResponse.auditTrail) && + Objects.equals(this.requestId, watchlistScreeningEntityCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, searchTerms, assignee, status, clientUserId, auditTrail, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityCreateResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityGetRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityGetRequest.java new file mode 100644 index 0000000000..8db62b6f91 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for fetching an entity watchlist screening + */ +@ApiModel(description = "Request input for fetching an entity watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityGetRequest { + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_ID = "entity_watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_ID) + private String entityWatchlistScreeningId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + + public WatchlistScreeningEntityGetRequest entityWatchlistScreeningId(String entityWatchlistScreeningId) { + + this.entityWatchlistScreeningId = entityWatchlistScreeningId; + return this; + } + + /** + * ID of the associated entity screening. + * @return entityWatchlistScreeningId + **/ + @ApiModelProperty(example = "entscr_52xR9LKo77r1Np", required = true, value = "ID of the associated entity screening.") + + public String getEntityWatchlistScreeningId() { + return entityWatchlistScreeningId; + } + + + public void setEntityWatchlistScreeningId(String entityWatchlistScreeningId) { + this.entityWatchlistScreeningId = entityWatchlistScreeningId; + } + + + public WatchlistScreeningEntityGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningEntityGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityGetRequest watchlistScreeningEntityGetRequest = (WatchlistScreeningEntityGetRequest) o; + return Objects.equals(this.entityWatchlistScreeningId, watchlistScreeningEntityGetRequest.entityWatchlistScreeningId) && + Objects.equals(this.secret, watchlistScreeningEntityGetRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningEntityGetRequest.clientId); + } + + @Override + public int hashCode() { + return Objects.hash(entityWatchlistScreeningId, secret, clientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityGetRequest {\n"); + sb.append(" entityWatchlistScreeningId: ").append(toIndentedString(entityWatchlistScreeningId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityGetResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityGetResponse.java new file mode 100644 index 0000000000..880d902cc3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityGetResponse.java @@ -0,0 +1,271 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityWatchlistScreeningSearchTerms; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import com.plaid.client.model.WatchlistScreeningStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The entity screening object allows you to represent an entity in your system, update its profile, and search for it on various watchlists. Note: Rejected entity screenings will not receive new hits, regardless of entity program configuration. + */ +@ApiModel(description = "The entity screening object allows you to represent an entity in your system, update its profile, and search for it on various watchlists. Note: Rejected entity screenings will not receive new hits, regardless of entity program configuration.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityGetResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private EntityWatchlistScreeningSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_ASSIGNEE = "assignee"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE) + private String assignee; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WatchlistScreeningStatus status; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningEntityGetResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated entity screening. + * @return id + **/ + @ApiModelProperty(example = "entscr_52xR9LKo77r1Np", required = true, value = "ID of the associated entity screening.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WatchlistScreeningEntityGetResponse searchTerms(EntityWatchlistScreeningSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @ApiModelProperty(required = true, value = "") + + public EntityWatchlistScreeningSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(EntityWatchlistScreeningSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public WatchlistScreeningEntityGetResponse assignee(String assignee) { + + this.assignee = assignee; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return assignee + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", required = true, value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getAssignee() { + return assignee; + } + + + public void setAssignee(String assignee) { + this.assignee = assignee; + } + + + public WatchlistScreeningEntityGetResponse status(WatchlistScreeningStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningStatus getStatus() { + return status; + } + + + public void setStatus(WatchlistScreeningStatus status) { + this.status = status; + } + + + public WatchlistScreeningEntityGetResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public WatchlistScreeningEntityGetResponse auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public WatchlistScreeningEntityGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityGetResponse watchlistScreeningEntityGetResponse = (WatchlistScreeningEntityGetResponse) o; + return Objects.equals(this.id, watchlistScreeningEntityGetResponse.id) && + Objects.equals(this.searchTerms, watchlistScreeningEntityGetResponse.searchTerms) && + Objects.equals(this.assignee, watchlistScreeningEntityGetResponse.assignee) && + Objects.equals(this.status, watchlistScreeningEntityGetResponse.status) && + Objects.equals(this.clientUserId, watchlistScreeningEntityGetResponse.clientUserId) && + Objects.equals(this.auditTrail, watchlistScreeningEntityGetResponse.auditTrail) && + Objects.equals(this.requestId, watchlistScreeningEntityGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, searchTerms, assignee, status, clientUserId, auditTrail, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityGetResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityHistoryListRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityHistoryListRequest.java new file mode 100644 index 0000000000..a299e3f7b5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityHistoryListRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing changes to entity watchlist screenings + */ +@ApiModel(description = "Request input for listing changes to entity watchlist screenings") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityHistoryListRequest { + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_ID = "entity_watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_ID) + private String entityWatchlistScreeningId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public WatchlistScreeningEntityHistoryListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningEntityHistoryListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningEntityHistoryListRequest entityWatchlistScreeningId(String entityWatchlistScreeningId) { + + this.entityWatchlistScreeningId = entityWatchlistScreeningId; + return this; + } + + /** + * ID of the associated entity screening. + * @return entityWatchlistScreeningId + **/ + @ApiModelProperty(example = "entscr_52xR9LKo77r1Np", required = true, value = "ID of the associated entity screening.") + + public String getEntityWatchlistScreeningId() { + return entityWatchlistScreeningId; + } + + + public void setEntityWatchlistScreeningId(String entityWatchlistScreeningId) { + this.entityWatchlistScreeningId = entityWatchlistScreeningId; + } + + + public WatchlistScreeningEntityHistoryListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityHistoryListRequest watchlistScreeningEntityHistoryListRequest = (WatchlistScreeningEntityHistoryListRequest) o; + return Objects.equals(this.secret, watchlistScreeningEntityHistoryListRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningEntityHistoryListRequest.clientId) && + Objects.equals(this.entityWatchlistScreeningId, watchlistScreeningEntityHistoryListRequest.entityWatchlistScreeningId) && + Objects.equals(this.cursor, watchlistScreeningEntityHistoryListRequest.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(secret, clientId, entityWatchlistScreeningId, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityHistoryListRequest {\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" entityWatchlistScreeningId: ").append(toIndentedString(entityWatchlistScreeningId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityHistoryListResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityHistoryListResponse.java new file mode 100644 index 0000000000..1d6adbdd38 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityHistoryListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityWatchlistScreening; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Paginated list of entity watchlist screenings + */ +@ApiModel(description = "Paginated list of entity watchlist screenings") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityHistoryListResponse { + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENINGS = "entity_watchlist_screenings"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENINGS) + private List entityWatchlistScreenings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningEntityHistoryListResponse entityWatchlistScreenings(List entityWatchlistScreenings) { + + this.entityWatchlistScreenings = entityWatchlistScreenings; + return this; + } + + public WatchlistScreeningEntityHistoryListResponse addEntityWatchlistScreeningsItem(EntityWatchlistScreening entityWatchlistScreeningsItem) { + this.entityWatchlistScreenings.add(entityWatchlistScreeningsItem); + return this; + } + + /** + * List of entity watchlist screening + * @return entityWatchlistScreenings + **/ + @ApiModelProperty(required = true, value = "List of entity watchlist screening") + + public List getEntityWatchlistScreenings() { + return entityWatchlistScreenings; + } + + + public void setEntityWatchlistScreenings(List entityWatchlistScreenings) { + this.entityWatchlistScreenings = entityWatchlistScreenings; + } + + + public WatchlistScreeningEntityHistoryListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public WatchlistScreeningEntityHistoryListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityHistoryListResponse watchlistScreeningEntityHistoryListResponse = (WatchlistScreeningEntityHistoryListResponse) o; + return Objects.equals(this.entityWatchlistScreenings, watchlistScreeningEntityHistoryListResponse.entityWatchlistScreenings) && + Objects.equals(this.nextCursor, watchlistScreeningEntityHistoryListResponse.nextCursor) && + Objects.equals(this.requestId, watchlistScreeningEntityHistoryListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(entityWatchlistScreenings, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityHistoryListResponse {\n"); + sb.append(" entityWatchlistScreenings: ").append(toIndentedString(entityWatchlistScreenings)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityHitListRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityHitListRequest.java new file mode 100644 index 0000000000..ab52976d85 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityHitListRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing hits for an entity watchlist screening + */ +@ApiModel(description = "Request input for listing hits for an entity watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityHitListRequest { + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_ID = "entity_watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_ID) + private String entityWatchlistScreeningId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public WatchlistScreeningEntityHitListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningEntityHitListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningEntityHitListRequest entityWatchlistScreeningId(String entityWatchlistScreeningId) { + + this.entityWatchlistScreeningId = entityWatchlistScreeningId; + return this; + } + + /** + * ID of the associated entity screening. + * @return entityWatchlistScreeningId + **/ + @ApiModelProperty(example = "entscr_52xR9LKo77r1Np", required = true, value = "ID of the associated entity screening.") + + public String getEntityWatchlistScreeningId() { + return entityWatchlistScreeningId; + } + + + public void setEntityWatchlistScreeningId(String entityWatchlistScreeningId) { + this.entityWatchlistScreeningId = entityWatchlistScreeningId; + } + + + public WatchlistScreeningEntityHitListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityHitListRequest watchlistScreeningEntityHitListRequest = (WatchlistScreeningEntityHitListRequest) o; + return Objects.equals(this.secret, watchlistScreeningEntityHitListRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningEntityHitListRequest.clientId) && + Objects.equals(this.entityWatchlistScreeningId, watchlistScreeningEntityHitListRequest.entityWatchlistScreeningId) && + Objects.equals(this.cursor, watchlistScreeningEntityHitListRequest.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(secret, clientId, entityWatchlistScreeningId, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityHitListRequest {\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" entityWatchlistScreeningId: ").append(toIndentedString(entityWatchlistScreeningId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityHitListResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityHitListResponse.java new file mode 100644 index 0000000000..a2ec7b9c8a --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityHitListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityWatchlistScreeningHit; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Paginated list of entity watchlist screening hits + */ +@ApiModel(description = "Paginated list of entity watchlist screening hits") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityHitListResponse { + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_HITS = "entity_watchlist_screening_hits"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_HITS) + private List entityWatchlistScreeningHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningEntityHitListResponse entityWatchlistScreeningHits(List entityWatchlistScreeningHits) { + + this.entityWatchlistScreeningHits = entityWatchlistScreeningHits; + return this; + } + + public WatchlistScreeningEntityHitListResponse addEntityWatchlistScreeningHitsItem(EntityWatchlistScreeningHit entityWatchlistScreeningHitsItem) { + this.entityWatchlistScreeningHits.add(entityWatchlistScreeningHitsItem); + return this; + } + + /** + * List of entity watchlist screening hits + * @return entityWatchlistScreeningHits + **/ + @ApiModelProperty(required = true, value = "List of entity watchlist screening hits") + + public List getEntityWatchlistScreeningHits() { + return entityWatchlistScreeningHits; + } + + + public void setEntityWatchlistScreeningHits(List entityWatchlistScreeningHits) { + this.entityWatchlistScreeningHits = entityWatchlistScreeningHits; + } + + + public WatchlistScreeningEntityHitListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public WatchlistScreeningEntityHitListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityHitListResponse watchlistScreeningEntityHitListResponse = (WatchlistScreeningEntityHitListResponse) o; + return Objects.equals(this.entityWatchlistScreeningHits, watchlistScreeningEntityHitListResponse.entityWatchlistScreeningHits) && + Objects.equals(this.nextCursor, watchlistScreeningEntityHitListResponse.nextCursor) && + Objects.equals(this.requestId, watchlistScreeningEntityHitListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(entityWatchlistScreeningHits, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityHitListResponse {\n"); + sb.append(" entityWatchlistScreeningHits: ").append(toIndentedString(entityWatchlistScreeningHits)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityListRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityListRequest.java new file mode 100644 index 0000000000..7c38fff03f --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityListRequest.java @@ -0,0 +1,273 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing entity watchlist screenings + */ +@ApiModel(description = "Request input for listing entity watchlist screenings") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityListRequest { + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_PROGRAM_ID = "entity_watchlist_program_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_PROGRAM_ID) + private String entityWatchlistProgramId; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WatchlistScreeningStatus status; + + public static final String SERIALIZED_NAME_ASSIGNEE = "assignee"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE) + private String assignee; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public WatchlistScreeningEntityListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningEntityListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningEntityListRequest entityWatchlistProgramId(String entityWatchlistProgramId) { + + this.entityWatchlistProgramId = entityWatchlistProgramId; + return this; + } + + /** + * ID of the associated entity program. + * @return entityWatchlistProgramId + **/ + @ApiModelProperty(example = "entprg_2eRPsDnL66rZ7H", required = true, value = "ID of the associated entity program.") + + public String getEntityWatchlistProgramId() { + return entityWatchlistProgramId; + } + + + public void setEntityWatchlistProgramId(String entityWatchlistProgramId) { + this.entityWatchlistProgramId = entityWatchlistProgramId; + } + + + public WatchlistScreeningEntityListRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public WatchlistScreeningEntityListRequest status(WatchlistScreeningStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WatchlistScreeningStatus getStatus() { + return status; + } + + + public void setStatus(WatchlistScreeningStatus status) { + this.status = status; + } + + + public WatchlistScreeningEntityListRequest assignee(String assignee) { + + this.assignee = assignee; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return assignee + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getAssignee() { + return assignee; + } + + + public void setAssignee(String assignee) { + this.assignee = assignee; + } + + + public WatchlistScreeningEntityListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityListRequest watchlistScreeningEntityListRequest = (WatchlistScreeningEntityListRequest) o; + return Objects.equals(this.secret, watchlistScreeningEntityListRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningEntityListRequest.clientId) && + Objects.equals(this.entityWatchlistProgramId, watchlistScreeningEntityListRequest.entityWatchlistProgramId) && + Objects.equals(this.clientUserId, watchlistScreeningEntityListRequest.clientUserId) && + Objects.equals(this.status, watchlistScreeningEntityListRequest.status) && + Objects.equals(this.assignee, watchlistScreeningEntityListRequest.assignee) && + Objects.equals(this.cursor, watchlistScreeningEntityListRequest.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(secret, clientId, entityWatchlistProgramId, clientUserId, status, assignee, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityListRequest {\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" entityWatchlistProgramId: ").append(toIndentedString(entityWatchlistProgramId)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityListResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityListResponse.java new file mode 100644 index 0000000000..457a9651a2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityWatchlistScreening; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Paginated list of entity watchlist screenings + */ +@ApiModel(description = "Paginated list of entity watchlist screenings") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityListResponse { + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENINGS = "entity_watchlist_screenings"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENINGS) + private List entityWatchlistScreenings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningEntityListResponse entityWatchlistScreenings(List entityWatchlistScreenings) { + + this.entityWatchlistScreenings = entityWatchlistScreenings; + return this; + } + + public WatchlistScreeningEntityListResponse addEntityWatchlistScreeningsItem(EntityWatchlistScreening entityWatchlistScreeningsItem) { + this.entityWatchlistScreenings.add(entityWatchlistScreeningsItem); + return this; + } + + /** + * List of entity watchlist screening + * @return entityWatchlistScreenings + **/ + @ApiModelProperty(required = true, value = "List of entity watchlist screening") + + public List getEntityWatchlistScreenings() { + return entityWatchlistScreenings; + } + + + public void setEntityWatchlistScreenings(List entityWatchlistScreenings) { + this.entityWatchlistScreenings = entityWatchlistScreenings; + } + + + public WatchlistScreeningEntityListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public WatchlistScreeningEntityListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityListResponse watchlistScreeningEntityListResponse = (WatchlistScreeningEntityListResponse) o; + return Objects.equals(this.entityWatchlistScreenings, watchlistScreeningEntityListResponse.entityWatchlistScreenings) && + Objects.equals(this.nextCursor, watchlistScreeningEntityListResponse.nextCursor) && + Objects.equals(this.requestId, watchlistScreeningEntityListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(entityWatchlistScreenings, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityListResponse {\n"); + sb.append(" entityWatchlistScreenings: ").append(toIndentedString(entityWatchlistScreenings)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityProgramGetRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityProgramGetRequest.java new file mode 100644 index 0000000000..6a247662f0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityProgramGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for fetching an entity watchlist program + */ +@ApiModel(description = "Request input for fetching an entity watchlist program") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityProgramGetRequest { + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_PROGRAM_ID = "entity_watchlist_program_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_PROGRAM_ID) + private String entityWatchlistProgramId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + + public WatchlistScreeningEntityProgramGetRequest entityWatchlistProgramId(String entityWatchlistProgramId) { + + this.entityWatchlistProgramId = entityWatchlistProgramId; + return this; + } + + /** + * ID of the associated entity program. + * @return entityWatchlistProgramId + **/ + @ApiModelProperty(example = "entprg_2eRPsDnL66rZ7H", required = true, value = "ID of the associated entity program.") + + public String getEntityWatchlistProgramId() { + return entityWatchlistProgramId; + } + + + public void setEntityWatchlistProgramId(String entityWatchlistProgramId) { + this.entityWatchlistProgramId = entityWatchlistProgramId; + } + + + public WatchlistScreeningEntityProgramGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningEntityProgramGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityProgramGetRequest watchlistScreeningEntityProgramGetRequest = (WatchlistScreeningEntityProgramGetRequest) o; + return Objects.equals(this.entityWatchlistProgramId, watchlistScreeningEntityProgramGetRequest.entityWatchlistProgramId) && + Objects.equals(this.secret, watchlistScreeningEntityProgramGetRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningEntityProgramGetRequest.clientId); + } + + @Override + public int hashCode() { + return Objects.hash(entityWatchlistProgramId, secret, clientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityProgramGetRequest {\n"); + sb.append(" entityWatchlistProgramId: ").append(toIndentedString(entityWatchlistProgramId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityProgramGetResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityProgramGetResponse.java new file mode 100644 index 0000000000..26aa69f13e --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityProgramGetResponse.java @@ -0,0 +1,333 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityWatchlistCode; +import com.plaid.client.model.ProgramNameSensitivity; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +/** + * A program that configures the active lists, search parameters, and other behavior for initial and ongoing screening of entities. + */ +@ApiModel(description = "A program that configures the active lists, search parameters, and other behavior for initial and ongoing screening of entities.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityProgramGetResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_IS_RESCANNING_ENABLED = "is_rescanning_enabled"; + @SerializedName(SERIALIZED_NAME_IS_RESCANNING_ENABLED) + private Boolean isRescanningEnabled; + + public static final String SERIALIZED_NAME_LISTS_ENABLED = "lists_enabled"; + @SerializedName(SERIALIZED_NAME_LISTS_ENABLED) + private Set listsEnabled = new LinkedHashSet<>(); + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NAME_SENSITIVITY = "name_sensitivity"; + @SerializedName(SERIALIZED_NAME_NAME_SENSITIVITY) + private ProgramNameSensitivity nameSensitivity; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_IS_ARCHIVED = "is_archived"; + @SerializedName(SERIALIZED_NAME_IS_ARCHIVED) + private Boolean isArchived; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningEntityProgramGetResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated entity program. + * @return id + **/ + @ApiModelProperty(example = "entprg_2eRPsDnL66rZ7H", required = true, value = "ID of the associated entity program.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WatchlistScreeningEntityProgramGetResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public WatchlistScreeningEntityProgramGetResponse isRescanningEnabled(Boolean isRescanningEnabled) { + + this.isRescanningEnabled = isRescanningEnabled; + return this; + } + + /** + * Indicator specifying whether the program is enabled and will perform daily rescans. + * @return isRescanningEnabled + **/ + @ApiModelProperty(example = "true", required = true, value = "Indicator specifying whether the program is enabled and will perform daily rescans.") + + public Boolean getIsRescanningEnabled() { + return isRescanningEnabled; + } + + + public void setIsRescanningEnabled(Boolean isRescanningEnabled) { + this.isRescanningEnabled = isRescanningEnabled; + } + + + public WatchlistScreeningEntityProgramGetResponse listsEnabled(Set listsEnabled) { + + this.listsEnabled = listsEnabled; + return this; + } + + public WatchlistScreeningEntityProgramGetResponse addListsEnabledItem(EntityWatchlistCode listsEnabledItem) { + this.listsEnabled.add(listsEnabledItem); + return this; + } + + /** + * Watchlists enabled for the associated program + * @return listsEnabled + **/ + @ApiModelProperty(example = "[\"EU_CON\"]", required = true, value = "Watchlists enabled for the associated program") + + public Set getListsEnabled() { + return listsEnabled; + } + + + public void setListsEnabled(Set listsEnabled) { + this.listsEnabled = listsEnabled; + } + + + public WatchlistScreeningEntityProgramGetResponse name(String name) { + + this.name = name; + return this; + } + + /** + * A name for the entity program to define its purpose. For example, \"High Risk Organizations\" or \"Applicants\". + * @return name + **/ + @ApiModelProperty(example = "Sample Program", required = true, value = "A name for the entity program to define its purpose. For example, \"High Risk Organizations\" or \"Applicants\".") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public WatchlistScreeningEntityProgramGetResponse nameSensitivity(ProgramNameSensitivity nameSensitivity) { + + this.nameSensitivity = nameSensitivity; + return this; + } + + /** + * Get nameSensitivity + * @return nameSensitivity + **/ + @ApiModelProperty(required = true, value = "") + + public ProgramNameSensitivity getNameSensitivity() { + return nameSensitivity; + } + + + public void setNameSensitivity(ProgramNameSensitivity nameSensitivity) { + this.nameSensitivity = nameSensitivity; + } + + + public WatchlistScreeningEntityProgramGetResponse auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public WatchlistScreeningEntityProgramGetResponse isArchived(Boolean isArchived) { + + this.isArchived = isArchived; + return this; + } + + /** + * Archived programs are read-only and cannot screen new customers nor participate in ongoing monitoring. + * @return isArchived + **/ + @ApiModelProperty(example = "false", required = true, value = "Archived programs are read-only and cannot screen new customers nor participate in ongoing monitoring.") + + public Boolean getIsArchived() { + return isArchived; + } + + + public void setIsArchived(Boolean isArchived) { + this.isArchived = isArchived; + } + + + public WatchlistScreeningEntityProgramGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityProgramGetResponse watchlistScreeningEntityProgramGetResponse = (WatchlistScreeningEntityProgramGetResponse) o; + return Objects.equals(this.id, watchlistScreeningEntityProgramGetResponse.id) && + Objects.equals(this.createdAt, watchlistScreeningEntityProgramGetResponse.createdAt) && + Objects.equals(this.isRescanningEnabled, watchlistScreeningEntityProgramGetResponse.isRescanningEnabled) && + Objects.equals(this.listsEnabled, watchlistScreeningEntityProgramGetResponse.listsEnabled) && + Objects.equals(this.name, watchlistScreeningEntityProgramGetResponse.name) && + Objects.equals(this.nameSensitivity, watchlistScreeningEntityProgramGetResponse.nameSensitivity) && + Objects.equals(this.auditTrail, watchlistScreeningEntityProgramGetResponse.auditTrail) && + Objects.equals(this.isArchived, watchlistScreeningEntityProgramGetResponse.isArchived) && + Objects.equals(this.requestId, watchlistScreeningEntityProgramGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdAt, isRescanningEnabled, listsEnabled, name, nameSensitivity, auditTrail, isArchived, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityProgramGetResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" isRescanningEnabled: ").append(toIndentedString(isRescanningEnabled)).append("\n"); + sb.append(" listsEnabled: ").append(toIndentedString(listsEnabled)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" nameSensitivity: ").append(toIndentedString(nameSensitivity)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" isArchived: ").append(toIndentedString(isArchived)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityProgramListRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityProgramListRequest.java new file mode 100644 index 0000000000..d6123a0ce3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityProgramListRequest.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing entity watchlist screening programs + */ +@ApiModel(description = "Request input for listing entity watchlist screening programs") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityProgramListRequest { + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public WatchlistScreeningEntityProgramListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningEntityProgramListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningEntityProgramListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityProgramListRequest watchlistScreeningEntityProgramListRequest = (WatchlistScreeningEntityProgramListRequest) o; + return Objects.equals(this.secret, watchlistScreeningEntityProgramListRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningEntityProgramListRequest.clientId) && + Objects.equals(this.cursor, watchlistScreeningEntityProgramListRequest.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(secret, clientId, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityProgramListRequest {\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityProgramListResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityProgramListResponse.java new file mode 100644 index 0000000000..6031634bbe --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityProgramListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityWatchlistProgram; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Paginated list of entity watchlist screening programs + */ +@ApiModel(description = "Paginated list of entity watchlist screening programs") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityProgramListResponse { + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_PROGRAMS = "entity_watchlist_programs"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_PROGRAMS) + private List entityWatchlistPrograms = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningEntityProgramListResponse entityWatchlistPrograms(List entityWatchlistPrograms) { + + this.entityWatchlistPrograms = entityWatchlistPrograms; + return this; + } + + public WatchlistScreeningEntityProgramListResponse addEntityWatchlistProgramsItem(EntityWatchlistProgram entityWatchlistProgramsItem) { + this.entityWatchlistPrograms.add(entityWatchlistProgramsItem); + return this; + } + + /** + * List of entity watchlist screening programs + * @return entityWatchlistPrograms + **/ + @ApiModelProperty(required = true, value = "List of entity watchlist screening programs") + + public List getEntityWatchlistPrograms() { + return entityWatchlistPrograms; + } + + + public void setEntityWatchlistPrograms(List entityWatchlistPrograms) { + this.entityWatchlistPrograms = entityWatchlistPrograms; + } + + + public WatchlistScreeningEntityProgramListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public WatchlistScreeningEntityProgramListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityProgramListResponse watchlistScreeningEntityProgramListResponse = (WatchlistScreeningEntityProgramListResponse) o; + return Objects.equals(this.entityWatchlistPrograms, watchlistScreeningEntityProgramListResponse.entityWatchlistPrograms) && + Objects.equals(this.nextCursor, watchlistScreeningEntityProgramListResponse.nextCursor) && + Objects.equals(this.requestId, watchlistScreeningEntityProgramListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(entityWatchlistPrograms, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityProgramListResponse {\n"); + sb.append(" entityWatchlistPrograms: ").append(toIndentedString(entityWatchlistPrograms)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityReviewCreateRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityReviewCreateRequest.java new file mode 100644 index 0000000000..c7155c7ce8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityReviewCreateRequest.java @@ -0,0 +1,253 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Request input for creating a review for an entity screening + */ +@ApiModel(description = "Request input for creating a review for an entity screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityReviewCreateRequest { + public static final String SERIALIZED_NAME_CONFIRMED_HITS = "confirmed_hits"; + @SerializedName(SERIALIZED_NAME_CONFIRMED_HITS) + private List confirmedHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DISMISSED_HITS = "dismissed_hits"; + @SerializedName(SERIALIZED_NAME_DISMISSED_HITS) + private List dismissedHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_COMMENT = "comment"; + @SerializedName(SERIALIZED_NAME_COMMENT) + private String comment; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_ID = "entity_watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_ID) + private String entityWatchlistScreeningId; + + + public WatchlistScreeningEntityReviewCreateRequest confirmedHits(List confirmedHits) { + + this.confirmedHits = confirmedHits; + return this; + } + + public WatchlistScreeningEntityReviewCreateRequest addConfirmedHitsItem(String confirmedHitsItem) { + this.confirmedHits.add(confirmedHitsItem); + return this; + } + + /** + * Hits to mark as a true positive after thorough manual review. These hits will never recur or be updated once confirmed. In most cases, confirmed hits indicate that the customer should be rejected. + * @return confirmedHits + **/ + @ApiModelProperty(required = true, value = "Hits to mark as a true positive after thorough manual review. These hits will never recur or be updated once confirmed. In most cases, confirmed hits indicate that the customer should be rejected.") + + public List getConfirmedHits() { + return confirmedHits; + } + + + public void setConfirmedHits(List confirmedHits) { + this.confirmedHits = confirmedHits; + } + + + public WatchlistScreeningEntityReviewCreateRequest dismissedHits(List dismissedHits) { + + this.dismissedHits = dismissedHits; + return this; + } + + public WatchlistScreeningEntityReviewCreateRequest addDismissedHitsItem(String dismissedHitsItem) { + this.dismissedHits.add(dismissedHitsItem); + return this; + } + + /** + * Hits to mark as a false positive after thorough manual review. These hits will never recur or be updated once dismissed. + * @return dismissedHits + **/ + @ApiModelProperty(required = true, value = "Hits to mark as a false positive after thorough manual review. These hits will never recur or be updated once dismissed.") + + public List getDismissedHits() { + return dismissedHits; + } + + + public void setDismissedHits(List dismissedHits) { + this.dismissedHits = dismissedHits; + } + + + public WatchlistScreeningEntityReviewCreateRequest comment(String comment) { + + this.comment = comment; + return this; + } + + /** + * A comment submitted by a team member as part of reviewing a watchlist screening. + * @return comment + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "These look like legitimate matches, rejecting the customer.", value = "A comment submitted by a team member as part of reviewing a watchlist screening.") + + public String getComment() { + return comment; + } + + + public void setComment(String comment) { + this.comment = comment; + } + + + public WatchlistScreeningEntityReviewCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningEntityReviewCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningEntityReviewCreateRequest entityWatchlistScreeningId(String entityWatchlistScreeningId) { + + this.entityWatchlistScreeningId = entityWatchlistScreeningId; + return this; + } + + /** + * ID of the associated entity screening. + * @return entityWatchlistScreeningId + **/ + @ApiModelProperty(example = "entscr_52xR9LKo77r1Np", required = true, value = "ID of the associated entity screening.") + + public String getEntityWatchlistScreeningId() { + return entityWatchlistScreeningId; + } + + + public void setEntityWatchlistScreeningId(String entityWatchlistScreeningId) { + this.entityWatchlistScreeningId = entityWatchlistScreeningId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityReviewCreateRequest watchlistScreeningEntityReviewCreateRequest = (WatchlistScreeningEntityReviewCreateRequest) o; + return Objects.equals(this.confirmedHits, watchlistScreeningEntityReviewCreateRequest.confirmedHits) && + Objects.equals(this.dismissedHits, watchlistScreeningEntityReviewCreateRequest.dismissedHits) && + Objects.equals(this.comment, watchlistScreeningEntityReviewCreateRequest.comment) && + Objects.equals(this.clientId, watchlistScreeningEntityReviewCreateRequest.clientId) && + Objects.equals(this.secret, watchlistScreeningEntityReviewCreateRequest.secret) && + Objects.equals(this.entityWatchlistScreeningId, watchlistScreeningEntityReviewCreateRequest.entityWatchlistScreeningId); + } + + @Override + public int hashCode() { + return Objects.hash(confirmedHits, dismissedHits, comment, clientId, secret, entityWatchlistScreeningId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityReviewCreateRequest {\n"); + sb.append(" confirmedHits: ").append(toIndentedString(confirmedHits)).append("\n"); + sb.append(" dismissedHits: ").append(toIndentedString(dismissedHits)).append("\n"); + sb.append(" comment: ").append(toIndentedString(comment)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" entityWatchlistScreeningId: ").append(toIndentedString(entityWatchlistScreeningId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityReviewCreateResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityReviewCreateResponse.java new file mode 100644 index 0000000000..3ffdaeea64 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityReviewCreateResponse.java @@ -0,0 +1,252 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A review submitted by a team member for an entity watchlist screening. A review can be either a comment on the current screening state, actions taken against hits attached to the watchlist screening, or both. + */ +@ApiModel(description = "A review submitted by a team member for an entity watchlist screening. A review can be either a comment on the current screening state, actions taken against hits attached to the watchlist screening, or both.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityReviewCreateResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CONFIRMED_HITS = "confirmed_hits"; + @SerializedName(SERIALIZED_NAME_CONFIRMED_HITS) + private List confirmedHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DISMISSED_HITS = "dismissed_hits"; + @SerializedName(SERIALIZED_NAME_DISMISSED_HITS) + private List dismissedHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_COMMENT = "comment"; + @SerializedName(SERIALIZED_NAME_COMMENT) + private String comment; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningEntityReviewCreateResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated entity review. + * @return id + **/ + @ApiModelProperty(example = "entrev_aCLNRxK3UVzn2r", required = true, value = "ID of the associated entity review.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WatchlistScreeningEntityReviewCreateResponse confirmedHits(List confirmedHits) { + + this.confirmedHits = confirmedHits; + return this; + } + + public WatchlistScreeningEntityReviewCreateResponse addConfirmedHitsItem(String confirmedHitsItem) { + this.confirmedHits.add(confirmedHitsItem); + return this; + } + + /** + * Hits marked as a true positive after thorough manual review. These hits will never recur or be updated once confirmed. In most cases, confirmed hits indicate that the customer should be rejected. + * @return confirmedHits + **/ + @ApiModelProperty(required = true, value = "Hits marked as a true positive after thorough manual review. These hits will never recur or be updated once confirmed. In most cases, confirmed hits indicate that the customer should be rejected.") + + public List getConfirmedHits() { + return confirmedHits; + } + + + public void setConfirmedHits(List confirmedHits) { + this.confirmedHits = confirmedHits; + } + + + public WatchlistScreeningEntityReviewCreateResponse dismissedHits(List dismissedHits) { + + this.dismissedHits = dismissedHits; + return this; + } + + public WatchlistScreeningEntityReviewCreateResponse addDismissedHitsItem(String dismissedHitsItem) { + this.dismissedHits.add(dismissedHitsItem); + return this; + } + + /** + * Hits marked as a false positive after thorough manual review. These hits will never recur or be updated once dismissed. + * @return dismissedHits + **/ + @ApiModelProperty(required = true, value = "Hits marked as a false positive after thorough manual review. These hits will never recur or be updated once dismissed.") + + public List getDismissedHits() { + return dismissedHits; + } + + + public void setDismissedHits(List dismissedHits) { + this.dismissedHits = dismissedHits; + } + + + public WatchlistScreeningEntityReviewCreateResponse comment(String comment) { + + this.comment = comment; + return this; + } + + /** + * A comment submitted by a team member as part of reviewing a watchlist screening. + * @return comment + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "These look like legitimate matches, rejecting the customer.", required = true, value = "A comment submitted by a team member as part of reviewing a watchlist screening.") + + public String getComment() { + return comment; + } + + + public void setComment(String comment) { + this.comment = comment; + } + + + public WatchlistScreeningEntityReviewCreateResponse auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public WatchlistScreeningEntityReviewCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityReviewCreateResponse watchlistScreeningEntityReviewCreateResponse = (WatchlistScreeningEntityReviewCreateResponse) o; + return Objects.equals(this.id, watchlistScreeningEntityReviewCreateResponse.id) && + Objects.equals(this.confirmedHits, watchlistScreeningEntityReviewCreateResponse.confirmedHits) && + Objects.equals(this.dismissedHits, watchlistScreeningEntityReviewCreateResponse.dismissedHits) && + Objects.equals(this.comment, watchlistScreeningEntityReviewCreateResponse.comment) && + Objects.equals(this.auditTrail, watchlistScreeningEntityReviewCreateResponse.auditTrail) && + Objects.equals(this.requestId, watchlistScreeningEntityReviewCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, confirmedHits, dismissedHits, comment, auditTrail, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityReviewCreateResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" confirmedHits: ").append(toIndentedString(confirmedHits)).append("\n"); + sb.append(" dismissedHits: ").append(toIndentedString(dismissedHits)).append("\n"); + sb.append(" comment: ").append(toIndentedString(comment)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityReviewListRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityReviewListRequest.java new file mode 100644 index 0000000000..b9a4f711b3 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityReviewListRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing reviews for an entity watchlist screening + */ +@ApiModel(description = "Request input for listing reviews for an entity watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityReviewListRequest { + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_ID = "entity_watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_ID) + private String entityWatchlistScreeningId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public WatchlistScreeningEntityReviewListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningEntityReviewListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningEntityReviewListRequest entityWatchlistScreeningId(String entityWatchlistScreeningId) { + + this.entityWatchlistScreeningId = entityWatchlistScreeningId; + return this; + } + + /** + * ID of the associated entity screening. + * @return entityWatchlistScreeningId + **/ + @ApiModelProperty(example = "entscr_52xR9LKo77r1Np", required = true, value = "ID of the associated entity screening.") + + public String getEntityWatchlistScreeningId() { + return entityWatchlistScreeningId; + } + + + public void setEntityWatchlistScreeningId(String entityWatchlistScreeningId) { + this.entityWatchlistScreeningId = entityWatchlistScreeningId; + } + + + public WatchlistScreeningEntityReviewListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityReviewListRequest watchlistScreeningEntityReviewListRequest = (WatchlistScreeningEntityReviewListRequest) o; + return Objects.equals(this.secret, watchlistScreeningEntityReviewListRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningEntityReviewListRequest.clientId) && + Objects.equals(this.entityWatchlistScreeningId, watchlistScreeningEntityReviewListRequest.entityWatchlistScreeningId) && + Objects.equals(this.cursor, watchlistScreeningEntityReviewListRequest.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(secret, clientId, entityWatchlistScreeningId, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityReviewListRequest {\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" entityWatchlistScreeningId: ").append(toIndentedString(entityWatchlistScreeningId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityReviewListResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityReviewListResponse.java new file mode 100644 index 0000000000..ca57619bb5 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityReviewListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityWatchlistScreeningReview; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Paginated list of entity watchlist screening reviews + */ +@ApiModel(description = "Paginated list of entity watchlist screening reviews") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityReviewListResponse { + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_REVIEWS = "entity_watchlist_screening_reviews"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_REVIEWS) + private List entityWatchlistScreeningReviews = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningEntityReviewListResponse entityWatchlistScreeningReviews(List entityWatchlistScreeningReviews) { + + this.entityWatchlistScreeningReviews = entityWatchlistScreeningReviews; + return this; + } + + public WatchlistScreeningEntityReviewListResponse addEntityWatchlistScreeningReviewsItem(EntityWatchlistScreeningReview entityWatchlistScreeningReviewsItem) { + this.entityWatchlistScreeningReviews.add(entityWatchlistScreeningReviewsItem); + return this; + } + + /** + * List of entity watchlist screening reviews + * @return entityWatchlistScreeningReviews + **/ + @ApiModelProperty(required = true, value = "List of entity watchlist screening reviews") + + public List getEntityWatchlistScreeningReviews() { + return entityWatchlistScreeningReviews; + } + + + public void setEntityWatchlistScreeningReviews(List entityWatchlistScreeningReviews) { + this.entityWatchlistScreeningReviews = entityWatchlistScreeningReviews; + } + + + public WatchlistScreeningEntityReviewListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public WatchlistScreeningEntityReviewListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityReviewListResponse watchlistScreeningEntityReviewListResponse = (WatchlistScreeningEntityReviewListResponse) o; + return Objects.equals(this.entityWatchlistScreeningReviews, watchlistScreeningEntityReviewListResponse.entityWatchlistScreeningReviews) && + Objects.equals(this.nextCursor, watchlistScreeningEntityReviewListResponse.nextCursor) && + Objects.equals(this.requestId, watchlistScreeningEntityReviewListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(entityWatchlistScreeningReviews, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityReviewListResponse {\n"); + sb.append(" entityWatchlistScreeningReviews: ").append(toIndentedString(entityWatchlistScreeningReviews)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityUpdateRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityUpdateRequest.java new file mode 100644 index 0000000000..5ae8cf9917 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityUpdateRequest.java @@ -0,0 +1,314 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.UpdateEntityScreeningRequestSearchTerms; +import com.plaid.client.model.WatchlistScreeningEntityUpdateRequestResettableField; +import com.plaid.client.model.WatchlistScreeningStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Request input for editing an entity watchlist screening + */ +@ApiModel(description = "Request input for editing an entity watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityUpdateRequest { + public static final String SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_ID = "entity_watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_ENTITY_WATCHLIST_SCREENING_ID) + private String entityWatchlistScreeningId; + + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private UpdateEntityScreeningRequestSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_ASSIGNEE = "assignee"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE) + private String assignee; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WatchlistScreeningStatus status; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_RESET_FIELDS = "reset_fields"; + @SerializedName(SERIALIZED_NAME_RESET_FIELDS) + private List resetFields = null; + + + public WatchlistScreeningEntityUpdateRequest entityWatchlistScreeningId(String entityWatchlistScreeningId) { + + this.entityWatchlistScreeningId = entityWatchlistScreeningId; + return this; + } + + /** + * ID of the associated entity screening. + * @return entityWatchlistScreeningId + **/ + @ApiModelProperty(example = "entscr_52xR9LKo77r1Np", required = true, value = "ID of the associated entity screening.") + + public String getEntityWatchlistScreeningId() { + return entityWatchlistScreeningId; + } + + + public void setEntityWatchlistScreeningId(String entityWatchlistScreeningId) { + this.entityWatchlistScreeningId = entityWatchlistScreeningId; + } + + + public WatchlistScreeningEntityUpdateRequest searchTerms(UpdateEntityScreeningRequestSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UpdateEntityScreeningRequestSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(UpdateEntityScreeningRequestSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public WatchlistScreeningEntityUpdateRequest assignee(String assignee) { + + this.assignee = assignee; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return assignee + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getAssignee() { + return assignee; + } + + + public void setAssignee(String assignee) { + this.assignee = assignee; + } + + + public WatchlistScreeningEntityUpdateRequest status(WatchlistScreeningStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WatchlistScreeningStatus getStatus() { + return status; + } + + + public void setStatus(WatchlistScreeningStatus status) { + this.status = status; + } + + + public WatchlistScreeningEntityUpdateRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public WatchlistScreeningEntityUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningEntityUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningEntityUpdateRequest resetFields(List resetFields) { + + this.resetFields = resetFields; + return this; + } + + public WatchlistScreeningEntityUpdateRequest addResetFieldsItem(WatchlistScreeningEntityUpdateRequestResettableField resetFieldsItem) { + if (this.resetFields == null) { + this.resetFields = new ArrayList<>(); + } + this.resetFields.add(resetFieldsItem); + return this; + } + + /** + * A list of fields to reset back to null + * @return resetFields + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of fields to reset back to null") + + public List getResetFields() { + return resetFields; + } + + + public void setResetFields(List resetFields) { + this.resetFields = resetFields; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityUpdateRequest watchlistScreeningEntityUpdateRequest = (WatchlistScreeningEntityUpdateRequest) o; + return Objects.equals(this.entityWatchlistScreeningId, watchlistScreeningEntityUpdateRequest.entityWatchlistScreeningId) && + Objects.equals(this.searchTerms, watchlistScreeningEntityUpdateRequest.searchTerms) && + Objects.equals(this.assignee, watchlistScreeningEntityUpdateRequest.assignee) && + Objects.equals(this.status, watchlistScreeningEntityUpdateRequest.status) && + Objects.equals(this.clientUserId, watchlistScreeningEntityUpdateRequest.clientUserId) && + Objects.equals(this.clientId, watchlistScreeningEntityUpdateRequest.clientId) && + Objects.equals(this.secret, watchlistScreeningEntityUpdateRequest.secret) && + Objects.equals(this.resetFields, watchlistScreeningEntityUpdateRequest.resetFields); + } + + @Override + public int hashCode() { + return Objects.hash(entityWatchlistScreeningId, searchTerms, assignee, status, clientUserId, clientId, secret, resetFields); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityUpdateRequest {\n"); + sb.append(" entityWatchlistScreeningId: ").append(toIndentedString(entityWatchlistScreeningId)).append("\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" resetFields: ").append(toIndentedString(resetFields)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityUpdateRequestResettableField.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityUpdateRequestResettableField.java new file mode 100644 index 0000000000..220a969ef8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityUpdateRequestResettableField.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The name of a field that can be reset back to null + */ +@JsonAdapter(WatchlistScreeningEntityUpdateRequestResettableField.Adapter.class) +public enum WatchlistScreeningEntityUpdateRequestResettableField { + + ASSIGNEE("assignee"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WatchlistScreeningEntityUpdateRequestResettableField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WatchlistScreeningEntityUpdateRequestResettableField fromValue(String value) { + for (WatchlistScreeningEntityUpdateRequestResettableField b : WatchlistScreeningEntityUpdateRequestResettableField.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return WatchlistScreeningEntityUpdateRequestResettableField.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WatchlistScreeningEntityUpdateRequestResettableField enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WatchlistScreeningEntityUpdateRequestResettableField read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WatchlistScreeningEntityUpdateRequestResettableField.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningEntityUpdateResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityUpdateResponse.java new file mode 100644 index 0000000000..cdc01d73b6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningEntityUpdateResponse.java @@ -0,0 +1,271 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.EntityWatchlistScreeningSearchTerms; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import com.plaid.client.model.WatchlistScreeningStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The entity screening object allows you to represent an entity in your system, update its profile, and search for it on various watchlists. Note: Rejected entity screenings will not receive new hits, regardless of entity program configuration. + */ +@ApiModel(description = "The entity screening object allows you to represent an entity in your system, update its profile, and search for it on various watchlists. Note: Rejected entity screenings will not receive new hits, regardless of entity program configuration.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningEntityUpdateResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private EntityWatchlistScreeningSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_ASSIGNEE = "assignee"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE) + private String assignee; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WatchlistScreeningStatus status; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningEntityUpdateResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated entity screening. + * @return id + **/ + @ApiModelProperty(example = "entscr_52xR9LKo77r1Np", required = true, value = "ID of the associated entity screening.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WatchlistScreeningEntityUpdateResponse searchTerms(EntityWatchlistScreeningSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @ApiModelProperty(required = true, value = "") + + public EntityWatchlistScreeningSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(EntityWatchlistScreeningSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public WatchlistScreeningEntityUpdateResponse assignee(String assignee) { + + this.assignee = assignee; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return assignee + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", required = true, value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getAssignee() { + return assignee; + } + + + public void setAssignee(String assignee) { + this.assignee = assignee; + } + + + public WatchlistScreeningEntityUpdateResponse status(WatchlistScreeningStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningStatus getStatus() { + return status; + } + + + public void setStatus(WatchlistScreeningStatus status) { + this.status = status; + } + + + public WatchlistScreeningEntityUpdateResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public WatchlistScreeningEntityUpdateResponse auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public WatchlistScreeningEntityUpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningEntityUpdateResponse watchlistScreeningEntityUpdateResponse = (WatchlistScreeningEntityUpdateResponse) o; + return Objects.equals(this.id, watchlistScreeningEntityUpdateResponse.id) && + Objects.equals(this.searchTerms, watchlistScreeningEntityUpdateResponse.searchTerms) && + Objects.equals(this.assignee, watchlistScreeningEntityUpdateResponse.assignee) && + Objects.equals(this.status, watchlistScreeningEntityUpdateResponse.status) && + Objects.equals(this.clientUserId, watchlistScreeningEntityUpdateResponse.clientUserId) && + Objects.equals(this.auditTrail, watchlistScreeningEntityUpdateResponse.auditTrail) && + Objects.equals(this.requestId, watchlistScreeningEntityUpdateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, searchTerms, assignee, status, clientUserId, auditTrail, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningEntityUpdateResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningHit.java b/src/main/java/com/plaid/client/model/WatchlistScreeningHit.java new file mode 100644 index 0000000000..a32eab152f --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningHit.java @@ -0,0 +1,395 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IndividualWatchlistCode; +import com.plaid.client.model.ScreeningHitAnalysis; +import com.plaid.client.model.ScreeningHitData; +import com.plaid.client.model.WatchlistScreeningHitStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Data from a government watchlist or PEP list that has been attached to the screening. + */ +@ApiModel(description = "Data from a government watchlist or PEP list that has been attached to the screening.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningHit { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_REVIEW_STATUS = "review_status"; + @SerializedName(SERIALIZED_NAME_REVIEW_STATUS) + private WatchlistScreeningHitStatus reviewStatus; + + public static final String SERIALIZED_NAME_FIRST_ACTIVE = "first_active"; + @SerializedName(SERIALIZED_NAME_FIRST_ACTIVE) + private java.sql.Timestamp firstActive; + + public static final String SERIALIZED_NAME_INACTIVE_SINCE = "inactive_since"; + @SerializedName(SERIALIZED_NAME_INACTIVE_SINCE) + private OffsetDateTime inactiveSince; + + public static final String SERIALIZED_NAME_HISTORICAL_SINCE = "historical_since"; + @SerializedName(SERIALIZED_NAME_HISTORICAL_SINCE) + private OffsetDateTime historicalSince; + + public static final String SERIALIZED_NAME_LIST_CODE = "list_code"; + @SerializedName(SERIALIZED_NAME_LIST_CODE) + private IndividualWatchlistCode listCode; + + public static final String SERIALIZED_NAME_PLAID_UID = "plaid_uid"; + @SerializedName(SERIALIZED_NAME_PLAID_UID) + private String plaidUid; + + public static final String SERIALIZED_NAME_SOURCE_UID = "source_uid"; + @SerializedName(SERIALIZED_NAME_SOURCE_UID) + private String sourceUid; + + public static final String SERIALIZED_NAME_SUB_PROGRAMS = "sub_programs"; + @SerializedName(SERIALIZED_NAME_SUB_PROGRAMS) + private List subPrograms = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ANALYSIS = "analysis"; + @SerializedName(SERIALIZED_NAME_ANALYSIS) + private ScreeningHitAnalysis analysis; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private ScreeningHitData data; + + + public WatchlistScreeningHit id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated screening hit. + * @return id + **/ + @ApiModelProperty(example = "scrhit_52xR9LKo77r1Np", required = true, value = "ID of the associated screening hit.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WatchlistScreeningHit reviewStatus(WatchlistScreeningHitStatus reviewStatus) { + + this.reviewStatus = reviewStatus; + return this; + } + + /** + * Get reviewStatus + * @return reviewStatus + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningHitStatus getReviewStatus() { + return reviewStatus; + } + + + public void setReviewStatus(WatchlistScreeningHitStatus reviewStatus) { + this.reviewStatus = reviewStatus; + } + + + public WatchlistScreeningHit firstActive(java.sql.Timestamp firstActive) { + + this.firstActive = firstActive; + return this; + } + + /** + * Get firstActive + * @return firstActive + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getFirstActive() { + return firstActive; + } + + + public void setFirstActive(java.sql.Timestamp firstActive) { + this.firstActive = firstActive; + } + + + public WatchlistScreeningHit inactiveSince(OffsetDateTime inactiveSince) { + + this.inactiveSince = inactiveSince; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return inactiveSince + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getInactiveSince() { + return inactiveSince; + } + + + public void setInactiveSince(OffsetDateTime inactiveSince) { + this.inactiveSince = inactiveSince; + } + + + public WatchlistScreeningHit historicalSince(OffsetDateTime historicalSince) { + + this.historicalSince = historicalSince; + return this; + } + + /** + * An ISO8601 formatted timestamp. + * @return historicalSince + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-07-24T03:26:02Z", required = true, value = "An ISO8601 formatted timestamp.") + + public OffsetDateTime getHistoricalSince() { + return historicalSince; + } + + + public void setHistoricalSince(OffsetDateTime historicalSince) { + this.historicalSince = historicalSince; + } + + + public WatchlistScreeningHit listCode(IndividualWatchlistCode listCode) { + + this.listCode = listCode; + return this; + } + + /** + * Get listCode + * @return listCode + **/ + @ApiModelProperty(required = true, value = "") + + public IndividualWatchlistCode getListCode() { + return listCode; + } + + + public void setListCode(IndividualWatchlistCode listCode) { + this.listCode = listCode; + } + + + public WatchlistScreeningHit plaidUid(String plaidUid) { + + this.plaidUid = plaidUid; + return this; + } + + /** + * A universal identifier for a watchlist individual that is stable across searches and updates. + * @return plaidUid + **/ + @ApiModelProperty(example = "uid_3NggckTimGSJHS", required = true, value = "A universal identifier for a watchlist individual that is stable across searches and updates.") + + public String getPlaidUid() { + return plaidUid; + } + + + public void setPlaidUid(String plaidUid) { + this.plaidUid = plaidUid; + } + + + public WatchlistScreeningHit sourceUid(String sourceUid) { + + this.sourceUid = sourceUid; + return this; + } + + /** + * The identifier provided by the source sanction or watchlist. When one is not provided by the source, this is `null`. + * @return sourceUid + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "26192ABC", required = true, value = "The identifier provided by the source sanction or watchlist. When one is not provided by the source, this is `null`.") + + public String getSourceUid() { + return sourceUid; + } + + + public void setSourceUid(String sourceUid) { + this.sourceUid = sourceUid; + } + + + public WatchlistScreeningHit subPrograms(List subPrograms) { + + this.subPrograms = subPrograms; + return this; + } + + public WatchlistScreeningHit addSubProgramsItem(String subProgramsItem) { + this.subPrograms.add(subProgramsItem); + return this; + } + + /** + * Sub-program designations that may be attached to the watchlist entry by the issuing authority. For OFAC SDN entries these are the program codes published in the SDN list (for example `SDGT` for Specially Designated Global Terrorists, `SDNTK` for Specially Designated Narcotics Trafficking Kingpins, `IRAN`, `RUSSIA-EO14024`). New codes are added by sanctioning authorities without prior notice, so callers should treat unknown values as opaque strings rather than enum members. + * @return subPrograms + **/ + @ApiModelProperty(example = "[\"SDGT\",\"SDNTK\"]", required = true, value = "Sub-program designations that may be attached to the watchlist entry by the issuing authority. For OFAC SDN entries these are the program codes published in the SDN list (for example `SDGT` for Specially Designated Global Terrorists, `SDNTK` for Specially Designated Narcotics Trafficking Kingpins, `IRAN`, `RUSSIA-EO14024`). New codes are added by sanctioning authorities without prior notice, so callers should treat unknown values as opaque strings rather than enum members. ") + + public List getSubPrograms() { + return subPrograms; + } + + + public void setSubPrograms(List subPrograms) { + this.subPrograms = subPrograms; + } + + + public WatchlistScreeningHit analysis(ScreeningHitAnalysis analysis) { + + this.analysis = analysis; + return this; + } + + /** + * Get analysis + * @return analysis + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ScreeningHitAnalysis getAnalysis() { + return analysis; + } + + + public void setAnalysis(ScreeningHitAnalysis analysis) { + this.analysis = analysis; + } + + + public WatchlistScreeningHit data(ScreeningHitData data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public ScreeningHitData getData() { + return data; + } + + + public void setData(ScreeningHitData data) { + this.data = data; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningHit watchlistScreeningHit = (WatchlistScreeningHit) o; + return Objects.equals(this.id, watchlistScreeningHit.id) && + Objects.equals(this.reviewStatus, watchlistScreeningHit.reviewStatus) && + Objects.equals(this.firstActive, watchlistScreeningHit.firstActive) && + Objects.equals(this.inactiveSince, watchlistScreeningHit.inactiveSince) && + Objects.equals(this.historicalSince, watchlistScreeningHit.historicalSince) && + Objects.equals(this.listCode, watchlistScreeningHit.listCode) && + Objects.equals(this.plaidUid, watchlistScreeningHit.plaidUid) && + Objects.equals(this.sourceUid, watchlistScreeningHit.sourceUid) && + Objects.equals(this.subPrograms, watchlistScreeningHit.subPrograms) && + Objects.equals(this.analysis, watchlistScreeningHit.analysis) && + Objects.equals(this.data, watchlistScreeningHit.data); + } + + @Override + public int hashCode() { + return Objects.hash(id, reviewStatus, firstActive, inactiveSince, historicalSince, listCode, plaidUid, sourceUid, subPrograms, analysis, data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningHit {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" reviewStatus: ").append(toIndentedString(reviewStatus)).append("\n"); + sb.append(" firstActive: ").append(toIndentedString(firstActive)).append("\n"); + sb.append(" inactiveSince: ").append(toIndentedString(inactiveSince)).append("\n"); + sb.append(" historicalSince: ").append(toIndentedString(historicalSince)).append("\n"); + sb.append(" listCode: ").append(toIndentedString(listCode)).append("\n"); + sb.append(" plaidUid: ").append(toIndentedString(plaidUid)).append("\n"); + sb.append(" sourceUid: ").append(toIndentedString(sourceUid)).append("\n"); + sb.append(" subPrograms: ").append(toIndentedString(subPrograms)).append("\n"); + sb.append(" analysis: ").append(toIndentedString(analysis)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningHitLocations.java b/src/main/java/com/plaid/client/model/WatchlistScreeningHitLocations.java new file mode 100644 index 0000000000..cf6cd9ea50 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningHitLocations.java @@ -0,0 +1,126 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Location information for the associated watchlist hit + */ +@ApiModel(description = "Location information for the associated watchlist hit") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningHitLocations { + public static final String SERIALIZED_NAME_FULL = "full"; + @SerializedName(SERIALIZED_NAME_FULL) + private String full; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public WatchlistScreeningHitLocations full(String full) { + + this.full = full; + return this; + } + + /** + * The full location string, potentially including elements like street, city, postal codes and country codes. Note that this is not necessarily a complete or well-formatted address. + * @return full + **/ + @ApiModelProperty(example = "Florida, US", required = true, value = "The full location string, potentially including elements like street, city, postal codes and country codes. Note that this is not necessarily a complete or well-formatted address.") + + public String getFull() { + return full; + } + + + public void setFull(String full) { + this.full = full; + } + + + public WatchlistScreeningHitLocations country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningHitLocations watchlistScreeningHitLocations = (WatchlistScreeningHitLocations) o; + return Objects.equals(this.full, watchlistScreeningHitLocations.full) && + Objects.equals(this.country, watchlistScreeningHitLocations.country); + } + + @Override + public int hashCode() { + return Objects.hash(full, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningHitLocations {\n"); + sb.append(" full: ").append(toIndentedString(full)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningHitStatus.java b/src/main/java/com/plaid/client/model/WatchlistScreeningHitStatus.java new file mode 100644 index 0000000000..6c04c17dc4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningHitStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The current state of review. All watchlist screening hits begin in a `pending_review` state but can be changed by creating a review. When a hit is in the `pending_review` state, it will always show the latest version of the watchlist data Plaid has available and be compared against the latest customer information saved in the watchlist screening. Once a hit has been marked as `confirmed` or `dismissed` it will no longer be updated so that the state is as it was when the review was first conducted. + */ +@JsonAdapter(WatchlistScreeningHitStatus.Adapter.class) +public enum WatchlistScreeningHitStatus { + + CONFIRMED("confirmed"), + + PENDING_REVIEW("pending_review"), + + DISMISSED("dismissed"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WatchlistScreeningHitStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WatchlistScreeningHitStatus fromValue(String value) { + for (WatchlistScreeningHitStatus b : WatchlistScreeningHitStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return WatchlistScreeningHitStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WatchlistScreeningHitStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WatchlistScreeningHitStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WatchlistScreeningHitStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividual.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividual.java new file mode 100644 index 0000000000..58770811e9 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividual.java @@ -0,0 +1,243 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import com.plaid.client.model.WatchlistScreeningSearchTerms; +import com.plaid.client.model.WatchlistScreeningStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The screening object allows you to represent a customer in your system, update their profile, and search for them on various watchlists. Note: Rejected customers will not receive new hits, regardless of program configuration. + */ +@ApiModel(description = "The screening object allows you to represent a customer in your system, update their profile, and search for them on various watchlists. Note: Rejected customers will not receive new hits, regardless of program configuration.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividual { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private WatchlistScreeningSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_ASSIGNEE = "assignee"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE) + private String assignee; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WatchlistScreeningStatus status; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + + public WatchlistScreeningIndividual id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated screening. + * @return id + **/ + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WatchlistScreeningIndividual searchTerms(WatchlistScreeningSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(WatchlistScreeningSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public WatchlistScreeningIndividual assignee(String assignee) { + + this.assignee = assignee; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return assignee + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", required = true, value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getAssignee() { + return assignee; + } + + + public void setAssignee(String assignee) { + this.assignee = assignee; + } + + + public WatchlistScreeningIndividual status(WatchlistScreeningStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningStatus getStatus() { + return status; + } + + + public void setStatus(WatchlistScreeningStatus status) { + this.status = status; + } + + + public WatchlistScreeningIndividual clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public WatchlistScreeningIndividual auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividual watchlistScreeningIndividual = (WatchlistScreeningIndividual) o; + return Objects.equals(this.id, watchlistScreeningIndividual.id) && + Objects.equals(this.searchTerms, watchlistScreeningIndividual.searchTerms) && + Objects.equals(this.assignee, watchlistScreeningIndividual.assignee) && + Objects.equals(this.status, watchlistScreeningIndividual.status) && + Objects.equals(this.clientUserId, watchlistScreeningIndividual.clientUserId) && + Objects.equals(this.auditTrail, watchlistScreeningIndividual.auditTrail); + } + + @Override + public int hashCode() { + return Objects.hash(id, searchTerms, assignee, status, clientUserId, auditTrail); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividual {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualCreateRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualCreateRequest.java new file mode 100644 index 0000000000..928c0b52f0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualCreateRequest.java @@ -0,0 +1,186 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningRequestSearchTerms; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for creating an individual watchlist screening + */ +@ApiModel(description = "Request input for creating an individual watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualCreateRequest { + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private WatchlistScreeningRequestSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + + public WatchlistScreeningIndividualCreateRequest searchTerms(WatchlistScreeningRequestSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningRequestSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(WatchlistScreeningRequestSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public WatchlistScreeningIndividualCreateRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public WatchlistScreeningIndividualCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningIndividualCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualCreateRequest watchlistScreeningIndividualCreateRequest = (WatchlistScreeningIndividualCreateRequest) o; + return Objects.equals(this.searchTerms, watchlistScreeningIndividualCreateRequest.searchTerms) && + Objects.equals(this.clientUserId, watchlistScreeningIndividualCreateRequest.clientUserId) && + Objects.equals(this.clientId, watchlistScreeningIndividualCreateRequest.clientId) && + Objects.equals(this.secret, watchlistScreeningIndividualCreateRequest.secret); + } + + @Override + public int hashCode() { + return Objects.hash(searchTerms, clientUserId, clientId, secret); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualCreateRequest {\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualCreateResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualCreateResponse.java new file mode 100644 index 0000000000..77df9cd0db --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualCreateResponse.java @@ -0,0 +1,271 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import com.plaid.client.model.WatchlistScreeningSearchTerms; +import com.plaid.client.model.WatchlistScreeningStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The screening object allows you to represent a customer in your system, update their profile, and search for them on various watchlists. Note: Rejected customers will not receive new hits, regardless of program configuration. + */ +@ApiModel(description = "The screening object allows you to represent a customer in your system, update their profile, and search for them on various watchlists. Note: Rejected customers will not receive new hits, regardless of program configuration.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualCreateResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private WatchlistScreeningSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_ASSIGNEE = "assignee"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE) + private String assignee; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WatchlistScreeningStatus status; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningIndividualCreateResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated screening. + * @return id + **/ + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WatchlistScreeningIndividualCreateResponse searchTerms(WatchlistScreeningSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(WatchlistScreeningSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public WatchlistScreeningIndividualCreateResponse assignee(String assignee) { + + this.assignee = assignee; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return assignee + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", required = true, value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getAssignee() { + return assignee; + } + + + public void setAssignee(String assignee) { + this.assignee = assignee; + } + + + public WatchlistScreeningIndividualCreateResponse status(WatchlistScreeningStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningStatus getStatus() { + return status; + } + + + public void setStatus(WatchlistScreeningStatus status) { + this.status = status; + } + + + public WatchlistScreeningIndividualCreateResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public WatchlistScreeningIndividualCreateResponse auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public WatchlistScreeningIndividualCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualCreateResponse watchlistScreeningIndividualCreateResponse = (WatchlistScreeningIndividualCreateResponse) o; + return Objects.equals(this.id, watchlistScreeningIndividualCreateResponse.id) && + Objects.equals(this.searchTerms, watchlistScreeningIndividualCreateResponse.searchTerms) && + Objects.equals(this.assignee, watchlistScreeningIndividualCreateResponse.assignee) && + Objects.equals(this.status, watchlistScreeningIndividualCreateResponse.status) && + Objects.equals(this.clientUserId, watchlistScreeningIndividualCreateResponse.clientUserId) && + Objects.equals(this.auditTrail, watchlistScreeningIndividualCreateResponse.auditTrail) && + Objects.equals(this.requestId, watchlistScreeningIndividualCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, searchTerms, assignee, status, clientUserId, auditTrail, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualCreateResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualGetRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualGetRequest.java new file mode 100644 index 0000000000..2d75453835 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for fetching an individual watchlist screening + */ +@ApiModel(description = "Request input for fetching an individual watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualGetRequest { + public static final String SERIALIZED_NAME_WATCHLIST_SCREENING_ID = "watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENING_ID) + private String watchlistScreeningId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + + public WatchlistScreeningIndividualGetRequest watchlistScreeningId(String watchlistScreeningId) { + + this.watchlistScreeningId = watchlistScreeningId; + return this; + } + + /** + * ID of the associated screening. + * @return watchlistScreeningId + **/ + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getWatchlistScreeningId() { + return watchlistScreeningId; + } + + + public void setWatchlistScreeningId(String watchlistScreeningId) { + this.watchlistScreeningId = watchlistScreeningId; + } + + + public WatchlistScreeningIndividualGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningIndividualGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualGetRequest watchlistScreeningIndividualGetRequest = (WatchlistScreeningIndividualGetRequest) o; + return Objects.equals(this.watchlistScreeningId, watchlistScreeningIndividualGetRequest.watchlistScreeningId) && + Objects.equals(this.secret, watchlistScreeningIndividualGetRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningIndividualGetRequest.clientId); + } + + @Override + public int hashCode() { + return Objects.hash(watchlistScreeningId, secret, clientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualGetRequest {\n"); + sb.append(" watchlistScreeningId: ").append(toIndentedString(watchlistScreeningId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualGetResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualGetResponse.java new file mode 100644 index 0000000000..a8f7475816 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualGetResponse.java @@ -0,0 +1,271 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import com.plaid.client.model.WatchlistScreeningSearchTerms; +import com.plaid.client.model.WatchlistScreeningStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The screening object allows you to represent a customer in your system, update their profile, and search for them on various watchlists. Note: Rejected customers will not receive new hits, regardless of program configuration. + */ +@ApiModel(description = "The screening object allows you to represent a customer in your system, update their profile, and search for them on various watchlists. Note: Rejected customers will not receive new hits, regardless of program configuration.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualGetResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private WatchlistScreeningSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_ASSIGNEE = "assignee"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE) + private String assignee; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WatchlistScreeningStatus status; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningIndividualGetResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated screening. + * @return id + **/ + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WatchlistScreeningIndividualGetResponse searchTerms(WatchlistScreeningSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(WatchlistScreeningSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public WatchlistScreeningIndividualGetResponse assignee(String assignee) { + + this.assignee = assignee; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return assignee + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", required = true, value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getAssignee() { + return assignee; + } + + + public void setAssignee(String assignee) { + this.assignee = assignee; + } + + + public WatchlistScreeningIndividualGetResponse status(WatchlistScreeningStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningStatus getStatus() { + return status; + } + + + public void setStatus(WatchlistScreeningStatus status) { + this.status = status; + } + + + public WatchlistScreeningIndividualGetResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public WatchlistScreeningIndividualGetResponse auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public WatchlistScreeningIndividualGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualGetResponse watchlistScreeningIndividualGetResponse = (WatchlistScreeningIndividualGetResponse) o; + return Objects.equals(this.id, watchlistScreeningIndividualGetResponse.id) && + Objects.equals(this.searchTerms, watchlistScreeningIndividualGetResponse.searchTerms) && + Objects.equals(this.assignee, watchlistScreeningIndividualGetResponse.assignee) && + Objects.equals(this.status, watchlistScreeningIndividualGetResponse.status) && + Objects.equals(this.clientUserId, watchlistScreeningIndividualGetResponse.clientUserId) && + Objects.equals(this.auditTrail, watchlistScreeningIndividualGetResponse.auditTrail) && + Objects.equals(this.requestId, watchlistScreeningIndividualGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, searchTerms, assignee, status, clientUserId, auditTrail, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualGetResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualHistoryListRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualHistoryListRequest.java new file mode 100644 index 0000000000..db518bc4a8 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualHistoryListRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing changes to watchlist screenings for individuals + */ +@ApiModel(description = "Request input for listing changes to watchlist screenings for individuals") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualHistoryListRequest { + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_WATCHLIST_SCREENING_ID = "watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENING_ID) + private String watchlistScreeningId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public WatchlistScreeningIndividualHistoryListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningIndividualHistoryListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningIndividualHistoryListRequest watchlistScreeningId(String watchlistScreeningId) { + + this.watchlistScreeningId = watchlistScreeningId; + return this; + } + + /** + * ID of the associated screening. + * @return watchlistScreeningId + **/ + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getWatchlistScreeningId() { + return watchlistScreeningId; + } + + + public void setWatchlistScreeningId(String watchlistScreeningId) { + this.watchlistScreeningId = watchlistScreeningId; + } + + + public WatchlistScreeningIndividualHistoryListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualHistoryListRequest watchlistScreeningIndividualHistoryListRequest = (WatchlistScreeningIndividualHistoryListRequest) o; + return Objects.equals(this.secret, watchlistScreeningIndividualHistoryListRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningIndividualHistoryListRequest.clientId) && + Objects.equals(this.watchlistScreeningId, watchlistScreeningIndividualHistoryListRequest.watchlistScreeningId) && + Objects.equals(this.cursor, watchlistScreeningIndividualHistoryListRequest.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(secret, clientId, watchlistScreeningId, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualHistoryListRequest {\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" watchlistScreeningId: ").append(toIndentedString(watchlistScreeningId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualHistoryListResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualHistoryListResponse.java new file mode 100644 index 0000000000..fb96e04022 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualHistoryListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningIndividual; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Paginated list of individual watchlist screenings. + */ +@ApiModel(description = "Paginated list of individual watchlist screenings.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualHistoryListResponse { + public static final String SERIALIZED_NAME_WATCHLIST_SCREENINGS = "watchlist_screenings"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENINGS) + private List watchlistScreenings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningIndividualHistoryListResponse watchlistScreenings(List watchlistScreenings) { + + this.watchlistScreenings = watchlistScreenings; + return this; + } + + public WatchlistScreeningIndividualHistoryListResponse addWatchlistScreeningsItem(WatchlistScreeningIndividual watchlistScreeningsItem) { + this.watchlistScreenings.add(watchlistScreeningsItem); + return this; + } + + /** + * List of individual watchlist screenings + * @return watchlistScreenings + **/ + @ApiModelProperty(required = true, value = "List of individual watchlist screenings") + + public List getWatchlistScreenings() { + return watchlistScreenings; + } + + + public void setWatchlistScreenings(List watchlistScreenings) { + this.watchlistScreenings = watchlistScreenings; + } + + + public WatchlistScreeningIndividualHistoryListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public WatchlistScreeningIndividualHistoryListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualHistoryListResponse watchlistScreeningIndividualHistoryListResponse = (WatchlistScreeningIndividualHistoryListResponse) o; + return Objects.equals(this.watchlistScreenings, watchlistScreeningIndividualHistoryListResponse.watchlistScreenings) && + Objects.equals(this.nextCursor, watchlistScreeningIndividualHistoryListResponse.nextCursor) && + Objects.equals(this.requestId, watchlistScreeningIndividualHistoryListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(watchlistScreenings, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualHistoryListResponse {\n"); + sb.append(" watchlistScreenings: ").append(toIndentedString(watchlistScreenings)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualHitListRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualHitListRequest.java new file mode 100644 index 0000000000..9f59b2052d --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualHitListRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing hits for an individual watchlist screening + */ +@ApiModel(description = "Request input for listing hits for an individual watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualHitListRequest { + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_WATCHLIST_SCREENING_ID = "watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENING_ID) + private String watchlistScreeningId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public WatchlistScreeningIndividualHitListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningIndividualHitListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningIndividualHitListRequest watchlistScreeningId(String watchlistScreeningId) { + + this.watchlistScreeningId = watchlistScreeningId; + return this; + } + + /** + * ID of the associated screening. + * @return watchlistScreeningId + **/ + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getWatchlistScreeningId() { + return watchlistScreeningId; + } + + + public void setWatchlistScreeningId(String watchlistScreeningId) { + this.watchlistScreeningId = watchlistScreeningId; + } + + + public WatchlistScreeningIndividualHitListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualHitListRequest watchlistScreeningIndividualHitListRequest = (WatchlistScreeningIndividualHitListRequest) o; + return Objects.equals(this.secret, watchlistScreeningIndividualHitListRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningIndividualHitListRequest.clientId) && + Objects.equals(this.watchlistScreeningId, watchlistScreeningIndividualHitListRequest.watchlistScreeningId) && + Objects.equals(this.cursor, watchlistScreeningIndividualHitListRequest.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(secret, clientId, watchlistScreeningId, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualHitListRequest {\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" watchlistScreeningId: ").append(toIndentedString(watchlistScreeningId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualHitListResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualHitListResponse.java new file mode 100644 index 0000000000..26bd78361b --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualHitListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningHit; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Paginated list of individual watchlist screening hits + */ +@ApiModel(description = "Paginated list of individual watchlist screening hits") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualHitListResponse { + public static final String SERIALIZED_NAME_WATCHLIST_SCREENING_HITS = "watchlist_screening_hits"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENING_HITS) + private List watchlistScreeningHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningIndividualHitListResponse watchlistScreeningHits(List watchlistScreeningHits) { + + this.watchlistScreeningHits = watchlistScreeningHits; + return this; + } + + public WatchlistScreeningIndividualHitListResponse addWatchlistScreeningHitsItem(WatchlistScreeningHit watchlistScreeningHitsItem) { + this.watchlistScreeningHits.add(watchlistScreeningHitsItem); + return this; + } + + /** + * List of individual watchlist screening hits + * @return watchlistScreeningHits + **/ + @ApiModelProperty(required = true, value = "List of individual watchlist screening hits") + + public List getWatchlistScreeningHits() { + return watchlistScreeningHits; + } + + + public void setWatchlistScreeningHits(List watchlistScreeningHits) { + this.watchlistScreeningHits = watchlistScreeningHits; + } + + + public WatchlistScreeningIndividualHitListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public WatchlistScreeningIndividualHitListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualHitListResponse watchlistScreeningIndividualHitListResponse = (WatchlistScreeningIndividualHitListResponse) o; + return Objects.equals(this.watchlistScreeningHits, watchlistScreeningIndividualHitListResponse.watchlistScreeningHits) && + Objects.equals(this.nextCursor, watchlistScreeningIndividualHitListResponse.nextCursor) && + Objects.equals(this.requestId, watchlistScreeningIndividualHitListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(watchlistScreeningHits, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualHitListResponse {\n"); + sb.append(" watchlistScreeningHits: ").append(toIndentedString(watchlistScreeningHits)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualListRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualListRequest.java new file mode 100644 index 0000000000..e9eae7f00c --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualListRequest.java @@ -0,0 +1,273 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing watchlist screenings for individuals + */ +@ApiModel(description = "Request input for listing watchlist screenings for individuals") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualListRequest { + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_WATCHLIST_PROGRAM_ID = "watchlist_program_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_PROGRAM_ID) + private String watchlistProgramId; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WatchlistScreeningStatus status; + + public static final String SERIALIZED_NAME_ASSIGNEE = "assignee"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE) + private String assignee; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public WatchlistScreeningIndividualListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningIndividualListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningIndividualListRequest watchlistProgramId(String watchlistProgramId) { + + this.watchlistProgramId = watchlistProgramId; + return this; + } + + /** + * ID of the associated program. + * @return watchlistProgramId + **/ + @ApiModelProperty(example = "prg_2eRPsDnL66rZ7H", required = true, value = "ID of the associated program.") + + public String getWatchlistProgramId() { + return watchlistProgramId; + } + + + public void setWatchlistProgramId(String watchlistProgramId) { + this.watchlistProgramId = watchlistProgramId; + } + + + public WatchlistScreeningIndividualListRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public WatchlistScreeningIndividualListRequest status(WatchlistScreeningStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WatchlistScreeningStatus getStatus() { + return status; + } + + + public void setStatus(WatchlistScreeningStatus status) { + this.status = status; + } + + + public WatchlistScreeningIndividualListRequest assignee(String assignee) { + + this.assignee = assignee; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return assignee + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getAssignee() { + return assignee; + } + + + public void setAssignee(String assignee) { + this.assignee = assignee; + } + + + public WatchlistScreeningIndividualListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualListRequest watchlistScreeningIndividualListRequest = (WatchlistScreeningIndividualListRequest) o; + return Objects.equals(this.secret, watchlistScreeningIndividualListRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningIndividualListRequest.clientId) && + Objects.equals(this.watchlistProgramId, watchlistScreeningIndividualListRequest.watchlistProgramId) && + Objects.equals(this.clientUserId, watchlistScreeningIndividualListRequest.clientUserId) && + Objects.equals(this.status, watchlistScreeningIndividualListRequest.status) && + Objects.equals(this.assignee, watchlistScreeningIndividualListRequest.assignee) && + Objects.equals(this.cursor, watchlistScreeningIndividualListRequest.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(secret, clientId, watchlistProgramId, clientUserId, status, assignee, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualListRequest {\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" watchlistProgramId: ").append(toIndentedString(watchlistProgramId)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualListResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualListResponse.java new file mode 100644 index 0000000000..c3acd76880 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningIndividual; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Paginated list of individual watchlist screenings. + */ +@ApiModel(description = "Paginated list of individual watchlist screenings.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualListResponse { + public static final String SERIALIZED_NAME_WATCHLIST_SCREENINGS = "watchlist_screenings"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENINGS) + private List watchlistScreenings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningIndividualListResponse watchlistScreenings(List watchlistScreenings) { + + this.watchlistScreenings = watchlistScreenings; + return this; + } + + public WatchlistScreeningIndividualListResponse addWatchlistScreeningsItem(WatchlistScreeningIndividual watchlistScreeningsItem) { + this.watchlistScreenings.add(watchlistScreeningsItem); + return this; + } + + /** + * List of individual watchlist screenings + * @return watchlistScreenings + **/ + @ApiModelProperty(required = true, value = "List of individual watchlist screenings") + + public List getWatchlistScreenings() { + return watchlistScreenings; + } + + + public void setWatchlistScreenings(List watchlistScreenings) { + this.watchlistScreenings = watchlistScreenings; + } + + + public WatchlistScreeningIndividualListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public WatchlistScreeningIndividualListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualListResponse watchlistScreeningIndividualListResponse = (WatchlistScreeningIndividualListResponse) o; + return Objects.equals(this.watchlistScreenings, watchlistScreeningIndividualListResponse.watchlistScreenings) && + Objects.equals(this.nextCursor, watchlistScreeningIndividualListResponse.nextCursor) && + Objects.equals(this.requestId, watchlistScreeningIndividualListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(watchlistScreenings, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualListResponse {\n"); + sb.append(" watchlistScreenings: ").append(toIndentedString(watchlistScreenings)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualProgramGetRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualProgramGetRequest.java new file mode 100644 index 0000000000..75a9604f38 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualProgramGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for fetching an individual watchlist program + */ +@ApiModel(description = "Request input for fetching an individual watchlist program") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualProgramGetRequest { + public static final String SERIALIZED_NAME_WATCHLIST_PROGRAM_ID = "watchlist_program_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_PROGRAM_ID) + private String watchlistProgramId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + + public WatchlistScreeningIndividualProgramGetRequest watchlistProgramId(String watchlistProgramId) { + + this.watchlistProgramId = watchlistProgramId; + return this; + } + + /** + * ID of the associated program. + * @return watchlistProgramId + **/ + @ApiModelProperty(example = "prg_2eRPsDnL66rZ7H", required = true, value = "ID of the associated program.") + + public String getWatchlistProgramId() { + return watchlistProgramId; + } + + + public void setWatchlistProgramId(String watchlistProgramId) { + this.watchlistProgramId = watchlistProgramId; + } + + + public WatchlistScreeningIndividualProgramGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningIndividualProgramGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualProgramGetRequest watchlistScreeningIndividualProgramGetRequest = (WatchlistScreeningIndividualProgramGetRequest) o; + return Objects.equals(this.watchlistProgramId, watchlistScreeningIndividualProgramGetRequest.watchlistProgramId) && + Objects.equals(this.secret, watchlistScreeningIndividualProgramGetRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningIndividualProgramGetRequest.clientId); + } + + @Override + public int hashCode() { + return Objects.hash(watchlistProgramId, secret, clientId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualProgramGetRequest {\n"); + sb.append(" watchlistProgramId: ").append(toIndentedString(watchlistProgramId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualProgramGetResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualProgramGetResponse.java new file mode 100644 index 0000000000..0220a867d1 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualProgramGetResponse.java @@ -0,0 +1,333 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IndividualWatchlistCode; +import com.plaid.client.model.ProgramNameSensitivity; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +/** + * A program that configures the active lists, search parameters, and other behavior for initial and ongoing screening of individuals. + */ +@ApiModel(description = "A program that configures the active lists, search parameters, and other behavior for initial and ongoing screening of individuals.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualProgramGetResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private java.sql.Timestamp createdAt; + + public static final String SERIALIZED_NAME_IS_RESCANNING_ENABLED = "is_rescanning_enabled"; + @SerializedName(SERIALIZED_NAME_IS_RESCANNING_ENABLED) + private Boolean isRescanningEnabled; + + public static final String SERIALIZED_NAME_LISTS_ENABLED = "lists_enabled"; + @SerializedName(SERIALIZED_NAME_LISTS_ENABLED) + private Set listsEnabled = new LinkedHashSet<>(); + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NAME_SENSITIVITY = "name_sensitivity"; + @SerializedName(SERIALIZED_NAME_NAME_SENSITIVITY) + private ProgramNameSensitivity nameSensitivity; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_IS_ARCHIVED = "is_archived"; + @SerializedName(SERIALIZED_NAME_IS_ARCHIVED) + private Boolean isArchived; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningIndividualProgramGetResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated program. + * @return id + **/ + @ApiModelProperty(example = "prg_2eRPsDnL66rZ7H", required = true, value = "ID of the associated program.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WatchlistScreeningIndividualProgramGetResponse createdAt(java.sql.Timestamp createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + **/ + @ApiModelProperty(required = true, value = "") + + public java.sql.Timestamp getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(java.sql.Timestamp createdAt) { + this.createdAt = createdAt; + } + + + public WatchlistScreeningIndividualProgramGetResponse isRescanningEnabled(Boolean isRescanningEnabled) { + + this.isRescanningEnabled = isRescanningEnabled; + return this; + } + + /** + * Indicator specifying whether the program is enabled and will perform daily rescans. + * @return isRescanningEnabled + **/ + @ApiModelProperty(example = "true", required = true, value = "Indicator specifying whether the program is enabled and will perform daily rescans.") + + public Boolean getIsRescanningEnabled() { + return isRescanningEnabled; + } + + + public void setIsRescanningEnabled(Boolean isRescanningEnabled) { + this.isRescanningEnabled = isRescanningEnabled; + } + + + public WatchlistScreeningIndividualProgramGetResponse listsEnabled(Set listsEnabled) { + + this.listsEnabled = listsEnabled; + return this; + } + + public WatchlistScreeningIndividualProgramGetResponse addListsEnabledItem(IndividualWatchlistCode listsEnabledItem) { + this.listsEnabled.add(listsEnabledItem); + return this; + } + + /** + * Watchlists enabled for the associated program + * @return listsEnabled + **/ + @ApiModelProperty(example = "[\"US_SDN\"]", required = true, value = "Watchlists enabled for the associated program") + + public Set getListsEnabled() { + return listsEnabled; + } + + + public void setListsEnabled(Set listsEnabled) { + this.listsEnabled = listsEnabled; + } + + + public WatchlistScreeningIndividualProgramGetResponse name(String name) { + + this.name = name; + return this; + } + + /** + * A name for the program to define its purpose. For example, \"High Risk Individuals\", \"US Cardholders\", or \"Applicants\". + * @return name + **/ + @ApiModelProperty(example = "Sample Program", required = true, value = "A name for the program to define its purpose. For example, \"High Risk Individuals\", \"US Cardholders\", or \"Applicants\".") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public WatchlistScreeningIndividualProgramGetResponse nameSensitivity(ProgramNameSensitivity nameSensitivity) { + + this.nameSensitivity = nameSensitivity; + return this; + } + + /** + * Get nameSensitivity + * @return nameSensitivity + **/ + @ApiModelProperty(required = true, value = "") + + public ProgramNameSensitivity getNameSensitivity() { + return nameSensitivity; + } + + + public void setNameSensitivity(ProgramNameSensitivity nameSensitivity) { + this.nameSensitivity = nameSensitivity; + } + + + public WatchlistScreeningIndividualProgramGetResponse auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public WatchlistScreeningIndividualProgramGetResponse isArchived(Boolean isArchived) { + + this.isArchived = isArchived; + return this; + } + + /** + * Archived programs are read-only and cannot screen new customers nor participate in ongoing monitoring. + * @return isArchived + **/ + @ApiModelProperty(example = "false", required = true, value = "Archived programs are read-only and cannot screen new customers nor participate in ongoing monitoring.") + + public Boolean getIsArchived() { + return isArchived; + } + + + public void setIsArchived(Boolean isArchived) { + this.isArchived = isArchived; + } + + + public WatchlistScreeningIndividualProgramGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualProgramGetResponse watchlistScreeningIndividualProgramGetResponse = (WatchlistScreeningIndividualProgramGetResponse) o; + return Objects.equals(this.id, watchlistScreeningIndividualProgramGetResponse.id) && + Objects.equals(this.createdAt, watchlistScreeningIndividualProgramGetResponse.createdAt) && + Objects.equals(this.isRescanningEnabled, watchlistScreeningIndividualProgramGetResponse.isRescanningEnabled) && + Objects.equals(this.listsEnabled, watchlistScreeningIndividualProgramGetResponse.listsEnabled) && + Objects.equals(this.name, watchlistScreeningIndividualProgramGetResponse.name) && + Objects.equals(this.nameSensitivity, watchlistScreeningIndividualProgramGetResponse.nameSensitivity) && + Objects.equals(this.auditTrail, watchlistScreeningIndividualProgramGetResponse.auditTrail) && + Objects.equals(this.isArchived, watchlistScreeningIndividualProgramGetResponse.isArchived) && + Objects.equals(this.requestId, watchlistScreeningIndividualProgramGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdAt, isRescanningEnabled, listsEnabled, name, nameSensitivity, auditTrail, isArchived, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualProgramGetResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" isRescanningEnabled: ").append(toIndentedString(isRescanningEnabled)).append("\n"); + sb.append(" listsEnabled: ").append(toIndentedString(listsEnabled)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" nameSensitivity: ").append(toIndentedString(nameSensitivity)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" isArchived: ").append(toIndentedString(isArchived)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualProgramListRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualProgramListRequest.java new file mode 100644 index 0000000000..61cd1ac215 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualProgramListRequest.java @@ -0,0 +1,157 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing watchlist screening programs for individuals + */ +@ApiModel(description = "Request input for listing watchlist screening programs for individuals") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualProgramListRequest { + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public WatchlistScreeningIndividualProgramListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningIndividualProgramListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningIndividualProgramListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualProgramListRequest watchlistScreeningIndividualProgramListRequest = (WatchlistScreeningIndividualProgramListRequest) o; + return Objects.equals(this.secret, watchlistScreeningIndividualProgramListRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningIndividualProgramListRequest.clientId) && + Objects.equals(this.cursor, watchlistScreeningIndividualProgramListRequest.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(secret, clientId, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualProgramListRequest {\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualProgramListResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualProgramListResponse.java new file mode 100644 index 0000000000..f8727c1075 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualProgramListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IndividualWatchlistProgram; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Paginated list of individual watchlist screening programs + */ +@ApiModel(description = "Paginated list of individual watchlist screening programs") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualProgramListResponse { + public static final String SERIALIZED_NAME_WATCHLIST_PROGRAMS = "watchlist_programs"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_PROGRAMS) + private List watchlistPrograms = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningIndividualProgramListResponse watchlistPrograms(List watchlistPrograms) { + + this.watchlistPrograms = watchlistPrograms; + return this; + } + + public WatchlistScreeningIndividualProgramListResponse addWatchlistProgramsItem(IndividualWatchlistProgram watchlistProgramsItem) { + this.watchlistPrograms.add(watchlistProgramsItem); + return this; + } + + /** + * List of individual watchlist screening programs + * @return watchlistPrograms + **/ + @ApiModelProperty(required = true, value = "List of individual watchlist screening programs") + + public List getWatchlistPrograms() { + return watchlistPrograms; + } + + + public void setWatchlistPrograms(List watchlistPrograms) { + this.watchlistPrograms = watchlistPrograms; + } + + + public WatchlistScreeningIndividualProgramListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public WatchlistScreeningIndividualProgramListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualProgramListResponse watchlistScreeningIndividualProgramListResponse = (WatchlistScreeningIndividualProgramListResponse) o; + return Objects.equals(this.watchlistPrograms, watchlistScreeningIndividualProgramListResponse.watchlistPrograms) && + Objects.equals(this.nextCursor, watchlistScreeningIndividualProgramListResponse.nextCursor) && + Objects.equals(this.requestId, watchlistScreeningIndividualProgramListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(watchlistPrograms, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualProgramListResponse {\n"); + sb.append(" watchlistPrograms: ").append(toIndentedString(watchlistPrograms)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualReviewCreateRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualReviewCreateRequest.java new file mode 100644 index 0000000000..efc7a800b2 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualReviewCreateRequest.java @@ -0,0 +1,253 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Request input for creating a screening review + */ +@ApiModel(description = "Request input for creating a screening review") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualReviewCreateRequest { + public static final String SERIALIZED_NAME_CONFIRMED_HITS = "confirmed_hits"; + @SerializedName(SERIALIZED_NAME_CONFIRMED_HITS) + private List confirmedHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DISMISSED_HITS = "dismissed_hits"; + @SerializedName(SERIALIZED_NAME_DISMISSED_HITS) + private List dismissedHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_COMMENT = "comment"; + @SerializedName(SERIALIZED_NAME_COMMENT) + private String comment; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_WATCHLIST_SCREENING_ID = "watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENING_ID) + private String watchlistScreeningId; + + + public WatchlistScreeningIndividualReviewCreateRequest confirmedHits(List confirmedHits) { + + this.confirmedHits = confirmedHits; + return this; + } + + public WatchlistScreeningIndividualReviewCreateRequest addConfirmedHitsItem(String confirmedHitsItem) { + this.confirmedHits.add(confirmedHitsItem); + return this; + } + + /** + * Hits to mark as a true positive after thorough manual review. These hits will never recur or be updated once confirmed. In most cases, confirmed hits indicate that the customer should be rejected. + * @return confirmedHits + **/ + @ApiModelProperty(required = true, value = "Hits to mark as a true positive after thorough manual review. These hits will never recur or be updated once confirmed. In most cases, confirmed hits indicate that the customer should be rejected.") + + public List getConfirmedHits() { + return confirmedHits; + } + + + public void setConfirmedHits(List confirmedHits) { + this.confirmedHits = confirmedHits; + } + + + public WatchlistScreeningIndividualReviewCreateRequest dismissedHits(List dismissedHits) { + + this.dismissedHits = dismissedHits; + return this; + } + + public WatchlistScreeningIndividualReviewCreateRequest addDismissedHitsItem(String dismissedHitsItem) { + this.dismissedHits.add(dismissedHitsItem); + return this; + } + + /** + * Hits to mark as a false positive after thorough manual review. These hits will never recur or be updated once dismissed. + * @return dismissedHits + **/ + @ApiModelProperty(required = true, value = "Hits to mark as a false positive after thorough manual review. These hits will never recur or be updated once dismissed.") + + public List getDismissedHits() { + return dismissedHits; + } + + + public void setDismissedHits(List dismissedHits) { + this.dismissedHits = dismissedHits; + } + + + public WatchlistScreeningIndividualReviewCreateRequest comment(String comment) { + + this.comment = comment; + return this; + } + + /** + * A comment submitted by a team member as part of reviewing a watchlist screening. + * @return comment + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "These look like legitimate matches, rejecting the customer.", value = "A comment submitted by a team member as part of reviewing a watchlist screening.") + + public String getComment() { + return comment; + } + + + public void setComment(String comment) { + this.comment = comment; + } + + + public WatchlistScreeningIndividualReviewCreateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningIndividualReviewCreateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningIndividualReviewCreateRequest watchlistScreeningId(String watchlistScreeningId) { + + this.watchlistScreeningId = watchlistScreeningId; + return this; + } + + /** + * ID of the associated screening. + * @return watchlistScreeningId + **/ + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getWatchlistScreeningId() { + return watchlistScreeningId; + } + + + public void setWatchlistScreeningId(String watchlistScreeningId) { + this.watchlistScreeningId = watchlistScreeningId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualReviewCreateRequest watchlistScreeningIndividualReviewCreateRequest = (WatchlistScreeningIndividualReviewCreateRequest) o; + return Objects.equals(this.confirmedHits, watchlistScreeningIndividualReviewCreateRequest.confirmedHits) && + Objects.equals(this.dismissedHits, watchlistScreeningIndividualReviewCreateRequest.dismissedHits) && + Objects.equals(this.comment, watchlistScreeningIndividualReviewCreateRequest.comment) && + Objects.equals(this.clientId, watchlistScreeningIndividualReviewCreateRequest.clientId) && + Objects.equals(this.secret, watchlistScreeningIndividualReviewCreateRequest.secret) && + Objects.equals(this.watchlistScreeningId, watchlistScreeningIndividualReviewCreateRequest.watchlistScreeningId); + } + + @Override + public int hashCode() { + return Objects.hash(confirmedHits, dismissedHits, comment, clientId, secret, watchlistScreeningId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualReviewCreateRequest {\n"); + sb.append(" confirmedHits: ").append(toIndentedString(confirmedHits)).append("\n"); + sb.append(" dismissedHits: ").append(toIndentedString(dismissedHits)).append("\n"); + sb.append(" comment: ").append(toIndentedString(comment)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" watchlistScreeningId: ").append(toIndentedString(watchlistScreeningId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualReviewCreateResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualReviewCreateResponse.java new file mode 100644 index 0000000000..97e0c00fbd --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualReviewCreateResponse.java @@ -0,0 +1,252 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A review submitted by a team member for an individual watchlist screening. A review can be either a comment on the current screening state, actions taken against hits attached to the watchlist screening, or both. + */ +@ApiModel(description = "A review submitted by a team member for an individual watchlist screening. A review can be either a comment on the current screening state, actions taken against hits attached to the watchlist screening, or both.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualReviewCreateResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CONFIRMED_HITS = "confirmed_hits"; + @SerializedName(SERIALIZED_NAME_CONFIRMED_HITS) + private List confirmedHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DISMISSED_HITS = "dismissed_hits"; + @SerializedName(SERIALIZED_NAME_DISMISSED_HITS) + private List dismissedHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_COMMENT = "comment"; + @SerializedName(SERIALIZED_NAME_COMMENT) + private String comment; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningIndividualReviewCreateResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated review. + * @return id + **/ + @ApiModelProperty(example = "rev_aCLNRxK3UVzn2r", required = true, value = "ID of the associated review.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WatchlistScreeningIndividualReviewCreateResponse confirmedHits(List confirmedHits) { + + this.confirmedHits = confirmedHits; + return this; + } + + public WatchlistScreeningIndividualReviewCreateResponse addConfirmedHitsItem(String confirmedHitsItem) { + this.confirmedHits.add(confirmedHitsItem); + return this; + } + + /** + * Hits marked as a true positive after thorough manual review. These hits will never recur or be updated once confirmed. In most cases, confirmed hits indicate that the customer should be rejected. + * @return confirmedHits + **/ + @ApiModelProperty(required = true, value = "Hits marked as a true positive after thorough manual review. These hits will never recur or be updated once confirmed. In most cases, confirmed hits indicate that the customer should be rejected.") + + public List getConfirmedHits() { + return confirmedHits; + } + + + public void setConfirmedHits(List confirmedHits) { + this.confirmedHits = confirmedHits; + } + + + public WatchlistScreeningIndividualReviewCreateResponse dismissedHits(List dismissedHits) { + + this.dismissedHits = dismissedHits; + return this; + } + + public WatchlistScreeningIndividualReviewCreateResponse addDismissedHitsItem(String dismissedHitsItem) { + this.dismissedHits.add(dismissedHitsItem); + return this; + } + + /** + * Hits marked as a false positive after thorough manual review. These hits will never recur or be updated once dismissed. + * @return dismissedHits + **/ + @ApiModelProperty(required = true, value = "Hits marked as a false positive after thorough manual review. These hits will never recur or be updated once dismissed.") + + public List getDismissedHits() { + return dismissedHits; + } + + + public void setDismissedHits(List dismissedHits) { + this.dismissedHits = dismissedHits; + } + + + public WatchlistScreeningIndividualReviewCreateResponse comment(String comment) { + + this.comment = comment; + return this; + } + + /** + * A comment submitted by a team member as part of reviewing a watchlist screening. + * @return comment + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "These look like legitimate matches, rejecting the customer.", required = true, value = "A comment submitted by a team member as part of reviewing a watchlist screening.") + + public String getComment() { + return comment; + } + + + public void setComment(String comment) { + this.comment = comment; + } + + + public WatchlistScreeningIndividualReviewCreateResponse auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public WatchlistScreeningIndividualReviewCreateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualReviewCreateResponse watchlistScreeningIndividualReviewCreateResponse = (WatchlistScreeningIndividualReviewCreateResponse) o; + return Objects.equals(this.id, watchlistScreeningIndividualReviewCreateResponse.id) && + Objects.equals(this.confirmedHits, watchlistScreeningIndividualReviewCreateResponse.confirmedHits) && + Objects.equals(this.dismissedHits, watchlistScreeningIndividualReviewCreateResponse.dismissedHits) && + Objects.equals(this.comment, watchlistScreeningIndividualReviewCreateResponse.comment) && + Objects.equals(this.auditTrail, watchlistScreeningIndividualReviewCreateResponse.auditTrail) && + Objects.equals(this.requestId, watchlistScreeningIndividualReviewCreateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, confirmedHits, dismissedHits, comment, auditTrail, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualReviewCreateResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" confirmedHits: ").append(toIndentedString(confirmedHits)).append("\n"); + sb.append(" dismissedHits: ").append(toIndentedString(dismissedHits)).append("\n"); + sb.append(" comment: ").append(toIndentedString(comment)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualReviewListRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualReviewListRequest.java new file mode 100644 index 0000000000..8e49136160 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualReviewListRequest.java @@ -0,0 +1,185 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Request input for listing reviews for an individual watchlist screening + */ +@ApiModel(description = "Request input for listing reviews for an individual watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualReviewListRequest { + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_WATCHLIST_SCREENING_ID = "watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENING_ID) + private String watchlistScreeningId; + + public static final String SERIALIZED_NAME_CURSOR = "cursor"; + @SerializedName(SERIALIZED_NAME_CURSOR) + private String cursor; + + + public WatchlistScreeningIndividualReviewListRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningIndividualReviewListRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningIndividualReviewListRequest watchlistScreeningId(String watchlistScreeningId) { + + this.watchlistScreeningId = watchlistScreeningId; + return this; + } + + /** + * ID of the associated screening. + * @return watchlistScreeningId + **/ + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getWatchlistScreeningId() { + return watchlistScreeningId; + } + + + public void setWatchlistScreeningId(String watchlistScreeningId) { + this.watchlistScreeningId = watchlistScreeningId; + } + + + public WatchlistScreeningIndividualReviewListRequest cursor(String cursor) { + + this.cursor = cursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return cursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", value = "An identifier that determines which page of results you receive.") + + public String getCursor() { + return cursor; + } + + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualReviewListRequest watchlistScreeningIndividualReviewListRequest = (WatchlistScreeningIndividualReviewListRequest) o; + return Objects.equals(this.secret, watchlistScreeningIndividualReviewListRequest.secret) && + Objects.equals(this.clientId, watchlistScreeningIndividualReviewListRequest.clientId) && + Objects.equals(this.watchlistScreeningId, watchlistScreeningIndividualReviewListRequest.watchlistScreeningId) && + Objects.equals(this.cursor, watchlistScreeningIndividualReviewListRequest.cursor); + } + + @Override + public int hashCode() { + return Objects.hash(secret, clientId, watchlistScreeningId, cursor); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualReviewListRequest {\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" watchlistScreeningId: ").append(toIndentedString(watchlistScreeningId)).append("\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualReviewListResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualReviewListResponse.java new file mode 100644 index 0000000000..bb852b0dae --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualReviewListResponse.java @@ -0,0 +1,163 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningReview; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Paginated list of screening reviews + */ +@ApiModel(description = "Paginated list of screening reviews") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualReviewListResponse { + public static final String SERIALIZED_NAME_WATCHLIST_SCREENING_REVIEWS = "watchlist_screening_reviews"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENING_REVIEWS) + private List watchlistScreeningReviews = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; + @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) + private String nextCursor; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningIndividualReviewListResponse watchlistScreeningReviews(List watchlistScreeningReviews) { + + this.watchlistScreeningReviews = watchlistScreeningReviews; + return this; + } + + public WatchlistScreeningIndividualReviewListResponse addWatchlistScreeningReviewsItem(WatchlistScreeningReview watchlistScreeningReviewsItem) { + this.watchlistScreeningReviews.add(watchlistScreeningReviewsItem); + return this; + } + + /** + * List of screening reviews + * @return watchlistScreeningReviews + **/ + @ApiModelProperty(required = true, value = "List of screening reviews") + + public List getWatchlistScreeningReviews() { + return watchlistScreeningReviews; + } + + + public void setWatchlistScreeningReviews(List watchlistScreeningReviews) { + this.watchlistScreeningReviews = watchlistScreeningReviews; + } + + + public WatchlistScreeningIndividualReviewListResponse nextCursor(String nextCursor) { + + this.nextCursor = nextCursor; + return this; + } + + /** + * An identifier that determines which page of results you receive. + * @return nextCursor + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM", required = true, value = "An identifier that determines which page of results you receive.") + + public String getNextCursor() { + return nextCursor; + } + + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + + public WatchlistScreeningIndividualReviewListResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualReviewListResponse watchlistScreeningIndividualReviewListResponse = (WatchlistScreeningIndividualReviewListResponse) o; + return Objects.equals(this.watchlistScreeningReviews, watchlistScreeningIndividualReviewListResponse.watchlistScreeningReviews) && + Objects.equals(this.nextCursor, watchlistScreeningIndividualReviewListResponse.nextCursor) && + Objects.equals(this.requestId, watchlistScreeningIndividualReviewListResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(watchlistScreeningReviews, nextCursor, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualReviewListResponse {\n"); + sb.append(" watchlistScreeningReviews: ").append(toIndentedString(watchlistScreeningReviews)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualUpdateRequest.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualUpdateRequest.java new file mode 100644 index 0000000000..06f0035f46 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualUpdateRequest.java @@ -0,0 +1,314 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.UpdateIndividualScreeningRequestSearchTerms; +import com.plaid.client.model.WatchlistScreeningIndividualUpdateRequestResettableField; +import com.plaid.client.model.WatchlistScreeningStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Request input for editing an individual watchlist screening + */ +@ApiModel(description = "Request input for editing an individual watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualUpdateRequest { + public static final String SERIALIZED_NAME_WATCHLIST_SCREENING_ID = "watchlist_screening_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_SCREENING_ID) + private String watchlistScreeningId; + + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private UpdateIndividualScreeningRequestSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_ASSIGNEE = "assignee"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE) + private String assignee; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WatchlistScreeningStatus status; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_RESET_FIELDS = "reset_fields"; + @SerializedName(SERIALIZED_NAME_RESET_FIELDS) + private List resetFields = null; + + + public WatchlistScreeningIndividualUpdateRequest watchlistScreeningId(String watchlistScreeningId) { + + this.watchlistScreeningId = watchlistScreeningId; + return this; + } + + /** + * ID of the associated screening. + * @return watchlistScreeningId + **/ + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getWatchlistScreeningId() { + return watchlistScreeningId; + } + + + public void setWatchlistScreeningId(String watchlistScreeningId) { + this.watchlistScreeningId = watchlistScreeningId; + } + + + public WatchlistScreeningIndividualUpdateRequest searchTerms(UpdateIndividualScreeningRequestSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public UpdateIndividualScreeningRequestSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(UpdateIndividualScreeningRequestSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public WatchlistScreeningIndividualUpdateRequest assignee(String assignee) { + + this.assignee = assignee; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return assignee + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getAssignee() { + return assignee; + } + + + public void setAssignee(String assignee) { + this.assignee = assignee; + } + + + public WatchlistScreeningIndividualUpdateRequest status(WatchlistScreeningStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public WatchlistScreeningStatus getStatus() { + return status; + } + + + public void setStatus(WatchlistScreeningStatus status) { + this.status = status; + } + + + public WatchlistScreeningIndividualUpdateRequest clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public WatchlistScreeningIndividualUpdateRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WatchlistScreeningIndividualUpdateRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WatchlistScreeningIndividualUpdateRequest resetFields(List resetFields) { + + this.resetFields = resetFields; + return this; + } + + public WatchlistScreeningIndividualUpdateRequest addResetFieldsItem(WatchlistScreeningIndividualUpdateRequestResettableField resetFieldsItem) { + if (this.resetFields == null) { + this.resetFields = new ArrayList<>(); + } + this.resetFields.add(resetFieldsItem); + return this; + } + + /** + * A list of fields to reset back to null + * @return resetFields + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of fields to reset back to null") + + public List getResetFields() { + return resetFields; + } + + + public void setResetFields(List resetFields) { + this.resetFields = resetFields; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualUpdateRequest watchlistScreeningIndividualUpdateRequest = (WatchlistScreeningIndividualUpdateRequest) o; + return Objects.equals(this.watchlistScreeningId, watchlistScreeningIndividualUpdateRequest.watchlistScreeningId) && + Objects.equals(this.searchTerms, watchlistScreeningIndividualUpdateRequest.searchTerms) && + Objects.equals(this.assignee, watchlistScreeningIndividualUpdateRequest.assignee) && + Objects.equals(this.status, watchlistScreeningIndividualUpdateRequest.status) && + Objects.equals(this.clientUserId, watchlistScreeningIndividualUpdateRequest.clientUserId) && + Objects.equals(this.clientId, watchlistScreeningIndividualUpdateRequest.clientId) && + Objects.equals(this.secret, watchlistScreeningIndividualUpdateRequest.secret) && + Objects.equals(this.resetFields, watchlistScreeningIndividualUpdateRequest.resetFields); + } + + @Override + public int hashCode() { + return Objects.hash(watchlistScreeningId, searchTerms, assignee, status, clientUserId, clientId, secret, resetFields); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualUpdateRequest {\n"); + sb.append(" watchlistScreeningId: ").append(toIndentedString(watchlistScreeningId)).append("\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" resetFields: ").append(toIndentedString(resetFields)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualUpdateRequestResettableField.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualUpdateRequestResettableField.java new file mode 100644 index 0000000000..50636b40d7 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualUpdateRequestResettableField.java @@ -0,0 +1,77 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The name of a field that can be reset back to null + */ +@JsonAdapter(WatchlistScreeningIndividualUpdateRequestResettableField.Adapter.class) +public enum WatchlistScreeningIndividualUpdateRequestResettableField { + + ASSIGNEE("assignee"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WatchlistScreeningIndividualUpdateRequestResettableField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WatchlistScreeningIndividualUpdateRequestResettableField fromValue(String value) { + for (WatchlistScreeningIndividualUpdateRequestResettableField b : WatchlistScreeningIndividualUpdateRequestResettableField.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return WatchlistScreeningIndividualUpdateRequestResettableField.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WatchlistScreeningIndividualUpdateRequestResettableField enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WatchlistScreeningIndividualUpdateRequestResettableField read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WatchlistScreeningIndividualUpdateRequestResettableField.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualUpdateResponse.java b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualUpdateResponse.java new file mode 100644 index 0000000000..9a7ef88816 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningIndividualUpdateResponse.java @@ -0,0 +1,271 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import com.plaid.client.model.WatchlistScreeningSearchTerms; +import com.plaid.client.model.WatchlistScreeningStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * The screening object allows you to represent a customer in your system, update their profile, and search for them on various watchlists. Note: Rejected customers will not receive new hits, regardless of program configuration. + */ +@ApiModel(description = "The screening object allows you to represent a customer in your system, update their profile, and search for them on various watchlists. Note: Rejected customers will not receive new hits, regardless of program configuration.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningIndividualUpdateResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_SEARCH_TERMS = "search_terms"; + @SerializedName(SERIALIZED_NAME_SEARCH_TERMS) + private WatchlistScreeningSearchTerms searchTerms; + + public static final String SERIALIZED_NAME_ASSIGNEE = "assignee"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE) + private String assignee; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private WatchlistScreeningStatus status; + + public static final String SERIALIZED_NAME_CLIENT_USER_ID = "client_user_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_USER_ID) + private String clientUserId; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WatchlistScreeningIndividualUpdateResponse id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated screening. + * @return id + **/ + @ApiModelProperty(example = "scr_52xR9LKo77r1Np", required = true, value = "ID of the associated screening.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WatchlistScreeningIndividualUpdateResponse searchTerms(WatchlistScreeningSearchTerms searchTerms) { + + this.searchTerms = searchTerms; + return this; + } + + /** + * Get searchTerms + * @return searchTerms + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningSearchTerms getSearchTerms() { + return searchTerms; + } + + + public void setSearchTerms(WatchlistScreeningSearchTerms searchTerms) { + this.searchTerms = searchTerms; + } + + + public WatchlistScreeningIndividualUpdateResponse assignee(String assignee) { + + this.assignee = assignee; + return this; + } + + /** + * ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`. + * @return assignee + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "54350110fedcbaf01234ffee", required = true, value = "ID of the associated user. To retrieve the email address or other details of the person corresponding to this ID, use `/dashboard_user/get`.") + + public String getAssignee() { + return assignee; + } + + + public void setAssignee(String assignee) { + this.assignee = assignee; + } + + + public WatchlistScreeningIndividualUpdateResponse status(WatchlistScreeningStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningStatus getStatus() { + return status; + } + + + public void setStatus(WatchlistScreeningStatus status) { + this.status = status; + } + + + public WatchlistScreeningIndividualUpdateResponse clientUserId(String clientUserId) { + + this.clientUserId = clientUserId; + return this; + } + + /** + * A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. + * @return clientUserId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "your-db-id-3b24110", required = true, value = "A unique ID that identifies the end user in your system. Either a `user_id` or the `client_user_id` must be provided. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the `/link/token/create` `client_user_id` to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.") + + public String getClientUserId() { + return clientUserId; + } + + + public void setClientUserId(String clientUserId) { + this.clientUserId = clientUserId; + } + + + public WatchlistScreeningIndividualUpdateResponse auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + public WatchlistScreeningIndividualUpdateResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningIndividualUpdateResponse watchlistScreeningIndividualUpdateResponse = (WatchlistScreeningIndividualUpdateResponse) o; + return Objects.equals(this.id, watchlistScreeningIndividualUpdateResponse.id) && + Objects.equals(this.searchTerms, watchlistScreeningIndividualUpdateResponse.searchTerms) && + Objects.equals(this.assignee, watchlistScreeningIndividualUpdateResponse.assignee) && + Objects.equals(this.status, watchlistScreeningIndividualUpdateResponse.status) && + Objects.equals(this.clientUserId, watchlistScreeningIndividualUpdateResponse.clientUserId) && + Objects.equals(this.auditTrail, watchlistScreeningIndividualUpdateResponse.auditTrail) && + Objects.equals(this.requestId, watchlistScreeningIndividualUpdateResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(id, searchTerms, assignee, status, clientUserId, auditTrail, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningIndividualUpdateResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" searchTerms: ").append(toIndentedString(searchTerms)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" clientUserId: ").append(toIndentedString(clientUserId)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningRequestSearchTerms.java b/src/main/java/com/plaid/client/model/WatchlistScreeningRequestSearchTerms.java new file mode 100644 index 0000000000..a67c2f8db4 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningRequestSearchTerms.java @@ -0,0 +1,214 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Search inputs for creating a watchlist screening + */ +@ApiModel(description = "Search inputs for creating a watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningRequestSearchTerms { + public static final String SERIALIZED_NAME_WATCHLIST_PROGRAM_ID = "watchlist_program_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_PROGRAM_ID) + private String watchlistProgramId; + + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_DOCUMENT_NUMBER = "document_number"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_NUMBER) + private String documentNumber; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + + public WatchlistScreeningRequestSearchTerms watchlistProgramId(String watchlistProgramId) { + + this.watchlistProgramId = watchlistProgramId; + return this; + } + + /** + * ID of the associated program. + * @return watchlistProgramId + **/ + @ApiModelProperty(example = "prg_2eRPsDnL66rZ7H", required = true, value = "ID of the associated program.") + + public String getWatchlistProgramId() { + return watchlistProgramId; + } + + + public void setWatchlistProgramId(String watchlistProgramId) { + this.watchlistProgramId = watchlistProgramId; + } + + + public WatchlistScreeningRequestSearchTerms legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * The legal name of the individual being screened. Must have at least one alphabetical character, have a maximum length of 100 characters, and not include leading or trailing spaces. + * @return legalName + **/ + @ApiModelProperty(example = "Aleksey Potemkin", required = true, value = "The legal name of the individual being screened. Must have at least one alphabetical character, have a maximum length of 100 characters, and not include leading or trailing spaces.") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public WatchlistScreeningRequestSearchTerms dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public WatchlistScreeningRequestSearchTerms documentNumber(String documentNumber) { + + this.documentNumber = documentNumber; + return this; + } + + /** + * The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces. + * @return documentNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "C31195855", value = "The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces.") + + public String getDocumentNumber() { + return documentNumber; + } + + + public void setDocumentNumber(String documentNumber) { + this.documentNumber = documentNumber; + } + + + public WatchlistScreeningRequestSearchTerms country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "US", value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningRequestSearchTerms watchlistScreeningRequestSearchTerms = (WatchlistScreeningRequestSearchTerms) o; + return Objects.equals(this.watchlistProgramId, watchlistScreeningRequestSearchTerms.watchlistProgramId) && + Objects.equals(this.legalName, watchlistScreeningRequestSearchTerms.legalName) && + Objects.equals(this.dateOfBirth, watchlistScreeningRequestSearchTerms.dateOfBirth) && + Objects.equals(this.documentNumber, watchlistScreeningRequestSearchTerms.documentNumber) && + Objects.equals(this.country, watchlistScreeningRequestSearchTerms.country); + } + + @Override + public int hashCode() { + return Objects.hash(watchlistProgramId, legalName, dateOfBirth, documentNumber, country); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningRequestSearchTerms {\n"); + sb.append(" watchlistProgramId: ").append(toIndentedString(watchlistProgramId)).append("\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" documentNumber: ").append(toIndentedString(documentNumber)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningReview.java b/src/main/java/com/plaid/client/model/WatchlistScreeningReview.java new file mode 100644 index 0000000000..f7664c590f --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningReview.java @@ -0,0 +1,224 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.WatchlistScreeningAuditTrail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * A review submitted by a team member for an individual watchlist screening. A review can be either a comment on the current screening state, actions taken against hits attached to the watchlist screening, or both. + */ +@ApiModel(description = "A review submitted by a team member for an individual watchlist screening. A review can be either a comment on the current screening state, actions taken against hits attached to the watchlist screening, or both.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningReview { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_CONFIRMED_HITS = "confirmed_hits"; + @SerializedName(SERIALIZED_NAME_CONFIRMED_HITS) + private List confirmedHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DISMISSED_HITS = "dismissed_hits"; + @SerializedName(SERIALIZED_NAME_DISMISSED_HITS) + private List dismissedHits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_COMMENT = "comment"; + @SerializedName(SERIALIZED_NAME_COMMENT) + private String comment; + + public static final String SERIALIZED_NAME_AUDIT_TRAIL = "audit_trail"; + @SerializedName(SERIALIZED_NAME_AUDIT_TRAIL) + private WatchlistScreeningAuditTrail auditTrail; + + + public WatchlistScreeningReview id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the associated review. + * @return id + **/ + @ApiModelProperty(example = "rev_aCLNRxK3UVzn2r", required = true, value = "ID of the associated review.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public WatchlistScreeningReview confirmedHits(List confirmedHits) { + + this.confirmedHits = confirmedHits; + return this; + } + + public WatchlistScreeningReview addConfirmedHitsItem(String confirmedHitsItem) { + this.confirmedHits.add(confirmedHitsItem); + return this; + } + + /** + * Hits marked as a true positive after thorough manual review. These hits will never recur or be updated once confirmed. In most cases, confirmed hits indicate that the customer should be rejected. + * @return confirmedHits + **/ + @ApiModelProperty(required = true, value = "Hits marked as a true positive after thorough manual review. These hits will never recur or be updated once confirmed. In most cases, confirmed hits indicate that the customer should be rejected.") + + public List getConfirmedHits() { + return confirmedHits; + } + + + public void setConfirmedHits(List confirmedHits) { + this.confirmedHits = confirmedHits; + } + + + public WatchlistScreeningReview dismissedHits(List dismissedHits) { + + this.dismissedHits = dismissedHits; + return this; + } + + public WatchlistScreeningReview addDismissedHitsItem(String dismissedHitsItem) { + this.dismissedHits.add(dismissedHitsItem); + return this; + } + + /** + * Hits marked as a false positive after thorough manual review. These hits will never recur or be updated once dismissed. + * @return dismissedHits + **/ + @ApiModelProperty(required = true, value = "Hits marked as a false positive after thorough manual review. These hits will never recur or be updated once dismissed.") + + public List getDismissedHits() { + return dismissedHits; + } + + + public void setDismissedHits(List dismissedHits) { + this.dismissedHits = dismissedHits; + } + + + public WatchlistScreeningReview comment(String comment) { + + this.comment = comment; + return this; + } + + /** + * A comment submitted by a team member as part of reviewing a watchlist screening. + * @return comment + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "These look like legitimate matches, rejecting the customer.", required = true, value = "A comment submitted by a team member as part of reviewing a watchlist screening.") + + public String getComment() { + return comment; + } + + + public void setComment(String comment) { + this.comment = comment; + } + + + public WatchlistScreeningReview auditTrail(WatchlistScreeningAuditTrail auditTrail) { + + this.auditTrail = auditTrail; + return this; + } + + /** + * Get auditTrail + * @return auditTrail + **/ + @ApiModelProperty(required = true, value = "") + + public WatchlistScreeningAuditTrail getAuditTrail() { + return auditTrail; + } + + + public void setAuditTrail(WatchlistScreeningAuditTrail auditTrail) { + this.auditTrail = auditTrail; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningReview watchlistScreeningReview = (WatchlistScreeningReview) o; + return Objects.equals(this.id, watchlistScreeningReview.id) && + Objects.equals(this.confirmedHits, watchlistScreeningReview.confirmedHits) && + Objects.equals(this.dismissedHits, watchlistScreeningReview.dismissedHits) && + Objects.equals(this.comment, watchlistScreeningReview.comment) && + Objects.equals(this.auditTrail, watchlistScreeningReview.auditTrail); + } + + @Override + public int hashCode() { + return Objects.hash(id, confirmedHits, dismissedHits, comment, auditTrail); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningReview {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" confirmedHits: ").append(toIndentedString(confirmedHits)).append("\n"); + sb.append(" dismissedHits: ").append(toIndentedString(dismissedHits)).append("\n"); + sb.append(" comment: ").append(toIndentedString(comment)).append("\n"); + sb.append(" auditTrail: ").append(toIndentedString(auditTrail)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningSearchTerms.java b/src/main/java/com/plaid/client/model/WatchlistScreeningSearchTerms.java new file mode 100644 index 0000000000..f218718a69 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningSearchTerms.java @@ -0,0 +1,242 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.LocalDate; + +/** + * Search terms for creating an individual watchlist screening + */ +@ApiModel(description = "Search terms for creating an individual watchlist screening") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WatchlistScreeningSearchTerms { + public static final String SERIALIZED_NAME_WATCHLIST_PROGRAM_ID = "watchlist_program_id"; + @SerializedName(SERIALIZED_NAME_WATCHLIST_PROGRAM_ID) + private String watchlistProgramId; + + public static final String SERIALIZED_NAME_LEGAL_NAME = "legal_name"; + @SerializedName(SERIALIZED_NAME_LEGAL_NAME) + private String legalName; + + public static final String SERIALIZED_NAME_DATE_OF_BIRTH = "date_of_birth"; + @SerializedName(SERIALIZED_NAME_DATE_OF_BIRTH) + private LocalDate dateOfBirth; + + public static final String SERIALIZED_NAME_DOCUMENT_NUMBER = "document_number"; + @SerializedName(SERIALIZED_NAME_DOCUMENT_NUMBER) + private String documentNumber; + + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + private String country; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private Integer version; + + + public WatchlistScreeningSearchTerms watchlistProgramId(String watchlistProgramId) { + + this.watchlistProgramId = watchlistProgramId; + return this; + } + + /** + * ID of the associated program. + * @return watchlistProgramId + **/ + @ApiModelProperty(example = "prg_2eRPsDnL66rZ7H", required = true, value = "ID of the associated program.") + + public String getWatchlistProgramId() { + return watchlistProgramId; + } + + + public void setWatchlistProgramId(String watchlistProgramId) { + this.watchlistProgramId = watchlistProgramId; + } + + + public WatchlistScreeningSearchTerms legalName(String legalName) { + + this.legalName = legalName; + return this; + } + + /** + * The legal name of the individual being screened. Must have at least one alphabetical character, have a maximum length of 100 characters, and not include leading or trailing spaces. + * @return legalName + **/ + @ApiModelProperty(example = "Aleksey Potemkin", required = true, value = "The legal name of the individual being screened. Must have at least one alphabetical character, have a maximum length of 100 characters, and not include leading or trailing spaces.") + + public String getLegalName() { + return legalName; + } + + + public void setLegalName(String legalName) { + this.legalName = legalName; + } + + + public WatchlistScreeningSearchTerms dateOfBirth(LocalDate dateOfBirth) { + + this.dateOfBirth = dateOfBirth; + return this; + } + + /** + * A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). + * @return dateOfBirth + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Tue May 29 00:00:00 UTC 1990", required = true, value = "A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).") + + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + + + public void setDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + + public WatchlistScreeningSearchTerms documentNumber(String documentNumber) { + + this.documentNumber = documentNumber; + return this; + } + + /** + * The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces. + * @return documentNumber + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "C31195855", required = true, value = "The numeric or alphanumeric identifier associated with this document. Must be between 4 and 32 characters long, and cannot have leading or trailing spaces.") + + public String getDocumentNumber() { + return documentNumber; + } + + + public void setDocumentNumber(String documentNumber) { + this.documentNumber = documentNumber; + } + + + public WatchlistScreeningSearchTerms country(String country) { + + this.country = country; + return this; + } + + /** + * Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. + * @return country + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "US", required = true, value = "Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.") + + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } + + + public WatchlistScreeningSearchTerms version(Integer version) { + + this.version = version; + return this; + } + + /** + * The current version of the search terms. Starts at `1` and increments with each edit to `search_terms`. + * @return version + **/ + @ApiModelProperty(example = "1", required = true, value = "The current version of the search terms. Starts at `1` and increments with each edit to `search_terms`.") + + public Integer getVersion() { + return version; + } + + + public void setVersion(Integer version) { + this.version = version; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WatchlistScreeningSearchTerms watchlistScreeningSearchTerms = (WatchlistScreeningSearchTerms) o; + return Objects.equals(this.watchlistProgramId, watchlistScreeningSearchTerms.watchlistProgramId) && + Objects.equals(this.legalName, watchlistScreeningSearchTerms.legalName) && + Objects.equals(this.dateOfBirth, watchlistScreeningSearchTerms.dateOfBirth) && + Objects.equals(this.documentNumber, watchlistScreeningSearchTerms.documentNumber) && + Objects.equals(this.country, watchlistScreeningSearchTerms.country) && + Objects.equals(this.version, watchlistScreeningSearchTerms.version); + } + + @Override + public int hashCode() { + return Objects.hash(watchlistProgramId, legalName, dateOfBirth, documentNumber, country, version); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WatchlistScreeningSearchTerms {\n"); + sb.append(" watchlistProgramId: ").append(toIndentedString(watchlistProgramId)).append("\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n"); + sb.append(" documentNumber: ").append(toIndentedString(documentNumber)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WatchlistScreeningStatus.java b/src/main/java/com/plaid/client/model/WatchlistScreeningStatus.java new file mode 100644 index 0000000000..173584bc3a --- /dev/null +++ b/src/main/java/com/plaid/client/model/WatchlistScreeningStatus.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * A status enum indicating whether a screening is still pending review, has been rejected, or has been cleared. + */ +@JsonAdapter(WatchlistScreeningStatus.Adapter.class) +public enum WatchlistScreeningStatus { + + REJECTED("rejected"), + + PENDING_REVIEW("pending_review"), + + CLEARED("cleared"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WatchlistScreeningStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WatchlistScreeningStatus fromValue(String value) { + for (WatchlistScreeningStatus b : WatchlistScreeningStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return WatchlistScreeningStatus.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WatchlistScreeningStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WatchlistScreeningStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WatchlistScreeningStatus.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WeakAliasDetermination.java b/src/main/java/com/plaid/client/model/WeakAliasDetermination.java new file mode 100644 index 0000000000..4a8e34032f --- /dev/null +++ b/src/main/java/com/plaid/client/model/WeakAliasDetermination.java @@ -0,0 +1,81 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Names that are explicitly marked as low quality either by their `source` list, or by `plaid` by a series of additional checks done by Plaid. Plaid does not ever surface a hit as a result of a weak name alone. If a name has no quality issues, this value will be `none`. + */ +@JsonAdapter(WeakAliasDetermination.Adapter.class) +public enum WeakAliasDetermination { + + NONE("none"), + + SOURCE("source"), + + PLAID("plaid"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WeakAliasDetermination(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WeakAliasDetermination fromValue(String value) { + for (WeakAliasDetermination b : WeakAliasDetermination.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return WeakAliasDetermination.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WeakAliasDetermination enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WeakAliasDetermination read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WeakAliasDetermination.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WebhookEnvironmentValues.java b/src/main/java/com/plaid/client/model/WebhookEnvironmentValues.java new file mode 100644 index 0000000000..5ab9ba02ed --- /dev/null +++ b/src/main/java/com/plaid/client/model/WebhookEnvironmentValues.java @@ -0,0 +1,79 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The Plaid environment the webhook was sent from + */ +@JsonAdapter(WebhookEnvironmentValues.Adapter.class) +public enum WebhookEnvironmentValues { + + SANDBOX("sandbox"), + + PRODUCTION("production"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WebhookEnvironmentValues(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WebhookEnvironmentValues fromValue(String value) { + for (WebhookEnvironmentValues b : WebhookEnvironmentValues.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return WebhookEnvironmentValues.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WebhookEnvironmentValues enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WebhookEnvironmentValues read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WebhookEnvironmentValues.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WebhookType.java b/src/main/java/com/plaid/client/model/WebhookType.java new file mode 100644 index 0000000000..bed738e20a --- /dev/null +++ b/src/main/java/com/plaid/client/model/WebhookType.java @@ -0,0 +1,89 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The webhook types that can be fired by this test endpoint. + */ +@JsonAdapter(WebhookType.Adapter.class) +public enum WebhookType { + + AUTH("AUTH"), + + HOLDINGS("HOLDINGS"), + + INVESTMENTS_TRANSACTIONS("INVESTMENTS_TRANSACTIONS"), + + ITEM("ITEM"), + + LIABILITIES("LIABILITIES"), + + TRANSACTIONS("TRANSACTIONS"), + + ASSETS("ASSETS"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + WebhookType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WebhookType fromValue(String value) { + for (WebhookType b : WebhookType.values()) { + if (b.value.equals(value)) { + return b; + } + } + + return WebhookType.ENUM_UNKNOWN; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final WebhookType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WebhookType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WebhookType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/model/WebhookUpdateAcknowledgedWebhook.java b/src/main/java/com/plaid/client/model/WebhookUpdateAcknowledgedWebhook.java new file mode 100644 index 0000000000..60b6033ffd --- /dev/null +++ b/src/main/java/com/plaid/client/model/WebhookUpdateAcknowledgedWebhook.java @@ -0,0 +1,241 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WebhookEnvironmentValues; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Fired when an Item's webhook is updated. This will be sent to the newly specified webhook. + */ +@ApiModel(description = "Fired when an Item's webhook is updated. This will be sent to the newly specified webhook.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WebhookUpdateAcknowledgedWebhook { + public static final String SERIALIZED_NAME_WEBHOOK_TYPE = "webhook_type"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_TYPE) + private String webhookType; + + public static final String SERIALIZED_NAME_WEBHOOK_CODE = "webhook_code"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_CODE) + private String webhookCode; + + public static final String SERIALIZED_NAME_ITEM_ID = "item_id"; + @SerializedName(SERIALIZED_NAME_ITEM_ID) + private String itemId; + + public static final String SERIALIZED_NAME_NEW_WEBHOOK_URL = "new_webhook_url"; + @SerializedName(SERIALIZED_NAME_NEW_WEBHOOK_URL) + private String newWebhookUrl; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + private PlaidError error; + + public static final String SERIALIZED_NAME_ENVIRONMENT = "environment"; + @SerializedName(SERIALIZED_NAME_ENVIRONMENT) + private WebhookEnvironmentValues environment; + + + public WebhookUpdateAcknowledgedWebhook webhookType(String webhookType) { + + this.webhookType = webhookType; + return this; + } + + /** + * `ITEM` + * @return webhookType + **/ + @ApiModelProperty(required = true, value = "`ITEM`") + + public String getWebhookType() { + return webhookType; + } + + + public void setWebhookType(String webhookType) { + this.webhookType = webhookType; + } + + + public WebhookUpdateAcknowledgedWebhook webhookCode(String webhookCode) { + + this.webhookCode = webhookCode; + return this; + } + + /** + * `WEBHOOK_UPDATE_ACKNOWLEDGED` + * @return webhookCode + **/ + @ApiModelProperty(required = true, value = "`WEBHOOK_UPDATE_ACKNOWLEDGED`") + + public String getWebhookCode() { + return webhookCode; + } + + + public void setWebhookCode(String webhookCode) { + this.webhookCode = webhookCode; + } + + + public WebhookUpdateAcknowledgedWebhook itemId(String itemId) { + + this.itemId = itemId; + return this; + } + + /** + * The `item_id` of the Item associated with this webhook, warning, or error + * @return itemId + **/ + @ApiModelProperty(required = true, value = "The `item_id` of the Item associated with this webhook, warning, or error") + + public String getItemId() { + return itemId; + } + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + + public WebhookUpdateAcknowledgedWebhook newWebhookUrl(String newWebhookUrl) { + + this.newWebhookUrl = newWebhookUrl; + return this; + } + + /** + * The new webhook URL + * @return newWebhookUrl + **/ + @ApiModelProperty(required = true, value = "The new webhook URL") + + public String getNewWebhookUrl() { + return newWebhookUrl; + } + + + public void setNewWebhookUrl(String newWebhookUrl) { + this.newWebhookUrl = newWebhookUrl; + } + + + public WebhookUpdateAcknowledgedWebhook error(PlaidError error) { + + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public PlaidError getError() { + return error; + } + + + public void setError(PlaidError error) { + this.error = error; + } + + + public WebhookUpdateAcknowledgedWebhook environment(WebhookEnvironmentValues environment) { + + this.environment = environment; + return this; + } + + /** + * Get environment + * @return environment + **/ + @ApiModelProperty(required = true, value = "") + + public WebhookEnvironmentValues getEnvironment() { + return environment; + } + + + public void setEnvironment(WebhookEnvironmentValues environment) { + this.environment = environment; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WebhookUpdateAcknowledgedWebhook webhookUpdateAcknowledgedWebhook = (WebhookUpdateAcknowledgedWebhook) o; + return Objects.equals(this.webhookType, webhookUpdateAcknowledgedWebhook.webhookType) && + Objects.equals(this.webhookCode, webhookUpdateAcknowledgedWebhook.webhookCode) && + Objects.equals(this.itemId, webhookUpdateAcknowledgedWebhook.itemId) && + Objects.equals(this.newWebhookUrl, webhookUpdateAcknowledgedWebhook.newWebhookUrl) && + Objects.equals(this.error, webhookUpdateAcknowledgedWebhook.error) && + Objects.equals(this.environment, webhookUpdateAcknowledgedWebhook.environment); + } + + @Override + public int hashCode() { + return Objects.hash(webhookType, webhookCode, itemId, newWebhookUrl, error, environment); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WebhookUpdateAcknowledgedWebhook {\n"); + sb.append(" webhookType: ").append(toIndentedString(webhookType)).append("\n"); + sb.append(" webhookCode: ").append(toIndentedString(webhookCode)).append("\n"); + sb.append(" itemId: ").append(toIndentedString(itemId)).append("\n"); + sb.append(" newWebhookUrl: ").append(toIndentedString(newWebhookUrl)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" environment: ").append(toIndentedString(environment)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WebhookVerificationKeyGetRequest.java b/src/main/java/com/plaid/client/model/WebhookVerificationKeyGetRequest.java new file mode 100644 index 0000000000..4f3205eec0 --- /dev/null +++ b/src/main/java/com/plaid/client/model/WebhookVerificationKeyGetRequest.java @@ -0,0 +1,156 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WebhookVerificationKeyGetRequest defines the request schema for `/webhook_verification_key/get` + */ +@ApiModel(description = "WebhookVerificationKeyGetRequest defines the request schema for `/webhook_verification_key/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WebhookVerificationKeyGetRequest { + public static final String SERIALIZED_NAME_CLIENT_ID = "client_id"; + @SerializedName(SERIALIZED_NAME_CLIENT_ID) + private String clientId; + + public static final String SERIALIZED_NAME_SECRET = "secret"; + @SerializedName(SERIALIZED_NAME_SECRET) + private String secret; + + public static final String SERIALIZED_NAME_KEY_ID = "key_id"; + @SerializedName(SERIALIZED_NAME_KEY_ID) + private String keyId; + + + public WebhookVerificationKeyGetRequest clientId(String clientId) { + + this.clientId = clientId; + return this; + } + + /** + * Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body. + * @return clientId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.") + + public String getClientId() { + return clientId; + } + + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + + public WebhookVerificationKeyGetRequest secret(String secret) { + + this.secret = secret; + return this; + } + + /** + * Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body. + * @return secret + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.") + + public String getSecret() { + return secret; + } + + + public void setSecret(String secret) { + this.secret = secret; + } + + + public WebhookVerificationKeyGetRequest keyId(String keyId) { + + this.keyId = keyId; + return this; + } + + /** + * The key ID ( `kid` ) from the JWT header. + * @return keyId + **/ + @ApiModelProperty(required = true, value = "The key ID ( `kid` ) from the JWT header.") + + public String getKeyId() { + return keyId; + } + + + public void setKeyId(String keyId) { + this.keyId = keyId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WebhookVerificationKeyGetRequest webhookVerificationKeyGetRequest = (WebhookVerificationKeyGetRequest) o; + return Objects.equals(this.clientId, webhookVerificationKeyGetRequest.clientId) && + Objects.equals(this.secret, webhookVerificationKeyGetRequest.secret) && + Objects.equals(this.keyId, webhookVerificationKeyGetRequest.keyId); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, secret, keyId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WebhookVerificationKeyGetRequest {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" keyId: ").append(toIndentedString(keyId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/WebhookVerificationKeyGetResponse.java b/src/main/java/com/plaid/client/model/WebhookVerificationKeyGetResponse.java new file mode 100644 index 0000000000..3857931a0e --- /dev/null +++ b/src/main/java/com/plaid/client/model/WebhookVerificationKeyGetResponse.java @@ -0,0 +1,127 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.JWKPublicKey; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WebhookVerificationKeyGetResponse defines the response schema for `/webhook_verification_key/get` + */ +@ApiModel(description = "WebhookVerificationKeyGetResponse defines the response schema for `/webhook_verification_key/get`") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class WebhookVerificationKeyGetResponse { + public static final String SERIALIZED_NAME_KEY = "key"; + @SerializedName(SERIALIZED_NAME_KEY) + private JWKPublicKey key; + + public static final String SERIALIZED_NAME_REQUEST_ID = "request_id"; + @SerializedName(SERIALIZED_NAME_REQUEST_ID) + private String requestId; + + + public WebhookVerificationKeyGetResponse key(JWKPublicKey key) { + + this.key = key; + return this; + } + + /** + * Get key + * @return key + **/ + @ApiModelProperty(required = true, value = "") + + public JWKPublicKey getKey() { + return key; + } + + + public void setKey(JWKPublicKey key) { + this.key = key; + } + + + public WebhookVerificationKeyGetResponse requestId(String requestId) { + + this.requestId = requestId; + return this; + } + + /** + * A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. + * @return requestId + **/ + @ApiModelProperty(required = true, value = "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.") + + public String getRequestId() { + return requestId; + } + + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WebhookVerificationKeyGetResponse webhookVerificationKeyGetResponse = (WebhookVerificationKeyGetResponse) o; + return Objects.equals(this.key, webhookVerificationKeyGetResponse.key) && + Objects.equals(this.requestId, webhookVerificationKeyGetResponse.requestId); + } + + @Override + public int hashCode() { + return Objects.hash(key, requestId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WebhookVerificationKeyGetResponse {\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/YTDGrossIncomeSummaryFieldNumber.java b/src/main/java/com/plaid/client/model/YTDGrossIncomeSummaryFieldNumber.java new file mode 100644 index 0000000000..0f719dc822 --- /dev/null +++ b/src/main/java/com/plaid/client/model/YTDGrossIncomeSummaryFieldNumber.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeSummaryFieldNumber; +import com.plaid.client.model.VerificationStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Year-to-date pre-tax earnings, as reported on the paystub. + */ +@ApiModel(description = "Year-to-date pre-tax earnings, as reported on the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class YTDGrossIncomeSummaryFieldNumber { + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Double value; + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatus verificationStatus; + + + public YTDGrossIncomeSummaryFieldNumber value(Double value) { + + this.value = value; + return this; + } + + /** + * The value of the field. + * @return value + **/ + @ApiModelProperty(required = true, value = "The value of the field.") + + public Double getValue() { + return value; + } + + + public void setValue(Double value) { + this.value = value; + } + + + public YTDGrossIncomeSummaryFieldNumber verificationStatus(VerificationStatus verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Get verificationStatus + * @return verificationStatus + **/ + @ApiModelProperty(required = true, value = "") + + public VerificationStatus getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatus verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + YTDGrossIncomeSummaryFieldNumber ytDGrossIncomeSummaryFieldNumber = (YTDGrossIncomeSummaryFieldNumber) o; + return Objects.equals(this.value, ytDGrossIncomeSummaryFieldNumber.value) && + Objects.equals(this.verificationStatus, ytDGrossIncomeSummaryFieldNumber.verificationStatus); + } + + @Override + public int hashCode() { + return Objects.hash(value, verificationStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class YTDGrossIncomeSummaryFieldNumber {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/YTDNetIncomeSummaryFieldNumber.java b/src/main/java/com/plaid/client/model/YTDNetIncomeSummaryFieldNumber.java new file mode 100644 index 0000000000..b965b716e6 --- /dev/null +++ b/src/main/java/com/plaid/client/model/YTDNetIncomeSummaryFieldNumber.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.IncomeSummaryFieldNumber; +import com.plaid.client.model.VerificationStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Year-to-date earnings after any tax withholdings, benefit payments or deductions, as reported on the paystub. + */ +@ApiModel(description = "Year-to-date earnings after any tax withholdings, benefit payments or deductions, as reported on the paystub.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class YTDNetIncomeSummaryFieldNumber { + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private Double value; + + public static final String SERIALIZED_NAME_VERIFICATION_STATUS = "verification_status"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_STATUS) + private VerificationStatus verificationStatus; + + + public YTDNetIncomeSummaryFieldNumber value(Double value) { + + this.value = value; + return this; + } + + /** + * The value of the field. + * @return value + **/ + @ApiModelProperty(required = true, value = "The value of the field.") + + public Double getValue() { + return value; + } + + + public void setValue(Double value) { + this.value = value; + } + + + public YTDNetIncomeSummaryFieldNumber verificationStatus(VerificationStatus verificationStatus) { + + this.verificationStatus = verificationStatus; + return this; + } + + /** + * Get verificationStatus + * @return verificationStatus + **/ + @ApiModelProperty(required = true, value = "") + + public VerificationStatus getVerificationStatus() { + return verificationStatus; + } + + + public void setVerificationStatus(VerificationStatus verificationStatus) { + this.verificationStatus = verificationStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + YTDNetIncomeSummaryFieldNumber ytDNetIncomeSummaryFieldNumber = (YTDNetIncomeSummaryFieldNumber) o; + return Objects.equals(this.value, ytDNetIncomeSummaryFieldNumber.value) && + Objects.equals(this.verificationStatus, ytDNetIncomeSummaryFieldNumber.verificationStatus); + } + + @Override + public int hashCode() { + return Objects.hash(value, verificationStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class YTDNetIncomeSummaryFieldNumber {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/YieldRate.java b/src/main/java/com/plaid/client/model/YieldRate.java new file mode 100644 index 0000000000..51120be847 --- /dev/null +++ b/src/main/java/com/plaid/client/model/YieldRate.java @@ -0,0 +1,128 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.plaid.client.model.YieldRateType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Details about a fixed income security's expected rate of return. + */ +@ApiModel(description = "Details about a fixed income security's expected rate of return.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-07-24T18:25:46.261550Z[Etc/UTC]") +public class YieldRate { + public static final String SERIALIZED_NAME_PERCENTAGE = "percentage"; + @SerializedName(SERIALIZED_NAME_PERCENTAGE) + private Double percentage; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private YieldRateType type; + + + public YieldRate percentage(Double percentage) { + + this.percentage = percentage; + return this; + } + + /** + * The fixed income security's expected rate of return. + * @return percentage + **/ + @ApiModelProperty(required = true, value = "The fixed income security's expected rate of return.") + + public Double getPercentage() { + return percentage; + } + + + public void setPercentage(Double percentage) { + this.percentage = percentage; + } + + + public YieldRate type(YieldRateType type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(required = true, value = "") + + public YieldRateType getType() { + return type; + } + + + public void setType(YieldRateType type) { + this.type = type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + YieldRate yieldRate = (YieldRate) o; + return Objects.equals(this.percentage, yieldRate.percentage) && + Objects.equals(this.type, yieldRate.type); + } + + @Override + public int hashCode() { + return Objects.hash(percentage, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class YieldRate {\n"); + sb.append(" percentage: ").append(toIndentedString(percentage)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/plaid/client/model/YieldRateType.java b/src/main/java/com/plaid/client/model/YieldRateType.java new file mode 100644 index 0000000000..0dbda99c1f --- /dev/null +++ b/src/main/java/com/plaid/client/model/YieldRateType.java @@ -0,0 +1,83 @@ +/* + * The Plaid API + * The Plaid REST API. Please see https://plaid.com/docs/api for more details. + * + * The version of the OpenAPI document: 2020-09-14_1.708.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.plaid.client.model; + +import java.util.Objects; +import java.util.Arrays; +import io.swagger.annotations.ApiModel; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * The type of rate which indicates how the predicted yield was calculated. It is one of: `coupon`: the annualized interest rate for securities with a one-year term or longer, such as treasury notes and bonds. `coupon_equivalent`: the calculated equivalent for the annualized interest rate factoring in the discount rate and time to maturity, for shorter term, non-interest-bearing securities such as treasury bills. `discount`: the rate at which the present value or cost is discounted from the future value upon maturity, also known as the face value. `yield`: the total predicted rate of return factoring in both the discount rate and the coupon rate, applicable to securities such as exchange-traded bonds which can both be interest-bearing as well as sold at a discount off their face value. + */ +@JsonAdapter(YieldRateType.Adapter.class) +public enum YieldRateType { + + COUPON("coupon"), + + COUPON_EQUIVALENT("coupon_equivalent"), + + DISCOUNT("discount"), + + YIELD("yield"), + + NULL("null"), + + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private String value; + + YieldRateType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static YieldRateType fromValue(String value) { + for (YieldRateType b : YieldRateType.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final YieldRateType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public YieldRateType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return YieldRateType.fromValue(value); + } + } +} + diff --git a/src/main/java/com/plaid/client/request/AccountsBalanceGetRequest.java b/src/main/java/com/plaid/client/request/AccountsBalanceGetRequest.java deleted file mode 100644 index f796266fd0..0000000000 --- a/src/main/java/com/plaid/client/request/AccountsBalanceGetRequest.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -import java.util.ArrayList; -import java.util.List; - -import static com.plaid.client.internal.Util.notEmpty; - -/** - * Request for the /accounts/balance/get endpoint. - * - * @see https://plaid.com/docs/api - */ -public final class AccountsBalanceGetRequest extends BaseAccessTokenRequest { - private Options options; - - public AccountsBalanceGetRequest(String accessToken) { - super(accessToken); - } - - public AccountsBalanceGetRequest withAccountIds(List accountIds) { - notEmpty(accountIds, "accountIds"); - this.options = new Options(new ArrayList<>(accountIds)); - return this; - } - - private static class Options { - private List accountIds; - - private Options(List accountIds) { - this.accountIds = accountIds; - } - } -} diff --git a/src/main/java/com/plaid/client/request/AccountsGetRequest.java b/src/main/java/com/plaid/client/request/AccountsGetRequest.java deleted file mode 100644 index f05310c8a1..0000000000 --- a/src/main/java/com/plaid/client/request/AccountsGetRequest.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -import java.util.ArrayList; -import java.util.List; - -import static com.plaid.client.internal.Util.notEmpty; - -/** - * Request for the /accounts/get endpoint. - * - * @see https://plaid.com/docs/api - */ -public final class AccountsGetRequest extends BaseAccessTokenRequest { - private Options options; - - public AccountsGetRequest(String accessToken) { - super(accessToken); - } - - public AccountsGetRequest withAccountIds(List accountIds) { - notEmpty(accountIds, "accountIds"); - this.options = new Options(new ArrayList<>(accountIds)); - return this; - } - - private static class Options { - private List accountIds; - - private Options(List accountIds) { - this.accountIds = accountIds; - } - } -} diff --git a/src/main/java/com/plaid/client/request/AssetReportAuditCopyCreateRequest.java b/src/main/java/com/plaid/client/request/AssetReportAuditCopyCreateRequest.java deleted file mode 100644 index 0bd805b97a..0000000000 --- a/src/main/java/com/plaid/client/request/AssetReportAuditCopyCreateRequest.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseClientRequest; - -public final class AssetReportAuditCopyCreateRequest extends BaseClientRequest { - private String assetReportToken; - private String auditorId; - - public AssetReportAuditCopyCreateRequest(String assetReportToken, String auditorId) { - this.assetReportToken = assetReportToken; - this.auditorId = auditorId; - } -} diff --git a/src/main/java/com/plaid/client/request/AssetReportAuditCopyRemoveRequest.java b/src/main/java/com/plaid/client/request/AssetReportAuditCopyRemoveRequest.java deleted file mode 100644 index 33b4e65a40..0000000000 --- a/src/main/java/com/plaid/client/request/AssetReportAuditCopyRemoveRequest.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseClientRequest; - -public class AssetReportAuditCopyRemoveRequest extends BaseClientRequest { - private String auditCopyToken; - - public AssetReportAuditCopyRemoveRequest(String auditCopyToken) { - this.auditCopyToken = auditCopyToken; - } -} diff --git a/src/main/java/com/plaid/client/request/AssetReportCreateRequest.java b/src/main/java/com/plaid/client/request/AssetReportCreateRequest.java deleted file mode 100644 index 43cd8eaf6c..0000000000 --- a/src/main/java/com/plaid/client/request/AssetReportCreateRequest.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.internal.gson.Optional; -import com.plaid.client.request.common.BaseClientRequest; - - -import java.util.List; - -import static com.plaid.client.internal.Util.notNull; - -public final class AssetReportCreateRequest extends BaseClientRequest { - private List accessTokens; - private Integer daysRequested; - private Optional options = Optional.empty(); - - public AssetReportCreateRequest(List accessTokens, int daysRequested) { - this.accessTokens = accessTokens; - this.daysRequested = daysRequested; - } - - public AssetReportCreateRequest withWebhook(String webhook) { - notNull(webhook, "webhook"); - options = options.orElse(new Options()); - options.get().webhook = webhook; - return this; - } - - public AssetReportCreateRequest withClientReportId(String clientReportId) { - notNull(clientReportId, "clientReportId"); - options = options.orElse(new Options()); - options.get().clientReportId = clientReportId; - return this; - } - - public AssetReportCreateRequest withClientUserId(String clientUserId) { - notNull(clientUserId, "clientUserId"); - options = options.orElse(new Options()); - options.get().user = options.get().user.orElse(new Options.UserOptions()); - options.get().user.get().clientUserId = clientUserId; - return this; - } - - public AssetReportCreateRequest withFirstName(String firstName) { - notNull(firstName, "firstName"); - options = options.orElse(new Options()); - options.get().user = options.get().user.orElse(new Options.UserOptions()); - options.get().user.get().firstName = firstName; - return this; - } - - public AssetReportCreateRequest withMiddleName(String middleName) { - notNull(middleName, "middleName"); - options = options.orElse(new Options()); - options.get().user = options.get().user.orElse(new Options.UserOptions()); - options.get().user.get().middleName = middleName; - return this; - } - - public AssetReportCreateRequest withLastName(String lastName) { - notNull(lastName, "lastName"); - options = options.orElse(new Options()); - options.get().user = options.get().user.orElse(new Options.UserOptions()); - options.get().user.get().lastName = lastName; - return this; - } - - public AssetReportCreateRequest withSsn(String ssn) { - notNull(ssn, "ssn"); - options = options.orElse(new Options()); - options.get().user = options.get().user.orElse(new Options.UserOptions()); - options.get().user.get().ssn = ssn; - return this; - } - - public AssetReportCreateRequest withPhoneNumber(String phoneNumber) { - notNull(phoneNumber, "phoneNumber"); - options = options.orElse(new Options()); - options.get().user = options.get().user.orElse(new Options.UserOptions()); - options.get().user.get().phoneNumber = phoneNumber; - return this; - } - - public AssetReportCreateRequest withEmail(String email) { - notNull(email, "email"); - options = options.orElse(new Options()); - options.get().user = options.get().user.orElse(new Options.UserOptions()); - options.get().user.get().email = email; - return this; - } - - private static class Options { - private String webhook; - private String clientReportId; - private Optional user = Optional.empty(); - - private static class UserOptions { - private String clientUserId; - private String firstName; - private String middleName; - private String lastName; - private String ssn; - private String phoneNumber; - private String email; - } - } -} diff --git a/src/main/java/com/plaid/client/request/AssetReportGetRequest.java b/src/main/java/com/plaid/client/request/AssetReportGetRequest.java deleted file mode 100644 index d482064383..0000000000 --- a/src/main/java/com/plaid/client/request/AssetReportGetRequest.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseClientRequest; - -public final class AssetReportGetRequest extends BaseClientRequest { - private String assetReportToken; - - public AssetReportGetRequest(String assetReportToken) { - this.assetReportToken = assetReportToken; - } -} diff --git a/src/main/java/com/plaid/client/request/AssetReportPdfGetRequest.java b/src/main/java/com/plaid/client/request/AssetReportPdfGetRequest.java deleted file mode 100644 index c0f318ab19..0000000000 --- a/src/main/java/com/plaid/client/request/AssetReportPdfGetRequest.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseClientRequest; - -public final class AssetReportPdfGetRequest extends BaseClientRequest { - private String assetReportToken; - - public AssetReportPdfGetRequest(String assetReportToken) { - this.assetReportToken = assetReportToken; - } -} diff --git a/src/main/java/com/plaid/client/request/AssetReportRemoveRequest.java b/src/main/java/com/plaid/client/request/AssetReportRemoveRequest.java deleted file mode 100644 index b7ed8914f2..0000000000 --- a/src/main/java/com/plaid/client/request/AssetReportRemoveRequest.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseClientRequest; - -public final class AssetReportRemoveRequest extends BaseClientRequest { - private String assetReportToken; - - public AssetReportRemoveRequest(String assetReportToken) { - this.assetReportToken = assetReportToken; - } -} diff --git a/src/main/java/com/plaid/client/request/AuthGetRequest.java b/src/main/java/com/plaid/client/request/AuthGetRequest.java deleted file mode 100644 index ab046afaa5..0000000000 --- a/src/main/java/com/plaid/client/request/AuthGetRequest.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -import java.util.ArrayList; -import java.util.List; - -import static com.plaid.client.internal.Util.notEmpty; - -public final class AuthGetRequest extends BaseAccessTokenRequest { - private Options options; - - public AuthGetRequest(String accessToken) { - super(accessToken); - } - - public AuthGetRequest withAccountIds(List accountIds) { - this.options = new Options(accountIds); - return this; - } - - private static class Options { - private final List accountIds; - - private Options(List accountIds) { - notEmpty(accountIds, "accountIds"); - this.accountIds = new ArrayList<>(accountIds); - } - } -} diff --git a/src/main/java/com/plaid/client/request/CategoriesGetRequest.java b/src/main/java/com/plaid/client/request/CategoriesGetRequest.java deleted file mode 100644 index 9b929280f1..0000000000 --- a/src/main/java/com/plaid/client/request/CategoriesGetRequest.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.plaid.client.request; - -/** - * A request object for /categories/get . - * - * Mostly pointless. Just need to get gson to render an empty object. - */ -public final class CategoriesGetRequest { -} diff --git a/src/main/java/com/plaid/client/request/CreditDetailsGetRequest.java b/src/main/java/com/plaid/client/request/CreditDetailsGetRequest.java deleted file mode 100644 index 7595521f51..0000000000 --- a/src/main/java/com/plaid/client/request/CreditDetailsGetRequest.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -/** - * Request object for /credit_details/get. - */ -public final class CreditDetailsGetRequest extends BaseAccessTokenRequest { - public CreditDetailsGetRequest(String accessToken) { - super(accessToken); - } -} diff --git a/src/main/java/com/plaid/client/request/IdentityGetRequest.java b/src/main/java/com/plaid/client/request/IdentityGetRequest.java deleted file mode 100644 index c665b7fb8f..0000000000 --- a/src/main/java/com/plaid/client/request/IdentityGetRequest.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -/** - * Request for /identity/get endpoint. - */ -public final class IdentityGetRequest extends BaseAccessTokenRequest { - public IdentityGetRequest(String accessToken) { - super(accessToken); - } -} diff --git a/src/main/java/com/plaid/client/request/IncomeGetRequest.java b/src/main/java/com/plaid/client/request/IncomeGetRequest.java deleted file mode 100644 index af6f3ba18e..0000000000 --- a/src/main/java/com/plaid/client/request/IncomeGetRequest.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -/** - * Request for /income/get endpoint. - */ -public final class IncomeGetRequest extends BaseAccessTokenRequest { - public IncomeGetRequest(String accessToken) { - super(accessToken); - } -} diff --git a/src/main/java/com/plaid/client/request/InstitutionsGetByIdRequest.java b/src/main/java/com/plaid/client/request/InstitutionsGetByIdRequest.java deleted file mode 100644 index 680a940541..0000000000 --- a/src/main/java/com/plaid/client/request/InstitutionsGetByIdRequest.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BasePublicRequest; - -import static com.plaid.client.internal.Util.notNull; - -/** - * Request for the /institutions/get_by_id endpoint. - * - * @see https://plaid.com/docs/api - */ -public final class InstitutionsGetByIdRequest extends BasePublicRequest { - private String institutionId; - - public InstitutionsGetByIdRequest(String institutionId) { - notNull(institutionId, "institutionId"); - - this.institutionId = institutionId; - } -} diff --git a/src/main/java/com/plaid/client/request/InstitutionsGetRequest.java b/src/main/java/com/plaid/client/request/InstitutionsGetRequest.java deleted file mode 100644 index e2839ecc30..0000000000 --- a/src/main/java/com/plaid/client/request/InstitutionsGetRequest.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseClientRequest; - -import static com.plaid.client.internal.Util.isBetween; - -/** - * Request for the /institutions/get endpoint. - * - * @see https://plaid.com/docs/api - */ -public final class InstitutionsGetRequest extends BaseClientRequest { - private Integer count; - private Integer offset; - - public InstitutionsGetRequest(Integer count, Integer offset) { - isBetween(count, 1, 500, "count"); - isBetween(offset, 0, Integer.MAX_VALUE, "offset"); - - this.count = count; - this.offset = offset; - } -} diff --git a/src/main/java/com/plaid/client/request/InstitutionsSearchRequest.java b/src/main/java/com/plaid/client/request/InstitutionsSearchRequest.java deleted file mode 100644 index 9cab0163d5..0000000000 --- a/src/main/java/com/plaid/client/request/InstitutionsSearchRequest.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.internal.gson.RequiredField; -import com.plaid.client.request.common.BasePublicRequest; -import com.plaid.client.request.common.Product; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import static com.plaid.client.internal.Util.notEmpty; -import static com.plaid.client.internal.Util.notNull; - -/** - * Request for the /institutions/search endpoint. - * - * @see https://plaid.com/docs/api - */ -public final class InstitutionsSearchRequest extends BasePublicRequest { - private String query; - private RequiredField> products = RequiredField.empty(); - - - public InstitutionsSearchRequest(String query) { - notNull(query, "query"); - this.query = query; - } - - public InstitutionsSearchRequest withProducts(Product... products) { - notEmpty(products, "product"); - if (!this.products.isPresent()) { - this.products = RequiredField.of(new ArrayList()); - } - this.products.get().addAll(Arrays.asList(products)); - return this; - } - -} diff --git a/src/main/java/com/plaid/client/request/ItemAccessTokenInvalidateRequest.java b/src/main/java/com/plaid/client/request/ItemAccessTokenInvalidateRequest.java deleted file mode 100644 index 1766432d60..0000000000 --- a/src/main/java/com/plaid/client/request/ItemAccessTokenInvalidateRequest.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -/** - * Request object for /item/access_token/invalidate endpoint. - */ -public final class ItemAccessTokenInvalidateRequest extends BaseAccessTokenRequest { - public ItemAccessTokenInvalidateRequest(String accessToken) { - super(accessToken); - } -} diff --git a/src/main/java/com/plaid/client/request/ItemAccessTokenUpdateVersionRequest.java b/src/main/java/com/plaid/client/request/ItemAccessTokenUpdateVersionRequest.java deleted file mode 100644 index 7b08ba1eb8..0000000000 --- a/src/main/java/com/plaid/client/request/ItemAccessTokenUpdateVersionRequest.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseClientRequest; - -import static com.plaid.client.internal.Util.notNull; - -/** - * Request object for /item/access_token/update_version endpoint. - */ -public final class ItemAccessTokenUpdateVersionRequest extends BaseClientRequest { - private String accessTokenV1; - - public ItemAccessTokenUpdateVersionRequest(String accessTokenV1) { - notNull(accessTokenV1, "access_token_v1"); - this.accessTokenV1 = accessTokenV1; - } -} diff --git a/src/main/java/com/plaid/client/request/ItemApexProcessorTokenCreateRequest.java b/src/main/java/com/plaid/client/request/ItemApexProcessorTokenCreateRequest.java deleted file mode 100644 index 558cb8ed55..0000000000 --- a/src/main/java/com/plaid/client/request/ItemApexProcessorTokenCreateRequest.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -/** - * Request for /processor/apex/processor_token/create endpoint. - */ -public final class ItemApexProcessorTokenCreateRequest extends BaseAccessTokenRequest { - private String accountId; - - public ItemApexProcessorTokenCreateRequest(String accessToken, String accountId) { - super(accessToken); - this.accountId = accountId; - } -} diff --git a/src/main/java/com/plaid/client/request/ItemCreateRequest.java b/src/main/java/com/plaid/client/request/ItemCreateRequest.java deleted file mode 100644 index 63689be859..0000000000 --- a/src/main/java/com/plaid/client/request/ItemCreateRequest.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.plaid.client.request; - -import com.google.gson.annotations.JsonAdapter; -import com.plaid.client.internal.Util; -import com.plaid.client.internal.gson.DateOnlyTypeAdapterFactory; -import com.plaid.client.internal.gson.Optional; -import com.plaid.client.internal.gson.RequiredField; -import com.plaid.client.request.common.BaseClientRequest; -import com.plaid.client.request.common.Product; - -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static com.plaid.client.internal.Util.notEmpty; -import static com.plaid.client.internal.Util.notNull; - -/** - * Request for the /item/create endpoint. - * - * @see https://plaid.com/docs/api - */ -public final class ItemCreateRequest extends BaseClientRequest { - private RequiredField> credentials = RequiredField.empty(); - private String institutionId; - private List initialProducts; - private Optional options = Optional.empty(); - - public ItemCreateRequest(String institutionId, List initialProducts) { - notNull(institutionId, "institutionId"); - notEmpty(initialProducts, "initialProducts"); - - this.initialProducts = new ArrayList<>(initialProducts); - this.institutionId = institutionId; - } - - public ItemCreateRequest withCredentials(Map credentials) { - Util.notNull(credentials, "credentials"); - - this.credentials = RequiredField.of(new HashMap<>(credentials)); - return this; - } - - public ItemCreateRequest withCredentials(String name, String value) { - if (!this.credentials.isPresent()) { - this.credentials = RequiredField.of(new HashMap()); - } - this.credentials.get().put(name, value); - return this; - } - - public ItemCreateRequest withOptionWebhook(String webhook) { - notNull(webhook, "webhook"); - options = options.orElse(new Options()); - options.get().webhook = webhook; - return this; - } - - public ItemCreateRequest withOptionCredentialsToken(String credentialsToken) { - notNull(credentialsToken, "credentialsToken"); - options = options.orElse(new Options()); - options.get().credentialsToken = credentialsToken; - return this; - } - - public ItemCreateRequest withOptionStartDate(Date startDate) { - notNull(startDate, "startDate"); - options = options.orElse(new Options()); - options.get().transactions = options.get().transactions.orElse(new Options.TransactionOptions()); - options.get().transactions.get().startDate = new Date(startDate.getTime()); - return this; - } - - public ItemCreateRequest withOptionEndDate(Date endDate) { - notNull(endDate, "endDate"); - options = options.orElse(new Options()); - options.get().transactions = options.get().transactions.orElse(new Options.TransactionOptions()); - options.get().transactions.get().endDate = new Date(endDate.getTime()); - return this; - } - - public ItemCreateRequest withOptionAwaitResults(boolean awaitResults) { - options = options.orElse(new Options()); - options.get().transactions = options.get().transactions.orElse(new Options.TransactionOptions()); - options.get().transactions.get().awaitResults = awaitResults; - return this; - } - - private static class Options { - private Optional transactions = Optional.empty(); - private String webhook; - private String credentialsToken; - - private static class TransactionOptions { - @JsonAdapter(DateOnlyTypeAdapterFactory.class) private Date startDate; - @JsonAdapter(DateOnlyTypeAdapterFactory.class) private Date endDate; - private Boolean awaitResults; - } - } -} diff --git a/src/main/java/com/plaid/client/request/ItemCredentialsEncryptRequest.java b/src/main/java/com/plaid/client/request/ItemCredentialsEncryptRequest.java deleted file mode 100644 index ac522e805e..0000000000 --- a/src/main/java/com/plaid/client/request/ItemCredentialsEncryptRequest.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BasePublicRequest; - -import java.util.HashMap; -import java.util.Map; - -import static com.plaid.client.internal.Util.arrayToMap; -import static com.plaid.client.internal.Util.notEmpty; - -/** - * Request for the /item/credentials/encrypt endpoint. - * - * @see https://plaid.com/docs/api - */ -public final class ItemCredentialsEncryptRequest extends BasePublicRequest { - private Map credentials; - - public ItemCredentialsEncryptRequest(Map credentials) { - notEmpty(credentials, "credentials"); - this.credentials = new HashMap<>(credentials); - } - - /** - * Convenience constructor for credentials. Each 2 consecutive arguments are a (name,value) pair, - * so this method will only accept an even number of arguments. - *

- * For example: - * - * ItemCredentialsEncryptRequest("username", "alice", "password", "supersecret"); - * - *

- * More generally: - * - * ItemCredentialsEncryptRequest(name1, value1, name2, value2, ...); - * - * - * @param namesAndValues A series of credential names and corresponding values. - */ - public ItemCredentialsEncryptRequest(String... namesAndValues) { - this.credentials = arrayToMap(namesAndValues); - } -} diff --git a/src/main/java/com/plaid/client/request/ItemCredentialsUpdateRequest.java b/src/main/java/com/plaid/client/request/ItemCredentialsUpdateRequest.java deleted file mode 100644 index 69ac601bea..0000000000 --- a/src/main/java/com/plaid/client/request/ItemCredentialsUpdateRequest.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.internal.gson.RequiredField; -import com.plaid.client.request.common.BaseAccessTokenRequest; - -import java.util.HashMap; -import java.util.Map; - -import static com.plaid.client.internal.Util.arrayToMap; -import static com.plaid.client.internal.Util.notEmpty; -import static com.plaid.client.internal.Util.notNull; - - -/** - * Request for the /item/credentials/update endpoint. - * - * @see https://plaid.com/docs/api - */ -public final class ItemCredentialsUpdateRequest extends BaseAccessTokenRequest { - private RequiredField> credentials = RequiredField.empty(); - private Options options; - - public ItemCredentialsUpdateRequest(String accessToken) { - super(accessToken); - } - - public ItemCredentialsUpdateRequest withCredentials(Map credentials) { - notEmpty(credentials, "credentials"); - this.credentials = RequiredField.of(new HashMap<>(credentials)); - return this; - } - - /** - * @param credentials A list of credentials specified as: name1,value1,name2,value2,... - * @return this. to satisfy fluent pattern. - */ - public ItemCredentialsUpdateRequest withCredentials(String... credentials) { - this.credentials = RequiredField.of(arrayToMap(credentials)); - return this; - } - - public ItemCredentialsUpdateRequest withCredentialsToken(String credentialsToken) { - notNull(credentialsToken, "credentialsToken"); - - // just blow away options since this is the only one which can be set anyway - options = new Options(credentialsToken); - return this; - } - - private static class Options { - private String credentialsToken; - - private Options(String credentialsToken) { - this.credentialsToken = credentialsToken; - } - } -} diff --git a/src/main/java/com/plaid/client/request/ItemDeleteRequest.java b/src/main/java/com/plaid/client/request/ItemDeleteRequest.java deleted file mode 100644 index 090d2e5ec9..0000000000 --- a/src/main/java/com/plaid/client/request/ItemDeleteRequest.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -/** - * Request for /item/delete endpoint. - */ -public final class ItemDeleteRequest extends BaseAccessTokenRequest { - public ItemDeleteRequest(String accessToken) { - super(accessToken); - } -} diff --git a/src/main/java/com/plaid/client/request/ItemDwollaProcessorTokenCreateRequest.java b/src/main/java/com/plaid/client/request/ItemDwollaProcessorTokenCreateRequest.java deleted file mode 100644 index 4677c56cb8..0000000000 --- a/src/main/java/com/plaid/client/request/ItemDwollaProcessorTokenCreateRequest.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -/** - * Request for /processor/dwolla/processor_token/create endpoint. - */ -public final class ItemDwollaProcessorTokenCreateRequest extends BaseAccessTokenRequest { - private String accountId; - - public ItemDwollaProcessorTokenCreateRequest(String accessToken, String accountId) { - super(accessToken); - this.accountId = accountId; - } -} diff --git a/src/main/java/com/plaid/client/request/ItemGetRequest.java b/src/main/java/com/plaid/client/request/ItemGetRequest.java deleted file mode 100644 index 4bd4c03a63..0000000000 --- a/src/main/java/com/plaid/client/request/ItemGetRequest.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -/** - * Request for the /item/get endpoint. - * - * @see https://plaid.com/docs/api - */ -public final class ItemGetRequest extends BaseAccessTokenRequest { - public ItemGetRequest(String accessToken) { - super(accessToken); - } -} diff --git a/src/main/java/com/plaid/client/request/ItemMfaEncryptRequest.java b/src/main/java/com/plaid/client/request/ItemMfaEncryptRequest.java deleted file mode 100644 index 89c969d55a..0000000000 --- a/src/main/java/com/plaid/client/request/ItemMfaEncryptRequest.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BasePublicRequest; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import static com.plaid.client.internal.Util.notEmpty; - -/** - * Request for the /item/mfa/encrypt endpoint. - * - * @see https://plaid.com/docs/api - */ -public final class ItemMfaEncryptRequest extends BasePublicRequest { - private List responses; - - public ItemMfaEncryptRequest(List responses) { - notEmpty(responses, "responses"); - this.responses = new ArrayList<>(responses); - } - - public ItemMfaEncryptRequest(String... responses) { - this(Arrays.asList(responses)); - } -} diff --git a/src/main/java/com/plaid/client/request/ItemMfaRequest.java b/src/main/java/com/plaid/client/request/ItemMfaRequest.java deleted file mode 100644 index 7f93ff17c5..0000000000 --- a/src/main/java/com/plaid/client/request/ItemMfaRequest.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.internal.gson.RequiredField; -import com.plaid.client.request.common.BaseAccessTokenRequest; -import com.plaid.client.request.common.MfaType; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import static com.plaid.client.internal.Util.notEmpty; -import static com.plaid.client.internal.Util.notNull; - -/** - * Request for the /item/mfa endpoint. - * - * @see https://plaid.com/docs/api - */ -public final class ItemMfaRequest extends BaseAccessTokenRequest { - private final MfaType mfaType; - private RequiredField> responses = RequiredField.empty(); - private Options options; - - public ItemMfaRequest(String accessToken, MfaType mfaType) { - super(accessToken); - notNull(mfaType, "mfaType"); - this.mfaType = mfaType; - } - - public ItemMfaRequest withResponsesToken(String responsesToken) { - this.options = new Options(responsesToken); - return this; - } - - public ItemMfaRequest withResponses(String... responses) { - this.withResponses(Arrays.asList(responses)); - return this; - } - - public ItemMfaRequest withResponses(List responses) { - notEmpty(responses, "responses"); - this.responses = RequiredField.of(new ArrayList<>(responses)); - return this; - } - - private static class Options { - private final String responsesToken; - - private Options(String responsesToken) { - this.responsesToken = responsesToken; - } - } -} diff --git a/src/main/java/com/plaid/client/request/ItemPublicTokenCreateRequest.java b/src/main/java/com/plaid/client/request/ItemPublicTokenCreateRequest.java deleted file mode 100644 index e5b7351bfb..0000000000 --- a/src/main/java/com/plaid/client/request/ItemPublicTokenCreateRequest.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -/** - * Request for /item/public_token/create endpoint. - */ -public final class ItemPublicTokenCreateRequest extends BaseAccessTokenRequest { - public ItemPublicTokenCreateRequest(String accessToken) { - super(accessToken); - } -} diff --git a/src/main/java/com/plaid/client/request/ItemPublicTokenExchangeRequest.java b/src/main/java/com/plaid/client/request/ItemPublicTokenExchangeRequest.java deleted file mode 100644 index 55428838b8..0000000000 --- a/src/main/java/com/plaid/client/request/ItemPublicTokenExchangeRequest.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseClientRequest; - -/** - * Request for /item/public_token/exchange endpoint. - */ -public final class ItemPublicTokenExchangeRequest extends BaseClientRequest { - private String publicToken; - - public ItemPublicTokenExchangeRequest(String publicToken) { - this.publicToken = publicToken; - } -} diff --git a/src/main/java/com/plaid/client/request/ItemRemoveRequest.java b/src/main/java/com/plaid/client/request/ItemRemoveRequest.java deleted file mode 100644 index c4e73cd415..0000000000 --- a/src/main/java/com/plaid/client/request/ItemRemoveRequest.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -/** - * Request for /item/remove endpoint. - */ -public final class ItemRemoveRequest extends BaseAccessTokenRequest { - public ItemRemoveRequest(String accessToken) { - super(accessToken); - } -} diff --git a/src/main/java/com/plaid/client/request/ItemStripeTokenCreateRequest.java b/src/main/java/com/plaid/client/request/ItemStripeTokenCreateRequest.java deleted file mode 100644 index f5d26d5df8..0000000000 --- a/src/main/java/com/plaid/client/request/ItemStripeTokenCreateRequest.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -/** - * Request for /processor/stripe/bank_account_token/create endpoint. - */ -public final class ItemStripeTokenCreateRequest extends BaseAccessTokenRequest { - private String accountId; - - public ItemStripeTokenCreateRequest(String accessToken, String accountId) { - super(accessToken); - this.accountId = accountId; - } -} diff --git a/src/main/java/com/plaid/client/request/ItemWebhookUpdateRequest.java b/src/main/java/com/plaid/client/request/ItemWebhookUpdateRequest.java deleted file mode 100644 index 72a5730b27..0000000000 --- a/src/main/java/com/plaid/client/request/ItemWebhookUpdateRequest.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -/** - * Request for /item/webhook/update endpoint. - */ -public final class ItemWebhookUpdateRequest extends BaseAccessTokenRequest { - private String webhook; - - public ItemWebhookUpdateRequest(String accessToken, String webhook) { - super(accessToken); - this.webhook = webhook; - } -} diff --git a/src/main/java/com/plaid/client/request/PlaidApi.java b/src/main/java/com/plaid/client/request/PlaidApi.java new file mode 100644 index 0000000000..ce4faf6a5f --- /dev/null +++ b/src/main/java/com/plaid/client/request/PlaidApi.java @@ -0,0 +1,6077 @@ +package com.plaid.client.request; + +import com.plaid.client.CollectionFormats.*; + +import retrofit2.Call; +import retrofit2.http.*; + +import okhttp3.RequestBody; +import okhttp3.ResponseBody; +import okhttp3.MultipartBody; + +import com.plaid.client.model.AccountsBalanceGetRequest; +import com.plaid.client.model.AccountsGetRequest; +import com.plaid.client.model.AccountsGetResponse; +import com.plaid.client.model.ApplicationGetRequest; +import com.plaid.client.model.ApplicationGetResponse; +import com.plaid.client.model.AssetReportAuditCopyCreateRequest; +import com.plaid.client.model.AssetReportAuditCopyCreateResponse; +import com.plaid.client.model.AssetReportAuditCopyGetRequest; +import com.plaid.client.model.AssetReportAuditCopyPdfGetRequest; +import com.plaid.client.model.AssetReportAuditCopyRemoveRequest; +import com.plaid.client.model.AssetReportAuditCopyRemoveResponse; +import com.plaid.client.model.AssetReportCreateRequest; +import com.plaid.client.model.AssetReportCreateResponse; +import com.plaid.client.model.AssetReportFilterRequest; +import com.plaid.client.model.AssetReportFilterResponse; +import com.plaid.client.model.AssetReportFreddieGetRequest; +import com.plaid.client.model.AssetReportFreddieGetResponse; +import com.plaid.client.model.AssetReportGetRequest; +import com.plaid.client.model.AssetReportGetResponse; +import com.plaid.client.model.AssetReportPDFGetRequest; +import com.plaid.client.model.AssetReportRefreshRequest; +import com.plaid.client.model.AssetReportRefreshResponse; +import com.plaid.client.model.AssetReportRemoveRequest; +import com.plaid.client.model.AssetReportRemoveResponse; +import com.plaid.client.model.AuthGetRequest; +import com.plaid.client.model.AuthGetResponse; +import com.plaid.client.model.AuthVerifyRequest; +import com.plaid.client.model.AuthVerifyResponse; +import com.plaid.client.model.BankTransferBalanceGetRequest; +import com.plaid.client.model.BankTransferBalanceGetResponse; +import com.plaid.client.model.BankTransferCancelRequest; +import com.plaid.client.model.BankTransferCancelResponse; +import com.plaid.client.model.BankTransferCreateRequest; +import com.plaid.client.model.BankTransferCreateResponse; +import com.plaid.client.model.BankTransferEventListRequest; +import com.plaid.client.model.BankTransferEventListResponse; +import com.plaid.client.model.BankTransferEventSyncRequest; +import com.plaid.client.model.BankTransferEventSyncResponse; +import com.plaid.client.model.BankTransferGetRequest; +import com.plaid.client.model.BankTransferGetResponse; +import com.plaid.client.model.BankTransferListRequest; +import com.plaid.client.model.BankTransferListResponse; +import com.plaid.client.model.BankTransferMigrateAccountRequest; +import com.plaid.client.model.BankTransferMigrateAccountResponse; +import com.plaid.client.model.BankTransferSweepGetRequest; +import com.plaid.client.model.BankTransferSweepGetResponse; +import com.plaid.client.model.BankTransferSweepListRequest; +import com.plaid.client.model.BankTransferSweepListResponse; +import com.plaid.client.model.BeaconAccountRiskEvaluateRequest; +import com.plaid.client.model.BeaconAccountRiskEvaluateResponse; +import com.plaid.client.model.BeaconDuplicateGetRequest; +import com.plaid.client.model.BeaconDuplicateGetResponse; +import com.plaid.client.model.BeaconReportCreateRequest; +import com.plaid.client.model.BeaconReportCreateResponse; +import com.plaid.client.model.BeaconReportGetRequest; +import com.plaid.client.model.BeaconReportGetResponse; +import com.plaid.client.model.BeaconReportListRequest; +import com.plaid.client.model.BeaconReportListResponse; +import com.plaid.client.model.BeaconReportSyndicationGetRequest; +import com.plaid.client.model.BeaconReportSyndicationGetResponse; +import com.plaid.client.model.BeaconReportSyndicationListRequest; +import com.plaid.client.model.BeaconReportSyndicationListResponse; +import com.plaid.client.model.BeaconUserAccountInsightsGetRequest; +import com.plaid.client.model.BeaconUserAccountInsightsGetResponse; +import com.plaid.client.model.BeaconUserCreateRequest; +import com.plaid.client.model.BeaconUserCreateResponse; +import com.plaid.client.model.BeaconUserGetRequest; +import com.plaid.client.model.BeaconUserGetResponse; +import com.plaid.client.model.BeaconUserHistoryListRequest; +import com.plaid.client.model.BeaconUserHistoryListResponse; +import com.plaid.client.model.BeaconUserReviewRequest; +import com.plaid.client.model.BeaconUserUpdateRequest; +import com.plaid.client.model.BeaconUserUpdateResponse; +import com.plaid.client.model.BetaEwaReportV1GetRequest; +import com.plaid.client.model.BetaEwaReportV1GetResponse; +import com.plaid.client.model.BetaPartnerCustomerV1CreateRequest; +import com.plaid.client.model.BetaPartnerCustomerV1CreateResponse; +import com.plaid.client.model.BetaPartnerCustomerV1EnableRequest; +import com.plaid.client.model.BetaPartnerCustomerV1EnableResponse; +import com.plaid.client.model.BetaPartnerCustomerV1GetRequest; +import com.plaid.client.model.BetaPartnerCustomerV1GetResponse; +import com.plaid.client.model.BetaPartnerCustomerV1UpdateRequest; +import com.plaid.client.model.BetaPartnerCustomerV1UpdateResponse; +import com.plaid.client.model.BusinessVerificationCreateRequest; +import com.plaid.client.model.BusinessVerificationCreateResponse; +import com.plaid.client.model.BusinessVerificationGetRequest; +import com.plaid.client.model.BusinessVerificationGetResponse; +import com.plaid.client.model.CRALoansRegisterRequest; +import com.plaid.client.model.CashflowReportGetRequest; +import com.plaid.client.model.CashflowReportGetResponse; +import com.plaid.client.model.CashflowReportInsightsGetRequest; +import com.plaid.client.model.CashflowReportInsightsGetResponse; +import com.plaid.client.model.CashflowReportRefreshRequest; +import com.plaid.client.model.CashflowReportRefreshResponse; +import com.plaid.client.model.CashflowReportTransactionsGetRequest; +import com.plaid.client.model.CashflowReportTransactionsGetResponse; +import com.plaid.client.model.CategoriesGetResponse; +import com.plaid.client.model.ConsentEventsGetRequest; +import com.plaid.client.model.ConsentEventsGetResponse; +import com.plaid.client.model.ConsumerReportPDFGetRequest; +import com.plaid.client.model.CraCheckReportBaseReportGetRequest; +import com.plaid.client.model.CraCheckReportBaseReportGetResponse; +import com.plaid.client.model.CraCheckReportCashflowInsightsGetRequest; +import com.plaid.client.model.CraCheckReportCashflowInsightsGetResponse; +import com.plaid.client.model.CraCheckReportCreateRequest; +import com.plaid.client.model.CraCheckReportCreateResponse; +import com.plaid.client.model.CraCheckReportIncomeInsightsGetRequest; +import com.plaid.client.model.CraCheckReportIncomeInsightsGetResponse; +import com.plaid.client.model.CraCheckReportLendScoreGetRequest; +import com.plaid.client.model.CraCheckReportLendScoreGetResponse; +import com.plaid.client.model.CraCheckReportNetworkInsightsGetRequest; +import com.plaid.client.model.CraCheckReportNetworkInsightsGetResponse; +import com.plaid.client.model.CraCheckReportPDFGetRequest; +import com.plaid.client.model.CraCheckReportPartnerInsightsGetRequest; +import com.plaid.client.model.CraCheckReportPartnerInsightsGetResponse; +import com.plaid.client.model.CraCheckReportVerificationGetRequest; +import com.plaid.client.model.CraCheckReportVerificationGetResponse; +import com.plaid.client.model.CraCheckReportVerificationPdfGetRequest; +import com.plaid.client.model.CraCreditProfileReportGetRequest; +import com.plaid.client.model.CraCreditProfileReportGetResponse; +import com.plaid.client.model.CraLoanUnregisterResponse; +import com.plaid.client.model.CraLoansApplicationsRegisterRequest; +import com.plaid.client.model.CraLoansApplicationsRegisterResponse; +import com.plaid.client.model.CraLoansRegisterResponse; +import com.plaid.client.model.CraLoansUnregisterRequest; +import com.plaid.client.model.CraLoansUpdateRequest; +import com.plaid.client.model.CraLoansUpdateResponse; +import com.plaid.client.model.CraMonitoringInsightsGetRequest; +import com.plaid.client.model.CraMonitoringInsightsGetResponse; +import com.plaid.client.model.CraMonitoringInsightsSubscribeRequest; +import com.plaid.client.model.CraMonitoringInsightsSubscribeResponse; +import com.plaid.client.model.CraMonitoringInsightsUnsubscribeRequest; +import com.plaid.client.model.CraMonitoringInsightsUnsubscribeResponse; +import com.plaid.client.model.CraPartnerInsightsGetRequest; +import com.plaid.client.model.CraPartnerInsightsGetResponse; +import com.plaid.client.model.CraReportGetRequest; +import com.plaid.client.model.CraReportGetResponse; +import com.plaid.client.model.CreditAuditCopyTokenCreateRequest; +import com.plaid.client.model.CreditAuditCopyTokenCreateResponse; +import com.plaid.client.model.CreditAuditCopyTokenRemoveRequest; +import com.plaid.client.model.CreditAuditCopyTokenRemoveResponse; +import com.plaid.client.model.CreditAuditCopyTokenUpdateRequest; +import com.plaid.client.model.CreditAuditCopyTokenUpdateResponse; +import com.plaid.client.model.CreditBankEmploymentGetRequest; +import com.plaid.client.model.CreditBankEmploymentGetResponse; +import com.plaid.client.model.CreditBankIncomeGetRequest; +import com.plaid.client.model.CreditBankIncomeGetResponse; +import com.plaid.client.model.CreditBankIncomePDFGetRequest; +import com.plaid.client.model.CreditBankIncomeRefreshRequest; +import com.plaid.client.model.CreditBankIncomeRefreshResponse; +import com.plaid.client.model.CreditBankIncomeWebhookUpdateRequest; +import com.plaid.client.model.CreditBankIncomeWebhookUpdateResponse; +import com.plaid.client.model.CreditBankStatementsUploadsGetRequest; +import com.plaid.client.model.CreditBankStatementsUploadsGetResponse; +import com.plaid.client.model.CreditEmploymentGetRequest; +import com.plaid.client.model.CreditEmploymentGetResponse; +import com.plaid.client.model.CreditFreddieMacReportsGetRequest; +import com.plaid.client.model.CreditFreddieMacReportsGetResponse; +import com.plaid.client.model.CreditPayrollIncomeGetRequest; +import com.plaid.client.model.CreditPayrollIncomeGetResponse; +import com.plaid.client.model.CreditPayrollIncomeParsingConfigUpdateRequest; +import com.plaid.client.model.CreditPayrollIncomeParsingConfigUpdateResponse; +import com.plaid.client.model.CreditPayrollIncomePrecheckRequest; +import com.plaid.client.model.CreditPayrollIncomePrecheckResponse; +import com.plaid.client.model.CreditPayrollIncomeRefreshRequest; +import com.plaid.client.model.CreditPayrollIncomeRefreshResponse; +import com.plaid.client.model.CreditPayrollIncomeRiskSignalsGetRequest; +import com.plaid.client.model.CreditPayrollIncomeRiskSignalsGetResponse; +import com.plaid.client.model.CreditRelayCreateRequest; +import com.plaid.client.model.CreditRelayCreateResponse; +import com.plaid.client.model.CreditRelayGetRequest; +import com.plaid.client.model.CreditRelayPDFGetRequest; +import com.plaid.client.model.CreditRelayRefreshRequest; +import com.plaid.client.model.CreditRelayRefreshResponse; +import com.plaid.client.model.CreditRelayRemoveRequest; +import com.plaid.client.model.CreditRelayRemoveResponse; +import com.plaid.client.model.CreditSessionsGetRequest; +import com.plaid.client.model.CreditSessionsGetResponse; +import com.plaid.client.model.DashboardUserGetRequest; +import com.plaid.client.model.DashboardUserGetResponse; +import com.plaid.client.model.DashboardUserListRequest; +import com.plaid.client.model.DashboardUserListResponse; +import com.plaid.client.model.EmployersSearchRequest; +import com.plaid.client.model.EmployersSearchResponse; +import com.plaid.client.model.EmploymentVerificationGetRequest; +import com.plaid.client.model.EmploymentVerificationGetResponse; +import com.plaid.client.model.FDXConsentGrant; +import com.plaid.client.model.FDXConsentGrantStatus; +import com.plaid.client.model.FDXConsentRevocation; +import com.plaid.client.model.FDXConsentRevocations; +import com.plaid.client.model.FDXNotification; +import java.io.File; +import com.plaid.client.model.GetConsentsResponse; +import com.plaid.client.model.GetRecipientResponse; +import com.plaid.client.model.GetRecipientsResponse; +import com.plaid.client.model.IdentityDocumentsUploadsGetRequest; +import com.plaid.client.model.IdentityDocumentsUploadsGetResponse; +import com.plaid.client.model.IdentityGetRequest; +import com.plaid.client.model.IdentityGetResponse; +import com.plaid.client.model.IdentityMatchRequest; +import com.plaid.client.model.IdentityMatchResponse; +import com.plaid.client.model.IdentityRefreshRequest; +import com.plaid.client.model.IdentityRefreshResponse; +import com.plaid.client.model.IdentityVerificationAutofillCreateRequest; +import com.plaid.client.model.IdentityVerificationAutofillCreateResponse; +import com.plaid.client.model.IdentityVerificationCreateRequest; +import com.plaid.client.model.IdentityVerificationCreateResponse; +import com.plaid.client.model.IdentityVerificationGetRequest; +import com.plaid.client.model.IdentityVerificationGetResponse; +import com.plaid.client.model.IdentityVerificationListRequest; +import com.plaid.client.model.IdentityVerificationListResponse; +import com.plaid.client.model.IdentityVerificationRetryRequest; +import com.plaid.client.model.IdentityVerificationRetryResponse; +import com.plaid.client.model.IncomeVerificationCreateRequest; +import com.plaid.client.model.IncomeVerificationCreateResponse; +import com.plaid.client.model.IncomeVerificationDocumentsDownloadRequest; +import com.plaid.client.model.IncomeVerificationPaystubsGetRequest; +import com.plaid.client.model.IncomeVerificationPaystubsGetResponse; +import com.plaid.client.model.IncomeVerificationPrecheckRequest; +import com.plaid.client.model.IncomeVerificationPrecheckResponse; +import com.plaid.client.model.IncomeVerificationTaxformsGetRequest; +import com.plaid.client.model.IncomeVerificationTaxformsGetResponse; +import com.plaid.client.model.InstitutionsGetByIdRequest; +import com.plaid.client.model.InstitutionsGetByIdResponse; +import com.plaid.client.model.InstitutionsGetRequest; +import com.plaid.client.model.InstitutionsGetResponse; +import com.plaid.client.model.InstitutionsSearchRequest; +import com.plaid.client.model.InstitutionsSearchResponse; +import com.plaid.client.model.InvestmentsAuthGetRequest; +import com.plaid.client.model.InvestmentsAuthGetResponse; +import com.plaid.client.model.InvestmentsHoldingsGetRequest; +import com.plaid.client.model.InvestmentsHoldingsGetResponse; +import com.plaid.client.model.InvestmentsRefreshRequest; +import com.plaid.client.model.InvestmentsRefreshResponse; +import com.plaid.client.model.InvestmentsTransactionsGetRequest; +import com.plaid.client.model.InvestmentsTransactionsGetResponse; +import com.plaid.client.model.IssuesGetRequest; +import com.plaid.client.model.IssuesGetResponse; +import com.plaid.client.model.IssuesSearchRequest; +import com.plaid.client.model.IssuesSearchResponse; +import com.plaid.client.model.IssuesSubscribeRequest; +import com.plaid.client.model.IssuesSubscribeResponse; +import com.plaid.client.model.ItemAccessTokenInvalidateRequest; +import com.plaid.client.model.ItemAccessTokenInvalidateResponse; +import com.plaid.client.model.ItemActivityListRequest; +import com.plaid.client.model.ItemActivityListResponse; +import com.plaid.client.model.ItemApplicationListRequest; +import com.plaid.client.model.ItemApplicationListResponse; +import com.plaid.client.model.ItemApplicationScopesUpdateRequest; +import com.plaid.client.model.ItemApplicationScopesUpdateResponse; +import com.plaid.client.model.ItemApplicationUnlinkRequest; +import com.plaid.client.model.ItemApplicationUnlinkResponse; +import com.plaid.client.model.ItemGetRequest; +import com.plaid.client.model.ItemGetResponse; +import com.plaid.client.model.ItemImportRequest; +import com.plaid.client.model.ItemImportResponse; +import com.plaid.client.model.ItemProductsTerminateRequest; +import com.plaid.client.model.ItemProductsTerminateResponse; +import com.plaid.client.model.ItemPublicTokenCreateRequest; +import com.plaid.client.model.ItemPublicTokenCreateResponse; +import com.plaid.client.model.ItemPublicTokenExchangeRequest; +import com.plaid.client.model.ItemPublicTokenExchangeResponse; +import com.plaid.client.model.ItemRemoveRequest; +import com.plaid.client.model.ItemRemoveResponse; +import com.plaid.client.model.ItemWebhookUpdateRequest; +import com.plaid.client.model.ItemWebhookUpdateResponse; +import com.plaid.client.model.LiabilitiesGetRequest; +import com.plaid.client.model.LiabilitiesGetResponse; +import com.plaid.client.model.LinkDeliveryCreateRequest; +import com.plaid.client.model.LinkDeliveryCreateResponse; +import com.plaid.client.model.LinkDeliveryGetRequest; +import com.plaid.client.model.LinkDeliveryGetResponse; +import com.plaid.client.model.LinkOAuthCorrelationIdExchangeRequest; +import com.plaid.client.model.LinkOAuthCorrelationIdExchangeResponse; +import com.plaid.client.model.LinkTokenCreateRequest; +import com.plaid.client.model.LinkTokenCreateResponse; +import com.plaid.client.model.LinkTokenGetRequest; +import com.plaid.client.model.LinkTokenGetResponse; +import com.plaid.client.model.NetworkStatusGetRequest; +import com.plaid.client.model.NetworkStatusGetResponse; +import com.plaid.client.model.OAuthErrorResponse; +import com.plaid.client.model.OAuthIntrospectRequest; +import com.plaid.client.model.OAuthIntrospectResponse; +import com.plaid.client.model.OAuthRevokeRequest; +import com.plaid.client.model.OAuthRevokeResponse; +import com.plaid.client.model.OAuthTokenRequest; +import com.plaid.client.model.OAuthTokenResponse; +import com.plaid.client.model.PartnerCustomerCreateRequest; +import com.plaid.client.model.PartnerCustomerCreateResponse; +import com.plaid.client.model.PartnerCustomerEnableRequest; +import com.plaid.client.model.PartnerCustomerEnableResponse; +import com.plaid.client.model.PartnerCustomerGetRequest; +import com.plaid.client.model.PartnerCustomerGetResponse; +import com.plaid.client.model.PartnerCustomerOAuthInstitutionsGetRequest; +import com.plaid.client.model.PartnerCustomerOAuthInstitutionsGetResponse; +import com.plaid.client.model.PartnerCustomerRemoveRequest; +import com.plaid.client.model.PartnerCustomerRemoveResponse; +import com.plaid.client.model.PaymentInitiationConsentCreateRequest; +import com.plaid.client.model.PaymentInitiationConsentCreateResponse; +import com.plaid.client.model.PaymentInitiationConsentGetRequest; +import com.plaid.client.model.PaymentInitiationConsentGetResponse; +import com.plaid.client.model.PaymentInitiationConsentPaymentExecuteRequest; +import com.plaid.client.model.PaymentInitiationConsentPaymentExecuteResponse; +import com.plaid.client.model.PaymentInitiationConsentRevokeRequest; +import com.plaid.client.model.PaymentInitiationConsentRevokeResponse; +import com.plaid.client.model.PaymentInitiationPaymentCreateRequest; +import com.plaid.client.model.PaymentInitiationPaymentCreateResponse; +import com.plaid.client.model.PaymentInitiationPaymentGetRequest; +import com.plaid.client.model.PaymentInitiationPaymentGetResponse; +import com.plaid.client.model.PaymentInitiationPaymentListRequest; +import com.plaid.client.model.PaymentInitiationPaymentListResponse; +import com.plaid.client.model.PaymentInitiationPaymentReverseRequest; +import com.plaid.client.model.PaymentInitiationPaymentReverseResponse; +import com.plaid.client.model.PaymentInitiationPaymentTokenCreateRequest; +import com.plaid.client.model.PaymentInitiationPaymentTokenCreateResponse; +import com.plaid.client.model.PaymentInitiationRecipientCreateRequest; +import com.plaid.client.model.PaymentInitiationRecipientCreateResponse; +import com.plaid.client.model.PaymentInitiationRecipientGetRequest; +import com.plaid.client.model.PaymentInitiationRecipientGetResponse; +import com.plaid.client.model.PaymentInitiationRecipientListRequest; +import com.plaid.client.model.PaymentInitiationRecipientListResponse; +import com.plaid.client.model.PaymentProfileCreateRequest; +import com.plaid.client.model.PaymentProfileCreateResponse; +import com.plaid.client.model.PaymentProfileGetRequest; +import com.plaid.client.model.PaymentProfileGetResponse; +import com.plaid.client.model.PaymentProfileRemoveRequest; +import com.plaid.client.model.PaymentProfileRemoveResponse; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.ProcessorAccountGetRequest; +import com.plaid.client.model.ProcessorAccountGetResponse; +import com.plaid.client.model.ProcessorApexProcessorTokenCreateRequest; +import com.plaid.client.model.ProcessorAuthGetRequest; +import com.plaid.client.model.ProcessorAuthGetResponse; +import com.plaid.client.model.ProcessorBalanceGetRequest; +import com.plaid.client.model.ProcessorBalanceGetResponse; +import com.plaid.client.model.ProcessorBankTransferCreateRequest; +import com.plaid.client.model.ProcessorBankTransferCreateResponse; +import com.plaid.client.model.ProcessorIdentityGetRequest; +import com.plaid.client.model.ProcessorIdentityGetResponse; +import com.plaid.client.model.ProcessorIdentityMatchRequest; +import com.plaid.client.model.ProcessorIdentityMatchResponse; +import com.plaid.client.model.ProcessorInvestmentsAuthGetRequest; +import com.plaid.client.model.ProcessorInvestmentsAuthGetResponse; +import com.plaid.client.model.ProcessorInvestmentsHoldingsGetRequest; +import com.plaid.client.model.ProcessorInvestmentsHoldingsGetResponse; +import com.plaid.client.model.ProcessorInvestmentsTransactionsGetRequest; +import com.plaid.client.model.ProcessorInvestmentsTransactionsGetResponse; +import com.plaid.client.model.ProcessorLiabilitiesGetRequest; +import com.plaid.client.model.ProcessorLiabilitiesGetResponse; +import com.plaid.client.model.ProcessorSignalDecisionReportRequest; +import com.plaid.client.model.ProcessorSignalDecisionReportResponse; +import com.plaid.client.model.ProcessorSignalEvaluateRequest; +import com.plaid.client.model.ProcessorSignalEvaluateResponse; +import com.plaid.client.model.ProcessorSignalPrepareRequest; +import com.plaid.client.model.ProcessorSignalPrepareResponse; +import com.plaid.client.model.ProcessorSignalReturnReportRequest; +import com.plaid.client.model.ProcessorSignalReturnReportResponse; +import com.plaid.client.model.ProcessorStripeBankAccountTokenCreateRequest; +import com.plaid.client.model.ProcessorStripeBankAccountTokenCreateResponse; +import com.plaid.client.model.ProcessorTokenCreateRequest; +import com.plaid.client.model.ProcessorTokenCreateResponse; +import com.plaid.client.model.ProcessorTokenPermissionsGetRequest; +import com.plaid.client.model.ProcessorTokenPermissionsGetResponse; +import com.plaid.client.model.ProcessorTokenPermissionsSetRequest; +import com.plaid.client.model.ProcessorTokenPermissionsSetResponse; +import com.plaid.client.model.ProcessorTokenWebhookUpdateRequest; +import com.plaid.client.model.ProcessorTokenWebhookUpdateResponse; +import com.plaid.client.model.ProcessorTransactionsGetRequest; +import com.plaid.client.model.ProcessorTransactionsGetResponse; +import com.plaid.client.model.ProcessorTransactionsRecurringGetRequest; +import com.plaid.client.model.ProcessorTransactionsRecurringGetResponse; +import com.plaid.client.model.ProcessorTransactionsRefreshRequest; +import com.plaid.client.model.ProcessorTransactionsRefreshResponse; +import com.plaid.client.model.ProcessorTransactionsSyncRequest; +import com.plaid.client.model.ProcessorTransactionsSyncResponse; +import com.plaid.client.model.ProfileNetworkStatusGetRequest; +import com.plaid.client.model.ProfileNetworkStatusGetResponse; +import com.plaid.client.model.ProtectComputeRequest; +import com.plaid.client.model.ProtectComputeResponse; +import com.plaid.client.model.ProtectEventGetRequest; +import com.plaid.client.model.ProtectEventGetResponse; +import com.plaid.client.model.ProtectEventSendRequest; +import com.plaid.client.model.ProtectEventSendResponse; +import com.plaid.client.model.ProtectReportCreateRequest; +import com.plaid.client.model.ProtectReportCreateResponse; +import com.plaid.client.model.ProtectUserInsightsGetRequest; +import com.plaid.client.model.ProtectUserInsightsGetResponse; +import com.plaid.client.model.SandboxBankIncomeFireWebhookRequest; +import com.plaid.client.model.SandboxBankIncomeFireWebhookResponse; +import com.plaid.client.model.SandboxBankTransferFireWebhookRequest; +import com.plaid.client.model.SandboxBankTransferFireWebhookResponse; +import com.plaid.client.model.SandboxBankTransferSimulateRequest; +import com.plaid.client.model.SandboxBankTransferSimulateResponse; +import com.plaid.client.model.SandboxCraCashflowUpdatesUpdateRequest; +import com.plaid.client.model.SandboxCraCashflowUpdatesUpdateResponse; +import com.plaid.client.model.SandboxFdxConsentSeedRequest; +import com.plaid.client.model.SandboxFdxConsentSeedResponse; +import com.plaid.client.model.SandboxIncomeFireWebhookRequest; +import com.plaid.client.model.SandboxIncomeFireWebhookResponse; +import com.plaid.client.model.SandboxItemApplicationSeedRequest; +import com.plaid.client.model.SandboxItemApplicationSeedResponse; +import com.plaid.client.model.SandboxItemFireWebhookRequest; +import com.plaid.client.model.SandboxItemFireWebhookResponse; +import com.plaid.client.model.SandboxItemResetLoginRequest; +import com.plaid.client.model.SandboxItemResetLoginResponse; +import com.plaid.client.model.SandboxItemSetVerificationStatusRequest; +import com.plaid.client.model.SandboxItemSetVerificationStatusResponse; +import com.plaid.client.model.SandboxOauthSelectAccountsRequest; +import com.plaid.client.model.SandboxPaymentProfileResetLoginRequest; +import com.plaid.client.model.SandboxPaymentProfileResetLoginResponse; +import com.plaid.client.model.SandboxPaymentSimulateRequest; +import com.plaid.client.model.SandboxPaymentSimulateResponse; +import com.plaid.client.model.SandboxProcessorTokenCreateRequest; +import com.plaid.client.model.SandboxProcessorTokenCreateResponse; +import com.plaid.client.model.SandboxPublicTokenCreateRequest; +import com.plaid.client.model.SandboxPublicTokenCreateResponse; +import com.plaid.client.model.SandboxTransactionsCreateRequest; +import com.plaid.client.model.SandboxTransactionsCreateResponse; +import com.plaid.client.model.SandboxTransferFireWebhookRequest; +import com.plaid.client.model.SandboxTransferFireWebhookResponse; +import com.plaid.client.model.SandboxTransferLedgerDepositSimulateRequest; +import com.plaid.client.model.SandboxTransferLedgerDepositSimulateResponse; +import com.plaid.client.model.SandboxTransferLedgerSimulateAvailableRequest; +import com.plaid.client.model.SandboxTransferLedgerSimulateAvailableResponse; +import com.plaid.client.model.SandboxTransferLedgerWithdrawSimulateRequest; +import com.plaid.client.model.SandboxTransferLedgerWithdrawSimulateResponse; +import com.plaid.client.model.SandboxTransferRefundSimulateRequest; +import com.plaid.client.model.SandboxTransferRefundSimulateResponse; +import com.plaid.client.model.SandboxTransferRepaymentSimulateRequest; +import com.plaid.client.model.SandboxTransferRepaymentSimulateResponse; +import com.plaid.client.model.SandboxTransferSimulateRequest; +import com.plaid.client.model.SandboxTransferSimulateResponse; +import com.plaid.client.model.SandboxTransferSweepSimulateRequest; +import com.plaid.client.model.SandboxTransferSweepSimulateResponse; +import com.plaid.client.model.SandboxTransferTestClockAdvanceRequest; +import com.plaid.client.model.SandboxTransferTestClockAdvanceResponse; +import com.plaid.client.model.SandboxTransferTestClockCreateRequest; +import com.plaid.client.model.SandboxTransferTestClockCreateResponse; +import com.plaid.client.model.SandboxTransferTestClockGetRequest; +import com.plaid.client.model.SandboxTransferTestClockGetResponse; +import com.plaid.client.model.SandboxTransferTestClockListRequest; +import com.plaid.client.model.SandboxTransferTestClockListResponse; +import com.plaid.client.model.SandboxUserResetLoginRequest; +import com.plaid.client.model.SandboxUserResetLoginResponse; +import com.plaid.client.model.SessionTokenCreateRequest; +import com.plaid.client.model.SessionTokenCreateResponse; +import com.plaid.client.model.SignalDecisionReportRequest; +import com.plaid.client.model.SignalDecisionReportResponse; +import com.plaid.client.model.SignalEvaluateRequest; +import com.plaid.client.model.SignalEvaluateResponse; +import com.plaid.client.model.SignalPrepareRequest; +import com.plaid.client.model.SignalPrepareResponse; +import com.plaid.client.model.SignalReturnReportRequest; +import com.plaid.client.model.SignalReturnReportResponse; +import com.plaid.client.model.SignalScheduleRequest; +import com.plaid.client.model.SignalScheduleResponse; +import com.plaid.client.model.StatementsDownloadRequest; +import com.plaid.client.model.StatementsListRequest; +import com.plaid.client.model.StatementsListResponse; +import com.plaid.client.model.StatementsRefreshRequest; +import com.plaid.client.model.StatementsRefreshResponse; +import com.plaid.client.model.TransactionsEnhanceGetRequest; +import com.plaid.client.model.TransactionsEnhanceGetResponse; +import com.plaid.client.model.TransactionsEnrichRequest; +import com.plaid.client.model.TransactionsEnrichResponse; +import com.plaid.client.model.TransactionsGetRequest; +import com.plaid.client.model.TransactionsGetResponse; +import com.plaid.client.model.TransactionsRecurringGetRequest; +import com.plaid.client.model.TransactionsRecurringGetResponse; +import com.plaid.client.model.TransactionsRefreshRequest; +import com.plaid.client.model.TransactionsRefreshResponse; +import com.plaid.client.model.TransactionsRulesCreateRequest; +import com.plaid.client.model.TransactionsRulesCreateResponse; +import com.plaid.client.model.TransactionsRulesListRequest; +import com.plaid.client.model.TransactionsRulesListResponse; +import com.plaid.client.model.TransactionsRulesRemoveRequest; +import com.plaid.client.model.TransactionsRulesRemoveResponse; +import com.plaid.client.model.TransactionsSyncRequest; +import com.plaid.client.model.TransactionsSyncResponse; +import com.plaid.client.model.TransactionsUserInsightsGetRequest; +import com.plaid.client.model.TransactionsUserInsightsGetResponse; +import com.plaid.client.model.TransferAuthorizationCancelRequest; +import com.plaid.client.model.TransferAuthorizationCancelResponse; +import com.plaid.client.model.TransferAuthorizationCreateRequest; +import com.plaid.client.model.TransferAuthorizationCreateResponse; +import com.plaid.client.model.TransferBalanceGetRequest; +import com.plaid.client.model.TransferBalanceGetResponse; +import com.plaid.client.model.TransferCancelRequest; +import com.plaid.client.model.TransferCancelResponse; +import com.plaid.client.model.TransferCapabilitiesGetRequest; +import com.plaid.client.model.TransferCapabilitiesGetResponse; +import com.plaid.client.model.TransferConfigurationGetRequest; +import com.plaid.client.model.TransferConfigurationGetResponse; +import com.plaid.client.model.TransferCreateRequest; +import com.plaid.client.model.TransferCreateResponse; +import com.plaid.client.model.TransferDiligenceDocumentUploadRequest; +import com.plaid.client.model.TransferDiligenceDocumentUploadResponse; +import com.plaid.client.model.TransferDiligenceSubmitRequest; +import com.plaid.client.model.TransferDiligenceSubmitResponse; +import com.plaid.client.model.TransferEventListRequest; +import com.plaid.client.model.TransferEventListResponse; +import com.plaid.client.model.TransferEventSyncRequest; +import com.plaid.client.model.TransferEventSyncResponse; +import com.plaid.client.model.TransferGetRequest; +import com.plaid.client.model.TransferGetResponse; +import com.plaid.client.model.TransferIntentCreateRequest; +import com.plaid.client.model.TransferIntentCreateResponse; +import com.plaid.client.model.TransferIntentGetRequest; +import com.plaid.client.model.TransferIntentGetResponse; +import com.plaid.client.model.TransferLedgerDepositRequest; +import com.plaid.client.model.TransferLedgerDepositResponse; +import com.plaid.client.model.TransferLedgerDistributeRequest; +import com.plaid.client.model.TransferLedgerDistributeResponse; +import com.plaid.client.model.TransferLedgerEventListRequest; +import com.plaid.client.model.TransferLedgerEventListResponse; +import com.plaid.client.model.TransferLedgerGetRequest; +import com.plaid.client.model.TransferLedgerGetResponse; +import com.plaid.client.model.TransferLedgerWithdrawRequest; +import com.plaid.client.model.TransferLedgerWithdrawResponse; +import com.plaid.client.model.TransferListRequest; +import com.plaid.client.model.TransferListResponse; +import com.plaid.client.model.TransferMetricsGetRequest; +import com.plaid.client.model.TransferMetricsGetResponse; +import com.plaid.client.model.TransferMigrateAccountRequest; +import com.plaid.client.model.TransferMigrateAccountResponse; +import com.plaid.client.model.TransferOriginatorCreateRequest; +import com.plaid.client.model.TransferOriginatorCreateResponse; +import com.plaid.client.model.TransferOriginatorFundingAccountCreateRequest; +import com.plaid.client.model.TransferOriginatorFundingAccountCreateResponse; +import com.plaid.client.model.TransferOriginatorFundingAccountUpdateRequest; +import com.plaid.client.model.TransferOriginatorFundingAccountUpdateResponse; +import com.plaid.client.model.TransferOriginatorGetRequest; +import com.plaid.client.model.TransferOriginatorGetResponse; +import com.plaid.client.model.TransferOriginatorListRequest; +import com.plaid.client.model.TransferOriginatorListResponse; +import com.plaid.client.model.TransferPlatformOriginatorCreateRequest; +import com.plaid.client.model.TransferPlatformOriginatorCreateResponse; +import com.plaid.client.model.TransferPlatformPersonCreateRequest; +import com.plaid.client.model.TransferPlatformPersonCreateResponse; +import com.plaid.client.model.TransferPlatformRequirementSubmitRequest; +import com.plaid.client.model.TransferPlatformRequirementSubmitResponse; +import com.plaid.client.model.TransferQuestionnaireCreateRequest; +import com.plaid.client.model.TransferQuestionnaireCreateResponse; +import com.plaid.client.model.TransferRecurringCancelRequest; +import com.plaid.client.model.TransferRecurringCancelResponse; +import com.plaid.client.model.TransferRecurringCreateRequest; +import com.plaid.client.model.TransferRecurringCreateResponse; +import com.plaid.client.model.TransferRecurringGetRequest; +import com.plaid.client.model.TransferRecurringGetResponse; +import com.plaid.client.model.TransferRecurringListRequest; +import com.plaid.client.model.TransferRecurringListResponse; +import com.plaid.client.model.TransferRefundCancelRequest; +import com.plaid.client.model.TransferRefundCancelResponse; +import com.plaid.client.model.TransferRefundCreateRequest; +import com.plaid.client.model.TransferRefundCreateResponse; +import com.plaid.client.model.TransferRefundGetRequest; +import com.plaid.client.model.TransferRefundGetResponse; +import com.plaid.client.model.TransferRepaymentListRequest; +import com.plaid.client.model.TransferRepaymentListResponse; +import com.plaid.client.model.TransferRepaymentReturnListRequest; +import com.plaid.client.model.TransferRepaymentReturnListResponse; +import com.plaid.client.model.TransferReturnRecoverRequest; +import com.plaid.client.model.TransferReturnRecoverResponse; +import com.plaid.client.model.TransferSweepGetRequest; +import com.plaid.client.model.TransferSweepGetResponse; +import com.plaid.client.model.TransferSweepListRequest; +import com.plaid.client.model.TransferSweepListResponse; +import com.plaid.client.model.UserAccountSessionEventSendRequest; +import com.plaid.client.model.UserAccountSessionEventSendResponse; +import com.plaid.client.model.UserAccountSessionGetRequest; +import com.plaid.client.model.UserAccountSessionGetResponse; +import com.plaid.client.model.UserCreateRequest; +import com.plaid.client.model.UserCreateResponse; +import com.plaid.client.model.UserFinancialDataRefreshRequest; +import com.plaid.client.model.UserFinancialDataRefreshResponse; +import com.plaid.client.model.UserGetRequest; +import com.plaid.client.model.UserGetResponse; +import com.plaid.client.model.UserIdentityRemoveRequest; +import com.plaid.client.model.UserIdentityRemoveResponse; +import com.plaid.client.model.UserItemsAssociateRequest; +import com.plaid.client.model.UserItemsAssociateResponse; +import com.plaid.client.model.UserItemsGetRequest; +import com.plaid.client.model.UserItemsGetResponse; +import com.plaid.client.model.UserItemsRemoveRequest; +import com.plaid.client.model.UserItemsRemoveResponse; +import com.plaid.client.model.UserProductsTerminateRequest; +import com.plaid.client.model.UserProductsTerminateResponse; +import com.plaid.client.model.UserRemoveRequest; +import com.plaid.client.model.UserRemoveResponse; +import com.plaid.client.model.UserThirdPartyTokenCreateRequest; +import com.plaid.client.model.UserThirdPartyTokenCreateResponse; +import com.plaid.client.model.UserThirdPartyTokenRemoveRequest; +import com.plaid.client.model.UserThirdPartyTokenRemoveResponse; +import com.plaid.client.model.UserTransactionsRefreshRequest; +import com.plaid.client.model.UserTransactionsRefreshResponse; +import com.plaid.client.model.UserUpdateRequest; +import com.plaid.client.model.UserUpdateResponse; +import com.plaid.client.model.WalletCreateRequest; +import com.plaid.client.model.WalletCreateResponse; +import com.plaid.client.model.WalletGetRequest; +import com.plaid.client.model.WalletGetResponse; +import com.plaid.client.model.WalletListRequest; +import com.plaid.client.model.WalletListResponse; +import com.plaid.client.model.WalletTransactionExecuteRequest; +import com.plaid.client.model.WalletTransactionExecuteResponse; +import com.plaid.client.model.WalletTransactionGetRequest; +import com.plaid.client.model.WalletTransactionGetResponse; +import com.plaid.client.model.WalletTransactionListRequest; +import com.plaid.client.model.WalletTransactionListResponse; +import com.plaid.client.model.WatchlistScreeningEntityCreateRequest; +import com.plaid.client.model.WatchlistScreeningEntityCreateResponse; +import com.plaid.client.model.WatchlistScreeningEntityGetRequest; +import com.plaid.client.model.WatchlistScreeningEntityGetResponse; +import com.plaid.client.model.WatchlistScreeningEntityHistoryListRequest; +import com.plaid.client.model.WatchlistScreeningEntityHistoryListResponse; +import com.plaid.client.model.WatchlistScreeningEntityHitListRequest; +import com.plaid.client.model.WatchlistScreeningEntityHitListResponse; +import com.plaid.client.model.WatchlistScreeningEntityListRequest; +import com.plaid.client.model.WatchlistScreeningEntityListResponse; +import com.plaid.client.model.WatchlistScreeningEntityProgramGetRequest; +import com.plaid.client.model.WatchlistScreeningEntityProgramGetResponse; +import com.plaid.client.model.WatchlistScreeningEntityProgramListRequest; +import com.plaid.client.model.WatchlistScreeningEntityProgramListResponse; +import com.plaid.client.model.WatchlistScreeningEntityReviewCreateRequest; +import com.plaid.client.model.WatchlistScreeningEntityReviewCreateResponse; +import com.plaid.client.model.WatchlistScreeningEntityReviewListRequest; +import com.plaid.client.model.WatchlistScreeningEntityReviewListResponse; +import com.plaid.client.model.WatchlistScreeningEntityUpdateRequest; +import com.plaid.client.model.WatchlistScreeningEntityUpdateResponse; +import com.plaid.client.model.WatchlistScreeningIndividualCreateRequest; +import com.plaid.client.model.WatchlistScreeningIndividualCreateResponse; +import com.plaid.client.model.WatchlistScreeningIndividualGetRequest; +import com.plaid.client.model.WatchlistScreeningIndividualGetResponse; +import com.plaid.client.model.WatchlistScreeningIndividualHistoryListRequest; +import com.plaid.client.model.WatchlistScreeningIndividualHistoryListResponse; +import com.plaid.client.model.WatchlistScreeningIndividualHitListRequest; +import com.plaid.client.model.WatchlistScreeningIndividualHitListResponse; +import com.plaid.client.model.WatchlistScreeningIndividualListRequest; +import com.plaid.client.model.WatchlistScreeningIndividualListResponse; +import com.plaid.client.model.WatchlistScreeningIndividualProgramGetRequest; +import com.plaid.client.model.WatchlistScreeningIndividualProgramGetResponse; +import com.plaid.client.model.WatchlistScreeningIndividualProgramListRequest; +import com.plaid.client.model.WatchlistScreeningIndividualProgramListResponse; +import com.plaid.client.model.WatchlistScreeningIndividualReviewCreateRequest; +import com.plaid.client.model.WatchlistScreeningIndividualReviewCreateResponse; +import com.plaid.client.model.WatchlistScreeningIndividualReviewListRequest; +import com.plaid.client.model.WatchlistScreeningIndividualReviewListResponse; +import com.plaid.client.model.WatchlistScreeningIndividualUpdateRequest; +import com.plaid.client.model.WatchlistScreeningIndividualUpdateResponse; +import com.plaid.client.model.WebhookVerificationKeyGetRequest; +import com.plaid.client.model.WebhookVerificationKeyGetResponse; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public interface PlaidApi { + /** + * Retrieve real-time balance data + * The `/accounts/balance/get` endpoint returns the real-time balance for each of an Item's accounts. While other endpoints, such as `/accounts/get`, return a balance object, `/accounts/balance/get` forces the available and current balance fields to be refreshed rather than cached. This endpoint can be used for existing Items that were added via any of Plaid's other products. This endpoint can be used as long as Link has been initialized with any other product; `balance` itself is not a product that can be used to initialize Link. As this endpoint triggers a synchronous request for fresh data, latency may be higher than for other Plaid endpoints (typically less than 10 seconds, but occasionally up to 30 seconds or more); if you encounter errors, you may find it necessary to adjust your timeout period when making requests. Note: If you are getting real-time balance for the purpose of assessing the return risk of a proposed ACH transaction, it is recommended to use `/signal/evaluate` instead of `/accounts/balance/get`. `/signal/evaluate` returns the same real-time balance information and also provides access to Signal Rules, which provides no-code transaction business logic configuration, backtesting and recommendations for tuning your transaction acceptance logic, and the ability to easily switch between Balance and Signal Transaction Scores as needed for ultra-low-latency, ML-powered risk assessments. For more details, see the [Balance documentation](https://plaid.com/docs/balance/#balance-integration-options). + * @param accountsBalanceGetRequest (required) + * @return Call<AccountsGetResponse> + * + * @see Retrieve real-time balance data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("accounts/balance/get") + Call accountsBalanceGet( + @retrofit2.http.Body AccountsBalanceGetRequest accountsBalanceGetRequest + ); + + /** + * Retrieve accounts + * The `/accounts/get` endpoint can be used to retrieve a list of accounts associated with any linked Item. Plaid will only return active bank accounts -- that is, accounts that are not closed and are capable of carrying a balance. To return new accounts that were created after the user linked their Item, you can listen for the [`NEW_ACCOUNTS_AVAILABLE`](https://plaid.com/docs/api/items/#new_accounts_available) webhook and then use Link's [update mode](https://plaid.com/docs/link/update-mode/) to request that the user share this new account with you. `/accounts/get` is free to use and retrieves cached information, rather than extracting fresh information from the institution. The balance returned will reflect the balance at the time of the last successful Item update. If the Item is enabled for a regularly updating product, such as Transactions, Investments, or Liabilities, the balance will typically update about once a day, as long as the Item is healthy. If the Item is enabled only for products that do not frequently update, such as Auth or Identity, balance data may be much older. For real-time balance information, use the paid endpoints `/accounts/balance/get` or `/signal/evaluate` instead. + * @param accountsGetRequest (required) + * @return Call<AccountsGetResponse> + * + * @see Retrieve accounts Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("accounts/get") + Call accountsGet( + @retrofit2.http.Body AccountsGetRequest accountsGetRequest + ); + + /** + * Retrieve information about a Plaid application + * Allows financial institutions to retrieve information about Plaid clients for the purpose of building control-tower experiences + * @param applicationGetRequest (required) + * @return Call<ApplicationGetResponse> + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("application/get") + Call applicationGet( + @retrofit2.http.Body ApplicationGetRequest applicationGetRequest + ); + + /** + * Create Asset Report Audit Copy + * Plaid can provide an Audit Copy of any Asset Report directly to a participating third party on your behalf. For example, Plaid can supply an Audit Copy directly to the GSEs on your behalf if you participate in Fannie Mae's Day 1 Certainty™ program or utilize Freddie Mac's Loan Product Advisor® (LPA®) Asset and Income Modeler (AIM). An Audit Copy contains the same underlying data as the Asset Report. To grant access to an Audit Copy, use the `/asset_report/audit_copy/create` endpoint to create an `audit_copy_token` and then pass that token to the third party who needs access. Each third party has its own `auditor_id`, for example `fannie_mae`. You'll need to create a separate Audit Copy for each third party to whom you want to grant access to the Report. + * @param assetReportAuditCopyCreateRequest (required) + * @return Call<AssetReportAuditCopyCreateResponse> + * + * @see Create Asset Report Audit Copy Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("asset_report/audit_copy/create") + Call assetReportAuditCopyCreate( + @retrofit2.http.Body AssetReportAuditCopyCreateRequest assetReportAuditCopyCreateRequest + ); + + /** + * Retrieve an Asset Report Audit Copy + * `/asset_report/audit_copy/get` allows auditors to get a copy of an Asset Report that was previously shared via the `/asset_report/audit_copy/create` endpoint. The caller of `/asset_report/audit_copy/create` must provide the `audit_copy_token` to the auditor. This token can then be used to call `/asset_report/audit_copy/get`. + * @param assetReportAuditCopyGetRequest (required) + * @return Call<AssetReportGetResponse> + * + * @see Retrieve an Asset Report Audit Copy Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("asset_report/audit_copy/get") + Call assetReportAuditCopyGet( + @retrofit2.http.Body AssetReportAuditCopyGetRequest assetReportAuditCopyGetRequest + ); + + /** + * Retrieve a PDF Asset Report Audit Copy + * The `/asset_report/audit_copy/pdf/get` endpoint retrieves an Asset Report Audit Copy in PDF format. The caller must provide the `audit_copy_token` that was shared via the `/asset_report/audit_copy/create` endpoint. The response to `/asset_report/audit_copy/pdf/get` is the PDF binary data. The `request_id` is returned in the `Plaid-Request-ID` header. [View a sample PDF Asset Report](https://plaid.com/documents/sample-asset-report.pdf). + * @param assetReportAuditCopyPdfGetRequest (required) + * @return Call<ResponseBody> + * + * @see Retrieve a PDF Asset Report Audit Copy Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("asset_report/audit_copy/pdf/get") + Call assetReportAuditCopyPdfGet( + @retrofit2.http.Body AssetReportAuditCopyPdfGetRequest assetReportAuditCopyPdfGetRequest + ); + + /** + * Remove Asset Report Audit Copy + * The `/asset_report/audit_copy/remove` endpoint allows you to remove an Audit Copy. Removing an Audit Copy invalidates the `audit_copy_token` associated with it, meaning both you and any third parties holding the token will no longer be able to use it to access Report data. Items associated with the Asset Report, the Asset Report itself and other Audit Copies of it are not affected and will remain accessible after removing the given Audit Copy. + * @param assetReportAuditCopyRemoveRequest (required) + * @return Call<AssetReportAuditCopyRemoveResponse> + * + * @see Remove Asset Report Audit Copy Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("asset_report/audit_copy/remove") + Call assetReportAuditCopyRemove( + @retrofit2.http.Body AssetReportAuditCopyRemoveRequest assetReportAuditCopyRemoveRequest + ); + + /** + * Create an Asset Report + * The `/asset_report/create` endpoint initiates the process of creating an Asset Report, which can then be retrieved by passing the `asset_report_token` return value to the `/asset_report/get` or `/asset_report/pdf/get` endpoints. The Asset Report takes some time to be created and is not available immediately after calling `/asset_report/create`. The exact amount of time to create the report will vary depending on how many days of history are requested and will typically range from a few seconds to about one minute. When the Asset Report is ready to be retrieved using `/asset_report/get` or `/asset_report/pdf/get`, Plaid will fire a `PRODUCT_READY` webhook. For full details of the webhook schema, see [Asset Report webhooks](https://plaid.com/docs/api/products/assets/#webhooks). The `/asset_report/create` endpoint creates an Asset Report at a moment in time. Asset Reports are immutable. To get an updated Asset Report, use the `/asset_report/refresh` endpoint. + * @param assetReportCreateRequest (required) + * @return Call<AssetReportCreateResponse> + * + * @see Create an Asset Report Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("asset_report/create") + Call assetReportCreate( + @retrofit2.http.Body AssetReportCreateRequest assetReportCreateRequest + ); + + /** + * Filter Asset Report + * By default, an Asset Report will contain all of the accounts on a given Item. In some cases, you may not want the Asset Report to contain all accounts. For example, you might have the end user choose which accounts are relevant in Link using the Account Select view, which you can enable in the dashboard. Or, you might always exclude certain account types or subtypes, which you can identify by using the `/accounts/get` endpoint. To narrow an Asset Report to only a subset of accounts, use the `/asset_report/filter` endpoint. To exclude certain Accounts from an Asset Report, first use the `/asset_report/create` endpoint to create the report, then send the `asset_report_token` along with a list of `account_ids` to exclude to the `/asset_report/filter` endpoint, to create a new Asset Report which contains only a subset of the original Asset Report's data. Because Asset Reports are immutable, calling `/asset_report/filter` does not alter the original Asset Report in any way; rather, `/asset_report/filter` creates a new Asset Report with a new token and id. Asset Reports created via `/asset_report/filter` do not contain new Asset data, and are not billed. Plaid will fire a [`PRODUCT_READY`](https://plaid.com/docs/api/products/assets/#product_ready) webhook once generation of the filtered Asset Report has completed. + * @param assetReportFilterRequest (required) + * @return Call<AssetReportFilterResponse> + * + * @see Filter Asset Report Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("asset_report/filter") + Call assetReportFilter( + @retrofit2.http.Body AssetReportFilterRequest assetReportFilterRequest + ); + + /** + * Retrieve an Asset Report + * The `/asset_report/get` endpoint retrieves the Asset Report in JSON format. Before calling `/asset_report/get`, you must first create the Asset Report using `/asset_report/create` (or filter an Asset Report using `/asset_report/filter`) and then wait for the [`PRODUCT_READY`](https://plaid.com/docs/api/products/assets/#product_ready) webhook to fire, indicating that the Report is ready to be retrieved. By default, an Asset Report includes transaction descriptions as returned by the bank, as opposed to parsed and categorized by Plaid. You can also receive cleaned and categorized transactions, as well as additional insights like merchant name or location information. We call this an Asset Report with Insights. An Asset Report with Insights provides transaction category, location, and merchant information in addition to the transaction strings provided in a standard Asset Report. To retrieve an Asset Report with Insights, call the `/asset_report/get` endpoint with `include_insights` set to `true`. For latency-sensitive applications, you can optionally call `/asset_report/create` with `options.add_ons` set to `[\"fast_assets\"]`. This will cause Plaid to create two versions of the Asset Report: one with only current and available balance and identity information, and then later on the complete Asset Report. You will receive separate webhooks for each version of the Asset Report. + * @param assetReportGetRequest (required) + * @return Call<AssetReportGetResponse> + * + * @see Retrieve an Asset Report Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("asset_report/get") + Call assetReportGet( + @retrofit2.http.Body AssetReportGetRequest assetReportGetRequest + ); + + /** + * Retrieve a PDF Asset Report + * The `/asset_report/pdf/get` endpoint retrieves the Asset Report in PDF format. Before calling `/asset_report/pdf/get`, you must first create the Asset Report using `/asset_report/create` (or filter an Asset Report using `/asset_report/filter`) and then wait for the [`PRODUCT_READY`](https://plaid.com/docs/api/products/assets/#product_ready) webhook to fire, indicating that the Report is ready to be retrieved. The response to `/asset_report/pdf/get` is the PDF binary data. The `request_id` is returned in the `Plaid-Request-ID` header. [View a sample PDF Asset Report](https://plaid.com/documents/sample-asset-report.pdf). + * @param assetReportPDFGetRequest (required) + * @return Call<ResponseBody> + * + * @see Retrieve a PDF Asset Report Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("asset_report/pdf/get") + Call assetReportPdfGet( + @retrofit2.http.Body AssetReportPDFGetRequest assetReportPDFGetRequest + ); + + /** + * Refresh an Asset Report + * An Asset Report is an immutable snapshot of a user's assets. In order to \"refresh\" an Asset Report you created previously, you can use the `/asset_report/refresh` endpoint to create a new Asset Report based on the old one, but with the most recent data available. The new Asset Report will contain the same Items as the original Report, as well as the same filters applied by any call to `/asset_report/filter`. By default, the new Asset Report will also use the same parameters you submitted with your original `/asset_report/create` request, but the original `days_requested` value and the values of any parameters in the `options` object can be overridden with new values. To change these arguments, simply supply new values for them in your request to `/asset_report/refresh`. Submit an empty string (\"\") for any previously-populated fields you would like set as empty. + * @param assetReportRefreshRequest (required) + * @return Call<AssetReportRefreshResponse> + * + * @see Refresh an Asset Report Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("asset_report/refresh") + Call assetReportRefresh( + @retrofit2.http.Body AssetReportRefreshRequest assetReportRefreshRequest + ); + + /** + * Delete an Asset Report + * The `/item/remove` endpoint allows you to invalidate an `access_token`, meaning you will not be able to create new Asset Reports with it. Removing an Item does not affect any Asset Reports or Audit Copies you have already created, which will remain accessible until you remove them specifically. The `/asset_report/remove` endpoint allows you to remove access to an Asset Report. Removing an Asset Report invalidates its `asset_report_token`, meaning you will no longer be able to use it to access Report data or create new Audit Copies. Removing an Asset Report does not affect the underlying Items, but does invalidate any `audit_copy_tokens` associated with the Asset Report. + * @param assetReportRemoveRequest (required) + * @return Call<AssetReportRemoveResponse> + * + * @see Delete an Asset Report Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("asset_report/remove") + Call assetReportRemove( + @retrofit2.http.Body AssetReportRemoveRequest assetReportRemoveRequest + ); + + /** + * Retrieve auth data + * The `/auth/get` endpoint returns the bank account and bank identification numbers (such as routing numbers, for US accounts) associated with an Item's checking, savings, and cash management accounts, along with high-level account data and balances when available. Versioning note: In API version 2017-03-08, the schema of the `numbers` object returned by this endpoint is substantially different. For details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2018-05-22). + * @param authGetRequest (required) + * @return Call<AuthGetResponse> + * + * @see Retrieve auth data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("auth/get") + Call authGet( + @retrofit2.http.Body AuthGetRequest authGetRequest + ); + + /** + * Verify auth data + * The `/auth/verify` endpoint verifies bank account and routing numbers and (optionally) account owner names against Plaid's database via [Database Auth](https://plaid.com/docs/auth/coverage/database-auth/). It can be used to verify account numbers that were not collected via the Plaid Link flow. This endpoint is currently in Early Availability; contact sales or your Plaid account manager to request access. + * @param authVerifyRequest (required) + * @return Call<AuthVerifyResponse> + * + * @see Verify auth data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("auth/verify") + Call authVerify( + @retrofit2.http.Body AuthVerifyRequest authVerifyRequest + ); + + /** + * (Deprecated) Get balance of your Bank Transfer account + * Use the `/bank_transfer/balance/get` endpoint to see the available balance in your bank transfer account. Debit transfers increase this balance once their status is posted. Credit transfers decrease this balance when they are created. The transactable balance shows the amount in your account that you are able to use for transfers, and is essentially your available balance minus your minimum balance. Note that this endpoint can only be used with FBO accounts, when using Bank Transfers in the Full Service configuration. It cannot be used on your own account when using Bank Transfers in the BTS Platform configuration. + * @param bankTransferBalanceGetRequest (required) + * @return Call<BankTransferBalanceGetResponse> + * @deprecated + * + * @see (Deprecated) Get balance of your Bank Transfer account Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("bank_transfer/balance/get") + Call bankTransferBalanceGet( + @retrofit2.http.Body BankTransferBalanceGetRequest bankTransferBalanceGetRequest + ); + + /** + * (Deprecated) Cancel a bank transfer + * Use the `/bank_transfer/cancel` endpoint to cancel a bank transfer. A transfer is eligible for cancelation if the `cancellable` property returned by `/bank_transfer/get` is `true`. + * @param bankTransferCancelRequest (required) + * @return Call<BankTransferCancelResponse> + * @deprecated + * + * @see (Deprecated) Cancel a bank transfer Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("bank_transfer/cancel") + Call bankTransferCancel( + @retrofit2.http.Body BankTransferCancelRequest bankTransferCancelRequest + ); + + /** + * (Deprecated) Create a bank transfer + * Use the `/bank_transfer/create` endpoint to initiate a new bank transfer. + * @param bankTransferCreateRequest (required) + * @return Call<BankTransferCreateResponse> + * @deprecated + * + * @see (Deprecated) Create a bank transfer Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("bank_transfer/create") + Call bankTransferCreate( + @retrofit2.http.Body BankTransferCreateRequest bankTransferCreateRequest + ); + + /** + * List bank transfer events + * Use the `/bank_transfer/event/list` endpoint to get a list of Plaid-initiated ACH or bank transfer events based on specified filter criteria. When using Auth with micro-deposit verification enabled, this endpoint can be used to fetch status updates on ACH micro-deposits. For more details, see [micro-deposit events](https://plaid.com/docs/auth/coverage/microdeposit-events/). + * @param bankTransferEventListRequest (required) + * @return Call<BankTransferEventListResponse> + * + * @see List bank transfer events Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("bank_transfer/event/list") + Call bankTransferEventList( + @retrofit2.http.Body BankTransferEventListRequest bankTransferEventListRequest + ); + + /** + * Sync bank transfer events + * `/bank_transfer/event/sync` allows you to request up to the next 25 Plaid-initiated bank transfer events that happened after a specific `event_id`. When using Auth with micro-deposit verification enabled, this endpoint can be used to fetch status updates on ACH micro-deposits. For more details, see [micro-deposit events](https://plaid.com/docs/auth/coverage/microdeposit-events/). + * @param bankTransferEventSyncRequest (required) + * @return Call<BankTransferEventSyncResponse> + * + * @see Sync bank transfer events Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("bank_transfer/event/sync") + Call bankTransferEventSync( + @retrofit2.http.Body BankTransferEventSyncRequest bankTransferEventSyncRequest + ); + + /** + * (Deprecated) Retrieve a bank transfer + * The `/bank_transfer/get` fetches information about the bank transfer corresponding to the given `bank_transfer_id`. + * @param bankTransferGetRequest (required) + * @return Call<BankTransferGetResponse> + * @deprecated + * + * @see (Deprecated) Retrieve a bank transfer Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("bank_transfer/get") + Call bankTransferGet( + @retrofit2.http.Body BankTransferGetRequest bankTransferGetRequest + ); + + /** + * (Deprecated) List bank transfers + * Use the `/bank_transfer/list` endpoint to see a list of all your bank transfers and their statuses. Results are paginated; use the `count` and `offset` query parameters to retrieve the desired bank transfers. + * @param bankTransferListRequest (required) + * @return Call<BankTransferListResponse> + * @deprecated + * + * @see (Deprecated) List bank transfers Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("bank_transfer/list") + Call bankTransferList( + @retrofit2.http.Body BankTransferListRequest bankTransferListRequest + ); + + /** + * (Deprecated) Migrate account into Bank Transfers + * As an alternative to adding Items via Link, you can also use the `/bank_transfer/migrate_account` endpoint to migrate known account and routing numbers to Plaid Items. Note that Items created in this way are not compatible with endpoints for other products, such as `/accounts/balance/get`, and can only be used with Bank Transfer endpoints. If you require access to other endpoints, create the Item through Link instead. Access to `/bank_transfer/migrate_account` is not enabled by default; to obtain access, contact your Plaid account manager. + * @param bankTransferMigrateAccountRequest (required) + * @return Call<BankTransferMigrateAccountResponse> + * @deprecated + * + * @see (Deprecated) Migrate account into Bank Transfers Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("bank_transfer/migrate_account") + Call bankTransferMigrateAccount( + @retrofit2.http.Body BankTransferMigrateAccountRequest bankTransferMigrateAccountRequest + ); + + /** + * (Deprecated) Retrieve a sweep + * The `/bank_transfer/sweep/get` endpoint fetches information about the sweep corresponding to the given `sweep_id`. + * @param bankTransferSweepGetRequest (required) + * @return Call<BankTransferSweepGetResponse> + * @deprecated + * + * @see (Deprecated) Retrieve a sweep Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("bank_transfer/sweep/get") + Call bankTransferSweepGet( + @retrofit2.http.Body BankTransferSweepGetRequest bankTransferSweepGetRequest + ); + + /** + * (Deprecated) List sweeps + * The `/bank_transfer/sweep/list` endpoint fetches information about the sweeps matching the given filters. + * @param bankTransferSweepListRequest (required) + * @return Call<BankTransferSweepListResponse> + * @deprecated + * + * @see (Deprecated) List sweeps Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("bank_transfer/sweep/list") + Call bankTransferSweepList( + @retrofit2.http.Body BankTransferSweepListRequest bankTransferSweepListRequest + ); + + /** + * (Deprecated) Evaluate risk of a bank account + * Use `/beacon/account_risk/v1/evaluate` to get risk insights for a linked account. + * @param beaconAccountRiskEvaluateRequest (required) + * @return Call<BeaconAccountRiskEvaluateResponse> + * @deprecated + * + * @see (Deprecated) Evaluate risk of a bank account Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("beacon/account_risk/v1/evaluate") + Call beaconAccountRiskEvaluate( + @retrofit2.http.Body BeaconAccountRiskEvaluateRequest beaconAccountRiskEvaluateRequest + ); + + /** + * (Deprecated) Get a Beacon Duplicate + * Returns a Beacon Duplicate for a given Beacon Duplicate id. A Beacon Duplicate represents a pair of similar Beacon Users within your organization. Two Beacon User revisions are returned for each Duplicate record in either the `beacon_user1` or `beacon_user2` response fields. The `analysis` field in the response indicates which fields matched between `beacon_user1` and `beacon_user2`. + * @param beaconDuplicateGetRequest (required) + * @return Call<BeaconDuplicateGetResponse> + * @deprecated + * + * @see (Deprecated) Get a Beacon Duplicate Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("beacon/duplicate/get") + Call beaconDuplicateGet( + @retrofit2.http.Body BeaconDuplicateGetRequest beaconDuplicateGetRequest + ); + + /** + * (Deprecated) Create a Beacon Report + * Create a fraud report for a given Beacon User. + * @param beaconReportCreateRequest (required) + * @return Call<BeaconReportCreateResponse> + * @deprecated + * + * @see (Deprecated) Create a Beacon Report Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("beacon/report/create") + Call beaconReportCreate( + @retrofit2.http.Body BeaconReportCreateRequest beaconReportCreateRequest + ); + + /** + * (Deprecated) Get a Beacon Report + * Returns a Beacon Report for a given Beacon Report ID. + * @param beaconReportGetRequest (required) + * @return Call<BeaconReportGetResponse> + * @deprecated + * + * @see (Deprecated) Get a Beacon Report Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("beacon/report/get") + Call beaconReportGet( + @retrofit2.http.Body BeaconReportGetRequest beaconReportGetRequest + ); + + /** + * (Deprecated) List Beacon Reports for a Beacon User + * Use the `/beacon/report/list` endpoint to view all Beacon Reports you created for a specific Beacon User. The reports returned by this endpoint are exclusively reports you created for a specific user. A Beacon User can only have one active report at a time, but a new report can be created if a previous report has been deleted. The results from this endpoint are paginated; the `next_cursor` field will be populated if there is another page of results that can be retrieved. To fetch the next page, pass the `next_cursor` value as the `cursor` parameter in the next request. + * @param beaconReportListRequest (required) + * @return Call<BeaconReportListResponse> + * @deprecated + * + * @see (Deprecated) List Beacon Reports for a Beacon User Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("beacon/report/list") + Call beaconReportList( + @retrofit2.http.Body BeaconReportListRequest beaconReportListRequest + ); + + /** + * (Deprecated) Get a Beacon Report Syndication + * Returns a Beacon Report Syndication for a given Beacon Report Syndication id. + * @param beaconReportSyndicationGetRequest (required) + * @return Call<BeaconReportSyndicationGetResponse> + * @deprecated + * + * @see (Deprecated) Get a Beacon Report Syndication Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("beacon/report_syndication/get") + Call beaconReportSyndicationGet( + @retrofit2.http.Body BeaconReportSyndicationGetRequest beaconReportSyndicationGetRequest + ); + + /** + * (Deprecated) List Beacon Report Syndications for a Beacon User + * Use the `/beacon/report_syndication/list` endpoint to view all Beacon Reports that have been syndicated to a specific Beacon User. This endpoint returns Beacon Report Syndications which are references to Beacon Reports created either by you, or another Beacon customer, that matched the specified Beacon User. A Beacon User can have multiple active Beacon Report Syndications at once. The results from this endpoint are paginated; the `next_cursor` field will be populated if there is another page of results that can be retrieved. To fetch the next page, pass the `next_cursor` value as the `cursor` parameter in the next request. + * @param beaconReportSyndicationListRequest (required) + * @return Call<BeaconReportSyndicationListResponse> + * @deprecated + * + * @see (Deprecated) List Beacon Report Syndications for a Beacon User Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("beacon/report_syndication/list") + Call beaconReportSyndicationList( + @retrofit2.http.Body BeaconReportSyndicationListRequest beaconReportSyndicationListRequest + ); + + /** + * (Deprecated) Get Account Insights for a Beacon User + * Get Account Insights for all Accounts linked to this Beacon User. The insights for each account are computed based on the information that was last retrieved from the financial institution. + * @param beaconUserAccountInsightsGetRequest (required) + * @return Call<BeaconUserAccountInsightsGetResponse> + * @deprecated + * + * @see (Deprecated) Get Account Insights for a Beacon User Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("beacon/user/account_insights/get") + Call beaconUserAccountInsightsGet( + @retrofit2.http.Body BeaconUserAccountInsightsGetRequest beaconUserAccountInsightsGetRequest + ); + + /** + * (Deprecated) Create a Beacon User + * Create and scan a Beacon User against your Beacon Program, according to your program's settings. When you submit a new user to `/beacon/user/create`, several checks are performed immediately: - The user's PII (provided within the `user` object) is searched against all other users within the Beacon Program you specified. If a match is found that violates your program's \"Duplicate Information Filtering\" settings, the user will be returned with a status of `pending_review`. - The user's PII is also searched against all fraud reports created by your organization across all of your Beacon Programs. If the user's data matches a fraud report that your team created, the user will be returned with a status of `rejected`. - Finally, the user's PII is searched against all fraud reports shared with the Beacon Network by other companies. If a matching fraud report is found, the user will be returned with a `pending_review` status if your program has enabled automatic flagging based on network fraud. + * @param beaconUserCreateRequest (required) + * @return Call<BeaconUserCreateResponse> + * @deprecated + * + * @see (Deprecated) Create a Beacon User Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("beacon/user/create") + Call beaconUserCreate( + @retrofit2.http.Body BeaconUserCreateRequest beaconUserCreateRequest + ); + + /** + * (Deprecated) Get a Beacon User + * Fetch a Beacon User. The Beacon User is returned with all of their associated information and a `status` based on the Beacon Network duplicate record and fraud checks. + * @param beaconUserGetRequest (required) + * @return Call<BeaconUserGetResponse> + * @deprecated + * + * @see (Deprecated) Get a Beacon User Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("beacon/user/get") + Call beaconUserGet( + @retrofit2.http.Body BeaconUserGetRequest beaconUserGetRequest + ); + + /** + * (Deprecated) List a Beacon User's history + * List all changes to the Beacon User in reverse-chronological order. + * @param beaconUserHistoryListRequest (required) + * @return Call<BeaconUserHistoryListResponse> + * @deprecated + * + * @see (Deprecated) List a Beacon User's history Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("beacon/user/history/list") + Call beaconUserHistoryList( + @retrofit2.http.Body BeaconUserHistoryListRequest beaconUserHistoryListRequest + ); + + /** + * (Deprecated) Review a Beacon User + * Update the status of a Beacon User. When updating a Beacon User's status via this endpoint, Plaid validates that the status change is consistent with the related state for this Beacon User. Specifically, we will check: 1. Whether there are any associated Beacon Reports connected to the Beacon User, and 2. Whether there are any confirmed Beacon Report Syndications connected to the Beacon User. When updating a Beacon User's status to `rejected`, we enforce that either a Beacon Report has been created for the Beacon User or a Beacon Report Syndication has been confirmed. When updating a Beacon User's status to `cleared`, we enforce that there are no active Beacon Reports or confirmed Beacon Report Syndications associated with the user. If you previously created a Beacon Report for this user, you must delete it before updating the Beacon User's status to `cleared`. There are no restrictions on updating a Beacon User's status to `pending_review`. If these conditions are not met, the request will be rejected with an error explaining the issue. + * @param beaconUserReviewRequest (required) + * @return Call<BeaconUserGetResponse> + * @deprecated + * + * @see (Deprecated) Review a Beacon User Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("beacon/user/review") + Call beaconUserReview( + @retrofit2.http.Body BeaconUserReviewRequest beaconUserReviewRequest + ); + + /** + * (Deprecated) Update the identity data of a Beacon User + * Update the identity data for a Beacon User in your Beacon Program or add new accounts to the Beacon User. Similar to `/beacon/user/create`, several checks are performed immediately when you submit an identity data change to `/beacon/user/update`: - The user's updated PII is searched against all other users within the Beacon Program you specified. If a match is found that violates your program's \"Duplicate Information Filtering\" settings, the user will be returned with a status of `pending_review`. - The user's updated PII is also searched against all fraud reports created by your organization across all of your Beacon Programs. If the user's data matches a fraud report that your team created, the user will be returned with a status of `rejected`. - Finally, the user's PII is searched against all fraud reports shared with the Beacon Network by other companies. If a matching fraud report is found, the user will be returned with a `pending_review` status if your program has enabled automatic flagging based on network fraud. Plaid maintains a version history for each Beacon User, so the Beacon User's identity data before and after the update is retained as separate versions. + * @param beaconUserUpdateRequest (required) + * @return Call<BeaconUserUpdateResponse> + * @deprecated + * + * @see (Deprecated) Update the identity data of a Beacon User Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("beacon/user/update") + Call beaconUserUpdate( + @retrofit2.http.Body BeaconUserUpdateRequest beaconUserUpdateRequest + ); + + /** + * Get EWA Score Report + * The `/beta/ewa_report/v1/get` endpoint provides an Earned Wage Access (EWA) score that quantifies the delinquency risk associated with a given item. The score is derived from a combination of cashflow patterns and network-based behavioral features. The response returns a list of EWA scores, where each score corresponds to a potential advance amount range. These scores estimate the likelihood of repayment for advances within that range. Score range: 1-99 Interpretation: Higher scores indicate a greater likelihood of repayment. This endpoint enables clients to assess repayment risk and make data-driven decisions when determining eligibility or limits for earned wage advances. + * @param betaEwaReportV1GetRequest (required) + * @return Call<BetaEwaReportV1GetResponse> + * + * @see Get EWA Score Report Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("beta/ewa_report/v1/get") + Call betaEwaReportV1Get( + @retrofit2.http.Body BetaEwaReportV1GetRequest betaEwaReportV1GetRequest + ); + + /** + * Creates a new end customer for a Plaid reseller. + * The `/beta/partner/customer/v1/create` endpoint creates a new end customer record. You can provide as much information as you have available. If any required information is missing for the products you intend to use, it will be listed in the `requirements_due` field of the response. + * @param betaPartnerCustomerV1CreateRequest (required) + * @return Call<BetaPartnerCustomerV1CreateResponse> + * + * @see Creates a new end customer for a Plaid reseller. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("beta/partner/customer/v1/create") + Call betaPartnerCustomerV1Create( + @retrofit2.http.Body BetaPartnerCustomerV1CreateRequest betaPartnerCustomerV1CreateRequest + ); + + /** + * Enables a Plaid reseller's end customer in the Production environment. + * The `/beta/partner/customer/v1/enable` endpoint is used by reseller partners to enable an end customer in the full Production environment. + * @param betaPartnerCustomerV1EnableRequest (required) + * @return Call<BetaPartnerCustomerV1EnableResponse> + * + * @see Enables a Plaid reseller's end customer in the Production environment. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("beta/partner/customer/v1/enable") + Call betaPartnerCustomerV1Enable( + @retrofit2.http.Body BetaPartnerCustomerV1EnableRequest betaPartnerCustomerV1EnableRequest + ); + + /** + * Retrieves the details of a Plaid reseller's end customer. + * The `/beta/partner/customer/v1/get` endpoint is used by reseller partners to retrieve data about a single end customer. + * @param betaPartnerCustomerV1GetRequest (required) + * @return Call<BetaPartnerCustomerV1GetResponse> + * + * @see Retrieves the details of a Plaid reseller's end customer. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("beta/partner/customer/v1/get") + Call betaPartnerCustomerV1Get( + @retrofit2.http.Body BetaPartnerCustomerV1GetRequest betaPartnerCustomerV1GetRequest + ); + + /** + * Updates an existing end customer. + * The `/beta/partner/customer/v1/update` endpoint updates an existing end customer record. + * @param betaPartnerCustomerV1UpdateRequest (required) + * @return Call<BetaPartnerCustomerV1UpdateResponse> + * + * @see Updates an existing end customer. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("beta/partner/customer/v1/update") + Call betaPartnerCustomerV1Update( + @retrofit2.http.Body BetaPartnerCustomerV1UpdateRequest betaPartnerCustomerV1UpdateRequest + ); + + /** + * Create a Business Verification + * Create a new business verification to check a business's identity and risk profile. + * @param businessVerificationCreateRequest (required) + * @return Call<BusinessVerificationCreateResponse> + * + * @see Create a Business Verification Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("business_verification/create") + Call businessVerificationCreate( + @retrofit2.http.Body BusinessVerificationCreateRequest businessVerificationCreateRequest + ); + + /** + * Get a Business Verification + * Retrieve the current state of a specific business verification. + * @param businessVerificationGetRequest (required) + * @return Call<BusinessVerificationGetResponse> + * + * @see Get a Business Verification Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("business_verification/get") + Call businessVerificationGet( + @retrofit2.http.Body BusinessVerificationGetRequest businessVerificationGetRequest + ); + + /** + * Gets transaction data in `cashflow_report` + * The `/cashflow_report/get` endpoint retrieves transactions data associated with an Item. Transactions data is standardized across financial institutions. Transactions are returned in reverse-chronological order, and the sequence of transaction ordering is stable and will not shift. Transactions are not immutable and can also be removed altogether by the institution; a removed transaction will no longer appear in `/cashflow_report/get`. For more details, see [Pending and posted transactions](https://plaid.com/docs/transactions/transactions-data/#pending-and-posted-transactions). Due to the potentially large number of transactions associated with an Item, results are paginated. Manipulate the `count` and `cursor` parameters in conjunction with the `has_more` response body field to fetch all available transactions. Note that data isn't likely to be immediately available to `/cashflow_report/get`. Plaid will begin to prepare transactions data upon Item link, if Link was initialized with `cashflow_report`, or if it wasn't, upon the first call to `/cashflow_report/refresh`. To be alerted when transaction data is ready to be fetched, listen for the `CASHFLOW_REPORT_READY` webhook. + * @param cashflowReportGetRequest (required) + * @return Call<CashflowReportGetResponse> + * + * @see Gets transaction data in `cashflow_report` Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cashflow_report/get") + Call cashflowReportGet( + @retrofit2.http.Body CashflowReportGetRequest cashflowReportGetRequest + ); + + /** + * Gets insights data in Cashflow Report + * The `/cashflow_report/insights/get` endpoint retrieves insights data associated with an Item. Insights are only calculated on credit and depository accounts. + * @param cashflowReportInsightsGetRequest (required) + * @return Call<CashflowReportInsightsGetResponse> + * + * @see Gets insights data in Cashflow Report Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cashflow_report/insights/get") + Call cashflowReportInsightsGet( + @retrofit2.http.Body CashflowReportInsightsGetRequest cashflowReportInsightsGetRequest + ); + + /** + * Refresh transaction data in `cashflow_report` + * `/cashflow_report/refresh` is an endpoint that initiates an on-demand extraction to fetch the newest transactions for an Item (given an `item_id`). The Item must already have Cashflow Report added as a product in order to call `/cashflow_report/refresh`. After calling `/cashflow_report/refresh`, Plaid will fire a webhook `CASHFLOW_REPORT_READY` alerting clients that new transactions data can then be ingested via `/cashflow_report/get` or the webhook will contain an error code informing there was an error in refreshing transactions data. Note that the `/cashflow_report/refresh` endpoint is not supported for Capital One (`ins_128026`) non-depository accounts and will result in a `PRODUCTS_NOT_SUPPORTED` error if called on an Item that contains only non-depository accounts from that institution. As this endpoint triggers a synchronous request for fresh data, latency may be higher than for other Plaid endpoints (typically less than 10 seconds, but up to 30 seconds or more). If you encounter errors, you may find it necessary to adjust your timeout period for requests. + * @param cashflowReportRefreshRequest (required) + * @return Call<CashflowReportRefreshResponse> + * + * @see Refresh transaction data in `cashflow_report` Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cashflow_report/refresh") + Call cashflowReportRefresh( + @retrofit2.http.Body CashflowReportRefreshRequest cashflowReportRefreshRequest + ); + + /** + * Gets transaction data in `cashflow_report` + * The `/cashflow_report/transactions/get` endpoint retrieves transactions data associated with an Item. Transactions data is standardized across financial institutions. Transactions are returned in reverse-chronological order, and the sequence of transaction ordering is stable and will not shift. Transactions are not immutable and can also be removed altogether by the institution; a removed transaction will no longer appear in `/cashflow_report/transactions/get`. For more details, see [Pending and posted transactions](https://plaid.com/docs/transactions/transactions-data/#pending-and-posted-transactions). Due to the potentially large number of transactions associated with an Item, results are paginated. Manipulate the `count` and `cursor` parameters in conjunction with the `has_more` response body field to fetch all available transactions. Note that data isn't likely to be immediately available to `/cashflow_report/transactions/get`. Plaid will begin to prepare transactions data upon Item link, if Link was initialized with `cashflow_report`, or if it wasn't, upon the first call to `/cashflow_report/refresh`. To be alerted when transaction data is ready to be fetched, listen for the `CASHFLOW_REPORT_READY` webhook. + * @param cashflowReportTransactionsGetRequest (required) + * @return Call<CashflowReportTransactionsGetResponse> + * + * @see Gets transaction data in `cashflow_report` Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cashflow_report/transactions/get") + Call cashflowReportTransactionsGet( + @retrofit2.http.Body CashflowReportTransactionsGetRequest cashflowReportTransactionsGetRequest + ); + + /** + * (Deprecated) Get legacy categories + * Send a request to the `/categories/get` endpoint to get detailed information on legacy categories returned by Plaid. This endpoint does not require authentication. All implementations are recommended to [use the newer `personal_finance_category` taxonomy](https://plaid.com/docs/transactions/pfc-migration/) instead of the legacy `category` taxonomy supported by this endpoint. + * @param body (required) + * @return Call<CategoriesGetResponse> + * @deprecated + * + * @see (Deprecated) Get legacy categories Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("categories/get") + Call categoriesGet( + @retrofit2.http.Body Object body + ); + + /** + * List a historical log of item consent events + * List a historical log of Item consent events. Consent logs are only available for events occurring on or after November 7, 2024. Extremely recent events (occurring within the past 12 hours) may not be available via this endpoint. Up to three years of consent logs will be available via the endpoint. + * @param consentEventsGetRequest (required) + * @return Call<ConsentEventsGetResponse> + * + * @see List a historical log of item consent events Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("consent/events/get") + Call consentEventsGet( + @retrofit2.http.Body ConsentEventsGetRequest consentEventsGetRequest + ); + + /** + * Retrieve PDF Reports + * Retrieves all existing CRB Bank Income and Base reports for the consumer in PDF format. Response is PDF binary data. The `request_id` is returned in the `Plaid-Request-ID` header. + * @param consumerReportPDFGetRequest (required) + * @return Call<ResponseBody> + * + * @see Retrieve PDF Reports Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("consumer_report/pdf/get") + Call consumerReportPdfGet( + @retrofit2.http.Body ConsumerReportPDFGetRequest consumerReportPDFGetRequest + ); + + /** + * Retrieve a Base Report + * This endpoint allows you to retrieve the Base Report for your user, allowing you to receive comprehensive bank account and cash flow data. You should call this endpoint after you've received a `CHECK_REPORT_READY` or a `USER_CHECK_REPORT_READY` webhook, either after the Link session for the user or after calling `/cra/check_report/create`. If the most recent consumer report for the user doesn't have sufficient data to generate the base report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling `/cra/check_report/create`. + * @param craCheckReportBaseReportGetRequest (required) + * @return Call<CraCheckReportBaseReportGetResponse> + * + * @see Retrieve a Base Report Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/check_report/base_report/get") + Call craCheckReportBaseReportGet( + @retrofit2.http.Body CraCheckReportBaseReportGetRequest craCheckReportBaseReportGetRequest + ); + + /** + * Retrieve cash flow insights from your user's banking data + * This endpoint allows you to retrieve the Cashflow Insights report for your user. You should call this endpoint after you've received a `CHECK_REPORT_READY` or a `USER_CHECK_REPORT_READY` webhook, either after the Link session for the user or after calling `/cra/check_report/create`. If the most recent consumer report for the user doesn't have sufficient data to generate the report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling `/cra/check_report/create`. + * @param craCheckReportCashflowInsightsGetRequest (required) + * @return Call<CraCheckReportCashflowInsightsGetResponse> + * + * @see Retrieve cash flow insights from your user's banking data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/check_report/cashflow_insights/get") + Call craCheckReportCashflowInsightsGet( + @retrofit2.http.Body CraCheckReportCashflowInsightsGetRequest craCheckReportCashflowInsightsGetRequest + ); + + /** + * Refresh or create a Consumer Report + * Use `/cra/check_report/create` to refresh data in an existing report. A Consumer Report will last for 24 hours before expiring; you should call any `/get` endpoints on the report before it expires. If a report expires, you can call `/cra/check_report/create` again to re-generate it and refresh the data in the report. + * @param craCheckReportCreateRequest (required) + * @return Call<CraCheckReportCreateResponse> + * + * @see Refresh or create a Consumer Report Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/check_report/create") + Call craCheckReportCreate( + @retrofit2.http.Body CraCheckReportCreateRequest craCheckReportCreateRequest + ); + + /** + * Retrieve income insights from your user's banks + * This endpoint allows you to retrieve the Income Insights report for your user. You should call this endpoint after you've received a `CHECK_REPORT_READY` or a `USER_CHECK_REPORT_READY` webhook, either after the Link session for the user or after calling `/cra/check_report/create`. If the most recent consumer report for the user doesn't have sufficient data to generate the report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling `/cra/check_report/create`. NOTE: The following schema was updated in April 2026 to reflect the response when the provided version is \"II2\". Please see [this document](https://docs.google.com/document/d/1kQkQ7FOgFaC4n-sUGUk74hoXZNY_L_nJeCuMe7Keip4/edit?tab=t.0#heading=h.rudamzinus2i) for guidance on migrating to II2 if you are currently using the II1 version, and [this section](https://docs.google.com/document/d/1kQkQ7FOgFaC4n-sUGUk74hoXZNY_L_nJeCuMe7Keip4/edit?tab=t.0#bookmark=id.tdcc2wpk0h60) for an example II1 response along with its [documentation](https://docs.google.com/document/d/1kQkQ7FOgFaC4n-sUGUk74hoXZNY_L_nJeCuMe7Keip4/edit?tab=t.36c85n2ircqk#heading=h.79dwr5c1iszl). + * @param craCheckReportIncomeInsightsGetRequest (required) + * @return Call<CraCheckReportIncomeInsightsGetResponse> + * + * @see Retrieve income insights from your user's banks Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/check_report/income_insights/get") + Call craCheckReportIncomeInsightsGet( + @retrofit2.http.Body CraCheckReportIncomeInsightsGetRequest craCheckReportIncomeInsightsGetRequest + ); + + /** + * Retrieve the LendScore from your user's banking data + * This endpoint allows you to retrieve the LendScore report for your user. You should call this endpoint after you've received a `CHECK_REPORT_READY` or a `USER_CHECK_REPORT_READY` webhook, either after the Link session for the user or after calling `/cra/check_report/create`. If the most recent consumer report for the user doesn't have sufficient data to generate the report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling `/cra/check_report/create`. + * @param craCheckReportLendScoreGetRequest (required) + * @return Call<CraCheckReportLendScoreGetResponse> + * + * @see Retrieve the LendScore from your user's banking data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/check_report/lend_score/get") + Call craCheckReportLendScoreGet( + @retrofit2.http.Body CraCheckReportLendScoreGetRequest craCheckReportLendScoreGetRequest + ); + + /** + * Retrieve network attributes for the user + * This endpoint allows you to retrieve the Network Insights report for your user. You should call this endpoint after you've received a `CHECK_REPORT_READY` or a `USER_CHECK_REPORT_READY` webhook, either after the Link session for the user or after calling `/cra/check_report/create`. If the most recent consumer report for the user doesn't have sufficient data to generate the report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling `/cra/check_report/create`. + * @param craCheckReportNetworkInsightsGetRequest (required) + * @return Call<CraCheckReportNetworkInsightsGetResponse> + * + * @see Retrieve network attributes for the user Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/check_report/network_insights/get") + Call craCheckReportNetworkInsightsGet( + @retrofit2.http.Body CraCheckReportNetworkInsightsGetRequest craCheckReportNetworkInsightsGetRequest + ); + + /** + * Retrieve cash flow insights from partners + * This endpoint allows you to retrieve the Partner Insights report for your user. You should call this endpoint after you've received a `CHECK_REPORT_READY` or a `USER_CHECK_REPORT_READY` webhook, either after the Link session for the user or after calling `/cra/check_report/create`. If the most recent consumer report for the user doesn't have sufficient data to generate the report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling `/cra/check_report/create`. + * @param craCheckReportPartnerInsightsGetRequest (required) + * @return Call<CraCheckReportPartnerInsightsGetResponse> + * + * @see Retrieve cash flow insights from partners Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/check_report/partner_insights/get") + Call craCheckReportPartnerInsightsGet( + @retrofit2.http.Body CraCheckReportPartnerInsightsGetRequest craCheckReportPartnerInsightsGetRequest + ); + + /** + * Retrieve a Consumer Report as a PDF + * `/cra/check_report/pdf/get` retrieves the most recent Consumer Report in PDF format. By default, the most recent Base Report (if it exists) for the user will be returned. To request that the most recent Partner Insights or Income Insights report be included in the PDF as well, use the `add-ons` field. + * @param craCheckReportPDFGetRequest (required) + * @return Call<ResponseBody> + * + * @see Retrieve a Consumer Report as a PDF Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/check_report/pdf/get") + Call craCheckReportPdfGet( + @retrofit2.http.Body CraCheckReportPDFGetRequest craCheckReportPDFGetRequest + ); + + /** + * Retrieve various home lending reports for a user + * This endpoint allows you to retrieve home lending reports for a user. To obtain a VoA or Employment Refresh report, you need to make sure that `cra_base_report` is included in the `products` parameter when calling `/link/token/create` or `/cra/check_report/create`. You should call this endpoint after you've received a `CHECK_REPORT_READY` or a `USER_CHECK_REPORT_READY` webhook, either after the Link session for the user or after calling `/cra/check_report/create`. If the most recent consumer report for the user doesn't have sufficient data to generate the report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling `/cra/check_report/create`. + * @param craCheckReportVerificationGetRequest (required) + * @return Call<CraCheckReportVerificationGetResponse> + * + * @see Retrieve various home lending reports for a user Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/check_report/verification/get") + Call craCheckReportVerificationGet( + @retrofit2.http.Body CraCheckReportVerificationGetRequest craCheckReportVerificationGetRequest + ); + + /** + * Retrieve a Consumer Report as a Verification PDF + * The `/cra/check_report/verification/pdf/get` endpoint retrieves the most recent Consumer Report in PDF format, specifically formatted for Home Lending verification use cases. Before calling this endpoint, ensure that you've created a VOA report through Link or the `/cra/check_report/create` endpoint, and have received a `CHECK_REPORT_READY` or a `USER_CHECK_REPORT_READY` webhook. The response to `/cra/check_report/verification/pdf/get` is the PDF binary data. The `request_id` is returned in the `Plaid-Request-ID` header. + * @param craCheckReportVerificationPdfGetRequest (required) + * @return Call<ResponseBody> + * + * @see Retrieve a Consumer Report as a Verification PDF Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/check_report/verification/pdf/get") + Call craCheckReportVerificationPdfGet( + @retrofit2.http.Body CraCheckReportVerificationPdfGetRequest craCheckReportVerificationPdfGetRequest + ); + + /** + * Retrieve the credit profile report for a user + * `/cra/credit_profile/report/get` retrieves a credit profile report for a user. + * @param craCreditProfileReportGetRequest (required) + * @return Call<CraCreditProfileReportGetResponse> + * + * @see Retrieve the credit profile report for a user Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/credit_profile/report/get") + Call craCreditProfileReportGet( + @retrofit2.http.Body CraCreditProfileReportGetRequest craCreditProfileReportGetRequest + ); + + /** + * Register loan applications and decisions + * `/cra/loans/applications/register` registers loan applications and decisions. + * @param craLoansApplicationsRegisterRequest (required) + * @return Call<CraLoansApplicationsRegisterResponse> + * + * @see Register loan applications and decisions Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/loans/applications/register") + Call craLoansApplicationsRegister( + @retrofit2.http.Body CraLoansApplicationsRegisterRequest craLoansApplicationsRegisterRequest + ); + + /** + * Register a list of loans to their applicants + * `/cra/loans/register` registers a list of loans to their applicants. + * @param crALoansRegisterRequest (required) + * @return Call<CraLoansRegisterResponse> + * + * @see Register a list of loans to their applicants Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/loans/register") + Call craLoansRegister( + @retrofit2.http.Body CRALoansRegisterRequest crALoansRegisterRequest + ); + + /** + * Unregister a list of loans + * `/cra/loans/unregister` indicates the loans have reached a final status and no further updates are expected. + * @param craLoansUnregisterRequest (required) + * @return Call<CraLoanUnregisterResponse> + * + * @see Unregister a list of loans Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/loans/unregister") + Call craLoansUnregister( + @retrofit2.http.Body CraLoansUnregisterRequest craLoansUnregisterRequest + ); + + /** + * Update loan data + * `/cra/loans/update` updates loan information such as the status and payment history. + * @param craLoansUpdateRequest (required) + * @return Call<CraLoansUpdateResponse> + * + * @see Update loan data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/loans/update") + Call craLoansUpdate( + @retrofit2.http.Body CraLoansUpdateRequest craLoansUpdateRequest + ); + + /** + * Retrieve a Monitoring Insights Report + * This endpoint allows you to retrieve a Cash Flow Updates report by passing in the `user_id` referred to in the webhook you received. + * @param craMonitoringInsightsGetRequest (required) + * @return Call<CraMonitoringInsightsGetResponse> + * + * @see Retrieve a Monitoring Insights Report Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/monitoring_insights/get") + Call craMonitoringInsightsGet( + @retrofit2.http.Body CraMonitoringInsightsGetRequest craMonitoringInsightsGetRequest + ); + + /** + * Subscribe to Monitoring Insights + * This endpoint allows you to subscribe to insights for a user's linked CRA Item, which are updated between one and four times per day (best-effort). In the current Cash Flow Updates beta experience, only one Item per user may be subscribed for monitoring updates. + * @param craMonitoringInsightsSubscribeRequest (required) + * @return Call<CraMonitoringInsightsSubscribeResponse> + * + * @see Subscribe to Monitoring Insights Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/monitoring_insights/subscribe") + Call craMonitoringInsightsSubscribe( + @retrofit2.http.Body CraMonitoringInsightsSubscribeRequest craMonitoringInsightsSubscribeRequest + ); + + /** + * Unsubscribe from Monitoring Insights + * This endpoint allows you to unsubscribe from previously subscribed Monitoring Insights. + * @param craMonitoringInsightsUnsubscribeRequest (required) + * @return Call<CraMonitoringInsightsUnsubscribeResponse> + * + * @see Unsubscribe from Monitoring Insights Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/monitoring_insights/unsubscribe") + Call craMonitoringInsightsUnsubscribe( + @retrofit2.http.Body CraMonitoringInsightsUnsubscribeRequest craMonitoringInsightsUnsubscribeRequest + ); + + /** + * Retrieve cash flow insights from the bank accounts used for income verification + * `/cra/partner_insights/get` returns cash flow insights for a specified user. + * @param craPartnerInsightsGetRequest (required) + * @return Call<CraPartnerInsightsGetResponse> + * + * @see Retrieve cash flow insights from the bank accounts used for income verification Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/partner_insights/get") + Call craPartnerInsightsGet( + @retrofit2.http.Body CraPartnerInsightsGetRequest craPartnerInsightsGetRequest + ); + + /** + * Retrieve a CRA Report for provided user + * `/cra/report/get` retrieves a CRA Report for a user. + * @param craReportGetRequest (required) + * @return Call<CraReportGetResponse> + * + * @see Retrieve a CRA Report for provided user Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("cra/report/get") + Call craReportGet( + @retrofit2.http.Body CraReportGetRequest craReportGetRequest + ); + + /** + * Create payment token + * The `/payment_initiation/payment/token/create` endpoint has been deprecated. New Plaid customers will be unable to use this endpoint, and existing customers are encouraged to migrate to the newer, `link_token`-based flow. The recommended flow is to provide the `payment_id` to `/link/token/create`, which returns a `link_token` used to initialize Link. The `/payment_initiation/payment/token/create` endpoint is used to create a `payment_token`, which can then be used in Link initialization to enter a payment initiation flow. You can only use a `payment_token` once. If this attempt fails, the end user aborts the flow, or the token expires, you will need to create a new payment token. Creating a new payment token does not require end user input. + * @param paymentInitiationPaymentTokenCreateRequest (required) + * @return Call<PaymentInitiationPaymentTokenCreateResponse> + * @deprecated + * + * @see Create payment token Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_initiation/payment/token/create") + Call createPaymentToken( + @retrofit2.http.Body PaymentInitiationPaymentTokenCreateRequest paymentInitiationPaymentTokenCreateRequest + ); + + /** + * Retrieve an Asset Report with Freddie Mac format. Only Freddie Mac can use this endpoint. + * The `/credit/asset_report/freddie_mac/get` endpoint retrieves the Asset Report in Freddie Mac's JSON format. + * @param assetReportFreddieGetRequest (required) + * @return Call<AssetReportFreddieGetResponse> + * + * @see Retrieve an Asset Report with Freddie Mac format. Only Freddie Mac can use this endpoint. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/asset_report/freddie_mac/get") + Call creditAssetReportFreddieMacGet( + @retrofit2.http.Body AssetReportFreddieGetRequest assetReportFreddieGetRequest + ); + + /** + * Create Asset or Income Report Audit Copy Token + * Plaid can create an Audit Copy token of an Asset Report and/or Income Report to share with a participating Government-Sponsored Enterprise (GSE) if you participate in Fannie Mae's Day 1 Certainty™ program or utilize Freddie Mac's Loan Product Advisor® (LPA®) Asset and Income Modeler (AIM). An Audit Copy token contains the same underlying data as the Asset Report and/or Income Report (result of `/credit/payroll_income/get`). Use the `/credit/audit_copy_token/create` endpoint to create an `audit_copy_token` and then pass that token to the GSE who needs access. + * @param creditAuditCopyTokenCreateRequest (required) + * @return Call<CreditAuditCopyTokenCreateResponse> + * + * @see Create Asset or Income Report Audit Copy Token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/audit_copy_token/create") + Call creditAuditCopyTokenCreate( + @retrofit2.http.Body CreditAuditCopyTokenCreateRequest creditAuditCopyTokenCreateRequest + ); + + /** + * Update an Audit Copy Token + * The `/credit/audit_copy_token/update` endpoint updates an existing Audit Copy Token by adding the report tokens in the `report_tokens` field to the `audit_copy_token`. If the Audit Copy Token already contains a report of a certain type, it will be replaced with the token provided in the `report_tokens` field. + * @param creditAuditCopyTokenUpdateRequest (required) + * @return Call<CreditAuditCopyTokenUpdateResponse> + * + * @see Update an Audit Copy Token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/audit_copy_token/update") + Call creditAuditCopyTokenUpdate( + @retrofit2.http.Body CreditAuditCopyTokenUpdateRequest creditAuditCopyTokenUpdateRequest + ); + + /** + * Retrieve information from the bank accounts used for employment verification + * `/beta/credit/v1/bank_employment/get` returns the employment report(s) derived from bank transaction data for a specified user. + * @param creditBankEmploymentGetRequest (required) + * @return Call<CreditBankEmploymentGetResponse> + * + * @see Retrieve information from the bank accounts used for employment verification Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("beta/credit/v1/bank_employment/get") + Call creditBankEmploymentGet( + @retrofit2.http.Body CreditBankEmploymentGetRequest creditBankEmploymentGetRequest + ); + + /** + * Retrieve information from the bank accounts used for income verification + * `/credit/bank_income/get` returns the bank income report(s) for a specified user. A single report corresponds to all institutions linked in a single Link session. To include multiple institutions in a single report, use [Multi-Item Link](https://plaid.com/docs/link/multi-item-link). To return older reports, use the `options.count` field. + * @param creditBankIncomeGetRequest (required) + * @return Call<CreditBankIncomeGetResponse> + * + * @see Retrieve information from the bank accounts used for income verification Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/bank_income/get") + Call creditBankIncomeGet( + @retrofit2.http.Body CreditBankIncomeGetRequest creditBankIncomeGetRequest + ); + + /** + * Retrieve information from the bank accounts used for income verification in PDF format + * `/credit/bank_income/pdf/get` returns the most recent bank income report for a specified user in PDF format. A single report corresponds to all institutions linked in a single Link session. To include multiple institutions in a single report, use [Multi-Item Link](https://plaid.com/docs/link/multi-item-link). + * @param creditBankIncomePDFGetRequest (required) + * @return Call<ResponseBody> + * + * @see Retrieve information from the bank accounts used for income verification in PDF format Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/bank_income/pdf/get") + Call creditBankIncomePdfGet( + @retrofit2.http.Body CreditBankIncomePDFGetRequest creditBankIncomePDFGetRequest + ); + + /** + * Refresh a user's bank income information + * `/credit/bank_income/refresh` is deprecated. The backend implementation was removed (returns an `Unimplemented` error at runtime), and the endpoint is no longer part of the documented API surface. To refresh Bank Income data for an existing user, send the user through Link's update mode so they can confirm their income sources. For a fully backend refresh, migrate to CRA Income Insights and call `/cra/check_report/create`. + * @param creditBankIncomeRefreshRequest (required) + * @return Call<CreditBankIncomeRefreshResponse> + * @deprecated + * + * @see Refresh a user's bank income information Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/bank_income/refresh") + Call creditBankIncomeRefresh( + @retrofit2.http.Body CreditBankIncomeRefreshRequest creditBankIncomeRefreshRequest + ); + + /** + * Subscribe and unsubscribe to proactive notifications for a user's income profile + * `/credit/bank_income/webhook/update` allows you to subscribe or unsubscribe a user for income webhook notifications. By default, all users start out unsubscribed. If a user is subscribed, on significant changes to the user's income profile, you will receive a `BANK_INCOME_REFRESH_UPDATE` webhook, prompting you to refresh bank income data for the user. + * @param creditBankIncomeWebhookUpdateRequest (required) + * @return Call<CreditBankIncomeWebhookUpdateResponse> + * + * @see Subscribe and unsubscribe to proactive notifications for a user's income profile Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/bank_income/webhook/update") + Call creditBankIncomeWebhookUpdate( + @retrofit2.http.Body CreditBankIncomeWebhookUpdateRequest creditBankIncomeWebhookUpdateRequest + ); + + /** + * Retrieve data for a user's uploaded bank statements + * `/credit/bank_statements/uploads/get` returns parsed data from bank statements uploaded by users as part of the Document Income flow. If your account is not enabled for Document Parsing, contact your account manager to request access. + * @param creditBankStatementsUploadsGetRequest (required) + * @return Call<CreditBankStatementsUploadsGetResponse> + * + * @see Retrieve data for a user's uploaded bank statements Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/bank_statements/uploads/get") + Call creditBankStatementsUploadsGet( + @retrofit2.http.Body CreditBankStatementsUploadsGetRequest creditBankStatementsUploadsGetRequest + ); + + /** + * Retrieve a summary of an individual's employment information + * `/credit/employment/get` returns a list of items with employment information from a user's payroll provider that was verified by an end user. + * @param creditEmploymentGetRequest (required) + * @return Call<CreditEmploymentGetResponse> + * + * @see Retrieve a summary of an individual's employment information Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/employment/get") + Call creditEmploymentGet( + @retrofit2.http.Body CreditEmploymentGetRequest creditEmploymentGetRequest + ); + + /** + * Retrieve an Asset Report with Freddie Mac format (aka VOA - Verification Of Assets), and a Verification Of Employment (VOE) report if this one is available. Only Freddie Mac can use this endpoint. + * The `/credit/freddie_mac/reports/get` endpoint retrieves the Verification of Assets and Verification of Employment reports. + * @param creditFreddieMacReportsGetRequest (required) + * @return Call<CreditFreddieMacReportsGetResponse> + * + * @see Retrieve an Asset Report with Freddie Mac format (aka VOA - Verification Of Assets), and a Verification Of Employment (VOE) report if this one is available. Only Freddie Mac can use this endpoint. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/freddie_mac/reports/get") + Call creditFreddieMacReportsGet( + @retrofit2.http.Body CreditFreddieMacReportsGetRequest creditFreddieMacReportsGetRequest + ); + + /** + * Retrieve a user's payroll information + * This endpoint gets payroll income information for a specific user, either as a result of the user connecting to their payroll provider or uploading a pay related document. + * @param creditPayrollIncomeGetRequest (required) + * @return Call<CreditPayrollIncomeGetResponse> + * + * @see Retrieve a user's payroll information Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/payroll_income/get") + Call creditPayrollIncomeGet( + @retrofit2.http.Body CreditPayrollIncomeGetRequest creditPayrollIncomeGetRequest + ); + + /** + * Update the parsing configuration for a document income verification + * `/credit/payroll_income/parsing_config/update` updates the parsing configuration for a document income verification. + * @param creditPayrollIncomeParsingConfigUpdateRequest (required) + * @return Call<CreditPayrollIncomeParsingConfigUpdateResponse> + * + * @see Update the parsing configuration for a document income verification Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/payroll_income/parsing_config/update") + Call creditPayrollIncomeParsingConfigUpdate( + @retrofit2.http.Body CreditPayrollIncomeParsingConfigUpdateRequest creditPayrollIncomeParsingConfigUpdateRequest + ); + + /** + * Check income verification eligibility and optimize conversion + * `/credit/payroll_income/precheck` is an optional endpoint that can be called before initializing a Link session for income verification. It evaluates whether a given user is supportable by digital income verification. If the user is eligible for digital verification, that information will be associated with the user token, and in this way will generate a Link UI optimized for the end user and their specific employer. If the user cannot be confirmed as eligible, the user can still use the income verification flow, but they may be required to manually upload a paystub to verify their income. While all request fields are optional, providing `employer` data will increase the chance of receiving a useful result. When testing in Sandbox, you can control the results by providing special test values in the `employer` and `access_tokens` fields. `employer_good` and `employer_bad` will result in `HIGH` and `LOW` confidence values, respectively. `employer_multi` will result in a `HIGH` confidence with multiple payroll options. Likewise, `access_good` and `access_bad` will result in `HIGH` and `LOW` confidence values, respectively. Any other value for `employer` and `access_tokens` in Sandbox will result in `UNKNOWN` confidence. + * @param creditPayrollIncomePrecheckRequest (required) + * @return Call<CreditPayrollIncomePrecheckResponse> + * @deprecated + * + * @see Check income verification eligibility and optimize conversion Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/payroll_income/precheck") + Call creditPayrollIncomePrecheck( + @retrofit2.http.Body CreditPayrollIncomePrecheckRequest creditPayrollIncomePrecheckRequest + ); + + /** + * Refresh a digital payroll income verification + * `/credit/payroll_income/refresh` refreshes a given digital payroll income verification. + * @param creditPayrollIncomeRefreshRequest (required) + * @return Call<CreditPayrollIncomeRefreshResponse> + * + * @see Refresh a digital payroll income verification Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/payroll_income/refresh") + Call creditPayrollIncomeRefresh( + @retrofit2.http.Body CreditPayrollIncomeRefreshRequest creditPayrollIncomeRefreshRequest + ); + + /** + * Retrieve fraud insights for a user's manually uploaded document(s). + * `/credit/payroll_income/risk_signals/get` can be used as part of the Document Income flow to assess a user-uploaded document for signs of potential fraud or tampering. It returns a risk score for each uploaded document that indicates the likelihood of the document being fraudulent, in addition to details on the individual risk signals contributing to the score. To trigger risk signal generation for an Item, call `/link/token/create` with `parsing_config` set to include `risk_signals`, or call `/credit/payroll_income/parsing_config/update`. Once risk signal generation has been triggered, `/credit/payroll_income/risk_signals/get` can be called at any time after the `INCOME_VERIFICATION_RISK_SIGNALS` webhook has been fired. `/credit/payroll_income/risk_signals/get` is offered as an add-on to Document Income and is billed separately. To request access to this endpoint, submit a product access request or contact your Plaid account manager. + * @param creditPayrollIncomeRiskSignalsGetRequest (required) + * @return Call<CreditPayrollIncomeRiskSignalsGetResponse> + * + * @see Retrieve fraud insights for a user's manually uploaded document(s). Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/payroll_income/risk_signals/get") + Call creditPayrollIncomeRiskSignalsGet( + @retrofit2.http.Body CreditPayrollIncomeRiskSignalsGetRequest creditPayrollIncomeRiskSignalsGetRequest + ); + + /** + * Create a relay token to share an Asset Report with a partner client + * Plaid can share an Asset Report directly with a participating third party on your behalf. The shared Asset Report is the exact same Asset Report originally created in `/asset_report/create`. To grant a third party access to an Asset Report, use the `/credit/relay/create` endpoint to create a `relay_token` and then pass that token to your third party. Each third party has its own `secondary_client_id`; for example, `ce5bd328dcd34123456`. You'll need to create a separate `relay_token` for each third party that needs access to the report on your behalf. + * @param creditRelayCreateRequest (required) + * @return Call<CreditRelayCreateResponse> + * + * @see Create a relay token to share an Asset Report with a partner client Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/relay/create") + Call creditRelayCreate( + @retrofit2.http.Body CreditRelayCreateRequest creditRelayCreateRequest + ); + + /** + * Retrieve the reports associated with a relay token that was shared with you + * `/credit/relay/get` allows third parties to receive a report that was shared with them, using a `relay_token` that was created by the report owner. + * @param creditRelayGetRequest (required) + * @return Call<AssetReportGetResponse> + * + * @see Retrieve the reports associated with a relay token that was shared with you Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/relay/get") + Call creditRelayGet( + @retrofit2.http.Body CreditRelayGetRequest creditRelayGetRequest + ); + + /** + * Retrieve the PDF reports associated with a relay token that was shared with you (beta) + * `/credit/relay/pdf/get` allows third parties to receive a PDF report that was shared with them, using a `relay_token` that was created by the report owner. The `/credit/relay/pdf/get` endpoint retrieves the Asset Report in PDF format. Before calling `/credit/relay/pdf/get`, you must first create the Asset Report using `/credit/relay/create` and then wait for the [`PRODUCT_READY`](https://plaid.com/docs/api/products/assets/#product_ready) webhook to fire, indicating that the Report is ready to be retrieved. The response to `/credit/relay/pdf/get` is the PDF binary data. The `request_id` is returned in the `Plaid-Request-ID` header. [View a sample PDF Asset Report](https://plaid.com/documents/sample-asset-report.pdf). + * @param creditRelayPDFGetRequest (required) + * @return Call<ResponseBody> + * + * @see Retrieve the PDF reports associated with a relay token that was shared with you (beta) Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/relay/pdf/get") + Call creditRelayPdfGet( + @retrofit2.http.Body CreditRelayPDFGetRequest creditRelayPDFGetRequest + ); + + /** + * Refresh a report of a relay token + * The `/credit/relay/refresh` endpoint allows third parties to refresh a report that was relayed to them, using a `relay_token` that was created by the report owner. A new report will be created with the original report parameters, but with the most recent data available based on the `days_requested` value of the original report. + * @param creditRelayRefreshRequest (required) + * @return Call<CreditRelayRefreshResponse> + * + * @see Refresh a report of a relay token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/relay/refresh") + Call creditRelayRefresh( + @retrofit2.http.Body CreditRelayRefreshRequest creditRelayRefreshRequest + ); + + /** + * Remove relay token + * The `/credit/relay/remove` endpoint allows you to invalidate a `relay_token`. The third party holding the token will no longer be able to access or refresh the reports which the `relay_token` gives access to. The original report, associated Items, and other relay tokens that provide access to the same report are not affected and will remain accessible after removing the given `relay_token`. + * @param creditRelayRemoveRequest (required) + * @return Call<CreditRelayRemoveResponse> + * + * @see Remove relay token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/relay/remove") + Call creditRelayRemove( + @retrofit2.http.Body CreditRelayRemoveRequest creditRelayRemoveRequest + ); + + /** + * Remove an Audit Copy token + * The `/credit/audit_copy_token/remove` endpoint allows you to remove an Audit Copy. Removing an Audit Copy invalidates the `audit_copy_token` associated with it, meaning both you and any third parties holding the token will no longer be able to use it to access Report data. Items associated with the Report data and other Audit Copies of it are not affected and will remain accessible after removing the given Audit Copy. + * @param creditAuditCopyTokenRemoveRequest (required) + * @return Call<CreditAuditCopyTokenRemoveResponse> + * + * @see Remove an Audit Copy token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/audit_copy_token/remove") + Call creditReportAuditCopyRemove( + @retrofit2.http.Body CreditAuditCopyTokenRemoveRequest creditAuditCopyTokenRemoveRequest + ); + + /** + * Retrieve Link sessions for your user + * This endpoint can be used for your end users after they complete the Link flow. This endpoint returns a list of Link sessions that your user completed, where each session includes the results from the Link flow. These results include details about the Item that was created and some product related metadata (showing, for example, whether the user finished the bank income verification step). + * @param creditSessionsGetRequest (required) + * @return Call<CreditSessionsGetResponse> + * + * @see Retrieve Link sessions for your user Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("credit/sessions/get") + Call creditSessionsGet( + @retrofit2.http.Body CreditSessionsGetRequest creditSessionsGetRequest + ); + + /** + * Retrieve a Dashboard user + * The `/dashboard_user/get` endpoint provides details (such as email address) about a specific Dashboard user based on the `dashboard_user_id` field, which is returned in the `audit_trail` object of certain Monitor and Beacon endpoints. This can be used to identify the specific reviewer who performed a Dashboard action. + * @param dashboardUserGetRequest (required) + * @return Call<DashboardUserGetResponse> + * + * @see Retrieve a Dashboard user Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("dashboard_user/get") + Call dashboardUserGet( + @retrofit2.http.Body DashboardUserGetRequest dashboardUserGetRequest + ); + + /** + * List Dashboard users + * The `/dashboard_user/list` endpoint provides details (such as email address) about all Dashboard users associated with your account. This can be used to audit or track the list of reviewers for Monitor, Beacon, and Identity Verification products. + * @param dashboardUserListRequest (required) + * @return Call<DashboardUserListResponse> + * + * @see List Dashboard users Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("dashboard_user/list") + Call dashboardUserList( + @retrofit2.http.Body DashboardUserListRequest dashboardUserListRequest + ); + + /** + * (Deprecated) Search employer database + * `/employers/search` allows you the ability to search Plaid's database of known employers, for use with Deposit Switch. You can use this endpoint to look up a user's employer in order to confirm that they are supported. Users with non-supported employers can then be routed out of the Deposit Switch flow. The data in the employer database is currently limited. As the Deposit Switch and Income products progress through their respective beta periods, more employers are being regularly added. Because the employer database is frequently updated, we recommend that you do not cache or store data from this endpoint for more than a day. + * @param employersSearchRequest (required) + * @return Call<EmployersSearchResponse> + * @deprecated + * + * @see (Deprecated) Search employer database Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("employers/search") + Call employersSearch( + @retrofit2.http.Body EmployersSearchRequest employersSearchRequest + ); + + /** + * (Deprecated) Retrieve a summary of an individual's employment information + * `/employment/verification/get` returns a list of employments through a user payroll that was verified by an end user. This endpoint has been deprecated; new integrations should use `/credit/employment/get` instead. + * @param employmentVerificationGetRequest (required) + * @return Call<EmploymentVerificationGetResponse> + * @deprecated + * + * @see (Deprecated) Retrieve a summary of an individual's employment information Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("employment/verification/get") + Call employmentVerificationGet( + @retrofit2.http.Body EmploymentVerificationGetRequest employmentVerificationGetRequest + ); + + /** + * Get FDX Consent Grant + * Returns a consent grant by its identifier + * @param consentId Consent Grant Identifier. Uniquely identifies the consent grant (required) + * @return Call<FDXConsentGrant> + */ + @GET("fdx/consents/{consentId}") + Call fdxConsentsGet( + @retrofit2.http.Path("consentId") String consentId + ); + + /** + * List FDX Consent Grants for a customer + * Returns zero or more consent grants associated with the given data provider customer, optionally filtered by status. + * @param customerId Data provider customer identifier whose consent grants to return. (required) + * @param status Optional filter restricting results to a single consent grant status. One of `ACTIVE`, `REVOKED`, `EXPIRED`. (optional) + * @return Call<GetConsentsResponse> + */ + @GET("fdx/consents") + Call fdxConsentsList( + @retrofit2.http.Query("customerId") String customerId, @retrofit2.http.Query("status") FDXConsentGrantStatus status + ); + + /** + * Retrieve FDX Consent Grant revocation records + * Returns the revocation history of a consent grant + * @param consentId Consent Grant Identifier. Uniquely identifies the consent grant (required) + * @return Call<FDXConsentRevocations> + */ + @GET("fdx/consents/{consentId}/revocation") + Call fdxConsentsRevocationGet( + @retrofit2.http.Path("consentId") String consentId + ); + + /** + * Revoke FDX Consent Grant + * Appends a REVOKED status record to the named consent grant + * @param consentId Consent Grant Identifier. Uniquely identifies the consent grant (required) + * @param fdXConsentRevocation (required) + * @return Call<Void> + */ + @Headers({ + "Content-Type:application/json" + }) + @PUT("fdx/consents/{consentId}/revocation") + Call fdxConsentsRevoke( + @retrofit2.http.Path("consentId") String consentId, @retrofit2.http.Body FDXConsentRevocation fdXConsentRevocation + ); + + /** + * Webhook receiver for fdx notifications + * A generic webhook receiver endpoint for FDX Event Notifications + * @param fdXNotification (required) + * @return Call<Void> + * + * @see Webhook receiver for fdx notifications Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("fdx/notifications") + Call fdxNotifications( + @retrofit2.http.Body FDXNotification fdXNotification + ); + + /** + * Get Recipient + * Get a specific recipient + * @param recipientId Recipient Identifier. Uniquely identifies the recipient (required) + * @param OAUTH_STATE_ID The value that is passed into the OAuth URI 'state' query parameter. (optional) + * @return Call<GetRecipientResponse> + */ + @GET("fdx/recipient/{recipientId}") + Call getRecipient( + @retrofit2.http.Path("recipientId") String recipientId, @retrofit2.http.Header("OAUTH-STATE-ID") String OAUTH_STATE_ID + ); + + /** + * Get Recipients + * Returns a list of Recipients + * @return Call<GetRecipientsResponse> + */ + @GET("fdx/recipients") + Call getRecipients(); + + + /** + * Returns uploaded document identity + * Use `/identity/documents/uploads/get` to retrieve identity details when using [Identity Document Upload](https://plaid.com/docs/identity/identity-document-upload/). + * @param identityDocumentsUploadsGetRequest (required) + * @return Call<IdentityDocumentsUploadsGetResponse> + * + * @see Returns uploaded document identity Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("identity/documents/uploads/get") + Call identityDocumentsUploadsGet( + @retrofit2.http.Body IdentityDocumentsUploadsGetRequest identityDocumentsUploadsGetRequest + ); + + /** + * Retrieve identity data + * The `/identity/get` endpoint allows you to retrieve various account holder information on file with the financial institution, including names, emails, phone numbers, and addresses. Only name data is guaranteed to be returned; other fields will be empty arrays if not provided by the institution. Note: In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29). + * @param identityGetRequest (required) + * @return Call<IdentityGetResponse> + * + * @see Retrieve identity data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("identity/get") + Call identityGet( + @retrofit2.http.Body IdentityGetRequest identityGetRequest + ); + + /** + * Retrieve identity match score + * The `/identity/match` endpoint generates a match score, which indicates how well the provided identity data matches the identity information on file with the account holder's financial institution. Fields within the `balances` object will always be null when retrieved by `/identity/match`. Instead, use the free `/accounts/get` endpoint to request balance cached data, or `/accounts/balance/get` or `/signal/evaluate` for real-time data. + * @param identityMatchRequest (required) + * @return Call<IdentityMatchResponse> + * + * @see Retrieve identity match score Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("identity/match") + Call identityMatch( + @retrofit2.http.Body IdentityMatchRequest identityMatchRequest + ); + + /** + * Refresh identity data + * `/identity/refresh` is an optional endpoint for users of the Identity product. It initiates an on-demand extraction to fetch the most up to date Identity information from the Financial Institution. This on-demand extraction takes place in addition to the periodic extractions that automatically occur for any Identity-enabled Item. If changes to Identity are discovered after calling `/identity/refresh`, Plaid will fire a webhook [`DEFAULT_UPDATE`](https://plaid.com/docs/api/products/identity/#default_update). As this endpoint triggers a synchronous request for fresh data, latency may be higher than for other Plaid endpoints (typically less than 10 seconds, but occasionally up to 30 seconds or more); if you encounter errors, you may find it necessary to adjust your timeout period when making requests. `/identity/refresh` is offered as an add-on to Identity and has a separate [fee model](https://plaid.com/docs/account/billing/#per-request-flat-fee). To request access to this endpoint, submit a [product access request](https://dashboard.plaid.com/team/products) or contact your Plaid account manager. + * @param identityRefreshRequest (required) + * @return Call<IdentityRefreshResponse> + * + * @see Refresh identity data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("identity/refresh") + Call identityRefresh( + @retrofit2.http.Body IdentityRefreshRequest identityRefreshRequest + ); + + /** + * Create autofill for an Identity Verification + * Try to autofill an Identity Verification based on the provided phone number, date of birth and country of residence. + * @param identityVerificationAutofillCreateRequest (required) + * @return Call<IdentityVerificationAutofillCreateResponse> + * + * @see Create autofill for an Identity Verification Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("identity_verification/autofill/create") + Call identityVerificationAutofillCreate( + @retrofit2.http.Body IdentityVerificationAutofillCreateRequest identityVerificationAutofillCreateRequest + ); + + /** + * Create a new Identity Verification + * Create a new Identity Verification for the user specified by the `client_user_id` and/or `user_id` field. At least one of these two fields must be provided. The requirements and behavior of the verification are determined by the `template_id` provided. If `user_id` is provided, there must be an associated user; otherwise, an error will be returned. If you don't know whether an active Identity Verification exists for a given `client_user_id` and/or `user_id`, you can specify `\"is_idempotent\": true` in the request body. With idempotency enabled, a new Identity Verification will only be created if one does not already exist for the associated `client_user_id` and/or `user_id`, and `template_id`. If an Identity Verification is found, it will be returned unmodified with a `200 OK` HTTP status code. If `user_id` is not provided, you can also use this endpoint to supply information you already have collected about the user; if any of these fields are specified, the screens prompting the user to enter them will be skipped during the Link flow. If `user_id` is provided, user information can not be included in the request body. Please use the `/user/update` endpoint to update user data instead. + * @param identityVerificationCreateRequest (required) + * @return Call<IdentityVerificationCreateResponse> + * + * @see Create a new Identity Verification Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("identity_verification/create") + Call identityVerificationCreate( + @retrofit2.http.Body IdentityVerificationCreateRequest identityVerificationCreateRequest + ); + + /** + * Retrieve Identity Verification + * Retrieve a previously created Identity Verification. + * @param identityVerificationGetRequest (required) + * @return Call<IdentityVerificationGetResponse> + * + * @see Retrieve Identity Verification Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("identity_verification/get") + Call identityVerificationGet( + @retrofit2.http.Body IdentityVerificationGetRequest identityVerificationGetRequest + ); + + /** + * List Identity Verifications + * Filter and list Identity Verifications created by your account + * @param identityVerificationListRequest (required) + * @return Call<IdentityVerificationListResponse> + * + * @see List Identity Verifications Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("identity_verification/list") + Call identityVerificationList( + @retrofit2.http.Body IdentityVerificationListRequest identityVerificationListRequest + ); + + /** + * Retry an Identity Verification + * Allow a customer to retry their Identity Verification + * @param identityVerificationRetryRequest (required) + * @return Call<IdentityVerificationRetryResponse> + * + * @see Retry an Identity Verification Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("identity_verification/retry") + Call identityVerificationRetry( + @retrofit2.http.Body IdentityVerificationRetryRequest identityVerificationRetryRequest + ); + + /** + * (Deprecated) Create an income verification instance + * `/income/verification/create` begins the income verification process by returning an `income_verification_id`. You can then provide the `income_verification_id` to `/link/token/create` under the `income_verification` parameter in order to create a Link instance that will prompt the user to go through the income verification flow. Plaid will fire an `INCOME` webhook once the user completes the Payroll Income flow, or when the uploaded documents in the Document Income flow have finished processing. + * @param incomeVerificationCreateRequest (required) + * @return Call<IncomeVerificationCreateResponse> + * @deprecated + * + * @see (Deprecated) Create an income verification instance Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("income/verification/create") + Call incomeVerificationCreate( + @retrofit2.http.Body IncomeVerificationCreateRequest incomeVerificationCreateRequest + ); + + /** + * (Deprecated) Download the original documents used for income verification + * `/income/verification/documents/download` provides the ability to download the source documents associated with the verification. If Document Income was used, the documents will be those the user provided in Link. For Payroll Income, the most recent files available for download from the payroll provider will be available from this endpoint. The response to `/income/verification/documents/download` is a ZIP file in binary data. If a `document_id` is passed, a single document will be contained in this file. If not, the response will contain all documents associated with the verification. The `request_id` is returned in the `Plaid-Request-ID` header. + * @param incomeVerificationDocumentsDownloadRequest (required) + * @return Call<ResponseBody> + * @deprecated + * + * @see (Deprecated) Download the original documents used for income verification Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("income/verification/documents/download") + Call incomeVerificationDocumentsDownload( + @retrofit2.http.Body IncomeVerificationDocumentsDownloadRequest incomeVerificationDocumentsDownloadRequest + ); + + /** + * (Deprecated) Retrieve information from the paystubs used for income verification + * `/income/verification/paystubs/get` returns the information collected from the paystubs that were used to verify an end user's income. It can be called once the status of the verification has been set to `VERIFICATION_STATUS_PROCESSING_COMPLETE`, as reported by the `INCOME: verification_status` webhook. Attempting to call the endpoint before verification has been completed will result in an error. This endpoint has been deprecated; new integrations should use `/credit/payroll_income/get` instead. + * @param incomeVerificationPaystubsGetRequest (required) + * @return Call<IncomeVerificationPaystubsGetResponse> + * @deprecated + * + * @see (Deprecated) Retrieve information from the paystubs used for income verification Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("income/verification/paystubs/get") + Call incomeVerificationPaystubsGet( + @retrofit2.http.Body IncomeVerificationPaystubsGetRequest incomeVerificationPaystubsGetRequest + ); + + /** + * (Deprecated) Check digital income verification eligibility and optimize conversion + * `/income/verification/precheck` is an optional endpoint that can be called before initializing a Link session for income verification. It evaluates whether a given user is supportable by digital income verification and returns a `precheck_id` that can be provided to `/link/token/create`. If the user is eligible for digital verification, providing the `precheck_id` in this way will generate a Link UI optimized for the end user and their specific employer. If the user cannot be confirmed as eligible, the `precheck_id` can still be provided to `/link/token/create` and the user can still use the income verification flow, but they may be required to manually upload a paystub to verify their income. While all request fields are optional, providing either `employer` or `transactions_access_tokens` data will increase the chance of receiving a useful result. This endpoint has been deprecated; new integrations should use `/credit/payroll_income/precheck` instead. + * @param incomeVerificationPrecheckRequest (required) + * @return Call<IncomeVerificationPrecheckResponse> + * @deprecated + * + * @see (Deprecated) Check digital income verification eligibility and optimize conversion Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("income/verification/precheck") + Call incomeVerificationPrecheck( + @retrofit2.http.Body IncomeVerificationPrecheckRequest incomeVerificationPrecheckRequest + ); + + /** + * (Deprecated) Retrieve information from the tax documents used for income verification + * `/income/verification/taxforms/get` returns the information collected from forms that were used to verify an end user''s income. It can be called once the status of the verification has been set to `VERIFICATION_STATUS_PROCESSING_COMPLETE`, as reported by the `INCOME: verification_status` webhook. Attempting to call the endpoint before verification has been completed will result in an error. This endpoint has been deprecated; new integrations should use `/credit/payroll_income/get` instead. + * @param incomeVerificationTaxformsGetRequest (required) + * @return Call<IncomeVerificationTaxformsGetResponse> + * @deprecated + * + * @see (Deprecated) Retrieve information from the tax documents used for income verification Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("income/verification/taxforms/get") + Call incomeVerificationTaxformsGet( + @retrofit2.http.Body IncomeVerificationTaxformsGetRequest incomeVerificationTaxformsGetRequest + ); + + /** + * Get details of all supported institutions + * Returns a JSON response containing details on all financial institutions currently supported by Plaid. Because Plaid supports thousands of institutions, results are paginated. If there is no overlap between an institution's enabled products and a client's enabled products, then the institution will be filtered out from the response. As a result, the number of institutions returned may not match the count specified in the call. + * @param institutionsGetRequest (required) + * @return Call<InstitutionsGetResponse> + * + * @see Get details of all supported institutions Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("institutions/get") + Call institutionsGet( + @retrofit2.http.Body InstitutionsGetRequest institutionsGetRequest + ); + + /** + * Get details of an institution + * Returns a JSON response containing details on a specified financial institution currently supported by Plaid. Versioning note: API versions 2019-05-29 and earlier allow use of the `public_key` parameter instead of the `client_id` and `secret` to authenticate to this endpoint. The `public_key` has been deprecated; all customers are encouraged to use `client_id` and `secret` instead. + * @param institutionsGetByIdRequest (required) + * @return Call<InstitutionsGetByIdResponse> + * + * @see Get details of an institution Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("institutions/get_by_id") + Call institutionsGetById( + @retrofit2.http.Body InstitutionsGetByIdRequest institutionsGetByIdRequest + ); + + /** + * Search institutions + * Returns a JSON response containing details for institutions that match the query parameters, up to a maximum of ten institutions per query. Versioning note: API versions 2019-05-29 and earlier allow use of the `public_key` parameter instead of the `client_id` and `secret` parameters to authenticate to this endpoint. The `public_key` parameter has since been deprecated; all customers are encouraged to use `client_id` and `secret` instead. + * @param institutionsSearchRequest (required) + * @return Call<InstitutionsSearchResponse> + * + * @see Search institutions Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("institutions/search") + Call institutionsSearch( + @retrofit2.http.Body InstitutionsSearchRequest institutionsSearchRequest + ); + + /** + * Get data needed to authorize an investments transfer + * The `/investments/auth/get` endpoint allows developers to receive user-authorized data to facilitate the transfer of holdings + * @param investmentsAuthGetRequest (required) + * @return Call<InvestmentsAuthGetResponse> + * + * @see Get data needed to authorize an investments transfer Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("investments/auth/get") + Call investmentsAuthGet( + @retrofit2.http.Body InvestmentsAuthGetRequest investmentsAuthGetRequest + ); + + /** + * Get Investment holdings + * The `/investments/holdings/get` endpoint allows developers to receive user-authorized stock position data for `investment`-type accounts. + * @param investmentsHoldingsGetRequest (required) + * @return Call<InvestmentsHoldingsGetResponse> + * + * @see Get Investment holdings Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("investments/holdings/get") + Call investmentsHoldingsGet( + @retrofit2.http.Body InvestmentsHoldingsGetRequest investmentsHoldingsGetRequest + ); + + /** + * Refresh investment data + * `/investments/refresh` is an optional endpoint for users of the Investments product. It initiates an on-demand extraction to fetch the newest investment holdings and transactions for an Item. This on-demand extraction takes place in addition to the periodic extractions that automatically occur one or more times per day for any Investments-enabled Item. If changes to investments are discovered after calling `/investments/refresh`, Plaid will fire webhooks: [`HOLDINGS: DEFAULT_UPDATE`](https://plaid.com/docs/api/products/investments/#holdings-default_update) if any new holdings are detected, and [`INVESTMENTS_TRANSACTIONS: DEFAULT_UPDATE`](https://plaid.com/docs/api/products/investments/#investments_transactions-default_update) if any new investment transactions are detected. This webhook will typically not fire in the Sandbox environment, due to the lack of dynamic investment transactions and holdings data. To test this webhook in Sandbox, call `/sandbox/item/fire_webhook`. Updated holdings and investment transactions can be fetched by calling `/investments/holdings/get` and `/investments/transactions/get`. Note that the `/investments/refresh` endpoint is not supported by all institutions. If called on an Item from an institution that does not support this functionality, it will return a `PRODUCT_NOT_SUPPORTED` error. As this endpoint triggers a synchronous request for fresh data, latency may be higher than for other Plaid endpoints (typically less than 10 seconds, but occasionally up to 30 seconds or more); if you encounter errors, you may find it necessary to adjust your timeout period when making requests. `/investments/refresh` is offered as an add-on to Investments and has a separate [fee model](https://plaid.com/docs/account/billing/#per-request-flat-fee). To request access to this endpoint, submit a [product access request](https://dashboard.plaid.com/team/products) or contact your Plaid account manager. + * @param investmentsRefreshRequest (required) + * @return Call<InvestmentsRefreshResponse> + * + * @see Refresh investment data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("investments/refresh") + Call investmentsRefresh( + @retrofit2.http.Body InvestmentsRefreshRequest investmentsRefreshRequest + ); + + /** + * Get investment transactions + * The `/investments/transactions/get` endpoint allows developers to retrieve up to 24 months of user-authorized transaction data for investment accounts. Transactions are returned in reverse-chronological order, and the sequence of transaction ordering is stable and will not shift. Due to the potentially large number of investment transactions associated with an Item, results are paginated. Manipulate the count and offset parameters in conjunction with the `total_investment_transactions` response body field to fetch all available investment transactions. Note that Investments does not have a webhook to indicate when initial transaction data has loaded (unless you use the `async_update` option). Instead, if transactions data is not ready when `/investments/transactions/get` is first called, Plaid will wait for the data. For this reason, calling `/investments/transactions/get` immediately after Link may take up to one to two minutes to return. Data returned by the asynchronous investments extraction flow (when `async_update` is set to true) may not be immediately available to `/investments/transactions/get`. To be alerted when the data is ready to be fetched, listen for the `HISTORICAL_UPDATE` webhook. If no investments history is ready when `/investments/transactions/get` is called, it will return a `PRODUCT_NOT_READY` error. + * @param investmentsTransactionsGetRequest (required) + * @return Call<InvestmentsTransactionsGetResponse> + * + * @see Get investment transactions Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("investments/transactions/get") + Call investmentsTransactionsGet( + @retrofit2.http.Body InvestmentsTransactionsGetRequest investmentsTransactionsGetRequest + ); + + /** + * Get an Issue + * Retrieve detailed information about a specific `Issue`. This endpoint returns a single `Issue` object. + * @param issuesGetRequest (required) + * @return Call<IssuesGetResponse> + * + * @see Get an Issue Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("issues/get") + Call issuesGet( + @retrofit2.http.Body IssuesGetRequest issuesGetRequest + ); + + /** + * Search for an Issue + * Search for an issue associated with one of the following identifiers: `item_id`, `link_session_id` or Link session `request_id`. This endpoint returns a list of `Issue` objects, with an empty list indicating that no issues are associated with the provided identifier. At least one of the identifiers must be provided to perform the search. + * @param issuesSearchRequest (required) + * @return Call<IssuesSearchResponse> + * + * @see Search for an Issue Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("issues/search") + Call issuesSearch( + @retrofit2.http.Body IssuesSearchRequest issuesSearchRequest + ); + + /** + * Subscribe to an Issue + * Allows a user to subscribe to updates on a specific `Issue` using a POST method. Subscribers will receive webhook notifications when the issue status changes, particularly when resolved. + * @param issuesSubscribeRequest (required) + * @return Call<IssuesSubscribeResponse> + * + * @see Subscribe to an Issue Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("issues/subscribe") + Call issuesSubscribe( + @retrofit2.http.Body IssuesSubscribeRequest issuesSubscribeRequest + ); + + /** + * Invalidate access_token + * By default, the `access_token` associated with an Item does not expire and should be stored in a persistent, secure manner. You can use the `/item/access_token/invalidate` endpoint to rotate the `access_token` associated with an Item. The endpoint returns a new `access_token` and immediately invalidates the previous `access_token`. + * @param itemAccessTokenInvalidateRequest (required) + * @return Call<ItemAccessTokenInvalidateResponse> + * + * @see Invalidate access_token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("item/access_token/invalidate") + Call itemAccessTokenInvalidate( + @retrofit2.http.Body ItemAccessTokenInvalidateRequest itemAccessTokenInvalidateRequest + ); + + /** + * List a historical log of user consent events + * List a historical log of user consent events + * @param itemActivityListRequest (required) + * @return Call<ItemActivityListResponse> + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("item/activity/list") + Call itemActivityList( + @retrofit2.http.Body ItemActivityListRequest itemActivityListRequest + ); + + /** + * List a user's connected applications + * List a user's connected applications + * @param itemApplicationListRequest (required) + * @return Call<ItemApplicationListResponse> + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("item/application/list") + Call itemApplicationList( + @retrofit2.http.Body ItemApplicationListRequest itemApplicationListRequest + ); + + /** + * Update the scopes of access for a particular application + * Enable consumers to update product access on selected accounts for an application. + * @param itemApplicationScopesUpdateRequest (required) + * @return Call<ItemApplicationScopesUpdateResponse> + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("item/application/scopes/update") + Call itemApplicationScopesUpdate( + @retrofit2.http.Body ItemApplicationScopesUpdateRequest itemApplicationScopesUpdateRequest + ); + + /** + * Unlink a user's connected application + * Unlink a user's connected application. On an unlink request, Plaid will immediately revoke the Application's access to the User's data. The User will have to redo the OAuth authentication process in order to restore functionality. This endpoint only removes ongoing data access permissions, therefore the User will need to reach out to the Application itself in order to disable and delete their account and delete any data that the Application already received (if the Application does not do so by default). This endpoint should be called in real time as the User is unlinking an Application, and should not be batched in order to ensure that the change is reflected as soon as possible. + * @param itemApplicationUnlinkRequest (required) + * @return Call<ItemApplicationUnlinkResponse> + * + * @see Unlink a user's connected application Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("item/application/unlink") + Call itemApplicationUnlink( + @retrofit2.http.Body ItemApplicationUnlinkRequest itemApplicationUnlinkRequest + ); + + /** + * (Deprecated) Create public token + * Note: As of July 2020, the `/item/public_token/create` endpoint is deprecated. Instead, use `/link/token/create` with an `access_token` to create a Link token for use with [update mode](https://plaid.com/docs/link/update-mode). If you need your user to take action to restore or resolve an error associated with an Item, generate a public token with the `/item/public_token/create` endpoint and then initialize Link with that `public_token`. A `public_token` is one-time use and expires after 30 minutes. You use a `public_token` to initialize Link in [update mode](https://plaid.com/docs/link/update-mode) for a particular Item. You can generate a `public_token` for an Item even if you did not use Link to create the Item originally. The `/item/public_token/create` endpoint is **not** used to create your initial `public_token`. If you have not already received an `access_token` for a specific Item, use Link to obtain your `public_token` instead. See the [Quickstart](https://plaid.com/docs/quickstart) for more information. + * @param itemPublicTokenCreateRequest (required) + * @return Call<ItemPublicTokenCreateResponse> + * @deprecated + * + * @see (Deprecated) Create public token Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("item/public_token/create") + Call itemCreatePublicToken( + @retrofit2.http.Body ItemPublicTokenCreateRequest itemPublicTokenCreateRequest + ); + + /** + * Retrieve an Item + * Returns information about the status of an Item. + * @param itemGetRequest (required) + * @return Call<ItemGetResponse> + * + * @see Retrieve an Item Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("item/get") + Call itemGet( + @retrofit2.http.Body ItemGetRequest itemGetRequest + ); + + /** + * Import Item + * `/item/import` creates an Item via your Plaid Exchange Integration and returns an `access_token`. As part of an `/item/import` request, you will include a User ID (`user_auth.user_id`) and Authentication Token (`user_auth.auth_token`) that enable data aggregation through your Plaid Exchange API endpoints. These authentication principals are to be chosen by you. Upon creating an Item via `/item/import`, Plaid will automatically begin an extraction of that Item through the Plaid Exchange infrastructure you have already integrated. + * @param itemImportRequest (required) + * @return Call<ItemImportResponse> + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("item/import") + Call itemImport( + @retrofit2.http.Body ItemImportRequest itemImportRequest + ); + + /** + * Terminate products for an Item + * The `/item/products/terminate` endpoint allows you to terminate an Item. Once terminated, the `access_token` associated with the Item is no longer valid, billing for the Item's products is ended, and relevant webhooks are fired. `/item/products/terminate` is the recommended way to offboard users or disconnect accounts linked via Plaid. + * @param itemProductsTerminateRequest (required) + * @return Call<ItemProductsTerminateResponse> + * + * @see Terminate products for an Item Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("item/products/terminate") + Call itemProductsTerminate( + @retrofit2.http.Body ItemProductsTerminateRequest itemProductsTerminateRequest + ); + + /** + * Exchange public token for an access token + * Exchange a Link `public_token` for an API `access_token`. Link hands off the `public_token` client-side via the `onSuccess` callback once a user has successfully created an Item. The `public_token` is ephemeral and expires after 30 minutes. An `access_token` does not expire, but can be revoked by calling `/item/remove`. The response also includes an `item_id` that should be stored with the `access_token`. The `item_id` is used to identify an Item in a webhook. The `item_id` can also be retrieved by making an `/item/get` request. + * @param itemPublicTokenExchangeRequest (required) + * @return Call<ItemPublicTokenExchangeResponse> + * + * @see Exchange public token for an access token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("item/public_token/exchange") + Call itemPublicTokenExchange( + @retrofit2.http.Body ItemPublicTokenExchangeRequest itemPublicTokenExchangeRequest + ); + + /** + * Remove an Item + * The `/item/remove` endpoint allows you to remove an Item. Once removed, the `access_token`, as well as any processor tokens or bank account tokens associated with the Item, is no longer valid and cannot be used to access any data that was associated with the Item. Calling `/item/remove` is a recommended best practice when offboarding users or if a user chooses to disconnect an account linked via Plaid. For subscription products, such as Transactions, Liabilities, and Investments, calling `/item/remove` is required to end subscription billing for the Item, unless the end user revoked permission (e.g. via [https://my.plaid.com/](https://my.plaid.com/)). For more details, see [Subscription fee model](https://plaid.com/docs/account/billing/#subscription-fee). On a Trial plan, calling `/item/remove` does not impact the number of remaining Trial Items (bank connections) you have available. Removing an Item does not affect any Asset Reports or Audit Copies you have already created, which will remain accessible until you remove access to them specifically using the `/asset_report/remove` endpoint. Also note that for certain OAuth-based institutions, an Item removed via `/item/remove` may still show as an active connection in the institution's OAuth permission manager. API versions 2019-05-29 and earlier return a `removed` boolean as part of the response. + * @param itemRemoveRequest (required) + * @return Call<ItemRemoveResponse> + * + * @see Remove an Item Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("item/remove") + Call itemRemove( + @retrofit2.http.Body ItemRemoveRequest itemRemoveRequest + ); + + /** + * Update Webhook URL + * The POST `/item/webhook/update` allows you to update the webhook URL associated with an Item. This request triggers a [`WEBHOOK_UPDATE_ACKNOWLEDGED`](https://plaid.com/docs/api/items/#webhook_update_acknowledged) webhook to the newly specified webhook URL. + * @param itemWebhookUpdateRequest (required) + * @return Call<ItemWebhookUpdateResponse> + * + * @see Update Webhook URL Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("item/webhook/update") + Call itemWebhookUpdate( + @retrofit2.http.Body ItemWebhookUpdateRequest itemWebhookUpdateRequest + ); + + /** + * Retrieve Liabilities data + * The `/liabilities/get` endpoint returns various details about an Item with loan or credit accounts. Liabilities data is available primarily for US financial institutions, with some limited coverage of Canadian institutions. Currently supported account types are account type `credit` with account subtype `credit card` or `paypal`, and account type `loan` with account subtype `student` or `mortgage`. To limit accounts listed in Link to types and subtypes supported by Liabilities, you can use the `account_filters` parameter when [creating a Link token](https://plaid.com/docs/api/link/#linktokencreate). The types of information returned by Liabilities can include balances and due dates, loan terms, and account details such as original loan amount and guarantor. Data is refreshed approximately once per day; the latest data can be retrieved by calling `/liabilities/get`. + * @param liabilitiesGetRequest (required) + * @return Call<LiabilitiesGetResponse> + * + * @see Retrieve Liabilities data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("liabilities/get") + Call liabilitiesGet( + @retrofit2.http.Body LiabilitiesGetRequest liabilitiesGetRequest + ); + + /** + * Create Hosted Link session + * Use the `/link_delivery/create` endpoint to create a Hosted Link session. + * @param linkDeliveryCreateRequest (required) + * @return Call<LinkDeliveryCreateResponse> + * @deprecated + * + * @see Create Hosted Link session Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("link_delivery/create") + Call linkDeliveryCreate( + @retrofit2.http.Body LinkDeliveryCreateRequest linkDeliveryCreateRequest + ); + + /** + * Get Hosted Link session + * Use the `/link_delivery/get` endpoint to get the status of a Hosted Link session. + * @param linkDeliveryGetRequest (required) + * @return Call<LinkDeliveryGetResponse> + * @deprecated + * + * @see Get Hosted Link session Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("link_delivery/get") + Call linkDeliveryGet( + @retrofit2.http.Body LinkDeliveryGetRequest linkDeliveryGetRequest + ); + + /** + * Exchange the Link Correlation ID for a Link Token + * Exchange an OAuth `link_correlation_id` for the corresponding `link_token`. The `link_correlation_id` is only available for `payment_initiation` products and is provided to the client via the OAuth `redirect_uri` as a query parameter. The `link_correlation_id` is ephemeral and expires in a brief period, after which it can no longer be exchanged for the `link_token`. + * @param linkOAuthCorrelationIdExchangeRequest (required) + * @return Call<LinkOAuthCorrelationIdExchangeResponse> + * + * @see Exchange the Link Correlation ID for a Link Token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("link/oauth/correlation_id/exchange") + Call linkOauthCorrelationIdExchange( + @retrofit2.http.Body LinkOAuthCorrelationIdExchangeRequest linkOAuthCorrelationIdExchangeRequest + ); + + /** + * Create Link Token + * The `/link/token/create` endpoint creates a `link_token`, which is required as a parameter when initializing Link. Once Link has been initialized, it returns a `public_token`. For most Plaid products, the `public_token` is saved and exchanged for an `access_token` via `/item/public_token/exchange` as part of the main Link flow. For more details, see the [Link flow overview](https://plaid.com/docs/link/#link-flow-overview). A `link_token` generated by `/link/token/create` is also used to initialize other Link flows, such as the [update mode](https://plaid.com/docs/link/update-mode) flow for tokens with expired credentials, or the Identity Verification flow. + * @param linkTokenCreateRequest (required) + * @return Call<LinkTokenCreateResponse> + * + * @see Create Link Token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("link/token/create") + Call linkTokenCreate( + @retrofit2.http.Body LinkTokenCreateRequest linkTokenCreateRequest + ); + + /** + * Get Link Token + * The `/link/token/get` endpoint gets information about a Link session, including all callbacks fired during the session along with their metadata, including the public token. This endpoint is used with Link flows that don't provide a public token via frontend callbacks, such as the [Hosted Link flow](https://plaid.com/docs/link/hosted-link/) and the [Multi-Item Link flow](https://plaid.com/docs/link/multi-item-link/). It also can be useful for debugging purposes. By default, this endpoint will only return complete event data for Hosted Link sessions. To use `/link/token/get` to retrieve event data for non-Hosted-Link sessions, contact your account manager to request that your account be enabled for Link events. If you do not have an account manager, you can submit this request via a support ticket. Enablement for Link events will also cause you to receive additional webhooks related to Link events, such as the `SESSION_FINISHED` and `EVENTS` webhook. + * @param linkTokenGetRequest (required) + * @return Call<LinkTokenGetResponse> + * + * @see Get Link Token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("link/token/get") + Call linkTokenGet( + @retrofit2.http.Body LinkTokenGetRequest linkTokenGetRequest + ); + + /** + * Check a user's Plaid Network status + * The `/network/status/get` endpoint can be used to check whether Plaid has a matching profile for the user. This is useful for determining if a user is eligible for a streamlined experience, such as Layer. To access this endpoint, contact your Plaid account manager. Note: it is strongly recommended to check for Layer eligibility in the frontend. `/network/status/get` should only be used for checking Layer eligibility if a frontend check is not possible for your use case. For instructions on performing a frontend eligibility check, see the [Layer documentation](https://plaid.com/docs/layer/#integration-overview). + * @param networkStatusGetRequest (required) + * @return Call<NetworkStatusGetResponse> + * + * @see Check a user's Plaid Network status Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("network/status/get") + Call networkStatusGet( + @retrofit2.http.Body NetworkStatusGetRequest networkStatusGetRequest + ); + + /** + * Get metadata about an OAuth token + * `/oauth/introspect` returns metadata about an access token or refresh token. Note: This endpoint supports `Content-Type: application/x-www-form-urlencoded` as well as JSON. The fields for the form are equivalent to the fields for JSON and conform to the OAuth 2.0 specification. + * @param oauthIntrospectRequest (required) + * @return Call<OAuthIntrospectResponse> + * + * @see Get metadata about an OAuth token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("oauth/introspect") + Call oauthIntrospect( + @retrofit2.http.Body OAuthIntrospectRequest oauthIntrospectRequest + ); + + /** + * Revoke an OAuth token + * `/oauth/revoke` revokes an access or refresh token, preventing any further use. If a refresh token is revoked, all access and refresh tokens derived from it are also revoked, including exchanged tokens. Note: This endpoint supports `Content-Type: application/x-www-form-urlencoded` as well as JSON. The fields for the form are equivalent to the fields for JSON and conform to the OAuth 2.0 specification. + * @param oauthRevokeRequest (required) + * @return Call<OAuthRevokeResponse> + * + * @see Revoke an OAuth token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("oauth/revoke") + Call oauthRevoke( + @retrofit2.http.Body OAuthRevokeRequest oauthRevokeRequest + ); + + /** + * Create or refresh an OAuth access token + * `/oauth/token` issues an access token and refresh token depending on the `grant_type` provided. This endpoint supports `Content-Type: application/x-www-form-urlencoded` as well as JSON. The fields for the form are equivalent to the fields for JSON and conform to the OAuth 2.0 specification. + * @param oauthTokenRequest (required) + * @return Call<OAuthTokenResponse> + * + * @see Create or refresh an OAuth access token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("oauth/token") + Call oauthToken( + @retrofit2.http.Body OAuthTokenRequest oauthTokenRequest + ); + + /** + * Creates a new end customer for a Plaid reseller. + * The `/partner/customer/create` endpoint is used by reseller partners to create end customers. To create end customers, it should be called in the Production environment only, even when creating Sandbox API keys. If called in the Sandbox environment, it will return a sample response, but no customer will be created and the API keys will not be valid. + * @param partnerCustomerCreateRequest (required) + * @return Call<PartnerCustomerCreateResponse> + * + * @see Creates a new end customer for a Plaid reseller. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("partner/customer/create") + Call partnerCustomerCreate( + @retrofit2.http.Body PartnerCustomerCreateRequest partnerCustomerCreateRequest + ); + + /** + * Enables a Plaid reseller's end customer in the Production environment. + * The `/partner/customer/enable` endpoint is used by reseller partners to enable an end customer in the full Production environment. + * @param partnerCustomerEnableRequest (required) + * @return Call<PartnerCustomerEnableResponse> + * + * @see Enables a Plaid reseller's end customer in the Production environment. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("partner/customer/enable") + Call partnerCustomerEnable( + @retrofit2.http.Body PartnerCustomerEnableRequest partnerCustomerEnableRequest + ); + + /** + * Returns a Plaid reseller's end customer. + * The `/partner/customer/get` endpoint is used by reseller partners to retrieve data about a single end customer. + * @param partnerCustomerGetRequest (required) + * @return Call<PartnerCustomerGetResponse> + * + * @see Returns a Plaid reseller's end customer. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("partner/customer/get") + Call partnerCustomerGet( + @retrofit2.http.Body PartnerCustomerGetRequest partnerCustomerGetRequest + ); + + /** + * Returns OAuth-institution registration information for a given end customer. + * The `/partner/customer/oauth_institutions/get` endpoint is used by reseller partners to retrieve OAuth-institution registration information about a single end customer. To learn how to set up a webhook to listen to status update events, visit the [reseller documentation](https://plaid.com/docs/account/resellers/#enabling-end-customers). + * @param partnerCustomerOAuthInstitutionsGetRequest (required) + * @return Call<PartnerCustomerOAuthInstitutionsGetResponse> + * + * @see Returns OAuth-institution registration information for a given end customer. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("partner/customer/oauth_institutions/get") + Call partnerCustomerOauthInstitutionsGet( + @retrofit2.http.Body PartnerCustomerOAuthInstitutionsGetRequest partnerCustomerOAuthInstitutionsGetRequest + ); + + /** + * Removes a Plaid reseller's end customer. + * The `/partner/customer/remove` endpoint is used by reseller partners to remove an end customer. Removing an end customer will remove it from view in the Plaid Dashboard and deactivate its API keys. This endpoint can only be used to remove an end customer that has not yet been enabled in full Production. + * @param partnerCustomerRemoveRequest (required) + * @return Call<PartnerCustomerRemoveResponse> + * + * @see Removes a Plaid reseller's end customer. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("partner/customer/remove") + Call partnerCustomerRemove( + @retrofit2.http.Body PartnerCustomerRemoveRequest partnerCustomerRemoveRequest + ); + + /** + * Create payment consent + * The `/payment_initiation/consent/create` endpoint is used to create a payment consent, which can be used to initiate payments on behalf of the user. Payment consents are created with `UNAUTHORISED` status by default and must be authorised by the user before payments can be initiated. Consents can be limited in time and scope, and have constraints that describe limitations for payments. + * @param paymentInitiationConsentCreateRequest (required) + * @return Call<PaymentInitiationConsentCreateResponse> + * + * @see Create payment consent Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_initiation/consent/create") + Call paymentInitiationConsentCreate( + @retrofit2.http.Body PaymentInitiationConsentCreateRequest paymentInitiationConsentCreateRequest + ); + + /** + * Get payment consent + * The `/payment_initiation/consent/get` endpoint can be used to check the status of a payment consent, as well as to receive basic information such as recipient and constraints. + * @param paymentInitiationConsentGetRequest (required) + * @return Call<PaymentInitiationConsentGetResponse> + * + * @see Get payment consent Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_initiation/consent/get") + Call paymentInitiationConsentGet( + @retrofit2.http.Body PaymentInitiationConsentGetRequest paymentInitiationConsentGetRequest + ); + + /** + * Execute a single payment using consent + * The `/payment_initiation/consent/payment/execute` endpoint can be used to execute payments using payment consent. + * @param paymentInitiationConsentPaymentExecuteRequest (required) + * @return Call<PaymentInitiationConsentPaymentExecuteResponse> + * + * @see Execute a single payment using consent Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_initiation/consent/payment/execute") + Call paymentInitiationConsentPaymentExecute( + @retrofit2.http.Body PaymentInitiationConsentPaymentExecuteRequest paymentInitiationConsentPaymentExecuteRequest + ); + + /** + * Revoke payment consent + * The `/payment_initiation/consent/revoke` endpoint can be used to revoke the payment consent. Once the consent is revoked, it is not possible to initiate payments using it. + * @param paymentInitiationConsentRevokeRequest (required) + * @return Call<PaymentInitiationConsentRevokeResponse> + * + * @see Revoke payment consent Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_initiation/consent/revoke") + Call paymentInitiationConsentRevoke( + @retrofit2.http.Body PaymentInitiationConsentRevokeRequest paymentInitiationConsentRevokeRequest + ); + + /** + * Create a payment + * After creating a payment recipient, you can use the `/payment_initiation/payment/create` endpoint to create a payment to that recipient. Payments can be one-time or standing order (recurring) and can be denominated in EUR, GBP, or another chosen [currency](https://plaid.com/docs/api/products/payment-initiation/#payment_initiation-payment-create-request-amount-currency). If making domestic GBP-denominated payments, your recipient must have been created with Bacs numbers. In general, EUR-denominated payments will be sent via SEPA Credit Transfer, GBP-denominated payments will be sent via the Faster Payments network and for non-Eurozone markets typically via the local payment scheme, but the payment network used will be determined by the institution. Payments sent via Faster Payments will typically arrive immediately, while payments sent via SEPA Credit Transfer or other local payment schemes will typically arrive in one business day. Standing orders (recurring payments) must be denominated in GBP and can only be sent to recipients in the UK. Once created, standing order payments cannot be modified or canceled via the API. An end user can cancel or modify a standing order directly on their banking application or website, or by contacting the bank. Standing orders will follow the payment rules of the underlying rails (Faster Payments in UK). Payments can be sent Monday to Friday, excluding bank holidays. If the pre-arranged date falls on a weekend or bank holiday, the payment is made on the next working day. It is not possible to guarantee the exact time the payment will reach the recipient's account, although at least 90% of standing order payments are sent by 6am. + * @param paymentInitiationPaymentCreateRequest (required) + * @return Call<PaymentInitiationPaymentCreateResponse> + * + * @see Create a payment Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_initiation/payment/create") + Call paymentInitiationPaymentCreate( + @retrofit2.http.Body PaymentInitiationPaymentCreateRequest paymentInitiationPaymentCreateRequest + ); + + /** + * Get payment details + * The `/payment_initiation/payment/get` endpoint can be used to check the status of a payment, as well as to receive basic information such as recipient and payment amount. In the case of standing orders, the `/payment_initiation/payment/get` endpoint will provide information about the status of the overall standing order itself; the API cannot be used to retrieve payment status for individual payments within a standing order. Polling for status updates in Production is highly discouraged. Repeatedly calling `/payment_initiation/payment/get` to check a payment's status is unreliable and may trigger API rate limits. Only the `payment_status_update` webhook should be used to receive real-time status updates in Production. + * @param paymentInitiationPaymentGetRequest (required) + * @return Call<PaymentInitiationPaymentGetResponse> + * + * @see Get payment details Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_initiation/payment/get") + Call paymentInitiationPaymentGet( + @retrofit2.http.Body PaymentInitiationPaymentGetRequest paymentInitiationPaymentGetRequest + ); + + /** + * List payments + * The `/payment_initiation/payment/list` endpoint can be used to retrieve all created payments. By default, the 10 most recent payments are returned. You can request more payments and paginate through the results using the optional `count` and `cursor` parameters. + * @param paymentInitiationPaymentListRequest (required) + * @return Call<PaymentInitiationPaymentListResponse> + * + * @see List payments Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_initiation/payment/list") + Call paymentInitiationPaymentList( + @retrofit2.http.Body PaymentInitiationPaymentListRequest paymentInitiationPaymentListRequest + ); + + /** + * Reverse an existing payment + * Reverse a settled payment from a Plaid virtual account. The original payment must be in a settled state to be refunded. To refund partially, specify the amount as part of the request. If the amount is not specified, the refund amount will be equal to all of the remaining payment amount that has not been refunded yet. The refund will go back to the source account that initiated the payment. The original payment must have been initiated to a Plaid virtual account so that this account can be used to initiate the refund. Providing counterparty information such as date of birth and address increases the likelihood of refund being successful without human intervention. + * @param paymentInitiationPaymentReverseRequest (required) + * @return Call<PaymentInitiationPaymentReverseResponse> + * + * @see Reverse an existing payment Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_initiation/payment/reverse") + Call paymentInitiationPaymentReverse( + @retrofit2.http.Body PaymentInitiationPaymentReverseRequest paymentInitiationPaymentReverseRequest + ); + + /** + * Create payment recipient + * Create a payment recipient for payment initiation. The recipient must be in Europe, within a country that is a member of the Single Euro Payments Area (SEPA) or a non-Eurozone country [supported](https://support.plaid.com/hc/en-us/articles/27895826947735-What-Plaid-products-are-supported-in-each-country-and-region) by Plaid. For a standing order (recurring) payment, the recipient must be in the UK. It is recommended to use `bacs` in the UK and `iban` in EU. The endpoint is idempotent: if a developer has already made a request with the same payment details, Plaid will return the same `recipient_id`. + * @param paymentInitiationRecipientCreateRequest (required) + * @return Call<PaymentInitiationRecipientCreateResponse> + * + * @see Create payment recipient Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_initiation/recipient/create") + Call paymentInitiationRecipientCreate( + @retrofit2.http.Body PaymentInitiationRecipientCreateRequest paymentInitiationRecipientCreateRequest + ); + + /** + * Get payment recipient + * Get details about a payment recipient you have previously created. + * @param paymentInitiationRecipientGetRequest (required) + * @return Call<PaymentInitiationRecipientGetResponse> + * + * @see Get payment recipient Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_initiation/recipient/get") + Call paymentInitiationRecipientGet( + @retrofit2.http.Body PaymentInitiationRecipientGetRequest paymentInitiationRecipientGetRequest + ); + + /** + * List payment recipients + * The `/payment_initiation/recipient/list` endpoint lists the payment recipients that you have previously created. + * @param paymentInitiationRecipientListRequest (required) + * @return Call<PaymentInitiationRecipientListResponse> + * + * @see List payment recipients Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_initiation/recipient/list") + Call paymentInitiationRecipientList( + @retrofit2.http.Body PaymentInitiationRecipientListRequest paymentInitiationRecipientListRequest + ); + + /** + * Create payment profile + * Use `/payment_profile/create` endpoint to create a new payment profile. To initiate the account linking experience, call `/link/token/create` and provide the `payment_profile_token` in the `transfer.payment_profile_token` field. You can then use the `payment_profile_token` when creating transfers using `/transfer/authorization/create` and `/transfer/create`. + * @param paymentProfileCreateRequest (required) + * @return Call<PaymentProfileCreateResponse> + * @deprecated + * + * @see Create payment profile Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_profile/create") + Call paymentProfileCreate( + @retrofit2.http.Body PaymentProfileCreateRequest paymentProfileCreateRequest + ); + + /** + * Get payment profile + * Use `/payment_profile/get` endpoint to get the status of a given Payment Profile. + * @param paymentProfileGetRequest (required) + * @return Call<PaymentProfileGetResponse> + * @deprecated + * + * @see Get payment profile Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_profile/get") + Call paymentProfileGet( + @retrofit2.http.Body PaymentProfileGetRequest paymentProfileGetRequest + ); + + /** + * Remove payment profile + * Use the `/payment_profile/remove` endpoint to remove a given Payment Profile. Once it's removed, it can no longer be used to create transfers. + * @param paymentProfileRemoveRequest (required) + * @return Call<PaymentProfileRemoveResponse> + * @deprecated + * + * @see Remove payment profile Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("payment_profile/remove") + Call paymentProfileRemove( + @retrofit2.http.Body PaymentProfileRemoveRequest paymentProfileRemoveRequest + ); + + /** + * Retrieve the account associated with a processor token + * This endpoint returns the account associated with a given processor token. This endpoint retrieves cached information, rather than extracting fresh information from the institution. As a result, the account balance returned may not be up-to-date; for real-time balance information, use `/processor/balance/get` instead. Note that some information is nullable. + * @param processorAccountGetRequest (required) + * @return Call<ProcessorAccountGetResponse> + * + * @see Retrieve the account associated with a processor token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/account/get") + Call processorAccountGet( + @retrofit2.http.Body ProcessorAccountGetRequest processorAccountGetRequest + ); + + /** + * Create Apex processor token + * Used to create a token suitable for sending to Apex to enable Plaid-Apex integrations. + * @param processorApexProcessorTokenCreateRequest (required) + * @return Call<ProcessorTokenCreateResponse> + * + * @see Create Apex processor token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/apex/processor_token/create") + Call processorApexProcessorTokenCreate( + @retrofit2.http.Body ProcessorApexProcessorTokenCreateRequest processorApexProcessorTokenCreateRequest + ); + + /** + * Retrieve Auth data + * The `/processor/auth/get` endpoint returns the bank account and bank identification number (such as the routing number, for US accounts), for a checking, savings, or cash management account that''s associated with a given `processor_token`. The endpoint also returns high-level account data and balances when available. Versioning note: API versions 2019-05-29 and earlier use a different schema for the `numbers` object returned by this endpoint. For details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2020-09-14). + * @param processorAuthGetRequest (required) + * @return Call<ProcessorAuthGetResponse> + * + * @see Retrieve Auth data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/auth/get") + Call processorAuthGet( + @retrofit2.http.Body ProcessorAuthGetRequest processorAuthGetRequest + ); + + /** + * Retrieve Balance data + * The `/processor/balance/get` endpoint returns the real-time balance for each of an Item's accounts. While other endpoints may return a balance object, only `/processor/balance/get` forces the available and current balance fields to be refreshed rather than cached. + * @param processorBalanceGetRequest The `/processor/balance/get` endpoint returns the real-time balance for the account associated with a given `processor_token`. The current balance is the total amount of funds in the account. The available balance is the current balance less any outstanding holds or debits that have not yet posted to the account. Note that not all institutions calculate the available balance. In the event that available balance is unavailable from the institution, Plaid will return an available balance value of `null`. (required) + * @return Call<ProcessorBalanceGetResponse> + * + * @see Retrieve Balance data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/balance/get") + Call processorBalanceGet( + @retrofit2.http.Body ProcessorBalanceGetRequest processorBalanceGetRequest + ); + + /** + * (Deprecated) Create a bank transfer as a processor + * Use the `/processor/bank_transfer/create` endpoint to initiate a new bank transfer as a processor + * @param processorBankTransferCreateRequest (required) + * @return Call<ProcessorBankTransferCreateResponse> + * @deprecated + * + * @see (Deprecated) Create a bank transfer as a processor Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/bank_transfer/create") + Call processorBankTransferCreate( + @retrofit2.http.Body ProcessorBankTransferCreateRequest processorBankTransferCreateRequest + ); + + /** + * Retrieve Identity data + * The `/processor/identity/get` endpoint allows you to retrieve various account holder information on file with the financial institution, including names, emails, phone numbers, and addresses. + * @param processorIdentityGetRequest (required) + * @return Call<ProcessorIdentityGetResponse> + * + * @see Retrieve Identity data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/identity/get") + Call processorIdentityGet( + @retrofit2.http.Body ProcessorIdentityGetRequest processorIdentityGetRequest + ); + + /** + * Retrieve identity match score + * The `/processor/identity/match` endpoint generates a match score, which indicates how well the provided identity data matches the identity information on file with the account holder's financial institution. Fields within the `balances` object will always be null when retrieved by `/processor/identity/match`. Instead, use the `/processor/balance/get` endpoint to retrieve balance data. + * @param processorIdentityMatchRequest (required) + * @return Call<ProcessorIdentityMatchResponse> + * + * @see Retrieve identity match score Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/identity/match") + Call processorIdentityMatch( + @retrofit2.http.Body ProcessorIdentityMatchRequest processorIdentityMatchRequest + ); + + /** + * Get investment account authentication data + * The `/processor/investments/auth/get` endpoint allows you to retrieve information about the account authorized by a processor token, including account numbers, account owners, holdings, and data provenance information. To receive Investments Auth webhooks for a processor token, set its webhook URL via the [`/processor/token/webhook/update`](https://plaid.com/docs/api/processor-partners/#processortokenwebhookupdate) endpoint. + * @param processorInvestmentsAuthGetRequest (required) + * @return Call<ProcessorInvestmentsAuthGetResponse> + * + * @see Get investment account authentication data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/investments/auth/get") + Call processorInvestmentsAuthGet( + @retrofit2.http.Body ProcessorInvestmentsAuthGetRequest processorInvestmentsAuthGetRequest + ); + + /** + * Retrieve Investment Holdings + * This endpoint returns the stock position data of the account associated with a given processor token. + * @param processorInvestmentsHoldingsGetRequest (required) + * @return Call<ProcessorInvestmentsHoldingsGetResponse> + * + * @see Retrieve Investment Holdings Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/investments/holdings/get") + Call processorInvestmentsHoldingsGet( + @retrofit2.http.Body ProcessorInvestmentsHoldingsGetRequest processorInvestmentsHoldingsGetRequest + ); + + /** + * Get investment transactions data + * The `/processor/investments/transactions/get` endpoint allows developers to retrieve up to 24 months of user-authorized transaction data for the investment account associated with the processor token. Transactions are returned in reverse-chronological order, and the sequence of transaction ordering is stable and will not shift. Due to the potentially large number of investment transactions associated with the account, results are paginated. Manipulate the count and offset parameters in conjunction with the `total_investment_transactions` response body field to fetch all available investment transactions. Note that Investments does not have a webhook to indicate when initial transaction data has loaded (unless you use the `async_update` option). Instead, if transactions data is not ready when `/processor/investments/transactions/get` is first called, Plaid will wait for the data. For this reason, calling `/processor/investments/transactions/get` immediately after Link may take up to one to two minutes to return. Data returned by the asynchronous investments extraction flow (when `async_update` is set to true) may not be immediately available to `/processor/investments/transactions/get`. To be alerted when the data is ready to be fetched, listen for the `HISTORICAL_UPDATE` webhook. If no investments history is ready when `/processor/investments/transactions/get` is called, it will return a `PRODUCT_NOT_READY` error. To receive Investments Transactions webhooks for a processor token, set its webhook URL via the [`/processor/token/webhook/update`](https://plaid.com/docs/api/processor-partners/#processortokenwebhookupdate) endpoint. + * @param processorInvestmentsTransactionsGetRequest (required) + * @return Call<ProcessorInvestmentsTransactionsGetResponse> + * + * @see Get investment transactions data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/investments/transactions/get") + Call processorInvestmentsTransactionsGet( + @retrofit2.http.Body ProcessorInvestmentsTransactionsGetRequest processorInvestmentsTransactionsGetRequest + ); + + /** + * Retrieve Liabilities data + * The `/processor/liabilities/get` endpoint returns various details about a loan or credit account. Liabilities data is available primarily for US financial institutions, with some limited coverage of Canadian institutions. Currently supported account types are account type `credit` with account subtype `credit card` or `paypal`, and account type `loan` with account subtype `student` or `mortgage`. The types of information returned by Liabilities can include balances and due dates, loan terms, and account details such as original loan amount and guarantor. Data is refreshed approximately once per day; the latest data can be retrieved by calling `/processor/liabilities/get`. Note: This request may take some time to complete if `liabilities` was not specified as an initial product when creating the processor token. This is because Plaid must communicate directly with the institution to retrieve the additional data. + * @param processorLiabilitiesGetRequest (required) + * @return Call<ProcessorLiabilitiesGetResponse> + * + * @see Retrieve Liabilities data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/liabilities/get") + Call processorLiabilitiesGet( + @retrofit2.http.Body ProcessorLiabilitiesGetRequest processorLiabilitiesGetRequest + ); + + /** + * Report whether you initiated an ACH transaction + * After you call `/processor/signal/evaluate`, Plaid will normally infer the outcome from your Signal Rules. However, if you are not using Signal Rules, if the Signal Rules outcome was `REVIEW`, or if you take a different action than the one determined by the Signal Rules, you will need to call `/processor/signal/decision/report`. This helps improve Signal Transaction Score accuracy for your account and is necessary for proper functioning of the rule performance and rule tuning capabilities in the Dashboard. If your effective decision changes after calling `/processor/signal/decision/report` (for example, you indicated that you accepted a transaction, but later on, your payment processor rejected it, so it was never initiated), call `/processor/signal/decision/report` again for the transaction to correct Plaid's records. If you are using Plaid Transfer as your payment processor, you also do not need to call `/processor/signal/decision/report`, as Plaid can infer outcomes from your Transfer activity. If using a Balance-only ruleset, this endpoint will not impact scores (Balance does not use scores), but is necessary to view accurate transaction outcomes and tune rule logic in the Dashboard. + * @param processorSignalDecisionReportRequest (required) + * @return Call<ProcessorSignalDecisionReportResponse> + * + * @see Report whether you initiated an ACH transaction Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/signal/decision/report") + Call processorSignalDecisionReport( + @retrofit2.http.Body ProcessorSignalDecisionReportRequest processorSignalDecisionReportRequest + ); + + /** + * Evaluate a planned ACH transaction + * Use `/processor/signal/evaluate` to evaluate a planned ACH transaction to get a return risk assessment and additional risk signals. `/processor/signal/evaluate` uses Rulesets that are configured on the end customer's Dashboard and can be used with either the Signal Transaction Scores product or the Balance product. Which product is used will be determined by the `ruleset_key` that you provide. Note that only customer-configured rulesets work with this endpoint; as a processor partner, you cannot create or configure your own rulesets. For more details, see [Signal Rules](https://plaid.com/docs/signal/signal-rules/). Note: This request may have higher latency if Signal Transaction Scores is being added to an existing Item for the first time, or when using a Balance-only ruleset. This is because Plaid must communicate directly with the institution to request data. + * @param processorSignalEvaluateRequest (required) + * @return Call<ProcessorSignalEvaluateResponse> + * + * @see Evaluate a planned ACH transaction Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/signal/evaluate") + Call processorSignalEvaluate( + @retrofit2.http.Body ProcessorSignalEvaluateRequest processorSignalEvaluateRequest + ); + + /** + * Opt-in a processor token to Signal + * When a processor token is not initialized with `signal`, call `/processor/signal/prepare` to opt-in that processor token to the data collection process, which will improve the accuracy of the Signal Transaction Score. If this endpoint is called with a processor token that is already initialized with `signal`, it will return a 200 response and will not modify the processor token. + * @param processorSignalPrepareRequest (required) + * @return Call<ProcessorSignalPrepareResponse> + * + * @see Opt-in a processor token to Signal Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/signal/prepare") + Call processorSignalPrepare( + @retrofit2.http.Body ProcessorSignalPrepareRequest processorSignalPrepareRequest + ); + + /** + * Report a return for an ACH transaction + * Call the `/processor/signal/return/report` endpoint to report a returned transaction that was previously sent to the `/processor/signal/evaluate` endpoint. Your feedback will be used by the model to incorporate the latest risk trend in your portfolio. If you are using the [Plaid Transfer product](https://plaid.com/docs/transfer) to create transfers, it is not necessary to use this endpoint, as Plaid already knows whether the transfer was returned. + * @param processorSignalReturnReportRequest (required) + * @return Call<ProcessorSignalReturnReportResponse> + * + * @see Report a return for an ACH transaction Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/signal/return/report") + Call processorSignalReturnReport( + @retrofit2.http.Body ProcessorSignalReturnReportRequest processorSignalReturnReportRequest + ); + + /** + * Create Stripe bank account token + * Used to create a token suitable for sending to Stripe to enable Plaid-Stripe integrations. For a detailed guide on integrating Stripe, see [Add Stripe to your app](https://plaid.com/docs/auth/partnerships/stripe/). Note that the Stripe bank account token is a one-time use token. To store bank account information for later use, you can use a Stripe customer object and create an associated bank account from the token, or you can use a Stripe Custom account and create an associated external bank account from the token. This bank account information should work indefinitely, unless the user's bank account information changes or they revoke Plaid's permissions to access their account. Stripe bank account information cannot be modified once the bank account token has been created. If you ever need to change the bank account details used by Stripe for a specific customer, have the user go through Link again and create a new bank account token from the new `access_token`. To revoke a bank account token, the entire underlying access token must be revoked using `/item/remove`. + * @param processorStripeBankAccountTokenCreateRequest (required) + * @return Call<ProcessorStripeBankAccountTokenCreateResponse> + * + * @see Create Stripe bank account token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/stripe/bank_account_token/create") + Call processorStripeBankAccountTokenCreate( + @retrofit2.http.Body ProcessorStripeBankAccountTokenCreateRequest processorStripeBankAccountTokenCreateRequest + ); + + /** + * Create processor token + * Used to create a token suitable for sending to one of Plaid's partners to enable integrations. Note that Stripe partnerships use bank account tokens instead; see `/processor/stripe/bank_account_token/create` for creating tokens for use with Stripe integrations. If using multiple processors, multiple different processor tokens can be created for a single access token. Once created, a processor token for a given Item can be modified by calling `/processor/token/permissions/set`. To revoke the processor's access, the entire Item must be deleted by calling `/item/remove`. + * @param processorTokenCreateRequest (required) + * @return Call<ProcessorTokenCreateResponse> + * + * @see Create processor token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/token/create") + Call processorTokenCreate( + @retrofit2.http.Body ProcessorTokenCreateRequest processorTokenCreateRequest + ); + + /** + * Get a processor token's product permissions + * Used to get a processor token's product permissions. The `products` field will be an empty list if the processor can access all available products. + * @param processorTokenPermissionsGetRequest (required) + * @return Call<ProcessorTokenPermissionsGetResponse> + * + * @see Get a processor token's product permissions Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/token/permissions/get") + Call processorTokenPermissionsGet( + @retrofit2.http.Body ProcessorTokenPermissionsGetRequest processorTokenPermissionsGetRequest + ); + + /** + * Control a processor's access to products + * Used to control a processor's access to products on the given processor token. By default, a processor will have access to all available products on the corresponding item. To restrict access to a particular set of products, call this endpoint with the desired products. To restore access to all available products, call this endpoint with an empty list. This endpoint can be called multiple times as your needs and your processor's needs change. + * @param processorTokenPermissionsSetRequest (required) + * @return Call<ProcessorTokenPermissionsSetResponse> + * + * @see Control a processor's access to products Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/token/permissions/set") + Call processorTokenPermissionsSet( + @retrofit2.http.Body ProcessorTokenPermissionsSetRequest processorTokenPermissionsSetRequest + ); + + /** + * Update a processor token's webhook URL + * This endpoint allows you, the processor, to update the webhook URL associated with a processor token. This request triggers a `WEBHOOK_UPDATE_ACKNOWLEDGED` webhook to the newly specified webhook URL. + * @param processorTokenWebhookUpdateRequest (required) + * @return Call<ProcessorTokenWebhookUpdateResponse> + * + * @see Update a processor token's webhook URL Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/token/webhook/update") + Call processorTokenWebhookUpdate( + @retrofit2.http.Body ProcessorTokenWebhookUpdateRequest processorTokenWebhookUpdateRequest + ); + + /** + * Get transaction data + * The `/processor/transactions/get` endpoint allows developers to receive user-authorized transaction data for credit, depository, and some loan-type accounts (only those with account subtype `student` or `mortgage`; coverage may be limited). Transaction data is standardized across financial institutions, and in many cases transactions are linked to a clean name, entity type, location, and category. Similarly, account data is standardized and returned with a clean name, number, balance, and other meta information where available. Transactions are returned in reverse-chronological order, and the sequence of transaction ordering is stable and will not shift. Transactions are not immutable and can also be removed altogether by the institution; a removed transaction will no longer appear in `/processor/transactions/get`. For more details, see [Pending and posted transactions](https://plaid.com/docs/transactions/transactions-data/#pending-and-posted-transactions). Due to the potentially large number of transactions associated with a processor token, results are paginated. Manipulate the `count` and `offset` parameters in conjunction with the `total_transactions` response body field to fetch all available transactions. Data returned by `/processor/transactions/get` will be the data available for the processor token as of the most recent successful check for new transactions. Plaid typically checks for new data multiple times a day, but these checks may occur less frequently, such as once a day, depending on the institution. To force Plaid to check for new transactions, you can use the `/processor/transactions/refresh` endpoint. Note that data may not be immediately available to `/processor/transactions/get`. Plaid will begin to prepare transactions data upon Item link, if Link was initialized with `transactions`, or upon the first call to `/processor/transactions/get`, if it wasn't. If no transaction history is ready when `/processor/transactions/get` is called, it will return a `PRODUCT_NOT_READY` error. To receive Transactions webhooks for a processor token, set its webhook URL via the [`/processor/token/webhook/update`](https://plaid.com/docs/api/processor-partners/#processortokenwebhookupdate) endpoint. + * @param processorTransactionsGetRequest (required) + * @return Call<ProcessorTransactionsGetResponse> + * + * @see Get transaction data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/transactions/get") + Call processorTransactionsGet( + @retrofit2.http.Body ProcessorTransactionsGetRequest processorTransactionsGetRequest + ); + + /** + * Fetch recurring transaction streams + * The `/processor/transactions/recurring/get` endpoint allows developers to receive a summary of the recurring outflow and inflow streams (expenses and deposits) from a user's checking, savings or credit card accounts. Additionally, Plaid provides key insights about each recurring stream including the category, merchant, last amount, and more. Developers can use these insights to build tools and experiences that help their users better manage cash flow, monitor subscriptions, reduce spend, and stay on track with bill payments. This endpoint is offered as an add-on to Transactions. To request access to this endpoint, submit a [product access request](https://dashboard.plaid.com/team/products) or contact your Plaid account manager. This endpoint can only be called on a processor token that has already been initialized with Transactions (either during Link, by specifying it in `/link/token/create`; or after Link, by calling `/processor/transactions/get` or `/processor/transactions/sync`). Once all historical transactions have been fetched, call `/processor/transactions/recurring/get` to receive the Recurring Transactions streams and subscribe to the [`RECURRING_TRANSACTIONS_UPDATE`](https://plaid.com/docs/api/products/transactions/#recurring_transactions_update) webhook. To know when historical transactions have been fetched, if you are using `/processor/transactions/sync` listen for the [`SYNC_UPDATES_AVAILABLE`](https://plaid.com/docs/api/products/transactions/#SyncUpdatesAvailableWebhook-historical-update-complete) webhook and check that the `historical_update_complete` field in the payload is `true`. If using `/processor/transactions/get`, listen for the [`HISTORICAL_UPDATE`](https://plaid.com/docs/api/products/transactions/#historical_update) webhook. After the initial call, you can call the `/processor/transactions/recurring/get` endpoint at any point in the future to retrieve the latest summary of recurring streams. Listen to the [`RECURRING_TRANSACTIONS_UPDATE`](https://plaid.com/docs/api/products/transactions/#recurring_transactions_update) webhook to be notified when new updates are available. To receive Transactions webhooks for a processor token, set its webhook URL via the [`/processor/token/webhook/update`](https://plaid.com/docs/api/processor-partners/#processortokenwebhookupdate) endpoint. + * @param processorTransactionsRecurringGetRequest (required) + * @return Call<ProcessorTransactionsRecurringGetResponse> + * + * @see Fetch recurring transaction streams Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/transactions/recurring/get") + Call processorTransactionsRecurringGet( + @retrofit2.http.Body ProcessorTransactionsRecurringGetRequest processorTransactionsRecurringGetRequest + ); + + /** + * Refresh transaction data + * `/processor/transactions/refresh` is an optional endpoint for users of the Transactions product. It initiates an on-demand extraction to fetch the newest transactions for a processor token. This on-demand extraction takes place in addition to the periodic extractions that automatically occur one or more times per day for any Transactions-enabled processor token. If changes to transactions are discovered after calling `/processor/transactions/refresh`, Plaid will fire a webhook: for `/processor/transactions/sync` users, [`SYNC_UPDATES_AVAILABLE`](https://plaid.com/docs/api/products/transactions/#sync_updates_available) will be fired if there are any transactions updated, added, or removed. For users of both `/processor/transactions/sync` and `/processor/transactions/get`, [`TRANSACTIONS_REMOVED`](https://plaid.com/docs/api/products/transactions/#transactions_removed) will be fired if any removed transactions are detected, and [`DEFAULT_UPDATE`](https://plaid.com/docs/api/products/transactions/#default_update) will be fired if any new transactions are detected. New transactions can be fetched by calling `/processor/transactions/get` or `/processor/transactions/sync`. Note that the `/processor/transactions/refresh` endpoint is not supported for Capital One (`ins_128026`) non-depository accounts and will result in a `PRODUCTS_NOT_SUPPORTED` error if called on an Item that contains only non-depository accounts from that institution. As this endpoint triggers a synchronous request for fresh data, latency may be higher than for other Plaid endpoints (typically less than 10 seconds, but occasionally up to 30 seconds or more); if you encounter errors, you may find it necessary to adjust your timeout period when making requests. `/processor/transactions/refresh` is offered as an add-on to Transactions and has a separate [fee model](https://plaid.com/docs/account/billing/#per-request-flat-fee). To request access to this endpoint, submit a [product access request](https://dashboard.plaid.com/team/products) or contact your Plaid account manager. + * @param processorTransactionsRefreshRequest (required) + * @return Call<ProcessorTransactionsRefreshResponse> + * + * @see Refresh transaction data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/transactions/refresh") + Call processorTransactionsRefresh( + @retrofit2.http.Body ProcessorTransactionsRefreshRequest processorTransactionsRefreshRequest + ); + + /** + * Get incremental transaction updates on a processor token + * The `/processor/transactions/sync` endpoint retrieves transactions associated with an Item and can fetch updates using a cursor to track which updates have already been seen. For important instructions on integrating with `/processor/transactions/sync`, see the [Transactions integration overview](https://plaid.com/docs/transactions/#integration-overview). If you are migrating from an existing integration using `/processor/transactions/get`, see the [Transactions Sync migration guide](https://plaid.com/docs/transactions/sync-migration/). This endpoint supports `credit`, `depository`, and some `loan`-type accounts (only those with account subtype `student` or `mortgage`). For `investments` accounts, use `/investments/transactions/get` instead. When retrieving paginated updates, track both the `next_cursor` from the latest response and the original cursor from the first call in which `has_more` was `true`; if a call to `/processor/transactions/sync` fails when retrieving a paginated update (e.g. due to the [`TRANSACTIONS_SYNC_MUTATION_DURING_PAGINATION`](https://plaid.com/docs/errors/transactions/#transactions_sync_mutation_during_pagination) error), the entire pagination request loop must be restarted beginning with the cursor for the first page of the update, rather than retrying only the single request that failed. If transactions data is not yet available for the Item, which can happen if the Item was not initialized with transactions during the `/link/token/create` call or if `/processor/transactions/sync` was called within a few seconds of Item creation, `/processor/transactions/sync` will return empty transactions arrays. Plaid typically checks for new transactions data between one and four times per day, depending on the institution. To find out when transactions were last updated for an Item, use the [Item Debugger](https://plaid.com/docs/account/activity/#troubleshooting-with-item-debugger) or call `/item/get`; the `item.status.transactions.last_successful_update` field will show the timestamp of the most recent successful update. To force Plaid to check for new transactions, use the `/processor/transactions/refresh` endpoint. To be alerted when new transactions are available, listen for the [`SYNC_UPDATES_AVAILABLE`](https://plaid.com/docs/api/products/transactions/#sync_updates_available) webhook. To receive Transactions webhooks for a processor token, set its webhook URL via the [`/processor/token/webhook/update`](https://plaid.com/docs/api/processor-partners/#processortokenwebhookupdate) endpoint. + * @param processorTransactionsSyncRequest (required) + * @return Call<ProcessorTransactionsSyncResponse> + * + * @see Get incremental transaction updates on a processor token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("processor/transactions/sync") + Call processorTransactionsSync( + @retrofit2.http.Body ProcessorTransactionsSyncRequest processorTransactionsSyncRequest + ); + + /** + * Check a user's Plaid Network status + * The `/profile/network_status/get` endpoint can be used to check whether Plaid has a matching profile for the user. + * @param profileNetworkStatusGetRequest (required) + * @return Call<ProfileNetworkStatusGetResponse> + * + * @see Check a user's Plaid Network status Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("profile/network_status/get") + Call profileNetworkStatusGet( + @retrofit2.http.Body ProfileNetworkStatusGetRequest profileNetworkStatusGetRequest + ); + + /** + * Compute Protect Trust Index scores and subscores + * Compute a Protect Trust Index score for a user. The model selected determines what is scored and what additional fields the response contains. For example, `ti-link-session-2.0` scores a completed Link session for fraud risk; `cash-advance-onboarding-1.0` scores repayment risk for a first-time cash advance and additionally populates per-amount-bucket subscores. Cash-advance models require that the user have a Plaid Item with Transactions enabled, or an Assets Report, before scoring. The endpoint returns HTTP 400 with `error_type` = `INVALID_REQUEST` and `error_code` = `FAILED_PRECONDITION` when a required precondition is not met: for link-session models, when the Link session has not completed; for cash-advance models, when the user has not successfully linked any Item. + * @param protectComputeRequest (required) + * @return Call<ProtectComputeResponse> + * + * @see Compute Protect Trust Index scores and subscores Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("protect/compute") + Call protectCompute( + @retrofit2.http.Body ProtectComputeRequest protectComputeRequest + ); + + /** + * Get information about a user event + * Get information about a user event including Trust Index score and fraud attributes. + * @param protectEventGetRequest (required) + * @return Call<ProtectEventGetResponse> + * @deprecated + * + * @see Get information about a user event Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("protect/event/get") + Call protectEventGet( + @retrofit2.http.Body ProtectEventGetRequest protectEventGetRequest + ); + + /** + * Send a new event to enrich user data + * Send a new event to enrich user data and optionally get a Trust Index score for the event. + * @param protectEventSendRequest (required) + * @return Call<ProtectEventSendResponse> + * @deprecated + * + * @see Send a new event to enrich user data Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("protect/event/send") + Call protectEventSend( + @retrofit2.http.Body ProtectEventSendRequest protectEventSendRequest + ); + + /** + * Create a Protect report + * Use this endpoint to create a Protect report to document fraud incidents, investigation outcomes, or other risk events. This endpoint allows you to report various types of incidents including account takeovers, identity fraud, unauthorized transactions, and other security events. The reported data helps improve fraud detection models and provides valuable feedback to enhance the overall security of the Plaid network. Reports can be created for confirmed incidents that have been fully investigated, or for suspected incidents that require further review. You can associate reports with specific users, sessions, or transactions to provide comprehensive context about the incident. Each report must include `user_id`, or an `incident_event` with at least one supported identifier: `link_session_id`, `idv_session_id`, `protect_event_id`, `signal_client_transaction_id`, or `access_token`. Context fields such as `internal_reference`, `time`, `amount`, and `bank_account` do not satisfy this identifier requirement. + * @param protectReportCreateRequest (required) + * @return Call<ProtectReportCreateResponse> + * + * @see Create a Protect report Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("protect/report/create") + Call protectReportCreate( + @retrofit2.http.Body ProtectReportCreateRequest protectReportCreateRequest + ); + + /** + * Get Protect user insights + * Use this endpoint to get basic information about a user as it relates to their fraud profile with Protect. + * @param protectUserInsightsGetRequest (required) + * @return Call<ProtectUserInsightsGetResponse> + * + * @see Get Protect user insights Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("protect/user/insights/get") + Call protectUserInsightsGet( + @retrofit2.http.Body ProtectUserInsightsGetRequest protectUserInsightsGetRequest + ); + + /** + * (Deprecated) Manually fire a Bank Income webhook in Sandbox + * Use the `/sandbox/bank_income/fire_webhook` endpoint to manually trigger a Bank Income webhook in the Sandbox environment. + * @param sandboxBankIncomeFireWebhookRequest (required) + * @return Call<SandboxBankIncomeFireWebhookResponse> + * @deprecated + * + * @see (Deprecated) Manually fire a Bank Income webhook in Sandbox Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/bank_income/fire_webhook") + Call sandboxBankIncomeFireWebhook( + @retrofit2.http.Body SandboxBankIncomeFireWebhookRequest sandboxBankIncomeFireWebhookRequest + ); + + /** + * (Deprecated) Manually fire a Bank Transfer webhook + * Use the `/sandbox/bank_transfer/fire_webhook` endpoint to manually trigger a Bank Transfers webhook in the Sandbox environment. + * @param sandboxBankTransferFireWebhookRequest (required) + * @return Call<SandboxBankTransferFireWebhookResponse> + * @deprecated + * + * @see (Deprecated) Manually fire a Bank Transfer webhook Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/bank_transfer/fire_webhook") + Call sandboxBankTransferFireWebhook( + @retrofit2.http.Body SandboxBankTransferFireWebhookRequest sandboxBankTransferFireWebhookRequest + ); + + /** + * (Deprecated) Simulate a bank transfer event in Sandbox + * Use the `/sandbox/bank_transfer/simulate` endpoint to simulate a bank transfer event in the Sandbox environment. Note that while an event will be simulated and will appear when using endpoints such as `/bank_transfer/event/sync` or `/bank_transfer/event/list`, no transactions will actually take place and funds will not move between accounts, even within the Sandbox. + * @param sandboxBankTransferSimulateRequest (required) + * @return Call<SandboxBankTransferSimulateResponse> + * @deprecated + * + * @see (Deprecated) Simulate a bank transfer event in Sandbox Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/bank_transfer/simulate") + Call sandboxBankTransferSimulate( + @retrofit2.http.Body SandboxBankTransferSimulateRequest sandboxBankTransferSimulateRequest + ); + + /** + * Trigger an update for Cash Flow Updates + * Use the `/sandbox/cra/cashflow_updates/update` endpoint to manually trigger an update for Cash Flow Updates (Monitoring) in the Sandbox environment. + * @param sandboxCraCashflowUpdatesUpdateRequest (required) + * @return Call<SandboxCraCashflowUpdatesUpdateResponse> + * + * @see Trigger an update for Cash Flow Updates Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/cra/cashflow_updates/update") + Call sandboxCraCashflowUpdatesUpdate( + @retrofit2.http.Body SandboxCraCashflowUpdatesUpdateRequest sandboxCraCashflowUpdatesUpdateRequest + ); + + /** + * Seed an FDX consent grant for a sandbox data partner + * `/sandbox/fdx/consent/seed` creates a test FDX consent grant (and a backing Item) for a data provider's customer in Sandbox, so the FDX Consent API endpoints can be exercised end-to-end without a live data provider connection. `customer_id` is the data provider's identifier for the end user and `application_id` identifies the data recipient application the consent is granted to; both are required. Optionally provide `consent_id` (a UUIDv4) to control the seeded grant's identifier; one is generated when omitted. The seeded grant is returned by `/fdx/consents` and `/fdx/consents/{consentId}`, and can be revoked via `/fdx/consents/{consentId}/revocation`. + * @param sandboxFdxConsentSeedRequest (required) + * @return Call<SandboxFdxConsentSeedResponse> + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/fdx/consent/seed") + Call sandboxFdxConsentSeed( + @retrofit2.http.Body SandboxFdxConsentSeedRequest sandboxFdxConsentSeedRequest + ); + + /** + * Manually fire an Income webhook + * Use the `/sandbox/income/fire_webhook` endpoint to manually trigger a Payroll or Document Income webhook in the Sandbox environment. + * @param sandboxIncomeFireWebhookRequest (required) + * @return Call<SandboxIncomeFireWebhookResponse> + * + * @see Manually fire an Income webhook Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/income/fire_webhook") + Call sandboxIncomeFireWebhook( + @retrofit2.http.Body SandboxIncomeFireWebhookRequest sandboxIncomeFireWebhookRequest + ); + + /** + * Seed a connected application for a Permissions Manager sandbox item + * `/sandbox/item/application/seed` creates a test connected application on an existing Permissions Manager Item's login. The seeded application will appear in subsequent calls to `/item/application/list`. The `access_token` must belong to a Permissions Manager Item created via `/item/import` in Sandbox. The `application_id` identifies the application to seed as a connected app. To disconnect a seeded application, use `/item/application/unlink`. + * @param sandboxItemApplicationSeedRequest (required) + * @return Call<SandboxItemApplicationSeedResponse> + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/item/application/seed") + Call sandboxItemApplicationSeed( + @retrofit2.http.Body SandboxItemApplicationSeedRequest sandboxItemApplicationSeedRequest + ); + + /** + * Fire a test webhook + * The `/sandbox/item/fire_webhook` endpoint is used to test that code correctly handles webhooks. This endpoint can trigger the following webhooks: `DEFAULT_UPDATE`: Webhook to be fired for a given Sandbox Item simulating a default update event for the respective product as specified with the `webhook_type` in the request body. Valid Sandbox `DEFAULT_UPDATE` webhook types include: `AUTH`, `IDENTITY`, `TRANSACTIONS`, `INVESTMENTS_TRANSACTIONS`, `LIABILITIES`, `HOLDINGS`. If the Item does not support the product, a `SANDBOX_PRODUCT_NOT_ENABLED` error will result. `NEW_ACCOUNTS_AVAILABLE`: Fired to indicate that a new account is available on the Item and you can launch update mode to request access to it. `SMS_MICRODEPOSITS_VERIFICATION`: Fired when a given Same-Day Micro-deposit Item is verified via SMS verification. `LOGIN_REPAIRED`: Fired when an Item recovers from the `ITEM_LOGIN_REQUIRED` without the user going through update mode in your app. `PENDING_DISCONNECT`: Fired when an Item will stop working in the near future (e.g. due to a planned bank migration) and must be sent through update mode to continue working. `RECURRING_TRANSACTIONS_UPDATE`: Recurring Transactions webhook to be fired for a given Sandbox Item. If the Item does not support Recurring Transactions, a `SANDBOX_PRODUCT_NOT_ENABLED` error will result. `SYNC_UPDATES_AVAILABLE`: Transactions webhook to be fired for a given Sandbox Item. If the Item does not support Transactions, a `SANDBOX_PRODUCT_NOT_ENABLED` error will result. `PRODUCT_READY`: Assets webhook to be fired when a given asset report has been successfully generated. If the Item does not support Assets, a `SANDBOX_PRODUCT_NOT_ENABLED` error will result. `ERROR`: Assets webhook to be fired when asset report generation has failed. If the Item does not support Assets, a `SANDBOX_PRODUCT_NOT_ENABLED` error will result. `USER_PERMISSION_REVOKED`: Indicates an end user has revoked the permission that they previously granted to access an Item. May not always fire upon revocation, as some institutions' consent portals do not trigger this webhook. Upon receiving this webhook, it is recommended to delete any stored data from Plaid associated with the account or Item. `USER_ACCOUNT_REVOKED`: Fired when an end user has revoked access to their account on the Data Provider's portal. This webhook is currently sent only for PNC Items, but may be sent in the future for other financial institutions. Upon receiving this webhook, it is recommended to delete any stored data from Plaid associated with the account or Item. Note that this endpoint is provided for developer ease-of-use and is not required for testing webhooks; webhooks will also fire in Sandbox under the same conditions that they would in Production (except for webhooks of type `TRANSFER`). + * @param sandboxItemFireWebhookRequest (required) + * @return Call<SandboxItemFireWebhookResponse> + * + * @see Fire a test webhook Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/item/fire_webhook") + Call sandboxItemFireWebhook( + @retrofit2.http.Body SandboxItemFireWebhookRequest sandboxItemFireWebhookRequest + ); + + /** + * Force a Sandbox Item into an error state + * `/sandbox/item/reset_login` forces an Item into an `ITEM_LOGIN_REQUIRED` state in order to simulate an Item whose login is no longer valid. This makes it easy to test Link's [update mode](https://plaid.com/docs/link/update-mode) flow in the Sandbox environment. After calling `/sandbox/item/reset_login`, you can then use Plaid Link update mode to restore the Item to a good state. An `ITEM_LOGIN_REQUIRED` webhook will also be fired after a call to this endpoint, if one is associated with the Item. In the Sandbox, Items will transition to an `ITEM_LOGIN_REQUIRED` error state automatically after 30 days, even if this endpoint is not called. + * @param sandboxItemResetLoginRequest (required) + * @return Call<SandboxItemResetLoginResponse> + * + * @see Force a Sandbox Item into an error state Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/item/reset_login") + Call sandboxItemResetLogin( + @retrofit2.http.Body SandboxItemResetLoginRequest sandboxItemResetLoginRequest + ); + + /** + * Set verification status for Sandbox account + * The `/sandbox/item/set_verification_status` endpoint can be used to change the verification status of an Item in the Sandbox in order to simulate the Automated Micro-deposit flow. For more information on testing Automated Micro-deposits in Sandbox, see [Auth full coverage testing](https://plaid.com/docs/auth/coverage/testing#). + * @param sandboxItemSetVerificationStatusRequest (required) + * @return Call<SandboxItemSetVerificationStatusResponse> + * + * @see Set verification status for Sandbox account Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/item/set_verification_status") + Call sandboxItemSetVerificationStatus( + @retrofit2.http.Body SandboxItemSetVerificationStatusRequest sandboxItemSetVerificationStatusRequest + ); + + /** + * Save the selected accounts when connecting to the Platypus OAuth institution + * Save the selected accounts when connecting to the Platypus OAuth institution + * @param sandboxOauthSelectAccountsRequest (required) + * @return Call<Object> + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/oauth/select_accounts") + Call sandboxOauthSelectAccounts( + @retrofit2.http.Body SandboxOauthSelectAccountsRequest sandboxOauthSelectAccountsRequest + ); + + /** + * Reset the login of a Payment Profile + * `/sandbox/payment_profile/reset_login` forces a Payment Profile into a state where the login is no longer valid. This makes it easy to test update mode for Payment Profile in the Sandbox environment. After calling `/sandbox/payment_profile/reset_login`, calls to the `/transfer/authorization/create` with the Payment Profile will result in a `decision_rationale` `PAYMENT_PROFILE_LOGIN_REQUIRED`. You can then use update mode for Payment Profile to restore it into a good state. In order to invoke this endpoint, you must first [create a Payment Profile](https://plaid.com/docs/transfer/add-to-app/#create-a-payment-profile-optional) and [go through the Link flow](https://plaid.com/docs/transfer/add-to-app/#create-a-link-token). + * @param sandboxPaymentProfileResetLoginRequest (required) + * @return Call<SandboxPaymentProfileResetLoginResponse> + * @deprecated + * + * @see Reset the login of a Payment Profile Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/payment_profile/reset_login") + Call sandboxPaymentProfileResetLogin( + @retrofit2.http.Body SandboxPaymentProfileResetLoginRequest sandboxPaymentProfileResetLoginRequest + ); + + /** + * Simulate a payment event in Sandbox + * Use the `/sandbox/payment/simulate` endpoint to simulate various payment events in the Sandbox environment. This endpoint will trigger the corresponding payment status webhook. + * @param sandboxPaymentSimulateRequest (required) + * @return Call<SandboxPaymentSimulateResponse> + * + * @see Simulate a payment event in Sandbox Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/payment/simulate") + Call sandboxPaymentSimulate( + @retrofit2.http.Body SandboxPaymentSimulateRequest sandboxPaymentSimulateRequest + ); + + /** + * Create a test Item and processor token + * Use the `/sandbox/processor_token/create` endpoint to create a valid `processor_token` for an arbitrary institution ID and test credentials. The created `processor_token` corresponds to a new Sandbox Item. You can then use this `processor_token` with the `/processor/` API endpoints in Sandbox. You can also use `/sandbox/processor_token/create` with the [`user_custom` test username](https://plaid.com/docs/sandbox/user-custom) to generate a test account with custom data. + * @param sandboxProcessorTokenCreateRequest (required) + * @return Call<SandboxProcessorTokenCreateResponse> + * + * @see Create a test Item and processor token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/processor_token/create") + Call sandboxProcessorTokenCreate( + @retrofit2.http.Body SandboxProcessorTokenCreateRequest sandboxProcessorTokenCreateRequest + ); + + /** + * Create a test Item + * Use the `/sandbox/public_token/create` endpoint to create a valid `public_token` for an arbitrary institution ID, initial products, and test credentials. The created `public_token` maps to a new Sandbox Item. You can then call `/item/public_token/exchange` to exchange the `public_token` for an `access_token` and perform all API actions. `/sandbox/public_token/create` can also be used with the [`user_custom` test username](https://plaid.com/docs/sandbox/user-custom) to generate a test account with custom data, or with Plaid's [pre-populated Sandbox test accounts](https://plaid.com/docs/sandbox/test-credentials/). + * @param sandboxPublicTokenCreateRequest (required) + * @return Call<SandboxPublicTokenCreateResponse> + * + * @see Create a test Item Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/public_token/create") + Call sandboxPublicTokenCreate( + @retrofit2.http.Body SandboxPublicTokenCreateRequest sandboxPublicTokenCreateRequest + ); + + /** + * Create sandbox transactions + * Use the `/sandbox/transactions/create` endpoint to create new transactions for an existing Item. This endpoint can be used to add up to 10 transactions to any Item at a time. This endpoint can only be used with Items that were created in the Sandbox environment using the `user_transactions_dynamic` test user. You can use this to add transactions to test the `/transactions/get` and `/transactions/sync` endpoints. Custom transactions are only applied to the depository account. Support for per-account targeting may be added in the future. + * @param sandboxTransactionsCreateRequest (required) + * @return Call<SandboxTransactionsCreateResponse> + * + * @see Create sandbox transactions Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/transactions/create") + Call sandboxTransactionsCreate( + @retrofit2.http.Body SandboxTransactionsCreateRequest sandboxTransactionsCreateRequest + ); + + /** + * Manually fire a Transfer webhook + * Use the `/sandbox/transfer/fire_webhook` endpoint to manually trigger a `TRANSFER_EVENTS_UPDATE` webhook in the Sandbox environment. + * @param sandboxTransferFireWebhookRequest (required) + * @return Call<SandboxTransferFireWebhookResponse> + * + * @see Manually fire a Transfer webhook Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/transfer/fire_webhook") + Call sandboxTransferFireWebhook( + @retrofit2.http.Body SandboxTransferFireWebhookRequest sandboxTransferFireWebhookRequest + ); + + /** + * Simulate a ledger deposit event in Sandbox + * Use the `/sandbox/transfer/ledger/deposit/simulate` endpoint to simulate a ledger deposit event in the Sandbox environment. + * @param sandboxTransferLedgerDepositSimulateRequest (required) + * @return Call<SandboxTransferLedgerDepositSimulateResponse> + * + * @see Simulate a ledger deposit event in Sandbox Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/transfer/ledger/deposit/simulate") + Call sandboxTransferLedgerDepositSimulate( + @retrofit2.http.Body SandboxTransferLedgerDepositSimulateRequest sandboxTransferLedgerDepositSimulateRequest + ); + + /** + * Simulate converting pending balance to available balance + * Use the `/sandbox/transfer/ledger/simulate_available` endpoint to simulate converting pending balance to available balance for all originators in the Sandbox environment. + * @param sandboxTransferLedgerSimulateAvailableRequest (required) + * @return Call<SandboxTransferLedgerSimulateAvailableResponse> + * + * @see Simulate converting pending balance to available balance Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/transfer/ledger/simulate_available") + Call sandboxTransferLedgerSimulateAvailable( + @retrofit2.http.Body SandboxTransferLedgerSimulateAvailableRequest sandboxTransferLedgerSimulateAvailableRequest + ); + + /** + * Simulate a ledger withdraw event in Sandbox + * Use the `/sandbox/transfer/ledger/withdraw/simulate` endpoint to simulate a ledger withdraw event in the Sandbox environment. + * @param sandboxTransferLedgerWithdrawSimulateRequest (required) + * @return Call<SandboxTransferLedgerWithdrawSimulateResponse> + * + * @see Simulate a ledger withdraw event in Sandbox Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/transfer/ledger/withdraw/simulate") + Call sandboxTransferLedgerWithdrawSimulate( + @retrofit2.http.Body SandboxTransferLedgerWithdrawSimulateRequest sandboxTransferLedgerWithdrawSimulateRequest + ); + + /** + * Simulate a refund event in Sandbox + * Use the `/sandbox/transfer/refund/simulate` endpoint to simulate a refund event in the Sandbox environment. Note that while an event will be simulated and will appear when using endpoints such as `/transfer/event/sync` or `/transfer/event/list`, no transactions will actually take place and funds will not move between accounts, even within the Sandbox. + * @param sandboxTransferRefundSimulateRequest (required) + * @return Call<SandboxTransferRefundSimulateResponse> + * + * @see Simulate a refund event in Sandbox Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/transfer/refund/simulate") + Call sandboxTransferRefundSimulate( + @retrofit2.http.Body SandboxTransferRefundSimulateRequest sandboxTransferRefundSimulateRequest + ); + + /** + * Trigger the creation of a repayment + * Use the `/sandbox/transfer/repayment/simulate` endpoint to trigger the creation of a repayment. As a side effect of calling this route, a repayment is created that includes all unreimbursed returns of guaranteed transfers. If there are no such returns, a 400 error is returned. + * @param sandboxTransferRepaymentSimulateRequest (required) + * @return Call<SandboxTransferRepaymentSimulateResponse> + * + * @see Trigger the creation of a repayment Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/transfer/repayment/simulate") + Call sandboxTransferRepaymentSimulate( + @retrofit2.http.Body SandboxTransferRepaymentSimulateRequest sandboxTransferRepaymentSimulateRequest + ); + + /** + * Simulate a transfer event in Sandbox + * Use the `/sandbox/transfer/simulate` endpoint to simulate a transfer event in the Sandbox environment. Note that while an event will be simulated and will appear when using endpoints such as `/transfer/event/sync` or `/transfer/event/list`, no transactions will actually take place and funds will not move between accounts, even within the Sandbox. + * @param sandboxTransferSimulateRequest (required) + * @return Call<SandboxTransferSimulateResponse> + * + * @see Simulate a transfer event in Sandbox Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/transfer/simulate") + Call sandboxTransferSimulate( + @retrofit2.http.Body SandboxTransferSimulateRequest sandboxTransferSimulateRequest + ); + + /** + * Simulate creating a sweep + * Use the `/sandbox/transfer/sweep/simulate` endpoint to create a sweep and associated events in the Sandbox environment. Upon calling this endpoint, all transfers with a sweep status of `swept` will become `swept_settled`, all `posted` or `pending` transfers with a sweep status of `unswept` will become `swept`, and all `returned` transfers with a sweep status of `swept` will become `return_swept`. + * @param sandboxTransferSweepSimulateRequest (required) + * @return Call<SandboxTransferSweepSimulateResponse> + * + * @see Simulate creating a sweep Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/transfer/sweep/simulate") + Call sandboxTransferSweepSimulate( + @retrofit2.http.Body SandboxTransferSweepSimulateRequest sandboxTransferSweepSimulateRequest + ); + + /** + * Advance a test clock + * Use the `/sandbox/transfer/test_clock/advance` endpoint to advance a `test_clock` in the Sandbox environment. A test clock object represents an independent timeline and has a `virtual_time` field indicating the current timestamp of the timeline. A test clock can be advanced by incrementing `virtual_time`, but may never go back to a lower `virtual_time`. If a test clock is advanced, we will simulate the changes that ought to occur during the time that elapsed. For example, a client creates a weekly recurring transfer with a test clock set at t. When the client advances the test clock by setting `virtual_time` = t + 15 days, 2 new originations should be created, along with the webhook events. The advancement of the test clock from its current `virtual_time` should be limited such that there are no more than 20 originations resulting from the advance operation on each `recurring_transfer` associated with the `test_clock`. For example, if the recurring transfer associated with this test clock originates once every 4 weeks, you can advance the `virtual_time` up to 80 weeks on each API call. + * @param sandboxTransferTestClockAdvanceRequest (required) + * @return Call<SandboxTransferTestClockAdvanceResponse> + * + * @see Advance a test clock Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/transfer/test_clock/advance") + Call sandboxTransferTestClockAdvance( + @retrofit2.http.Body SandboxTransferTestClockAdvanceRequest sandboxTransferTestClockAdvanceRequest + ); + + /** + * Create a test clock + * Use the `/sandbox/transfer/test_clock/create` endpoint to create a `test_clock` in the Sandbox environment. A test clock object represents an independent timeline and has a `virtual_time` field indicating the current timestamp of the timeline. Test clocks are used for testing recurring transfers in Sandbox. A test clock can be associated with up to 5 recurring transfers. + * @param sandboxTransferTestClockCreateRequest (required) + * @return Call<SandboxTransferTestClockCreateResponse> + * + * @see Create a test clock Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/transfer/test_clock/create") + Call sandboxTransferTestClockCreate( + @retrofit2.http.Body SandboxTransferTestClockCreateRequest sandboxTransferTestClockCreateRequest + ); + + /** + * Get a test clock + * Use the `/sandbox/transfer/test_clock/get` endpoint to get a `test_clock` in the Sandbox environment. + * @param sandboxTransferTestClockGetRequest (required) + * @return Call<SandboxTransferTestClockGetResponse> + * + * @see Get a test clock Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/transfer/test_clock/get") + Call sandboxTransferTestClockGet( + @retrofit2.http.Body SandboxTransferTestClockGetRequest sandboxTransferTestClockGetRequest + ); + + /** + * List test clocks + * Use the `/sandbox/transfer/test_clock/list` endpoint to see a list of all your test clocks in the Sandbox environment, by ascending `virtual_time`. Results are paginated; use the `count` and `offset` query parameters to retrieve the desired test clocks. + * @param sandboxTransferTestClockListRequest (required) + * @return Call<SandboxTransferTestClockListResponse> + * + * @see List test clocks Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/transfer/test_clock/list") + Call sandboxTransferTestClockList( + @retrofit2.http.Body SandboxTransferTestClockListRequest sandboxTransferTestClockListRequest + ); + + /** + * Force item(s) for a Sandbox User into an error state + * `/sandbox/user/reset_login` functions the same as `/sandbox/item/reset_login`, but will modify Items related to a User. This endpoint forces each Item into an `ITEM_LOGIN_REQUIRED` state in order to simulate an Item whose login is no longer valid. This makes it easy to test Link's [update mode](https://plaid.com/docs/link/update-mode) flow in the Sandbox environment. After calling `/sandbox/user/reset_login`, you can then use Plaid Link update mode to restore Items associated with the User to a good state. An `ITEM_LOGIN_REQUIRED` webhook will also be fired after a call to this endpoint, if one is associated with the Item. In the Sandbox, Items will transition to an `ITEM_LOGIN_REQUIRED` error state automatically after 30 days, even if this endpoint is not called. + * @param sandboxUserResetLoginRequest (required) + * @return Call<SandboxUserResetLoginResponse> + * + * @see Force item(s) for a Sandbox User into an error state Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("sandbox/user/reset_login") + Call sandboxUserResetLogin( + @retrofit2.http.Body SandboxUserResetLoginRequest sandboxUserResetLoginRequest + ); + + /** + * Create a Link token for Layer + * `/session/token/create` is used to create a Link token for Layer. The returned Link token is used as a parameter when initializing the Link SDK. For more details, see the [Link flow overview](https://plaid.com/docs/link/#link-flow-overview). + * @param sessionTokenCreateRequest (required) + * @return Call<SessionTokenCreateResponse> + * + * @see Create a Link token for Layer Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("session/token/create") + Call sessionTokenCreate( + @retrofit2.http.Body SessionTokenCreateRequest sessionTokenCreateRequest + ); + + /** + * Report whether you initiated an ACH transaction + * After you call `/signal/evaluate`, Plaid will normally infer the outcome from your Signal Rules. However, if you are not using Signal Rules, if the Signal Rules outcome was `REVIEW`, or if you take a different action than the one determined by the Signal Rules, you will need to call `/signal/decision/report`. This helps improve Signal Transaction Score accuracy for your account and is necessary for proper functioning of the rule performance and rule tuning capabilities in the Dashboard. If your effective decision changes after calling `/signal/decision/report` (for example, you indicated that you accepted a transaction, but later on, your payment processor rejected it, so it was never initiated), call `/signal/decision/report` again for the transaction to correct Plaid's records. If you are using Plaid Transfer as your payment processor, you also do not need to call `/signal/decision/report`, as Plaid can infer outcomes from your Transfer activity. If using a Balance-only ruleset, this endpoint will not impact scores (Balance does not use scores), but is necessary to view accurate transaction outcomes and tune rule logic in the Dashboard. + * @param signalDecisionReportRequest (required) + * @return Call<SignalDecisionReportResponse> + * + * @see Report whether you initiated an ACH transaction Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("signal/decision/report") + Call signalDecisionReport( + @retrofit2.http.Body SignalDecisionReportRequest signalDecisionReportRequest + ); + + /** + * Evaluate a planned ACH transaction + * Use `/signal/evaluate` to evaluate a planned ACH transaction to get a return risk assessment and additional risk signals. Before using `/signal/evaluate`, you must first [create a ruleset](https://plaid.com/docs/signal/signal-rules/) in the Dashboard under [**Signal->Rules**](https://dashboard.plaid.com/signal/risk-profiles). `/signal/evaluate` can be used with either Signal Transaction Scores or the Balance product. Which product is used will be determined by the `ruleset_key` that you provide. For more details, see [Signal Rules](https://plaid.com/docs/signal/signal-rules/). Note: This request may have higher latency when using a Balance-only ruleset. This is because Plaid must communicate directly with the institution to request data. Balance-only rulesets may have latency of up to 30 seconds or more; if you encounter errors, you may find it necessary to adjust your timeout period when making requests. + * @param signalEvaluateRequest (required) + * @return Call<SignalEvaluateResponse> + * + * @see Evaluate a planned ACH transaction Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("signal/evaluate") + Call signalEvaluate( + @retrofit2.http.Body SignalEvaluateRequest signalEvaluateRequest + ); + + /** + * Opt-in an Item to Signal Transaction Scores + * When an Item is not initialized with `signal`, call `/signal/prepare` to opt-in that Item to the data collection process used to develop a Signal Transaction Score. This should be done on Items where `signal` was added in the `additional_consented_products` array but not in the `products`, `optional_products`, or `required_if_supported_products` array. If `/signal/prepare` is skipped on an Item that is not initialized with `signal`, the initial call to `/signal/evaluate` on that Item will be less accurate, because Plaid will have access to less data for computing the Signal Transaction Score. If your integration is purely Balance-only, this endpoint will have no effect, as Balance-only rulesets do not calculate a Signal Transaction Score. If run on an Item that is already initialized with `signal`, this endpoint will return a 200 response and will not modify the Item. + * @param signalPrepareRequest (required) + * @return Call<SignalPrepareResponse> + * + * @see Opt-in an Item to Signal Transaction Scores Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("signal/prepare") + Call signalPrepare( + @retrofit2.http.Body SignalPrepareRequest signalPrepareRequest + ); + + /** + * Report a return for an ACH transaction + * Call the `/signal/return/report` endpoint to report a returned transaction that was previously sent to the `/signal/evaluate` endpoint. Your feedback will be used by the model to incorporate the latest risk trends into your scores and tune rule logic. If using a Balance-only ruleset, this endpoint will not impact scores (as Balance does not use scores), but is necessary to view accurate transaction outcomes and tune rule logic in the Dashboard. + * @param signalReturnReportRequest (required) + * @return Call<SignalReturnReportResponse> + * + * @see Report a return for an ACH transaction Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("signal/return/report") + Call signalReturnReport( + @retrofit2.http.Body SignalReturnReportRequest signalReturnReportRequest + ); + + /** + * Schedule a planned ACH transaction + * Use `/signal/schedule` to schedule a planned ACH transaction. + * @param signalScheduleRequest (required) + * @return Call<SignalScheduleResponse> + * + * @see Schedule a planned ACH transaction Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("signal/schedule") + Call signalSchedule( + @retrofit2.http.Body SignalScheduleRequest signalScheduleRequest + ); + + /** + * Retrieve a single statement. + * The `/statements/download` endpoint retrieves a single statement PDF in binary format. The response will contain a `Plaid-Content-Hash` header containing a SHA 256 checksum of the statement. This can be used to verify that the file being sent by Plaid is the same file that was downloaded to your system. + * @param statementsDownloadRequest (required) + * @return Call<ResponseBody> + * + * @see Retrieve a single statement. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("statements/download") + Call statementsDownload( + @retrofit2.http.Body StatementsDownloadRequest statementsDownloadRequest + ); + + /** + * Retrieve a list of all statements associated with an Item. + * The `/statements/list` endpoint retrieves a list of all statements associated with an Item. + * @param statementsListRequest (required) + * @return Call<StatementsListResponse> + * + * @see Retrieve a list of all statements associated with an Item. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("statements/list") + Call statementsList( + @retrofit2.http.Body StatementsListRequest statementsListRequest + ); + + /** + * Refresh statements data. + * `/statements/refresh` initiates an on-demand extraction to fetch the statements for the provided dates. + * @param statementsRefreshRequest (required) + * @return Call<StatementsRefreshResponse> + * + * @see Refresh statements data. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("statements/refresh") + Call statementsRefresh( + @retrofit2.http.Body StatementsRefreshRequest statementsRefreshRequest + ); + + /** + * Enhance locally-held transaction data + * The `/beta/transactions/v1/enhance` endpoint enriches raw transaction data provided directly by clients. The product is currently in beta. + * @param transactionsEnhanceGetRequest (required) + * @return Call<TransactionsEnhanceGetResponse> + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("beta/transactions/v1/enhance") + Call transactionsEnhance( + @retrofit2.http.Body TransactionsEnhanceGetRequest transactionsEnhanceGetRequest + ); + + /** + * Enrich locally-held transaction data + * The `/transactions/enrich` endpoint enriches raw transaction data generated by your own banking products or retrieved from other non-Plaid sources. + * @param transactionsEnrichRequest (required) + * @return Call<TransactionsEnrichResponse> + * + * @see Enrich locally-held transaction data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transactions/enrich") + Call transactionsEnrich( + @retrofit2.http.Body TransactionsEnrichRequest transactionsEnrichRequest + ); + + /** + * Get transaction data + * Note: All new implementations are encouraged to use `/transactions/sync` rather than `/transactions/get`. `/transactions/sync` provides the same functionality as `/transactions/get` and improves developer ease-of-use for handling transactions updates. The `/transactions/get` endpoint allows developers to receive user-authorized transaction data for credit, depository, and some loan-type accounts (only those with account subtype `student` or `mortgage`; coverage may be limited). For transaction history from investment accounts, use the [Investments endpoint](https://plaid.com/docs/api/products/investments/) instead. Transaction data is standardized across financial institutions, and in many cases transactions are linked to a clean name, entity type, location, and category. Similarly, account data is standardized and returned with a clean name, number, balance, and other meta information where available. Transactions are returned in reverse-chronological order, and the sequence of transaction ordering is stable and will not shift. Transactions are not immutable and can also be removed altogether by the institution; a removed transaction will no longer appear in `/transactions/get`. For more details, see [Pending and posted transactions](https://plaid.com/docs/transactions/transactions-data/#pending-and-posted-transactions). Due to the potentially large number of transactions associated with an Item, results are paginated. Manipulate the `count` and `offset` parameters in conjunction with the `total_transactions` response body field to fetch all available transactions. Data returned by `/transactions/get` will be the data available for the Item as of the most recent successful check for new transactions. Plaid typically checks for new data multiple times a day, but these checks may occur less frequently, such as once a day, depending on the institution. To find out when the Item was last updated, use the [Item Debugger](https://plaid.com/docs/account/activity/#troubleshooting-with-item-debugger) or call `/item/get`; the `item.status.transactions.last_successful_update` field will show the timestamp of the most recent successful update. To force Plaid to check for new transactions, you can use the `/transactions/refresh` endpoint. Note that data may not be immediately available to `/transactions/get`. Plaid will begin to prepare transactions data upon Item link, if Link was initialized with `transactions`, or upon the first call to `/transactions/get`, if it wasn't. To be alerted when transaction data is ready to be fetched, listen for the [`INITIAL_UPDATE`](https://plaid.com/docs/api/products/transactions/#initial_update) and [`HISTORICAL_UPDATE`](https://plaid.com/docs/api/products/transactions/#historical_update) webhooks. If no transaction history is ready when `/transactions/get` is called, it will return a `PRODUCT_NOT_READY` error. + * @param transactionsGetRequest (required) + * @return Call<TransactionsGetResponse> + * + * @see Get transaction data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transactions/get") + Call transactionsGet( + @retrofit2.http.Body TransactionsGetRequest transactionsGetRequest + ); + + /** + * Fetch recurring transaction streams + * The `/transactions/recurring/get` endpoint allows developers to receive a summary of the recurring outflow and inflow streams (expenses and deposits) from a user's checking, savings or credit card accounts. Additionally, Plaid provides key insights about each recurring stream including the category, merchant, last amount, and more. Developers can use these insights to build tools and experiences that help their users better manage cash flow, monitor subscriptions, reduce spend, and stay on track with bill payments. This endpoint is offered as an add-on to Transactions. To request access to this endpoint, submit a [product access request](https://dashboard.plaid.com/team/products) or contact your Plaid account manager. This endpoint can only be called on an Item that has already been initialized with Transactions (either during Link, by specifying it in `/link/token/create`; or after Link, by calling `/transactions/get` or `/transactions/sync`). When using Recurring Transactions, for best results, make sure to use the [`days_requested`](https://plaid.com/docs/api/link/#link-token-create-request-transactions-days-requested) parameter to request at least 180 days of history when initializing Items with Transactions. Once all historical transactions have been fetched, call `/transactions/recurring/get` to receive the Recurring Transactions streams and subscribe to the [`RECURRING_TRANSACTIONS_UPDATE`](https://plaid.com/docs/api/products/transactions/#recurring_transactions_update) webhook. To know when historical transactions have been fetched, if you are using `/transactions/sync` listen for the [`SYNC_UPDATES_AVAILABLE`](https://plaid.com/docs/api/products/transactions/#SyncUpdatesAvailableWebhook-historical-update-complete) webhook and check that the `historical_update_complete` field in the payload is `true`. If using `/transactions/get`, listen for the [`HISTORICAL_UPDATE`](https://plaid.com/docs/api/products/transactions/#historical_update) webhook. After the initial call, you can call the `/transactions/recurring/get` endpoint at any point in the future to retrieve the latest summary of recurring streams. Listen to the [`RECURRING_TRANSACTIONS_UPDATE`](https://plaid.com/docs/api/products/transactions/#recurring_transactions_update) webhook to be notified when new updates are available. + * @param transactionsRecurringGetRequest (required) + * @return Call<TransactionsRecurringGetResponse> + * + * @see Fetch recurring transaction streams Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transactions/recurring/get") + Call transactionsRecurringGet( + @retrofit2.http.Body TransactionsRecurringGetRequest transactionsRecurringGetRequest + ); + + /** + * Refresh transaction data + * `/transactions/refresh` is an optional endpoint that initiates an on-demand extraction to fetch the newest transactions for an Item. The on-demand extraction takes place in addition to the periodic extractions that automatically occur one or more times per day for any Transactions-enabled Item. The Item must already have Transactions added as a product in order to call `/transactions/refresh`. If changes to transactions are discovered after calling `/transactions/refresh`, Plaid will fire a webhook: for `/transactions/sync` users, [`SYNC_UPDATES_AVAILABLE`](https://plaid.com/docs/api/products/transactions/#sync_updates_available) will be fired if there are any transactions updated, added, or removed. For users of both `/transactions/sync` and `/transactions/get`, [`TRANSACTIONS_REMOVED`](https://plaid.com/docs/api/products/transactions/#transactions_removed) will be fired if any removed transactions are detected, and [`DEFAULT_UPDATE`](https://plaid.com/docs/api/products/transactions/#default_update) will be fired if any new transactions are detected. New transactions can be fetched by calling `/transactions/get` or `/transactions/sync`. Note that the `/transactions/refresh` endpoint is not supported for Capital One (`ins_128026`) non-depository accounts and will result in a `PRODUCTS_NOT_SUPPORTED` error if called on an Item that contains only non-depository accounts from that institution. As this endpoint triggers a synchronous request for fresh data, latency may be higher than for other Plaid endpoints (typically less than 10 seconds, but occasionally up to 30 seconds or more); if you encounter errors, you may find it necessary to adjust your timeout period when making requests. `/transactions/refresh` is offered as an optional add-on to Transactions and has a separate [fee model](https://plaid.com/docs/account/billing/#per-request-flat-fee). To request access to this endpoint, submit a [product access request](https://dashboard.plaid.com/team/products) or contact your Plaid account manager. + * @param transactionsRefreshRequest (required) + * @return Call<TransactionsRefreshResponse> + * + * @see Refresh transaction data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transactions/refresh") + Call transactionsRefresh( + @retrofit2.http.Body TransactionsRefreshRequest transactionsRefreshRequest + ); + + /** + * Create transaction category rule + * The `/beta/transactions/rules/v1/create` endpoint creates transaction categorization rules. Rules will be applied on the Item's transactions returned in `/transactions/get` response. The product is currently in beta. To request access, contact transactions-feedback@plaid.com. + * @param transactionsRulesCreateRequest (required) + * @return Call<TransactionsRulesCreateResponse> + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("beta/transactions/rules/v1/create") + Call transactionsRulesCreate( + @retrofit2.http.Body TransactionsRulesCreateRequest transactionsRulesCreateRequest + ); + + /** + * Return a list of rules created for the Item associated with the access token. + * The `/beta/transactions/rules/v1/list` returns a list of transaction rules created for the Item associated with the access token. + * @param transactionsRulesListRequest (required) + * @return Call<TransactionsRulesListResponse> + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("beta/transactions/rules/v1/list") + Call transactionsRulesList( + @retrofit2.http.Body TransactionsRulesListRequest transactionsRulesListRequest + ); + + /** + * Remove transaction rule + * The `/beta/transactions/rules/v1/remove` endpoint is used to remove a transaction rule. + * @param transactionsRulesRemoveRequest (required) + * @return Call<TransactionsRulesRemoveResponse> + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("beta/transactions/rules/v1/remove") + Call transactionsRulesRemove( + @retrofit2.http.Body TransactionsRulesRemoveRequest transactionsRulesRemoveRequest + ); + + /** + * Get incremental transaction updates on an Item + * The `/transactions/sync` endpoint retrieves transactions associated with an Item and can fetch updates using a cursor to track which updates have already been seen. For important instructions on integrating with `/transactions/sync`, see the [Transactions integration overview](https://plaid.com/docs/transactions/#integration-overview). If you are migrating from an existing integration using `/transactions/get`, see the [Transactions Sync migration guide](https://plaid.com/docs/transactions/sync-migration/). This endpoint supports `credit`, `depository`, and some `loan`-type accounts (only those with account subtype `student` or `mortgage`). For `investments` accounts, use `/investments/transactions/get` instead. When retrieving paginated updates, track both the `next_cursor` from the latest response and the original cursor from the first call in which `has_more` was `true`; if a call to `/transactions/sync` fails when retrieving a paginated update (e.g. due to the [`TRANSACTIONS_SYNC_MUTATION_DURING_PAGINATION`](https://plaid.com/docs/errors/transactions/#transactions_sync_mutation_during_pagination) error), the entire pagination request loop must be restarted beginning with the cursor for the first page of the update, rather than retrying only the single request that failed. If transactions data is not yet available for the Item, which can happen if the Item was not initialized with transactions during the `/link/token/create` call or if `/transactions/sync` was called within a few seconds of Item creation, `/transactions/sync` will return empty transactions arrays. Plaid typically checks for new transactions data between one and four times per day, depending on the institution. To find out when transactions were last updated for an Item, use the [Item Debugger](https://plaid.com/docs/account/activity/#troubleshooting-with-item-debugger) or call `/item/get`; the `item.status.transactions.last_successful_update` field will show the timestamp of the most recent successful update. To force Plaid to check for new transactions, use the `/transactions/refresh` endpoint. To be alerted when new transactions are available, listen for the [`SYNC_UPDATES_AVAILABLE`](https://plaid.com/docs/api/products/transactions/#sync_updates_available) webhook. + * @param transactionsSyncRequest (required) + * @return Call<TransactionsSyncResponse> + * + * @see Get incremental transaction updates on an Item Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transactions/sync") + Call transactionsSync( + @retrofit2.http.Body TransactionsSyncRequest transactionsSyncRequest + ); + + /** + * Obtain user insights based on transactions sent through /transactions/enrich + * The `/beta/transactions/user_insights/v1/get` gets user insights for clients who have enriched data with `/transactions/enrich`. The product is currently in beta. + * @param transactionsUserInsightsGetRequest (required) + * @return Call<TransactionsUserInsightsGetResponse> + * + * @see Obtain user insights based on transactions sent through /transactions/enrich Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("beta/transactions/user_insights/v1/get") + Call transactionsUserInsightsGet( + @retrofit2.http.Body TransactionsUserInsightsGetRequest transactionsUserInsightsGetRequest + ); + + /** + * Cancel a transfer authorization + * Use the `/transfer/authorization/cancel` endpoint to cancel a transfer authorization. A transfer authorization is eligible for cancellation if it has not yet been used to create a transfer. + * @param transferAuthorizationCancelRequest (required) + * @return Call<TransferAuthorizationCancelResponse> + * + * @see Cancel a transfer authorization Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/authorization/cancel") + Call transferAuthorizationCancel( + @retrofit2.http.Body TransferAuthorizationCancelRequest transferAuthorizationCancelRequest + ); + + /** + * Create a transfer authorization + * Use the `/transfer/authorization/create` endpoint to authorize a transfer. This endpoint must be called prior to calling `/transfer/create`. The transfer authorization will expire if not used after one hour. (You can contact your account manager to change the default authorization lifetime.) There are four possible outcomes to calling this endpoint: - If the `authorization.decision` in the response is `declined`, the proposed transfer has failed the risk check and you cannot proceed with the transfer. - If the `authorization.decision` is `user_action_required`, additional user input is needed, usually to fix a broken bank connection, before Plaid can properly assess the risk. You need to launch Link in update mode to complete the required user action. When calling `/link/token/create` to get a new Link token, instead of providing `access_token` in the request, you should set [`transfer.authorization_id`](https://plaid.com/docs/api/link/#link-token-create-request-transfer-authorization-id) as the `authorization.id`. After the Link flow is completed, you may re-attempt the authorization. - If the `authorization.decision` is `approved`, and the `authorization.decision_rationale.code` is `null`, the transfer has passed the risk check and you can proceed to call `/transfer/create`. - If the `authorization.decision` is `approved` and the `authorization.decision_rationale.code` is non-`null`, the risk check could not be run: you may proceed with the transfer, but should perform your own risk evaluation. For more details, see the response schema. In Plaid's Sandbox environment the decisions will be returned as follows: - To approve a transfer with `null` rationale code, make an authorization request with an `amount` less than the available balance in the account. - To approve a transfer with the rationale code `MANUALLY_VERIFIED_ITEM`, create an Item in Link through the [Same-Day Micro-deposits flow](https://plaid.com/docs/auth/coverage/testing/#testing-same-day-micro-deposits). - To get an authorization decision of `user_action_required`, [reset the login for an Item](https://plaid.com/docs/sandbox/#item_login_required). - To decline a transfer with the rationale code `NSF`, the available balance on the account must be less than the authorization `amount`. See [Create Sandbox test data](https://plaid.com/docs/sandbox/user-custom/) for details on how to customize data in Sandbox. - To decline a transfer with the rationale code `RISK`, the available balance on the account must be exactly $0. See [Create Sandbox test data](https://plaid.com/docs/sandbox/user-custom/) for details on how to customize data in Sandbox. + * @param transferAuthorizationCreateRequest (required) + * @return Call<TransferAuthorizationCreateResponse> + * + * @see Create a transfer authorization Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/authorization/create") + Call transferAuthorizationCreate( + @retrofit2.http.Body TransferAuthorizationCreateRequest transferAuthorizationCreateRequest + ); + + /** + * (Deprecated) Retrieve a balance held with Plaid + * (Deprecated) Use the `/transfer/ledger/get` endpoint to view a balance held with Plaid. + * @param transferBalanceGetRequest (required) + * @return Call<TransferBalanceGetResponse> + * @deprecated + * + * @see (Deprecated) Retrieve a balance held with Plaid Documentation + */ + @Deprecated + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/balance/get") + Call transferBalanceGet( + @retrofit2.http.Body TransferBalanceGetRequest transferBalanceGetRequest + ); + + /** + * Cancel a transfer + * Use the `/transfer/cancel` endpoint to cancel a transfer. A transfer is eligible for cancellation if the `cancellable` property returned by `/transfer/get` is `true`. + * @param transferCancelRequest (required) + * @return Call<TransferCancelResponse> + * + * @see Cancel a transfer Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/cancel") + Call transferCancel( + @retrofit2.http.Body TransferCancelRequest transferCancelRequest + ); + + /** + * Get RTP eligibility information of a transfer + * Use the `/transfer/capabilities/get` endpoint to determine the RTP eligibility information of an account to be used with Transfer. This endpoint works on all Transfer-capable Items, including those created by `/transfer/migrate_account`. + * @param transferCapabilitiesGetRequest (required) + * @return Call<TransferCapabilitiesGetResponse> + * + * @see Get RTP eligibility information of a transfer Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/capabilities/get") + Call transferCapabilitiesGet( + @retrofit2.http.Body TransferCapabilitiesGetRequest transferCapabilitiesGetRequest + ); + + /** + * Get transfer product configuration + * Use the `/transfer/configuration/get` endpoint to view your transfer product configurations. + * @param transferConfigurationGetRequest (required) + * @return Call<TransferConfigurationGetResponse> + * + * @see Get transfer product configuration Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/configuration/get") + Call transferConfigurationGet( + @retrofit2.http.Body TransferConfigurationGetRequest transferConfigurationGetRequest + ); + + /** + * Create a transfer + * Use the `/transfer/create` endpoint to initiate a new transfer. This endpoint is retryable and idempotent; if a transfer with the provided `transfer_id` has already been created, it will return the transfer details without creating a new transfer. A transfer may still be created if a 500 error is returned; to detect this scenario, use [Transfer events](https://plaid.com/docs/transfer/reconciling-transfers/). + * @param transferCreateRequest (required) + * @return Call<TransferCreateResponse> + * + * @see Create a transfer Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/create") + Call transferCreate( + @retrofit2.http.Body TransferCreateRequest transferCreateRequest + ); + + /** + * Upload transfer diligence document on behalf of the originator + * Third-party sender customers can use the `/transfer/diligence/document/upload` endpoint to upload a document on behalf of their end customer (i.e. originator) to Plaid. You'll need to send a request of type `multipart/form-data`. You must provide the `client_id` in the `PLAID-CLIENT-ID` header and `secret` in the `PLAID-SECRET` header. + * @param transferDiligenceDocumentUploadRequest (required) + * @return Call<TransferDiligenceDocumentUploadResponse> + * + * @see Upload transfer diligence document on behalf of the originator Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/diligence/document/upload") + Call transferDiligenceDocumentUpload( + @retrofit2.http.Body TransferDiligenceDocumentUploadRequest transferDiligenceDocumentUploadRequest + ); + + /** + * Submit transfer diligence on behalf of the originator + * Use the `/transfer/diligence/submit` endpoint to submit transfer diligence on behalf of the originator (i.e., the end customer). + * @param transferDiligenceSubmitRequest (required) + * @return Call<TransferDiligenceSubmitResponse> + * + * @see Submit transfer diligence on behalf of the originator Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/diligence/submit") + Call transferDiligenceSubmit( + @retrofit2.http.Body TransferDiligenceSubmitRequest transferDiligenceSubmitRequest + ); + + /** + * List transfer events + * Use the `/transfer/event/list` endpoint to get a list of transfer events based on specified filter criteria. + * @param transferEventListRequest (required) + * @return Call<TransferEventListResponse> + * + * @see List transfer events Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/event/list") + Call transferEventList( + @retrofit2.http.Body TransferEventListRequest transferEventListRequest + ); + + /** + * Sync transfer events + * `/transfer/event/sync` allows you to request up to the next 500 transfer events that happened after a specific `event_id`. Use the `/transfer/event/sync` endpoint to guarantee you have seen all transfer events. + * @param transferEventSyncRequest (required) + * @return Call<TransferEventSyncResponse> + * + * @see Sync transfer events Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/event/sync") + Call transferEventSync( + @retrofit2.http.Body TransferEventSyncRequest transferEventSyncRequest + ); + + /** + * Retrieve a transfer + * The `/transfer/get` endpoint fetches information about the transfer corresponding to the given `transfer_id` or `authorization_id`. One of `transfer_id` or `authorization_id` must be populated but not both. + * @param transferGetRequest (required) + * @return Call<TransferGetResponse> + * + * @see Retrieve a transfer Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/get") + Call transferGet( + @retrofit2.http.Body TransferGetRequest transferGetRequest + ); + + /** + * Create a transfer intent object to invoke the Transfer UI + * Use the `/transfer/intent/create` endpoint to generate a transfer intent object and invoke the Transfer UI. + * @param transferIntentCreateRequest (required) + * @return Call<TransferIntentCreateResponse> + * + * @see Create a transfer intent object to invoke the Transfer UI Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/intent/create") + Call transferIntentCreate( + @retrofit2.http.Body TransferIntentCreateRequest transferIntentCreateRequest + ); + + /** + * Retrieve more information about a transfer intent + * Use the `/transfer/intent/get` endpoint to retrieve more information about a transfer intent. + * @param transferIntentGetRequest (required) + * @return Call<TransferIntentGetResponse> + * + * @see Retrieve more information about a transfer intent Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/intent/get") + Call transferIntentGet( + @retrofit2.http.Body TransferIntentGetRequest transferIntentGetRequest + ); + + /** + * Deposit funds into a Plaid Ledger balance + * Use the `/transfer/ledger/deposit` endpoint to deposit funds into Plaid Ledger. + * @param transferLedgerDepositRequest (required) + * @return Call<TransferLedgerDepositResponse> + * + * @see Deposit funds into a Plaid Ledger balance Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/ledger/deposit") + Call transferLedgerDeposit( + @retrofit2.http.Body TransferLedgerDepositRequest transferLedgerDepositRequest + ); + + /** + * Move available balance between ledgers + * Use the `/transfer/ledger/distribute` endpoint to move available balance between ledgers, if you have multiple. If you're a platform, you can move funds between one of your ledgers and one of your customer's ledgers. + * @param transferLedgerDistributeRequest (required) + * @return Call<TransferLedgerDistributeResponse> + * + * @see Move available balance between ledgers Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/ledger/distribute") + Call transferLedgerDistribute( + @retrofit2.http.Body TransferLedgerDistributeRequest transferLedgerDistributeRequest + ); + + /** + * List transfer ledger events + * Use the `/transfer/ledger/event/list` endpoint to get a list of ledger events for a specific ledger based on specified filter criteria. + * @param transferLedgerEventListRequest (required) + * @return Call<TransferLedgerEventListResponse> + * + * @see List transfer ledger events Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/ledger/event/list") + Call transferLedgerEventList( + @retrofit2.http.Body TransferLedgerEventListRequest transferLedgerEventListRequest + ); + + /** + * Retrieve Plaid Ledger balance + * Use the `/transfer/ledger/get` endpoint to view a balance on the ledger held with Plaid. + * @param transferLedgerGetRequest (required) + * @return Call<TransferLedgerGetResponse> + * + * @see Retrieve Plaid Ledger balance Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/ledger/get") + Call transferLedgerGet( + @retrofit2.http.Body TransferLedgerGetRequest transferLedgerGetRequest + ); + + /** + * Withdraw funds from a Plaid Ledger balance + * Use the `/transfer/ledger/withdraw` endpoint to withdraw funds from a Plaid Ledger balance. + * @param transferLedgerWithdrawRequest (required) + * @return Call<TransferLedgerWithdrawResponse> + * + * @see Withdraw funds from a Plaid Ledger balance Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/ledger/withdraw") + Call transferLedgerWithdraw( + @retrofit2.http.Body TransferLedgerWithdrawRequest transferLedgerWithdrawRequest + ); + + /** + * List transfers + * Use the `/transfer/list` endpoint to see a list of all your transfers and their statuses. Results are paginated; use the `count` and `offset` query parameters to retrieve the desired transfers. + * @param transferListRequest (required) + * @return Call<TransferListResponse> + * + * @see List transfers Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/list") + Call transferList( + @retrofit2.http.Body TransferListRequest transferListRequest + ); + + /** + * Get transfer product usage metrics + * Use the `/transfer/metrics/get` endpoint to view your transfer product usage metrics. In the Sandbox environment, this endpoint returns static placeholder values rather than metrics computed from your Sandbox transfer activity. + * @param transferMetricsGetRequest (required) + * @return Call<TransferMetricsGetResponse> + * + * @see Get transfer product usage metrics Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/metrics/get") + Call transferMetricsGet( + @retrofit2.http.Body TransferMetricsGetRequest transferMetricsGetRequest + ); + + /** + * Migrate account into Transfers + * As an alternative to adding Items via Link, you can also use the `/transfer/migrate_account` endpoint to migrate previously-verified account and routing numbers to Plaid Items. This endpoint is also required when adding an Item for use with wire transfers; if you intend to create wire transfers on this account, you must provide `wire_routing_number`. Note that Items created in this way are not compatible with endpoints for other products, such as `/accounts/balance/get`, and can only be used with Transfer endpoints. If you require access to other endpoints, create the Item through Link instead. Access to `/transfer/migrate_account` is not enabled by default; to obtain access, contact your Plaid account manager or [support](https://dashboard.plaid.com/support). + * @param transferMigrateAccountRequest (required) + * @return Call<TransferMigrateAccountResponse> + * + * @see Migrate account into Transfers Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/migrate_account") + Call transferMigrateAccount( + @retrofit2.http.Body TransferMigrateAccountRequest transferMigrateAccountRequest + ); + + /** + * Create a new originator + * Use the `/transfer/originator/create` endpoint to create a new originator and return an `originator_client_id`. + * @param transferOriginatorCreateRequest (required) + * @return Call<TransferOriginatorCreateResponse> + * + * @see Create a new originator Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/originator/create") + Call transferOriginatorCreate( + @retrofit2.http.Body TransferOriginatorCreateRequest transferOriginatorCreateRequest + ); + + /** + * Create a new funding account for an originator + * Use the `/transfer/originator/funding_account/create` endpoint to create a new funding account for the originator. + * @param transferOriginatorFundingAccountCreateRequest (required) + * @return Call<TransferOriginatorFundingAccountCreateResponse> + * + * @see Create a new funding account for an originator Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/originator/funding_account/create") + Call transferOriginatorFundingAccountCreate( + @retrofit2.http.Body TransferOriginatorFundingAccountCreateRequest transferOriginatorFundingAccountCreateRequest + ); + + /** + * Update the funding account associated with the originator + * Use the `/transfer/originator/funding_account/update` endpoint to update the funding account associated with the originator. + * @param transferOriginatorFundingAccountUpdateRequest (required) + * @return Call<TransferOriginatorFundingAccountUpdateResponse> + * + * @see Update the funding account associated with the originator Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/originator/funding_account/update") + Call transferOriginatorFundingAccountUpdate( + @retrofit2.http.Body TransferOriginatorFundingAccountUpdateRequest transferOriginatorFundingAccountUpdateRequest + ); + + /** + * Get status of an originator's onboarding + * The `/transfer/originator/get` endpoint gets status updates for an originator's onboarding process. This information is also available via the Transfer page on the Plaid dashboard. + * @param transferOriginatorGetRequest (required) + * @return Call<TransferOriginatorGetResponse> + * + * @see Get status of an originator's onboarding Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/originator/get") + Call transferOriginatorGet( + @retrofit2.http.Body TransferOriginatorGetRequest transferOriginatorGetRequest + ); + + /** + * Get status of all originators' onboarding + * The `/transfer/originator/list` endpoint gets status updates for all of your originators' onboarding. This information is also available via the Plaid dashboard. + * @param transferOriginatorListRequest (required) + * @return Call<TransferOriginatorListResponse> + * + * @see Get status of all originators' onboarding Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/originator/list") + Call transferOriginatorList( + @retrofit2.http.Body TransferOriginatorListRequest transferOriginatorListRequest + ); + + /** + * Create an originator for Transfer for Platforms customers + * Use the `/transfer/platform/originator/create` endpoint to submit information about the originator you are onboarding, including the originator's agreement to the required legal terms. + * @param transferPlatformOriginatorCreateRequest (required) + * @return Call<TransferPlatformOriginatorCreateResponse> + * + * @see Create an originator for Transfer for Platforms customers Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/platform/originator/create") + Call transferPlatformOriginatorCreate( + @retrofit2.http.Body TransferPlatformOriginatorCreateRequest transferPlatformOriginatorCreateRequest + ); + + /** + * Create a person associated with an originator + * Use the `/transfer/platform/person/create` endpoint to create a person associated with an originator (e.g. beneficial owner or control person) and optionally submit personal identification information for them. + * @param transferPlatformPersonCreateRequest (required) + * @return Call<TransferPlatformPersonCreateResponse> + * + * @see Create a person associated with an originator Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/platform/person/create") + Call transferPlatformPersonCreate( + @retrofit2.http.Body TransferPlatformPersonCreateRequest transferPlatformPersonCreateRequest + ); + + /** + * Submit additional onboarding information on behalf of an originator + * Use the `/transfer/platform/requirement/submit` endpoint to submit additional onboarding information that is needed by Plaid to approve or decline the originator. See [Requirement type schema documentation](https://docs.google.com/document/d/1NEQkTD0sVK50iAQi6xHigrexDUxZ4QxXqSEfV_FFTiU/) for a list of requirement types and possible values. + * @param transferPlatformRequirementSubmitRequest (required) + * @return Call<TransferPlatformRequirementSubmitResponse> + * + * @see Submit additional onboarding information on behalf of an originator Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/platform/requirement/submit") + Call transferPlatformRequirementSubmit( + @retrofit2.http.Body TransferPlatformRequirementSubmitRequest transferPlatformRequirementSubmitRequest + ); + + /** + * Generate a Plaid-hosted onboarding UI URL. + * The `/transfer/questionnaire/create` endpoint generates a Plaid-hosted onboarding UI URL. Redirect the originator to this URL to provide their due diligence information and agree to Plaid's terms for ACH money movement. + * @param transferQuestionnaireCreateRequest (required) + * @return Call<TransferQuestionnaireCreateResponse> + * + * @see Generate a Plaid-hosted onboarding UI URL. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/questionnaire/create") + Call transferQuestionnaireCreate( + @retrofit2.http.Body TransferQuestionnaireCreateRequest transferQuestionnaireCreateRequest + ); + + /** + * Cancel a recurring transfer. + * Use the `/transfer/recurring/cancel` endpoint to cancel a recurring transfer. A scheduled transfer that hasn't been submitted to the bank will be cancelled. + * @param transferRecurringCancelRequest (required) + * @return Call<TransferRecurringCancelResponse> + * + * @see Cancel a recurring transfer. Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/recurring/cancel") + Call transferRecurringCancel( + @retrofit2.http.Body TransferRecurringCancelRequest transferRecurringCancelRequest + ); + + /** + * Create a recurring transfer + * Use the `/transfer/recurring/create` endpoint to initiate a new recurring transfer. This capability is not currently supported for Transfer UI or Transfer for Platforms (beta) customers. + * @param transferRecurringCreateRequest (required) + * @return Call<TransferRecurringCreateResponse> + * + * @see Create a recurring transfer Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/recurring/create") + Call transferRecurringCreate( + @retrofit2.http.Body TransferRecurringCreateRequest transferRecurringCreateRequest + ); + + /** + * Retrieve a recurring transfer + * The `/transfer/recurring/get` fetches information about the recurring transfer corresponding to the given `recurring_transfer_id`. + * @param transferRecurringGetRequest (required) + * @return Call<TransferRecurringGetResponse> + * + * @see Retrieve a recurring transfer Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/recurring/get") + Call transferRecurringGet( + @retrofit2.http.Body TransferRecurringGetRequest transferRecurringGetRequest + ); + + /** + * List recurring transfers + * Use the `/transfer/recurring/list` endpoint to see a list of all your recurring transfers and their statuses. Results are paginated; use the `count` and `offset` query parameters to retrieve the desired recurring transfers. + * @param transferRecurringListRequest (required) + * @return Call<TransferRecurringListResponse> + * + * @see List recurring transfers Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/recurring/list") + Call transferRecurringList( + @retrofit2.http.Body TransferRecurringListRequest transferRecurringListRequest + ); + + /** + * Cancel a refund + * Use the `/transfer/refund/cancel` endpoint to cancel a refund. A refund is eligible for cancellation if it has not yet been submitted to the payment network. + * @param transferRefundCancelRequest (required) + * @return Call<TransferRefundCancelResponse> + * + * @see Cancel a refund Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/refund/cancel") + Call transferRefundCancel( + @retrofit2.http.Body TransferRefundCancelRequest transferRefundCancelRequest + ); + + /** + * Create a refund + * Use the `/transfer/refund/create` endpoint to create a refund for a transfer. A transfer can be refunded if the transfer was initiated in the past 180 days. Refunds come out of the available balance of the ledger used for the original debit transfer. If there are not enough funds in the available balance to cover the refund amount, the refund will be rejected. You can create a refund at any time. Plaid does not impose any hold time on refunds. A refund can still be issued even if the Item's `access_token` is no longer valid (e.g. if the user revoked OAuth consent or the Item was deleted via `/item/remove`), as long as the account and routing number pair used to make the original transaction is still valid. A refund cannot be issued if the Item has an [invalidated TAN](https://plaid.com/docs/auth/#tokenized-account-numbers), which can occur at Chase or PNC. + * @param transferRefundCreateRequest (required) + * @return Call<TransferRefundCreateResponse> + * + * @see Create a refund Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/refund/create") + Call transferRefundCreate( + @retrofit2.http.Body TransferRefundCreateRequest transferRefundCreateRequest + ); + + /** + * Retrieve a refund + * The `/transfer/refund/get` endpoint fetches information about the refund corresponding to the given `refund_id`. + * @param transferRefundGetRequest (required) + * @return Call<TransferRefundGetResponse> + * + * @see Retrieve a refund Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/refund/get") + Call transferRefundGet( + @retrofit2.http.Body TransferRefundGetRequest transferRefundGetRequest + ); + + /** + * Lists historical repayments + * The `/transfer/repayment/list` endpoint fetches repayments matching the given filters. Repayments are returned in reverse-chronological order (most recent first) starting at the given `start_time`. + * @param transferRepaymentListRequest (required) + * @return Call<TransferRepaymentListResponse> + * + * @see Lists historical repayments Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/repayment/list") + Call transferRepaymentList( + @retrofit2.http.Body TransferRepaymentListRequest transferRepaymentListRequest + ); + + /** + * List the returns included in a repayment + * The `/transfer/repayment/return/list` endpoint retrieves the set of returns that were batched together into the specified repayment. The sum of amounts of returns retrieved by this request equals the amount of the repayment. + * @param transferRepaymentReturnListRequest (required) + * @return Call<TransferRepaymentReturnListResponse> + * + * @see List the returns included in a repayment Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/repayment/return/list") + Call transferRepaymentReturnList( + @retrofit2.http.Body TransferRepaymentReturnListRequest transferRepaymentReturnListRequest + ); + + /** + * Report a return recovery + * Use the `/transfer/return/recover` endpoint to notify Plaid that you have recovered some or all of the loss on a returned guaranteed transfer. Recovery can be reported in full or in parts; the sum of recovered amounts across calls cannot exceed the original transfer's amount. + * @param transferReturnRecoverRequest (required) + * @return Call<TransferReturnRecoverResponse> + * + * @see Report a return recovery Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/return/recover") + Call transferReturnRecover( + @retrofit2.http.Body TransferReturnRecoverRequest transferReturnRecoverRequest + ); + + /** + * Retrieve a sweep + * The `/transfer/sweep/get` endpoint fetches a sweep corresponding to the given `sweep_id`. + * @param transferSweepGetRequest (required) + * @return Call<TransferSweepGetResponse> + * + * @see Retrieve a sweep Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/sweep/get") + Call transferSweepGet( + @retrofit2.http.Body TransferSweepGetRequest transferSweepGetRequest + ); + + /** + * List sweeps + * The `/transfer/sweep/list` endpoint fetches sweeps matching the given filters. + * @param transferSweepListRequest (required) + * @return Call<TransferSweepListResponse> + * + * @see List sweeps Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("transfer/sweep/list") + Call transferSweepList( + @retrofit2.http.Body TransferSweepListRequest transferSweepListRequest + ); + + /** + * Send User Account Session Event + * This endpoint allows sending client-specific events related to Layer sessions for analytics and tracking purposes. + * @param userAccountSessionEventSendRequest (required) + * @return Call<UserAccountSessionEventSendResponse> + * + * @see Send User Account Session Event Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user_account/session/event/send") + Call userAccountSessionEventSend( + @retrofit2.http.Body UserAccountSessionEventSendRequest userAccountSessionEventSendRequest + ); + + /** + * Retrieve User Account + * This endpoint returns user permissioned account data, including identity and Item access tokens, for use with [Plaid Layer](https://plaid.com/docs/layer). Note that end users are permitted to edit the prefilled identity data in the Link flow before sharing it with you; you should treat any identity data returned by this endpoint as user-submitted, unverified data. For a verification layer, you can add [Identity Verification](https://plaid.com/docs/identity-verification/) to your flow, or check the submitted identity data against bank account data from linked accounts using [Identity Match](https://plaid.com/docs/identity/#identity-match). + * @param userAccountSessionGetRequest (required) + * @return Call<UserAccountSessionGetResponse> + * + * @see Retrieve User Account Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user_account/session/get") + Call userAccountSessionGet( + @retrofit2.http.Body UserAccountSessionGetRequest userAccountSessionGetRequest + ); + + /** + * Create user + * For Plaid products and flows that use the user object, `/user/create` provides you a single token to access all data associated with the user. You must call this endpoint before calling `/link/token/create` if you are using any of the following: Plaid Check, Income Verification, Multi-Item Link, or Plaid Protect (Identity). If you are using Plaid Protect Link session scoring, you do not need to call `/user/create` first; Plaid will resolve or create the user when `user.client_user_id` is provided in `/link/token/create`. For customers who began using this endpoint on or after December 10, 2025, this endpoint takes a `client_user_id` and an `identity` object and will return a `user_id`. For customers who began using it before that date, the endpoint takes a `client_user_id` and a `consumer_report_user_identity` object and will return a `user_token` and `user_id`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). In order to create a Plaid Check Consumer Report for a user, the `identity` (new) or `consumer_report_user_identity` (legacy) object must be present. If it is not provided during the `/user/create` call, it can be added later by calling `/user/update`. In order to generate a Plaid Check Consumer Report, the following `identity` fields, at minimum, are required and must be non-empty: `name`, `date_of_birth`, `emails`, `phone_numbers`, and `addresses` (with at least one email, phone number, and address designated as `primary`). Plaid Check Consumer Reports can only be created for US-based users; the user's address country must be `US`. If creating a report for sharing with a GSE such as Fannie or Freddie, the user's full SSN must be provided via the `id_numbers` field. Providing at least a partial SSN is also strongly recommended for all use cases, since it improves the accuracy of matching user records during compliance processes such as file disclosure, dispute, or security freeze requests. When using Plaid Protect, it is highly recommended that you provide an `identity` object to better identify and block fraud across your Link sessions. Plaid will normalize identity fields before storing them and utilize the same identity across different user-based products. + * @param userCreateRequest (required) + * @param plaidNewUserAPIEnabled The HTTP header used in API requests to determine which set of User APIs to invoke: the legacy CRA version or the new User API version. (optional, default to false) + * @return Call<UserCreateResponse> + * + * @see Create user Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user/create") + Call userCreate( + @retrofit2.http.Body UserCreateRequest userCreateRequest, @retrofit2.http.Header("Plaid-New-User-API-Enabled") Boolean plaidNewUserAPIEnabled + ); + + /** + * Refresh user items for Financial-Insights bundle + * `/user/financial_data/refresh` is an optional endpoint that initiates an on-demand extraction to fetch the newest transactions for a User using the Financial Insights bundle. This bundle refreshes the Transactions, Investments, and Liabilities product data. This endpoint is for clients who use the Financial Insights bundle and want to proactively update all linked Items under a user. The refresh may succeed or fail on a per-Item basis. Use the `results` array in the response to understand the outcome for each Item. This endpoint is distinct from `/transactions/refresh`, which triggers a refresh for a single Item. Use `/user/financial_data/refresh` to target all Items for a user instead. + * @param userFinancialDataRefreshRequest (required) + * @return Call<UserFinancialDataRefreshResponse> + * + * @see Refresh user items for Financial-Insights bundle Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user/financial_data/refresh") + Call userFinancialDataRefresh( + @retrofit2.http.Body UserFinancialDataRefreshRequest userFinancialDataRefreshRequest + ); + + /** + * Retrieve user identity and information + * Get user details using a `user_id`. This endpoint only supports users that were created on the new user API flow, without a `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis). + * @param userGetRequest (required) + * @param plaidNewUserAPIEnabled The HTTP header used in API requests to determine which set of User APIs to invoke: the legacy CRA version or the new User API version. (optional, default to false) + * @return Call<UserGetResponse> + * + * @see Retrieve user identity and information Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user/get") + Call userGet( + @retrofit2.http.Body UserGetRequest userGetRequest, @retrofit2.http.Header("Plaid-New-User-API-Enabled") Boolean plaidNewUserAPIEnabled + ); + + /** + * Remove user identity data + * This endpoint allows customers to explicitly purge identity/PII data provided to Plaid for a given user. This is not exposed to customers by default, as it is meant for special scenarios or requests, but Plaid is obligated to enable customers to delete PII provided to us. + * @param userIdentityRemoveRequest (required) + * @param plaidNewUserAPIEnabled The HTTP header used in API requests to determine which set of User APIs to invoke: the legacy CRA version or the new User API version. (optional, default to false) + * @return Call<UserIdentityRemoveResponse> + * + * @see Remove user identity data Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user/identity/remove") + Call userIdentityRemove( + @retrofit2.http.Body UserIdentityRemoveRequest userIdentityRemoveRequest, @retrofit2.http.Header("Plaid-New-User-API-Enabled") Boolean plaidNewUserAPIEnabled + ); + + /** + * Associate Items to a User + * Associates Items to the target user. If an Item is already associated to another user, the Item will be disassociated with the existing user and associated to the target user. This operation supports a max of 100 Items. + * @param userItemsAssociateRequest (required) + * @return Call<UserItemsAssociateResponse> + * + * @see Associate Items to a User Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user/items/associate") + Call userItemsAssociate( + @retrofit2.http.Body UserItemsAssociateRequest userItemsAssociateRequest + ); + + /** + * Get Items associated with a User + * Returns Items associated with a `user_id`, along with their corresponding statuses. Plaid associates an Item with a User when it has been successfully connected within a Link session initialized with that `user_id`. + * @param userItemsGetRequest (required) + * @return Call<UserItemsGetResponse> + * + * @see Get Items associated with a User Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user/items/get") + Call userItemsGet( + @retrofit2.http.Body UserItemsGetRequest userItemsGetRequest + ); + + /** + * Remove Items from a User + * Removes specific Items associated with a user. It is equivalent to calling `/item/remove` on each Item individually, but supports use cases (such as Plaid Check) where access tokens are not available. All specified Items must belong to the user or the entire operation fails. Similar to `/item/remove`, this deletes Item product data and terminates billing on the Item's products. Once removed, Items cannot be reconnected without going through Link again. This endpoint is not intended to remove all data for a user, as it will only remove Items and no other data for the user. If the user has any user-based recurring subscription products (Financial Management, Plaid Protect, or CRA Cash Flow Updates) and is deleting their account with your product, also call `/user/products/terminate` to end those subscriptions; per-Item billing is already terminated by this endpoint. For a user initiated data deletion request, see the [Consumer Service Center](https://plaid.com/check/consumer-service-center/) to revoke access to data. + * @param userItemsRemoveRequest (required) + * @return Call<UserItemsRemoveResponse> + * + * @see Remove Items from a User Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user/items/remove") + Call userItemsRemove( + @retrofit2.http.Body UserItemsRemoveRequest userItemsRemoveRequest + ); + + /** + * Terminate user-based products + * Terminates user-based recurring subscription bundles or products (Financial Management, Plaid Protect, and CRA Cash Flow Updates) associated with a `user_id`. After you call this endpoint, the user will no longer be billed for these products. For CRA Monitoring, the subscription is canceled but historical data remains available for future report requests. + * @param userProductsTerminateRequest (required) + * @return Call<UserProductsTerminateResponse> + * + * @see Terminate user-based products Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user/products/terminate") + Call userProductsTerminate( + @retrofit2.http.Body UserProductsTerminateRequest userProductsTerminateRequest + ); + + /** + * Remove user + * `/user/remove` deletes a `user_id` or `user_token` and associated information, including any Items associated with the user. + * @param userRemoveRequest (required) + * @param plaidNewUserAPIEnabled The HTTP header used in API requests to determine which set of User APIs to invoke: the legacy CRA version or the new User API version. (optional, default to false) + * @return Call<UserRemoveResponse> + * + * @see Remove user Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user/remove") + Call userRemove( + @retrofit2.http.Body UserRemoveRequest userRemoveRequest, @retrofit2.http.Header("Plaid-New-User-API-Enabled") Boolean plaidNewUserAPIEnabled + ); + + /** + * Create a third-party user token + * This endpoint is used to create a third-party user token. This token can be shared with and used by a specified third-party client to access data associated with the user through supported endpoints. Ensure you store the `third_party_user_token` along with the `user_token` and `third_party_client_id`, as it is not possible to retrieve a previously created `third_party_user_token`. + * @param userThirdPartyTokenCreateRequest (required) + * @return Call<UserThirdPartyTokenCreateResponse> + * + * @see Create a third-party user token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user/third_party_token/create") + Call userThirdPartyTokenCreate( + @retrofit2.http.Body UserThirdPartyTokenCreateRequest userThirdPartyTokenCreateRequest + ); + + /** + * Remove a third-party user token + * This endpoint is used to delete a third-party user token. Once removed, the token can no longer be used to access data associated with the user. Any subsequent calls to retrieve information using the same third-party user token will result in an error stating the third-party user token does not exist. + * @param userThirdPartyTokenRemoveRequest (required) + * @return Call<UserThirdPartyTokenRemoveResponse> + * + * @see Remove a third-party user token Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user/third_party_token/remove") + Call userThirdPartyTokenRemove( + @retrofit2.http.Body UserThirdPartyTokenRemoveRequest userThirdPartyTokenRemoveRequest + ); + + /** + * Refresh user items for Transactions bundle + * `/user/transactions/refresh` is an optional endpoint that initiates an on-demand extraction to fetch the newest transactions for a User using the Transactions bundle. This bundle refreshes only the Transactions product data. This endpoint is for clients who use the Transactions Insights bundle and want to proactively update all linked Items under a user. The refresh may succeed or fail on a per-Item basis. Use the `results` array in the response to understand the outcome for each Item. This endpoint is distinct from `/transactions/refresh`, which triggers a refresh for a single Item. Use `/user/transactions/refresh` to target all Items for a user instead. + * @param userTransactionsRefreshRequest (required) + * @return Call<UserTransactionsRefreshResponse> + * + * @see Refresh user items for Transactions bundle Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user/transactions/refresh") + Call userTransactionsRefresh( + @retrofit2.http.Body UserTransactionsRefreshRequest userTransactionsRefreshRequest + ); + + /** + * Update user information + * This endpoint updates user information for an existing `user_id` or `user_token`. If an existing `user_id` or `user_token` is missing fields required for a given use case (e.g. creating a Consumer Report) use `/user/update` to add values for those fields. Identity updates use merge semantics: provided fields overwrite existing ones; omitted fields remain unchanged. + * @param userUpdateRequest (required) + * @param plaidNewUserAPIEnabled The HTTP header used in API requests to determine which set of User APIs to invoke: the legacy CRA version or the new User API version. (optional, default to false) + * @return Call<UserUpdateResponse> + * + * @see Update user information Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("user/update") + Call userUpdate( + @retrofit2.http.Body UserUpdateRequest userUpdateRequest, @retrofit2.http.Header("Plaid-New-User-API-Enabled") Boolean plaidNewUserAPIEnabled + ); + + /** + * Create an e-wallet + * Create an e-wallet. The response is the newly created e-wallet object. + * @param walletCreateRequest (required) + * @return Call<WalletCreateResponse> + * + * @see Create an e-wallet Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("wallet/create") + Call walletCreate( + @retrofit2.http.Body WalletCreateRequest walletCreateRequest + ); + + /** + * Fetch an e-wallet + * Fetch an e-wallet. The response includes the current balance. + * @param walletGetRequest (required) + * @return Call<WalletGetResponse> + * + * @see Fetch an e-wallet Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("wallet/get") + Call walletGet( + @retrofit2.http.Body WalletGetRequest walletGetRequest + ); + + /** + * Fetch a list of e-wallets + * This endpoint lists all e-wallets in descending order of creation. + * @param walletListRequest (required) + * @return Call<WalletListResponse> + * + * @see Fetch a list of e-wallets Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("wallet/list") + Call walletList( + @retrofit2.http.Body WalletListRequest walletListRequest + ); + + /** + * Execute a transaction using an e-wallet + * Execute a transaction using the specified e-wallet. Specify the e-wallet to debit from, the counterparty to credit to, the idempotency key to prevent duplicate transactions, the amount and reference for the transaction. Transactions will settle in seconds to several days, depending on the underlying payment rail. + * @param walletTransactionExecuteRequest (required) + * @return Call<WalletTransactionExecuteResponse> + * + * @see Execute a transaction using an e-wallet Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("wallet/transaction/execute") + Call walletTransactionExecute( + @retrofit2.http.Body WalletTransactionExecuteRequest walletTransactionExecuteRequest + ); + + /** + * Fetch an e-wallet transaction + * Fetch a specific e-wallet transaction + * @param walletTransactionGetRequest (required) + * @return Call<WalletTransactionGetResponse> + * + * @see Fetch an e-wallet transaction Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("wallet/transaction/get") + Call walletTransactionGet( + @retrofit2.http.Body WalletTransactionGetRequest walletTransactionGetRequest + ); + + /** + * List e-wallet transactions + * This endpoint lists the latest transactions of the specified e-wallet. Transactions are returned in descending order by the `created_at` time. + * @param walletTransactionListRequest (required) + * @return Call<WalletTransactionListResponse> + * + * @see List e-wallet transactions Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("wallet/transaction/list") + Call walletTransactionList( + @retrofit2.http.Body WalletTransactionListRequest walletTransactionListRequest + ); + + /** + * Create a watchlist screening for an entity + * Create a new entity watchlist screening to check your customer against watchlists defined in the associated entity watchlist program. If your associated program has ongoing screening enabled, this is the profile information that will be used to monitor your customer over time. + * @param watchlistScreeningEntityCreateRequest (required) + * @return Call<WatchlistScreeningEntityCreateResponse> + * + * @see Create a watchlist screening for an entity Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/entity/create") + Call watchlistScreeningEntityCreate( + @retrofit2.http.Body WatchlistScreeningEntityCreateRequest watchlistScreeningEntityCreateRequest + ); + + /** + * Get an entity screening + * Retrieve an entity watchlist screening. + * @param watchlistScreeningEntityGetRequest (required) + * @return Call<WatchlistScreeningEntityGetResponse> + * + * @see Get an entity screening Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/entity/get") + Call watchlistScreeningEntityGet( + @retrofit2.http.Body WatchlistScreeningEntityGetRequest watchlistScreeningEntityGetRequest + ); + + /** + * List history for entity watchlist screenings + * List all changes to the entity watchlist screening in reverse-chronological order. If the watchlist screening has not been edited, no history will be returned. + * @param watchlistScreeningEntityHistoryListRequest (required) + * @return Call<WatchlistScreeningEntityHistoryListResponse> + * + * @see List history for entity watchlist screenings Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/entity/history/list") + Call watchlistScreeningEntityHistoryList( + @retrofit2.http.Body WatchlistScreeningEntityHistoryListRequest watchlistScreeningEntityHistoryListRequest + ); + + /** + * List hits for entity watchlist screenings + * List all hits for the entity watchlist screening. + * @param watchlistScreeningEntityHitListRequest (required) + * @return Call<WatchlistScreeningEntityHitListResponse> + * + * @see List hits for entity watchlist screenings Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/entity/hit/list") + Call watchlistScreeningEntityHitList( + @retrofit2.http.Body WatchlistScreeningEntityHitListRequest watchlistScreeningEntityHitListRequest + ); + + /** + * List entity watchlist screenings + * List all entity screenings. + * @param watchlistScreeningEntityListRequest (required) + * @return Call<WatchlistScreeningEntityListResponse> + * + * @see List entity watchlist screenings Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/entity/list") + Call watchlistScreeningEntityList( + @retrofit2.http.Body WatchlistScreeningEntityListRequest watchlistScreeningEntityListRequest + ); + + /** + * Get entity watchlist screening program + * Get an entity watchlist screening program + * @param watchlistScreeningEntityProgramGetRequest (required) + * @return Call<WatchlistScreeningEntityProgramGetResponse> + * + * @see Get entity watchlist screening program Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/entity/program/get") + Call watchlistScreeningEntityProgramGet( + @retrofit2.http.Body WatchlistScreeningEntityProgramGetRequest watchlistScreeningEntityProgramGetRequest + ); + + /** + * List entity watchlist screening programs + * List all entity watchlist screening programs + * @param watchlistScreeningEntityProgramListRequest (required) + * @return Call<WatchlistScreeningEntityProgramListResponse> + * + * @see List entity watchlist screening programs Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/entity/program/list") + Call watchlistScreeningEntityProgramList( + @retrofit2.http.Body WatchlistScreeningEntityProgramListRequest watchlistScreeningEntityProgramListRequest + ); + + /** + * Create a review for an entity watchlist screening + * Create a review for an entity watchlist screening. Reviews are compliance reports created by users in your organization regarding the relevance of potential hits found by Plaid. + * @param watchlistScreeningEntityReviewCreateRequest (required) + * @return Call<WatchlistScreeningEntityReviewCreateResponse> + * + * @see Create a review for an entity watchlist screening Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/entity/review/create") + Call watchlistScreeningEntityReviewCreate( + @retrofit2.http.Body WatchlistScreeningEntityReviewCreateRequest watchlistScreeningEntityReviewCreateRequest + ); + + /** + * List reviews for entity watchlist screenings + * List all reviews for a particular entity watchlist screening. Reviews are compliance reports created by users in your organization regarding the relevance of potential hits found by Plaid. + * @param watchlistScreeningEntityReviewListRequest (required) + * @return Call<WatchlistScreeningEntityReviewListResponse> + * + * @see List reviews for entity watchlist screenings Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/entity/review/list") + Call watchlistScreeningEntityReviewList( + @retrofit2.http.Body WatchlistScreeningEntityReviewListRequest watchlistScreeningEntityReviewListRequest + ); + + /** + * Update an entity screening + * Update an entity watchlist screening. + * @param watchlistScreeningEntityUpdateRequest The entity screening was successfully updated. (required) + * @return Call<WatchlistScreeningEntityUpdateResponse> + * + * @see Update an entity screening Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/entity/update") + Call watchlistScreeningEntityUpdate( + @retrofit2.http.Body WatchlistScreeningEntityUpdateRequest watchlistScreeningEntityUpdateRequest + ); + + /** + * Create a watchlist screening for a person + * Create a new Watchlist Screening to check your customer against watchlists defined in the associated Watchlist Program. If your associated program has ongoing screening enabled, this is the profile information that will be used to monitor your customer over time. + * @param watchlistScreeningIndividualCreateRequest (required) + * @return Call<WatchlistScreeningIndividualCreateResponse> + * + * @see Create a watchlist screening for a person Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/individual/create") + Call watchlistScreeningIndividualCreate( + @retrofit2.http.Body WatchlistScreeningIndividualCreateRequest watchlistScreeningIndividualCreateRequest + ); + + /** + * Retrieve an individual watchlist screening + * Retrieve a previously created individual watchlist screening + * @param watchlistScreeningIndividualGetRequest (required) + * @return Call<WatchlistScreeningIndividualGetResponse> + * + * @see Retrieve an individual watchlist screening Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/individual/get") + Call watchlistScreeningIndividualGet( + @retrofit2.http.Body WatchlistScreeningIndividualGetRequest watchlistScreeningIndividualGetRequest + ); + + /** + * List history for individual watchlist screenings + * List all changes to the individual watchlist screening in reverse-chronological order. If the watchlist screening has not been edited, no history will be returned. + * @param watchlistScreeningIndividualHistoryListRequest (required) + * @return Call<WatchlistScreeningIndividualHistoryListResponse> + * + * @see List history for individual watchlist screenings Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/individual/history/list") + Call watchlistScreeningIndividualHistoryList( + @retrofit2.http.Body WatchlistScreeningIndividualHistoryListRequest watchlistScreeningIndividualHistoryListRequest + ); + + /** + * List hits for individual watchlist screening + * List all hits found by Plaid for a particular individual watchlist screening. + * @param watchlistScreeningIndividualHitListRequest (required) + * @return Call<WatchlistScreeningIndividualHitListResponse> + * + * @see List hits for individual watchlist screening Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/individual/hit/list") + Call watchlistScreeningIndividualHitList( + @retrofit2.http.Body WatchlistScreeningIndividualHitListRequest watchlistScreeningIndividualHitListRequest + ); + + /** + * List Individual Watchlist Screenings + * List previously created watchlist screenings for individuals + * @param watchlistScreeningIndividualListRequest (required) + * @return Call<WatchlistScreeningIndividualListResponse> + * + * @see List Individual Watchlist Screenings Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/individual/list") + Call watchlistScreeningIndividualList( + @retrofit2.http.Body WatchlistScreeningIndividualListRequest watchlistScreeningIndividualListRequest + ); + + /** + * Get individual watchlist screening program + * Get an individual watchlist screening program + * @param watchlistScreeningIndividualProgramGetRequest (required) + * @return Call<WatchlistScreeningIndividualProgramGetResponse> + * + * @see Get individual watchlist screening program Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/individual/program/get") + Call watchlistScreeningIndividualProgramGet( + @retrofit2.http.Body WatchlistScreeningIndividualProgramGetRequest watchlistScreeningIndividualProgramGetRequest + ); + + /** + * List individual watchlist screening programs + * List all individual watchlist screening programs + * @param watchlistScreeningIndividualProgramListRequest (required) + * @return Call<WatchlistScreeningIndividualProgramListResponse> + * + * @see List individual watchlist screening programs Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/individual/program/list") + Call watchlistScreeningIndividualProgramList( + @retrofit2.http.Body WatchlistScreeningIndividualProgramListRequest watchlistScreeningIndividualProgramListRequest + ); + + /** + * Create a review for an individual watchlist screening + * Create a review for the individual watchlist screening. Reviews are compliance reports created by users in your organization regarding the relevance of potential hits found by Plaid. + * @param watchlistScreeningIndividualReviewCreateRequest (required) + * @return Call<WatchlistScreeningIndividualReviewCreateResponse> + * + * @see Create a review for an individual watchlist screening Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/individual/review/create") + Call watchlistScreeningIndividualReviewCreate( + @retrofit2.http.Body WatchlistScreeningIndividualReviewCreateRequest watchlistScreeningIndividualReviewCreateRequest + ); + + /** + * List reviews for individual watchlist screenings + * List all reviews for the individual watchlist screening. + * @param watchlistScreeningIndividualReviewListRequest (required) + * @return Call<WatchlistScreeningIndividualReviewListResponse> + * + * @see List reviews for individual watchlist screenings Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/individual/review/list") + Call watchlistScreeningIndividualReviewList( + @retrofit2.http.Body WatchlistScreeningIndividualReviewListRequest watchlistScreeningIndividualReviewListRequest + ); + + /** + * Update individual watchlist screening + * Update a specific individual watchlist screening. This endpoint can be used to add additional customer information, correct outdated information, add a reference id, assign the individual to a reviewer, and update which program it is associated with. Please note that you may not update `search_terms` and `status` at the same time since editing `search_terms` may trigger an automatic `status` change. + * @param watchlistScreeningIndividualUpdateRequest (required) + * @return Call<WatchlistScreeningIndividualUpdateResponse> + * + * @see Update individual watchlist screening Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("watchlist_screening/individual/update") + Call watchlistScreeningIndividualUpdate( + @retrofit2.http.Body WatchlistScreeningIndividualUpdateRequest watchlistScreeningIndividualUpdateRequest + ); + + /** + * Get webhook verification key + * Plaid signs all outgoing webhooks and provides JSON Web Tokens (JWTs) so that you can verify the authenticity of any incoming webhooks to your application. A message signature is included in the `Plaid-Verification` header. The `/webhook_verification_key/get` endpoint provides a JSON Web Key (JWK) that can be used to verify a JWT. + * @param webhookVerificationKeyGetRequest (required) + * @return Call<WebhookVerificationKeyGetResponse> + * + * @see Get webhook verification key Documentation + */ + @Headers({ + "Content-Type:application/json" + }) + @POST("webhook_verification_key/get") + Call webhookVerificationKeyGet( + @retrofit2.http.Body WebhookVerificationKeyGetRequest webhookVerificationKeyGetRequest + ); + +} diff --git a/src/main/java/com/plaid/client/request/SandboxItemResetLoginRequest.java b/src/main/java/com/plaid/client/request/SandboxItemResetLoginRequest.java deleted file mode 100644 index 5626ea348a..0000000000 --- a/src/main/java/com/plaid/client/request/SandboxItemResetLoginRequest.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BaseAccessTokenRequest; - -/** - * Request for the /sandbox/item/reset_login endpoint. - * - * @see https://plaid.com/docs/api/#managing-item-states - */ -public final class SandboxItemResetLoginRequest extends BaseAccessTokenRequest { - public SandboxItemResetLoginRequest(String accessToken) { - super(accessToken); - } -} diff --git a/src/main/java/com/plaid/client/request/SandboxPublicTokenCreateRequest.java b/src/main/java/com/plaid/client/request/SandboxPublicTokenCreateRequest.java deleted file mode 100644 index ce345cb1c5..0000000000 --- a/src/main/java/com/plaid/client/request/SandboxPublicTokenCreateRequest.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.plaid.client.request; - -import com.plaid.client.request.common.BasePublicRequest; -import com.plaid.client.internal.gson.Optional; -import com.plaid.client.request.common.Product; - -import java.util.ArrayList; -import java.util.List; - -import static com.plaid.client.internal.Util.notEmpty; -import static com.plaid.client.internal.Util.notNull; - -/** - * Request for the /sandbox/public_token/create endpoint. - * - * @see https://plaid.com/docs/api/ - */ -public final class SandboxPublicTokenCreateRequest extends BasePublicRequest { - private String institutionId; - private List initialProducts; - private Optional options = Optional.empty(); - - public SandboxPublicTokenCreateRequest(String institutionId, List initialProducts) { - notNull(institutionId, "institutionId"); - notEmpty(initialProducts, "initialProducts"); - - this.initialProducts = new ArrayList<>(initialProducts); - this.institutionId = institutionId; - } - - public SandboxPublicTokenCreateRequest withOptionWebhook(String webhook) { - notNull(webhook, "webhook"); - options = options.orElse(new Options()); - options.get().webhook = webhook; - return this; - } - - private static class Options { - private String webhook; - } -} diff --git a/src/main/java/com/plaid/client/request/TransactionsGetRequest.java b/src/main/java/com/plaid/client/request/TransactionsGetRequest.java deleted file mode 100644 index b2054a797a..0000000000 --- a/src/main/java/com/plaid/client/request/TransactionsGetRequest.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.plaid.client.request; - -import com.google.gson.annotations.JsonAdapter; -import com.plaid.client.internal.Util; -import com.plaid.client.internal.gson.DateOnlyTypeAdapterFactory; -import com.plaid.client.internal.gson.Optional; -import com.plaid.client.request.common.BaseAccessTokenRequest; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -/** - * Request for /transactions/get endpoint. - */ -public final class TransactionsGetRequest extends BaseAccessTokenRequest { - @JsonAdapter(DateOnlyTypeAdapterFactory.class) - private Date startDate; - @JsonAdapter(DateOnlyTypeAdapterFactory.class) - private Date endDate; - private Optional options = Optional.empty(); - - public TransactionsGetRequest(String accessToken, Date startDate, Date endDate) { - super(accessToken); - Util.notNull(startDate, "startDate"); - Util.notNull(endDate, "endDate"); - this.startDate = startDate; - this.endDate = endDate; - } - - public TransactionsGetRequest withAccountIds(List accountIds) { - options = options.orElse(new Options()); - options.get().accountIds = new ArrayList<>(accountIds); - return this; - } - - public TransactionsGetRequest withCount(int count) { - options = options.orElse(new Options()); - options.get().count = count; - validateOptions(this.options.get()); - return this; - } - - public TransactionsGetRequest withOffset(int offset) { - Util.isPositive(offset, "offset"); - options = options.orElse(new Options()); - options.get().offset = offset; - validateOptions(this.options.get()); - return this; - } - - private void validateOptions(BaseOptions options) { - if (options.count != null) { - Util.isBetween(options.count, 0, 500, "count"); - } - - if (options.offset != null) { - Util.isPositive(options.offset, "offset"); - } - } - - public TransactionsGetRequest withOptions(Options options) { - Util.notNull(options, "options"); - - this.options = Optional.of(options); - validateOptions(this.options.get()); - return this; - } - - public static class BaseOptions { - public List accountIds; - public Integer count; - public Integer offset; - - private BaseOptions() { - } - } - - public static class Options extends BaseOptions { - } -} diff --git a/src/main/java/com/plaid/client/request/common/BaseAccessTokenRequest.java b/src/main/java/com/plaid/client/request/common/BaseAccessTokenRequest.java deleted file mode 100644 index 8f2b7198b4..0000000000 --- a/src/main/java/com/plaid/client/request/common/BaseAccessTokenRequest.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.plaid.client.request.common; - -import static com.plaid.client.internal.Util.notNull; - -/** - * Abstract base class for requests that require an access_token. - */ -public abstract class BaseAccessTokenRequest extends BaseClientRequest { - private final String accessToken; - - public BaseAccessTokenRequest(String accessToken) { - notNull(accessToken, "accessToken"); - this.accessToken = accessToken; - } -} diff --git a/src/main/java/com/plaid/client/request/common/BaseClientRequest.java b/src/main/java/com/plaid/client/request/common/BaseClientRequest.java deleted file mode 100644 index e57a3326de..0000000000 --- a/src/main/java/com/plaid/client/request/common/BaseClientRequest.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.plaid.client.request.common; - -/** - * Abstract base class for requests that require client_id and secret. - * - * These fields are later injected by the json serializer, and thus are public. - */ -public abstract class BaseClientRequest { - public String clientId; - public String secret; -} diff --git a/src/main/java/com/plaid/client/request/common/BasePublicRequest.java b/src/main/java/com/plaid/client/request/common/BasePublicRequest.java deleted file mode 100644 index 2692018ef8..0000000000 --- a/src/main/java/com/plaid/client/request/common/BasePublicRequest.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.plaid.client.request.common; - -/** - * Abstract base class for requests that require public_key. - * - * These fields are later injected by the json serializer, and thus are public. - */ -public abstract class BasePublicRequest { - public String publicKey; -} diff --git a/src/main/java/com/plaid/client/request/common/MfaType.java b/src/main/java/com/plaid/client/request/common/MfaType.java deleted file mode 100644 index 45a691b656..0000000000 --- a/src/main/java/com/plaid/client/request/common/MfaType.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.plaid.client.request.common; - -import com.google.gson.annotations.SerializedName; - -public enum MfaType { - @SerializedName("device")DEVICE, - @SerializedName("device_list")DEVICE_LIST, - @SerializedName("questions")QUESTIONS, - @SerializedName("selections")SELECTIONS -} diff --git a/src/main/java/com/plaid/client/request/common/Product.java b/src/main/java/com/plaid/client/request/common/Product.java deleted file mode 100644 index 70cca6f0e2..0000000000 --- a/src/main/java/com/plaid/client/request/common/Product.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.plaid.client.request.common; - -import com.google.gson.annotations.SerializedName; - -public enum Product { - @SerializedName("assets") ASSETS, - @SerializedName("balance") BALANCE, - @SerializedName("credit_details") CREDIT_DETAILS, - @SerializedName("income") INCOME, - @SerializedName("identity") IDENTITY, - @SerializedName("auth") AUTH, - // @SerializedName("risk") RISK - @SerializedName("transactions") TRANSACTIONS, -} diff --git a/src/main/java/com/plaid/client/response/Account.java b/src/main/java/com/plaid/client/response/Account.java deleted file mode 100644 index c5a0e7f43e..0000000000 --- a/src/main/java/com/plaid/client/response/Account.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.plaid.client.response; - -public final class Account { - private String accountId; - private String type; - private String subtype; - private Balances balances; - private String name; - private String mask; - private String officialName; - - public String getAccountId() { - return accountId; - } - - public String getType() { - return type; - } - - public String getSubtype() { - return subtype; - } - - public Balances getBalances() { - return balances; - } - - public String getName() { - return name; - } - - public String getMask() { - return mask; - } - - public String getOfficialName() { - return officialName; - } - - public static final class Balances { - private Double available; - private Double current; - private Double limit; - private String isoCurrencyCode; - private String unofficialCurrencyCode; - - public Double getAvailable() { - return available; - } - - public Double getCurrent() { - return current; - } - - public Double getLimit() { - return limit; - } - - public String getIsoCurrencyCode() { - return isoCurrencyCode; - } - - public String getUnofficialCurrencyCode() { - return unofficialCurrencyCode; - } - } -} diff --git a/src/main/java/com/plaid/client/response/AccountsBalanceGetResponse.java b/src/main/java/com/plaid/client/response/AccountsBalanceGetResponse.java deleted file mode 100644 index 851e1d5595..0000000000 --- a/src/main/java/com/plaid/client/response/AccountsBalanceGetResponse.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.plaid.client.response; - -import java.util.List; - -/** - * Response for /accounts/balance/get api call. - */ -public final class AccountsBalanceGetResponse extends BaseResponse { - private ItemStatus item; - private List accounts; - - public ItemStatus getItem() { - return item; - } - - public List getAccounts() { - if (accounts == null) { - return null; - } - return accounts; - } - -} diff --git a/src/main/java/com/plaid/client/response/AccountsGetResponse.java b/src/main/java/com/plaid/client/response/AccountsGetResponse.java deleted file mode 100644 index a85abe0699..0000000000 --- a/src/main/java/com/plaid/client/response/AccountsGetResponse.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.plaid.client.response; - -import java.util.List; - -public final class AccountsGetResponse extends BaseResponse { - private ItemStatus item; - private List accounts; - - public ItemStatus getItem() { - return item; - } - - public List getAccounts() { - return accounts; - } - -} diff --git a/src/main/java/com/plaid/client/response/AssetReportAuditCopyCreateResponse.java b/src/main/java/com/plaid/client/response/AssetReportAuditCopyCreateResponse.java deleted file mode 100644 index faa5db23f3..0000000000 --- a/src/main/java/com/plaid/client/response/AssetReportAuditCopyCreateResponse.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.plaid.client.response; - -public class AssetReportAuditCopyCreateResponse extends BaseResponse { - private String auditCopyToken; - - public String getAuditCopyToken() { - return auditCopyToken; - } -} diff --git a/src/main/java/com/plaid/client/response/AssetReportAuditCopyRemoveResponse.java b/src/main/java/com/plaid/client/response/AssetReportAuditCopyRemoveResponse.java deleted file mode 100644 index 633413aea4..0000000000 --- a/src/main/java/com/plaid/client/response/AssetReportAuditCopyRemoveResponse.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.plaid.client.response; - -public class AssetReportAuditCopyRemoveResponse extends BaseResponse { - private boolean removed; - - public boolean getRemoved() { - return removed; - } -} diff --git a/src/main/java/com/plaid/client/response/AssetReportCreateResponse.java b/src/main/java/com/plaid/client/response/AssetReportCreateResponse.java deleted file mode 100644 index 1245d3dbd2..0000000000 --- a/src/main/java/com/plaid/client/response/AssetReportCreateResponse.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.plaid.client.response; - -public final class AssetReportCreateResponse extends BaseResponse { - private String assetReportToken; - private String assetReportId; - - public String getAssetReportToken() { - return assetReportToken; - } - - public String getAssetReportId() { - return assetReportId; - } -} diff --git a/src/main/java/com/plaid/client/response/AssetReportGetResponse.java b/src/main/java/com/plaid/client/response/AssetReportGetResponse.java deleted file mode 100644 index 0b13609b55..0000000000 --- a/src/main/java/com/plaid/client/response/AssetReportGetResponse.java +++ /dev/null @@ -1,426 +0,0 @@ -package com.plaid.client.response; - -import java.util.Date; -import java.util.List; - -/** - * See https://plaid.com/docs/api/#assets for more detail into the returned schema - **/ -public class AssetReportGetResponse extends BaseResponse { - private AssetReport report; - private List warnings; - - public AssetReport getReport() { - return this.report; - } - - public List getWarnings() { - return this.warnings; - } - - public static final class AssetReport { - private String assetReportId; - private String clientReportId; - private Date dateGenerated; - private Integer daysRequested; - private User user; - private List items; - - public String getAssetReportId() { - return assetReportId; - } - - public String getClientReportId() { - return clientReportId; - } - - public Date getDateGenerated() { - return dateGenerated; - } - - public Integer getDaysRequested() { - return daysRequested; - } - - public User getUser() { - return user; - } - - public List getItems() { - return items; - } - } - - public static final class User { - private String clientUserId; - private String firstName; - private String middleName; - private String lastName; - private String ssn; - private String phoneNumber; - private String email; - - public String getClientUserId() { - return clientUserId; - } - - public String getFirstName() { - return firstName; - } - - public String getMiddleName() { - return middleName; - } - - public String getLastName() { - return lastName; - } - - public String getSsn() { - return ssn; - } - - public String getPhoneNumber() { - return phoneNumber; - } - - public String getEmail() { - return email; - } - } - - // The item object returned in an asset report - public static final class Item { - private String itemId; - private String institutionName; - private String institutionId; - private Date dateLastUpdated; - private List accounts; - - public String getItemId() { - return itemId; - } - - public String getInstitutionName() { - return institutionName; - } - - public String getInstitutionId() { - return institutionId; - } - - public Date getDateLastUpdated() { - return dateLastUpdated; - } - - public List getAccounts() { - return accounts; - } - } - - public static final class Account { - private String accountId; - private String mask; - private String name; - private String officialName; - private String type; - private String subtype; - private List owners; - private Balance balances; - private List historicalBalances; - private List transactions; - private Integer daysAvailable; - - public String getAccountId() { - return accountId; - } - - public String getMask() { - return mask; - } - - public String getName() { - return name; - } - - public String getOfficialName() { - return officialName; - } - - public String getType() { - return type; - } - - public String getSubtype() { - return subtype; - } - - public List getOwners() { - return owners; - } - - public Balance getBalances() { - return balances; - } - - public List getHistoricalBalances() { - return historicalBalances; - } - - public List getTransactions() { - return transactions; - } - - public Integer getDaysAvailable() { - return daysAvailable; - } - } - - public static final class Owner { - private List names; - private List phoneNumbers; - private List emails; - private List
addresses; - - public List getNames() { - return names; - } - - public List getPhoneNumbers() { - return phoneNumbers; - } - - public List getEmails() { - return emails; - } - - public List
getAddresses() { - return addresses; - } - } - - public static final class PhoneNumber { - private String data; - private boolean primary; - private String type; - - public String getData() { - return data; - } - - public boolean isPrimary() { - return primary; - } - - public String getType() { - return type; - } - } - - public static final class Email { - private String data; - private boolean primary; - private String type; - - public String getData() { - return data; - } - - public boolean isPrimary() { - return primary; - } - - public String getType() { - return type; - } - } - - public static final class Address { - private AddressData data; - private boolean primary; - - public AddressData getData() { - return data; - } - - public boolean isPrimary() { - return primary; - } - } - - public static final class AddressData { - private String city; - private String state; - private String street; - private String zip; - - public String getCity() { - return city; - } - - public String getState() { - return state; - } - - public String getStreet() { - return street; - } - - public String getZip() { - return zip; - } - } - - public static final class Balance { - private Double avaliable; - private Double current; - private String unofficialCurrencyCode; - private String isoCurrencyCode; - - public Double getAvaliable() { - return avaliable; - } - - public Double getCurrent() { - return current; - } - - public String getUnofficialCurrencyCode() { - return unofficialCurrencyCode; - } - - public String getIsoCurrencyCode() { - return isoCurrencyCode; - } - } - - public static final class HistoricalBalance { - private Date date; - private Double current; - private String unofficialCurrencyCode; - private String isoCurrencyCode; - - public Date getDate() { - return date; - } - - public Double getCurrent() { - return current; - } - - public String getUnofficialCurrencyCode() { - return unofficialCurrencyCode; - } - - public String getIsoCurrencyCode() { - return isoCurrencyCode; - } - } - - public static final class Transaction { - private String accountId; - private String transactionId; - private Date date; - private String originalDescription; - private String pending; - private Double amount; - private String unofficialCurrencyCode; - private String isoCurrencyCode; - - public String getAccountId() { - return accountId; - } - - public String getTransactionId() { - return transactionId; - } - - public Date getDate() { - return date; - } - - public String getOriginalDescription() { - return originalDescription; - } - - public String getPending() { - return pending; - } - - public Double getAmount() { - return amount; - } - - public String getUnofficialCurrencyCode() { - return unofficialCurrencyCode; - } - - public String getIsoCurrencyCode() { - return isoCurrencyCode; - } - } - - public static final class Warning { - private String warningType; - private String warningCode; - private Cause cause; - - public String getWarningType() { - return warningType; - } - - public String getWarningCode() { - return warningCode; - } - - public Cause getCause() { - return cause; - } - } - - public static final class Cause { - private Error error; - private String itemId; - - public Error getError() { - return error; - } - - public String getItemId() { - return itemId; - } - } - - public static final class Error { - private String errorType; - private String errorCode; - private String errorMessage; - private String displayMessage; - private Integer status; - private List causes; - - public String getErrorType() { - return errorType; - } - - public String getErrorCode() { - return errorCode; - } - - public String getErrorMessage() { - return errorMessage; - } - - public String getDisplayMessage() { - return displayMessage; - } - - public Integer getStatus() { - return status; - } - - public List getCauses() { - return causes; - } - } -} diff --git a/src/main/java/com/plaid/client/response/AssetReportRemoveResponse.java b/src/main/java/com/plaid/client/response/AssetReportRemoveResponse.java deleted file mode 100644 index c7f48604e5..0000000000 --- a/src/main/java/com/plaid/client/response/AssetReportRemoveResponse.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.plaid.client.response; - -public class AssetReportRemoveResponse extends BaseResponse { - boolean removed; - - public boolean isRemoved() { - return removed; - } -} diff --git a/src/main/java/com/plaid/client/response/AuthGetResponse.java b/src/main/java/com/plaid/client/response/AuthGetResponse.java deleted file mode 100644 index 49861ed417..0000000000 --- a/src/main/java/com/plaid/client/response/AuthGetResponse.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.plaid.client.response; - -import java.util.List; - -public final class AuthGetResponse extends BaseResponse { - private ItemStatus item; - private List accounts; - private Numbers numbers; - - public ItemStatus getItem() { - return item; - } - - public List getAccounts() { - return accounts; - } - - public Numbers getNumbers() { - return numbers; - } - - public static class NumberACH { - private String accountId; - private String account; - private String routing; - private String wireRouting; - - public String getAccountId() { - return accountId; - } - - public String getAccount() { - return account; - } - - public String getRouting() { - return routing; - } - - public String getWireRouting() { - return wireRouting; - } - } - - public static class NumberEFT { - private String accountId; - private String account; - private String institution; - private String branch; - - public String getAccountId() { - return accountId; - } - - public String getAccount() { - return account; - } - - public String getInstitution() { - return institution; - } - - public String getBranch() { - return branch; - } - - } - - public static final class Numbers { - private List ach; - private List eft; - - public List getACH() { - return ach; - } - - public List getEFT() { - return eft; - } - } -} diff --git a/src/main/java/com/plaid/client/response/BaseResponse.java b/src/main/java/com/plaid/client/response/BaseResponse.java deleted file mode 100644 index a1b3db517b..0000000000 --- a/src/main/java/com/plaid/client/response/BaseResponse.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.plaid.client.response; - -public abstract class BaseResponse { - private String requestId; - - public String getRequestId() { - return requestId; - } -} diff --git a/src/main/java/com/plaid/client/response/CategoriesGetResponse.java b/src/main/java/com/plaid/client/response/CategoriesGetResponse.java deleted file mode 100644 index e8cdad21eb..0000000000 --- a/src/main/java/com/plaid/client/response/CategoriesGetResponse.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.plaid.client.response; - -import java.util.List; - -/** - * Response to /categories/get endpoint. - */ -public final class CategoriesGetResponse extends BaseResponse { - private List categories; - - public List getCategories() { - return categories; - } - - public static class Category { - private String group; - private List hierarchy; - private String categoryId; - - public String getGroup() { - return group; - } - - public List getHierarchy() { - return hierarchy; - } - - public String getCategoryId() { - return categoryId; - } - } -} diff --git a/src/main/java/com/plaid/client/response/CreditDetailsGetResponse.java b/src/main/java/com/plaid/client/response/CreditDetailsGetResponse.java deleted file mode 100644 index 0b5de5dc56..0000000000 --- a/src/main/java/com/plaid/client/response/CreditDetailsGetResponse.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.plaid.client.response; - -import java.util.Date; -import java.util.List; - -/** - * Response object for /credit_details/get endpoint. - */ -public final class CreditDetailsGetResponse extends BaseResponse { - private ItemStatus item; - private List accounts; - private List creditDetails; - - public ItemStatus getItem() { - return item; - } - - public List getAccounts() { - return accounts; - } - - public List getCreditDetails() { - return creditDetails; - } - - public static final class CreditDetail { - private String accountId; - private Aprs aprs; - private Double lastPaymentAmount; - private Date lastPaymentDate; - private Double lastStatementBalance; - private Date lastStatementDate; - private Double minimumPaymentAmount; - private Date nextBillDueDate; - - public String getAccountId() { - return accountId; - } - - public Aprs getAprs() { - return aprs; - } - - public Double getLastPaymentAmount() { - return lastPaymentAmount; - } - - public Date getLastPaymentDate() { - return lastPaymentDate; - } - - public Double getLastStatementBalance() { - return lastStatementBalance; - } - - public Date getLastStatementDate() { - return lastStatementDate; - } - - public Double getMinimumPaymentAmount() { - return minimumPaymentAmount; - } - - public Date getNextBillDueDate() { - return nextBillDueDate; - } - } - - public static final class Aprs { - private Apr balanceTransfers; - private Apr cashAdvances; - private Apr purchases; - - - public Apr getBalanceTransfers() { - return balanceTransfers; - } - - public Apr getCashAdvances() { - return cashAdvances; - } - - public Apr getPurchases() { - return purchases; - } - } - - public static final class Apr { - private Double apr; - private Double balanceSubjectToApr; - private Double interestChargeAmount; - - public Double getApr() { - return apr; - } - - public Double getBalanceSubjectToApr() { - return balanceSubjectToApr; - } - - public Double getInterestChargeAmount() { - return interestChargeAmount; - } - } -} diff --git a/src/main/java/com/plaid/client/response/ErrorResponse.java b/src/main/java/com/plaid/client/response/ErrorResponse.java deleted file mode 100644 index 87e3ab7748..0000000000 --- a/src/main/java/com/plaid/client/response/ErrorResponse.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.plaid.client.response; - -/** - * Common response returned when an error occurs as a result of any API call. - * - * @see https://plaid.com/docs/api - */ -public final class ErrorResponse extends BaseResponse { - /** - * The error type. - */ - public enum ErrorType { - INVALID_REQUEST, INVALID_INPUT, RATE_LIMIT_EXCEEDED, API_ERROR, ITEM_ERROR, INSTITUTION_ERROR, - ASSET_REPORT_ERROR - } - - private String displayMessage; - private String errorCode; - private String errorMessage; - private ErrorType errorType; - - public String getDisplayMessage() { - return displayMessage; - } - - public String getErrorCode() { - return errorCode; - } - - public String getErrorMessage() { - return errorMessage; - } - - public ErrorType getErrorType() { - return errorType; - } - - @Override - public String toString() { - return "ErrorResponse{" + - "displayMessage='" + displayMessage + '\'' + - ", errorCode='" + errorCode + '\'' + - ", errorMessage='" + errorMessage + '\'' + - ", errorType='" + errorType + '\'' + - ", requestId='" + getRequestId() + '\'' + - '}'; - } -} diff --git a/src/main/java/com/plaid/client/response/IdentityGetResponse.java b/src/main/java/com/plaid/client/response/IdentityGetResponse.java deleted file mode 100644 index 5be30c7afb..0000000000 --- a/src/main/java/com/plaid/client/response/IdentityGetResponse.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.plaid.client.response; - -import java.util.List; - -public final class IdentityGetResponse extends BaseResponse { - private List accounts; - private ItemStatus item; - private Identity identity; - - public ItemStatus getItem() { - return item; - } - - public Identity getIdentity() { - return identity; - } - - public List getAccounts() { - return accounts; - } - - public static final class Identity { - private List names; - private List emails; - private List
addresses; - private List phoneNumbers; - - public List getNames() { - return names; - } - - public List getEmails() { - return emails; - } - - - public List
getAddresses() { - return addresses; - } - - public List getPhoneNumbers() { - return phoneNumbers; - } - } - - public static final class Email { - private Boolean primary; - private String data; - private String type; - - public Boolean isPrimary() { - return primary; - } - - public String getData() { - return data; - } - - public String getType() { - return type; - } - } - - public static final class Address { - private List accounts; - private Boolean primary; - private AddressData data; - - public Boolean isPrimary() { - return primary; - } - - public List getAccounts() { - return accounts; - } - - public AddressData getData() { - return data; - } - } - - public static final class AddressData { - private String street; - private String city; - private String state; - private String zip; - - public String getStreet() { - return street; - } - - public String getCity() { - return city; - } - - public String getState() { - return state; - } - - public String getZip() { - return zip; - } - } - - public static final class PhoneNumber { - private Boolean primary; - private String data; - private String type; - - public Boolean isPrimary() { - return primary; - } - - public String getData() { - return data; - } - - public String getType() { - return type; - } - } -} diff --git a/src/main/java/com/plaid/client/response/IncomeGetResponse.java b/src/main/java/com/plaid/client/response/IncomeGetResponse.java deleted file mode 100644 index cd421c09a8..0000000000 --- a/src/main/java/com/plaid/client/response/IncomeGetResponse.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.plaid.client.response; - -import java.util.List; - -public final class IncomeGetResponse extends BaseResponse { - private ItemStatus item; - private Income income; - - public ItemStatus getItem() { - return item; - } - - public Income getIncome() { - return income; - } - - public static final class Income { - private Float lastYearIncome; - private Float lastYearIncomeBeforeTax; - private Float projectedYearlyIncome; - private Float projectedYearlyIncomeBeforeTax; - private Integer maxNumberOfOverlappingIncomeStreams; - private Integer numberOfIncomeStreams; - private List incomeStreams; - - public Float getLastYearIncome() { - return lastYearIncome; - } - - public Float getLastYearIncomeBeforeTax() { - return lastYearIncomeBeforeTax; - } - - public Float getProjectedYearlyIncome() { - return projectedYearlyIncome; - } - - public Float getProjectedYearlyIncomeBeforeTax() { - return projectedYearlyIncomeBeforeTax; - } - - public Integer getMaxNumberOfOverlappingIncomeStreams() { - return maxNumberOfOverlappingIncomeStreams; - } - - public Integer getNumberOfIncomeStreams() { - return numberOfIncomeStreams; - } - - public List getIncomeStreams() { - return incomeStreams; - } - } - - public static final class IncomeStream { - private Float confidence; - private Float days; - private Float monthlyIncome; - private String name; - - public Float getConfidence() { - return confidence; - } - - public Float getDays() { - return days; - } - - public Float getMonthlyIncome() { - return monthlyIncome; - } - - public String getName() { - return name; - } - } -} diff --git a/src/main/java/com/plaid/client/response/Institution.java b/src/main/java/com/plaid/client/response/Institution.java deleted file mode 100644 index efa3b9f49f..0000000000 --- a/src/main/java/com/plaid/client/response/Institution.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.plaid.client.response; - -import com.plaid.client.request.common.Product; - -import java.util.List; - -public final class Institution { - public static final class Credential { - private String label; - private String name; - private String type; - - public String getLabel() { - return label; - } - - public String getName() { - return name; - } - - public String getType() { - return type; - } - } - - private List credentials; - private boolean hasMfa; - private String institutionId; - private List mfa; - private String name; - private List products; - - public List getCredentials() { - return credentials; - } - - public boolean hasMfa() { - return hasMfa; - } - - public String getInstitutionId() { - return institutionId; - } - - public List getMfa() { - return mfa; - } - - public String getName() { - return name; - } - - public List getProducts() { - return products; - } -} diff --git a/src/main/java/com/plaid/client/response/InstitutionsGetByIdResponse.java b/src/main/java/com/plaid/client/response/InstitutionsGetByIdResponse.java deleted file mode 100644 index c70e021956..0000000000 --- a/src/main/java/com/plaid/client/response/InstitutionsGetByIdResponse.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.plaid.client.response; - -/** - * Response to /institutions/get_by_id request. - * - * @see https://plaid.com/docs/api - */ -public final class InstitutionsGetByIdResponse extends BaseResponse { - private Institution institution; - - public Institution getInstitution() { - return institution; - } -} diff --git a/src/main/java/com/plaid/client/response/InstitutionsGetResponse.java b/src/main/java/com/plaid/client/response/InstitutionsGetResponse.java deleted file mode 100644 index 9c53a4b34f..0000000000 --- a/src/main/java/com/plaid/client/response/InstitutionsGetResponse.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.plaid.client.response; - -import java.util.List; - -/** - * Response to /institutions/get request. - * - * @see https://plaid.com/docs/api - */ -public final class InstitutionsGetResponse extends BaseResponse { - private List institutions; - private Integer total; - - public List getInstitutions() { - return institutions; - } - - public Integer getTotal() { - return total; - } -} diff --git a/src/main/java/com/plaid/client/response/InstitutionsSearchResponse.java b/src/main/java/com/plaid/client/response/InstitutionsSearchResponse.java deleted file mode 100644 index d69d670b62..0000000000 --- a/src/main/java/com/plaid/client/response/InstitutionsSearchResponse.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.plaid.client.response; - -import java.util.List; - -/** - * Response to /institutions/search request. - * - * @see https://plaid.com/docs/api - */ -public final class InstitutionsSearchResponse extends BaseResponse { - private List institutions; - - public List getInstitutions() { - return institutions; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemAccessTokenInvalidateResponse.java b/src/main/java/com/plaid/client/response/ItemAccessTokenInvalidateResponse.java deleted file mode 100644 index 41c8df6c23..0000000000 --- a/src/main/java/com/plaid/client/response/ItemAccessTokenInvalidateResponse.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.response; - -/** - * Response object for /item/access_token/invalidate endpoint. - */ -public final class ItemAccessTokenInvalidateResponse extends BaseResponse { - private String newAccessToken; - - public String getNewAccessToken() { - return newAccessToken; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemAccessTokenUpdateVersionResponse.java b/src/main/java/com/plaid/client/response/ItemAccessTokenUpdateVersionResponse.java deleted file mode 100644 index d8ec04e094..0000000000 --- a/src/main/java/com/plaid/client/response/ItemAccessTokenUpdateVersionResponse.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.plaid.client.response; - -/** - * Response object for /item/access_token/update_version endpoint. - */ -public final class ItemAccessTokenUpdateVersionResponse extends BaseResponse { - private String accessToken; - private String itemId; - - public String getAccessToken() { - return accessToken; - } - - public String getItemId() { - return itemId; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemApexProcessorTokenCreateResponse.java b/src/main/java/com/plaid/client/response/ItemApexProcessorTokenCreateResponse.java deleted file mode 100644 index e8be6cb8db..0000000000 --- a/src/main/java/com/plaid/client/response/ItemApexProcessorTokenCreateResponse.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.response; - -/** - * Response from /processor/apex/processor_token/create endpoint. - */ -public final class ItemApexProcessorTokenCreateResponse extends BaseResponse { - private String processorToken; - - public String getProcessorToken() { - return processorToken; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemCreateResponse.java b/src/main/java/com/plaid/client/response/ItemCreateResponse.java deleted file mode 100644 index 95a28b86d0..0000000000 --- a/src/main/java/com/plaid/client/response/ItemCreateResponse.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.plaid.client.response; - -import com.plaid.client.request.common.MfaType; - -import java.util.List; - -/** - * Combined response object for both normal and MFA-related responses to /item/create calls. - * - * You can use {@link #isMfaResponse()} and {@link #isItemResponse()} to determine which kind of response - * was received from the server. - * - * @see https://plaid.com/docs/api - */ -public final class ItemCreateResponse extends BaseResponse { - // normal response fields - private String accessToken; - private ItemStatus item; - // MFA response fields - private String device; - private List deviceList; - private MfaType mfaType; - private List questions; - private List selections; - - public static class MfaDevice { - private String deviceId; - private String type; - private String mask; - - public String getDeviceId() { - return deviceId; - } - - public String getType() { - return type; - } - - public String getMask() { - return mask; - } - } - - public String getAccessToken() { - return accessToken; - } - - public ItemStatus getItem() { - return item; - } - - public String getDevice() { - return device; - } - - public MfaType getMfaType() { - return mfaType; - } - - public List getQuestions() { - return questions; - } - - public List getDeviceList() { - return deviceList; - } - - public List getSelections() { - return selections; - } - - /** - * @return true this is a normal response containing an item. - */ - public boolean isItemResponse() { - return item != null; - } - - /** - * @return true this is an MFA response, and MFA will be required before proceeding. - */ - public boolean isMfaResponse() { - return mfaType != null; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemCredentialsEncryptResponse.java b/src/main/java/com/plaid/client/response/ItemCredentialsEncryptResponse.java deleted file mode 100644 index 7220be87c3..0000000000 --- a/src/main/java/com/plaid/client/response/ItemCredentialsEncryptResponse.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.plaid.client.response; - -import java.util.Date; - -public final class ItemCredentialsEncryptResponse extends BaseResponse { - private String credentialsToken; - private Date expiration; - - public String getCredentialsToken() { - return credentialsToken; - } - - public Date getExpiration() { - return expiration; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemCredentialsUpdateResponse.java b/src/main/java/com/plaid/client/response/ItemCredentialsUpdateResponse.java deleted file mode 100644 index a6e8cb4280..0000000000 --- a/src/main/java/com/plaid/client/response/ItemCredentialsUpdateResponse.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.response; - -/** - * /item/credentials/update response. - */ -public final class ItemCredentialsUpdateResponse extends BaseResponse { - private ItemStatus item; - - public ItemStatus getItem() { - return item; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemDeleteResponse.java b/src/main/java/com/plaid/client/response/ItemDeleteResponse.java deleted file mode 100644 index c983269129..0000000000 --- a/src/main/java/com/plaid/client/response/ItemDeleteResponse.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.response; - -/** - * Response from /item/delete endpoint. - */ -public final class ItemDeleteResponse extends BaseResponse { - private Boolean deleted; - - public Boolean getDeleted() { - return deleted; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemDwollaProcessorTokenCreateResponse.java b/src/main/java/com/plaid/client/response/ItemDwollaProcessorTokenCreateResponse.java deleted file mode 100644 index f4a384be9b..0000000000 --- a/src/main/java/com/plaid/client/response/ItemDwollaProcessorTokenCreateResponse.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.response; - -/** - * Response from /processor/dwolla/processor_token/create endpoint. - */ -public final class ItemDwollaProcessorTokenCreateResponse extends BaseResponse { - private String processorToken; - - public String getProcessorToken() { - return processorToken; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemGetResponse.java b/src/main/java/com/plaid/client/response/ItemGetResponse.java deleted file mode 100644 index 1a8c1b715a..0000000000 --- a/src/main/java/com/plaid/client/response/ItemGetResponse.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.plaid.client.response; - -public final class ItemGetResponse extends BaseResponse { - private ItemStatus item; - - public ItemStatus getItem() { - return item; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemMfaEncryptResponse.java b/src/main/java/com/plaid/client/response/ItemMfaEncryptResponse.java deleted file mode 100644 index 7f253b8f33..0000000000 --- a/src/main/java/com/plaid/client/response/ItemMfaEncryptResponse.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.plaid.client.response; - -import java.util.Date; - -public final class ItemMfaEncryptResponse extends BaseResponse { - private String responsesToken; - private Date expiration; - - public String getResponsesToken() { - return responsesToken; - } - - public Date getExpiration() { - return expiration; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemMfaResponse.java b/src/main/java/com/plaid/client/response/ItemMfaResponse.java deleted file mode 100644 index 1ce959960c..0000000000 --- a/src/main/java/com/plaid/client/response/ItemMfaResponse.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.plaid.client.response; - -import com.plaid.client.request.common.MfaType; - -import java.util.List; - -public final class ItemMfaResponse extends BaseResponse { - // mfa response fields - private Device device; - private List deviceList; - private MfaType mfaType; - private List questions; - private List selections; - // normal response fields - private ItemStatus item; - - public static final class Device { - private String displayMessage; - - public String getDisplayMessage() { - return displayMessage; - } - } - - public Device getDevice() { - return device; - } - - public List getDeviceList() { - return deviceList; - } - - public MfaType getMfaType() { - return mfaType; - } - - public List getQuestions() { - return questions; - } - - public List getSelections() { - return selections; - } - - public ItemStatus getItem() { - return item; - } - - public boolean isItemResponse() { - return item != null; - } - - public boolean isMfaResponse() { - return mfaType != null; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemPublicTokenCreateResponse.java b/src/main/java/com/plaid/client/response/ItemPublicTokenCreateResponse.java deleted file mode 100644 index 117eaf6e4c..0000000000 --- a/src/main/java/com/plaid/client/response/ItemPublicTokenCreateResponse.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.plaid.client.response; - -import java.util.Date; - -/** - * Response from /item/public_token/create endpoint. - */ -public final class ItemPublicTokenCreateResponse extends BaseResponse { - private Date expiration; - private String publicToken; - - public Date getExpiration() { - return expiration; - } - - public String getPublicToken() { - return publicToken; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemPublicTokenExchangeResponse.java b/src/main/java/com/plaid/client/response/ItemPublicTokenExchangeResponse.java deleted file mode 100644 index 4b69f35f13..0000000000 --- a/src/main/java/com/plaid/client/response/ItemPublicTokenExchangeResponse.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.plaid.client.response; - -public final class ItemPublicTokenExchangeResponse extends BaseResponse { - private String accessToken; - private String itemId; - - public String getAccessToken() { - return accessToken; - } - - public String getItemId() { - return itemId; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemRemoveResponse.java b/src/main/java/com/plaid/client/response/ItemRemoveResponse.java deleted file mode 100644 index e7f941d9a2..0000000000 --- a/src/main/java/com/plaid/client/response/ItemRemoveResponse.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.response; - -/** - * Response from /item/remove endpoint. - */ -public final class ItemRemoveResponse extends BaseResponse { - private Boolean removed; - - public Boolean getRemoved() { - return removed; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemStatus.java b/src/main/java/com/plaid/client/response/ItemStatus.java deleted file mode 100644 index d3bf9e6f26..0000000000 --- a/src/main/java/com/plaid/client/response/ItemStatus.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.plaid.client.response; - -import com.plaid.client.request.common.Product; - -import java.util.List; - -public final class ItemStatus { - private List availableProducts; - private List billedProducts; - private ErrorResponse error; - private String institutionId; - private String itemId; - private String webhook; - - public List getAvailableProducts() { - return availableProducts; - } - - public List getBilledProducts() { - return billedProducts; - } - - public ErrorResponse getError() { - return error; - } - - public String getInstitutionId() { - return institutionId; - } - - public String getItemId() { - return itemId; - } - - public String getWebhook() { - return webhook; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemStripeTokenCreateResponse.java b/src/main/java/com/plaid/client/response/ItemStripeTokenCreateResponse.java deleted file mode 100644 index 7f6afd626c..0000000000 --- a/src/main/java/com/plaid/client/response/ItemStripeTokenCreateResponse.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.response; - -/** - * Response from /processor/stripe/bank_account_token/create endpoint. - */ -public final class ItemStripeTokenCreateResponse extends BaseResponse { - private String stripeBankAccountToken; - - public String getStripeBankAccountToken() { - return stripeBankAccountToken; - } -} diff --git a/src/main/java/com/plaid/client/response/ItemWebhookUpdateResponse.java b/src/main/java/com/plaid/client/response/ItemWebhookUpdateResponse.java deleted file mode 100644 index a71a250859..0000000000 --- a/src/main/java/com/plaid/client/response/ItemWebhookUpdateResponse.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.response; - -/** - * Response from /item/webhook/update endpoint. - */ -public final class ItemWebhookUpdateResponse extends BaseResponse { - private ItemStatus item; - - public ItemStatus getItem() { - return item; - } -} diff --git a/src/main/java/com/plaid/client/response/MfaSelection.java b/src/main/java/com/plaid/client/response/MfaSelection.java deleted file mode 100644 index 15aabb3300..0000000000 --- a/src/main/java/com/plaid/client/response/MfaSelection.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.plaid.client.response; - -import java.util.List; - -public final class MfaSelection { - private String question; - private List answers; - - public String getQuestion() { - return question; - } - - public List getAnswers() { - return answers; - } -} diff --git a/src/main/java/com/plaid/client/response/SandboxItemResetLoginResponse.java b/src/main/java/com/plaid/client/response/SandboxItemResetLoginResponse.java deleted file mode 100644 index 858a87d58b..0000000000 --- a/src/main/java/com/plaid/client/response/SandboxItemResetLoginResponse.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.plaid.client.response; - -import java.util.Date; - -/** - * Response from /sandbox/item/reset_login endpoint. - */ -public final class SandboxItemResetLoginResponse extends BaseResponse { - private boolean resetLogin; - - public boolean getResetLogin() { - return resetLogin; - } -} diff --git a/src/main/java/com/plaid/client/response/SandboxPublicTokenCreateResponse.java b/src/main/java/com/plaid/client/response/SandboxPublicTokenCreateResponse.java deleted file mode 100644 index 91122ca3dc..0000000000 --- a/src/main/java/com/plaid/client/response/SandboxPublicTokenCreateResponse.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.plaid.client.response; - -/** - * Response from /sandbox/public_token/create endpoint. - */ -public final class SandboxPublicTokenCreateResponse extends BaseResponse { - private String publicToken; - - public String getPublicToken() { - return publicToken; - } -} diff --git a/src/main/java/com/plaid/client/response/TransactionsGetResponse.java b/src/main/java/com/plaid/client/response/TransactionsGetResponse.java deleted file mode 100644 index 1f2b4d1722..0000000000 --- a/src/main/java/com/plaid/client/response/TransactionsGetResponse.java +++ /dev/null @@ -1,193 +0,0 @@ -package com.plaid.client.response; - -import java.util.List; - -/** - * Response object for /transactions/get endpoint. - */ -public final class TransactionsGetResponse extends BaseResponse { - private ItemStatus item; - private List accounts; - private List transactions; - private Integer totalTransactions; - - public ItemStatus getItem() { - return item; - } - - public List getAccounts() { - return accounts; - } - - public List getTransactions() { - return transactions; - } - - public Integer getTotalTransactions() { - return totalTransactions; - } - - public static final class Transaction { - private String accountId; - private Double amount; - private String isoCurrencyCode; - private String unofficialCurrencyCode; - private List category; - private String categoryId; - private String date; - private Location location; - private String name; - private String originalDescription; - private PaymentMeta paymentMeta; - private Boolean pending; - private String pendingTransactionId; - private String transactionId; - private String transactionType; - private String accountOwner; - - public String getTransactionId() { - return transactionId; - } - - public String getAccountId() { - return accountId; - } - - public Boolean getPending() { - return pending; - } - - public String getPendingTransactionId() { - return pendingTransactionId; - } - - public String getTransactionType() { - return transactionType; - } - - public PaymentMeta getPaymentMeta() { - return paymentMeta; - } - - public String getDate() { - return date; - } - - public String getName() { - return name; - } - - public Double getAmount() { - return amount; - } - - public String getIsoCurrencyCode() { - return isoCurrencyCode; - } - - public String getUnofficialCurrencyCode() { - return unofficialCurrencyCode; - } - - public List getCategory() { - return category; - } - - public String getCategoryId() { - return categoryId; - } - - public Location getLocation() { - return location; - } - - public String getOriginalDescription() { - return originalDescription; - } - - public String getAccountOwner() { - return accountOwner; - } - - public static final class PaymentMeta { - private String byOrderOf; - private String payee; - private String payer; - private String paymentMethod; - private String paymentProcessor; - private String ppdId; - private String reason; - private String referenceNumber; - - public String getByOrderOf() { - return byOrderOf; - } - - public String getPayee() { - return payee; - } - - public String getPayer() { - return payer; - } - - public String getPaymentMethod() { - return paymentMethod; - } - - public String getPaymentProcessor() { - return paymentProcessor; - } - - public String getPpdId() { - return ppdId; - } - - public String getReason() { - return reason; - } - - public String getReferenceNumber() { - return referenceNumber; - } - } - - public static final class Location { - private String address; - private String city; - private String state; - private String zip; - private Double lat; - private Double lon; - private String storeNumber; - - public String getAddress() { - return address; - } - - public String getCity() { - return city; - } - - public String getState() { - return state; - } - - public String getZip() { - return zip; - } - - public Double getLat() { - return lat; - } - - public Double getLon() { - return lon; - } - - public String getStoreNumber() { - return storeNumber; - } - } - } -} diff --git a/src/test/java/com/plaid/client/PlaidClientBuilderTest.java b/src/test/java/com/plaid/client/PlaidClientBuilderTest.java deleted file mode 100644 index 1c252d2d2e..0000000000 --- a/src/test/java/com/plaid/client/PlaidClientBuilderTest.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.plaid.client; - -import com.plaid.client.request.InstitutionsSearchRequest; -import okhttp3.logging.HttpLoggingInterceptor; -import org.junit.Test; - -import static org.hamcrest.CoreMatchers.startsWith; -import static org.junit.Assert.assertThat; - -public class PlaidClientBuilderTest { - private static final InstitutionsSearchRequest INSTITUTIONS_SEARCH_REQUEST = new InstitutionsSearchRequest("q"); - private static final String PUBLIC_KEY = "thepublickey"; - private static final String CLIENT_ID = "theclientid"; - private static final String SECRET = "thesecret"; - - - private PlaidClient.Builder getPlaidClientBuilder() { - return PlaidClient.newBuilder() - .publicKey(PUBLIC_KEY) - .clientIdAndSecret(CLIENT_ID, SECRET) - .logLevel(HttpLoggingInterceptor.Level.BODY); - } - - @Test(expected = IllegalArgumentException.class) - public void testUnspecifiedBaseUrlFails() throws Exception { - getPlaidClientBuilder().build(); - } - - @Test(expected = IllegalArgumentException.class) - public void testUnspecifiedCredentialsFails() throws Exception { - PlaidClient.newBuilder() - .sandboxBaseUrl() - .build(); - } - - @Test - public void testPublicCredentialsOnlySucceeds() throws Exception { - PlaidClient.newBuilder() - .sandboxBaseUrl() - .publicKey(PUBLIC_KEY) - .build(); - } - - @Test - public void testPrivateCredentialsOnlySucceeds() throws Exception { - PlaidClient.newBuilder() - .sandboxBaseUrl() - .clientIdAndSecret(CLIENT_ID, SECRET) - .build(); - } - - @Test - public void testBaseUrlUsesProduction() throws Exception { - PlaidClient plaidClient = getPlaidClientBuilder().productionBaseUrl().build(); - - assertThat(plaidClient.service().institutionsSearch(INSTITUTIONS_SEARCH_REQUEST).request().url().toString(), - startsWith(PlaidClient.Builder.DEFAULT_PRODUCTION_BASE_URL)); - } - - @Test - public void testBaseUrlUsesSandbox() throws Exception { - PlaidClient plaidClient = getPlaidClientBuilder().sandboxBaseUrl().build(); - - assertThat(plaidClient.service().institutionsSearch(INSTITUTIONS_SEARCH_REQUEST).request().url().toString(), - startsWith(PlaidClient.Builder.DEFAULT_SANDBOX_BASE_URL)); - } - - @Test - public void testBaseUrlUsesDev() throws Exception { - PlaidClient plaidClient = getPlaidClientBuilder().developmentBaseUrl().build(); - - assertThat(plaidClient.service().institutionsSearch(INSTITUTIONS_SEARCH_REQUEST).request().url().toString(), - startsWith(PlaidClient.Builder.DEFAULT_DEVELOPMENT_BASE_URL)); - } - - @Test - public void testBaseUrlCustom() throws Exception { - String baseUrl = "http://example.com/"; - - PlaidClient plaidApiService = getPlaidClientBuilder() - .productionBaseUrl() - .baseUrl(baseUrl) - .build(); - - assertThat(plaidApiService.service().institutionsSearch(INSTITUTIONS_SEARCH_REQUEST).request().url().toString(), - startsWith(baseUrl)); - } -} diff --git a/src/test/java/com/plaid/client/PlaidClientHelpersTest.java b/src/test/java/com/plaid/client/PlaidClientHelpersTest.java deleted file mode 100644 index dc7eabe3e3..0000000000 --- a/src/test/java/com/plaid/client/PlaidClientHelpersTest.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.plaid.client; - -import com.plaid.client.response.ErrorResponse; -import okhttp3.MediaType; -import okhttp3.ResponseBody; -import org.junit.Before; -import org.junit.Test; -import retrofit2.Response; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -public class PlaidClientHelpersTest { - private PlaidClient plaidClient; - - @Before - public void setUp() throws Exception { - plaidClient = PlaidClient.newBuilder() - .sandboxBaseUrl() - .publicKey("foo") - .clientIdAndSecret("bar", "baz") - .build(); - } - - @Test - public void testParseError() throws Exception { - ErrorResponse errorResponse = plaidClient.parseError(Response.error(400, ResponseBody.create(MediaType.parse("application/json"), - "{\n" + - " \"display_message\": \"some message\",\n" + - " \"error_code\": \"INVALID_FIELD\",\n" + - " \"error_message\": \"query must be a non-empty string\",\n" + - " \"error_type\": \"INVALID_REQUEST\",\n" + - " \"request_id\": \"4mfTq\"\n" + - "}" - ))); - - assertEquals("some message", errorResponse.getDisplayMessage()); - assertEquals("INVALID_FIELD", errorResponse.getErrorCode()); - assertEquals("query must be a non-empty string", errorResponse.getErrorMessage()); - assertEquals(ErrorResponse.ErrorType.INVALID_REQUEST, errorResponse.getErrorType()); - assertEquals("4mfTq", errorResponse.getRequestId()); - } - - @Test - public void testParseErrorMalformed() throws Exception { - try { - plaidClient.parseError(Response.error(400, ResponseBody.create(MediaType.parse("application/json"), "{"))); - fail("expected an exception to get thrown"); - } catch (Exception e) { - assertEquals("Could not parse error response", e.getMessage()); - } - } -} diff --git a/src/test/java/com/plaid/client/TransactionsGetRequestTest.java b/src/test/java/com/plaid/client/TransactionsGetRequestTest.java deleted file mode 100644 index af10f7bdce..0000000000 --- a/src/test/java/com/plaid/client/TransactionsGetRequestTest.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.plaid.client; - -import com.plaid.client.request.TransactionsGetRequest; -import java.util.Date; -import org.junit.Test; - -public class TransactionsGetRequestTest { - @Test(expected = IllegalArgumentException.class) - public void testFailsWithNegativeOffset() { - new TransactionsGetRequest("abc", new Date(), new Date()).withOffset(-1); - } - - @Test(expected = IllegalArgumentException.class) - public void testFailsWithNegativeCount() { - new TransactionsGetRequest("abc", new Date(), new Date()).withCount(-1); - } - - @Test(expected = IllegalArgumentException.class) - public void testFailsWithLargeCount() { - new TransactionsGetRequest("abc", new Date(), new Date()).withCount(501); - } - - @Test(expected = IllegalArgumentException.class) - public void testFailsWithNullOptions() { - new TransactionsGetRequest("abc", new Date(), new Date()).withOptions(null); - } - - @Test - public void testSucceedsWithNormalValues() { - new TransactionsGetRequest("abc", new Date(), new Date()).withCount(0); - new TransactionsGetRequest("abc", new Date(), new Date()).withCount(500); - new TransactionsGetRequest("abc", new Date(), new Date()).withCount(1); - new TransactionsGetRequest("abc", new Date(), new Date()).withCount(200); - - new TransactionsGetRequest("abc", new Date(), new Date()).withOffset(0); - new TransactionsGetRequest("abc", new Date(), new Date()).withOffset(1); - new TransactionsGetRequest("abc", new Date(), new Date()).withOffset(100); - } -} diff --git a/src/test/java/com/plaid/client/integration/AbstractIntegrationTest.java b/src/test/java/com/plaid/client/integration/AbstractIntegrationTest.java index d7c6331a46..a16cb1259a 100644 --- a/src/test/java/com/plaid/client/integration/AbstractIntegrationTest.java +++ b/src/test/java/com/plaid/client/integration/AbstractIntegrationTest.java @@ -1,90 +1,156 @@ package com.plaid.client.integration; -import com.plaid.client.PlaidClient; -import com.plaid.client.integration.util.PlaidSandboxApiService; -import com.plaid.client.response.BaseResponse; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemStatus; -import okhttp3.logging.HttpLoggingInterceptor; +import static org.junit.Assert.*; + +import com.google.gson.Gson; +import com.plaid.client.ApiClient; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.Item; +import com.plaid.client.model.ItemWithConsentFields; +import com.plaid.client.request.PlaidApi; +import java.io.IOException; +import java.lang.annotation.Annotation; +import java.lang.reflect.Array; +import java.util.HashMap; +import okhttp3.Interceptor; +import okhttp3.Request; +import okhttp3.ResponseBody; import org.junit.Before; +import retrofit2.Converter; import retrofit2.Response; - -import static org.junit.Assert.*; +import retrofit2.Retrofit; /** - * Abstract base class for integration tests which gets configuration from the environment. + * Abstract base class for integration tests which gets configuration from the + * environment. * - * PLAID_PUBLIC_KEY, PLAID_CLIENT_ID, PLAID_SECRET, and PLAID_BASE_URL must be defined - * or errors will be thrown. + * PLAID_CLIENT_ID, PLAID_SECRET, and PLAID_BASE_URL must be + * defined or errors will be thrown. */ public abstract class AbstractIntegrationTest { /** - * Sandbox-specific institution IDs used for testing. See sandbox documentation for - * more information. + * Sandbox-specific institution IDs used for testing. See sandbox documentation + * for more information. */ public static final String FIRST_PLATYPUS_BANK_INSTITUTION_ID = "ins_109508"; - public static final String FIRST_GINGHAM_CREDIT_UNION_INSTITION_ID = "ins_109509"; - public static final String TATTERSALL_FEDERAL_CREDIT_UNION_INSTITUTION_ID = "ins_109510"; + public static final String FIRST_GINGHAM_CREDIT_UNION_INSTITION_ID = + "ins_109509"; + public static final String TATTERSALL_FEDERAL_CREDIT_UNION_INSTITUTION_ID = + "ins_109510"; public static final String TARTAN_BANK_INSTITUTION_ID = "ins_109511"; public static final String HOUNDSTOOTH_BANK_INSTITUTION_ID = "ins_109512"; + public static final String INCOME_INSTITUTION_ID = "ins_135842"; - private PlaidClient plaidClient; - private PlaidSandboxApiService sandboxApiService; + private PlaidApi plaidClient; + private ApiClient apiClient; @Before public void setUpClient() throws Exception { - String plaidPublicKey = System.getenv("PLAID_PUBLIC_KEY"); String plaidClientId = System.getenv("PLAID_CLIENT_ID"); String plaidSecret = System.getenv("PLAID_SECRET"); - assertNotNull("PLAID_PUBLIC_KEY environment variable is required", plaidPublicKey); - assertNotNull("PLAID_CLIENT_ID environment variable is required", plaidClientId); + assertNotNull( + "PLAID_CLIENT_ID environment variable is required", + plaidClientId + ); assertNotNull("PLAID_SECRET environment variable is required", plaidSecret); - plaidClient = PlaidClient.newBuilder() - .publicKey(plaidPublicKey) - .clientIdAndSecret(plaidClientId, plaidSecret) - .sandboxBaseUrl() - .logLevel(HttpLoggingInterceptor.Level.BODY) - .build(); - - sandboxApiService = client().getRetrofit().create(PlaidSandboxApiService.class); + HashMap apiKeys = new HashMap(); + apiKeys.put("clientId", plaidClientId); + apiKeys.put("secret", plaidSecret); + apiKeys.put("plaidVersion", "2020-09-14"); + apiClient = new ApiClient(apiKeys); + apiClient.setPlaidAdapter(ApiClient.Sandbox); + apiClient.setTimeout(61); + plaidClient = apiClient.createService(PlaidApi.class); } - PlaidClient client() { + protected PlaidApi client() { return plaidClient; } - static void assertSuccessResponse(Response response) { + protected ApiClient apiClient() { + return apiClient; + } + + protected static Response retryRateLimitErrors(retrofit2.Call call) throws Exception { + Response response = call.execute(); + if (response.code() == 429) { + Thread.sleep(10000); + response = call.clone().execute(); + } + return response; + } + + protected static void assertSuccessResponse(Response response) { assertTrue(response.isSuccessful()); - assertNotNull(response.body().getRequestId()); } - void assertErrorResponse(Response response, - ErrorResponse.ErrorType expectedErrorType, - String expectedErrorCode) { + void assertErrorResponse( + Response response, + PlaidErrorType expectedErrorType, + String expectedErrorCode + ) + throws Exception { assertFalse(response.isSuccessful()); assertNotNull(response.errorBody()); - ErrorResponse errorResponse = client().parseError(response); - assertNotNull(errorResponse); - assertNotNull(errorResponse.getRequestId()); - assertEquals(expectedErrorType, errorResponse.getErrorType()); - assertEquals(expectedErrorCode, errorResponse.getErrorCode()); + try { + Gson gson = new Gson(); + PlaidError error = gson.fromJson(response.errorBody().string(), PlaidError.class); + assertNotNull(error); + assertNotNull(error.getRequestId()); + assertEquals(expectedErrorType, error.getErrorType()); + assertEquals(expectedErrorCode, error.getErrorCode()); + } catch (Exception e) { + throw new Exception( + String.format( + "Failed converting from API Response PlaidError Body to PlaidError %f", + response.errorBody().string() + ) + ); + } } - protected static void assertItemEquals(ItemStatus expectedItem, ItemStatus actualItem) { + protected static void assertItemEquals(Item expectedItem, Item actualItem) { assertEquals(expectedItem.getError(), actualItem.getError()); - assertEquals(expectedItem.getAvailableProducts(), actualItem.getAvailableProducts()); - assertEquals(expectedItem.getBilledProducts(), actualItem.getBilledProducts()); - assertEquals(expectedItem.getInstitutionId(), actualItem.getInstitutionId()); + assertEquals( + expectedItem.getAvailableProducts(), + actualItem.getAvailableProducts() + ); + assertEquals( + expectedItem.getBilledProducts(), + actualItem.getBilledProducts() + ); + assertEquals( + expectedItem.getInstitutionId(), + actualItem.getInstitutionId() + ); assertEquals(expectedItem.getItemId(), actualItem.getItemId()); assertEquals(expectedItem.getWebhook(), actualItem.getWebhook()); + assertEquals( + expectedItem.getConsentExpirationTime(), + actualItem.getConsentExpirationTime() + ); + assertEquals( + expectedItem.getUpdateType(), + actualItem.getUpdateType() + ); } - protected PlaidSandboxApiService sandboxApiService() { - return sandboxApiService; + public Item getItemFromItemWithConsentFields(ItemWithConsentFields itemWithConsentFields) { + Item item = new Item() + .error(itemWithConsentFields.getError()) + .availableProducts(itemWithConsentFields.getAvailableProducts()) + .billedProducts(itemWithConsentFields.getBilledProducts()) + .institutionId(itemWithConsentFields.getInstitutionId()) + .itemId(itemWithConsentFields.getItemId()) + .webhook(itemWithConsentFields.getWebhook()) + .consentExpirationTime(itemWithConsentFields.getConsentExpirationTime()) + .updateType(Item.UpdateTypeEnum.fromValue(itemWithConsentFields.getUpdateType().getValue())); + return item; } } diff --git a/src/test/java/com/plaid/client/integration/AbstractItemIntegrationTest.java b/src/test/java/com/plaid/client/integration/AbstractItemIntegrationTest.java index 9a99fd972d..f1c4704cc0 100644 --- a/src/test/java/com/plaid/client/integration/AbstractItemIntegrationTest.java +++ b/src/test/java/com/plaid/client/integration/AbstractItemIntegrationTest.java @@ -1,40 +1,59 @@ package com.plaid.client.integration; -import com.plaid.client.request.ItemCreateRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.Account; -import com.plaid.client.response.ItemCreateResponse; -import org.junit.Before; -import retrofit2.Response; - -import java.util.List; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.Item; +import com.plaid.client.model.ItemGetRequest; +import com.plaid.client.model.ItemGetResponse; +import com.plaid.client.model.ItemPublicTokenExchangeRequest; +import com.plaid.client.model.ItemPublicTokenExchangeResponse; +import com.plaid.client.model.ItemStatus; +import com.plaid.client.model.Products; +import com.plaid.client.model.SandboxPublicTokenCreateRequest; +import com.plaid.client.model.SandboxPublicTokenCreateRequestOptions; +import com.plaid.client.model.SandboxPublicTokenCreateResponse; +import java.util.List; +import org.junit.Before; +import retrofit2.Response; + /** * For tests where an item is required. *

* Subclasses must provide the institution and products desired by implementing. * {@link #setupItemProducts()} and {@link #setupItemInstitutionId()} */ -public abstract class AbstractItemIntegrationTest extends AbstractIntegrationTest { - private ItemCreateResponse itemCreateResponse; - - protected static void assertAccount(Account actualAccount, - String expectedType, - String expectedSubType, - Double expectedBalanceAvailable, - Double expectedBalanceCurrent, - Double expectedBalanceLimit, - String expectedName, - String expectedMask, - String expectedOfficialName) { +public abstract class AbstractItemIntegrationTest + extends AbstractIntegrationTest { + + private ItemPublicTokenExchangeResponse exchangeTokenResponse; + private Item item; + + protected static void assertAccount( + AccountBase actualAccount, + AccountType expectedType, + AccountSubtype expectedSubType, + Double expectedBalanceAvailable, + Double expectedBalanceCurrent, + Double expectedBalanceLimit, + String expectedName, + String expectedMask, + String expectedOfficialName + ) { assertNotNull(actualAccount.getAccountId()); assertEquals(expectedType, actualAccount.getType()); assertEquals(expectedSubType, actualAccount.getSubtype()); - assertEquals(expectedBalanceAvailable, actualAccount.getBalances().getAvailable()); - assertEquals(expectedBalanceCurrent, actualAccount.getBalances().getCurrent()); + assertEquals( + expectedBalanceAvailable, + actualAccount.getBalances().getAvailable() + ); + assertEquals( + expectedBalanceCurrent, + actualAccount.getBalances().getCurrent() + ); assertEquals(expectedBalanceLimit, actualAccount.getBalances().getLimit()); assertEquals(expectedName, actualAccount.getName()); assertEquals(expectedMask, actualAccount.getMask()); @@ -43,22 +62,49 @@ protected static void assertAccount(Account actualAccount, @Before public void setUpItem() throws Exception { - Response response = - client().service() - .itemCreate(new ItemCreateRequest( - setupItemInstitutionId(), - setupItemProducts()) - .withCredentials("username", "user_good") - .withCredentials("password", "pass_good")).execute(); + SandboxPublicTokenCreateRequest request = new SandboxPublicTokenCreateRequest() + .institutionId(setupItemInstitutionId()); + request.setInitialProducts(setupItemProducts()); + request.setOptions(setupOptions()); + + Response createResponse = client() + .sandboxPublicTokenCreate(request) + .execute(); + assertSuccessResponse(createResponse); + + ItemPublicTokenExchangeRequest itemPublicTokenExchangeRequest = new ItemPublicTokenExchangeRequest() + .publicToken(createResponse.body().getPublicToken()); + + Response response = client() + .itemPublicTokenExchange(itemPublicTokenExchangeRequest) + .execute(); assertSuccessResponse(response); - itemCreateResponse = response.body(); + + this.exchangeTokenResponse = response.body(); + + ItemGetRequest itemGetRequest = new ItemGetRequest() + .accessToken(exchangeTokenResponse.getAccessToken()); + + Response itemGetResponse = client() + .itemGet(itemGetRequest) + .execute(); + assertSuccessResponse(itemGetResponse); + item = getItemFromItemWithConsentFields(itemGetResponse.body().getItem()); } - protected abstract List setupItemProducts(); + protected abstract List setupItemProducts(); protected abstract String setupItemInstitutionId(); - public ItemCreateResponse getItemCreateResponse() { - return itemCreateResponse; + protected SandboxPublicTokenCreateRequestOptions setupOptions() { + return null; + } + + public ItemPublicTokenExchangeResponse getItemPublicTokenExchangeResponse() { + return exchangeTokenResponse; + } + + public Item getItem() { + return item; } } diff --git a/src/test/java/com/plaid/client/integration/AccountsBalanceGetTest.java b/src/test/java/com/plaid/client/integration/AccountsBalanceGetTest.java index e7dc979922..44e6b8075a 100644 --- a/src/test/java/com/plaid/client/integration/AccountsBalanceGetTest.java +++ b/src/test/java/com/plaid/client/integration/AccountsBalanceGetTest.java @@ -1,24 +1,32 @@ package com.plaid.client.integration; -import com.plaid.client.request.AccountsBalanceGetRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.Account; -import com.plaid.client.response.AccountsBalanceGetResponse; -import com.plaid.client.response.ErrorResponse; -import org.junit.Ignore; -import org.junit.Test; -import retrofit2.Response; +import static com.plaid.client.integration.AbstractItemIntegrationTest.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.AccountsBalanceGetRequest; +import com.plaid.client.model.AccountsBalanceGetRequestOptions; +import com.plaid.client.model.AccountsGetResponse; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.Item; +import com.plaid.client.model.ItemStatus; +import com.plaid.client.model.Products; import java.util.Arrays; import java.util.List; - -import static com.plaid.client.integration.AbstractItemIntegrationTest.*; -import static org.junit.Assert.assertEquals; +import org.junit.Ignore; +import org.junit.Test; +import retrofit2.Response; public class AccountsBalanceGetTest extends AbstractItemIntegrationTest { + @Override - protected List setupItemProducts() { - return Arrays.asList(Product.TRANSACTIONS); + protected List setupItemProducts() { + return Arrays.asList(Products.TRANSACTIONS); } @Override @@ -28,65 +36,144 @@ protected String setupItemInstitutionId() { @Test public void testAccountsBalanceGetSuccess() throws Exception { - Response response = client().service().accountsBalanceGet( - new AccountsBalanceGetRequest(getItemCreateResponse().getAccessToken())) + AccountsBalanceGetRequest request = new AccountsBalanceGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .accountsBalanceGet(request) .execute(); assertSuccessResponse(response); + assertNotNull(response.body().getRequestId()); // item should be the same one we created - assertItemEquals(getItemCreateResponse().getItem(), response.body().getItem()); + assertItemEquals(getItem(), response.body().getItem()); // sandbox should return expected accounts - List accounts = response.body().getAccounts(); - assertEquals(4, accounts.size()); - assertAccount(accounts.get(0), "depository", "checking", 100d, 110d, null, "Plaid Checking", "0000", "Plaid Gold Standard 0% Interest Checking"); - assertAccount(accounts.get(1), "depository", "savings", 200d, 210d, null, "Plaid Saving", "1111", "Plaid Silver Standard 0.1% Interest Saving"); - assertAccount(accounts.get(2), "depository", "cd", null, 1000d, null, "Plaid CD", "2222", "Plaid Bronze Standard 0.2% Interest CD"); - assertAccount(accounts.get(3), "credit", "credit card", null, 410d, 2000d, "Plaid Credit Card", "3333", "Plaid Diamond 12.5% APR Interest Credit Card"); - for (Account account : accounts) { - assertEquals("USD", account.getBalances().getIsoCurrencyCode()); - } + List accounts = response.body().getAccounts(); + assertTrue(accounts.size() > 1); + assertAccount( + accounts.get(0), + AccountType.DEPOSITORY, + AccountSubtype.CHECKING, + 100d, + 110d, + null, + "Plaid Checking", + "0000", + "Plaid Gold Standard 0% Interest Checking" + ); + assertAccount( + accounts.get(1), + AccountType.DEPOSITORY, + AccountSubtype.SAVINGS, + 200d, + 210d, + null, + "Plaid Saving", + "1111", + "Plaid Silver Standard 0.1% Interest Saving" + ); + assertAccount( + accounts.get(2), + AccountType.DEPOSITORY, + AccountSubtype.CD, + null, + 1000d, + null, + "Plaid CD", + "2222", + "Plaid Bronze Standard 0.2% Interest CD" + ); + assertAccount( + accounts.get(3), + AccountType.CREDIT, + AccountSubtype.CREDIT_CARD, + null, + 410d, + 2000d, + "Plaid Credit Card", + "3333", + "Plaid Diamond 12.5% APR Interest Credit Card" + ); } @Test public void testAccountsBalanceGetWithAccountId() throws Exception { // first call to get an account ID - Response response = client().service().accountsBalanceGet( - new AccountsBalanceGetRequest(getItemCreateResponse().getAccessToken())) + AccountsBalanceGetRequest request = new AccountsBalanceGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .accountsBalanceGet(request) .execute(); assertSuccessResponse(response); + assertNotNull(response.body().getRequestId()); String accountId = response.body().getAccounts().get(1).getAccountId(); // call under test - response = client().service().accountsBalanceGet( - new AccountsBalanceGetRequest(getItemCreateResponse().getAccessToken()).withAccountIds(Arrays.asList(accountId))) - .execute(); + AccountsBalanceGetRequest accountsBalanceRequest = new AccountsBalanceGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + AccountsBalanceGetRequestOptions options = new AccountsBalanceGetRequestOptions() + .accountIds(Arrays.asList(accountId)); + + accountsBalanceRequest.setOptions(options); + + response = client().accountsBalanceGet(accountsBalanceRequest).execute(); assertSuccessResponse(response); + assertNotNull(response.body().getRequestId()); // item should be the same one we created - assertItemEquals(getItemCreateResponse().getItem(), response.body().getItem()); + assertItemEquals(getItem(), response.body().getItem()); // sandbox should return expected accounts - List accounts = response.body().getAccounts(); + List accounts = response.body().getAccounts(); assertEquals(1, accounts.size()); - assertAccount(accounts.get(0), "depository", "savings", 200d, 210d, null, "Plaid Saving", "1111", "Plaid Silver Standard 0.1% Interest Saving"); + assertAccount( + accounts.get(0), + AccountType.DEPOSITORY, + AccountSubtype.SAVINGS, + 200d, + 210d, + null, + "Plaid Saving", + "1111", + "Plaid Silver Standard 0.1% Interest Saving" + ); } @Test - @Ignore("This test fails because the request triggers a sandbox server 500.") public void testAccountsBalanceGetInvalidAccountId() throws Exception { - Response response = client().service().accountsBalanceGet( - new AccountsBalanceGetRequest(getItemCreateResponse().getAccessToken()).withAccountIds(Arrays.asList("not-real"))) + AccountsBalanceGetRequest request = new AccountsBalanceGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + AccountsBalanceGetRequestOptions options = new AccountsBalanceGetRequestOptions() + .accountIds(Arrays.asList("not-real")); + request.setOptions(options); + + Response response = client() + .accountsBalanceGet(request) .execute(); - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_ACCOUNT_ID"); + assertErrorResponse( + response, + PlaidErrorType.INVALID_REQUEST, + "INVALID_FIELD" + ); } @Test public void testAccountsBalanceGetInvalidAccessToken() throws Exception { - Response response = client().service().accountsBalanceGet( - new AccountsBalanceGetRequest("notreal")) + AccountsBalanceGetRequest request = new AccountsBalanceGetRequest() + .accessToken("notreal"); + + Response response = client() + .accountsBalanceGet(request) .execute(); - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_ACCESS_TOKEN"); + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_ACCESS_TOKEN" + ); } } diff --git a/src/test/java/com/plaid/client/integration/AccountsGetTest.java b/src/test/java/com/plaid/client/integration/AccountsGetTest.java index c5b4fb9cbc..71ce640fe8 100644 --- a/src/test/java/com/plaid/client/integration/AccountsGetTest.java +++ b/src/test/java/com/plaid/client/integration/AccountsGetTest.java @@ -1,24 +1,28 @@ package com.plaid.client.integration; -import com.plaid.client.request.AccountsGetRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.Account; -import com.plaid.client.response.AccountsGetResponse; -import com.plaid.client.response.ErrorResponse; -import org.junit.Ignore; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.*; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.AccountsGetRequest; +import com.plaid.client.model.AccountsGetRequestOptions; +import com.plaid.client.model.AccountsGetResponse; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.Products; import java.util.Arrays; import java.util.Collections; import java.util.List; - -import static org.junit.Assert.*; +import org.junit.Ignore; +import org.junit.Test; +import retrofit2.Response; public class AccountsGetTest extends AbstractItemIntegrationTest { + @Override - protected List setupItemProducts() { - return Collections.singletonList(Product.TRANSACTIONS); + protected List setupItemProducts() { + return Collections.singletonList(Products.TRANSACTIONS); } @Override @@ -28,72 +32,139 @@ protected String setupItemInstitutionId() { @Test public void testAccountsGetSuccess() throws Exception { - Response response = client().service().accountsGet( - new AccountsGetRequest(getItemCreateResponse().getAccessToken())) + AccountsGetRequest request = new AccountsGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .accountsGet(request) .execute(); assertSuccessResponse(response); // item should be the same one we created - assertItemEquals(getItemCreateResponse().getItem(), response.body().getItem()); + assertItemEquals(getItem(), response.body().getItem()); // sandbox should return expected accounts - List accounts = response.body().getAccounts(); - assertEquals(4, accounts.size()); - assertAccount(accounts.get(0), "depository", "checking", 100d, - 110d, null, "Plaid Checking", - "0000", "Plaid Gold Standard 0% Interest Checking"); - assertAccount(accounts.get(1), "depository", - "savings", 200d, 210d, null, "Plaid Saving", - "1111", "Plaid Silver Standard 0.1% Interest Saving"); - assertAccount(accounts.get(2), "depository", - "cd", null, 1000d, null, "Plaid CD", - "2222", "Plaid Bronze Standard 0.2% Interest CD"); - assertAccount(accounts.get(3), "credit", "credit card", null, 410d, 2000d, "Plaid Credit Card", - "3333", "Plaid Diamond 12.5% APR Interest Credit Card"); + List accounts = response.body().getAccounts(); + assertTrue(accounts.size() > 1); + assertAccount( + accounts.get(0), + AccountType.DEPOSITORY, + AccountSubtype.CHECKING, + 100d, + 110d, + null, + "Plaid Checking", + "0000", + "Plaid Gold Standard 0% Interest Checking" + ); + assertAccount( + accounts.get(1), + AccountType.DEPOSITORY, + AccountSubtype.SAVINGS, + 200d, + 210d, + null, + "Plaid Saving", + "1111", + "Plaid Silver Standard 0.1% Interest Saving" + ); + assertAccount( + accounts.get(2), + AccountType.DEPOSITORY, + AccountSubtype.CD, + null, + 1000d, + null, + "Plaid CD", + "2222", + "Plaid Bronze Standard 0.2% Interest CD" + ); + assertAccount( + accounts.get(3), + AccountType.CREDIT, + AccountSubtype.CREDIT_CARD, + null, + 410d, + 2000d, + "Plaid Credit Card", + "3333", + "Plaid Diamond 12.5% APR Interest Credit Card" + ); } @Test public void testAccountGetWithAccountId() throws Exception { // first call to get an account ID - Response response = client().service().accountsGet( - new AccountsGetRequest(getItemCreateResponse().getAccessToken())) + AccountsGetRequest request = new AccountsGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + Response response = client() + .accountsGet(request) .execute(); assertSuccessResponse(response); String accountId = response.body().getAccounts().get(1).getAccountId(); // call under test - response = client().service().accountsGet( - new AccountsGetRequest(getItemCreateResponse().getAccessToken()).withAccountIds(Arrays.asList(accountId))) - .execute(); + AccountsGetRequest accountsGetRequest = new AccountsGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + AccountsGetRequestOptions options = new AccountsGetRequestOptions() + .accountIds(Arrays.asList(accountId)); + accountsGetRequest.setOptions(options); + + response = client().accountsGet(accountsGetRequest).execute(); assertSuccessResponse(response); // item should be the same one we created - assertItemEquals(getItemCreateResponse().getItem(), response.body().getItem()); + assertItemEquals(getItem(), response.body().getItem()); // sandbox should return expected accounts - List accounts = response.body().getAccounts(); + List accounts = response.body().getAccounts(); assertEquals(1, accounts.size()); - assertAccount(accounts.get(0), "depository", - "savings", 200d, 210d, null, "Plaid Saving", - "1111", "Plaid Silver Standard 0.1% Interest Saving"); + assertAccount( + accounts.get(0), + AccountType.DEPOSITORY, + AccountSubtype.SAVINGS, + 200d, + 210d, + null, + "Plaid Saving", + "1111", + "Plaid Silver Standard 0.1% Interest Saving" + ); } @Test - @Ignore("This test fails because the request triggers a sandbox server 500.") public void testAccountGetInvalidAccountId() throws Exception { - Response response = client().service().accountsGet( - new AccountsGetRequest(getItemCreateResponse().getAccessToken()).withAccountIds(Arrays.asList("not-real"))) + AccountsGetRequest accountsGetRequest = new AccountsGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + AccountsGetRequestOptions options = new AccountsGetRequestOptions() + .accountIds(Arrays.asList("not-real")); + accountsGetRequest.setOptions(options); + + Response response = client() + .accountsGet(accountsGetRequest) .execute(); - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_ACCOUNT_ID"); + assertErrorResponse( + response, + PlaidErrorType.INVALID_REQUEST, + "INVALID_FIELD" + ); } @Test public void testAccountGetInvalidAccessToken() throws Exception { - Response response = client().service().accountsGet( - new AccountsGetRequest("notreal")) + AccountsGetRequest accountsGetRequest = new AccountsGetRequest() + .accessToken("notreal"); + + Response response = client() + .accountsGet(accountsGetRequest) .execute(); - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_ACCESS_TOKEN"); + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_ACCESS_TOKEN" + ); } - } diff --git a/src/test/java/com/plaid/client/integration/AssetReportAuditCopyCreateTest.java b/src/test/java/com/plaid/client/integration/AssetReportAuditCopyCreateTest.java index 7e30cdc154..01d1896346 100644 --- a/src/test/java/com/plaid/client/integration/AssetReportAuditCopyCreateTest.java +++ b/src/test/java/com/plaid/client/integration/AssetReportAuditCopyCreateTest.java @@ -1,10 +1,9 @@ package com.plaid.client.integration; -import com.plaid.client.PlaidClient; -import com.plaid.client.request.AssetReportAuditCopyCreateRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.AssetReportAuditCopyCreateResponse; -import com.plaid.client.response.AssetReportCreateResponse; +import com.plaid.client.model.AssetReportAuditCopyCreateRequest; +import com.plaid.client.model.Products; +import com.plaid.client.model.AssetReportAuditCopyCreateResponse; +import com.plaid.client.model.AssetReportCreateResponse; import org.junit.Test; import retrofit2.Response; @@ -16,8 +15,8 @@ public class AssetReportAuditCopyCreateTest extends AbstractItemIntegrationTest { @Override - protected List setupItemProducts() { - return Arrays.asList(Product.ASSETS); + protected List setupItemProducts() { + return Arrays.asList(Products.ASSETS); } @Override @@ -28,15 +27,17 @@ protected String setupItemInstitutionId() { @Test public void testAssetReportAuditCopyCreateSuccess() throws Exception { // Create asset report to get an asset report token - PlaidClient client = client(); - List accessTokens = Arrays.asList(getItemCreateResponse().getAccessToken()); - Response createResponse = AssetReportCreateTest.createAssetReport(client, accessTokens); + List accessTokens = Arrays.asList(getItemPublicTokenExchangeResponse().getAccessToken()); + Response createResponse = AssetReportCreateTest.createAssetReport(client(), accessTokens); String assetReportToken = createResponse.body().getAssetReportToken(); - AssetReportGetTest.waitTillReady(client, assetReportToken); + AssetReportGetTest.waitTillReady(client(), assetReportToken); - AssetReportAuditCopyCreateRequest request = new AssetReportAuditCopyCreateRequest(assetReportToken, "fannie_mae"); - Response response = client.service().assetReportAuditCopyCreate(request).execute(); + AssetReportAuditCopyCreateRequest request = new AssetReportAuditCopyCreateRequest() + .assetReportToken(assetReportToken) + .auditorId("fannie_mae"); + + Response response = client().assetReportAuditCopyCreate(request).execute(); assertNotNull(response.body().getAuditCopyToken()); } } diff --git a/src/test/java/com/plaid/client/integration/AssetReportAuditCopyGetTest.java b/src/test/java/com/plaid/client/integration/AssetReportAuditCopyGetTest.java new file mode 100644 index 0000000000..02311741f4 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/AssetReportAuditCopyGetTest.java @@ -0,0 +1,71 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; + +import com.plaid.client.model.AssetReportAuditCopyCreateRequest; +import com.plaid.client.model.AssetReportAuditCopyCreateResponse; +import com.plaid.client.model.AssetReportAuditCopyGetRequest; +import com.plaid.client.model.AssetReportCreateResponse; +import com.plaid.client.model.AssetReportGetResponse; +import com.plaid.client.model.Products; +import java.util.Arrays; +import java.util.List; +import org.junit.Test; +import retrofit2.Response; + +public class AssetReportAuditCopyGetTest extends AbstractItemIntegrationTest { + + @Override + protected List setupItemProducts() { + return Arrays.asList(Products.ASSETS); + } + + @Override + protected String setupItemInstitutionId() { + return TARTAN_BANK_INSTITUTION_ID; + } + + @Test + public void testAssetReportAuditCopyGetSuccess() throws Exception { + // Create asset report to get an asset report token + List accessTokens = Arrays.asList( + getItemPublicTokenExchangeResponse().getAccessToken() + ); + Response createResponse = AssetReportCreateTest.createAssetReport( + client(), + accessTokens + ); + String assetReportToken = createResponse.body().getAssetReportToken(); + + AssetReportGetTest.waitTillReady(client(), assetReportToken); + + AssetReportAuditCopyCreateRequest request = new AssetReportAuditCopyCreateRequest() + .assetReportToken(assetReportToken) + .auditorId(System.getenv("PLAID_CLIENT_ID")); + + Response response = client() + .assetReportAuditCopyCreate(request) + .execute(); + String auditCopyToken = response.body().getAuditCopyToken(); + assertNotNull(auditCopyToken); + + AssetReportAuditCopyGetRequest assetReportAuditCopyGetRequest = new AssetReportAuditCopyGetRequest() + .auditCopyToken(auditCopyToken); + + Response auditCopyGetResponse = client() + .assetReportAuditCopyGet(assetReportAuditCopyGetRequest) + .execute(); + + // Validate the responses + AssetReportGetResponse respBody = auditCopyGetResponse.body(); + + assertSuccessResponse(auditCopyGetResponse); + + assertNotNull(respBody.getReport()); + assertNotNull(respBody.getReport().getUser()); + assertFalse(respBody.getReport().getItems().isEmpty()); + + assertNotNull(respBody.getReport().getAssetReportId()); + } +} diff --git a/src/test/java/com/plaid/client/integration/AssetReportAuditCopyRemoveTest.java b/src/test/java/com/plaid/client/integration/AssetReportAuditCopyRemoveTest.java index f51f378155..05209f6658 100644 --- a/src/test/java/com/plaid/client/integration/AssetReportAuditCopyRemoveTest.java +++ b/src/test/java/com/plaid/client/integration/AssetReportAuditCopyRemoveTest.java @@ -1,25 +1,25 @@ package com.plaid.client.integration; -import com.plaid.client.PlaidClient; -import com.plaid.client.request.AssetReportAuditCopyCreateRequest; -import com.plaid.client.request.AssetReportAuditCopyRemoveRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.AssetReportAuditCopyCreateResponse; -import com.plaid.client.response.AssetReportAuditCopyRemoveResponse; -import com.plaid.client.response.AssetReportCreateResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.assertTrue; +// import com.plaid.client.PlaidClient; +import com.plaid.client.model.AssetReportAuditCopyCreateRequest; +import com.plaid.client.model.AssetReportAuditCopyCreateResponse; +import com.plaid.client.model.AssetReportAuditCopyRemoveRequest; +import com.plaid.client.model.AssetReportAuditCopyRemoveResponse; +import com.plaid.client.model.AssetReportCreateResponse; +import com.plaid.client.model.Products; import java.util.Arrays; import java.util.List; +import org.junit.Test; +import retrofit2.Response; -import static org.junit.Assert.assertTrue; - -public class AssetReportAuditCopyRemoveTest extends AbstractItemIntegrationTest { +public class AssetReportAuditCopyRemoveTest + extends AbstractItemIntegrationTest { @Override - protected List setupItemProducts() { - return Arrays.asList(Product.ASSETS); + protected List setupItemProducts() { + return Arrays.asList(Products.ASSETS); } @Override @@ -30,19 +30,32 @@ protected String setupItemInstitutionId() { @Test public void testAssetReportAuditCopyRemoveSuccess() throws Exception { // Create asset report to get an asset report token - PlaidClient client = client(); - List accessTokens = Arrays.asList(getItemCreateResponse().getAccessToken()); - Response createResponse = AssetReportCreateTest.createAssetReport(client, accessTokens); + List accessTokens = Arrays.asList( + getItemPublicTokenExchangeResponse().getAccessToken() + ); + Response createResponse = AssetReportCreateTest.createAssetReport( + client(), + accessTokens + ); String assetReportToken = createResponse.body().getAssetReportToken(); - AssetReportGetTest.waitTillReady(client, assetReportToken); + AssetReportGetTest.waitTillReady(client(), assetReportToken); - AssetReportAuditCopyCreateRequest auditCopyCreateRequest = new AssetReportAuditCopyCreateRequest(assetReportToken, "fannie_mae"); - Response auditCopyCreateResponse = client.service().assetReportAuditCopyCreate(auditCopyCreateRequest).execute(); + AssetReportAuditCopyCreateRequest auditCopyCreateRequest = new AssetReportAuditCopyCreateRequest() + .assetReportToken(assetReportToken) + .auditorId("fannie_mae"); + Response auditCopyCreateResponse = client() + .assetReportAuditCopyCreate(auditCopyCreateRequest) + .execute(); String auditCopyToken = auditCopyCreateResponse.body().getAuditCopyToken(); - AssetReportAuditCopyRemoveRequest request = new AssetReportAuditCopyRemoveRequest(auditCopyToken); - Response response = client.service().assetReportAuditCopyRemove(request).execute(); + + AssetReportAuditCopyRemoveRequest request = new AssetReportAuditCopyRemoveRequest() + .auditCopyToken(auditCopyToken); + + Response response = client() + .assetReportAuditCopyRemove(request) + .execute(); assertTrue(response.body().getRemoved()); } } diff --git a/src/test/java/com/plaid/client/integration/AssetReportCreateTest.java b/src/test/java/com/plaid/client/integration/AssetReportCreateTest.java index bda77d7b9c..996bbca7af 100644 --- a/src/test/java/com/plaid/client/integration/AssetReportCreateTest.java +++ b/src/test/java/com/plaid/client/integration/AssetReportCreateTest.java @@ -1,45 +1,56 @@ package com.plaid.client.integration; -import com.plaid.client.PlaidClient; -import com.plaid.client.request.AssetReportCreateRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.AssetReportCreateResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.assertNotNull; +import com.plaid.client.model.AssetReportCreateRequest; +import com.plaid.client.model.AssetReportCreateRequestOptions; +import com.plaid.client.model.AssetReportCreateResponse; +import com.plaid.client.model.AssetReportUser; +import com.plaid.client.model.Products; +import com.plaid.client.request.PlaidApi; import java.util.Arrays; import java.util.List; - -import static org.junit.Assert.assertNotNull; +import org.junit.Test; +import retrofit2.Response; public class AssetReportCreateTest extends AbstractItemIntegrationTest { /** - * Utility method that creates an asset report given a client and a list of access tokens. - * Used by other integration tests (ex. {@link AssetReportGetTest}) to set up. + * Utility method that creates an asset report given a client and a list of + * access tokens. Used by other integration tests (ex. + * {@link AssetReportGetTest}) to set up. */ public static Response createAssetReport( - PlaidClient client, List accessTokens) throws Exception { + PlaidApi client, + List accessTokens + ) + throws Exception { String webhookUrl = "https://some.webook.example.com"; - AssetReportCreateRequest assetReportCreate = - new AssetReportCreateRequest(accessTokens, 365) - .withFirstName("Alberta") - .withMiddleName("Bobbeth") - .withLastName("Charleson") - .withWebhook(webhookUrl); - - Response response = - client - .service() - .assetReportCreate(assetReportCreate) - .execute(); + AssetReportCreateRequest assetReportCreateRequest = new AssetReportCreateRequest() + .accessTokens(accessTokens) + .daysRequested(365); + + AssetReportUser assetReportUser = new AssetReportUser() + .firstName("Alberta") + .middleName("Bobbeth") + .lastName("Charleson"); + + AssetReportCreateRequestOptions assetReportCreateOptions = new AssetReportCreateRequestOptions() + .user(assetReportUser) + .webhook(webhookUrl); + + assetReportCreateRequest.options(assetReportCreateOptions); + + Response response = client + .assetReportCreate(assetReportCreateRequest) + .execute(); return response; } @Override - protected List setupItemProducts() { - return Arrays.asList(Product.ASSETS); + protected List setupItemProducts() { + return Arrays.asList(Products.ASSETS); } @Override @@ -49,8 +60,13 @@ protected String setupItemInstitutionId() { @Test public void testAssetReportCreateSuccess() throws Exception { - List accessTokens = Arrays.asList(getItemCreateResponse().getAccessToken()); - Response response = createAssetReport(client(), accessTokens); + List accessTokens = Arrays.asList( + getItemPublicTokenExchangeResponse().getAccessToken() + ); + Response response = createAssetReport( + client(), + accessTokens + ); assertSuccessResponse(response); assertNotNull(response.body().getAssetReportId()); assertNotNull(response.body().getAssetReportToken()); diff --git a/src/test/java/com/plaid/client/integration/AssetReportFilterTest.java b/src/test/java/com/plaid/client/integration/AssetReportFilterTest.java new file mode 100644 index 0000000000..fb3d8f513b --- /dev/null +++ b/src/test/java/com/plaid/client/integration/AssetReportFilterTest.java @@ -0,0 +1,129 @@ +package com.plaid.client.integration; + +import static com.plaid.client.integration.AssetReportCreateTest.createAssetReport; +import static com.plaid.client.integration.AssetReportGetTest.waitTillReady; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; + +import com.plaid.client.model.AccountAssets; +import com.plaid.client.model.AssetReport; +import com.plaid.client.model.AssetReportCreateRequest; +import com.plaid.client.model.AssetReportCreateResponse; +import com.plaid.client.model.AssetReportFilterRequest; +import com.plaid.client.model.AssetReportFilterResponse; +import com.plaid.client.model.AssetReportGetResponse; +import com.plaid.client.model.AssetReportItem; +import com.plaid.client.model.Products; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import org.junit.Test; +import retrofit2.Response; + +public class AssetReportFilterTest extends AbstractItemIntegrationTest { + + @Override + protected List setupItemProducts() { + return Arrays.asList(Products.ASSETS); + } + + private Response filterAssetReport( + AssetReportFilterRequest assetReportFilterRequest + ) + throws Exception { + Response response = client() + .assetReportFilter(assetReportFilterRequest) + .execute(); + + return response; + } + + @Override + protected String setupItemInstitutionId() { + return TARTAN_BANK_INSTITUTION_ID; + } + + @Test + public void testAssetReportFilterSuccess() throws Exception { + // Create asset report to get an asset report token + List accessTokens = Arrays.asList( + getItemPublicTokenExchangeResponse().getAccessToken() + ); + Response createResponse = AssetReportCreateTest.createAssetReport( + client(), + accessTokens + ); + String assetReportToken = createResponse.body().getAssetReportToken(); + + // Wait till asset report is ready + Response response = waitTillReady( + client(), + assetReportToken + ); + + // Validate the responses + AssetReportGetResponse respBody = response.body(); + assertSuccessResponse(response); + + assertNotNull(respBody.getReport()); + assertNotNull(respBody.getReport().getUser()); + assertFalse(respBody.getReport().getItems().isEmpty()); + + assertNotNull(respBody.getReport().getAssetReportId()); + + // To test filtering, we exclude an account id + List accountIdsToExclude = new ArrayList<>(); + accountIdsToExclude.add( + respBody.getReport().getItems().get(0).getAccounts().get(0).getAccountId() + ); + + // create a filtered report + AssetReportFilterRequest assetReportFilterRequest = new AssetReportFilterRequest() + .assetReportToken(assetReportToken) + .accountIdsToExclude(accountIdsToExclude); + + Response assetReportFilterResponse = filterAssetReport( + assetReportFilterRequest + ); + + String assetReportFilterToken = assetReportFilterResponse + .body() + .getAssetReportToken(); + + // wait till the filtered asset reponse is ready + Response filteredReportResponse = waitTillReady( + client(), + assetReportFilterToken + ); + + Set filteredAssetReportIds = getAssetReportAccountIds( + filteredReportResponse.body().getReport() + ); + Set unfilteredAssetReportIds = getAssetReportAccountIds( + respBody.getReport() + ); + + assertEquals( + unfilteredAssetReportIds.size() - 1, + filteredAssetReportIds.size() + ); + + // add back the account id we excluded and ensure the sets are equal + filteredAssetReportIds.add(accountIdsToExclude.get(0)); + assertEquals(unfilteredAssetReportIds, filteredAssetReportIds); + } + + private Set getAssetReportAccountIds(AssetReport assetReport) { + Set assetReportAccounts = new HashSet<>(); + + for (AssetReportItem item : assetReport.getItems()) { + for (AccountAssets account : item.getAccounts()) { + assetReportAccounts.add(account.getAccountId()); + } + } + return assetReportAccounts; + } +} diff --git a/src/test/java/com/plaid/client/integration/AssetReportGetTest.java b/src/test/java/com/plaid/client/integration/AssetReportGetTest.java index 5e77a7844b..fb0044803c 100644 --- a/src/test/java/com/plaid/client/integration/AssetReportGetTest.java +++ b/src/test/java/com/plaid/client/integration/AssetReportGetTest.java @@ -1,25 +1,31 @@ package com.plaid.client.integration; -import com.plaid.client.PlaidClient; -import com.plaid.client.request.AssetReportGetRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.AssetReportCreateResponse; -import com.plaid.client.response.AssetReportGetResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.*; +import com.google.gson.Gson; +import com.plaid.client.model.AccountAssets; +import com.plaid.client.model.AssetReport; +import com.plaid.client.model.AssetReportCreateResponse; +import com.plaid.client.model.AssetReportGetRequest; +import com.plaid.client.model.AssetReportGetResponse; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.Products; +import com.plaid.client.request.PlaidApi; +import java.io.IOException; import java.util.Arrays; import java.util.List; - -import static org.junit.Assert.*; +import org.json.JSONObject; +import org.junit.Test; +import retrofit2.Response; public class AssetReportGetTest extends AbstractItemIntegrationTest { - private final static String PRODUCT_NOT_READY = "PRODUCT_NOT_READY"; + private static final String PRODUCT_NOT_READY = "PRODUCT_NOT_READY"; @Override - protected List setupItemProducts() { - return Arrays.asList(Product.ASSETS); + protected List setupItemProducts() { + return Arrays.asList(Products.ASSETS); } @Override @@ -30,12 +36,20 @@ protected String setupItemInstitutionId() { @Test public void testAssetReportGetSuccess() throws Exception { // Create asset report to get an asset report token - List accessTokens = Arrays.asList(getItemCreateResponse().getAccessToken()); - Response createResponse = AssetReportCreateTest.createAssetReport(client(), accessTokens); + List accessTokens = Arrays.asList( + getItemPublicTokenExchangeResponse().getAccessToken() + ); + Response createResponse = AssetReportCreateTest.createAssetReport( + client(), + accessTokens + ); String assetReportToken = createResponse.body().getAssetReportToken(); // Wait till asset report is ready - Response response = waitTillReady(client(), assetReportToken); + Response response = waitTillReady( + client(), + assetReportToken + ); // Validate the responses AssetReportGetResponse respBody = response.body(); @@ -46,32 +60,76 @@ public void testAssetReportGetSuccess() throws Exception { assertFalse(respBody.getReport().getItems().isEmpty()); assertNotNull(respBody.getReport().getAssetReportId()); + + // Retrieve the report as an Asset Report with Insights. + AssetReportGetRequest assetReportGetRequest = new AssetReportGetRequest() + .includeInsights(true) + .assetReportToken(assetReportToken); + + response = client().assetReportGet(assetReportGetRequest).execute(); + + respBody = response.body(); + assertSuccessResponse(response); + + assertNotNull(respBody.getReport()); + + // An Asset Report with Insights should include a name (when available). + assertTrue(containsTransactionWithName(respBody.getReport())); + } + + private boolean containsTransactionWithName(AssetReport assetReport) { + List accounts = assetReport.getItems().get(0).getAccounts(); + for (AccountAssets account : accounts) { + if (account.getTransactions().size() > 0) { + return account.getTransactions().get(0).getName() != null; + } + } + return false; } /** * Utility function that polls Plaid till we see the Asset Report is ready */ public static Response waitTillReady( - PlaidClient client, String assetReportToken) throws Exception { + PlaidApi client, + String assetReportToken + ) + throws Exception { int NUM_RETRIES = 20; - int INTER_REQUEST_SLEEP = 1000; // millis + int INTER_REQUEST_SLEEP = 2000; // millis int attempt = 0; Response response; + JSONObject errorResponse = new JSONObject(); + PlaidError error = new PlaidError(); + do { - AssetReportGetRequest assetReportGet = new AssetReportGetRequest(assetReportToken); - response = client.service().assetReportGet(assetReportGet).execute(); + AssetReportGetRequest assetReportGetRequest = new AssetReportGetRequest() + .assetReportToken(assetReportToken); + + response = client.assetReportGet(assetReportGetRequest).execute(); + + try { + Gson gson = new Gson(); + error = gson.fromJson(response.errorBody().string(), PlaidError.class); + } catch (Exception e) { + // Dont' want to throw here. + } + attempt++; Thread.sleep(INTER_REQUEST_SLEEP); } while ( - !response.isSuccessful() && - response.errorBody() != null && - client.parseError(response).getErrorCode().equals(PRODUCT_NOT_READY) && - attempt < NUM_RETRIES - ); + !response.isSuccessful() && + response.errorBody() != null && + error.getErrorType().equals(PlaidErrorType.ASSET_REPORT_ERROR) && + attempt < NUM_RETRIES + ); if (!response.isSuccessful()) { throw new Exception( - String.format("Could not get asset report. Failed with %s", client.parseError(response).getErrorMessage() - )); + String.format( + "Could not get asset report. Failed with %s", + errorResponse.getJSONObject("error").getString("error_message") + ) + ); } return response; } diff --git a/src/test/java/com/plaid/client/integration/AssetReportPdfGetTest.java b/src/test/java/com/plaid/client/integration/AssetReportPdfGetTest.java index 707bc532a8..7eccb347cb 100644 --- a/src/test/java/com/plaid/client/integration/AssetReportPdfGetTest.java +++ b/src/test/java/com/plaid/client/integration/AssetReportPdfGetTest.java @@ -1,23 +1,21 @@ package com.plaid.client.integration; -import com.plaid.client.PlaidClient; -import com.plaid.client.request.AssetReportPdfGetRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.AssetReportCreateResponse; -import okhttp3.ResponseBody; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.assertTrue; +import com.plaid.client.model.AssetReportCreateResponse; +import com.plaid.client.model.AssetReportPDFGetRequest; +import com.plaid.client.model.Products; import java.util.Arrays; import java.util.List; - -import static org.junit.Assert.assertTrue; +import okhttp3.ResponseBody; +import org.junit.Test; +import retrofit2.Response; public class AssetReportPdfGetTest extends AbstractItemIntegrationTest { @Override - protected List setupItemProducts() { - return Arrays.asList(Product.ASSETS); + protected List setupItemProducts() { + return Arrays.asList(Products.ASSETS); } @Override @@ -28,15 +26,23 @@ protected String setupItemInstitutionId() { @Test public void testAssetReportPdfGetSuccess() throws Exception { // Create asset report to get an asset report token - PlaidClient client = client(); - List accessTokens = Arrays.asList(getItemCreateResponse().getAccessToken()); - Response createResponse = AssetReportCreateTest.createAssetReport(client, accessTokens); + List accessTokens = Arrays.asList( + getItemPublicTokenExchangeResponse().getAccessToken() + ); + Response createResponse = AssetReportCreateTest.createAssetReport( + client(), + accessTokens + ); String assetReportToken = createResponse.body().getAssetReportToken(); - AssetReportGetTest.waitTillReady(client, assetReportToken); + AssetReportGetTest.waitTillReady(client(), assetReportToken); + + AssetReportPDFGetRequest assetReportPdfGet = new AssetReportPDFGetRequest() + .assetReportToken(assetReportToken); - AssetReportPdfGetRequest assetReportPdfGet = new AssetReportPdfGetRequest(assetReportToken); - Response response = client.service().assetReportPdfGet(assetReportPdfGet).execute(); + Response response = client() + .assetReportPdfGet(assetReportPdfGet) + .execute(); assertTrue(response.body().bytes().length > 0); } } diff --git a/src/test/java/com/plaid/client/integration/AssetReportRefreshTest.java b/src/test/java/com/plaid/client/integration/AssetReportRefreshTest.java new file mode 100644 index 0000000000..995cff7078 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/AssetReportRefreshTest.java @@ -0,0 +1,177 @@ +package com.plaid.client.integration; + +import static com.plaid.client.integration.AssetReportGetTest.waitTillReady; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; + +import com.plaid.client.model.AssetReportCreateRequest; +import com.plaid.client.model.AssetReportCreateResponse; +import com.plaid.client.model.AssetReportFilterRequest; +import com.plaid.client.model.AssetReportGetResponse; +import com.plaid.client.model.AssetReportItem; +import com.plaid.client.model.AssetReportItem; +import com.plaid.client.model.AssetReportRefreshRequest; +import com.plaid.client.model.AssetReportRefreshRequestOptions; +import com.plaid.client.model.AssetReportRefreshResponse; +import com.plaid.client.model.AssetReportUser; +import com.plaid.client.model.Products; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import org.junit.Test; +import retrofit2.Response; + +public class AssetReportRefreshTest extends AbstractItemIntegrationTest { + + @Override + protected List setupItemProducts() { + return Arrays.asList(Products.ASSETS); + } + + @Override + protected String setupItemInstitutionId() { + return TARTAN_BANK_INSTITUTION_ID; + } + + private Response assetReportRefresh( + AssetReportRefreshRequest assetReportRefreshRequest + ) + throws Exception { + Response response = client() + .assetReportRefresh(assetReportRefreshRequest) + .execute(); + + return response; + } + + @Test + public void testAssetReportRefreshSuccessNoOverrideOptions() + throws Exception { + // Create asset report to get an asset report token + List accessTokens = Arrays.asList( + getItemPublicTokenExchangeResponse().getAccessToken() + ); + Response createResponse = AssetReportCreateTest.createAssetReport( + client(), + accessTokens + ); + String assetReportToken = createResponse.body().getAssetReportToken(); + + // Wait till asset report is ready + Response response = waitTillReady( + client(), + assetReportToken + ); + + // Validate the responses + AssetReportGetResponse respBody = response.body(); + assertSuccessResponse(response); + + assertNotNull(respBody.getReport()); + assertNotNull(respBody.getReport().getUser()); + assertFalse(respBody.getReport().getItems().isEmpty()); + + assertNotNull(respBody.getReport().getAssetReportId()); + + AssetReportRefreshRequest assetReportRefreshRequest = new AssetReportRefreshRequest() + .assetReportToken(assetReportToken); + + Response assetReportRefreshResponse = assetReportRefresh( + assetReportRefreshRequest + ); + + Response assetReportGetResponse = waitTillReady( + client(), + assetReportRefreshResponse.body().getAssetReportToken() + ); + + assertEquals( + response.body().getReport().getUser(), + assetReportGetResponse.body().getReport().getUser() + ); + + Set originalItems = new HashSet<>( + response.body().getReport().getItems() + ); + Set refreshItems = new HashSet<>( + assetReportGetResponse.body().getReport().getItems() + ); + + assertEquals(originalItems.size(), refreshItems.size()); + } + + @Test + public void testAssetReportRefreshSuccessWithOverride() throws Exception { + // Create asset report to get an asset report token + List accessTokens = Arrays.asList( + getItemPublicTokenExchangeResponse().getAccessToken() + ); + Response createResponse = AssetReportCreateTest.createAssetReport( + client(), + accessTokens + ); + String assetReportToken = createResponse.body().getAssetReportToken(); + + // Wait till asset report is ready + Response response = waitTillReady( + client(), + assetReportToken + ); + + // Validate the responses + AssetReportGetResponse respBody = response.body(); + assertSuccessResponse(response); + + assertNotNull(respBody.getReport()); + assertNotNull(respBody.getReport().getUser()); + assertFalse(respBody.getReport().getItems().isEmpty()); + + assertNotNull(respBody.getReport().getAssetReportId()); + + AssetReportUser assetReportUser = new AssetReportUser() + .lastName("newLastName"); + AssetReportRefreshRequestOptions options = new AssetReportRefreshRequestOptions() + .user(assetReportUser); + + AssetReportRefreshRequest assetReportRefreshRequest = new AssetReportRefreshRequest() + .options(options) + .assetReportToken(assetReportToken); + + Response assetReportCreateRefreshResponse = assetReportRefresh( + assetReportRefreshRequest + ); + + Response assetReportRefreshGetResponse = waitTillReady( + client(), + assetReportCreateRefreshResponse.body().getAssetReportToken() + ); + + Set originalItems = new HashSet<>( + response.body().getReport().getItems() + ); + Set refreshItems = new HashSet<>( + assetReportRefreshGetResponse.body().getReport().getItems() + ); + + assertEquals(originalItems.size(), refreshItems.size()); + + AssetReportUser originalUser = response.body().getReport().getUser(); + AssetReportUser refreshedUser = assetReportRefreshGetResponse + .body() + .getReport() + .getUser(); + + assertEquals( + originalUser.getClientUserId(), + refreshedUser.getClientUserId() + ); + assertEquals(originalUser.getEmail(), refreshedUser.getEmail()); + assertEquals(originalUser.getFirstName(), refreshedUser.getFirstName()); + assertEquals(originalUser.getMiddleName(), refreshedUser.getMiddleName()); + assertEquals(originalUser.getPhoneNumber(), refreshedUser.getPhoneNumber()); + assertEquals(originalUser.getSsn(), refreshedUser.getSsn()); + assertEquals("newLastName", refreshedUser.getLastName()); + } +} diff --git a/src/test/java/com/plaid/client/integration/AssetReportRemoveTest.java b/src/test/java/com/plaid/client/integration/AssetReportRemoveTest.java index 9b1cfdd5d4..b4454d75f7 100644 --- a/src/test/java/com/plaid/client/integration/AssetReportRemoveTest.java +++ b/src/test/java/com/plaid/client/integration/AssetReportRemoveTest.java @@ -1,23 +1,21 @@ package com.plaid.client.integration; -import com.plaid.client.PlaidClient; -import com.plaid.client.request.AssetReportRemoveRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.AssetReportCreateResponse; -import com.plaid.client.response.AssetReportRemoveResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.assertTrue; +import com.plaid.client.model.AssetReportCreateResponse; +import com.plaid.client.model.AssetReportRemoveRequest; +import com.plaid.client.model.AssetReportRemoveResponse; +import com.plaid.client.model.Products; import java.util.Arrays; import java.util.List; - -import static org.junit.Assert.assertTrue; +import org.junit.Test; +import retrofit2.Response; public class AssetReportRemoveTest extends AbstractItemIntegrationTest { @Override - protected List setupItemProducts() { - return Arrays.asList(Product.ASSETS); + protected List setupItemProducts() { + return Arrays.asList(Products.ASSETS); } @Override @@ -28,19 +26,24 @@ protected String setupItemInstitutionId() { @Test public void testAssetReportRemoveSuccess() throws Exception { // Create asset report to get an asset report token - PlaidClient client = client(); - List accessTokens = Arrays.asList(getItemCreateResponse().getAccessToken()); - Response createResponse = AssetReportCreateTest.createAssetReport(client, accessTokens); + List accessTokens = Arrays.asList( + getItemPublicTokenExchangeResponse().getAccessToken() + ); + Response createResponse = AssetReportCreateTest.createAssetReport( + client(), + accessTokens + ); String assetReportToken = createResponse.body().getAssetReportToken(); // Poll Plaid till report is ready - AssetReportGetTest.waitTillReady(client, assetReportToken); - - Response response = - client - .service() - .assetReportRemove(new AssetReportRemoveRequest(assetReportToken)) - .execute(); - assertTrue(response.body().isRemoved()); + AssetReportGetTest.waitTillReady(client(), assetReportToken); + AssetReportRemoveRequest assetReportRemoveRequest = new AssetReportRemoveRequest() + .assetReportToken(assetReportToken); + + Response response = client() + .assetReportRemove(assetReportRemoveRequest) + .execute(); + + assertTrue(response.body().getRemoved()); } } diff --git a/src/test/java/com/plaid/client/integration/AuthGetTest.java b/src/test/java/com/plaid/client/integration/AuthGetTest.java index 31b684fa07..8954c9e698 100644 --- a/src/test/java/com/plaid/client/integration/AuthGetTest.java +++ b/src/test/java/com/plaid/client/integration/AuthGetTest.java @@ -1,24 +1,33 @@ package com.plaid.client.integration; -import com.plaid.client.request.AccountsGetRequest; -import com.plaid.client.request.AuthGetRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.AccountsGetResponse; -import com.plaid.client.response.AuthGetResponse; -import com.plaid.client.response.ErrorResponse; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import com.plaid.client.model.AccountsGetRequest; +import com.plaid.client.model.AccountsGetResponse; +import com.plaid.client.model.AuthGetNumbers; +import com.plaid.client.model.AuthGetRequest; +import com.plaid.client.model.AuthGetRequestOptions; +import com.plaid.client.model.AuthGetResponse; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.NumbersACH; +import com.plaid.client.model.NumbersBACS; +import com.plaid.client.model.NumbersEFT; +import com.plaid.client.model.NumbersInternational; +import com.plaid.client.model.Products; import java.util.Collections; import java.util.List; import org.junit.Ignore; import org.junit.Test; import retrofit2.Response; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - public class AuthGetTest extends AbstractItemIntegrationTest { + @Override - protected List setupItemProducts() { - return Collections.singletonList(Product.AUTH); + protected List setupItemProducts() { + return Collections.singletonList(Products.AUTH); } @Override @@ -28,48 +37,72 @@ protected String setupItemInstitutionId() { @Test public void testAllAccountsSuccess() throws Exception { - Response response = - client().service() - .authGet(new AuthGetRequest(getItemCreateResponse().getAccessToken())) - .execute(); + AuthGetRequest authGetRequest = new AuthGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .authGet(authGetRequest) + .execute(); assertSuccessResponse(response); - assertEquals(4, response.body().getAccounts().size()); + assertTrue(response.body().getAccounts().size() > 1); assertNotNull(response.body().getItem()); - for (AuthGetResponse.NumberACH numberACH : response.body().getNumbers().getACH()) { + for (NumbersACH numberACH : response.body().getNumbers().getAch()) { assertNotNull(numberACH.getAccount()); assertNotNull(numberACH.getRouting()); assertNotNull(numberACH.getAccountId()); assertNotNull(numberACH.getWireRouting()); } - for (AuthGetResponse.NumberEFT numberEFT : response.body().getNumbers().getEFT()) { + // The sandbox data that is returned only has ACH numbers so this doesn't actually do anything + for (NumbersEFT numberEFT : response.body().getNumbers().getEft()) { assertNotNull(numberEFT.getAccount()); assertNotNull(numberEFT.getBranch()); assertNotNull(numberEFT.getInstitution()); assertNotNull(numberEFT.getAccountId()); } + + // The sandbox data that is returned only has ACH numbers so this doesn't actually do anything + for (NumbersInternational numberInternational : response + .body() + .getNumbers() + .getInternational()) { + assertNotNull(numberInternational.getIban()); + assertNotNull(numberInternational.getBic()); + assertNotNull(numberInternational.getAccountId()); + } + + // The sandbox data that is returned only has ACH numbers so this doesn't actually do anything + for (NumbersBACS numberBACS : response.body().getNumbers().getBacs()) { + assertNotNull(numberBACS.getAccountId()); + assertNotNull(numberBACS.getAccount()); + assertNotNull(numberBACS.getSortCode()); + } } @Test public void testSelectiveAccountSuccess() throws Exception { // first call to get an account ID - Response accountsGetResponse = client().service().accountsGet( - new AccountsGetRequest(getItemCreateResponse().getAccessToken())) - .execute(); + AccountsGetRequest accountsGetRequest = new AccountsGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response accountsGetResponse = client().accountsGet(accountsGetRequest).execute(); assertSuccessResponse(accountsGetResponse); String accountId = accountsGetResponse.body().getAccounts().get(1).getAccountId(); // call under test - Response response = - client().service() - .authGet(new AuthGetRequest(getItemCreateResponse().getAccessToken()) - .withAccountIds(Collections.singletonList(accountId))) - .execute(); + AuthGetRequest authGetRequest = new AuthGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + AuthGetRequestOptions authGetRequestOptions = new AuthGetRequestOptions() + .accountIds(Collections.singletonList(accountId)); + authGetRequest.options(authGetRequestOptions); + + Response response = client().authGet(authGetRequest).execute(); assertSuccessResponse(response); - List achList = response.body().getNumbers().getACH(); + List achList = response.body().getNumbers().getAch(); assertNotNull(achList); assertEquals(1, achList.size()); assertEquals(accountId, achList.get(0).getAccountId()); @@ -80,19 +113,35 @@ public void testSelectiveAccountSuccess() throws Exception { @Test public void testNoSuchTokenError() throws Exception { - Response response = - client().service().authGet(new AuthGetRequest("bad-access-token")).execute(); - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_ACCESS_TOKEN"); + AuthGetRequest authGetRequest = new AuthGetRequest() + .accessToken("bad-access-token"); + + Response response = client() + .authGet(authGetRequest) + .execute(); + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_ACCESS_TOKEN" + ); } @Test - @Ignore("triggers a sandbox 500 error at this time") public void testNoSuchAccountError() throws Exception { - Response response = - client().service() - .authGet(new AuthGetRequest(getItemCreateResponse().getAccessToken()) - .withAccountIds(Collections.singletonList("fake-not-real"))) - .execute(); - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_ACCOUNT_ID"); + AuthGetRequest authGetRequestErr = new AuthGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + AuthGetRequestOptions authGetRequestOptions = new AuthGetRequestOptions() + .accountIds(Collections.singletonList("fake-not-real")); + authGetRequestErr.options(authGetRequestOptions); + + Response authResponse = client() + .authGet(authGetRequestErr) + .execute(); + assertErrorResponse( + authResponse, + PlaidErrorType.INVALID_REQUEST, + "INVALID_FIELD" + ); } } diff --git a/src/test/java/com/plaid/client/integration/CategoriesGetTest.java b/src/test/java/com/plaid/client/integration/CategoriesGetTest.java index fc00ea7c15..05c766b6bb 100644 --- a/src/test/java/com/plaid/client/integration/CategoriesGetTest.java +++ b/src/test/java/com/plaid/client/integration/CategoriesGetTest.java @@ -1,26 +1,24 @@ package com.plaid.client.integration; -import com.plaid.client.request.CategoriesGetRequest; -import com.plaid.client.response.CategoriesGetResponse; +// Empty class for constructing request +import com.plaid.client.model.Category; +import com.plaid.client.model.CategoriesGetResponse; import org.junit.Test; import retrofit2.Response; - import java.util.Arrays; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; public class CategoriesGetTest extends AbstractIntegrationTest { + @Test public void testSuccess() throws Exception { - Response response = client().service().categoriesGet( - new CategoriesGetRequest() - ).execute(); - + Response response = client().categoriesGet(new Object()).execute(); assertSuccessResponse(response); assertFalse(response.body().getCategories().isEmpty()); - CategoriesGetResponse.Category category = response.body().getCategories().get(0); + Category category = response.body().getCategories().get(0); assertEquals("10000000", category.getCategoryId()); assertEquals("special", category.getGroup()); assertEquals(Arrays.asList("Bank Fees"), category.getHierarchy()); diff --git a/src/test/java/com/plaid/client/integration/CreditDetailsGetTest.java b/src/test/java/com/plaid/client/integration/CreditDetailsGetTest.java deleted file mode 100644 index 141b841a00..0000000000 --- a/src/test/java/com/plaid/client/integration/CreditDetailsGetTest.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.plaid.client.integration; - -import com.plaid.client.request.CreditDetailsGetRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.CreditDetailsGetResponse; -import com.plaid.client.response.ErrorResponse; -import org.junit.Test; -import retrofit2.Response; - -import java.util.Collections; -import java.util.List; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -public class CreditDetailsGetTest extends AbstractItemIntegrationTest { - @Override - protected List setupItemProducts() { - return Collections.singletonList(Product.CREDIT_DETAILS); - } - - @Override - protected String setupItemInstitutionId() { - return TARTAN_BANK_INSTITUTION_ID; - } - - @Test - public void testSuccess() throws Exception { - Response response = client() - .service() - .creditDetailsGet(new CreditDetailsGetRequest(getItemCreateResponse().getAccessToken())) - .execute(); - - assertSuccessResponse(response); - CreditDetailsGetResponse creditDetailsGetResponse = response.body(); - assertItemEquals(getItemCreateResponse().getItem(), creditDetailsGetResponse.getItem()); - assertEquals(1, creditDetailsGetResponse.getCreditDetails().size()); - CreditDetailsGetResponse.CreditDetail detail = creditDetailsGetResponse.getCreditDetails().get(0); - assertNotNull(detail.getAccountId()); - assertNotNull(detail.getLastPaymentAmount()); - assertNotNull(detail.getLastPaymentDate()); - assertNotNull(detail.getLastStatementBalance()); - assertNotNull(detail.getLastStatementDate()); - assertNotNull(detail.getMinimumPaymentAmount()); - assertNotNull(detail.getNextBillDueDate()); - assertNotNull(detail.getAprs()); - - assertAprNotNull(detail.getAprs().getBalanceTransfers()); - assertAprNotNull(detail.getAprs().getCashAdvances()); - assertAprNotNull(detail.getAprs().getPurchases()); - } - - @Test - public void testInvalidAccessKey() throws Exception { - Response response = client() - .service() - .creditDetailsGet(new CreditDetailsGetRequest("whatever")) - .execute(); - - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_ACCESS_TOKEN"); - } - - private static void assertAprNotNull(CreditDetailsGetResponse.Apr apr) { - assertNotNull(apr); - assertNotNull(apr.getApr()); - assertNotNull(apr.getBalanceSubjectToApr()); - assertNotNull(apr.getInterestChargeAmount()); - } -} diff --git a/src/test/java/com/plaid/client/integration/IdentityGetTest.java b/src/test/java/com/plaid/client/integration/IdentityGetTest.java index 16c8f6c453..675521716d 100644 --- a/src/test/java/com/plaid/client/integration/IdentityGetTest.java +++ b/src/test/java/com/plaid/client/integration/IdentityGetTest.java @@ -1,22 +1,28 @@ package com.plaid.client.integration; -import com.plaid.client.request.IdentityGetRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.IdentityGetResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import com.plaid.client.model.AccountIdentity; +import com.plaid.client.model.Address; +import com.plaid.client.model.Email; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.IdentityGetRequest; +import com.plaid.client.model.IdentityGetResponse; +import com.plaid.client.model.Owner; +import com.plaid.client.model.PhoneNumber; +import com.plaid.client.model.Products; import java.util.Arrays; import java.util.List; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; +import org.junit.Test; +import retrofit2.Response; public class IdentityGetTest extends AbstractItemIntegrationTest { + @Override - protected List setupItemProducts() { - return Arrays.asList(Product.IDENTITY); + protected List setupItemProducts() { + return Arrays.asList(Products.IDENTITY); } @Override @@ -26,49 +32,68 @@ protected String setupItemInstitutionId() { @Test public void testSuccess() throws Exception { - Response response = client().service().identityGet( - new IdentityGetRequest(getItemCreateResponse().getAccessToken()) - ).execute(); + IdentityGetRequest identityGetRequest = new IdentityGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .identityGet(identityGetRequest) + .execute(); assertSuccessResponse(response); assertFalse(response.body().getAccounts().isEmpty()); assertNotNull(response.body().getItem()); - IdentityGetResponse.Identity identity = response.body().getIdentity(); - assertNotNull(identity); - assertFalse(identity.getNames().isEmpty()); - assertFalse(identity.getEmails().isEmpty()); - assertFalse(identity.getAddresses().isEmpty()); + List accounts = response.body().getAccounts(); + assertNotNull(accounts); - for (IdentityGetResponse.Email email : identity.getEmails()) { - assertNotNull(email.getData()); - assertNotNull(email.getType()); - assertNotNull(email.isPrimary()); - } + for (AccountIdentity account : accounts) { + List owners = account.getOwners(); + assertFalse(owners.isEmpty()); + for (Owner owner : owners) { + assertNotNull(owner); + assertFalse(owner.getNames().isEmpty()); + assertFalse(owner.getEmails().isEmpty()); + assertFalse(owner.getAddresses().isEmpty()); + assertFalse(owner.getPhoneNumbers().isEmpty()); - for (IdentityGetResponse.Address address : identity.getAddresses()) { - assertFalse(address.getAccounts().isEmpty()); - assertNotNull(address.isPrimary()); - assertNotNull(address.getData()); - assertNotNull(address.getData().getStreet()); - assertNotNull(address.getData().getCity()); - assertNotNull(address.getData().getState()); - assertNotNull(address.getData().getZip()); - } + for (Email email : owner.getEmails()) { + assertNotNull(email.getData()); + assertNotNull(email.getType()); + assertNotNull(email.getPrimary()); + } + + for (Address address : owner.getAddresses()) { + assertNotNull(address.getPrimary()); + assertNotNull(address.getData()); + assertNotNull(address.getData().getStreet()); + assertNotNull(address.getData().getCity()); + assertNotNull(address.getData().getRegion()); + assertNotNull(address.getData().getPostalCode()); + // assertNotNull(address.getData().getCountry()); + } - for (IdentityGetResponse.PhoneNumber phoneNumber : identity.getPhoneNumbers()) { - assertNotNull(phoneNumber.getData()); - assertNotNull(phoneNumber.getType()); - assertNotNull(phoneNumber.isPrimary()); + for (PhoneNumber phoneNumber : owner.getPhoneNumbers()) { + assertNotNull(phoneNumber.getData()); + assertNotNull(phoneNumber.getType()); + assertNotNull(phoneNumber.getPrimary()); + } + } } } @Test public void testFailure() throws Exception { - Response response = client().service().identityGet( - new IdentityGetRequest("made-up-token") - ).execute(); + IdentityGetRequest identityGetRequest = new IdentityGetRequest() + .accessToken("made-up-token"); + + Response response = client() + .identityGet(identityGetRequest) + .execute(); - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_ACCESS_TOKEN"); + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_ACCESS_TOKEN" + ); } } diff --git a/src/test/java/com/plaid/client/integration/IdentityVerificationTest.java b/src/test/java/com/plaid/client/integration/IdentityVerificationTest.java new file mode 100644 index 0000000000..2d287ea91f --- /dev/null +++ b/src/test/java/com/plaid/client/integration/IdentityVerificationTest.java @@ -0,0 +1,149 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; + +import com.plaid.client.model.AccountIdentity; +import com.plaid.client.model.Address; +import com.plaid.client.model.Email; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.IdentityVerificationGetRequest; +import com.plaid.client.model.IdentityVerificationCreateRequest; +import com.plaid.client.model.IdentityVerificationGetResponse; +import com.plaid.client.model.IdentityVerificationCreateResponse; +import com.plaid.client.model.IdentityVerificationCreateRequestUser; +import com.plaid.client.model.IdentityVerificationRequestUser; +import com.plaid.client.model.IdentityVerificationRetryRequest; +import com.plaid.client.model.IdentityVerificationRetryResponse; +import com.plaid.client.model.IdentityVerificationListRequest; +import com.plaid.client.model.IdentityVerificationListResponse; +import com.plaid.client.model.IdentityVerification; +import com.plaid.client.model.Strategy; +import java.time.Instant; +import java.util.Arrays; +import java.util.List; +import org.junit.Ignore; +import org.junit.Test; +import retrofit2.Response; +import java.time.OffsetDateTime; + +public class IdentityVerificationTest extends AbstractIntegrationTest { + private static final String TEMPLATE_ID = "flwtmp_aWogUuKsL6NEHU"; + + @Ignore + @Test + public void testSuccess() throws Exception { + // customerReference is used to build `email` but the ISO8601 timestamp that is created from + // Instant.now() contains a ':' which is not allowed in email addresses so we remove it. + String customerReference = "idv-user-" + Instant.now().toString().replace(":", ""); + String email = customerReference + "@example.com"; + + // POST /identity_verification/create + IdentityVerificationCreateRequestUser user = new IdentityVerificationCreateRequestUser(); + user.setEmailAddress(email); + + IdentityVerificationCreateRequest identityVerificationCreateRequest = new IdentityVerificationCreateRequest(); + identityVerificationCreateRequest.setClientUserId(customerReference); + identityVerificationCreateRequest.setIsShareable(true); + identityVerificationCreateRequest.setTemplateId(TEMPLATE_ID); + identityVerificationCreateRequest.setGaveConsent(true); + identityVerificationCreateRequest.setClientId(customerReference); + identityVerificationCreateRequest.setUser(user); + + Response identityVerificationCreateResponse = client() + .identityVerificationCreate(identityVerificationCreateRequest) + .execute(); + assertSuccessResponse(identityVerificationCreateResponse); + + // TODO: this string replace can be removed once COG-3394 is addressed. + String clientId = identityVerificationCreateResponse.body().getId().replaceAll("flwses", "idv"); + + // POST /identity_verification/retry + IdentityVerificationRequestUser retryUser = new IdentityVerificationRequestUser(); + retryUser.setEmailAddress(email); + IdentityVerificationRetryRequest identityVerificationRetryRequest = new IdentityVerificationRetryRequest(); + identityVerificationRetryRequest.setTemplateId(TEMPLATE_ID); + identityVerificationRetryRequest.setClientUserId(customerReference); + identityVerificationRetryRequest.setStrategy(Strategy.RESET); + identityVerificationRetryRequest.setUser(retryUser); + + Response identityVerificationRetryResponse = client() + .identityVerificationRetry(identityVerificationRetryRequest) + .execute(); + assertSuccessResponse(identityVerificationRetryResponse); + + // TODO: this string replace can be removed once COG-3394 is addressed. + String previousAttemptId = + identityVerificationRetryResponse.body().getPreviousAttemptId().replaceAll("flwses", "idv"); + assertEquals(clientId, previousAttemptId); + + // POST /identity_verification/get + IdentityVerificationGetRequest identityVerificationGetRequest = new IdentityVerificationGetRequest(); + identityVerificationGetRequest.setIdentityVerificationId(clientId); + + Response identityVerificationGetResponse = client() + .identityVerificationGet(identityVerificationGetRequest) + .execute(); + + assertSuccessResponse(identityVerificationGetResponse); + assertEquals(customerReference, identityVerificationGetResponse.body().getClientUserId()); + + // POST /identity_verification/list + IdentityVerificationListRequest identityVerificationListRequest = new IdentityVerificationListRequest(); + identityVerificationListRequest.setTemplateId(TEMPLATE_ID); + identityVerificationListRequest.setClientUserId(customerReference); + + Response identityVerificationListResponse = client() + .identityVerificationList(identityVerificationListRequest) + .execute(); + assertSuccessResponse(identityVerificationListResponse); + assertEquals(2, identityVerificationListResponse.body().getIdentityVerifications().size()); + assertEquals(customerReference, identityVerificationListResponse.body().getIdentityVerifications().get(0).getClientUserId()); + } + + // This tests for a bug fixed in https://github.plaid.com/plaid/go/pull/52937 + @Test + public void testStructIssue() throws Exception { + // Instant.now() contains a ':' which is not allowed in email addresses so we remove it. + String customerReference = "idv-user-" + Instant.now().toString().replace(":", "");; + + // POST /identity_verification/create + IdentityVerificationCreateRequestUser user = new IdentityVerificationCreateRequestUser(); + user.setEmailAddress(customerReference + "2@example.com"); + + IdentityVerificationCreateRequest identityVerificationCreateRequest = new IdentityVerificationCreateRequest(); + identityVerificationCreateRequest.setClientUserId(customerReference); + identityVerificationCreateRequest.setIsShareable(true); + identityVerificationCreateRequest.setTemplateId(TEMPLATE_ID); + identityVerificationCreateRequest.setGaveConsent(true); + identityVerificationCreateRequest.setClientId(customerReference); + identityVerificationCreateRequest.setUser(user); + + Response identityVerificationCreateResponse = client() + .identityVerificationCreate(identityVerificationCreateRequest) + .execute(); + assertSuccessResponse(identityVerificationCreateResponse); + + // TODO: this string replace can be removed once COG-3394 is addressed. + String clientId = identityVerificationCreateResponse.body().getId().replaceAll("flwses", "idv"); + + IdentityVerificationGetRequest identityVerificationGetRequest; + for (int i = 0; i < 20; i++) { + identityVerificationGetRequest = new IdentityVerificationGetRequest(); + identityVerificationGetRequest.setIdentityVerificationId(clientId); + + Response identityVerificationGetResponse = client() + .identityVerificationGet(identityVerificationGetRequest) + .execute(); + assertSuccessResponse(identityVerificationGetResponse); + } + + identityVerificationGetRequest = new IdentityVerificationGetRequest(); + Response identityVerificationGetResponse = client() + .identityVerificationGet(identityVerificationGetRequest) + .execute(); + assertErrorResponse(identityVerificationGetResponse, PlaidErrorType.INVALID_REQUEST, "INVALID_FIELD"); + } +} diff --git a/src/test/java/com/plaid/client/integration/IncomeGetTest.java b/src/test/java/com/plaid/client/integration/IncomeGetTest.java deleted file mode 100644 index 9493e5a7cc..0000000000 --- a/src/test/java/com/plaid/client/integration/IncomeGetTest.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.plaid.client.integration; - -import com.plaid.client.request.IncomeGetRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.IncomeGetResponse; -import org.junit.Test; -import retrofit2.Response; - -import java.util.Arrays; -import java.util.List; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; - -public class IncomeGetTest extends AbstractItemIntegrationTest { - @Override - protected List setupItemProducts() { - return Arrays.asList(Product.INCOME); - } - - @Override - protected String setupItemInstitutionId() { - return TARTAN_BANK_INSTITUTION_ID; - } - - @Test - public void testFailure() throws Exception { - - Response response = client().service().incomeGet( - new IncomeGetRequest(getItemCreateResponse().getAccessToken()) - ).execute(); - - assertErrorResponse(response, ErrorResponse.ErrorType.ITEM_ERROR, "PRODUCT_NOT_READY"); - } -} diff --git a/src/test/java/com/plaid/client/integration/IncomeVerificationPaystubsGetTest.java b/src/test/java/com/plaid/client/integration/IncomeVerificationPaystubsGetTest.java new file mode 100644 index 0000000000..e35965c6bf --- /dev/null +++ b/src/test/java/com/plaid/client/integration/IncomeVerificationPaystubsGetTest.java @@ -0,0 +1,60 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.*; + +import com.plaid.client.integration.AbstractIntegrationTest; +import com.plaid.client.model.*; + +import java.time.LocalDate; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import retrofit2.Response; + +public class IncomeVerificationPaystubsGetTest extends AbstractIntegrationTest { + + private String accessToken; + + @Before + public void setUp() throws Exception { + SandboxPublicTokenCreateRequest request = new SandboxPublicTokenCreateRequest() + .institutionId(INCOME_INSTITUTION_ID) + .initialProducts(Arrays.asList(Products.INCOME_VERIFICATION)); + + Response createResponse = client() + .sandboxPublicTokenCreate(request) + .execute(); + + assertSuccessResponse(createResponse); + + ItemPublicTokenExchangeRequest exchangeRequest = new ItemPublicTokenExchangeRequest() + .publicToken(createResponse.body().getPublicToken()); + + Response response = client() + .itemPublicTokenExchange(exchangeRequest) + .execute(); + + assertSuccessResponse(response); + + this.accessToken = response.body().getAccessToken(); + } + + @Test +// @Ignore + public void testIncomeVerificationPaystubsGet() throws Exception { + IncomeVerificationPaystubsGetRequest request = new IncomeVerificationPaystubsGetRequest() + .accessToken(this.accessToken); + + Response apiResponse = client().incomeVerificationPaystubsGet(request).execute(); + + IncomeVerificationPaystubsGetResponse paystubsResponse = apiResponse.body(); + assertNotNull(paystubsResponse); + assertNull(paystubsResponse.getError()); + assertTrue(paystubsResponse.getPaystubs().size() > 0); + assertTrue(paystubsResponse.getDocumentMetadata().size() > 0); + } +} diff --git a/src/test/java/com/plaid/client/integration/IncomeVerificationSummaryGetTest.java b/src/test/java/com/plaid/client/integration/IncomeVerificationSummaryGetTest.java new file mode 100644 index 0000000000..caa7de1a6f --- /dev/null +++ b/src/test/java/com/plaid/client/integration/IncomeVerificationSummaryGetTest.java @@ -0,0 +1,45 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.*; + +import com.plaid.client.integration.AbstractIntegrationTest; +import com.plaid.client.model.*; + +import java.time.LocalDate; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +import org.junit.Before; +import org.junit.Test; +import retrofit2.Response; + +public class IncomeVerificationSummaryGetTest extends AbstractIntegrationTest { + + private String accessToken; + + @Before + public void setUp() throws Exception { + SandboxPublicTokenCreateRequest request = new SandboxPublicTokenCreateRequest() + .institutionId(INCOME_INSTITUTION_ID) + .initialProducts(Arrays.asList(Products.INCOME_VERIFICATION)); + + Response createResponse = client() + .sandboxPublicTokenCreate(request) + .execute(); + + assertSuccessResponse(createResponse); + + ItemPublicTokenExchangeRequest exchangeRequest = new ItemPublicTokenExchangeRequest() + .publicToken(createResponse.body().getPublicToken()); + + Response response = client() + .itemPublicTokenExchange(exchangeRequest) + .execute(); + + assertSuccessResponse(response); + + this.accessToken = response.body().getAccessToken(); + } + +} diff --git a/src/test/java/com/plaid/client/integration/IncomeVerificationTaxformsGetTest.java b/src/test/java/com/plaid/client/integration/IncomeVerificationTaxformsGetTest.java new file mode 100644 index 0000000000..7734558f93 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/IncomeVerificationTaxformsGetTest.java @@ -0,0 +1,58 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.*; + +import com.plaid.client.integration.AbstractIntegrationTest; +import com.plaid.client.model.*; + +import java.time.LocalDate; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +import org.junit.Before; +import org.junit.Test; +import retrofit2.Response; + +public class IncomeVerificationTaxformsGetTest extends AbstractIntegrationTest { + + private String accessToken; + + @Before + public void setUp() throws Exception { + SandboxPublicTokenCreateRequest request = new SandboxPublicTokenCreateRequest() + .institutionId(INCOME_INSTITUTION_ID) + .initialProducts(Arrays.asList(Products.INCOME_VERIFICATION)); + + Response createResponse = client() + .sandboxPublicTokenCreate(request) + .execute(); + + assertSuccessResponse(createResponse); + + ItemPublicTokenExchangeRequest exchangeRequest = new ItemPublicTokenExchangeRequest() + .publicToken(createResponse.body().getPublicToken()); + + Response response = client() + .itemPublicTokenExchange(exchangeRequest) + .execute(); + + assertSuccessResponse(response); + + this.accessToken = response.body().getAccessToken(); + } + + @Test + public void testIncomeVerificationTaxformsGet() throws Exception { + IncomeVerificationTaxformsGetRequest request = new IncomeVerificationTaxformsGetRequest() + .accessToken(this.accessToken); + + Response apiResponse = client().incomeVerificationTaxformsGet(request).execute(); + + IncomeVerificationTaxformsGetResponse taxformsResponse = apiResponse.body(); + assertNotNull(taxformsResponse); + assertNull(taxformsResponse.getError()); + assertTrue(taxformsResponse.getTaxforms().size() > 0); + assertTrue(taxformsResponse.getDocumentMetadata().size() > 0); + } +} diff --git a/src/test/java/com/plaid/client/integration/InstitutionsGetByIdTest.java b/src/test/java/com/plaid/client/integration/InstitutionsGetByIdTest.java index 2a4d5032fc..db1b510051 100644 --- a/src/test/java/com/plaid/client/integration/InstitutionsGetByIdTest.java +++ b/src/test/java/com/plaid/client/integration/InstitutionsGetByIdTest.java @@ -1,46 +1,164 @@ package com.plaid.client.integration; -import com.plaid.client.request.InstitutionsGetByIdRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.Institution; -import com.plaid.client.response.InstitutionsGetByIdResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.*; +import com.plaid.client.model.CountryCode; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.Institution; +import com.plaid.client.model.InstitutionsGetByIdRequest; +import com.plaid.client.model.InstitutionsGetByIdRequestOptions; +import com.plaid.client.model.InstitutionsGetByIdResponse; +import com.plaid.client.model.Products; import java.util.Arrays; - -import static org.junit.Assert.*; +import java.util.HashSet; +import org.junit.Test; +import retrofit2.Response; public class InstitutionsGetByIdTest extends AbstractIntegrationTest { + @Test public void testSuccess() throws Exception { - Response response = client().service().institutionsGetById(new InstitutionsGetByIdRequest(TARTAN_BANK_INSTITUTION_ID)) + InstitutionsGetByIdRequest request = new InstitutionsGetByIdRequest() + .institutionId(TARTAN_BANK_INSTITUTION_ID) + .addCountryCodesItem(CountryCode.US); + + Response response = client() + .institutionsGetById(request) + .execute(); + assertSuccessResponse(response); + + Institution institution = response.body().getInstitution(); + assertIsTartanBank(institution); + } + + @Test + public void testSuccessWithIncludeOptionalMetadataTrue() throws Exception { + InstitutionsGetByIdRequestOptions options = new InstitutionsGetByIdRequestOptions(); + options.includeOptionalMetadata(true); + + InstitutionsGetByIdRequest request = new InstitutionsGetByIdRequest() + .institutionId(TARTAN_BANK_INSTITUTION_ID) + .addCountryCodesItem(CountryCode.US) + .options(options); + + Response response = client() + .institutionsGetById(request) + .execute(); + + assertSuccessResponse(response); + + Institution institution = response.body().getInstitution(); + assertIsTartanBank(institution); + + assertEquals("https://www.plaid.com/", institution.getUrl()); + assertNotNull(institution.getLogo()); + assertEquals("#174e7c", institution.getPrimaryColor()); + } + + @Test + public void testSuccessWithIncludeOptionalMetadataFalse() throws Exception { + InstitutionsGetByIdRequestOptions options = new InstitutionsGetByIdRequestOptions(); + options.includeOptionalMetadata(false); + + InstitutionsGetByIdRequest request = new InstitutionsGetByIdRequest() + .institutionId(TARTAN_BANK_INSTITUTION_ID) + .addCountryCodesItem(CountryCode.US) + .options(options); + + Response response = client() + .institutionsGetById(request) + .execute(); + + assertSuccessResponse(response); + + Institution institution = response.body().getInstitution(); + assertIsTartanBank(institution); + + assertEquals(null, institution.getUrl()); + assertEquals(null, institution.getLogo()); + assertEquals(null, institution.getPrimaryColor()); + } + + @Test + public void testSuccessWithIncludeStatusTrue() throws Exception { + InstitutionsGetByIdRequestOptions options = new InstitutionsGetByIdRequestOptions(); + options.includeStatus(true); + + InstitutionsGetByIdRequest request = new InstitutionsGetByIdRequest() + .institutionId(FIRST_PLATYPUS_BANK_INSTITUTION_ID) + .addCountryCodesItem(CountryCode.US) + .options(options); + + Response response = client() + .institutionsGetById(request) + .execute(); + + assertSuccessResponse(response); + + Institution institution = response.body().getInstitution(); + assertNotNull(institution.getStatus()); + assertNotNull(institution.getStatus().getTransactionsUpdates()); + assertNotNull(institution.getStatus().getAuth()); + assertNotNull(institution.getStatus().getIdentity()); + assertIsFirstPlatypusBank(institution); + } + + @Test + public void testSuccessWithIncludeStatusFalse() throws Exception { + InstitutionsGetByIdRequestOptions options = new InstitutionsGetByIdRequestOptions(); + options.includeStatus(false); + + InstitutionsGetByIdRequest request = new InstitutionsGetByIdRequest() + .institutionId(TARTAN_BANK_INSTITUTION_ID) + .addCountryCodesItem(CountryCode.US) + .options(options); + + Response response = client() + .institutionsGetById(request) .execute(); assertSuccessResponse(response); Institution institution = response.body().getInstitution(); - assertFalse(institution.getCredentials().isEmpty()); - for (Institution.Credential c : institution.getCredentials()) { - assertNotNull(c.getLabel()); - assertNotNull(c.getType()); - assertNotNull(c.getName()); - } - assertTrue(institution.hasMfa()); + assertNull(institution.getStatus()); + assertIsTartanBank(institution); + } + + private void assertIsTartanBank(Institution institution) { assertEquals(TARTAN_BANK_INSTITUTION_ID, institution.getInstitutionId()); - assertEquals(Arrays.asList("code", "list", "questions", "selections"), institution.getMfa()); assertEquals("Tartan Bank", institution.getName()); - assertEquals(Arrays.asList(Product.ASSETS, Product.AUTH, Product.BALANCE, Product.TRANSACTIONS, Product.CREDIT_DETAILS, Product.INCOME, Product.IDENTITY), - institution.getProducts()); + assertFalse( + institution.getProducts().contains(Products.ENUM_UNKNOWN) + ); + assertTrue(institution.getCountryCodes().contains(CountryCode.US)); + } + + private void assertIsFirstPlatypusBank(Institution institution) { + assertEquals( + FIRST_PLATYPUS_BANK_INSTITUTION_ID, + institution.getInstitutionId() + ); + assertTrue(institution.getName().contains("First Platypus Bank")); + assertFalse( + institution.getProducts().contains(Products.ENUM_UNKNOWN) + ); + assertTrue(institution.getCountryCodes().contains(CountryCode.US)); } @Test public void testInvalidInstitution() throws Exception { - Response response = client().service().institutionsGetById( - new InstitutionsGetByIdRequest("notreal")) - .execute(); + InstitutionsGetByIdRequest request = new InstitutionsGetByIdRequest() + .institutionId("notreal") + .addCountryCodesItem(CountryCode.US); - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_INSTITUTION"); + Response response = client() + .institutionsGetById(request) + .execute(); + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_INSTITUTION" + ); } } diff --git a/src/test/java/com/plaid/client/integration/InstitutionsGetTest.java b/src/test/java/com/plaid/client/integration/InstitutionsGetTest.java index 2b1b7a9226..3360d8b8c1 100644 --- a/src/test/java/com/plaid/client/integration/InstitutionsGetTest.java +++ b/src/test/java/com/plaid/client/integration/InstitutionsGetTest.java @@ -1,22 +1,94 @@ package com.plaid.client.integration; -import com.plaid.client.request.InstitutionsGetRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.Institution; -import com.plaid.client.response.InstitutionsGetResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import net.jcip.annotations.NotThreadSafe; +import com.plaid.client.model.CountryCode; +import com.plaid.client.model.Institution; +import com.plaid.client.model.InstitutionsGetRequest; +import com.plaid.client.model.InstitutionsGetRequestOptions; +import com.plaid.client.model.InstitutionsGetResponse; +import com.plaid.client.model.Products; import java.util.Arrays; +import java.util.List; +import org.junit.Test; +import retrofit2.Response; -import static org.junit.Assert.*; - +// disables test parallelism to mitigate rate limit errors +@NotThreadSafe public class InstitutionsGetTest extends AbstractIntegrationTest { + @Test public void testSuccess() throws Exception { - Response response = - client().service().institutionsGet(new InstitutionsGetRequest(3, 0)).execute(); + InstitutionsGetRequest request = new InstitutionsGetRequest() + .count(3) + .offset(4) + .countryCodes(Arrays.asList(CountryCode.US)); + Response response = retryRateLimitErrors(client() + .institutionsGet(request)); + + assertSuccessResponse(response); + + // check number returned + assertEquals(3, response.body().getInstitutions().size()); + } + + @Test + public void testSuccessWithProducts() throws Exception { + InstitutionsGetRequestOptions options = new InstitutionsGetRequestOptions(); + options.products(Arrays.asList(Products.IDENTITY)); + + InstitutionsGetRequest request = new InstitutionsGetRequest() + .count(3) + .offset(4) + .countryCodes(Arrays.asList(CountryCode.US)) + .options(options); + + Response response = retryRateLimitErrors(client() + .institutionsGet(request)); + + assertSuccessResponse(response); + + // check number returned + assertEquals(3, response.body().getInstitutions().size()); + } + + @Test + public void testSuccessWithIncludeOptionalMetadataTrue() throws Exception { + InstitutionsGetRequestOptions options = new InstitutionsGetRequestOptions(); + options.includeOptionalMetadata(true); + + InstitutionsGetRequest request = new InstitutionsGetRequest() + .count(3) + .offset(4) + .countryCodes(Arrays.asList(CountryCode.US)) + .options(options); + + Response response = retryRateLimitErrors(client() + .institutionsGet(request)); + + assertSuccessResponse(response); + + // check number returned + assertEquals(3, response.body().getInstitutions().size()); + } + + @Test + public void testSuccessWithIncludeOptionalMetadataFalse() throws Exception { + InstitutionsGetRequestOptions options = new InstitutionsGetRequestOptions(); + options.includeOptionalMetadata(false); + InstitutionsGetRequest request = new InstitutionsGetRequest() + .count(3) + .offset(4) + .countryCodes(Arrays.asList(CountryCode.US)) + .options(options); + + Response response = retryRateLimitErrors(client() + .institutionsGet(request)); assertSuccessResponse(response); // check number returned @@ -24,21 +96,62 @@ public void testSuccess() throws Exception { } @Test - public void testRequestValidation() throws Exception { - try { - new InstitutionsGetRequest(0, 0); - fail("should have thrown exception"); - } catch (IllegalArgumentException e) { - } - try { - new InstitutionsGetRequest(501, 0); - fail("should have thrown exception"); - } catch (IllegalArgumentException e) { - } - try { - new InstitutionsGetRequest(1, -1); - fail("should have thrown exception"); - } catch (IllegalArgumentException e) { - } + public void testSuccessWithCountryCodes() throws Exception { + InstitutionsGetRequest request = new InstitutionsGetRequest() + .count(3) + .offset(4) + .countryCodes(Arrays.asList(CountryCode.US)); + + Response response = retryRateLimitErrors(client() + .institutionsGet(request)); + assertSuccessResponse(response); + + // check number returned + assertEquals(3, response.body().getInstitutions().size()); + } + + @Test + public void testSuccessWithOAuth() throws Exception { + InstitutionsGetRequestOptions options = new InstitutionsGetRequestOptions(); + options.oauth(true); + + InstitutionsGetRequest request = new InstitutionsGetRequest() + .count(3) + .offset(1) + .countryCodes(Arrays.asList(CountryCode.GB)) + .options(options); + + Response response = retryRateLimitErrors(client() + .institutionsGet(request)); + + assertSuccessResponse(response); + List institutions = response.body().getInstitutions(); + assertEquals(3, institutions.size()); + // TODO: reenable this after institution fix for oauth filtering + // for (int i = 0; i < institutions.size(); i++) { + // assertTrue(institutions.get(i).getOauth()); + // } + } + + @Test + public void testSuccessWithoutOAuth() throws Exception { + InstitutionsGetRequestOptions options = new InstitutionsGetRequestOptions(); + options.oauth(false); + + InstitutionsGetRequest request = new InstitutionsGetRequest() + .count(3) + .offset(1) + .countryCodes(Arrays.asList(CountryCode.GB)) + .options(options); + + Response response = retryRateLimitErrors(client() + .institutionsGet(request)); + + assertSuccessResponse(response); + // TODO: reenable this after institution fix for oauth filtering + List institutions = response.body().getInstitutions(); + // for (int i = 0; i < institutions.size(); i++) { + // assertFalse(institutions.get(i).getOauth()); + // } } } diff --git a/src/test/java/com/plaid/client/integration/InstitutionsSearchTest.java b/src/test/java/com/plaid/client/integration/InstitutionsSearchTest.java index 12e0a3e7da..9c36a7133e 100644 --- a/src/test/java/com/plaid/client/integration/InstitutionsSearchTest.java +++ b/src/test/java/com/plaid/client/integration/InstitutionsSearchTest.java @@ -1,26 +1,137 @@ package com.plaid.client.integration; -import com.plaid.client.request.InstitutionsSearchRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.InstitutionsSearchResponse; +import static junit.framework.TestCase.assertNull; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.CountryCode; +import com.plaid.client.model.InstitutionsSearchAccountFilter; +import com.plaid.client.model.InstitutionsSearchRequest; +import com.plaid.client.model.InstitutionsSearchRequestOptions; +import com.plaid.client.model.InstitutionsSearchResponse; +import com.plaid.client.model.Products; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import org.junit.Test; import retrofit2.Response; -import static org.junit.Assert.assertEquals; - public class InstitutionsSearchTest extends AbstractIntegrationTest { + @Test public void testSuccess() throws Exception { - Response response = - client().service().institutionsSearch(new InstitutionsSearchRequest("t").withProducts(Product.IDENTITY)).execute(); + InstitutionsSearchRequest request = new InstitutionsSearchRequest() + .countryCodes(Arrays.asList(CountryCode.US)) + .products(Arrays.asList(Products.IDENTITY)) + .query("t"); + + Response response = client() + .institutionsSearch(request) + .execute(); + assertSuccessResponse(response); + } + + @Test + public void testSuccessWithIncludeOptionalMetadataTrue() throws Exception { + InstitutionsSearchRequestOptions options = new InstitutionsSearchRequestOptions() + .includeOptionalMetadata(true); + + InstitutionsSearchRequest request = new InstitutionsSearchRequest() + .countryCodes(Arrays.asList(CountryCode.US)) + .products(Arrays.asList(Products.IDENTITY)) + .query("t") + .options(options); + + Response response = client() + .institutionsSearch(request) + .execute(); + assertSuccessResponse(response); + + InstitutionsSearchResponse institutionsSearchResponse = response.body(); + assertNotNull(institutionsSearchResponse.getInstitutions().get(0).getUrl()); + assertNotNull( + institutionsSearchResponse.getInstitutions().get(0).getPrimaryColor() + ); + } + + @Test + public void testSuccessWithIncludeOptionalMetadataFalse() throws Exception { + InstitutionsSearchRequestOptions options = new InstitutionsSearchRequestOptions() + .includeOptionalMetadata(false); + InstitutionsSearchRequest request = new InstitutionsSearchRequest() + .countryCodes(Arrays.asList(CountryCode.US)) + .products(Arrays.asList(Products.IDENTITY)) + .query("t") + .options(options); + + Response response = client() + .institutionsSearch(request) + .execute(); assertSuccessResponse(response); + + InstitutionsSearchResponse institutionsSearchResponse = response.body(); + assertNull(institutionsSearchResponse.getInstitutions().get(0).getUrl()); + assertNull( + institutionsSearchResponse.getInstitutions().get(0).getPrimaryColor() + ); + } + + @Test + public void testSuccessWithOAuth() throws Exception { + InstitutionsSearchRequestOptions options = new InstitutionsSearchRequestOptions() + .oauth(true); + + InstitutionsSearchRequest request = new InstitutionsSearchRequest() + .countryCodes(Arrays.asList(CountryCode.GB)) + .products(Arrays.asList(Products.AUTH)) + .query("Pl") + .options(options); + + Response response = client() + .institutionsSearch(request) + .execute(); + assertSuccessResponse(response); + + InstitutionsSearchResponse institutionsSearchResponse = response.body(); + assertTrue(institutionsSearchResponse.getInstitutions().get(0).getOauth()); + } + + @Test + public void testSuccessWithoutOAuth() throws Exception { + InstitutionsSearchRequestOptions options = new InstitutionsSearchRequestOptions() + .oauth(false); + + InstitutionsSearchRequest request = new InstitutionsSearchRequest() + .countryCodes(Arrays.asList(CountryCode.GB)) + .products(Arrays.asList(Products.AUTH)) + .query("Bank") + .options(options); + + Response response = client() + .institutionsSearch(request) + .execute(); + + assertSuccessResponse(response); + InstitutionsSearchResponse institutionsSearchResponse = response.body(); + // TODO: reenable once oauth filtering is fixed + // assertFalse(institutionsSearchResponse.getInstitutions().get(0).getOauth()); } @Test public void testNoResults() throws Exception { - Response response = - client().service().institutionsSearch(new InstitutionsSearchRequest("zebra")).execute(); + InstitutionsSearchRequest request = new InstitutionsSearchRequest() + .countryCodes(Arrays.asList(CountryCode.US)) + .products(Arrays.asList(Products.AUTH)) + .query("zebra"); + + Response response = client() + .institutionsSearch(request) + .execute(); assertSuccessResponse(response); assertEquals(0, response.body().getInstitutions().size()); diff --git a/src/test/java/com/plaid/client/integration/InvestmentsHoldingsGetTest.java b/src/test/java/com/plaid/client/integration/InvestmentsHoldingsGetTest.java new file mode 100644 index 0000000000..398f3902c5 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/InvestmentsHoldingsGetTest.java @@ -0,0 +1,126 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.*; + +import com.plaid.client.model.InvestmentAccount; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.Holding; +import com.plaid.client.model.InvestmentHoldingsGetRequestOptions; +import com.plaid.client.model.InvestmentsHoldingsGetRequest; +import com.plaid.client.model.InvestmentsHoldingsGetResponse; +import com.plaid.client.model.Products; +import com.plaid.client.model.Security; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.junit.Ignore; +import org.junit.Test; +import retrofit2.Response; + +public class InvestmentsHoldingsGetTest extends AbstractItemIntegrationTest { + + @Override + protected List setupItemProducts() { + return Collections.singletonList(Products.INVESTMENTS); + } + + @Override + protected String setupItemInstitutionId() { + return TARTAN_BANK_INSTITUTION_ID; + } + + @Ignore + @Test + public void testInvestmentsHoldingsGetSuccess() throws Exception { + InvestmentsHoldingsGetRequest request = new InvestmentsHoldingsGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .investmentsHoldingsGet(request) + .execute(); + assertSuccessResponse(response); + + // item should be the same one we created + assertItemEquals(getItem(), response.body().getItem()); + + // sandbox should return expected holdings + List holdings = response.body().getHoldings(); + assertTrue(holdings.size() > 0); + for (Holding holding : holdings) { + assertNotNull(holding.getAccountId()); + assertNotNull(holding.getSecurityId()); + assertNotNull(holding.getQuantity()); + assertNotNull(holding.getIsoCurrencyCode()); + } + + List securities = response.body().getSecurities(); + assertTrue(securities.size() > 0); + for (Security security : securities) { + assertNotNull(security.getSecurityId()); + assertNotNull(security.getName()); + assertNotNull(security.getType()); + assertNotNull(security.getIsoCurrencyCode()); + } + } + + @Test + public void testInvestmentsHoldingGetWithAccountIds() throws Exception { + // first call to get an account ID + InvestmentsHoldingsGetRequest request = new InvestmentsHoldingsGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .investmentsHoldingsGet(request) + .execute(); + assertSuccessResponse(response); + + String accountId = null; + for (InvestmentAccount account : response.body().getAccounts()) { + if (AccountType.INVESTMENT.equals(account.getType())) { + accountId = account.getAccountId(); + break; + } + } + + InvestmentHoldingsGetRequestOptions options = new InvestmentHoldingsGetRequestOptions() + .accountIds(Arrays.asList(accountId)); + + InvestmentsHoldingsGetRequest investmentsHoldingsGetRequest = new InvestmentsHoldingsGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()) + .options(options); + + Response investmentsHoldingsGetResponse = client() + .investmentsHoldingsGet(investmentsHoldingsGetRequest) + .execute(); + assertSuccessResponse(investmentsHoldingsGetResponse); + + // item should be the same one we created + assertItemEquals( + getItem(), + investmentsHoldingsGetResponse.body().getItem() + ); + + // sandbox should return expected accounts + List accounts = investmentsHoldingsGetResponse + .body() + .getAccounts(); + assertEquals(1, accounts.size()); + } + + @Test + public void testInvestmentsHoldingGetInvalidAccessToken() throws Exception { + InvestmentsHoldingsGetRequest investmentsHoldingsGetRequest = new InvestmentsHoldingsGetRequest() + .accessToken("notreal"); + + Response response = client() + .investmentsHoldingsGet(investmentsHoldingsGetRequest) + .execute(); + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_ACCESS_TOKEN" + ); + } +} diff --git a/src/test/java/com/plaid/client/integration/InvestmentsTransactionsGetTest.java b/src/test/java/com/plaid/client/integration/InvestmentsTransactionsGetTest.java new file mode 100644 index 0000000000..30b89c4213 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/InvestmentsTransactionsGetTest.java @@ -0,0 +1,172 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import com.google.gson.Gson; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.AccountType; +import com.plaid.client.model.AccountsGetRequest; +import com.plaid.client.model.AccountsGetResponse; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.InvestmentTransaction; +import com.plaid.client.model.InvestmentsTransactionsGetRequest; +import com.plaid.client.model.InvestmentsTransactionsGetRequestOptions; +import com.plaid.client.model.InvestmentsTransactionsGetResponse; +import com.plaid.client.model.ItemPublicTokenExchangeRequest; +import com.plaid.client.model.ItemPublicTokenExchangeResponse; +import com.plaid.client.model.Products; +import com.plaid.client.model.SandboxPublicTokenCreateRequest; +import com.plaid.client.model.SandboxPublicTokenCreateResponse; +import com.plaid.client.model.Security; +import java.text.SimpleDateFormat; +import java.time.Instant; +import java.time.LocalDate; +import java.time.ZoneId; +import java.util.Arrays; +import java.util.List; +import org.ietf.jgss.GSSContext; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import retrofit2.Response; + +public class InvestmentsTransactionsGetTest + extends AbstractItemIntegrationTest { + + private LocalDate startDate; + private LocalDate endDate; + + @Override + protected List setupItemProducts() { + return Arrays.asList(Products.INVESTMENTS); + } + + @Override + protected String setupItemInstitutionId() { + return TARTAN_BANK_INSTITUTION_ID; + } + + @Before + public void setUp() throws Exception { + startDate = LocalDate.now().minusDays(365 * 2); + endDate = LocalDate.now(); + } + + @Ignore + @Test + public void testSuccess() throws Exception { + InvestmentsTransactionsGetRequestOptions options = new InvestmentsTransactionsGetRequestOptions() + .count(100); + + InvestmentsTransactionsGetRequest request = new InvestmentsTransactionsGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()) + .startDate(startDate) + .endDate(endDate) + .options(options); + + Response response = null; + for (int i = 0; i < 5; i++) { + response = client().investmentsTransactionsGet(request).execute(); + if (response.isSuccessful()) { + break; + } else { + Gson gson = new Gson(); + PlaidError error = gson.fromJson(response.errorBody().string(), PlaidError.class); + assertEquals(error.getErrorCode(), "PRODUCT_NOT_READY"); + Thread.sleep(3000); + } + } + assertSuccessResponse(response); + assertNotNull(response.body().getTotalInvestmentTransactions()); + assertNotNull(response.body().getItem()); + assertNotNull(response.body().getAccounts()); + assertFalse(response.body().getAccounts().isEmpty()); + assertTrue(response.body().getInvestmentTransactions().size() > 0); + + List investmentTransactions = response + .body() + .getInvestmentTransactions(); + assertTrue(investmentTransactions.size() > 0); + for (InvestmentTransaction txn : investmentTransactions) { + assertNotNull(txn.getInvestmentTransactionId()); + assertNotNull(txn.getAccountId()); + assertNotNull(txn.getDate()); + assertNotNull(txn.getName()); + assertNotNull(txn.getAmount()); + assertNotNull(txn.getType()); + assertNotNull(txn.getIsoCurrencyCode()); + assertNotNull(txn.getSubtype()); + } + + List securities = response.body().getSecurities(); + assertTrue(securities.size() > 0); + for (Security security : securities) { + assertNotNull(security.getSecurityId()); + assertNotNull(security.getName()); + assertNotNull(security.getType()); + assertNotNull(security.getIsoCurrencyCode()); + } + } + + @Ignore + @Test + public void testFullyLoadedRequest() throws Exception { + // get some account info + AccountsGetRequest request = new AccountsGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response accountsGetResponse = client() + .accountsGet(request) + .execute(); + assertSuccessResponse(accountsGetResponse); + + String accountId = null; + for (AccountBase account : accountsGetResponse.body().getAccounts()) { + if (AccountType.INVESTMENT.equals(account.getType())) { + accountId = account.getAccountId(); + break; + } + } + + // actual test + InvestmentsTransactionsGetRequestOptions options = new InvestmentsTransactionsGetRequestOptions() + .accountIds(Arrays.asList(accountId)) + .count(2) + .offset(1); + + InvestmentsTransactionsGetRequest investmentGetRequest = new InvestmentsTransactionsGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()) + .startDate(startDate) + .endDate(endDate) + .options(options); + + Response response = client() + .investmentsTransactionsGet(investmentGetRequest) + .execute(); + assertSuccessResponse(response); + assertTrue(response.body().getTotalInvestmentTransactions() > 2); + assertEquals(2, response.body().getInvestmentTransactions().size()); + } + + @Test + public void testBadAccessToken() throws Exception { + InvestmentsTransactionsGetRequest request = new InvestmentsTransactionsGetRequest() + .accessToken("totally-invalid-stuff") + .startDate(startDate) + .endDate(endDate); + + Response response = client() + .investmentsTransactionsGet(request) + .execute(); + + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_ACCESS_TOKEN" + ); + } +} diff --git a/src/test/java/com/plaid/client/integration/ItemAccessTokenInvalidateTest.java b/src/test/java/com/plaid/client/integration/ItemAccessTokenInvalidateTest.java index e70a7d3c64..dbbae7eb47 100644 --- a/src/test/java/com/plaid/client/integration/ItemAccessTokenInvalidateTest.java +++ b/src/test/java/com/plaid/client/integration/ItemAccessTokenInvalidateTest.java @@ -1,22 +1,23 @@ package com.plaid.client.integration; -import com.plaid.client.request.ItemAccessTokenInvalidateRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemAccessTokenInvalidateResponse; -import org.junit.Test; -import retrofit2.Response; - -import java.util.Collections; -import java.util.List; - import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.ItemAccessTokenInvalidateRequest; +import com.plaid.client.model.ItemAccessTokenInvalidateResponse; +import com.plaid.client.model.Products; +import java.util.Arrays; +import java.util.List; +import org.junit.Test; +import retrofit2.Response; + public class ItemAccessTokenInvalidateTest extends AbstractItemIntegrationTest { + @Override - protected List setupItemProducts() { - return Collections.singletonList(Product.AUTH); + protected List setupItemProducts() { + return Arrays.asList(Products.AUTH); } @Override @@ -26,21 +27,34 @@ protected String setupItemInstitutionId() { @Test public void testSuccess() throws Exception { - Response response = client().service().itemAccessTokenInvalidate( - new ItemAccessTokenInvalidateRequest(getItemCreateResponse().getAccessToken())) + ItemAccessTokenInvalidateRequest request = new ItemAccessTokenInvalidateRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .itemAccessTokenInvalidate(request) .execute(); assertSuccessResponse(response); assertNotNull(response.body().getNewAccessToken()); - assertNotEquals(getItemCreateResponse().getAccessToken(), response.body().getNewAccessToken()); + assertNotEquals( + getItemPublicTokenExchangeResponse().getAccessToken(), + response.body().getNewAccessToken() + ); } @Test public void testInvalidAccessToken() throws Exception { - Response response = client().service().itemAccessTokenInvalidate( - new ItemAccessTokenInvalidateRequest("not-real")) + ItemAccessTokenInvalidateRequest request = new ItemAccessTokenInvalidateRequest() + .accessToken("not-real"); + + Response response = client() + .itemAccessTokenInvalidate(request) .execute(); - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_ACCESS_TOKEN"); + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_ACCESS_TOKEN" + ); } } diff --git a/src/test/java/com/plaid/client/integration/ItemAccessTokenUpdateVersionTest.java b/src/test/java/com/plaid/client/integration/ItemAccessTokenUpdateVersionTest.java deleted file mode 100644 index 0e56687870..0000000000 --- a/src/test/java/com/plaid/client/integration/ItemAccessTokenUpdateVersionTest.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.plaid.client.integration; - -import com.plaid.client.request.ItemAccessTokenUpdateVersionRequest; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemAccessTokenUpdateVersionResponse; -import org.junit.Test; -import retrofit2.Response; - -public class ItemAccessTokenUpdateVersionTest extends AbstractIntegrationTest { - @Test - public void testInvalidAccessToken() throws Exception { - Response response = client().service().itemAccessTokenUpdateVersion( - new ItemAccessTokenUpdateVersionRequest("not-real")) - .execute(); - - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_REQUEST, "INVALID_FIELD"); - } -} diff --git a/src/test/java/com/plaid/client/integration/ItemApexProcessorTokenCreateTest.java b/src/test/java/com/plaid/client/integration/ItemApexProcessorTokenCreateTest.java index e015685d54..418ad2697d 100644 --- a/src/test/java/com/plaid/client/integration/ItemApexProcessorTokenCreateTest.java +++ b/src/test/java/com/plaid/client/integration/ItemApexProcessorTokenCreateTest.java @@ -1,22 +1,24 @@ package com.plaid.client.integration; -import com.plaid.client.request.ItemApexProcessorTokenCreateRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemApexProcessorTokenCreateResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.*; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.ProcessorApexProcessorTokenCreateRequest; +import com.plaid.client.model.ProcessorTokenCreateResponse; +import com.plaid.client.model.Products; import java.util.Arrays; import java.util.Date; import java.util.List; +import org.junit.Test; +import retrofit2.Response; -import static org.junit.Assert.*; +public class ItemApexProcessorTokenCreateTest + extends AbstractItemIntegrationTest { -public class ItemApexProcessorTokenCreateTest extends AbstractItemIntegrationTest { @Override - protected List setupItemProducts() { - return Arrays.asList(Product.AUTH); + protected List setupItemProducts() { + return Arrays.asList(Products.AUTH); } @Override @@ -26,16 +28,21 @@ protected String setupItemInstitutionId() { @Test public void testError() throws Exception { - Response response = - client().service().itemApexProcessorTokenCreate(new ItemApexProcessorTokenCreateRequest(getItemCreateResponse().getAccessToken(), "FooBarAccountId")).execute(); + ProcessorApexProcessorTokenCreateRequest request = new ProcessorApexProcessorTokenCreateRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()) + .accountId("FooBarAccountId"); + + Response response = client() + .processorApexProcessorTokenCreate(request) + .execute(); // Just assert that some error was returned - due to the nature of the // integration and required configuration at the API key level, we don't // know the exact error code to expect. - assertFalse(response.isSuccessful()); - assertNotNull(response.errorBody()); - ErrorResponse errorResponse = client().parseError(response); - assertNotNull(errorResponse); - assertNotNull(errorResponse.getRequestId()); + assertErrorResponse( + response, + PlaidErrorType.INVALID_REQUEST, + "INVALID_FIELD" + ); } } diff --git a/src/test/java/com/plaid/client/integration/ItemCreateTest.java b/src/test/java/com/plaid/client/integration/ItemCreateTest.java deleted file mode 100644 index 544df0f39c..0000000000 --- a/src/test/java/com/plaid/client/integration/ItemCreateTest.java +++ /dev/null @@ -1,169 +0,0 @@ -package com.plaid.client.integration; - -import com.plaid.client.request.ItemCreateRequest; -import com.plaid.client.request.ItemCredentialsEncryptRequest; -import com.plaid.client.request.common.MfaType; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ItemCreateResponse; -import com.plaid.client.response.ItemCredentialsEncryptResponse; -import com.plaid.client.response.MfaSelection; -import org.junit.Test; -import retrofit2.Response; - -import java.util.*; - -import static org.junit.Assert.*; - -public class ItemCreateTest extends AbstractIntegrationTest { - - @Test - public void testItemCreateFullyLoadedRequestSuccess() throws Exception { - Calendar startDate = Calendar.getInstance(); - startDate.add(Calendar.DATE, -2); - - Calendar endDate = Calendar.getInstance(); - startDate.add(Calendar.DATE, -1); - - String webhookUrl = "https://some.webook.example.com"; - ItemCreateRequest request = new ItemCreateRequest( - TARTAN_BANK_INSTITUTION_ID, - Collections.singletonList(Product.TRANSACTIONS)) - .withCredentials("username", "user_good") - .withCredentials("password", "pass_good") - .withOptionWebhook(webhookUrl) - .withOptionAwaitResults(false) - .withOptionStartDate(startDate.getTime()) - .withOptionEndDate(endDate.getTime()); - - Response response = client().service().itemCreate(request).execute(); - - assertSuccessResponse(response); - assertNotNull(response.body().getAccessToken()); - - assertTrue(response.body().isItemResponse()); - assertFalse(response.body().isMfaResponse()); - - assertEquals(Arrays.asList(Product.ASSETS, Product.AUTH, Product.BALANCE, Product.CREDIT_DETAILS, Product.IDENTITY, Product.INCOME), - response.body().getItem().getAvailableProducts()); - assertEquals(1, response.body().getItem().getBilledProducts().size()); - assertEquals(Arrays.asList(Product.TRANSACTIONS), response.body().getItem().getBilledProducts()); - assertNull(response.body().getItem().getError()); - assertEquals(TARTAN_BANK_INSTITUTION_ID, response.body().getItem().getInstitutionId()); - assertNotNull(response.body().getItem().getItemId()); - assertEquals(webhookUrl, response.body().getItem().getWebhook()); - } - - @Test - public void testItemCreateDevicesMfa() throws Exception { - ItemCreateRequest request = new ItemCreateRequest( - TARTAN_BANK_INSTITUTION_ID, - Collections.singletonList(Product.AUTH)) - .withCredentials("username", "user_good") - .withCredentials("password", "mfa_device"); - - Response response = client().service().itemCreate(request).execute(); - - assertSuccessResponse(response); - assertNotNull(response.body().getAccessToken()); - - assertTrue(response.body().isMfaResponse()); - assertFalse(response.body().isItemResponse()); - - assertEquals(MfaType.DEVICE_LIST, response.body().getMfaType()); - assertNull(response.body().getDevice()); - assertNull(response.body().getQuestions()); - assertNull(response.body().getSelections()); - for (ItemCreateResponse.MfaDevice m : response.body().getDeviceList()) { - assertNotNull(m.getDeviceId()); - assertNotNull(m.getMask()); - assertNotNull(m.getType()); - } - } - - @Test - public void testItemCreateQuestionsMfa() throws Exception { - ItemCreateRequest request = new ItemCreateRequest( - TARTAN_BANK_INSTITUTION_ID, - Collections.singletonList(Product.AUTH)) - .withCredentials("username", "user_good") - .withCredentials("password", "mfa_questions_1_3"); - - Response response = client().service().itemCreate(request).execute(); - - assertSuccessResponse(response); - assertNotNull(response.body().getAccessToken()); - - assertTrue(response.body().isMfaResponse()); - assertFalse(response.body().isItemResponse()); - - assertEquals(MfaType.QUESTIONS, response.body().getMfaType()); - assertNull(response.body().getDevice()); - assertNull(response.body().getDeviceList()); - assertNull(response.body().getSelections()); - assertEquals(Arrays.asList("What is the answer to question_0_0?", - "What is the answer to question_0_1?", - "What is the answer to question_0_2?"), - response.body().getQuestions()); - } - - @Test - public void testItemCreateSelectionsMfa() throws Exception { - Map credentials = new HashMap<>(); - credentials.put("username", "user_good"); - credentials.put("password", "mfa_selections"); - ItemCreateRequest request = new ItemCreateRequest( - TARTAN_BANK_INSTITUTION_ID, - Collections.singletonList(Product.AUTH)) - .withCredentials(credentials); - - Response response = client().service().itemCreate(request).execute(); - - assertSuccessResponse(response); - assertNotNull(response.body().getAccessToken()); - - assertTrue(response.body().isMfaResponse()); - assertFalse(response.body().isItemResponse()); - - assertEquals(MfaType.SELECTIONS, response.body().getMfaType()); - assertNull(response.body().getDevice()); - assertNull(response.body().getDeviceList()); - assertNull(response.body().getQuestions()); - assertFalse(response.body().getSelections().isEmpty()); - for (MfaSelection m : response.body().getSelections()) { - assertNotNull(m.getQuestion()); - assertNotNull(m.getAnswers()); - assertFalse(m.getAnswers().isEmpty()); - } - } - - @Test - public void testItemCreateWithCredentialsToken() throws Exception { - // first encrypt credentials - Response itemCredentialsEncryptResponse = - client().service().itemCredentialsEncrypt(new ItemCredentialsEncryptRequest("username", "user_good", "password", "pass_good")).execute(); - assertSuccessResponse(itemCredentialsEncryptResponse); - - ItemCreateRequest request = new ItemCreateRequest( - TARTAN_BANK_INSTITUTION_ID, - Collections.singletonList(Product.TRANSACTIONS)) - .withOptionAwaitResults(false) - .withOptionCredentialsToken(itemCredentialsEncryptResponse.body().getCredentialsToken()); - - Response response = client().service().itemCreate(request).execute(); - - assertSuccessResponse(response); - assertNotNull(response.body().getAccessToken()); - - assertTrue(response.body().isItemResponse()); - assertFalse(response.body().isMfaResponse()); - - assertEquals(6, response.body().getItem().getAvailableProducts().size()); - assertEquals(Arrays.asList(Product.ASSETS, Product.AUTH, Product.BALANCE, Product.CREDIT_DETAILS, Product.IDENTITY, Product.INCOME), - response.body().getItem().getAvailableProducts()); - assertEquals(1, response.body().getItem().getBilledProducts().size()); - assertEquals(Arrays.asList(Product.TRANSACTIONS), response.body().getItem().getBilledProducts()); - assertNull(response.body().getItem().getError()); - assertEquals(TARTAN_BANK_INSTITUTION_ID, response.body().getItem().getInstitutionId()); - assertNotNull(response.body().getItem().getItemId()); - } -} diff --git a/src/test/java/com/plaid/client/integration/ItemCredentialsEncryptTest.java b/src/test/java/com/plaid/client/integration/ItemCredentialsEncryptTest.java deleted file mode 100644 index a427845254..0000000000 --- a/src/test/java/com/plaid/client/integration/ItemCredentialsEncryptTest.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.plaid.client.integration; - -import com.plaid.client.request.ItemCredentialsEncryptRequest; -import com.plaid.client.response.ItemCredentialsEncryptResponse; -import org.junit.Test; -import retrofit2.Response; - -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -public class ItemCredentialsEncryptTest extends AbstractIntegrationTest { - @Test - public void testSuccess() throws Exception { - Response response = - client().service().itemCredentialsEncrypt(new ItemCredentialsEncryptRequest("username", "user_good", "password", "pass_good")).execute(); - - assertSuccessResponse(response); - assertNotNull(response.body().getCredentialsToken()); - assertTrue(response.body().getExpiration().after(new Date())); - - // use both constructors - Map creds = new HashMap<>(); - creds.put("username", "user_good"); - creds.put("password", "pass_good"); - response = - client().service().itemCredentialsEncrypt(new ItemCredentialsEncryptRequest(creds)).execute(); - - assertSuccessResponse(response); - assertNotNull(response.body().getCredentialsToken()); - assertTrue(response.body().getExpiration().after(new Date())); - } -} diff --git a/src/test/java/com/plaid/client/integration/ItemCredentialsUpdateTest.java b/src/test/java/com/plaid/client/integration/ItemCredentialsUpdateTest.java deleted file mode 100644 index 30bf4004d8..0000000000 --- a/src/test/java/com/plaid/client/integration/ItemCredentialsUpdateTest.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.plaid.client.integration; - -import com.plaid.client.integration.util.PlaidSandboxApiService; -import com.plaid.client.request.ItemCredentialsEncryptRequest; -import com.plaid.client.request.ItemCredentialsUpdateRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemCredentialsEncryptResponse; -import com.plaid.client.response.ItemCredentialsUpdateResponse; -import org.junit.Before; -import org.junit.Test; -import retrofit2.Response; - -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -public class ItemCredentialsUpdateTest extends AbstractItemIntegrationTest { - @Override - protected List setupItemProducts() { - return Collections.singletonList(Product.TRANSACTIONS); - } - - @Override - protected String setupItemInstitutionId() { - return TARTAN_BANK_INSTITUTION_ID; - } - - @Before - public void setUp() throws Exception { - Response response = sandboxApiService().itemResetLogin( - new PlaidSandboxApiService.ItemResetLoginRequest(getItemCreateResponse().getAccessToken())).execute(); - assertSuccessResponse(response); - assertTrue(response.body().getResetLogin()); - } - - @Test - public void testCredentialsMapSuccess() throws Exception { - Map credentials = new HashMap<>(); - credentials.put("username", "user_good"); - credentials.put("password", "pass_good"); - - Response response = client().service().itemCredentialsUpdate( - new ItemCredentialsUpdateRequest(getItemCreateResponse().getAccessToken()) - .withCredentials(credentials)).execute(); - - assertSuccessResponse(response); - assertItemEquals(getItemCreateResponse().getItem(), response.body().getItem()); - } - - @Test - public void testCredentialsVarArgsSuccess() throws Exception { - Response response = client().service().itemCredentialsUpdate( - new ItemCredentialsUpdateRequest(getItemCreateResponse().getAccessToken()) - .withCredentials("username", "user_good", "password", "pass_good")).execute(); - - assertSuccessResponse(response); - assertItemEquals(getItemCreateResponse().getItem(), response.body().getItem()); - } - - @Test - public void testCredentialsTokenSuccess() throws Exception { - // first encrypt credentials - Response itemCredentialsEncryptResponse = - client().service().itemCredentialsEncrypt(new ItemCredentialsEncryptRequest("username", "user_good", "password", "pass_good")).execute(); - assertSuccessResponse(itemCredentialsEncryptResponse); - - Response response = client().service().itemCredentialsUpdate( - new ItemCredentialsUpdateRequest(getItemCreateResponse().getAccessToken()) - .withCredentialsToken(itemCredentialsEncryptResponse.body().getCredentialsToken())).execute(); - - assertSuccessResponse(response); - assertItemEquals(getItemCreateResponse().getItem(), response.body().getItem()); - } - - @Test - public void testError() throws Exception { - Response response = client().service().itemCredentialsUpdate( - new ItemCredentialsUpdateRequest(getItemCreateResponse().getAccessToken()) - .withCredentials("username", "baduser", "password", "badpassword")).execute(); - - assertErrorResponse(response, ErrorResponse.ErrorType.ITEM_ERROR, "INVALID_UPDATED_USERNAME"); - } -} diff --git a/src/test/java/com/plaid/client/integration/ItemDeleteTest.java b/src/test/java/com/plaid/client/integration/ItemDeleteTest.java deleted file mode 100644 index dfdbe72a54..0000000000 --- a/src/test/java/com/plaid/client/integration/ItemDeleteTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.plaid.client.integration; - -import com.plaid.client.request.ItemDeleteRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ItemDeleteResponse; -import org.junit.Test; -import retrofit2.Response; - -import java.util.Collections; -import java.util.List; - -import static org.junit.Assert.assertTrue; - -public class ItemDeleteTest extends AbstractItemIntegrationTest { - @Override - protected List setupItemProducts() { - return Collections.singletonList(Product.AUTH); - } - - @Override - protected String setupItemInstitutionId() { - return TARTAN_BANK_INSTITUTION_ID; - } - - @Test - public void testSuccess() throws Exception { - Response response = client().service().itemDelete( - new ItemDeleteRequest(getItemCreateResponse().getAccessToken()) - ).execute(); - - assertSuccessResponse(response); - assertTrue(response.body().getDeleted()); - } -} diff --git a/src/test/java/com/plaid/client/integration/ItemDwollaProcessorTokenCreateTest.java b/src/test/java/com/plaid/client/integration/ItemDwollaProcessorTokenCreateTest.java index d8ce66cd34..6266369ee1 100644 --- a/src/test/java/com/plaid/client/integration/ItemDwollaProcessorTokenCreateTest.java +++ b/src/test/java/com/plaid/client/integration/ItemDwollaProcessorTokenCreateTest.java @@ -1,22 +1,24 @@ package com.plaid.client.integration; -import com.plaid.client.request.ItemDwollaProcessorTokenCreateRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemDwollaProcessorTokenCreateResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.*; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.ProcessorTokenCreateRequest; +import com.plaid.client.model.ProcessorTokenCreateResponse; +import com.plaid.client.model.Products; import java.util.Arrays; import java.util.Date; import java.util.List; +import org.junit.Test; +import retrofit2.Response; -import static org.junit.Assert.*; +public class ItemDwollaProcessorTokenCreateTest + extends AbstractItemIntegrationTest { -public class ItemDwollaProcessorTokenCreateTest extends AbstractItemIntegrationTest { @Override - protected List setupItemProducts() { - return Arrays.asList(Product.AUTH); + protected List setupItemProducts() { + return Arrays.asList(Products.AUTH); } @Override @@ -26,16 +28,22 @@ protected String setupItemInstitutionId() { @Test public void testError() throws Exception { - Response response = - client().service().itemDwollaProcessorTokenCreate(new ItemDwollaProcessorTokenCreateRequest(getItemCreateResponse().getAccessToken(), "FooBarAccountId")).execute(); + ProcessorTokenCreateRequest request = new ProcessorTokenCreateRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()) + .processor(ProcessorTokenCreateRequest.ProcessorEnum.DWOLLA) + .accountId("FooBarAccountId"); + + Response response = client() + .processorTokenCreate(request) + .execute(); + // Just assert that some error was returned - due to the nature of the // integration and required configuration at the API key level, we don't // know the exact error code to expect. - assertFalse(response.isSuccessful()); - assertNotNull(response.errorBody()); - - ErrorResponse errorResponse = client().parseError(response); - assertNotNull(errorResponse); - assertNotNull(errorResponse.getRequestId()); + assertErrorResponse( + response, + PlaidErrorType.INVALID_REQUEST, + "INVALID_FIELD" + ); } } diff --git a/src/test/java/com/plaid/client/integration/ItemGetTest.java b/src/test/java/com/plaid/client/integration/ItemGetTest.java index d300cb77fc..0edfbb7338 100644 --- a/src/test/java/com/plaid/client/integration/ItemGetTest.java +++ b/src/test/java/com/plaid/client/integration/ItemGetTest.java @@ -1,19 +1,26 @@ package com.plaid.client.integration; -import com.plaid.client.request.ItemGetRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemGetResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; -import java.util.Collections; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.ItemGetRequest; +import com.plaid.client.model.ItemGetResponse; +import com.plaid.client.model.ItemStatusInvestments; +import com.plaid.client.model.ItemStatusLastWebhook; +import com.plaid.client.model.ItemStatusTransactions; +import com.plaid.client.model.Products; +import java.util.Arrays; import java.util.List; +import org.junit.Test; +import retrofit2.Response; public class ItemGetTest extends AbstractItemIntegrationTest { + @Override - protected List setupItemProducts() { - return Collections.singletonList(Product.TRANSACTIONS); + protected List setupItemProducts() { + return Arrays.asList(Products.TRANSACTIONS, Products.INVESTMENTS); } @Override @@ -23,29 +30,73 @@ protected String setupItemInstitutionId() { @Test public void testSuccess() throws Exception { - Response response = - client().service().itemGet(new ItemGetRequest(getItemCreateResponse().getAccessToken())).execute(); + ItemGetRequest request = new ItemGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client().itemGet(request).execute(); assertSuccessResponse(response); - assertItemEquals(getItemCreateResponse().getItem(), response.body().getItem()); + assertItemEquals(getItem(), getItemFromItemWithConsentFields(response.body().getItem())); } @Test - public void testFailure() throws Exception { - Response response = - client().service().itemGet(new ItemGetRequest("not-a-token")).execute(); + public void testSuccessWithStatus() throws Exception { + ItemGetRequest request = new ItemGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_ACCESS_TOKEN"); - } + Response response = client().itemGet(request).execute(); + for (int i = 0; i < 10; i++) { + ItemStatusTransactions transactions = response + .body() + .getStatus() + .getTransactions(); + + ItemStatusInvestments investments = response + .body() + .getStatus() + .getInvestments(); + + if (transactions.getLastSuccessfulUpdate() != null && investments.getLastSuccessfulUpdate() != null) { + break; + } - @Test(expected = UnsupportedOperationException.class) - public void testImmutableListsInResponses() throws Exception { - // quick smoke tests to make sure that ImmutableListTypeAdapterFactory is installed and working - // this test could really be anywhere - Response response = - client().service().itemGet(new ItemGetRequest(getItemCreateResponse().getAccessToken())).execute(); + Thread.sleep(1000); + response = client().itemGet(request).execute(); + } assertSuccessResponse(response); - response.body().getItem().getAvailableProducts().add(Product.IDENTITY); + assertItemEquals(getItem(), getItemFromItemWithConsentFields(response.body().getItem())); + + ItemStatusTransactions transactions = response + .body() + .getStatus() + .getTransactions(); + assertNotNull(transactions.getLastSuccessfulUpdate()); + + ItemStatusInvestments investments = response + .body() + .getStatus() + .getInvestments(); + assertNotNull(investments.getLastSuccessfulUpdate()); + + ItemStatusLastWebhook webhook = response + .body() + .getStatus() + .getLastWebhook(); + assertNull(webhook); + } + + @Test + public void testFailure() throws Exception { + ItemGetRequest request = new ItemGetRequest() + .accessToken("not-a-token"); + + Response response = client().itemGet(request).execute(); + + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_ACCESS_TOKEN" + ); } } diff --git a/src/test/java/com/plaid/client/integration/ItemImportTest.java b/src/test/java/com/plaid/client/integration/ItemImportTest.java new file mode 100644 index 0000000000..3124beed61 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/ItemImportTest.java @@ -0,0 +1,37 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.*; + +import com.plaid.client.model.ItemImportRequest; +import com.plaid.client.model.ItemImportRequestUserAuth; +import com.plaid.client.model.ItemImportRequestOptions; +import com.plaid.client.model.ItemImportResponse; +import com.plaid.client.model.Products; +import java.util.Arrays; +import java.util.HashMap; +import org.junit.Test; +import retrofit2.Response; + +public class ItemImportTest extends AbstractIntegrationTest { + + @Test + public void testSuccess() throws Exception { + ItemImportRequestOptions options = new ItemImportRequestOptions() + .webhook("https://some.webhook.example.com"); + + ItemImportRequestUserAuth itemImportRequestUserAuth = new ItemImportRequestUserAuth() + .userId("user_good") + .authToken("pass_good"); + + ItemImportRequest request = new ItemImportRequest() + .products(Arrays.asList(Products.IDENTITY, Products.AUTH)) + .userAuth(itemImportRequestUserAuth) + .options(options); + + Response response = client() + .itemImport(request) + .execute(); + assertSuccessResponse(response); + assertNotNull(response.body().getAccessToken()); + } +} diff --git a/src/test/java/com/plaid/client/integration/ItemMfaEncryptTest.java b/src/test/java/com/plaid/client/integration/ItemMfaEncryptTest.java deleted file mode 100644 index bae69706c7..0000000000 --- a/src/test/java/com/plaid/client/integration/ItemMfaEncryptTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.plaid.client.integration; - -import com.plaid.client.request.ItemMfaEncryptRequest; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemMfaEncryptResponse; -import org.junit.Test; -import retrofit2.Response; - -import java.util.Arrays; -import java.util.Date; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -public class ItemMfaEncryptTest extends AbstractIntegrationTest { - @Test - public void testListConstructorSuccess() throws Exception { - Response response = - client().service().itemMfaEncrypt(new ItemMfaEncryptRequest(Arrays.asList("foo", "bar"))).execute(); - - assertSuccessResponse(response); - assertNotNull(response.body().getResponsesToken()); - assertTrue(response.body().getExpiration().after(new Date())); - } - - @Test - public void testVarArgsConstructorSuccess() throws Exception { - Response response = - client().service().itemMfaEncrypt(new ItemMfaEncryptRequest("ice cream", "1234")).execute(); - - assertSuccessResponse(response); - assertNotNull(response.body().getResponsesToken()); - assertTrue(response.body().getExpiration().after(new Date())); - } -} diff --git a/src/test/java/com/plaid/client/integration/ItemMfaTest.java b/src/test/java/com/plaid/client/integration/ItemMfaTest.java deleted file mode 100644 index 43cf3155fa..0000000000 --- a/src/test/java/com/plaid/client/integration/ItemMfaTest.java +++ /dev/null @@ -1,181 +0,0 @@ -package com.plaid.client.integration; - -import com.plaid.client.request.*; -import com.plaid.client.request.common.MfaType; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemCreateResponse; -import com.plaid.client.response.ItemMfaEncryptResponse; -import com.plaid.client.response.ItemMfaResponse; -import org.junit.Test; -import retrofit2.Response; - -import java.util.Arrays; -import java.util.Collections; -import java.util.Date; - -import static org.hamcrest.CoreMatchers.hasItems; -import static org.junit.Assert.*; - -public class ItemMfaTest extends AbstractIntegrationTest { - - @Test - public void testMultipleRoundQuestionsSuccess() throws Exception { - // first create an item which will need mfa - Response itemCreateResponse = - client().service() - .itemCreate(new ItemCreateRequest( - TARTAN_BANK_INSTITUTION_ID, - Collections.singletonList(Product.TRANSACTIONS)) - .withCredentials("username", "user_good") - .withCredentials("password", "mfa_questions_3_1")).execute(); - assertSuccessResponse(itemCreateResponse); - assertFalse(itemCreateResponse.body().isItemResponse()); - assertTrue(itemCreateResponse.body().isMfaResponse()); - assertEquals(MfaType.QUESTIONS, itemCreateResponse.body().getMfaType()); - assertEquals(Collections.singletonList("What is the answer to question_0_0?"), itemCreateResponse.body().getQuestions()); - String accessToken = itemCreateResponse.body().getAccessToken(); - - // go through the rounds of answers - Response response = - client().service().itemMfa(new ItemMfaRequest(accessToken, MfaType.QUESTIONS).withResponses("answer_0_0")).execute(); - assertSuccessResponse(response); - assertTrue(response.body().isMfaResponse()); - assertFalse(response.body().isItemResponse()); - assertEquals(MfaType.QUESTIONS, response.body().getMfaType()); - assertEquals(Collections.singletonList("What is the answer to question_1_0?"), response.body().getQuestions()); - - response = - client().service().itemMfa(new ItemMfaRequest(accessToken, MfaType.QUESTIONS).withResponses("answer_1_0")).execute(); - assertSuccessResponse(response); - assertTrue(response.body().isMfaResponse()); - assertFalse(response.body().isItemResponse()); - assertEquals(MfaType.QUESTIONS, response.body().getMfaType()); - assertEquals(Collections.singletonList("What is the answer to question_2_0?"), response.body().getQuestions()); - - response = - client().service().itemMfa(new ItemMfaRequest(accessToken, MfaType.QUESTIONS).withResponses("answer_2_0")).execute(); - assertItemResponse(itemCreateResponse, response); - } - - - @Test - public void testDeviceSuccess() throws Exception { - // first create an item which will need mfa - Response itemCreateResponse = - client().service() - .itemCreate(new ItemCreateRequest( - TARTAN_BANK_INSTITUTION_ID, - Collections.singletonList(Product.TRANSACTIONS)) - .withCredentials("username", "user_good") - .withCredentials("password", "mfa_device")).execute(); - assertSuccessResponse(itemCreateResponse); - assertTrue(itemCreateResponse.body().isMfaResponse()); - assertFalse(itemCreateResponse.body().isItemResponse()); - assertEquals(MfaType.DEVICE_LIST, itemCreateResponse.body().getMfaType()); - String accessToken = itemCreateResponse.body().getAccessToken(); - - String device = itemCreateResponse.body().getDeviceList().get(0).getDeviceId(); - - Response mfaDeviceResponse = - client().service().itemMfa(new ItemMfaRequest(accessToken, MfaType.DEVICE_LIST).withResponses(device)).execute(); - - Response response = - client().service().itemMfa(new ItemMfaRequest(accessToken, MfaType.DEVICE).withResponses("1234")).execute(); - assertItemResponse(itemCreateResponse, response); - } - - @Test - public void testSelectionsSuccessAndListResponses() throws Exception { - // first create an item which will need mfa - Response itemCreateResponse = - client().service() - .itemCreate(new ItemCreateRequest( - TARTAN_BANK_INSTITUTION_ID, - Collections.singletonList(Product.TRANSACTIONS)) - .withCredentials("username", "user_good") - .withCredentials("password", "mfa_selections")).execute(); - assertSuccessResponse(itemCreateResponse); - assertTrue(itemCreateResponse.body().isMfaResponse()); - assertFalse(itemCreateResponse.body().isItemResponse()); - assertEquals(MfaType.SELECTIONS, itemCreateResponse.body().getMfaType()); - String accessToken = itemCreateResponse.body().getAccessToken(); - - Response response = - client().service().itemMfa(new ItemMfaRequest(accessToken, MfaType.SELECTIONS).withResponses(Arrays.asList("tomato", "ketchup"))).execute(); - assertItemResponse(itemCreateResponse, response); - } - - @Test - public void testEncryptedMfaSuccess() throws Exception { - // first create an item which will need mfa - Response itemCreateResponse = - client().service() - .itemCreate(new ItemCreateRequest( - TARTAN_BANK_INSTITUTION_ID, - Collections.singletonList(Product.TRANSACTIONS)) - .withCredentials("username", "user_good") - .withCredentials("password", "mfa_device")).execute(); - assertSuccessResponse(itemCreateResponse); - assertTrue(itemCreateResponse.body().isMfaResponse()); - assertFalse(itemCreateResponse.body().isItemResponse()); - assertEquals(MfaType.DEVICE_LIST, itemCreateResponse.body().getMfaType()); - String accessToken = itemCreateResponse.body().getAccessToken(); - - String deviceId = itemCreateResponse.body().getDeviceList().get(0).getDeviceId(); - - Response mfaDeviceResponse = - client().service().itemMfa(new ItemMfaRequest(accessToken, MfaType.DEVICE_LIST).withResponses(deviceId)).execute(); - - Response itemMfaEncryptResponse = - client().service().itemMfaEncrypt(new ItemMfaEncryptRequest("1234")).execute(); - assertSuccessResponse(itemMfaEncryptResponse); - assertNotNull(itemMfaEncryptResponse.body().getResponsesToken()); - assertTrue(itemMfaEncryptResponse.body().getExpiration().after(new Date())); - - Response response = - client().service().itemMfa( - new ItemMfaRequest(accessToken, MfaType.DEVICE) - .withResponsesToken(itemMfaEncryptResponse.body().getResponsesToken())) - .execute(); - assertItemResponse(itemCreateResponse, response); - } - - @Test - public void testIncorrectMfa() throws Exception { - // first create an item which will need mfa - Response itemCreateResponse = - client().service() - .itemCreate(new ItemCreateRequest( - TARTAN_BANK_INSTITUTION_ID, - Collections.singletonList(Product.TRANSACTIONS)) - .withCredentials("username", "user_good") - .withCredentials("password", "mfa_device")).execute(); - assertSuccessResponse(itemCreateResponse); - assertTrue(itemCreateResponse.body().isMfaResponse()); - assertFalse(itemCreateResponse.body().isItemResponse()); - assertEquals(MfaType.DEVICE_LIST, itemCreateResponse.body().getMfaType()); - String accessToken = itemCreateResponse.body().getAccessToken(); - - String deviceId = itemCreateResponse.body().getDeviceList().get(0).getDeviceId(); - - Response mfaDeviceResponse = - client().service().itemMfa(new ItemMfaRequest(accessToken, MfaType.DEVICE_LIST).withResponses(deviceId)).execute(); - Response response = - client().service().itemMfa(new ItemMfaRequest(accessToken, MfaType.DEVICE).withResponses("9876")).execute(); - assertErrorResponse(response, ErrorResponse.ErrorType.ITEM_ERROR, "INVALID_MFA"); - } - - private static void assertItemResponse(Response itemCreateResponse, Response response) { - assertSuccessResponse(response); - assertTrue(response.body().isItemResponse()); - assertFalse(response.body().isMfaResponse()); - assertEquals(Arrays.asList(Product.ASSETS, Product.AUTH, Product.BALANCE, Product.CREDIT_DETAILS, Product.IDENTITY, Product.INCOME), - response.body().getItem().getAvailableProducts()); - assertEquals(1, response.body().getItem().getBilledProducts().size()); - assertThat(response.body().getItem().getBilledProducts(), hasItems(Product.TRANSACTIONS)); - assertNull(response.body().getItem().getError()); - assertEquals(TARTAN_BANK_INSTITUTION_ID, response.body().getItem().getInstitutionId()); - assertNotNull(response.body().getItem().getItemId()); - } -} diff --git a/src/test/java/com/plaid/client/integration/ItemPublicTokenCreateTest.java b/src/test/java/com/plaid/client/integration/ItemPublicTokenCreateTest.java deleted file mode 100644 index 100cebfafb..0000000000 --- a/src/test/java/com/plaid/client/integration/ItemPublicTokenCreateTest.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.plaid.client.integration; - -import com.plaid.client.request.ItemPublicTokenCreateRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemPublicTokenCreateResponse; -import org.junit.Test; -import retrofit2.Response; - -import java.util.Arrays; -import java.util.Date; -import java.util.List; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -public class ItemPublicTokenCreateTest extends AbstractItemIntegrationTest { - @Override - protected List setupItemProducts() { - return Arrays.asList(Product.AUTH); - } - - @Override - protected String setupItemInstitutionId() { - return TARTAN_BANK_INSTITUTION_ID; - } - - @Test - public void testSuccess() throws Exception { - Response response = - client().service().itemPublicTokenCreate(new ItemPublicTokenCreateRequest(getItemCreateResponse().getAccessToken())).execute(); - - assertSuccessResponse(response); - assertNotNull(response.body().getPublicToken()); - assertTrue(response.body().getExpiration().after(new Date())); - } - - @Test - public void testBadAccessToken() throws Exception { - Response response = - client().service().itemPublicTokenCreate(new ItemPublicTokenCreateRequest("nope-nope-nope")).execute(); - - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_ACCESS_TOKEN"); - } -} diff --git a/src/test/java/com/plaid/client/integration/ItemPublicTokenExchangeTest.java b/src/test/java/com/plaid/client/integration/ItemPublicTokenExchangeTest.java index b6833dd6d7..a060a02444 100644 --- a/src/test/java/com/plaid/client/integration/ItemPublicTokenExchangeTest.java +++ b/src/test/java/com/plaid/client/integration/ItemPublicTokenExchangeTest.java @@ -1,35 +1,33 @@ package com.plaid.client.integration; -import com.plaid.client.integration.util.PlaidSandboxApiService; -import com.plaid.client.request.ItemPublicTokenExchangeRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemPublicTokenExchangeResponse; -import org.junit.Before; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.assertNotNull; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.ItemPublicTokenExchangeRequest; +import com.plaid.client.model.ItemPublicTokenExchangeResponse; +import com.plaid.client.model.Products; +import com.plaid.client.model.SandboxPublicTokenCreateRequest; +import com.plaid.client.model.SandboxPublicTokenCreateResponse; import java.util.Arrays; import java.util.HashMap; - -import static org.junit.Assert.assertNotNull; +import org.junit.Before; +import org.junit.Test; +import retrofit2.Response; public class ItemPublicTokenExchangeTest extends AbstractIntegrationTest { + private String publicToken; @Before public void setUp() throws Exception { - HashMap credentials = new HashMap<>(); - credentials.put("username", "user_good"); - credentials.put("password", "pass_good"); - - Response response = - sandboxApiService().linkItemCreate( - new PlaidSandboxApiService.LinkItemCreateRequest( - credentials, - Arrays.asList(Product.AUTH), - TARTAN_BANK_INSTITUTION_ID - )).execute(); + SandboxPublicTokenCreateRequest request = new SandboxPublicTokenCreateRequest() + .institutionId(TARTAN_BANK_INSTITUTION_ID) + .initialProducts(Arrays.asList(Products.AUTH)); + + Response response = client() + .sandboxPublicTokenCreate(request) + .execute(); assertSuccessResponse(response); publicToken = response.body().getPublicToken(); @@ -37,8 +35,12 @@ public void setUp() throws Exception { @Test public void testSuccess() throws Exception { - Response response = - client().service().itemPublicTokenExchange(new ItemPublicTokenExchangeRequest(publicToken)).execute(); + ItemPublicTokenExchangeRequest request = new ItemPublicTokenExchangeRequest() + .publicToken(publicToken); + + Response response = client() + .itemPublicTokenExchange(request) + .execute(); assertSuccessResponse(response); assertNotNull(response.body().getAccessToken()); @@ -47,9 +49,17 @@ public void testSuccess() throws Exception { @Test public void testInvalidTokenFailure() throws Exception { - Response response = - client().service().itemPublicTokenExchange(new ItemPublicTokenExchangeRequest("not-real")).execute(); + ItemPublicTokenExchangeRequest request = new ItemPublicTokenExchangeRequest() + + .publicToken("not-real"); + Response response = client() + .itemPublicTokenExchange(request) + .execute(); - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_PUBLIC_TOKEN"); + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_PUBLIC_TOKEN" + ); } } diff --git a/src/test/java/com/plaid/client/integration/ItemRemoveTest.java b/src/test/java/com/plaid/client/integration/ItemRemoveTest.java index 0b0b43c8bf..3528a6056d 100644 --- a/src/test/java/com/plaid/client/integration/ItemRemoveTest.java +++ b/src/test/java/com/plaid/client/integration/ItemRemoveTest.java @@ -1,20 +1,20 @@ package com.plaid.client.integration; -import com.plaid.client.request.ItemRemoveRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ItemRemoveResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.assertTrue; -import java.util.Collections; +import com.plaid.client.model.ItemRemoveRequest; +import com.plaid.client.model.ItemRemoveResponse; +import com.plaid.client.model.Products; +import java.util.Arrays; import java.util.List; - -import static org.junit.Assert.assertTrue; +import org.junit.Test; +import retrofit2.Response; public class ItemRemoveTest extends AbstractItemIntegrationTest { + @Override - protected List setupItemProducts() { - return Collections.singletonList(Product.AUTH); + protected List setupItemProducts() { + return Arrays.asList(Products.AUTH); } @Override @@ -24,11 +24,13 @@ protected String setupItemInstitutionId() { @Test public void testSuccess() throws Exception { - Response response = client().service().itemRemove( - new ItemRemoveRequest(getItemCreateResponse().getAccessToken()) - ).execute(); + ItemRemoveRequest request = new ItemRemoveRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .itemRemove(request) + .execute(); assertSuccessResponse(response); - assertTrue(response.body().getRemoved()); } } diff --git a/src/test/java/com/plaid/client/integration/ItemStripeTokenCreateTest.java b/src/test/java/com/plaid/client/integration/ItemStripeTokenCreateTest.java index 34b09a2869..474cf853e3 100644 --- a/src/test/java/com/plaid/client/integration/ItemStripeTokenCreateTest.java +++ b/src/test/java/com/plaid/client/integration/ItemStripeTokenCreateTest.java @@ -1,22 +1,23 @@ package com.plaid.client.integration; -import com.plaid.client.request.ItemStripeTokenCreateRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemStripeTokenCreateResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.*; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.ProcessorStripeBankAccountTokenCreateRequest; +import com.plaid.client.model.ProcessorStripeBankAccountTokenCreateResponse; +import com.plaid.client.model.Products; import java.util.Arrays; import java.util.Date; import java.util.List; - -import static org.junit.Assert.*; +import org.junit.Test; +import retrofit2.Response; public class ItemStripeTokenCreateTest extends AbstractItemIntegrationTest { + @Override - protected List setupItemProducts() { - return Arrays.asList(Product.AUTH); + protected List setupItemProducts() { + return Arrays.asList(Products.AUTH); } @Override @@ -26,16 +27,20 @@ protected String setupItemInstitutionId() { @Test public void testError() throws Exception { - Response response = - client().service().itemStripeTokenCreate(new ItemStripeTokenCreateRequest(getItemCreateResponse().getAccessToken(), "FooBarAccountId")).execute(); + ProcessorStripeBankAccountTokenCreateRequest request = new ProcessorStripeBankAccountTokenCreateRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()) + .accountId("FooBarAccountId"); + + Response response = client() + .processorStripeBankAccountTokenCreate(request) + .execute(); // Just assert that some error was returned - due to the nature of the // integration and required configuration at the API key level, we don't // know the exact error code to expect. - assertFalse(response.isSuccessful()); - assertNotNull(response.errorBody()); - - ErrorResponse errorResponse = client().parseError(response); - assertNotNull(errorResponse); - assertNotNull(errorResponse.getRequestId()); + assertErrorResponse( + response, + PlaidErrorType.INVALID_REQUEST, + "INVALID_FIELD" + ); } } diff --git a/src/test/java/com/plaid/client/integration/ItemWebhookUpdateTest.java b/src/test/java/com/plaid/client/integration/ItemWebhookUpdateTest.java index 39db83f23e..393c2359c3 100644 --- a/src/test/java/com/plaid/client/integration/ItemWebhookUpdateTest.java +++ b/src/test/java/com/plaid/client/integration/ItemWebhookUpdateTest.java @@ -1,22 +1,23 @@ package com.plaid.client.integration; -import com.plaid.client.request.ItemWebhookUpdateRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemWebhookUpdateResponse; -import com.plaid.client.response.ItemStatus; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.assertEquals; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.Item; +import com.plaid.client.model.ItemWebhookUpdateRequest; +import com.plaid.client.model.ItemWebhookUpdateResponse; +import com.plaid.client.model.Products; import java.util.Arrays; import java.util.List; - -import static org.junit.Assert.assertEquals; +import org.junit.Test; +import retrofit2.Response; public class ItemWebhookUpdateTest extends AbstractItemIntegrationTest { + @Override - protected List setupItemProducts() { - return Arrays.asList(Product.TRANSACTIONS); + protected List setupItemProducts() { + return Arrays.asList(Products.TRANSACTIONS); } @Override @@ -27,20 +28,35 @@ protected String setupItemInstitutionId() { @Test public void testSuccess() throws Exception { // Update the webhook - Response webhookResponse = client().service().itemWebhookUpdate( - new ItemWebhookUpdateRequest(getItemCreateResponse().getAccessToken(), "https://baz.xyz/foo-test-hook")).execute(); + String webhook = "https://baz.xyz/foo-test-hook"; + ItemWebhookUpdateRequest request = new ItemWebhookUpdateRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()) + .webhook(webhook); + + Response webhookResponse = client() + .itemWebhookUpdate(request) + .execute(); assertSuccessResponse(webhookResponse); - ItemStatus itemStatus = webhookResponse.body().getItem(); - assertEquals(itemStatus.getWebhook(), "https://baz.xyz/foo-test-hook"); + Item item = webhookResponse.body().getItem(); + assertEquals(item.getWebhook(), webhook); } - + @Test public void testFailure() throws Exception { - // Invalid webhook URL provided - Response webhookResponse = client().service().itemWebhookUpdate( - new ItemWebhookUpdateRequest(getItemCreateResponse().getAccessToken(), "INVALID_HOOK")).execute(); - - assertErrorResponse(webhookResponse, ErrorResponse.ErrorType.INVALID_REQUEST, "INVALID_FIELD"); - } + // Invalid webhook URL provided + ItemWebhookUpdateRequest request = new ItemWebhookUpdateRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()) + .webhook("invalid-hook"); + + Response webhookResponse = client() + .itemWebhookUpdate(request) + .execute(); + + assertErrorResponse( + webhookResponse, + PlaidErrorType.INVALID_REQUEST, + "INVALID_FIELD" + ); + } } diff --git a/src/test/java/com/plaid/client/integration/LiabilitiesGetTest.java b/src/test/java/com/plaid/client/integration/LiabilitiesGetTest.java new file mode 100644 index 0000000000..b2d681bc48 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/LiabilitiesGetTest.java @@ -0,0 +1,188 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.*; + +import com.plaid.client.model.APR; +import com.plaid.client.model.AccountBase; +import com.plaid.client.model.AccountSubtype; +import com.plaid.client.model.CreditCardLiability; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.LiabilitiesGetRequest; +import com.plaid.client.model.LiabilitiesGetRequestOptions; +import com.plaid.client.model.LiabilitiesGetResponse; +import com.plaid.client.model.LiabilitiesObject; +import com.plaid.client.model.Products; +import com.plaid.client.model.Security; +import com.plaid.client.model.StudentLoan; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.junit.Ignore; +import org.junit.Test; +import retrofit2.Response; + +public class LiabilitiesGetTest extends AbstractItemIntegrationTest { + + @Override + protected List setupItemProducts() { + return Collections.singletonList(Products.LIABILITIES); + } + + @Override + protected String setupItemInstitutionId() { + return TARTAN_BANK_INSTITUTION_ID; + } + + @Test + public void testLiabilitiesStudentLoanGetSuccess() throws Exception { + LiabilitiesGetRequest request = new LiabilitiesGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .liabilitiesGet(request) + .execute(); + + assertSuccessResponse(response); + + // item should be the same one we created + assertItemEquals(getItem(), response.body().getItem()); + + // sandbox should return expected student loan liabilities + LiabilitiesObject liabilities = response.body().getLiabilities(); + List studentLoans = liabilities.getStudent(); + assertTrue(studentLoans.size() > 0); + for (StudentLoan studentLoan : studentLoans) { + assertNotNull(studentLoan.getAccountId()); + assertNotNull(studentLoan.getAccountNumber()); + assertNotNull(studentLoan.getDisbursementDates()); + assertNotNull(studentLoan.getExpectedPayoffDate()); + assertNotNull(studentLoan.getGuarantor()); + assertNotNull(studentLoan.getInterestRatePercentage()); + assertNotNull(studentLoan.getIsOverdue()); + assertNotNull(studentLoan.getLastPaymentAmount()); + assertNotNull(studentLoan.getLastPaymentDate()); + assertNotNull(studentLoan.getLastStatementIssueDate()); + assertNotNull(studentLoan.getLoanName()); + assertNotNull(studentLoan.getLoanStatus()); + assertNotNull(studentLoan.getLoanStatus().getEndDate()); + assertNotNull(studentLoan.getLoanStatus().getType()); + assertNotNull(studentLoan.getMinimumPaymentAmount()); + assertNotNull(studentLoan.getNextPaymentDueDate()); + assertNotNull(studentLoan.getOriginationDate()); + assertNotNull(studentLoan.getOriginationPrincipalAmount()); + assertNotNull(studentLoan.getOutstandingInterestAmount()); + assertNotNull(studentLoan.getPaymentReferenceNumber()); + assertNotNull(studentLoan.getPslfStatus()); + assertNotNull(studentLoan.getPslfStatus().getEstimatedEligibilityDate()); + assertNotNull(studentLoan.getPslfStatus().getPaymentsMade()); + assertNotNull(studentLoan.getPslfStatus().getPaymentsRemaining()); + assertNotNull(studentLoan.getRepaymentPlan()); + assertNotNull(studentLoan.getRepaymentPlan().getDescription()); + assertNotNull(studentLoan.getRepaymentPlan().getType()); + assertNotNull(studentLoan.getSequenceNumber()); + assertNotNull(studentLoan.getServicerAddress()); + assertNotNull(studentLoan.getServicerAddress().getCity()); + assertNotNull(studentLoan.getServicerAddress().getCountry()); + assertNotNull(studentLoan.getServicerAddress().getRegion()); + assertNotNull(studentLoan.getServicerAddress().getStreet()); + assertNotNull(studentLoan.getServicerAddress().getPostalCode()); + assertNotNull(studentLoan.getYtdInterestPaid()); + assertNotNull(studentLoan.getYtdPrincipalPaid()); + } + } + + @Test + public void testLiabilitiesCreditCardGetSuccess() throws Exception { + LiabilitiesGetRequest request = new LiabilitiesGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .liabilitiesGet(request) + .execute(); + + assertSuccessResponse(response); + + // item should be the same one we created + assertItemEquals(getItem(), response.body().getItem()); + + // sandbox should return expected credit card liabilities + LiabilitiesObject liabilities = response.body().getLiabilities(); + List creditCards = liabilities.getCredit(); + assertTrue(creditCards.size() > 0); + for (CreditCardLiability creditCard : creditCards) { + List aprs = creditCard.getAprs(); + assertNotNull(aprs); + for (APR apr : aprs) { + assertNotNull(apr.getAprPercentage()); + assertNotNull(apr.getAprType()); + assertNotNull(apr.getBalanceSubjectToApr()); + assertNotNull(apr.getInterestChargeAmount()); + } + assertNotNull(creditCard.getAccountId()); + assertNotNull(creditCard.getIsOverdue()); + assertNotNull(creditCard.getLastPaymentAmount()); + assertNotNull(creditCard.getLastPaymentDate()); + assertNotNull(creditCard.getLastStatementIssueDate()); + assertNotNull(creditCard.getMinimumPaymentAmount()); + assertNotNull(creditCard.getNextPaymentDueDate()); + } + } + + @Test + public void testLiabilitiesGetWithAccountIds() throws Exception { + // first call to get an account ID + LiabilitiesGetRequest request = new LiabilitiesGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .liabilitiesGet(request) + .execute(); + + assertSuccessResponse(response); + String accountId = null; + for (AccountBase account : response.body().getAccounts()) { + if (AccountSubtype.STUDENT.equals(account.getSubtype())) { + accountId = account.getAccountId(); + break; + } + } + + // call under test + LiabilitiesGetRequestOptions options = new LiabilitiesGetRequestOptions() + .accountIds(Arrays.asList(accountId)); + + LiabilitiesGetRequest liabilitiesGetRequest = new LiabilitiesGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()) + .options(options); + + Response liabilitiesGetResponse = client() + .liabilitiesGet(liabilitiesGetRequest) + .execute(); + + response = client().liabilitiesGet(liabilitiesGetRequest).execute(); + assertSuccessResponse(response); + + // item should be the same one we created + assertItemEquals(getItem(), response.body().getItem()); + + // sandbox should return expected accounts + List accounts = response.body().getAccounts(); + assertEquals(1, accounts.size()); + } + + @Test + public void testLiabilitiesGetInvalidAccessToken() throws Exception { + LiabilitiesGetRequest request = new LiabilitiesGetRequest() + .accessToken("not-real"); + + Response response = client() + .liabilitiesGet(request) + .execute(); + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_ACCESS_TOKEN" + ); + } +} diff --git a/src/test/java/com/plaid/client/integration/LinkTokenCreateTest.java b/src/test/java/com/plaid/client/integration/LinkTokenCreateTest.java new file mode 100644 index 0000000000..6ec913c117 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/LinkTokenCreateTest.java @@ -0,0 +1,137 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import com.plaid.client.model.DepositoryAccountSubtype; +import com.plaid.client.model.CountryCode; +import com.plaid.client.model.DepositoryFilter; +import com.plaid.client.model.LinkTokenAccountFilters; +import com.plaid.client.model.LinkTokenCreateRequest; +import com.plaid.client.model.LinkTokenCreateDepositoryFilter; +import com.plaid.client.model.LinkTokenCreateRequestAuth; +import com.plaid.client.model.LinkTokenCreateRequestUser; +import com.plaid.client.model.LinkTokenCreateResponse; +import com.plaid.client.model.Products; +import java.time.OffsetDateTime; +import java.util.Arrays; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.junit.Test; +import retrofit2.Response; + +public class LinkTokenCreateTest extends AbstractItemIntegrationTest { + + @Override + protected List setupItemProducts() { + return Collections.singletonList(Products.AUTH); + } + + @Override + protected String setupItemInstitutionId() { + return TARTAN_BANK_INSTITUTION_ID; + } + + @Test + public void testSuccess() throws Exception { + String clientUserId = Long.toString((new Date()).getTime()); + + LinkTokenCreateRequestUser user = new LinkTokenCreateRequestUser() + .clientUserId(clientUserId); + + LinkTokenCreateRequest request = new LinkTokenCreateRequest() + .user(user) + .clientName("very nice client name") + .products(Arrays.asList(Products.AUTH)) + .countryCodes(Arrays.asList(CountryCode.US)) + .language("en"); + + Response response = client() + .linkTokenCreate(request) + .execute(); + + assertSuccessResponse(response); + assertNotNull(response.body().getLinkToken()); + assertTrue(response.body().getExpiration().isAfter(OffsetDateTime.now())); + } + + @Test + public void testSuccess_full() throws Exception { + String clientUserId = Long.toString((new Date()).getTime()); + + LinkTokenCreateRequestUser user = new LinkTokenCreateRequestUser() + .clientUserId(clientUserId) + .legalName("legal name") + .phoneNumber("4155558888") + .emailAddress("email@address.com"); + + DepositoryFilter types = new DepositoryFilter() + .accountSubtypes(Arrays.asList(DepositoryAccountSubtype.CHECKING)); + + LinkTokenAccountFilters accountFilters = new LinkTokenAccountFilters() + .depository(types); + + LinkTokenCreateRequest request = new LinkTokenCreateRequest() + .user(user) + .clientName("very nice client name") + .products(Arrays.asList(Products.AUTH)) + .countryCodes(Arrays.asList(CountryCode.US)) + .language("en") + .webhook("https://example.com/webhook") + .linkCustomizationName("default") + .accountFilters(accountFilters); + + Response response = client() + .linkTokenCreate(request) + .execute(); + + assertSuccessResponse(response); + assertNotNull(response.body().getLinkToken()); + assertTrue(response.body().getExpiration().isAfter(OffsetDateTime.now())); + } + + @Test + public void testSuccess_auth() throws Exception { + String clientUserId = Long.toString((new Date()).getTime()); + + LinkTokenCreateRequestUser user = new LinkTokenCreateRequestUser() + .clientUserId(clientUserId) + .legalName("legal name") + .phoneNumber("4155558888") + .emailAddress("email@address.com"); + + DepositoryFilter types = new DepositoryFilter() + .accountSubtypes(Arrays.asList(DepositoryAccountSubtype.CHECKING)); + + LinkTokenAccountFilters accountFilters = new LinkTokenAccountFilters() + .depository(types); + + LinkTokenCreateRequestAuth auth = new LinkTokenCreateRequestAuth() + .automatedMicrodepositsEnabled(true) + .instantMatchEnabled(true) + .sameDayMicrodepositsEnabled(true) + .authTypeSelectEnabled(true); + + LinkTokenCreateRequest request = new LinkTokenCreateRequest() + .user(user) + .clientName("very nice client name") + .products(Arrays.asList(Products.AUTH)) + .countryCodes(Arrays.asList(CountryCode.US)) + .language("en") + .webhook("https://example.com/webhook") + .linkCustomizationName("default") + .accountFilters(accountFilters) + .auth(auth); + + Response response = client() + .linkTokenCreate(request) + .execute(); + + assertSuccessResponse(response); + assertNotNull(response.body().getLinkToken()); + assertTrue(response.body().getExpiration().isAfter(OffsetDateTime.now())); + } +} diff --git a/src/test/java/com/plaid/client/integration/LinkTokenGetTest.java b/src/test/java/com/plaid/client/integration/LinkTokenGetTest.java new file mode 100644 index 0000000000..287945fd7b --- /dev/null +++ b/src/test/java/com/plaid/client/integration/LinkTokenGetTest.java @@ -0,0 +1,114 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import com.plaid.client.model.AccountFiltersResponse; +import com.plaid.client.model.DepositoryAccountSubtype; +import com.plaid.client.model.CountryCode; +import com.plaid.client.model.DepositoryFilter; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.LinkTokenAccountFilters; +import com.plaid.client.model.LinkTokenCreateRequest; +import com.plaid.client.model.LinkTokenCreateRequestUser; +import com.plaid.client.model.LinkTokenCreateResponse; +import com.plaid.client.model.LinkTokenGetRequest; +import com.plaid.client.model.LinkTokenGetResponse; +import com.plaid.client.model.Products; +import java.util.Arrays; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.junit.Test; +import retrofit2.Response; + +public class LinkTokenGetTest extends AbstractItemIntegrationTest { + + @Override + protected List setupItemProducts() { + return Arrays.asList(Products.AUTH); + } + + @Override + protected String setupItemInstitutionId() { + return TARTAN_BANK_INSTITUTION_ID; + } + + @Test + public void testInvalidToken() throws Exception { + LinkTokenGetRequest request = new LinkTokenGetRequest() + .linkToken("bad token"); + + Response response = client() + .linkTokenGet(request) + .execute(); + + assertErrorResponse( + response, + PlaidErrorType.INVALID_REQUEST, + "INVALID_FIELD" + ); + } + + @Test + public void testSuccess() throws Exception { + String clientName = "very nice client name"; + String clientUserId = Long.toString((new Date()).getTime()); + + LinkTokenCreateRequestUser user = new LinkTokenCreateRequestUser() + .clientUserId(clientUserId); + + DepositoryFilter types = new DepositoryFilter() + .accountSubtypes(Arrays.asList(DepositoryAccountSubtype.SAVINGS)); + + LinkTokenAccountFilters accountFilters = new LinkTokenAccountFilters() + .depository(types); + + LinkTokenCreateRequest request = new LinkTokenCreateRequest() + .user(user) + .clientName(clientName) + .products(Arrays.asList(Products.AUTH)) + .countryCodes(Arrays.asList(CountryCode.US)) + .language("en") + .accountFilters(accountFilters); + + Response createResponse = client() + .linkTokenCreate(request) + .execute(); + + assertSuccessResponse(createResponse); + + String linkToken = createResponse.body().getLinkToken(); + assertNotNull(linkToken); + + LinkTokenGetRequest getRequest = new LinkTokenGetRequest() + .linkToken(linkToken); + + Response getResponse = client() + .linkTokenGet(getRequest) + .execute(); + + assertSuccessResponse(getResponse); + assertEquals(clientName, getResponse.body().getMetadata().getClientName()); + assertEquals( + Arrays.asList(Products.AUTH), + getResponse.body().getMetadata().getInitialProducts() + ); + assertEquals( + Arrays.asList(CountryCode.US), + getResponse.body().getMetadata().getCountryCodes() + ); + // TODO: Fix when AccountFilters object is condensed. + + DepositoryFilter depositoryType = new DepositoryFilter() + .accountSubtypes(Arrays.asList(DepositoryAccountSubtype.SAVINGS)); + + AccountFiltersResponse filters = new AccountFiltersResponse() + .depository(depositoryType); + + assertEquals(filters, getResponse.body().getMetadata().getAccountFilters()); + } +} diff --git a/src/test/java/com/plaid/client/integration/MonitorTest.java b/src/test/java/com/plaid/client/integration/MonitorTest.java new file mode 100644 index 0000000000..2718ebe171 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/MonitorTest.java @@ -0,0 +1,110 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; + +import com.plaid.client.model.AccountIdentity; +import com.plaid.client.model.Address; +import com.plaid.client.model.Email; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.WatchlistScreeningRequestSearchTerms; +import com.plaid.client.model.WatchlistScreeningIndividualCreateRequest; +import com.plaid.client.model.WatchlistScreeningIndividualCreateResponse; +import com.plaid.client.model.WatchlistScreeningIndividualUpdateRequest; +import com.plaid.client.model.WatchlistScreeningIndividualUpdateResponse; +import com.plaid.client.model.WatchlistScreeningIndividualGetRequest; +import com.plaid.client.model.WatchlistScreeningIndividualGetResponse; +import com.plaid.client.model.WatchlistScreeningIndividualListRequest; +import com.plaid.client.model.WatchlistScreeningIndividualListResponse; +import com.plaid.client.model.WatchlistScreeningIndividualHistoryListRequest; +import com.plaid.client.model.WatchlistScreeningIndividualHistoryListResponse; +import com.plaid.client.model.WatchlistScreeningStatus; +import java.time.Instant; +import java.util.Arrays; +import java.util.List; +import org.junit.Test; +import retrofit2.Response; +import java.time.LocalDate; + +public class MonitorTest extends AbstractIntegrationTest { + private static final String WATCHLIST_PROGRAM_ID = "prg_egdF5fGjY8fWqk"; + + @Test + public void testSuccess() throws Exception { + String customerReference = "monitor-user-" + Instant.now(); + + // Create + WatchlistScreeningRequestSearchTerms searchTerms = new WatchlistScreeningRequestSearchTerms(); + searchTerms.setWatchlistProgramId(WATCHLIST_PROGRAM_ID); + searchTerms.setLegalName("Domingo Huang"); + searchTerms.setDocumentNumber("123456789"); + searchTerms.setDateOfBirth(LocalDate.of(1990, 1, 1)); + searchTerms.setCountry("US"); + WatchlistScreeningIndividualCreateRequest watchlistScreeningIndividualCreateRequest = + new WatchlistScreeningIndividualCreateRequest(); + watchlistScreeningIndividualCreateRequest.setClientUserId(customerReference); + watchlistScreeningIndividualCreateRequest.setSearchTerms(searchTerms); + + Response watchlistScreeningIndividualCreateResponse = client() + .watchlistScreeningIndividualCreate(watchlistScreeningIndividualCreateRequest) + .execute(); + assertSuccessResponse(watchlistScreeningIndividualCreateResponse); + assertEquals(WatchlistScreeningStatus.CLEARED, watchlistScreeningIndividualCreateResponse.body().getStatus()); + + // Get + WatchlistScreeningIndividualGetRequest watchlistScreeningIndividualGetRequest = + new WatchlistScreeningIndividualGetRequest(); + watchlistScreeningIndividualGetRequest + .setWatchlistScreeningId(watchlistScreeningIndividualCreateResponse.body().getId()); + Response watchlistScreeningIndividualGetResponse = client() + .watchlistScreeningIndividualGet(watchlistScreeningIndividualGetRequest) + .execute(); + assertEquals( + watchlistScreeningIndividualCreateResponse.body().getClientUserId(), + watchlistScreeningIndividualGetResponse.body().getClientUserId() + ); + + // Update + WatchlistScreeningIndividualUpdateRequest watchlistScreeningIndividualUpdateRequest = + new WatchlistScreeningIndividualUpdateRequest(); + watchlistScreeningIndividualUpdateRequest + .setWatchlistScreeningId(watchlistScreeningIndividualCreateResponse.body().getId()); + watchlistScreeningIndividualUpdateRequest.setStatus(WatchlistScreeningStatus.PENDING_REVIEW); + + Response watchlistScreeningIndividualUpdateResponse = client() + .watchlistScreeningIndividualUpdate(watchlistScreeningIndividualUpdateRequest) + .execute(); + assertSuccessResponse(watchlistScreeningIndividualUpdateResponse); + assertEquals( + watchlistScreeningIndividualCreateResponse.body().getId(), + watchlistScreeningIndividualUpdateResponse.body().getId() + ); + assertEquals( + WatchlistScreeningStatus.PENDING_REVIEW, + watchlistScreeningIndividualUpdateResponse.body().getStatus() + ); + + // List + WatchlistScreeningIndividualListRequest watchlistScreeningIndividualListRequest = + new WatchlistScreeningIndividualListRequest(); + watchlistScreeningIndividualListRequest.setWatchlistProgramId(WATCHLIST_PROGRAM_ID); + watchlistScreeningIndividualListRequest.setStatus(WatchlistScreeningStatus.CLEARED); + + Response watchlistScreeningIndividualListResponse = client() + .watchlistScreeningIndividualList(watchlistScreeningIndividualListRequest) + .execute(); + assertSuccessResponse(watchlistScreeningIndividualListResponse); + assertFalse(watchlistScreeningIndividualListResponse.body().getWatchlistScreenings().isEmpty()); + + // List History + WatchlistScreeningIndividualHistoryListRequest watchlistScreeningIndividualHistoryListRequest = + new WatchlistScreeningIndividualHistoryListRequest(); + watchlistScreeningIndividualHistoryListRequest + .setWatchlistScreeningId(watchlistScreeningIndividualCreateResponse.body().getId()); + + Response watchlistScreeningIndividualHistoryListResponse = + client().watchlistScreeningIndividualHistoryList(watchlistScreeningIndividualHistoryListRequest).execute(); + assertEquals(2, watchlistScreeningIndividualHistoryListResponse.body().getWatchlistScreenings().size()); + } +} diff --git a/src/test/java/com/plaid/client/integration/PaymentCreateTest.java b/src/test/java/com/plaid/client/integration/PaymentCreateTest.java new file mode 100644 index 0000000000..e3d5a022a0 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/PaymentCreateTest.java @@ -0,0 +1,57 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertNotNull; + +import com.plaid.client.integration.RecipientCreateTest; +import com.plaid.client.model.PaymentAmount; +import com.plaid.client.model.PaymentAmountCurrency; +import com.plaid.client.model.PaymentInitiationPaymentCreateRequest; +import com.plaid.client.model.PaymentInitiationPaymentCreateResponse; +import com.plaid.client.model.PaymentInitiationPaymentCreateResponse; +import com.plaid.client.model.PaymentInitiationRecipientCreateResponse; +import com.plaid.client.request.PlaidApi; +import org.junit.Test; +import retrofit2.Response; + +public class PaymentCreateTest extends AbstractIntegrationTest { + + /** + * Utility method that creates a paymentinitiation. + * Used by other integration tests to set up. + */ + public static Response createPayment( + PlaidApi client + ) + throws Exception { + Response createRecipientResponse = RecipientCreateTest.createRecipientWithIban( + client + ); + String recipientId = createRecipientResponse.body().getRecipientId(); + assertNotNull(recipientId); + + PaymentAmount amount = new PaymentAmount() + .currency(PaymentAmountCurrency.GBP) + .value(999.99); + + PaymentInitiationPaymentCreateRequest paymentCreateRequest = new PaymentInitiationPaymentCreateRequest() + .recipientId(recipientId) + .reference("reference") + .amount(amount); + + Response response = client + .paymentInitiationPaymentCreate(paymentCreateRequest) + .execute(); + + return response; + } + + @Test + public void testPaymentCreateSuccess() throws Exception { + Response response = createPayment( + client() + ); + assertSuccessResponse(response); + assertNotNull(response.body().getPaymentId()); + assertNotNull(response.body().getStatus()); + } +} diff --git a/src/test/java/com/plaid/client/integration/PaymentGetTest.java b/src/test/java/com/plaid/client/integration/PaymentGetTest.java new file mode 100644 index 0000000000..0b80402df7 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/PaymentGetTest.java @@ -0,0 +1,66 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertNotNull; + +import com.plaid.client.integration.PaymentCreateTest; +import com.plaid.client.model.CountryCode; +import com.plaid.client.model.LinkTokenCreateRequest; +import com.plaid.client.model.LinkTokenCreateRequestPaymentInitiation; +import com.plaid.client.model.LinkTokenCreateRequestUser; +import com.plaid.client.model.LinkTokenCreateResponse; +import com.plaid.client.model.PaymentInitiationPaymentCreateResponse; +import com.plaid.client.model.PaymentInitiationPaymentGetRequest; +import com.plaid.client.model.PaymentInitiationPaymentGetResponse; +import com.plaid.client.model.Products; +import java.util.Arrays; +import java.util.Collections; +import java.util.Date; +import org.junit.Test; +import retrofit2.Response; + +public class PaymentGetTest extends AbstractIntegrationTest { + + @Test + public void testPaymentGetSuccess() throws Exception { + Response createPaymentResponse = PaymentCreateTest.createPayment( + client() + ); + String paymentId = createPaymentResponse.body().getPaymentId(); + assertNotNull(paymentId); + + String clientUserId = Long.toString((new Date()).getTime()); + + LinkTokenCreateRequestUser user = new LinkTokenCreateRequestUser() + .clientUserId(clientUserId); + + LinkTokenCreateRequestPaymentInitiation paymentInitiation = new LinkTokenCreateRequestPaymentInitiation() + .paymentId(paymentId); + + LinkTokenCreateRequest request = new LinkTokenCreateRequest() + .user(user) + .clientName("client name") + .products(Arrays.asList(Products.PAYMENT_INITIATION)) + .countryCodes(Arrays.asList(CountryCode.US)) + .language("en") + .paymentInitiation(paymentInitiation); + + Response response = client() + .linkTokenCreate(request) + .execute(); + assertSuccessResponse(response); + + PaymentInitiationPaymentGetRequest payRequest = new PaymentInitiationPaymentGetRequest() + .paymentId(paymentId); + + Response getPaymentResponse = client() + .paymentInitiationPaymentGet(payRequest) + .execute(); + assertSuccessResponse(getPaymentResponse); + assertNotNull(getPaymentResponse.body().getPaymentId()); + assertNotNull(getPaymentResponse.body().getReference()); + assertNotNull(getPaymentResponse.body().getAmount()); + assertNotNull(getPaymentResponse.body().getStatus()); + assertNotNull(getPaymentResponse.body().getLastStatusUpdate()); + assertNotNull(getPaymentResponse.body().getRecipientId()); + } +} diff --git a/src/test/java/com/plaid/client/integration/PaymentListTest.java b/src/test/java/com/plaid/client/integration/PaymentListTest.java new file mode 100644 index 0000000000..1da4846e2d --- /dev/null +++ b/src/test/java/com/plaid/client/integration/PaymentListTest.java @@ -0,0 +1,46 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import com.plaid.client.integration.PaymentCreateTest; +import com.plaid.client.model.PaymentInitiationPaymentCreateResponse; +import com.plaid.client.model.PaymentInitiationPaymentListRequest; +import com.plaid.client.model.PaymentInitiationPaymentListResponse; +import org.junit.Test; +import retrofit2.Response; + +import java.time.OffsetDateTime; + +public class PaymentListTest extends AbstractIntegrationTest { + + @Test + public void testPaymentListSuccess() throws Exception { + Response createPaymentResponse = PaymentCreateTest.createPayment( + client() + ); + String paymentId = createPaymentResponse.body().getPaymentId(); + assertNotNull(paymentId); + + PaymentInitiationPaymentListRequest request = new PaymentInitiationPaymentListRequest() + .count(10); + + Response listPaymentResponse = client() + .paymentInitiationPaymentList(request) + .execute(); + + assertSuccessResponse(listPaymentResponse); + assertTrue(listPaymentResponse.body().getPayments().size() > 0); + + if (listPaymentResponse.body().getNextCursor() != null) { + OffsetDateTime nextCursor = listPaymentResponse.body().getNextCursor(); + PaymentInitiationPaymentListRequest cursorReq = new PaymentInitiationPaymentListRequest() + .cursor(nextCursor); + + Response listPaymentResponseWithCursor = client() + .paymentInitiationPaymentList(cursorReq) + .execute(); + assertSuccessResponse(listPaymentResponseWithCursor); + } + } +} diff --git a/src/test/java/com/plaid/client/integration/PlaidClientTest.java b/src/test/java/com/plaid/client/integration/PlaidClientTest.java index b105ee8202..f899a57311 100644 --- a/src/test/java/com/plaid/client/integration/PlaidClientTest.java +++ b/src/test/java/com/plaid/client/integration/PlaidClientTest.java @@ -1,27 +1,31 @@ package com.plaid.client.integration; -import com.plaid.client.request.InstitutionsSearchRequest; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.InstitutionsSearchResponse; +import static org.junit.Assert.*; + +import com.plaid.client.model.CountryCode; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.InstitutionsSearchRequest; +import com.plaid.client.model.InstitutionsSearchResponse; +import com.plaid.client.model.Products; + +import java.util.Arrays; import org.junit.Test; import retrofit2.Response; -import static org.junit.Assert.*; - public class PlaidClientTest extends AbstractIntegrationTest { @Test public void testFailedRequest() throws Exception { - Response resp = client().service().institutionsSearch(new InstitutionsSearchRequest("")).execute(); - - assertFalse(resp.isSuccessful()); + InstitutionsSearchRequest request = new InstitutionsSearchRequest() + .products(Arrays.asList(Products.ASSETS)) + .countryCodes(Arrays.asList(CountryCode.US)) + .query(""); - ErrorResponse errorResponse = client().parseError(resp); + Response response = client() + .institutionsSearch(request) + .execute(); - assertNull(errorResponse.getDisplayMessage()); - assertEquals("INVALID_FIELD", errorResponse.getErrorCode()); - assertEquals("query must be a non-empty string", errorResponse.getErrorMessage()); - assertEquals(ErrorResponse.ErrorType.INVALID_REQUEST, errorResponse.getErrorType()); - assertNotNull(errorResponse.getRequestId()); + assertErrorResponse(response, PlaidErrorType.INVALID_REQUEST, "INVALID_FIELD"); } } diff --git a/src/test/java/com/plaid/client/integration/RecipientCreateTest.java b/src/test/java/com/plaid/client/integration/RecipientCreateTest.java new file mode 100644 index 0000000000..b07b01079e --- /dev/null +++ b/src/test/java/com/plaid/client/integration/RecipientCreateTest.java @@ -0,0 +1,125 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertNotNull; + +import com.plaid.client.request.PlaidApi; +import com.plaid.client.model.RecipientBACSNullable; +import com.plaid.client.model.PaymentInitiationAddress; +import com.plaid.client.model.PaymentInitiationRecipientCreateRequest; +import com.plaid.client.model.PaymentInitiationRecipientCreateResponse; +import java.util.Arrays; +import org.junit.Test; +import retrofit2.Response; + + +public class RecipientCreateTest extends AbstractIntegrationTest { + + /** + * Utility method that creates a payment recipient with an iban. Used by other integration tests + * to set up. + */ + public static Response createRecipientWithIban( + PlaidApi client + ) + throws Exception { + PaymentInitiationAddress address = new PaymentInitiationAddress() + .street(Arrays.asList("Street Name 999")) + .city("City") + .postalCode("99999") + .country("GB"); + + PaymentInitiationRecipientCreateRequest recipientCreateRequest = new PaymentInitiationRecipientCreateRequest() + .name("John Doe") + .iban("GB33BUKB20201555555555") + .address(address); + + Response response = client + .paymentInitiationRecipientCreate(recipientCreateRequest) + .execute(); + + return response; + } + + /** + * Utility method that creates a payment recipient with bacs. Used by other integration tests to + * set up. + */ + public static Response createRecipientWithBacs( + PlaidApi client + ) + throws Exception { + PaymentInitiationAddress address = new PaymentInitiationAddress() + .street(Arrays.asList("Street Name 999")) + .city("City") + .postalCode("99999") + .country("GB"); + RecipientBACSNullable bacs = new RecipientBACSNullable() + .account("26207729") + .sortCode("560029"); + + PaymentInitiationRecipientCreateRequest recipientCreateRequest = new PaymentInitiationRecipientCreateRequest() + .name("John Doe") + .bacs(bacs) + .address(address); + + Response response = client + .paymentInitiationRecipientCreate(recipientCreateRequest) + .execute(); + + return response; + } + + public static Response createRecipientWithBacsAndIban( + PlaidApi client + ) + throws Exception { + PaymentInitiationAddress address = new PaymentInitiationAddress() + .street(Arrays.asList("Street Name 999")) + .city("City") + .postalCode("99999") + .country("GB"); + + RecipientBACSNullable bacs = new RecipientBACSNullable() + .account("26207729") + .sortCode("560029"); + + PaymentInitiationRecipientCreateRequest recipientCreateRequest = new PaymentInitiationRecipientCreateRequest() + .name("John Doe") + .bacs(bacs) + .iban("GB33BUKB20201555555555") + .address(address); + + Response response = client + .paymentInitiationRecipientCreate(recipientCreateRequest) + .execute(); + + return response; + } + + @Test + public void testRecipientCreateSuccessWithIban() throws Exception { + Response response = createRecipientWithIban( + client() + ); + assertSuccessResponse(response); + assertNotNull(response.body().getRecipientId()); + } + + @Test + public void testRecipientCreateSuccessWithBacs() throws Exception { + Response response = createRecipientWithBacs( + client() + ); + assertSuccessResponse(response); + assertNotNull(response.body().getRecipientId()); + } + + @Test + public void testRecipientCreateSuccessWithBacsAndIban() throws Exception { + Response response = createRecipientWithBacsAndIban( + client() + ); + assertSuccessResponse(response); + assertNotNull(response.body().getRecipientId()); + } +} diff --git a/src/test/java/com/plaid/client/integration/RecipientGetTest.java b/src/test/java/com/plaid/client/integration/RecipientGetTest.java new file mode 100644 index 0000000000..111ed182d8 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/RecipientGetTest.java @@ -0,0 +1,57 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertNotNull; + +import com.plaid.client.integration.RecipientCreateTest; +import com.plaid.client.model.PaymentInitiationRecipientCreateResponse; +import com.plaid.client.model.PaymentInitiationRecipientGetRequest; +import com.plaid.client.model.PaymentInitiationRecipientGetResponse; +import java.util.Arrays; +import org.junit.Test; +import retrofit2.Response; + +public class RecipientGetTest extends AbstractIntegrationTest { + + @Test + public void testRecipientGetSuccessWithIban() throws Exception { + Response createRecipientResponse = RecipientCreateTest.createRecipientWithIban( + client() + ); + String recipientId = createRecipientResponse.body().getRecipientId(); + assertNotNull(recipientId); + + PaymentInitiationRecipientGetRequest request = new PaymentInitiationRecipientGetRequest() + .recipientId(recipientId); + + Response getRecipientResponse = client() + .paymentInitiationRecipientGet(request) + .execute(); + assertSuccessResponse(getRecipientResponse); + assertNotNull(getRecipientResponse.body().getRecipientId()); + assertNotNull(getRecipientResponse.body().getName()); + assertNotNull(getRecipientResponse.body().getIban()); + assertNotNull(getRecipientResponse.body().getAddress()); + } + + @Test + public void testRecipientGetSuccessWithBacs() throws Exception { + Response createRecipientResponse = RecipientCreateTest.createRecipientWithBacs( + client() + ); + String recipientId = createRecipientResponse.body().getRecipientId(); + assertNotNull(recipientId); + + PaymentInitiationRecipientGetRequest request = new PaymentInitiationRecipientGetRequest() + .recipientId(recipientId); + + Response getRecipientResponse = client() + .paymentInitiationRecipientGet(request) + .execute(); + + assertSuccessResponse(getRecipientResponse); + assertNotNull(getRecipientResponse.body().getRecipientId()); + assertNotNull(getRecipientResponse.body().getName()); + assertNotNull(getRecipientResponse.body().getBacs()); + assertNotNull(getRecipientResponse.body().getAddress()); + } +} diff --git a/src/test/java/com/plaid/client/integration/RecipientListTest.java b/src/test/java/com/plaid/client/integration/RecipientListTest.java new file mode 100644 index 0000000000..9e7812c7cf --- /dev/null +++ b/src/test/java/com/plaid/client/integration/RecipientListTest.java @@ -0,0 +1,31 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import com.plaid.client.integration.RecipientCreateTest; +import com.plaid.client.model.PaymentInitiationRecipientCreateResponse; +import com.plaid.client.model.PaymentInitiationRecipientListRequest; +import com.plaid.client.model.PaymentInitiationRecipientListResponse; +import java.util.Arrays; +import org.junit.Test; +import retrofit2.Response; + +public class RecipientListTest extends AbstractIntegrationTest { + + @Test + public void testRecipientListSuccess() throws Exception { + Response createRecipientResponse = RecipientCreateTest.createRecipientWithIban( + client() + ); + assertNotNull(createRecipientResponse.body().getRecipientId()); + + PaymentInitiationRecipientListRequest request = new PaymentInitiationRecipientListRequest(); + + Response listRecipientResponse = client() + .paymentInitiationRecipientList(request) + .execute(); + assertSuccessResponse(listRecipientResponse); + assertTrue(listRecipientResponse.body().getRecipients().size() > 0); + } +} diff --git a/src/test/java/com/plaid/client/integration/SandboxItemFireWebhookTest.java b/src/test/java/com/plaid/client/integration/SandboxItemFireWebhookTest.java new file mode 100644 index 0000000000..afb1e7ebb1 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/SandboxItemFireWebhookTest.java @@ -0,0 +1,55 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertTrue; + +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.ItemWebhookUpdateRequest; +import com.plaid.client.model.ItemWebhookUpdateResponse; +import com.plaid.client.model.Products; +import com.plaid.client.model.SandboxItemFireWebhookRequest; +import com.plaid.client.model.SandboxItemFireWebhookResponse; +import com.plaid.client.model.WebhookType; +import java.util.Arrays; +import java.util.List; +import org.junit.Test; +import retrofit2.Response; + +public class SandboxItemFireWebhookTest extends AbstractItemIntegrationTest { + + @Override + protected List setupItemProducts() { + return Arrays.asList(Products.TRANSACTIONS); + } + + @Override + protected String setupItemInstitutionId() { + return TARTAN_BANK_INSTITUTION_ID; + } + + @Test + public void testSuccess() throws Exception { + // Set a webhook + ItemWebhookUpdateRequest request = new ItemWebhookUpdateRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()) + .webhook("https://baz.xyz/foo-test-hook"); + + Response webhookResponse = client() + .itemWebhookUpdate(request) + .execute(); + + // Fire a webhook + SandboxItemFireWebhookRequest fireRequest = new SandboxItemFireWebhookRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()) + .webhookCode( + SandboxItemFireWebhookRequest.WebhookCodeEnum.DEFAULT_UPDATE + ) + .webhookType(WebhookType.TRANSACTIONS); + + Response response = client() + .sandboxItemFireWebhook(fireRequest) + .execute(); + + assertSuccessResponse(response); + assertTrue(response.body().getWebhookFired()); + } +} diff --git a/src/test/java/com/plaid/client/integration/SandboxItemResetLoginTest.java b/src/test/java/com/plaid/client/integration/SandboxItemResetLoginTest.java index 0e14d1dd78..40c7abaf30 100644 --- a/src/test/java/com/plaid/client/integration/SandboxItemResetLoginTest.java +++ b/src/test/java/com/plaid/client/integration/SandboxItemResetLoginTest.java @@ -1,21 +1,21 @@ package com.plaid.client.integration; -import com.plaid.client.request.SandboxItemResetLoginRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.SandboxItemResetLoginResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.assertTrue; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.Products; +import com.plaid.client.model.SandboxItemResetLoginRequest; +import com.plaid.client.model.SandboxItemResetLoginResponse; import java.util.Arrays; import java.util.List; - -import static org.junit.Assert.assertTrue; +import org.junit.Test; +import retrofit2.Response; public class SandboxItemResetLoginTest extends AbstractItemIntegrationTest { + @Override - protected List setupItemProducts() { - return Arrays.asList(Product.AUTH); + protected List setupItemProducts() { + return Arrays.asList(Products.AUTH); } @Override @@ -25,8 +25,12 @@ protected String setupItemInstitutionId() { @Test public void testSuccess() throws Exception { - Response response = - client().service().sandboxItemResetLogin(new SandboxItemResetLoginRequest(getItemCreateResponse().getAccessToken())).execute(); + SandboxItemResetLoginRequest request = new SandboxItemResetLoginRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .sandboxItemResetLogin(request) + .execute(); assertSuccessResponse(response); assertTrue(response.body().getResetLogin()); diff --git a/src/test/java/com/plaid/client/integration/SandboxPublicTokenCreateTest.java b/src/test/java/com/plaid/client/integration/SandboxPublicTokenCreateTest.java index 5eb453586f..cd1a106066 100644 --- a/src/test/java/com/plaid/client/integration/SandboxPublicTokenCreateTest.java +++ b/src/test/java/com/plaid/client/integration/SandboxPublicTokenCreateTest.java @@ -1,34 +1,42 @@ package com.plaid.client.integration; -import com.plaid.client.request.SandboxPublicTokenCreateRequest; -import com.plaid.client.request.ItemPublicTokenExchangeRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemPublicTokenExchangeResponse; -import com.plaid.client.response.SandboxPublicTokenCreateResponse; -import org.junit.Test; -import retrofit2.Response; +import static org.junit.Assert.assertNotNull; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.ItemPublicTokenExchangeRequest; +import com.plaid.client.model.ItemPublicTokenExchangeResponse; +import com.plaid.client.model.Products; +import com.plaid.client.model.SandboxPublicTokenCreateRequest; +import com.plaid.client.model.SandboxPublicTokenCreateResponse; import java.util.Arrays; import java.util.List; - -import static org.junit.Assert.assertNotNull; +import org.junit.Test; +import retrofit2.Response; public class SandboxPublicTokenCreateTest extends AbstractIntegrationTest { @Test public void testSuccess() throws Exception { - Response createResponse = - client().service().sandboxPublicTokenCreate(new SandboxPublicTokenCreateRequest(TARTAN_BANK_INSTITUTION_ID, Arrays.asList(Product.AUTH))).execute(); + SandboxPublicTokenCreateRequest request = new SandboxPublicTokenCreateRequest() + .institutionId(TARTAN_BANK_INSTITUTION_ID) + .initialProducts(Arrays.asList(Products.AUTH)); + + Response createResponse = client() + .sandboxPublicTokenCreate(request) + .execute(); assertSuccessResponse(createResponse); assertNotNull(createResponse.body().getPublicToken()); - Response response = - client().service().itemPublicTokenExchange(new ItemPublicTokenExchangeRequest(createResponse.body().getPublicToken())).execute(); + ItemPublicTokenExchangeRequest exchangeRequest = new ItemPublicTokenExchangeRequest() + .publicToken(createResponse.body().getPublicToken()); + + Response response = client() + .itemPublicTokenExchange(exchangeRequest) + .execute(); assertSuccessResponse(response); assertNotNull(response.body().getAccessToken()); - assertNotNull(response.body().getItemId()); + assertNotNull(response.body().getItemId()); } } diff --git a/src/test/java/com/plaid/client/integration/StatementsTest.java b/src/test/java/com/plaid/client/integration/StatementsTest.java new file mode 100644 index 0000000000..d6f0897427 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/StatementsTest.java @@ -0,0 +1,184 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.*; + +import com.google.gson.Gson; +import com.plaid.client.model.*; +import com.plaid.client.request.PlaidApi; +import okhttp3.ResponseBody; + +import java.security.NoSuchAlgorithmException; +import java.time.LocalDate; +import java.util.*; + +import org.json.JSONObject; +import org.junit.Test; +import retrofit2.Response; + +import java.security.MessageDigest; + +public class StatementsTest extends AbstractItemIntegrationTest { + @Override + protected List setupItemProducts() { + return Arrays.asList(Products.STATEMENTS); + } + + @Override + protected String setupItemInstitutionId() { + return FIRST_PLATYPUS_BANK_INSTITUTION_ID; + } + + @Override + protected SandboxPublicTokenCreateRequestOptions setupOptions() { + SandboxPublicTokenCreateRequestOptionsStatements statementsOptions = new SandboxPublicTokenCreateRequestOptionsStatements() + .startDate(LocalDate.parse("2023-11-01")) + .endDate(LocalDate.parse("2023-12-01")); + + SandboxPublicTokenCreateRequestOptions options = new SandboxPublicTokenCreateRequestOptions() + .statements(statementsOptions); + + return options; + } + + @Test + public void testStatementsFullFlow() throws Exception { + String accessToken = getItemPublicTokenExchangeResponse().getAccessToken(); + // /statements/list + Response listStatementsResponse = pollListStatements(client(), accessToken); + assertNotNull(listStatementsResponse.body()); + List accounts = listStatementsResponse.body().getAccounts(); + assertFalse(accounts.isEmpty()); + assertFalse(accounts.get(0).getStatements().isEmpty()); + + // /statements/download + for (StatementsAccount account : accounts) { + for (StatementsStatement statement : account.getStatements()) { + Response downloadStatementResponse = downloadStatement( + client(), + accessToken, + statement.getStatementId() + ); + + assertNotNull(downloadStatementResponse.body()); + assertEquals("application/pdf", downloadStatementResponse.headers().get("Content-Type")); + + String actualHash = getSha256Checksum(downloadStatementResponse.body().bytes()); + assertEquals(downloadStatementResponse.headers().get("Plaid-Content-Hash"), actualHash); + } + } + + // /statements/refresh + Response statementsRefreshResponse = refreshStatements( + client(), + accessToken, + "2024-01-01", + "2024-02-01" + ); + assertNotNull(statementsRefreshResponse.body()); + assertFalse(statementsRefreshResponse.body().getRequestId().isEmpty()); + + // /statements/list + listStatementsResponse = pollListStatements(client(), accessToken); + assertNotNull(listStatementsResponse.body()); + accounts = listStatementsResponse.body().getAccounts(); + assertFalse(accounts.isEmpty()); + assertFalse(accounts.get(0).getStatements().isEmpty()); + } + + public String getSha256Checksum(byte[] bytes) { + try { + MessageDigest digest = MessageDigest.getInstance("SHA-256"); + byte[] hash = digest.digest(bytes); + + // Convert byte array to hex string + StringBuilder hexString = new StringBuilder(); + for (byte b : hash) { + String hex = Integer.toHexString(0xff & b); + if (hex.length() == 1) { + hexString.append('0'); + } + hexString.append(hex); + } + return hexString.toString(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + return null; + } + } + + // While this method makes use of polling, Plaid recommends using webhooks in your integration. + public static Response pollListStatements( + PlaidApi client, + String accessToken + ) throws Exception { + int NUM_RETRIES = 20; + int INTER_REQUEST_SLEEP = 2000; // millis + int attempt = 0; + + Response response; + JSONObject errorResponse = new JSONObject(); + PlaidError error = new PlaidError(); + + do { + StatementsListRequest statementsListRequest = new StatementsListRequest() + .accessToken(accessToken); + + response = client.statementsList(statementsListRequest).execute(); + + try { + Gson gson = new Gson(); + error = gson.fromJson(response.errorBody().string(), PlaidError.class); + } catch (Exception e) { + // Dont' want to throw here. + } + + attempt++; + Thread.sleep(INTER_REQUEST_SLEEP); + } while ( + !response.isSuccessful() && + response.errorBody() != null && + error.getErrorCode().equals("PRODUCT_NOT_READY") && + attempt < NUM_RETRIES + ); + assertSuccessResponse(response); + return response; + } + + public static Response downloadStatement( + PlaidApi client, + String accessToken, + String statementID + ) + throws Exception { + Response response; + JSONObject errorResponse = new JSONObject(); + + StatementsDownloadRequest statementsDownloadRequest = new StatementsDownloadRequest() + .accessToken(accessToken) + .statementId(statementID); + + response = client.statementsDownload(statementsDownloadRequest).execute(); + assertSuccessResponse(response); + return response; + } + + public static Response refreshStatements( + PlaidApi client, + String accessToken, + String startDate, + String endDate + ) + throws Exception { + Response response; + JSONObject errorResponse = new JSONObject(); + + StatementsRefreshRequest statementsRefreshRequest = new StatementsRefreshRequest() + .accessToken(accessToken) + .startDate(LocalDate.parse(startDate)) + .endDate(LocalDate.parse(endDate)); + + response = client.statementsRefresh(statementsRefreshRequest).execute(); + assertSuccessResponse(response); + return response; + } +} diff --git a/src/test/java/com/plaid/client/integration/TransactionsEnrichTest.java b/src/test/java/com/plaid/client/integration/TransactionsEnrichTest.java new file mode 100644 index 0000000000..1219f1af22 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/TransactionsEnrichTest.java @@ -0,0 +1,73 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import com.plaid.client.model.ClientProvidedEnrichedTransaction; +import com.plaid.client.model.ClientProvidedTransaction; +import com.plaid.client.model.ClientProvidedTransactionLocation; +import com.plaid.client.model.EnrichTransactionDirection; +import com.plaid.client.model.TransactionsEnrichRequest; +import com.plaid.client.model.TransactionsEnrichResponse; + +import java.util.Arrays; +import java.util.List; +import org.junit.Test; +import retrofit2.Response; + +public class TransactionsEnrichTest extends AbstractIntegrationTest { + + @Test + public void testTransactionsEnrichSuccess() throws Exception { + List transactionsToEnrich = Arrays.asList( + new ClientProvidedTransaction() + .id("1") + .direction(EnrichTransactionDirection.OUTFLOW) + .isoCurrencyCode("USD") + .amount(123.00) + .location( + new ClientProvidedTransactionLocation().city("Ipswich").region("MA") + ) + .description("TST *JETTIES BAGELS"), + new ClientProvidedTransaction() + .id("2") + .direction(EnrichTransactionDirection.OUTFLOW) + .isoCurrencyCode("USD") + .amount(123.00) + .description("AMAZON.COM*MJ3LO9AN2"), + new ClientProvidedTransaction() + .id("3") + .direction(EnrichTransactionDirection.OUTFLOW) + .isoCurrencyCode("USD") + .amount(123.00) + .description("GOOGLE *FRESHBOOKS"), + new ClientProvidedTransaction() + .id("4") + .direction(EnrichTransactionDirection.INFLOW) + .isoCurrencyCode("USD") + .amount(123.00) + .description("EARNIN TRANSFER") + ); + + TransactionsEnrichRequest transactionsEnrichRequest = new TransactionsEnrichRequest() + .accountType("depository").transactions(transactionsToEnrich); + + Response response = client() + .transactionsEnrich(transactionsEnrichRequest) + .execute(); + + assertSuccessResponse(response); + + List enrichedTransactions = response.body().getEnrichedTransactions(); + + assertTrue(enrichedTransactions.size() == transactionsToEnrich.size()); + + for (ClientProvidedEnrichedTransaction item : enrichedTransactions) { + assertNotNull(item.getAmount()); + assertNotNull(item.getDescription()); + assertNotNull(item.getDirection()); + assertNotNull(item.getEnrichments()); + assertNotNull(item.getId()); + } + } +} diff --git a/src/test/java/com/plaid/client/integration/TransactionsGetTest.java b/src/test/java/com/plaid/client/integration/TransactionsGetTest.java index 2f294d3482..7352b207c9 100644 --- a/src/test/java/com/plaid/client/integration/TransactionsGetTest.java +++ b/src/test/java/com/plaid/client/integration/TransactionsGetTest.java @@ -1,65 +1,103 @@ package com.plaid.client.integration; -import com.plaid.client.request.AccountsGetRequest; -import com.plaid.client.request.ItemCreateRequest; -import com.plaid.client.request.TransactionsGetRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.AccountsGetResponse; -import com.plaid.client.response.ErrorResponse; -import com.plaid.client.response.ItemCreateResponse; -import com.plaid.client.response.TransactionsGetResponse; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import com.google.gson.Gson; +import com.plaid.client.model.AccountsGetRequest; +import com.plaid.client.model.AccountsGetResponse; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.ItemPublicTokenExchangeRequest; +import com.plaid.client.model.ItemPublicTokenExchangeResponse; +import com.plaid.client.model.Products; +import com.plaid.client.model.SandboxPublicTokenCreateRequest; +import com.plaid.client.model.SandboxPublicTokenCreateResponse; +import com.plaid.client.model.Transaction; +import com.plaid.client.model.TransactionsGetRequest; +import com.plaid.client.model.TransactionsGetRequestOptions; +import com.plaid.client.model.TransactionsGetResponse; import java.text.SimpleDateFormat; -import java.util.Collections; -import java.util.Date; +import java.time.LocalDate; +import java.util.Arrays; +import java.util.List; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; -import retrofit2.Response; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import retrofit2.Response; public class TransactionsGetTest extends AbstractIntegrationTest { + private String accessToken; - private Date startDate; - private Date endDate; + private LocalDate startDate; + private LocalDate endDate; @Before public void setUp() throws Exception { - Response response = client().service().itemCreate( - new ItemCreateRequest( - TARTAN_BANK_INSTITUTION_ID, - Collections.singletonList(Product.TRANSACTIONS) - ) - .withOptionAwaitResults(true) - .withCredentials("username", "user_good") - .withCredentials("password", "pass_good") - ).execute(); + SandboxPublicTokenCreateRequest request = new SandboxPublicTokenCreateRequest() + .institutionId(TARTAN_BANK_INSTITUTION_ID) + .initialProducts(Arrays.asList(Products.TRANSACTIONS)); + + Response createResponse = client() + .sandboxPublicTokenCreate(request) + .execute(); + + assertSuccessResponse(createResponse); + + ItemPublicTokenExchangeRequest exchangeRequest = new ItemPublicTokenExchangeRequest() + .publicToken(createResponse.body().getPublicToken()); + + Response response = client() + .itemPublicTokenExchange(exchangeRequest) + .execute(); assertSuccessResponse(response); this.accessToken = response.body().getAccessToken(); - startDate = new Date(System.currentTimeMillis() - 86400000L * 100); - endDate = new Date(); + startDate = LocalDate.now().minusDays(365 * 2); + endDate = LocalDate.now(); } @Test public void testSuccess() throws Exception { - TransactionsGetRequest request = - new TransactionsGetRequest(accessToken, startDate, endDate) - .withCount(100); - Response response = client().service() - .transactionsGet(request).execute(); + TransactionsGetRequestOptions options = new TransactionsGetRequestOptions() + .count(100); - assertSuccessResponse(response); - assertNotNull(response.body().getTotalTransactions()); - assertNotNull(response.body().getItem()); - assertNotNull(response.body().getAccounts()); - assertFalse(response.body().getAccounts().isEmpty()); - assertTrue(response.body().getTransactions().size() > 0); - for (TransactionsGetResponse.Transaction txn : response.body().getTransactions()) { + TransactionsGetRequest request = new TransactionsGetRequest() + .accessToken(accessToken) + .startDate(startDate) + .endDate(endDate) + .options(options); + + Response apiResponse = null; + for (int i = 0; i < 5; i++) { + apiResponse = client().transactionsGet(request).execute(); + if (apiResponse.isSuccessful()) { + break; + } else { + try { + assertErrorResponse( + apiResponse, + PlaidErrorType.ITEM_ERROR, + "PRODUCT_NOT_READY" + ); + Thread.sleep(3000); + } catch (Exception e) {} + } + } + assertSuccessResponse(apiResponse); + TransactionsGetResponse transactionResponse = apiResponse.body(); + assertNotNull(transactionResponse); + assertNotNull(transactionResponse.getTotalTransactions()); + assertNotNull(transactionResponse.getItem()); + assertNotNull(transactionResponse.getAccounts()); + assertFalse(transactionResponse.getAccounts().isEmpty()); + assertTrue(transactionResponse.getTransactions().size() > 0); + + for (Transaction txn : transactionResponse.getTransactions()) { assertNotNull(txn.getTransactionId()); assertNotNull(txn.getAccountId()); assertNotNull(txn.getPending()); @@ -69,44 +107,77 @@ public void testSuccess() throws Exception { assertNotNull(txn.getName()); assertNotNull(txn.getAmount()); assertNotNull(txn.getLocation()); - assertNotNull(txn.getIsoCurrencyCode()); + assertNotNull(txn.getPaymentChannel()); } } - // TODO: Enable test, see #7 - @Ignore + @Test public void testFullyLoadedRequest() throws Exception { // get some account info - Response accountsGetResponse = - client().service().accountsGet(new AccountsGetRequest(accessToken)).execute(); + AccountsGetRequest agRequest = new AccountsGetRequest() + .accessToken(accessToken); + + Response accountsGetResponse = client() + .accountsGet(agRequest) + .execute(); assertSuccessResponse(accountsGetResponse); - String someAccountId = accountsGetResponse.body().getAccounts().get(0).getAccountId(); + String someAccountId = accountsGetResponse + .body() + .getAccounts() + .get(0) + .getAccountId(); // actual test int numTxns = 2; - Response response = client().service().transactionsGet( - new TransactionsGetRequest( - accessToken, - startDate, - endDate) - .withAccountIds(Collections.singletonList(someAccountId)) - .withCount(numTxns) - .withOffset(1)).execute(); - assertSuccessResponse(response); - assertTrue(response.body().getTotalTransactions() > numTxns); - assertEquals(numTxns, response.body().getTransactions().size()); + TransactionsGetRequestOptions options = new TransactionsGetRequestOptions() + .accountIds(Arrays.asList(someAccountId)) + .count(numTxns) + .offset(1); + + TransactionsGetRequest request = new TransactionsGetRequest() + .accessToken(accessToken) + .startDate(startDate) + .endDate(endDate) + .options(options); + + Response apiResponse = null; + for (int i = 0; i < 5; i++) { + apiResponse = client().transactionsGet(request).execute(); + if (apiResponse.isSuccessful()) { + break; + } else { + try { + assertErrorResponse( + apiResponse, + PlaidErrorType.ITEM_ERROR, + "PRODUCT_NOT_READY" + ); + Thread.sleep(3000); + } catch (Exception e) {} + } + } + + assertSuccessResponse(apiResponse); + assertTrue(apiResponse.body().getTotalTransactions() > numTxns); + assertEquals(numTxns, apiResponse.body().getTransactions().size()); } @Test public void testBadAccessToken() throws Exception { - Response response = client().service().transactionsGet( - new TransactionsGetRequest( - "totally-invalid-stuff", - new Date(), - new Date())) + TransactionsGetRequest request = new TransactionsGetRequest() + .accessToken("totally-invalid-stuff") + .startDate(LocalDate.now()) + .endDate(LocalDate.now()); + + Response response = client() + .transactionsGet(request) .execute(); - assertErrorResponse(response, ErrorResponse.ErrorType.INVALID_INPUT, "INVALID_ACCESS_TOKEN"); + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_ACCESS_TOKEN" + ); } } diff --git a/src/test/java/com/plaid/client/integration/TransactionsRefreshTest.java b/src/test/java/com/plaid/client/integration/TransactionsRefreshTest.java new file mode 100644 index 0000000000..f3b3b0500f --- /dev/null +++ b/src/test/java/com/plaid/client/integration/TransactionsRefreshTest.java @@ -0,0 +1,51 @@ +package com.plaid.client.integration; + +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.Products; +import com.plaid.client.model.TransactionsRefreshRequest; +import com.plaid.client.model.TransactionsRefreshResponse; +import java.util.Collections; +import java.util.List; +import org.junit.Test; +import retrofit2.Response; + +public class TransactionsRefreshTest extends AbstractItemIntegrationTest { + + @Override + protected List setupItemProducts() { + return Collections.singletonList(Products.TRANSACTIONS); + } + + @Override + protected String setupItemInstitutionId() { + return TARTAN_BANK_INSTITUTION_ID; + } + + @Test + public void testSuccess() throws Exception { + TransactionsRefreshRequest request = new TransactionsRefreshRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .transactionsRefresh(request) + .execute(); + assertSuccessResponse(response); + } + + @Test + public void testInvalidAccessKey() throws Exception { + TransactionsRefreshRequest request = new TransactionsRefreshRequest() + .accessToken("Bad Token"); + + Response response = client() + .transactionsRefresh(request) + .execute(); + + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_ACCESS_TOKEN" + ); + } +} diff --git a/src/test/java/com/plaid/client/integration/WebhookVerificationKeyGetTest.java b/src/test/java/com/plaid/client/integration/WebhookVerificationKeyGetTest.java new file mode 100644 index 0000000000..daa117c7c2 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/WebhookVerificationKeyGetTest.java @@ -0,0 +1,51 @@ +package com.plaid.client.integration; + +import static org.junit.Assert.assertNotNull; + +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.WebhookVerificationKeyGetRequest; +import com.plaid.client.model.WebhookVerificationKeyGetResponse; +import org.junit.Test; +import retrofit2.Response; + +public class WebhookVerificationKeyGetTest extends AbstractIntegrationTest { + + @Test + public void testWebhookVerificationKeyGetSuccess() throws Exception { + WebhookVerificationKeyGetRequest request = new WebhookVerificationKeyGetRequest() + .keyId("6c5516e1-92dc-479e-a8ff-5a51992e0001"); + + Response getWebhookVerificationKeyResponse = client() + .webhookVerificationKeyGet(request) + .execute(); + assertSuccessResponse(getWebhookVerificationKeyResponse); + assertNotNull(getWebhookVerificationKeyResponse.body().getKey()); + assertNotNull(getWebhookVerificationKeyResponse.body().getKey().getAlg()); + assertNotNull( + getWebhookVerificationKeyResponse.body().getKey().getCreatedAt() + ); + assertNotNull(getWebhookVerificationKeyResponse.body().getKey().getCrv()); + assertNotNull(getWebhookVerificationKeyResponse.body().getKey().getKid()); + assertNotNull(getWebhookVerificationKeyResponse.body().getKey().getKty()); + assertNotNull(getWebhookVerificationKeyResponse.body().getKey().getUse()); + assertNotNull(getWebhookVerificationKeyResponse.body().getKey().getX()); + assertNotNull(getWebhookVerificationKeyResponse.body().getKey().getY()); + } + + @Test + public void testWebhookVerificationKeyGetFailure() throws Exception { + WebhookVerificationKeyGetRequest request = new WebhookVerificationKeyGetRequest() + .keyId("not-a-key-id"); + + Response response = client() + .webhookVerificationKeyGet(request) + .execute(); + + assertErrorResponse( + response, + PlaidErrorType.INVALID_INPUT, + "INVALID_WEBHOOK_VERIFICATION_KEY_ID" + ); + } +} diff --git a/src/test/java/com/plaid/client/integration/banktransfer/AbstractBankTransferTest.java b/src/test/java/com/plaid/client/integration/banktransfer/AbstractBankTransferTest.java new file mode 100644 index 0000000000..29c76eea51 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/banktransfer/AbstractBankTransferTest.java @@ -0,0 +1,96 @@ +package com.plaid.client.integration.banktransfer; + +import com.plaid.client.integration.AbstractItemIntegrationTest; +import com.plaid.client.model.ACHClass; +import com.plaid.client.model.AccountsGetRequest; +import com.plaid.client.model.AccountsGetResponse; +import com.plaid.client.model.BankTransfer; +import com.plaid.client.model.BankTransferCreateRequest; +import com.plaid.client.model.BankTransferCreateResponse; +import com.plaid.client.model.BankTransferNetwork; +import com.plaid.client.model.BankTransferType; +import com.plaid.client.model.BankTransferUser; +import com.plaid.client.model.Products; +import java.util.Arrays; +import java.util.List; +import org.junit.Before; +import org.junit.Test; +import retrofit2.Response; + +/** + * For tests where a bank transfer is required. + *

+ * Subclasses must implement the institution and products desired by implementing. + * {@link #setupItemProducts()} and {@link #setupItemInstitutionId()} + */ +public abstract class AbstractBankTransferTest + extends AbstractItemIntegrationTest { + + private BankTransfer bankTransfer; + + @Override + protected List setupItemProducts() { + return Arrays.asList(Products.AUTH); + } + + @Override + protected String setupItemInstitutionId() { + return TARTAN_BANK_INSTITUTION_ID; + } + + @Before + public void setUpBankTransfer() throws Exception { + AccountsGetRequest request = new AccountsGetRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()); + + Response response = client() + .accountsGet(request) + .execute(); + + assertSuccessResponse(response); + String accountId = response.body().getAccounts().get(0).getAccountId(); + + BankTransferUser user = new BankTransferUser().legalName("First Last"); + + BankTransferCreateRequest bankRequest = new BankTransferCreateRequest() + .accessToken(getItemPublicTokenExchangeResponse().getAccessToken()) + .idempotencyKey(String.valueOf(Math.random())) + .accountId(accountId) + .type(BankTransferType.CREDIT) + .network(BankTransferNetwork.ACH) + .amount("1.00") + .isoCurrencyCode("USD") + .description("testdesc") + .user(user) + .achClass(ACHClass.PPD); + + Response createResponse = client() + .bankTransferCreate(bankRequest) + .execute(); + assertSuccessResponse(createResponse); + this.bankTransfer = createResponse.body().getBankTransfer(); + } + + protected abstract void bankTransferTest() throws AssertionError, Exception; + + @Test + public void runWithRetries() throws Exception { + int maxRetries = 3; + for (int i = 0; i < maxRetries; i++) { + try { + this.bankTransferTest(); + break; + } catch (AssertionError e) { + // Rethrow error on final retry + if (i == maxRetries - 1) { + throw e; + } + Thread.sleep(1000); + } + } + } + + public BankTransfer getBankTransfer() { + return bankTransfer; + } +} diff --git a/src/test/java/com/plaid/client/integration/banktransfer/BankTransferBalanceGetTest.java b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferBalanceGetTest.java new file mode 100644 index 0000000000..01ce307215 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferBalanceGetTest.java @@ -0,0 +1,25 @@ +package com.plaid.client.integration.banktransfer; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; + +import com.plaid.client.integration.AbstractIntegrationTest; +import com.plaid.client.model.BankTransferBalanceGetRequest; +import com.plaid.client.model.BankTransferBalanceGetResponse; +import org.junit.Test; +import retrofit2.Response; + +public class BankTransferBalanceGetTest extends AbstractIntegrationTest { + + @Test + public void testBankTransferBalanceGet() throws Exception { + BankTransferBalanceGetRequest request = new BankTransferBalanceGetRequest(); + + Response response = client() + .bankTransferBalanceGet(request) + .execute(); + assertSuccessResponse(response); + assertNotNull(response.body().getBalance()); + assertFalse(response.body().getBalance().getAvailable().isEmpty()); + } +} diff --git a/src/test/java/com/plaid/client/integration/banktransfer/BankTransferCancelFailureTest.java b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferCancelFailureTest.java new file mode 100644 index 0000000000..5e4040ad24 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferCancelFailureTest.java @@ -0,0 +1,46 @@ +package com.plaid.client.integration.banktransfer; + +import static org.junit.Assert.*; + +import com.google.gson.Gson; +import com.plaid.client.model.BankTransferCancelRequest; +import com.plaid.client.model.BankTransferCancelResponse; +import com.plaid.client.model.BankTransferFailure; +import com.plaid.client.model.PlaidError; +import com.plaid.client.model.PlaidErrorType; +import com.plaid.client.model.SandboxBankTransferSimulateRequest; +import com.plaid.client.model.SandboxBankTransferSimulateResponse; +import retrofit2.Response; + +public class BankTransferCancelFailureTest extends AbstractBankTransferTest { + + @Override + protected void bankTransferTest() throws AssertionError, Exception { + SandboxBankTransferSimulateRequest request = new SandboxBankTransferSimulateRequest() + .bankTransferId(getBankTransfer().getId()) + .eventType("failed"); + + Response simulateResponse = client() + .sandboxBankTransferSimulate(request) + .execute(); + + assertSuccessResponse(simulateResponse); + + BankTransferCancelRequest cancelRequest = new BankTransferCancelRequest() + .bankTransferId(getBankTransfer().getId()); + + Response cancelResponse = client() + .bankTransferCancel(cancelRequest) + .execute(); + + Gson gson = new Gson(); + PlaidError error = gson.fromJson( + cancelResponse.errorBody().string(), + PlaidError.class + ); + assertNotNull(error); + assertNotNull(error.getRequestId()); + assertEquals(PlaidErrorType.BANK_TRANSFER_ERROR, error.getErrorType()); + assertEquals("BANK_TRANSFER_NOT_CANCELLABLE", error.getErrorCode()); + } +} diff --git a/src/test/java/com/plaid/client/integration/banktransfer/BankTransferCancelSuccessTest.java b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferCancelSuccessTest.java new file mode 100644 index 0000000000..0434ae08ac --- /dev/null +++ b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferCancelSuccessTest.java @@ -0,0 +1,19 @@ +package com.plaid.client.integration.banktransfer; + +import com.plaid.client.model.BankTransferCancelRequest; +import com.plaid.client.model.BankTransferCancelResponse; +import retrofit2.Response; + +public class BankTransferCancelSuccessTest extends AbstractBankTransferTest { + + @Override + protected void bankTransferTest() throws AssertionError, Exception { + BankTransferCancelRequest cancelRequest = new BankTransferCancelRequest() + .bankTransferId(getBankTransfer().getId()); + + Response response = client() + .bankTransferCancel(cancelRequest) + .execute(); + assertSuccessResponse(response); + } +} diff --git a/src/test/java/com/plaid/client/integration/banktransfer/BankTransferCreateTest.java b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferCreateTest.java new file mode 100644 index 0000000000..52b8191000 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferCreateTest.java @@ -0,0 +1,10 @@ +package com.plaid.client.integration.banktransfer; + +import static org.junit.Assert.assertNotNull; + +public class BankTransferCreateTest extends AbstractBankTransferTest { + @Override + protected void bankTransferTest() throws AssertionError { + assertNotNull(getBankTransfer().getId()); + } +}; \ No newline at end of file diff --git a/src/test/java/com/plaid/client/integration/banktransfer/BankTransferEventListTest.java b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferEventListTest.java new file mode 100644 index 0000000000..1df77218c4 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferEventListTest.java @@ -0,0 +1,41 @@ +package com.plaid.client.integration.banktransfer; + +import static org.junit.Assert.assertEquals; + +import com.plaid.client.model.BankTransferEventListRequest; +import com.plaid.client.model.BankTransferEventListResponse; +import com.plaid.client.model.SandboxBankTransferSimulateRequest; +import com.plaid.client.model.SandboxBankTransferSimulateResponse; +import com.plaid.client.model.BankTransferEvent; +import java.util.List; +import retrofit2.Response; + +public class BankTransferEventListTest extends AbstractBankTransferTest { + + @Override + protected void bankTransferTest() throws AssertionError, Exception { + SandboxBankTransferSimulateRequest request = new SandboxBankTransferSimulateRequest() + .bankTransferId(getBankTransfer().getId()) + .eventType("posted"); + + Response simulateResponse = client() + .sandboxBankTransferSimulate(request) + .execute(); + assertSuccessResponse(simulateResponse); + + BankTransferEventListRequest listRequest = new BankTransferEventListRequest() + .bankTransferId(getBankTransfer().getId()); + + Response eventListResponse = client() + .bankTransferEventList(listRequest) + .execute(); + assertSuccessResponse(eventListResponse); + List bankTransferEvents = eventListResponse + .body() + .getBankTransferEvents(); + assertEquals(1, bankTransferEvents.size()); + for (BankTransferEvent e : bankTransferEvents) { + assertEquals(getBankTransfer().getId(), e.getBankTransferId()); + } + } +} diff --git a/src/test/java/com/plaid/client/integration/banktransfer/BankTransferEventSyncTest.java b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferEventSyncTest.java new file mode 100644 index 0000000000..5583b8c32f --- /dev/null +++ b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferEventSyncTest.java @@ -0,0 +1,33 @@ +package com.plaid.client.integration.banktransfer; + +import static org.junit.Assert.assertTrue; + +import com.plaid.client.model.BankTransferEventSyncRequest; +import com.plaid.client.model.BankTransferEventSyncResponse; +import com.plaid.client.model.SandboxBankTransferSimulateRequest; +import com.plaid.client.model.SandboxBankTransferSimulateResponse; +import retrofit2.Response; + +public class BankTransferEventSyncTest extends AbstractBankTransferTest { + + @Override + protected void bankTransferTest() throws AssertionError, Exception { + SandboxBankTransferSimulateRequest request = new SandboxBankTransferSimulateRequest() + .bankTransferId(getBankTransfer().getId()) + .eventType("posted"); + + Response simulateResponse = client() + .sandboxBankTransferSimulate(request) + .execute(); + assertSuccessResponse(simulateResponse); + + BankTransferEventSyncRequest syncRequest = new BankTransferEventSyncRequest() + .afterId(0); + + Response eventSyncResponse = client() + .bankTransferEventSync(syncRequest) + .execute(); + assertSuccessResponse(eventSyncResponse); + assertTrue(eventSyncResponse.body().getBankTransferEvents().size() >= 2); + } +} diff --git a/src/test/java/com/plaid/client/integration/banktransfer/BankTransferGetTest.java b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferGetTest.java new file mode 100644 index 0000000000..d659a4b3cd --- /dev/null +++ b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferGetTest.java @@ -0,0 +1,22 @@ +package com.plaid.client.integration.banktransfer; + +import static org.junit.Assert.assertEquals; + +import com.plaid.client.model.BankTransferGetRequest; +import com.plaid.client.model.BankTransferGetResponse; +import retrofit2.Response; + +public class BankTransferGetTest extends AbstractBankTransferTest { + + @Override + protected void bankTransferTest() throws AssertionError, Exception { + BankTransferGetRequest request = new BankTransferGetRequest() + .bankTransferId(getBankTransfer().getId()); + + Response response = client() + .bankTransferGet(request) + .execute(); + assertSuccessResponse(response); + assertEquals(getBankTransfer(), response.body().getBankTransfer()); + } +} diff --git a/src/test/java/com/plaid/client/integration/banktransfer/BankTransferListTest.java b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferListTest.java new file mode 100644 index 0000000000..d9384edbe6 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferListTest.java @@ -0,0 +1,22 @@ +package com.plaid.client.integration.banktransfer; + +import static org.junit.Assert.assertEquals; + +import com.plaid.client.model.BankTransferListRequest; +import com.plaid.client.model.BankTransferListResponse; +import retrofit2.Response; + +public class BankTransferListTest extends AbstractBankTransferTest { + + @Override + protected void bankTransferTest() throws AssertionError, Exception { + BankTransferListRequest request = new BankTransferListRequest() + .count(1); + + Response response = client() + .bankTransferList(request) + .execute(); + assertSuccessResponse(response); + assertEquals(1, response.body().getBankTransfers().size()); + } +} diff --git a/src/test/java/com/plaid/client/integration/banktransfer/BankTransferMigrateAccountTest.java b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferMigrateAccountTest.java new file mode 100644 index 0000000000..41f0303827 --- /dev/null +++ b/src/test/java/com/plaid/client/integration/banktransfer/BankTransferMigrateAccountTest.java @@ -0,0 +1,28 @@ +package com.plaid.client.integration.banktransfer; + +import static org.junit.Assert.assertFalse; + +import com.plaid.client.integration.AbstractIntegrationTest; +import com.plaid.client.model.BankTransferMigrateAccountRequest; +import com.plaid.client.model.BankTransferMigrateAccountResponse; +import org.junit.Test; +import retrofit2.Response; + +public class BankTransferMigrateAccountTest extends AbstractIntegrationTest { + + @Test + public void testBankTransferMigrateAccount() throws Exception { + BankTransferMigrateAccountRequest request = new BankTransferMigrateAccountRequest() + .accountNumber("100000000") + .routingNumber("121122676") + .accountType("checking"); + + Response response = client() + .bankTransferMigrateAccount(request) + .execute(); + + assertSuccessResponse(response); + assertFalse(response.body().getAccessToken().isEmpty()); + assertFalse(response.body().getAccountId().isEmpty()); + } +} diff --git a/src/test/java/com/plaid/client/integration/util/PlaidSandboxApiService.java b/src/test/java/com/plaid/client/integration/util/PlaidSandboxApiService.java deleted file mode 100644 index c266b9f9ba..0000000000 --- a/src/test/java/com/plaid/client/integration/util/PlaidSandboxApiService.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.plaid.client.integration.util; - -import com.plaid.client.request.common.BaseAccessTokenRequest; -import com.plaid.client.request.common.BasePublicRequest; -import com.plaid.client.request.common.Product; -import com.plaid.client.response.Account; -import com.plaid.client.response.BaseResponse; -import retrofit2.Call; -import retrofit2.http.Body; -import retrofit2.http.POST; - -import java.util.List; -import java.util.Map; - -/** - * Special endpoints only used for testing, but not actually part - * of the Plaid server-side API. - */ -public interface PlaidSandboxApiService { - class ItemResetLoginRequest extends BaseAccessTokenRequest { - public ItemResetLoginRequest(String accessToken) { - super(accessToken); - } - } - - class ItemResetLoginResponse extends BaseResponse { - private Boolean resetLogin; - - public Boolean getResetLogin() { - return resetLogin; - } - } - - @POST("/sandbox/item/reset_login") - Call itemResetLogin(@Body ItemResetLoginRequest request); - - - class LinkItemCreateRequest extends BasePublicRequest { - private final Map credentials; - private final List initialProducts; - private final String institutionId; - - public LinkItemCreateRequest(Map credentials, List initialProducts, String institutionId) { - this.credentials = credentials; - this.initialProducts = initialProducts; - this.institutionId = institutionId; - } - } - - // link endpoints - // not intended to be part of the server-side API - // implemented here for ease of testing flows involving link - class LinkItemCreateResponse extends BaseResponse { - private List accounts; - private String publicToken; - - public List getAccounts() { - return accounts; - } - - public String getPublicToken() { - return publicToken; - } - } - - @POST("/link/item/create") - Call linkItemCreate(@Body LinkItemCreateRequest request); -} diff --git a/src/test/java/com/plaid/client/internal/gson/BaseOptionsSerializerTest.java b/src/test/java/com/plaid/client/internal/gson/BaseOptionsSerializerTest.java deleted file mode 100644 index 77288473cc..0000000000 --- a/src/test/java/com/plaid/client/internal/gson/BaseOptionsSerializerTest.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.plaid.client.internal.gson; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.plaid.client.request.TransactionsGetRequest; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -public class BaseOptionsSerializerTest { - - public static class ChildOptions extends TransactionsGetRequest.Options { - private int anotherIntValue = 2; - } - - public static class ChildOptionsContainer { - private ChildOptions options = new ChildOptions(); - } - - public static class OptionsContainer { - private TransactionsGetRequest.Options options = new TransactionsGetRequest.Options(); - } - - @Test public void testSerializesChildren() { - Gson gson = new GsonBuilder() - .registerTypeAdapter(TransactionsGetRequest.BaseOptions.class, new BaseOptionsSerializer()) - .create(); - - ChildOptionsContainer child = new ChildOptionsContainer(); - - String result = gson.toJson(child); - assertEquals("{\"options\":{\"anotherIntValue\":2}}", result); - } - - @Test public void testSerializesBase() { - Gson gson = new GsonBuilder() - .registerTypeAdapter(TransactionsGetRequest.BaseOptions.class, new BaseOptionsSerializer()) - .create(); - - OptionsContainer base = new OptionsContainer(); - - String result = gson.toJson(base); - assertEquals("{\"options\":{}}", result); - } -} diff --git a/src/test/java/com/plaid/client/internal/gson/CredentialInjectingTypeAdapterFactoryTest.java b/src/test/java/com/plaid/client/internal/gson/CredentialInjectingTypeAdapterFactoryTest.java deleted file mode 100644 index b469ffb989..0000000000 --- a/src/test/java/com/plaid/client/internal/gson/CredentialInjectingTypeAdapterFactoryTest.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.plaid.client.internal.gson; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.plaid.client.request.IdentityGetRequest; -import com.plaid.client.request.InstitutionsSearchRequest; -import org.junit.Test; - -public class CredentialInjectingTypeAdapterFactoryTest { - - @Test(expected = RuntimeException.class) - public void testFailsToSerializePublicRequestWithoutPublicKey() throws Exception { - Gson gson = new GsonBuilder() - .registerTypeAdapterFactory(new CredentialInjectingTypeAdapterFactory(null, "foo", "bar")) - .create(); - - gson.toJson(new InstitutionsSearchRequest("something")); - } - - @Test(expected = RuntimeException.class) - public void testFailsToSerializePrivateRequestWithoutSecretKey() throws Exception { - Gson gson = new GsonBuilder() - .registerTypeAdapterFactory(new CredentialInjectingTypeAdapterFactory("stuff", "foo", null)) - .create(); - - gson.toJson(new IdentityGetRequest("blahblahblah")); - } - - @Test(expected = RuntimeException.class) - public void testFailsToSerializePrivateRequestWithoutClientId() throws Exception { - Gson gson = new GsonBuilder() - .registerTypeAdapterFactory(new CredentialInjectingTypeAdapterFactory("stuff", null, "secretss")) - .create(); - - gson.toJson(new IdentityGetRequest("blahblahblah")); - } -} diff --git a/src/test/java/com/plaid/client/internal/gson/ImmutableListTypeAdapterFactoryTest.java b/src/test/java/com/plaid/client/internal/gson/ImmutableListTypeAdapterFactoryTest.java deleted file mode 100644 index 493196c2fc..0000000000 --- a/src/test/java/com/plaid/client/internal/gson/ImmutableListTypeAdapterFactoryTest.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.plaid.client.internal.gson; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import org.junit.Before; -import org.junit.Test; - -import java.util.Arrays; -import java.util.List; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; - -public class ImmutableListTypeAdapterFactoryTest { - private static class SomeObject { - List contents; - } - - private Gson gson; - - @Before - public void setUp() throws Exception { - gson = new GsonBuilder() - .registerTypeAdapterFactory(new ImmutableListTypeAdapterFactory()) - .create(); - } - - @Test - public void testSerialize() throws Exception { - SomeObject obj = new SomeObject(); - obj.contents = Arrays.asList("hello", "there", "interesting", "data"); - String json = gson.toJson(obj); - assertEquals("{\"contents\":[\"hello\",\"there\",\"interesting\",\"data\"]}", json); - } - - @Test - public void testDeserializeNull() throws Exception { - SomeObject result = gson.fromJson("{}", SomeObject.class); - assertNull(result.contents); - - result = gson.fromJson("{\"contents\": null}", SomeObject.class); - assertNull(result.contents); - } - - @Test - public void testDeserializeNonNullContentsCorrect() throws Exception { - SomeObject result = gson.fromJson("{\"contents\":[\"hello\",\"there\",\"interesting\",\"data\"]}", SomeObject.class); - assertEquals(Arrays.asList("hello", "there", "interesting", "data"), result.contents); - } - - @Test(expected = UnsupportedOperationException.class) - public void testDeserializeNonNullIsImmutable() throws Exception { - SomeObject result = gson.fromJson("{\"contents\":[\"hello\",\"there\",\"interesting\",\"data\"]}", SomeObject.class); - result.contents.add("blah blah blah"); - } -} diff --git a/templates/java/libraries/retrofit2/ApiClient.mustache b/templates/java/libraries/retrofit2/ApiClient.mustache new file mode 100644 index 0000000000..96290e6b21 --- /dev/null +++ b/templates/java/libraries/retrofit2/ApiClient.mustache @@ -0,0 +1,560 @@ +package {{invokerPackage}}; + +import com.google.gson.Gson; +import com.google.gson.JsonParseException; +import com.google.gson.JsonElement; +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; +import okhttp3.RequestBody; +import okhttp3.ResponseBody; +import okhttp3.Request; +import okhttp3.Response; +{{#hasOAuthMethods}} +import org.apache.oltu.oauth2.client.request.OAuthClientRequest.AuthenticationRequestBuilder; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder; +{{/hasOAuthMethods}} +{{#joda}} +import org.joda.time.format.DateTimeFormatter; +{{/joda}} +{{#threetenbp}} +import org.threeten.bp.format.DateTimeFormatter; +{{/threetenbp}} +import retrofit2.Converter; +import retrofit2.Retrofit; +{{#useRxJava}} +import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory; +{{/useRxJava}} +{{#useRxJava2}} +import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory; +{{/useRxJava2}} +{{#useRxJava3}} +import hu.akarnokd.rxjava3.retrofit.RxJava3CallAdapterFactory; +{{/useRxJava3}} +import retrofit2.converter.gson.GsonConverterFactory; +import retrofit2.converter.scalars.ScalarsConverterFactory; +import {{invokerPackage}}.auth.HttpBasicAuth; +import {{invokerPackage}}.auth.HttpBearerAuth; +import {{invokerPackage}}.auth.ApiKeyAuth; +{{#hasOAuthMethods}} +import {{invokerPackage}}.auth.OAuth; +import {{invokerPackage}}.auth.OAuth.AccessTokenListener; +import {{invokerPackage}}.auth.OAuthFlow; +{{/hasOAuthMethods}} + +import java.io.IOException; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; +import java.text.DateFormat; +{{#java8}} +import java.time.format.DateTimeFormatter; +{{/java8}} +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.HashMap; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.TimeUnit; + +public class ApiClient { + + private Map apiAuthorizations; + private OkHttpClient.Builder okBuilder; + private Retrofit.Builder adapterBuilder; + private JSON json; + private OkHttpClient okHttpClient; + {{! next three lines modified by plaid }} + {{#servers}} + public static final String {{{description}}} = "{{{url}}}"; + {{/servers}} + + public ApiClient() { + apiAuthorizations = new LinkedHashMap(); + createDefaultAdapter(); + {{! This function modified by Plaid }} + okBuilder = new OkHttpClient.Builder() + .readTimeout(60, TimeUnit.SECONDS).connectTimeout(60, TimeUnit.SECONDS) + .addInterceptor(new Interceptor() { + @Override + public Response intercept(Chain chain) throws IOException { + Request originalRequest = chain.request(); + Request requestWithUserAgent = originalRequest.newBuilder() + .header("User-Agent", "Plaid Java v{{{artifactVersion}}}") + .header("Plaid-Version", "{{{plaidApiVersion}}}") + .build(); + return chain.proceed(requestWithUserAgent); + } + }); + } + + public ApiClient(OkHttpClient client){ + apiAuthorizations = new LinkedHashMap(); + createDefaultAdapter(); + okHttpClient = client; + } + + public ApiClient(String[] authNames) { + this(); + for(String authName : authNames) { + {{#hasAuthMethods}} + Interceptor auth; + {{#authMethods}}if ("{{name}}".equals(authName)) { + {{#isBasic}}{{#isBasicBasic}} + auth = new HttpBasicAuth(); + {{/isBasicBasic}}{{^isBasicBasic}} + auth = new HttpBearerAuth("{{scheme}}"); + {{/isBasicBasic}}{{/isBasic}} + {{#isApiKey}} + auth = new ApiKeyAuth({{#isKeyInHeader}}"header"{{/isKeyInHeader}}{{#isKeyInQuery}}"query"{{/isKeyInQuery}}{{#isKeyInCookie}}"cookie"{{/isKeyInCookie}}, "{{keyParamName}}"); + {{/isApiKey}} + {{#isOAuth}} + auth = new OAuth(OAuthFlow.{{flow}}, "{{authorizationUrl}}", "{{tokenUrl}}", "{{#scopes}}{{scope}}{{^-last}}, {{/-last}}{{/scopes}}"); + {{/isOAuth}} + } else {{/authMethods}}{ + throw new RuntimeException("auth name \"" + authName + "\" not found in available auth names"); + } + + addAuthorization(authName, auth); + {{/hasAuthMethods}} + {{^hasAuthMethods}} + throw new RuntimeException("auth name \"" + authName + "\" not found in available auth names"); + {{/hasAuthMethods}} + } + } + + /** + * Helper constructor for multiple api keys. Preferred constructor + */ + public ApiClient(Map apiKeys) { + this(); + for(String authName : apiKeys.keySet()) { + {{#hasAuthMethods}} + Interceptor auth; + {{#authMethods}}if ("{{name}}".equals(authName)) { + {{#isBasic}}{{#isBasicBasic}} + auth = new HttpBasicAuth(); + {{/isBasicBasic}}{{^isBasicBasic}} + auth = new HttpBearerAuth("{{scheme}}"); + {{/isBasicBasic}}{{/isBasic}} + {{#isApiKey}} + ApiKeyAuth apiKeyAuth = new ApiKeyAuth({{#isKeyInHeader}}"header"{{/isKeyInHeader}}{{#isKeyInQuery}}"query"{{/isKeyInQuery}}{{#isKeyInCookie}}"cookie"{{/isKeyInCookie}}, "{{keyParamName}}"); + apiKeyAuth.setApiKey(apiKeys.get(authName)); + auth = (Interceptor) apiKeyAuth; + {{/isApiKey}} + {{#isOAuth}} + auth = new OAuth(OAuthFlow.{{flow}}, "{{authorizationUrl}}", "{{tokenUrl}}", "{{#scopes}}{{scope}}{{^-last}}, {{/-last}}{{/scopes}}"); + {{/isOAuth}} + } else {{/authMethods}}{ + throw new RuntimeException("auth name \"" + authName + "\" not found in available auth names"); + } + + addAuthorization(authName, auth); + {{/hasAuthMethods}} + {{^hasAuthMethods}} + throw new RuntimeException("auth name \"" + authName + "\" not found in available auth names"); + {{/hasAuthMethods}} + } + } + + /** + * Basic constructor for single auth name + * @param authName Authentication name + */ + public ApiClient(String authName) { + this(new String[]{authName}); + } + + /** + * Helper constructor for single api key + * @param authName Authentication name + * @param apiKey API key + */ + public ApiClient(String authName, String apiKey) { + this(authName); + this.setApiKey(apiKey); + } + + /** + * Helper constructor for single basic auth or password oauth2 + * @param authName Authentication name + * @param username Username + * @param password Password + */ + public ApiClient(String authName, String username, String password) { + this(authName); + this.setCredentials(username, password); + } + + {{#hasOAuthMethods}} + /** + * Helper constructor for single password oauth2 + * @param authName Authentication name + * @param clientId Client ID + * @param secret Client Secret + * @param username Username + * @param password Password + */ + public ApiClient(String authName, String clientId, String secret, String username, String password) { + this(authName); + this.getTokenEndPoint() + .setClientId(clientId) + .setClientSecret(secret) + .setUsername(username) + .setPassword(password); + } + + {{/hasOAuthMethods}} + public void createDefaultAdapter() { + json = new JSON(); + + String baseUrl = "{{{basePath}}}"; + if (!baseUrl.endsWith("/")) + baseUrl = baseUrl + "/"; + + adapterBuilder = new Retrofit + .Builder() + .baseUrl(baseUrl) + {{#useRxJava}} + .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) + {{/useRxJava}} + {{#useRxJava2}} + .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) + {{/useRxJava2}} + {{#useRxJava3}} + .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) + {{/useRxJava3}} + .addConverterFactory(ScalarsConverterFactory.create()) + .addConverterFactory(GsonCustomConverterFactory.create(json.getGson())); + } + {{! This function added by Plaid }} + public void setPlaidAdapter(String baseUrl) { + json = new JSON(); + + List PLAID_ENVS = Arrays.asList("https://sandbox.plaid.com", "https://production.plaid.com"); + + if(!PLAID_ENVS.contains(baseUrl)) { + System.out.println("baseUrl not found in PLAID_ENVS, must be one of the following: https://sandbox.plaid.com, https://production.plaid.com"); + } + + if (!baseUrl.endsWith("/")) + baseUrl = baseUrl + "/"; + + adapterBuilder = new Retrofit + .Builder() + .baseUrl(baseUrl) + {{#useRxJava}} + .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) + {{/useRxJava}} + {{#useRxJava2}} + .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) + {{/useRxJava2}} + {{#useRxJava3}} + .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) + {{/useRxJava3}} + .addConverterFactory(ScalarsConverterFactory.create()) + .addConverterFactory(GsonCustomConverterFactory.create(json.getGson())); + } + + {{! This function added by Plaid }} + /** + * Helper to set a specific timeout for read and connect + * @param overrideTimeout timeout in seconds + */ + public void setTimeout(int overrideTimeout) { + okBuilder.readTimeout(overrideTimeout, TimeUnit.SECONDS).connectTimeout(overrideTimeout, TimeUnit.SECONDS); + } + + public S createService(Class serviceClass) { + if (okHttpClient != null) { + return adapterBuilder.client(okHttpClient).build().create(serviceClass); + } else { + return adapterBuilder.client(okBuilder.build()).build().create(serviceClass); + } + } + + public ApiClient setDateFormat(DateFormat dateFormat) { + this.json.setDateFormat(dateFormat); + return this; + } + + public ApiClient setSqlDateFormat(DateFormat dateFormat) { + this.json.setSqlDateFormat(dateFormat); + return this; + } + + {{#joda}} + public ApiClient setDateTimeFormat(DateTimeFormatter dateFormat) { + this.json.setDateTimeFormat(dateFormat); + return this; + } + + public ApiClient setLocalDateFormat(DateTimeFormatter dateFormat) { + this.json.setLocalDateFormat(dateFormat); + return this; + } + + {{/joda}} + {{#jsr310}} + public ApiClient setOffsetDateTimeFormat(DateTimeFormatter dateFormat) { + this.json.setOffsetDateTimeFormat(dateFormat); + return this; + } + + public ApiClient setLocalDateFormat(DateTimeFormatter dateFormat) { + this.json.setLocalDateFormat(dateFormat); + return this; + } + + {{/jsr310}} + + /** + * Helper method to configure the first api key found + * @param apiKey API key + * @return ApiClient + */ + public ApiClient setApiKey(String apiKey) { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof ApiKeyAuth) { + ApiKeyAuth keyAuth = (ApiKeyAuth) apiAuthorization; + keyAuth.setApiKey(apiKey); + return this; + } + } + return this; + } + + /** + * Helper method to set token for the first Http Bearer authentication found. + * @param bearerToken Bearer token + * @return ApiClient + */ + public ApiClient setBearerToken(String bearerToken) { + for (Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof HttpBearerAuth) { + ((HttpBearerAuth) apiAuthorization).setBearerToken(bearerToken); + return this; + } + } + return this; + } + + /** + * Helper method to configure the username/password for basic auth or password oauth + * @param username Username + * @param password Password + * @return ApiClient + */ + public ApiClient setCredentials(String username, String password) { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof HttpBasicAuth) { + HttpBasicAuth basicAuth = (HttpBasicAuth) apiAuthorization; + basicAuth.setCredentials(username, password); + return this; + } + {{#hasOAuthMethods}} + if (apiAuthorization instanceof OAuth) { + OAuth oauth = (OAuth) apiAuthorization; + oauth.getTokenRequestBuilder().setUsername(username).setPassword(password); + return this; + } + {{/hasOAuthMethods}} + } + return this; + } + + {{#hasOAuthMethods}} + /** + * Helper method to configure the token endpoint of the first oauth found in the apiAuthorizations (there should be only one) + * @return Token request builder + */ + public TokenRequestBuilder getTokenEndPoint() { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof OAuth) { + OAuth oauth = (OAuth) apiAuthorization; + return oauth.getTokenRequestBuilder(); + } + } + return null; + } + + /** + * Helper method to configure authorization endpoint of the first oauth found in the apiAuthorizations (there should be only one) + * @return Authentication request builder + */ + public AuthenticationRequestBuilder getAuthorizationEndPoint() { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof OAuth) { + OAuth oauth = (OAuth) apiAuthorization; + return oauth.getAuthenticationRequestBuilder(); + } + } + return null; + } + + /** + * Helper method to pre-set the oauth access token of the first oauth found in the apiAuthorizations (there should be only one) + * @param accessToken Access token + * @return ApiClient + */ + public ApiClient setAccessToken(String accessToken) { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof OAuth) { + OAuth oauth = (OAuth) apiAuthorization; + oauth.setAccessToken(accessToken); + return this; + } + } + return this; + } + + /** + * Helper method to configure the oauth accessCode/implicit flow parameters + * @param clientId Client ID + * @param clientSecret Client secret + * @param redirectURI Redirect URI + * @return ApiClient + */ + public ApiClient configureAuthorizationFlow(String clientId, String clientSecret, String redirectURI) { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof OAuth) { + OAuth oauth = (OAuth) apiAuthorization; + oauth.getTokenRequestBuilder() + .setClientId(clientId) + .setClientSecret(clientSecret) + .setRedirectURI(redirectURI); + oauth.getAuthenticationRequestBuilder() + .setClientId(clientId) + .setRedirectURI(redirectURI); + return this; + } + } + return this; + } + + /** + * Configures a listener which is notified when a new access token is received. + * @param accessTokenListener Access token listener + * @return ApiClient + */ + public ApiClient registerAccessTokenListener(AccessTokenListener accessTokenListener) { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + if (apiAuthorization instanceof OAuth) { + OAuth oauth = (OAuth) apiAuthorization; + oauth.registerAccessTokenListener(accessTokenListener); + return this; + } + } + return this; + } + {{/hasOAuthMethods}} + + /** + * Adds an authorization to be used by the client + * @param authName Authentication name + * @param authorization Authorization interceptor + * @return ApiClient + */ + public ApiClient addAuthorization(String authName, Interceptor authorization) { + if (apiAuthorizations.containsKey(authName)) { + throw new RuntimeException("auth name \"" + authName + "\" already in api authorizations"); + } + apiAuthorizations.put(authName, authorization); + if(okBuilder == null){ + throw new RuntimeException("The ApiClient was created with a built OkHttpClient so it's not possible to add an authorization interceptor to it"); + } + okBuilder.addInterceptor(authorization); + + return this; + } + + public Map getApiAuthorizations() { + return apiAuthorizations; + } + + public ApiClient setApiAuthorizations(Map apiAuthorizations) { + this.apiAuthorizations = apiAuthorizations; + return this; + } + + public Retrofit.Builder getAdapterBuilder() { + return adapterBuilder; + } + + public ApiClient setAdapterBuilder(Retrofit.Builder adapterBuilder) { + this.adapterBuilder = adapterBuilder; + return this; + } + + public OkHttpClient.Builder getOkBuilder() { + return okBuilder; + } + + public void addAuthsToOkBuilder(OkHttpClient.Builder okBuilder) { + for(Interceptor apiAuthorization : apiAuthorizations.values()) { + okBuilder.addInterceptor(apiAuthorization); + } + } + + /** + * Clones the okBuilder given in parameter, adds the auth interceptors and uses it to configure the Retrofit + * @param okClient An instance of OK HTTP client + */ + public void configureFromOkclient(OkHttpClient okClient) { + this.okBuilder = okClient.newBuilder(); + addAuthsToOkBuilder(this.okBuilder); + } +} + +/** + * This wrapper is to take care of this case: + * when the deserialization fails due to JsonParseException and the + * expected type is String, then just return the body string. + */ +class GsonResponseBodyConverterToString implements Converter { + private final Gson gson; + private final Type type; + + GsonResponseBodyConverterToString(Gson gson, Type type) { + this.gson = gson; + this.type = type; + } + + @Override public T convert(ResponseBody value) throws IOException { + String returned = value.string(); + try { + return gson.fromJson(returned, type); + } + catch (JsonParseException e) { + return (T) returned; + } + } +} + +class GsonCustomConverterFactory extends Converter.Factory +{ + private final Gson gson; + private final GsonConverterFactory gsonConverterFactory; + + public static GsonCustomConverterFactory create(Gson gson) { + return new GsonCustomConverterFactory(gson); + } + + private GsonCustomConverterFactory(Gson gson) { + if (gson == null) + throw new NullPointerException("gson == null"); + this.gson = gson; + this.gsonConverterFactory = GsonConverterFactory.create(gson); + } + + @Override + public Converter responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) { + if (type.equals(String.class)) + return new GsonResponseBodyConverterToString(gson, type); + else + return gsonConverterFactory.responseBodyConverter(type, annotations, retrofit); + } + + @Override + public Converter requestBodyConverter(Type type, Annotation[] parameterAnnotations, Annotation[] methodAnnotations, Retrofit retrofit) { + return gsonConverterFactory.requestBodyConverter(type, parameterAnnotations, methodAnnotations, retrofit); + } +} diff --git a/templates/java/modelEnum.mustache b/templates/java/modelEnum.mustache new file mode 100644 index 0000000000..31a2bfe3e6 --- /dev/null +++ b/templates/java/modelEnum.mustache @@ -0,0 +1,108 @@ +{{#jackson}} +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +{{/jackson}} +{{#gson}} +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +{{/gson}} + +/** + * {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{description}}{{/description}} + */ +{{#gson}} +@JsonAdapter({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.Adapter.class) +{{/gson}} +{{#jsonb}} +@JsonbTypeSerializer({{datatypeWithEnum}}.Serializer.class) +@JsonbTypeDeserializer({{datatypeWithEnum}}.Deserializer.class) +{{/jsonb}} +{{>additionalEnumTypeAnnotations}}public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} { + {{#allowableValues}}{{#enumVars}} + {{#enumDescription}} + /** + * {{enumDescription}} + */ + {{/enumDescription}} + {{#withXml}} + @XmlEnumValue({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}) + {{/withXml}} + {{{name}}}({{{value}}}){{^-last}}, + {{/-last}}{{#-last}},{{/-last}}{{/enumVars}}{{/allowableValues}} + + {{! Modified by Plaid}} + // This is returned when an enum is returned from the API that doesn't exist in the OpenAPI file. + // Try upgrading your client-library version. + ENUM_UNKNOWN("ENUM_UNKNOWN"); + + private {{{dataType}}} value; + + {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}({{{dataType}}} value) { + this.value = value; + } + +{{#jackson}} + @JsonValue +{{/jackson}} + public {{{dataType}}} getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + +{{#jackson}} + @JsonCreator +{{/jackson}} + public static {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue({{{dataType}}} value) { + for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) { + if (b.value.equals(value)) { + return b; + } + } + {{#isNullable}}return null;{{/isNullable}}{{^isNullable}} + {{! Modified by Plaid}} + return {{{classname}}}.ENUM_UNKNOWN; + {{/isNullable}} + } +{{#gson}} + + public static class Adapter extends TypeAdapter<{{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}> { + @Override + public void write(final JsonWriter jsonWriter, final {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} read(final JsonReader jsonReader) throws IOException { + {{^isNumber}}{{{dataType}}}{{/isNumber}}{{#isNumber}}String{{/isNumber}} value = jsonReader.{{#isNumber}}nextString(){{/isNumber}}{{#isInteger}}nextInt(){{/isInteger}}{{^isNumber}}{{^isInteger}}next{{{dataType}}}(){{/isInteger}}{{/isNumber}}; + return {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.fromValue({{#isNumber}}new BigDecimal({{/isNumber}}value{{#isNumber}}){{/isNumber}}); + } + } +{{/gson}} +{{#jsonb}} + public static final class Deserializer implements JsonbDeserializer<{{datatypeWithEnum}}> { + @Override + public {{datatypeWithEnum}} deserialize(JsonParser parser, DeserializationContext ctx, Type rtType) { + for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) { + if (String.valueOf(b.value).equals(parser.getString())) { + return b; + } + } + {{#useNullForUnknownEnumValue}}return null;{{/useNullForUnknownEnumValue}}{{^useNullForUnknownEnumValue}}throw new IllegalArgumentException("Unexpected value '" + parser.getString() + "'");{{/useNullForUnknownEnumValue}} + } + } + + public static final class Serializer implements JsonbSerializer<{{datatypeWithEnum}}> { + @Override + public void serialize({{datatypeWithEnum}} obj, JsonGenerator generator, SerializationContext ctx) { + generator.write(obj.value); + } + } +{{/jsonb}} +}